From 57873ca0d2db6660ddbdfde5d33284a964bb3e0d Mon Sep 17 00:00:00 2001 From: ginan-release-bot Date: Tue, 16 Jun 2026 06:02:50 +0000 Subject: [PATCH] Release v4.1.2 --- .github/workflows/build.yaml | 26 +- CHANGELOG.md | 65 + README.md | 147 +- debugConfigs/data | 1 - debugConfigs/net_orbits_rt.yaml | 474 -- debugConfigs/net_slr_estimation_off.yaml | 266 - debugConfigs/net_slr_estimation_on.yaml | 266 - debugConfigs/pea | 1 - debugConfigs/pea1.yaml | 1053 --- debugConfigs/pod_rt_example1.yaml | 444 -- debugConfigs/pod_rt_example2.yaml | 76 - debugConfigs/products | 1 - debugConfigs/record_ssr_stream.yaml | 107 - debugConfigs/rt_net_ppp_clocks_large.yaml | 52 - debugConfigs/rt_sisnet_input.yaml | 229 - debugConfigs/slr_est_off_gal.yaml | 170 - debugConfigs/slr_est_off_lag.yaml | 167 - debugConfigs/slr_orb_fit.yaml | 176 - debugConfigs/slr_pod_with_pobs_gal.yaml | 248 - debugConfigs/slr_pod_with_pobs_lag.yaml | 226 - debugConfigs/sp3_ecef2eci.yaml | 51 - debugConfigs/spire_pod.yaml | 279 - debugConfigs/tide_debug.yaml | 228 - docker/Dockerfile | 3 +- exampleConfigs/loading/blq.yaml | 13 + exampleConfigs/ppp_example.yaml | 6 +- exampleConfigs/record_streams.yaml | 1 + exampleConfigs/rt_ppp_example.yaml | 21 +- .../slr_pod_with_pseudoobs_gal.yaml | 2 - .../slr_pod_with_pseudoobs_lag.yaml | 2 - scripts/GinanUI/README.md | 2 + scripts/GinanUI/app/controllers/__init__.py | 29 + .../constellation_config_controller.py | 688 ++ .../controllers/general_config_controller.py | 1369 ++++ .../app/controllers/input_controller.py | 2790 +------- .../controllers/output_config_controller.py | 89 + .../controllers/visualisation_controller.py | 305 +- .../app/controllers/yaml_config_controller.py | 744 +++ scripts/GinanUI/app/main_window.py | 594 +- scripts/GinanUI/app/models/archive_manager.py | 227 +- scripts/GinanUI/app/models/dl_products.py | 359 +- scripts/GinanUI/app/models/execution.py | 536 +- scripts/GinanUI/app/models/inspector.py | 439 ++ scripts/GinanUI/app/models/rinex_extractor.py | 49 +- .../app/resources/Yaml/default_config.yaml | 14 +- .../GinanUI/app/resources/assets/icons.qrc | 6 + .../GinanUI/app/resources/assets/icons_rc.py | 326 +- .../{cddis_email.py => cddis_connection.py} | 70 +- .../GinanUI/app/utils/cddis_credentials.py | 90 +- scripts/GinanUI/app/utils/common_dirs.py | 14 +- scripts/GinanUI/app/utils/gn_functions.py | 12 +- scripts/GinanUI/app/utils/logger.py | 30 +- scripts/GinanUI/app/utils/toast.py | 13 +- scripts/GinanUI/app/utils/ui_compilation.py | 24 +- scripts/GinanUI/app/utils/workers.py | 133 +- scripts/GinanUI/app/utils/yaml.py | 65 +- scripts/GinanUI/app/views/main_window.ui | 601 +- .../GinanUI/docs/APPLICATION_ARCHITECTURE.md | 488 ++ scripts/GinanUI/docs/USER_MANUAL.md | 274 +- .../docs/images/cddis_credentials_button.jpg | Bin 252502 -> 284709 bytes .../docs/images/cddis_credentials_screen.jpg | Bin 6666 -> 6532 bytes .../docs/images/ginan_ui_dashboard.jpg | Bin 88692 -> 116905 bytes scripts/GinanUI/docs/images/mode_dropdown.jpg | Bin 19331 -> 6595 bytes .../images/observations_output_buttons.jpg | Bin 250711 -> 282435 bytes .../GinanUI/docs/images/pea_processing.jpg | Bin 50030 -> 30533 bytes .../docs/images/plot_visualisation.jpg | Bin 498772 -> 446935 bytes .../docs/images/plot_visualisation_web.jpg | Bin 493745 -> 130845 bytes .../GinanUI/docs/images/process_button.jpg | Bin 376837 -> 392416 bytes .../docs/images/product_downloading.jpg | Bin 372231 -> 373330 bytes scripts/GinanUI/main.py | 10 +- scripts/auto_download_PPP.py | 4 +- scripts/ci/compile_vcpkg_eigen_matrix.sh | 108 + .../libaec/cmake-config.patch | 58 + .../vcpkg-overlay-ports/libaec/portfile.cmake | 26 + .../libaec/static-shared.patch | 30 + scripts/ci/vcpkg-overlay-ports/libaec/usage | 7 + .../ci/vcpkg-overlay-ports/libaec/vcpkg.json | 18 + scripts/installation/apple.md | 29 +- scripts/installation/generic.md | 8 +- scripts/qzss_ohi_merge.py | 157 + scripts/requirements.txt | 2 +- scripts/ssrMonitoring/analyse_orbit_clock.py | 4 +- src/CMakeLists.txt | 116 +- src/CMakePresets.json | 39 + src/cmake/toolchain/mingw64.cmake | 27 +- src/cpp/3rdparty/sofa/CMakeLists.txt | 1 + src/cpp/CMakeLists.txt | 149 +- src/cpp/common/acsConfig.cpp | 335 +- src/cpp/common/acsConfig.hpp | 118 +- src/cpp/common/acsQC.cpp | 819 ++- src/cpp/common/algebra.cpp | 357 +- src/cpp/common/algebra.hpp | 35 +- src/cpp/common/algebraTrace.cpp | 4 +- src/cpp/common/algebraTrace.hpp | 12 +- src/cpp/common/attitude.cpp | 26 +- src/cpp/common/attitude.hpp | 10 +- src/cpp/common/biasSINEXread.cpp | 2 +- src/cpp/common/biases.cpp | 6 +- src/cpp/common/blasThreading.hpp | 78 + src/cpp/common/cost.cpp | 22 +- src/cpp/common/customDecoder.cpp | 10 +- src/cpp/common/debug.cpp | 2 +- src/cpp/common/enumHelpers.hpp | 8 + src/cpp/common/enums.h | 105 +- src/cpp/common/ephKalman.cpp | 4 +- src/cpp/common/ephPrecise.cpp | 4 +- src/cpp/common/ephSBAS.cpp | 4 +- src/cpp/common/ephemeris.hpp | 50 +- src/cpp/common/gTime.cpp | 26 +- src/cpp/common/gTime.hpp | 4 + src/cpp/common/gpx.cpp | 4 +- src/cpp/common/icdDecoder.hpp | 11 +- src/cpp/common/lapackWrapper.hpp | 64 +- src/cpp/common/linearCombo.cpp | 54 +- src/cpp/common/localAtmosRegion.cpp | 22 +- src/cpp/common/mongo.hpp | 2 +- src/cpp/common/mongoRead.cpp | 2 +- src/cpp/common/mongoWrite.cpp | 10 +- src/cpp/common/ntripBroadcast.cpp | 2 +- src/cpp/common/ntripBroadcast.hpp | 1 + src/cpp/common/observations.hpp | 2 +- src/cpp/common/receiver.cpp | 38 +- src/cpp/common/receiver.hpp | 130 +- src/cpp/common/receiverMetadata.cpp | 281 + src/cpp/common/rinex.cpp | 7 +- src/cpp/common/rinexClkWrite.cpp | 5 +- src/cpp/common/rinexNavWrite.cpp | 2 +- src/cpp/common/rinexObsWrite.cpp | 26 +- src/cpp/common/rtcmDecoder.cpp | 713 +- src/cpp/common/rtcmDecoder.hpp | 171 +- src/cpp/common/rtcmEncoder.cpp | 9 +- src/cpp/common/rtcmTrace.cpp | 131 +- src/cpp/common/rtcmTrace.hpp | 73 +- src/cpp/common/rtsSmoothing.cpp | 209 +- src/cpp/common/rtsSmoothing.hpp | 10 +- .../sanityCheckers/ConfigSanityManager.cpp | 69 + .../sanityCheckers/ConfigSanityManager.hpp | 20 + .../EphemerisTimeDelayChecker.cpp | 22 + .../EphemerisTimeDelayChecker.hpp | 9 + .../sanityCheckers/EpochToleranceChecker.cpp | 22 + .../sanityCheckers/EpochToleranceChecker.hpp | 9 + .../common/sanityCheckers/ISanityChecker.hpp | 13 + .../IonosphericFreeComboChecker.cpp | 43 + .../IonosphericFreeComboChecker.hpp | 9 + .../IonosphericOutageChecker.cpp | 20 + .../IonosphericOutageChecker.hpp | 9 + .../RequiredSiteEccentricityChecker.cpp | 33 + .../RequiredSiteEccentricityChecker.hpp | 9 + .../sanityCheckers/SbasSanityChecker.cpp | 221 + .../sanityCheckers/SbasSanityChecker.hpp | 9 + .../common/sanityCheckers/sanityCheckers.hpp | 9 + src/cpp/common/sbfDecoder.cpp | 21 +- src/cpp/common/sinex.cpp | 5911 +++++++++-------- src/cpp/common/sinex.hpp | 701 +- src/cpp/common/sp3Write.cpp | 2 +- src/cpp/common/streamCustom.cpp | 2 +- src/cpp/common/streamFile.hpp | 81 +- src/cpp/common/streamObs.hpp | 172 +- src/cpp/common/streamParser.cpp | 46 +- src/cpp/common/streamRinex.hpp | 7 + src/cpp/common/streamRtcm.hpp | 41 +- src/cpp/common/streamUbx.cpp | 2 +- src/cpp/common/tcpSocket.cpp | 39 +- src/cpp/common/tcpSocket.hpp | 19 +- src/cpp/common/tides.cpp | 4 +- src/cpp/common/trace.cpp | 4 +- src/cpp/common/trace.hpp | 177 +- src/cpp/common/tropSinex.cpp | 11 +- src/cpp/common/ubxDecoder.cpp | 26 +- src/cpp/configurator/htmlFooterTemplate.hpp | 290 +- src/cpp/configurator/htmlHeaderTemplate.hpp | 383 +- src/cpp/inertial/posProp.cpp | 4 +- src/cpp/iono/ionex.cpp | 7 +- src/cpp/iono/ionoLocalSTEC.cpp | 3 +- src/cpp/iono/ionoMeas.cpp | 2 +- src/cpp/iono/ionoModel.cpp | 4 +- src/cpp/iono/ionoModel.hpp | 16 +- src/cpp/iono/ionoSBAS.cpp | 114 +- src/cpp/iono/ionoSphericalCaps.cpp | 6 +- src/cpp/loading/interpolate_loading.cpp | 28 +- src/cpp/loading/make_otl_blq.cpp | 10 +- src/cpp/loading/tide.cpp | 17 +- src/cpp/loading/utils.cpp | 8 +- src/cpp/loading/utils.h | 14 +- src/cpp/orbprop/acceleration.cpp | 2 +- src/cpp/orbprop/centerMassCorrections.cpp | 6 +- src/cpp/orbprop/coordinates.cpp | 2 +- src/cpp/orbprop/iers2010.cpp | 7 +- src/cpp/orbprop/orbitProp.cpp | 34 +- src/cpp/orbprop/spaceWeather.cpp | 12 +- src/cpp/orbprop/staticField.cpp | 2 +- src/cpp/orbprop/tideCoeff.cpp | 2 +- src/cpp/other_ssr/prototypeCmpSSRDecode.cpp | 7 +- src/cpp/other_ssr/prototypeCmpSSREncode.cpp | 22 +- src/cpp/other_ssr/prototypeIgsSSRDecode.cpp | 4 +- src/cpp/other_ssr/prototypeIgsSSREncode.cpp | 5 +- src/cpp/pea/inputs.cpp | 17 +- src/cpp/pea/main.cpp | 885 ++- src/cpp/pea/minimumConstraints.cpp | 14 +- src/cpp/pea/outputs.cpp | 67 +- src/cpp/pea/pea_snx.cpp | 178 +- src/cpp/pea/ppp.cpp | 97 +- src/cpp/pea/ppp_ambres.cpp | 2 +- src/cpp/pea/ppp_callbacks.cpp | 83 +- src/cpp/pea/ppp_obs.cpp | 17 +- src/cpp/pea/ppp_pseudoobs.cpp | 6 +- src/cpp/pea/ppp_slr.cpp | 20 +- src/cpp/pea/ppppp.cpp | 27 +- src/cpp/pea/preprocessor.cpp | 125 +- src/cpp/pea/preprocessor.hpp | 3 +- src/cpp/pea/spp.cpp | 20 +- src/cpp/rtklib/rtkcmn.cpp | 2 +- src/cpp/sbas/decodeL1.cpp | 4 +- src/cpp/sbas/sbas.cpp | 10 +- src/cpp/slr/slrObs.cpp | 6 +- src/cpp/trop/tropCSSR.cpp | 2 +- src/cpp/trop/tropModels.cpp | 9 +- src/tests/CMakeLists.txt | 107 + .../test_ConfigSanityManager.cpp | 17 + .../test_EphemerisTimeDelayChecker.cpp | 46 + .../test_EpochToleranceChecker.cpp | 28 + .../test_IonosphericFreeComboChecker.cpp | 34 + .../test_IonosphericOutageChecker.cpp | 26 + .../test_RequiredSiteEccentricityChecker.cpp | 29 + .../sanityCheckers/test_SbasSanityChecker.cpp | 109 + src/tests/unit/test_ReceiverMetaData.cpp | 493 ++ src/tests/unit/test_TraceFileCache.cpp | 56 + vcpkg.json | 5 +- 228 files changed, 18233 insertions(+), 13108 deletions(-) delete mode 120000 debugConfigs/data delete mode 100644 debugConfigs/net_orbits_rt.yaml delete mode 100644 debugConfigs/net_slr_estimation_off.yaml delete mode 100644 debugConfigs/net_slr_estimation_on.yaml delete mode 120000 debugConfigs/pea delete mode 100644 debugConfigs/pea1.yaml delete mode 100644 debugConfigs/pod_rt_example1.yaml delete mode 100644 debugConfigs/pod_rt_example2.yaml delete mode 120000 debugConfigs/products delete mode 100644 debugConfigs/record_ssr_stream.yaml delete mode 100644 debugConfigs/rt_net_ppp_clocks_large.yaml delete mode 100644 debugConfigs/rt_sisnet_input.yaml delete mode 100644 debugConfigs/slr_est_off_gal.yaml delete mode 100644 debugConfigs/slr_est_off_lag.yaml delete mode 100644 debugConfigs/slr_orb_fit.yaml delete mode 100644 debugConfigs/slr_pod_with_pobs_gal.yaml delete mode 100644 debugConfigs/slr_pod_with_pobs_lag.yaml delete mode 100644 debugConfigs/sp3_ecef2eci.yaml delete mode 100644 debugConfigs/spire_pod.yaml delete mode 100644 debugConfigs/tide_debug.yaml create mode 100644 exampleConfigs/loading/blq.yaml create mode 100644 scripts/GinanUI/app/controllers/constellation_config_controller.py create mode 100644 scripts/GinanUI/app/controllers/general_config_controller.py create mode 100644 scripts/GinanUI/app/controllers/output_config_controller.py create mode 100644 scripts/GinanUI/app/controllers/yaml_config_controller.py create mode 100644 scripts/GinanUI/app/models/inspector.py rename scripts/GinanUI/app/utils/{cddis_email.py => cddis_connection.py} (90%) create mode 100644 scripts/GinanUI/docs/APPLICATION_ARCHITECTURE.md create mode 100644 scripts/ci/compile_vcpkg_eigen_matrix.sh create mode 100644 scripts/ci/vcpkg-overlay-ports/libaec/cmake-config.patch create mode 100644 scripts/ci/vcpkg-overlay-ports/libaec/portfile.cmake create mode 100644 scripts/ci/vcpkg-overlay-ports/libaec/static-shared.patch create mode 100644 scripts/ci/vcpkg-overlay-ports/libaec/usage create mode 100644 scripts/ci/vcpkg-overlay-ports/libaec/vcpkg.json create mode 100644 scripts/qzss_ohi_merge.py create mode 100644 src/cpp/common/blasThreading.hpp create mode 100644 src/cpp/common/receiverMetadata.cpp create mode 100644 src/cpp/common/sanityCheckers/ConfigSanityManager.cpp create mode 100644 src/cpp/common/sanityCheckers/ConfigSanityManager.hpp create mode 100644 src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/EpochToleranceChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/EpochToleranceChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/ISanityChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/IonosphericOutageChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/IonosphericOutageChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/SbasSanityChecker.cpp create mode 100644 src/cpp/common/sanityCheckers/SbasSanityChecker.hpp create mode 100644 src/cpp/common/sanityCheckers/sanityCheckers.hpp create mode 100644 src/tests/CMakeLists.txt create mode 100644 src/tests/unit/sanityCheckers/test_ConfigSanityManager.cpp create mode 100644 src/tests/unit/sanityCheckers/test_EphemerisTimeDelayChecker.cpp create mode 100644 src/tests/unit/sanityCheckers/test_EpochToleranceChecker.cpp create mode 100644 src/tests/unit/sanityCheckers/test_IonosphericFreeComboChecker.cpp create mode 100644 src/tests/unit/sanityCheckers/test_IonosphericOutageChecker.cpp create mode 100644 src/tests/unit/sanityCheckers/test_RequiredSiteEccentricityChecker.cpp create mode 100644 src/tests/unit/sanityCheckers/test_SbasSanityChecker.cpp create mode 100644 src/tests/unit/test_ReceiverMetaData.cpp create mode 100644 src/tests/unit/test_TraceFileCache.cpp diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4170eb223..043b893d9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -282,21 +282,31 @@ jobs: --hidden-import scripts.plot_pos \ --hidden-import scripts.plot_trace_res \ --hidden-import scripts.GinanUI.app \ + --hidden-import scripts.GinanUI.app.main_window \ --hidden-import scripts.GinanUI.app.models \ --hidden-import scripts.GinanUI.app.models.execution \ + --hidden-import scripts.GinanUI.app.models.dl_products \ + --hidden-import scripts.GinanUI.app.models.rinex_extractor \ + --hidden-import scripts.GinanUI.app.models.archive_manager \ --hidden-import scripts.GinanUI.app.controllers \ --hidden-import scripts.GinanUI.app.controllers.input_controller \ + --hidden-import scripts.GinanUI.app.controllers.general_config_controller \ + --hidden-import scripts.GinanUI.app.controllers.constellation_config_controller \ + --hidden-import scripts.GinanUI.app.controllers.output_config_controller \ --hidden-import scripts.GinanUI.app.controllers.visualisation_controller \ --hidden-import scripts.GinanUI.app.utils \ --hidden-import scripts.GinanUI.app.utils.workers \ + --hidden-import scripts.GinanUI.app.utils.logger \ + --hidden-import scripts.GinanUI.app.utils.toast \ + --hidden-import scripts.GinanUI.app.utils.ui_compilation \ --hidden-import scripts.GinanUI.app.utils.cddis_credentials \ - --hidden-import scripts.GinanUI.app.utils.cddis_email \ + --hidden-import scripts.GinanUI.app.utils.cddis_connection \ --hidden-import scripts.GinanUI.app.utils.common_dirs \ --hidden-import scripts.GinanUI.app.utils.gn_functions \ --hidden-import scripts.GinanUI.app.utils.yaml \ --hidden-import scripts.GinanUI.app.views.main_window_ui \ scripts/GinanUI/main.py - + - name: Build GUI with PyInstaller (Windows) if: runner.os == 'Windows' run: | @@ -314,15 +324,25 @@ jobs: --hidden-import scripts.plot_pos ` --hidden-import scripts.plot_trace_res ` --hidden-import scripts.GinanUI.app ` + --hidden-import scripts.GinanUI.app.main_window ` --hidden-import scripts.GinanUI.app.models ` --hidden-import scripts.GinanUI.app.models.execution ` + --hidden-import scripts.GinanUI.app.models.dl_products ` + --hidden-import scripts.GinanUI.app.models.rinex_extractor ` + --hidden-import scripts.GinanUI.app.models.archive_manager ` --hidden-import scripts.GinanUI.app.controllers ` --hidden-import scripts.GinanUI.app.controllers.input_controller ` + --hidden-import scripts.GinanUI.app.controllers.general_config_controller ` + --hidden-import scripts.GinanUI.app.controllers.constellation_config_controller ` + --hidden-import scripts.GinanUI.app.controllers.output_config_controller ` --hidden-import scripts.GinanUI.app.controllers.visualisation_controller ` --hidden-import scripts.GinanUI.app.utils ` --hidden-import scripts.GinanUI.app.utils.workers ` + --hidden-import scripts.GinanUI.app.utils.logger ` + --hidden-import scripts.GinanUI.app.utils.toast ` + --hidden-import scripts.GinanUI.app.utils.ui_compilation ` --hidden-import scripts.GinanUI.app.utils.cddis_credentials ` - --hidden-import scripts.GinanUI.app.utils.cddis_email ` + --hidden-import scripts.GinanUI.app.utils.cddis_connection ` --hidden-import scripts.GinanUI.app.utils.common_dirs ` --hidden-import scripts.GinanUI.app.utils.gn_functions ` --hidden-import scripts.GinanUI.app.utils.yaml ` diff --git a/CHANGELOG.md b/CHANGELOG.md index d697cc503..97d0b0f84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,71 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +# [4.1.2] 2026-06-16 + +## Added + +Ginan core: +- Added RTCM extension work, including receiver metadata support and associated tests. +- Added diagnostics for preprocessor slip detection, including SCDIA diagnostics and clearer slip reason handling. +- Added dry-run options for checking configuration/execution flow without running a full processing job. +- Added support for SINEX PSD annual-frequency corrections. + +GinanUI: +- Added a YAML/HTML inspector path in GinanUI, including generated inspector styling and integration into the UI. +- Added a YAML configuration tab and controls for config overwrite behaviour. +- Added GinanUI support for ocean and atmospheric loading workflows. +- Added visualisation pop-out support. +- Added SINEX output controls to GinanUI. + +## Changed + +Ginan core: +- Improved realtime operation: config reloads now retire removed streams, clear removed inputs, keep trace/RTCM outputs open while appending, and improve sync/reconnect diagnostics. +- Improved stream/file handling by keeping file streams open across parses and reducing unnecessary open/close cycles. +- Improved data handling for multiple input streams, EOF handling, start/end epoch logic, and stream state checks. +- Updated preprocessor so basic preparation still runs when the preprocessor is disabled. + +GinanUI: +- Refactored GinanUI into smaller controllers/models for maintainability and accessibility. +- Improved GinanUI config update paths and visualisation controls. + +Build and dependencies: +- Added Eigen 5 compatibility using a simpler integration path after the initial migration approach proved unsuitable. +- Improved Eigen/BLAS compatibility and Windows portability. +- Added CI/vcpkg updates for dependency unit testing. + +## Fixed + +Ginan core: +- Fixed RTS/chunking output and chunk-parallel transition handling. +- Fixed loading grid longitude handling for 0-360 degree grids. +- Fixed unsafe `nullStream` behaviour in multi-threaded runs. + +GinanUI: +- Fixed duplicate `.pos` plotting for multi-day observations. +- Fixed restoration handling for `igs_satellite_metadata.snx`. + +# [4.1.1] 2026-02-12 + +## Added + +Ginan core: +- Added support for reading GLONASS satellites from RINEX 2 files. + +GinanUI: +- Added apriori position as a configuration option in the interface. +- Added support for running faster-rate clocks, including 1 Hz to 100 Hz workflows. +- Added SINEX downloading and validation support. +- Added download verification against CDDIS checksums. +- Added support for using archived products when they are already available. + +## Fixed + +Ginan core: +- Fixed reading CRLF-ended RINEX files in Windows binaries. +- Fixed configuration parsing so station and receiver names can start with a number, for example `4RMA00AUS`. + # [4.1] 2026-01-30 ## Added diff --git a/README.md b/README.md index 2c3b49367..e9821d7b7 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Ginan: GNSS Analysis Software Toolkit -[![Version](https://img.shields.io/badge/version-v4.1.1-blue.svg)](https://github.com/GeoscienceAustralia/ginan/releases) +[![Version](https://img.shields.io/badge/version-v4.1.2-blue.svg)](https://github.com/GeoscienceAustralia/ginan/releases) [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE.md) [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](#supported-platforms) [![Docker](https://img.shields.io/badge/docker-available-blue.svg)](https://hub.docker.com/r/gnssanalysis/ginan) @@ -29,8 +29,7 @@ McClusky, Simon; Hammond, Aaron; Maj, Ronald; Allgeyer, Sébastien; Harima, Ken; - [Precompiled binaries](#precompiled-binaries) - [Installation from Source](#installation-from-source) - [Tested Platforms](#tested-platforms) - - [Prerequisites](#prerequisites) - - [Build Process using `vcpkg` + CMake presets (Recommanded)](#build-process-using-vcpkg--cmake-presets-recommanded) + - [Recommended Source Build: `vcpkg` + CMake Presets](#recommended-source-build-vcpkg--cmake-presets) - [Legacy: manual `cmake` + `make` instructions](#legacy-manual-cmake---make-instructions) - [Python Environment Setup](#python-environment-setup) - [Getting Started with the examples](#getting-started-with-the-examples) @@ -57,7 +56,7 @@ The fastest way to get started with Ginan is using Docker: ```bash # Pull and run the latest Ginan container -docker run -it -v $(pwd):/data gnssanalysis/ginan:v4.1.1 bash +docker run -it -v "$(pwd):/data" gnssanalysis/ginan:v4.1.2 bash # Verify installation pea --help @@ -112,26 +111,33 @@ The software consists of three main components: ## Installation -Choose the installation method that best fits your needs: +Choose one of the paths below: + +| Method | Best for | Notes | +|--------|----------|-------| +| Docker | Most users, tutorials, reproducible runs | Includes Ginan and its runtime dependencies. | +| Precompiled binaries | Users who want a native executable without building | Available from GitHub Releases for Linux, macOS, and Windows. | +| Source build with `vcpkg` | Developers and users who need a custom build | Recommended source-build path. | +| Legacy/manual source build | Sites with system-managed dependencies | Best-effort support; use only when `vcpkg` is not suitable. | ### Using Ginan with Docker -**Recommended for most users** - Get started quickly with a pre-configured environment: +**Recommended for most users.** Docker is the fastest way to run Ginan with a known-good environment. -```bash -# Run Ginan container with data volume mounting -docker run -it -v ${pwd}:/data gnssanalysis/ginan:v4.1.1 bash -``` +Prerequisite: install [Docker](https://docs.docker.com/get-docker/). -This command: +```bash +# Run Ginan container with data volume mounting on Linux/macOS +docker run -it -v "$(pwd):/data" gnssanalysis/ginan:v4.1.2 bash -- Mounts your current directory (`${pwd}`) to `/data` in the container -- Provides access to all Ginan tools and dependencies -- Opens an interactive bash shell +# PowerShell equivalent on Windows +docker run -it -v "${PWD}:/data" gnssanalysis/ginan:v4.1.2 bash +``` -**Prerequisites:** [Docker](https://docs.docker.com/get-docker/) must be installed on your system. +The command mounts your current directory to `/data` in the container and opens an interactive shell with Ginan available. **Verify installation:** + ```bash pea --help ``` @@ -146,7 +152,7 @@ We publish builds for the following platforms: - macOS (arm64 and x86_64) - Windows (x86_64) -These artifacts are provided for convenience and have been tested on our CI runners and a subset of target systems. They may not work on every configuration — if you encounter problems please try the Docker image or build from source (see the Build Process section) and open an issue on GitHub with your OS and steps to reproduce. +These artifacts are provided for convenience and have been tested on our CI runners and a subset of target systems. They may not work on every configuration — if you encounter problems please try the Docker image or build from source, and open an issue on GitHub with your OS and steps to reproduce. Note about Windows binaries: We have observed an output file-size limitation on Windows builds where RTS/output files appear limited at about 2.1 GB (roughly equivalent to a PPP processing of two stations over one day at 30 s resolution). If you require larger RTS outputs, run the processing on Linux/macOS (or in the Docker image) or build from source on a platform without this limitation. We plan to implement a permanent solution in a future release. @@ -162,80 +168,84 @@ Note about Windows binaries: We have observed an output file-size limitation on | **macOS** | 10.15+ (x86) | Limited testing | | **Windows** | 10+ | Limited testing| -#### Prerequisites - -##### System Dependencies +#### Recommended Source Build: `vcpkg` + CMake Presets -**Compilers:** +The recommended source build uses the repository's CMake presets and `vcpkg` manifest. This keeps dependency versions close to the CI/release builds. -- GCC/G++ (recommended, tested and supported) or equivalent C/C++ compiler +Prerequisites: -**Required Dependencies:** +- CMake 3.22 or newer +- A C/C++ compiler for your platform +- Git +- `vcpkg`, installed or cloned as shown below -- **CMake** ≥ 3.0 +From the repository root: -- **YAML** ≥ 0.6 - -- **Boost** ≥ 1.75 - - -- **Eigen3** ≥ 3.4 +```bash +export VCPKG_ROOT="$PWD/vcpkg" +export VCPKG_COMMIT="4c5ae6b55f3e3e39d291679f89822f496cf190ee" -- **OpenBLAS** (provides BLAS and LAPACK) +git clone https://github.com/Microsoft/vcpkg.git "$VCPKG_ROOT" +git -C "$VCPKG_ROOT" fetch --depth 1 origin "$VCPKG_COMMIT" +git -C "$VCPKG_ROOT" checkout --detach "$VCPKG_COMMIT" +"$VCPKG_ROOT/bootstrap-vcpkg.sh" -disableMetrics +``` -**Optional Dependencies:** +If you already have `vcpkg` installed elsewhere, set `VCPKG_ROOT` to that directory and skip the clone commands. -- **Mongo C Driver** ≥ 1.17.1 +On Windows PowerShell: -- **Mongo C++ Driver** ≥ 3.6.0 (= 3.7.0 for GCC 11+) +```powershell +$env:VCPKG_ROOT = "$PWD\vcpkg" +$env:VCPKG_COMMIT = "4c5ae6b55f3e3e39d291679f89822f496cf190ee" -- **MongoDB** (for database features) +git clone https://github.com/Microsoft/vcpkg.git $env:VCPKG_ROOT +git -C $env:VCPKG_ROOT fetch --depth 1 origin $env:VCPKG_COMMIT +git -C $env:VCPKG_ROOT checkout --detach $env:VCPKG_COMMIT +& "$env:VCPKG_ROOT\bootstrap-vcpkg.bat" -disableMetrics +``` -- **netCDF4** (for tidal loading computation) +Then configure and build from `src` using the preset for your platform: -- **Python** ≥ 3.9 +```bash +cd src +cmake --preset release +cmake --build --preset release +``` -#### Build Process using `vcpkg` + CMake presets (Recommanded) +Common release presets: -We recommend using `vcpkg` for dependency management together with the repository CMake presets. +| Platform | Configure/build preset | +|----------|------------------------| +| Linux x86_64 | `release` | +| macOS Apple silicon | `macos-arm64-release` | +| macOS Intel | `macos-x64-release` | +| Windows native | `windows-release` | +| Windows cross-compile from Linux | `windows-cross-release` | -1. Bootstrap and install `vcpkg` (from repository root): +For example, on Apple silicon: ```bash -# Clone/bootstrap vcpkg (if not present) -./vcpkg/bootstrap-vcpkg.sh - -# Install packages for your target triplet (example: Linux x86_64) -./vcpkg/vcpkg install --triplet x64-linux --x-install-root=./vcpkg_installed -# For macOS: use `arm64-osx` or `x64-osx`. For Windows cross builds (on linux) use `x64-mingw-static`. +cd src +cmake --preset macos-arm64-release +cmake --build --preset macos-arm64-release ``` -2. Configure and build with a CMake preset (run from `src`): +Build outputs are written to the repository-level `bin/` and `lib/` directories. -```bash -cd src -# Choose the preset that matches your platform (examples: `release`, `macos-arm64-release`, `macos-x64-release`, `windows-cross-release`) -cmake --preset release -cmake --build --preset release +Verify the build: -# Or build the preset directory directly (example for Linux): -cmake --build build/linux-Release --parallel $(nproc) +```bash +../bin/pea --help ``` -Note on loading / netCDF: the ocean-tide loading components currently have known problems when built from the `vcpkg` dependency set due to issues with the `netcdf` package in some vcpkg triplets. If you rely on tidal-loading features (the `make_otl_blq` target and related tools), either: - -- Build those components from source using your system `netcdf` (install `netcdf`/`netcdf-c` via the OS package manager and use the legacy `cmake`/`make` flow), or -- Track the vcpkg `netcdf` fixes and retry when upstream provides a compatible package for your target triplet. - -If you need help reproducing or a suggested workaround for your platform, open an issue with your OS/triplet and vcpkg versions. +The CMake presets use platform-specific dependency install roots under `./vcpkg_installed/`. If a configure step fails after changing triplets or branches, remove the relevant preset build directory under `src/build/` and configure again. -Notes: -- The CI uses `--x-install-root=./vcpkg_installed` to install packages locally for reproducible builds. -- If you prefer not to use `vcpkg`, the legacy manual flow below remains supported. +**OpenBLAS threading:** Ginan can use OpenMP while OpenBLAS may also use worker threads. If you see warnings such as `OpenBLAS Warning : Detect OpenMP Loop and this application may hang`, set `OPENBLAS_NUM_THREADS=1` so BLAS/LAPACK calls run single-threaded inside Ginan's OpenMP regions. #### Legacy: manual `cmake` + `make` instructions -##### Quick Installation Scripts (legacy) +Use this path only if you need system-managed dependencies instead of `vcpkg`. Pre-written installation scripts are available in `scripts/installation/` for systems where you prefer distro-specific package installation instead of `vcpkg`: @@ -256,7 +266,7 @@ Pre-written installation scripts are available in `scripts/installation/` for sy cat scripts/installation/generic.md ``` -**Note:** These scripts are maintained as best-effort and may require adjustments for your environment. If you are using the `vcpkg` + CMake presets workflow, follow the `vcpkg` steps in the Build Process section instead. +These scripts are maintained as best-effort and may require adjustments for your environment. The older manual flow is still available for users who prefer it: @@ -294,7 +304,7 @@ cd ../../exampleConfigs Expected output: ``` -PEA starting... (main ginan-v4.1.1 from ...) +PEA starting... (main ginan-v4.1.2 from ...) Options: -h [ --help ] Help -q [ --quiet ] Less output @@ -330,9 +340,10 @@ Congratulations! Ginan is now ready to use. The examples in `exampleConfigs/` pr - **Working directory:** All examples must be run from the `exampleConfigs/` directory due to relative paths - **MongoDB:** If MongoDB is not installed, set `mongo: enable: None` in configuration files -- **Performance tip:** For single-station PPP, limit cores to improve performance: +- **Threading:** Ginan can use OpenMP while OpenBLAS may also use its own worker threads. If you see warnings such as `OpenBLAS Warning : Detect OpenMP Loop and this application may hang`, set `OPENBLAS_NUM_THREADS=1` so BLAS/LAPACK calls run single-threaded inside Ginan's OpenMP regions. `GOTO_NUM_THREADS=1` is also recognised by OpenBLAS-compatible builds. +- **Performance tip:** For single-station PPP, limit OpenMP cores to improve performance: ```bash - OMP_NUM_THREADS=1 ../bin/pea --config ppp_example.yaml + OPENBLAS_NUM_THREADS=1 GOTO_NUM_THREADS=1 OMP_NUM_THREADS=1 ../bin/pea --config ppp_example.yaml ``` @@ -462,4 +473,4 @@ All incorporated code has been preserved with appropriate modifications in the ` --- -**Developed by [Geoscience Australia](https://www.ga.gov.au/)** | **Version 4.1.1** | **[GitHub Repository](https://github.com/GeoscienceAustralia/ginan)** +**Developed by [Geoscience Australia](https://www.ga.gov.au/)** | **Version 4.1.2** | **[GitHub Repository](https://github.com/GeoscienceAustralia/ginan)** diff --git a/debugConfigs/data b/debugConfigs/data deleted file mode 120000 index 85479075e..000000000 --- a/debugConfigs/data +++ /dev/null @@ -1 +0,0 @@ -../inputData/data \ No newline at end of file diff --git a/debugConfigs/net_orbits_rt.yaml b/debugConfigs/net_orbits_rt.yaml deleted file mode 100644 index 8a13cc710..000000000 --- a/debugConfigs/net_orbits_rt.yaml +++ /dev/null @@ -1,474 +0,0 @@ -inputs: - inputs_root: products/ - tides: - ocean_tide_loading_blq_files: [ OLOAD_GO.BLQ ] - atmos_tide_loading_blq_files: [ ALOAD_GO.BLQ ] - ocean_pole_tide_loading_files: [ tables/opoleloadcoefcmcor.txt ] - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - atx_files: [ igs20.atx ] - snx_files: [ igs20.ssc, IGS0OPSSNX_20232600000_01D_01D_CRD.SNX, igs_satellite_metadata.txt.latest ] - egm_files: [ tables/EGM2008.gfc ] - erp_files: [ finals.daily.iau2000.txt ] - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] - satellite_data: - satellite_data_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - rtcm_inputs: - - "BCEP00BKG0" - troposphere: - gpt2grid_files: [gpt_25.grd] - gnss_observations: - gnss_observations_root: "http://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - - "ALIC00AUS0" - - "LAUT00FJI0" - - "PTGG00PHL0" - - "CHTI00NZL0" - - "MAYG00MYT0" - - "COCO00AUS0" - - "KRGG00ATF0" - - "KIRI00KIR0" - - "MAC100AUS0" - - "CAS100ATA0" - - "DGAR00GBR0" - - "ASCG00SHN0" - - "IISC00IND0" - - "FAIR00USA0" - #- "WHU200CHN0" - - "MIZU00JPN0" - - "CKIS00COK0" - - "RGDG00ARG0" - - "SCTB00ATA0" - - "MAW100ATA0" - - "YAR200AUS0" - - "TOW200AUS0" - - "DARW00AUS0" - - "KARR00AUS0" - - "REUN00REU0" - - "CZTG00ATF0" - - "MAL200KEN0" - - "DJIG00DJI0" - #- "KZN200RUS0" - #- "UTQI00USA0" - - "DUBO00CAN0" - - "YELL00CAN0" - - "PDEL00PRT0" - - "STHL00GBR0" - - "NKLG00GAB0" - - "SAVO00BRA0" - - "GAMB00PYF0" - - "GLPS00ECU0" - - "SGOC00LKA0" - - "POAL00BRA0" - - "FALK00FLK0" -# Rb Atomic Clocks - - "TASH00UZB0" - - "AREG00PER0" -# Cs Atomic Clocks - - "HARB00ZAF0" - - "MAS100ESP0" - - "KIRU00SWE0" - - "KOUG00GUF0" -# HM Atomic Clocks - - "BREW00USA0" - - "KOUR00GUF0" - - "MGUE00ARG0" - - "PIE100USA0" - - "MKEA00USA0" - - "STJO00CAN0" - - "TID100AUS0" - - "MSSA00JPN0" - - "ONS100SWE0" -outputs: - outputs_root: outputs/ - trace: - output_receivers: true - output_satellites: true - output_network: true - level: 5 - network_filename: _
--.TRACE - receiver_filename: _
--.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - clocks: - output: true - sinex: - output: true - sp3: - output: true - output_rotation: - period: 1 - period_units: day - decoded_rtcm: - output: true - metadata: - config_description: rt_net_ppp_orbits -mongo: - enable: both - output_measurements: primary - output_states: primary - delete_history: primary - #output_predictions: secondary - - secondary_database: Realtime - - queue_outputs: true - -receiver_options: - #WHU2: - #kill: true - #KZN2: - #kill: true - global: - - #elevation_mask: 10 - #error_model: elevation_dependent - #code_sigma: [0.4] - #phase_sigma: [0.004] - rec_reference_system: gps - - #models: - #attitude: - #sources: [ MODEL, NOMINAL ] - #troposphere: - #models: [gpt2] - #eop: - #enable: true - - GPS: - clock_codes: [ L1W,L2W ] - zero_dcb_codes: [ AUTO,AUTO ] - #GAL: - #zero_dcb_codes: [ L1C,L5Q ] - #mincon_noise: [ 0.01, 0.01, 0.03 ] -satellite_options: - global: - orbit_propagation: - mass: 1000 - area: 15 - srp_cr: 1.75 - central_force: true - planetary_perturbations: [sun, moon, jupiter] - general_relativity: true - solar_radiation_pressure: cannonball - antenna_thrust: true - albedo: cannonball - empirical: true - empirical_dyb_eclipse: [true, false, false] - models: - attitude: - sources: [ MODEL, NOMINAL ] - clock: - sources: [ KALMAN, BROADCAST ] - pos: - sources: [ KALMAN, PRECISE, BROADCAST ] - #GPS: - #clock_codes: [ L1W,L2W ] - #GAL: - #clock_codes: [ L1C,L5Q ] -processing_options: - - predictions: - forward_duration: 25 - offset: 30 - interval: 5 - - process_modes: - ppp: true - epoch_control: - epoch_interval: 60 - #wait_next_epoch: 8 - max_rec_latency: 2 - preprocessor: - cycle_slips: - mw_process_noise: 0 - slip_threshold: 0.05 - spp: - max_lsq_iterations: 12 - outlier_screening: - max_gdop: 30 - postfit: - sigma_check: true - gnss_general: - minimise_sat_clock_offsets: true - sys_options: # Only GPS and Galileo are currently stable - gps: - process: true - code_priorities: [ L1W, L1C, L2W ] - gal: - #process: true - code_priorities: [ L1C, L1X, L5Q, L5X ] - glo: - process: false - code_priorities: [ L1P, L1C, L2P, L2C ] - qzs: - process: false - code_priorities: [ L1C, L2L, L2X ] - bds: - process: false - code_priorities: [ L2I, L6I ] - minimum_constraints: - enable: true - #once_per_epoch: true - translation: - estimated: [ true ] - sigma: [ 1 ] - rotation: - estimated: [ true ] - sigma: [ 1 ] - scale: - estimated: [ true ] - sigma: [ 1 ] - model_error_handling: - ambiguities: - outage_reset_limit: 300 - phase_reject_limit: 2 - reset_on: - gf: true - lli: true - mw: true - scdia: true - meas_deweighting: - deweight_factor: 10000 - state_deweighting: - deweight_factor: 10000 - orbit_errors: - enable: true - pos_process_noise: 1000 - vel_process_noise: 10 - vel_process_noise_trail: 0.1 - vel_process_noise_trail_tau: 360 - exclusions: - gf: false - lli: false - mw: false - scdia: false - ppp_filter: - inverter: LLT - assume_linearity: true - chunking: - size: 25 - outlier_screening: - prefit: - max_iterations: 3 - omega_test: true - sigma_check: false - state_sigma_threshold: 5 - meas_sigma_threshold: 5 - postfit: - max_iterations: 20 - sigma_check: true - state_sigma_threshold: 5 - meas_sigma_threshold: 5 - - chi_square: - mode: NONE - enable: false - - orbit_propagation: - egm_field: true - integrator_time_step: 60 - egm_degree: 15 - indirect_J2: true - solid_earth_tide: true - ocean_tide: true - pole_tide_ocean: true - pole_tide_solid: true - - #itrf_pseudoobs: true -estimation_parameters: - receivers: - global: - pos: - estimated: [true] - sigma: [5] - process_noise: [0.001] - process_noise_dt: DAY - - clock: - estimated: [true] - sigma: [1000] - process_noise: [100] - - ambiguities: - estimated: [true] - sigma: [5000] - - trop: - estimated: [true] - sigma: [0.3] - process_noise: [0.0001] - - trop_grads: - estimated: [true] - sigma: [0.02] - process_noise: [1e-6] - - ion_stec: - estimated: [true] - sigma: [200] - - # phase_bias: - # estimated: [true] - # sigma: [1000] - # proc_noise: [0.0001] - - code_bias: - estimated: [true] - sigma: [10] - tau: [1800] - process_noise: [0.003] - process_noise_dt: DAY - satellites: - GPS-IIA: - emp_d_0: - apriori_value: [36] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - GPS-IIF: - emp_d_0: - apriori_value: [-34] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - GPS-IIR-A: - emp_d_0: - apriori_value: [9] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - GPS-IIR-B: - emp_d_0: - apriori_value: [8] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - GPS-IIR-M: - emp_d_0: - apriori_value: [12] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - GPS-IIIA: - emp_d_0: - apriori_value: [-22] - sigma: [10] - emp_y_0: - apriori_value: [0] - emp_b_0: - apriori_value: [0] - emp_d_1: - apriori_value: [0] - emp_b_1: - apriori_value: [0] - emp_d_2: - apriori_value: [0] - global: - clock: - estimated: [true] - sigma: [1000] - process_noise: [1] - tau: [100] - - #clk_rate: - #estimated: [true] - #sigma: [10] - #proc_noise: [1e-5] - - phase_bias: - estimated: [false] - sigma: [10] - #proc_noise: [0] - - code_bias: - estimated: [true] - sigma: [100] - tau: [1800] - process_noise: [0.003] - process_noise_dt: DAY - - orbit: - estimated: [true] - sigma: [5 , 5, 5, 0.01] - process_noise: [0] - emp_d_0: - estimated: [true] - sigma: [1] - process_noise: [1] - process_noise_dt: day - emp_p_0: - estimated: [true] - sigma: [5] - process_noise: [1] - process_noise_dt: day - emp_q_0: - estimated: [true] - sigma: [5] - process_noise: [1] - process_noise_dt: day - #emp_y_0: - #estimated: [true] - #sigma: [1] - #proc_noise: [0] - #emp_b_0: - #estimated: [true] - #sigma: [1] - #proc_noise: [0] - #emp_d_1: - #estimated: [false] - #sigma: [1] - #proc_noise: [0] - #emp_y_1: - #estimated: [false] - #sigma: [1] - #proc_noise: [0] - #emp_b_1: - #estimated: [true] - #sigma: [1] - #proc_noise: [0] - #emp_d_2: - #estimated: [true] - #sigma: [1] - #proc_noise: [0] -debug: - #explain_measurements: true - #instrument: true - #instrument_once_per_epoch: true diff --git a/debugConfigs/net_slr_estimation_off.yaml b/debugConfigs/net_slr_estimation_off.yaml deleted file mode 100644 index 79f2cd081..000000000 --- a/debugConfigs/net_slr_estimation_off.yaml +++ /dev/null @@ -1,266 +0,0 @@ -# ex44 - Network SLR Example - -inputs: - - inputs_root: products/ - - # atx_files: [ igs20.atx ] # required - snx_files: [ IGS1R03SNX_20192000000_01D_01D_CRD.SNX, - slr/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/ITRF2014-ILRS-TRF-SSC.SNX, # SLR station positions + drifts - tables/igs_satellite_metadata_2203_plus.snx ] # required - erp_files: [ igs19P2062.erp ] - egm_files: [ tables/EGM2008.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ slr/ilrsa.orb.lageos1.190720.v71.sp3 ] - # bsx_files: [ IGS2R03FIN_20191990000_01D_01D_OSB.BIA ] - sid_files: [ slr/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - crd_files: [ slr/obs/lageos1/lageos1_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/OLOAD_SLR.BLQ ] # required if ocean loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - # troposphere: - # orography_files: [ orography_ell_5x5 ] - # gpt2grid_files: [ gpt_25.grd ] - # vmf_files: [ grid5/VMF3_20190718.H00, - # grid5/VMF3_20190718.H06, - # grid5/VMF3_20190718.H12, - # grid5/VMF3_20190718.H18, - # grid5/VMF3_20190719.H00 ] - - # gnss_observations: - # gnss_observations_root: data/ - -outputs: - - metadata: - config_description: slr_est_off - - outputs_root: outputs// - colourise_terminal: false - # warn_once: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: --.TRACE - network_filename: --.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - # bias_sinex: - # output: false - # code_output_interval: 900.0 - # directory: ./ - # filename: -.BIA - # output_rec_bias: false - # phase_output_interval: 900.0 - - # clocks: - # output: false - # directory: ./ - # filename: .clk - - sinex: - output: true - - erp: - output: false - - sp3: - output: false - output_interval: 1 - output_inertial: false - # output_predicted_orbits: true - output_velocities: true - orbit_sources: [KALMAN] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_components: primary - output_states: primary - output_test_stats: primary - output_trace: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - # code_sigmas: [0.3333] - # phase_sigmas: [0.0033] - laser_sigma: 0.10 - rec_reference_system: GPS - - models: - # troposphere: - # enable: true - # models: [vmf3] # gpt2 - - eop: - enable: true - -satellite_options: - - global: - models: - pos: - enable: true - sources: [PRECISE] - - # attitude: - # enable: true # (bool) Enables non-nominal attitude types - # sources: [NOMINAL] # List of sourecs to use for attitudes - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:18 - end_epoch: 2019-07-20 23:58:18 - # max_epochs: 12 # 0 is infinite # comment for full day run - epoch_interval: 60 # seconds - require_obs: true - assign_closest_epoch: true - - process_modes: - ppp: true - slr: true # Process SLR observations - preprocessor: true - spp: false - - gnss_general: - # common_sat_pco: false - # pivot_receiver: "USN7" # if not provided then will be selected automatically - - sys_options: - # gps: - # process: false - # ambiguity_resolution: false - # reject_eclipse: false - # code_priorities: [L1C, L1P, L1Y, L1W, L1M, L1N, L1S, L1L, L1X, - # L2W, L2P, L2Y, L2C, L2M, L2N, L2D, L2S, L2L, L2X, - # # L5I, L5Q, L5X - # ] - - leo: # includes Lageos1 - process: true - - # spp: - # outlier_screening: - # max_gdop: 30 - # raim: true - - ppp_filter: - # ionospheric_components: - # corr_mode: iono_free_linear_combo - # use_if_combo: false - - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - # rts: - # enable: true - # lag: -1 # -ve for full reverse, +ve for limited epochs - # directory: ./ - # filename: -Netwuseork.rts - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 - - # ambiguities: - # outage_reset_limit: 1 - # phase_reject_limit: 2 - -estimation_parameters: - - global_models: - eop: - estimated: [false] - sigma: [30] - process_noise: [0.0000036] - - eop_rates: - estimated: [false] - sigma: [10] - process_noise: [0] - - receivers: - global: - pos: - estimated: [false] - sigma: [1.0] - process_noise: [0] - - slr_range_bias: - estimated: [false] - sigma: [0.01] - process_noise: [0] - - slr_time_bias: - estimated: [false] - sigma: [0.00001] - process_noise: [0] - - satellites: - global: - orbit: - estimated: [false] - sigma: [5e-1, 5e-1, 5e-1, 5e-3, 5e-3, 5e-3] # posX/Y/Z, velX/Y/Z (final element repeated as necessary) - process_noise: [0] - - # emp_r_0: { estimated: [false], sigma: [5e-6] } - emp_t_0: { estimated: [false], sigma: [5e-6] } - # emp_n_0: { estimated: [false], sigma: [5e-6] } - - # emp_r_1: { estimated: [false], sigma: [5e-6] } - emp_t_1: { estimated: [false], sigma: [5e-6] } - emp_n_1: { estimated: [false], sigma: [5e-6] } - - # emp_r_2: { estimated: [false], sigma: [5e-6] } - # emp_t_2: { estimated: [false], sigma: [5e-6] } - # emp_n_2: { estimated: [false], sigma: [5e-6] } - - # emp_r_3: { estimated: [false], sigma: [5e-6] } - # emp_t_3: { estimated: [false], sigma: [5e-6] } - # emp_n_3: { estimated: [false], sigma: [5e-6] } - - # emp_r_4: { estimated: [false], sigma: [5e-6] } - # emp_t_4: { estimated: [false], sigma: [5e-6] } - # emp_n_4: { estimated: [false], sigma: [5e-6] } diff --git a/debugConfigs/net_slr_estimation_on.yaml b/debugConfigs/net_slr_estimation_on.yaml deleted file mode 100644 index 86372af69..000000000 --- a/debugConfigs/net_slr_estimation_on.yaml +++ /dev/null @@ -1,266 +0,0 @@ -# ex44 - Network SLR Example - -inputs: - - inputs_root: products/ - - # atx_files: [ igs20.atx ] # required - snx_files: [ IGS1R03SNX_20192000000_01D_01D_CRD.SNX, - slr/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/ITRF2014-ILRS-TRF-SSC.SNX, # SLR station positions + drifts - tables/igs_satellite_metadata_2203_plus.snx ] # required - erp_files: [ igs19P2062.erp ] - egm_files: [ tables/EGM2008.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ slr/ilrsa.orb.lageos1.190720.v71.sp3 ] - # bsx_files: [ IGS2R03FIN_20191990000_01D_01D_OSB.BIA ] - sid_files: [ slr/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - crd_files: [ slr/obs/lageos1/lageos1_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/OLOAD_SLR.BLQ ] # required if ocean loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - # troposphere: - # orography_files: [ orography_ell_5x5 ] - # gpt2grid_files: [ gpt_25.grd ] - # vmf_files: [ grid5/VMF3_20190718.H00, - # grid5/VMF3_20190718.H06, - # grid5/VMF3_20190718.H12, - # grid5/VMF3_20190718.H18, - # grid5/VMF3_20190719.H00 ] - - # gnss_observations: - # gnss_observations_root: data/ - -outputs: - - metadata: - config_description: slr_est_rec_pos_biases - - outputs_root: outputs// - colourise_terminal: false - # warn_once: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: --.TRACE - network_filename: --.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - # bias_sinex: - # output: false - # code_output_interval: 900.0 - # directory: ./ - # filename: -.BIA - # output_rec_bias: false - # phase_output_interval: 900.0 - - # clocks: - # output: false - # directory: ./ - # filename: .clk - - sinex: - output: true - - erp: - output: false - - sp3: - output: false - output_interval: 1 - output_inertial: false - # output_predicted_orbits: true - output_velocities: true - orbit_sources: [KALMAN] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_components: primary - output_states: primary - output_test_stats: primary - output_trace: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - # code_sigmas: [0.3333] - # phase_sigmas: [0.0033] - laser_sigma: 0.10 - rec_reference_system: GPS - - models: - # troposphere: - # enable: true - # models: [vmf3] # gpt2 - - eop: - enable: true - -satellite_options: - - global: - models: - pos: - enable: true - sources: [PRECISE] - - # attitude: - # enable: true # (bool) Enables non-nominal attitude types - # sources: [NOMINAL] # List of sourecs to use for attitudes - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:18 - end_epoch: 2019-07-20 23:58:18 - # max_epochs: 12 # 0 is infinite # comment for full day run - epoch_interval: 60 # seconds - require_obs: true - assign_closest_epoch: true - - process_modes: - ppp: true - slr: true # Process SLR observations - preprocessor: true - spp: false - - gnss_general: - # common_sat_pco: false - # pivot_receiver: "USN7" # if not provided then will be selected automatically - - sys_options: - # gps: - # process: false - # ambiguity_resolution: false - # reject_eclipse: false - # code_priorities: [L1C, L1P, L1Y, L1W, L1M, L1N, L1S, L1L, L1X, - # L2W, L2P, L2Y, L2C, L2M, L2N, L2D, L2S, L2L, L2X, - # # L5I, L5Q, L5X - # ] - - leo: # includes Lageos1 - process: true - - # spp: - # outlier_screening: - # max_gdop: 30 - # raim: true - - ppp_filter: - # ionospheric_components: - # corr_mode: iono_free_linear_combo - # use_if_combo: false - - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - # rts: - # enable: true - # lag: -1 # -ve for full reverse, +ve for limited epochs - # directory: ./ - # filename: -Netwuseork.rts - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 - - # ambiguities: - # outage_reset_limit: 1 - # phase_reject_limit: 2 - -estimation_parameters: - - global_models: - eop: - estimated: [false] - sigma: [30] - process_noise: [0.0000036] - - eop_rates: - estimated: [false] - sigma: [10] - process_noise: [0] - - receivers: - global: - pos: - estimated: [true] - sigma: [1.0] - process_noise: [0] - - slr_range_bias: - estimated: [true] - sigma: [0.01] - process_noise: [0] - - slr_time_bias: - estimated: [true] - sigma: [1e4] - process_noise: [0] - - satellites: - global: - orbit: - estimated: [false] - sigma: [5e-1, 5e-1, 5e-1, 5e-3, 5e-3, 5e-3] # posX/Y/Z, velX/Y/Z (final element repeated as necessary) - process_noise: [0] - - # emp_r_0: { estimated: [false], sigma: [5e-6] } - emp_t_0: { estimated: [false], sigma: [5e-6] } - # emp_n_0: { estimated: [false], sigma: [5e-6] } - - # emp_r_1: { estimated: [false], sigma: [5e-6] } - emp_t_1: { estimated: [false], sigma: [5e-6] } - emp_n_1: { estimated: [false], sigma: [5e-6] } - - # emp_r_2: { estimated: [false], sigma: [5e-6] } - # emp_t_2: { estimated: [false], sigma: [5e-6] } - # emp_n_2: { estimated: [false], sigma: [5e-6] } - - # emp_r_3: { estimated: [false], sigma: [5e-6] } - # emp_t_3: { estimated: [false], sigma: [5e-6] } - # emp_n_3: { estimated: [false], sigma: [5e-6] } - - # emp_r_4: { estimated: [false], sigma: [5e-6] } - # emp_t_4: { estimated: [false], sigma: [5e-6] } - # emp_n_4: { estimated: [false], sigma: [5e-6] } diff --git a/debugConfigs/pea b/debugConfigs/pea deleted file mode 120000 index 64c880319..000000000 --- a/debugConfigs/pea +++ /dev/null @@ -1 +0,0 @@ -../bin/pea \ No newline at end of file diff --git a/debugConfigs/pea1.yaml b/debugConfigs/pea1.yaml deleted file mode 100644 index 7cb05e0e8..000000000 --- a/debugConfigs/pea1.yaml +++ /dev/null @@ -1,1053 +0,0 @@ - -outputs: - metadata: - config_description: "PEA1" - - root_directory: outputs// - - trace: - level: 3 - output_stations: true - output_network: true - network_filename: -Network.trace - station_filename: -.trace - #output_residuals: true - #output_residual_chain: true - output_config: false - - bias_sinex: - #output: true - - clocks: - #output: true - - sinex: - output: true - - erp: - #output: true - - log: - #output: true - - trop_sinex: - #output: true - sp3: - #output: true - #directory: ./ - #filename: GAA0GINRAP_00_01D_05M_ORB.SP3 - #output_inertial: false # (bool) Output the entries using inertial positions and velocities - #output_interval: 300 # (int) Update interval for sp3 records - #output_velocities: false - #orbit_sources: [ KALMAN ] - #clock_sources: [ KALMAN ] - - streams: - #root_url: "${OUTPUT_STREAMS__STREAM_ROOT}" - #labels: - #- GAA1 - #GAA1: - #url: "${OUTPUT_STREAMS__MOUNTPOINT_PREFIX}$${OUTPUT_STREAM_NUMBER}" - #messages: - #rtcm_1060: {udi: 10} - #rtcm_1059: {udi: 10} - -mongo: - #enable: true - uri: mongodb://127.0.0.1:27017 - database: - #output_rtcm_messages: true - #output_components: true - output_states: true - #output_measurements: true - #output_test_stats: true - output_trace: true - delete_history: true - suffix: "" - predict_states: false - -remote_mongo: - enable: true - uri: mongodb://127.0.0.1:27017 - database: "MULTI-GINAN" - predict_states: true - prediction_interval: 2 - prediction_offset: 20 - interval_units: seconds - forward_prediction_duration: 20 - duration_units: seconds - delete_history: true - cull_history: true - - - - -estimation_parameters: - - eop: - estimated: - - true - sigma: - - 30 - eop_rates: - estimated: - - true - sigma: - - 30 - satellites: - global: - clk: - estimated: - - true - proc_noise: - - 1 - sigma: - - 1000 - clk_rate: - estimated: - - false - proc_noise: - - 1e-06 - sigma: - - 0.005 - code_bias: - estimated: - - true - proc_noise: - - 0 - sigma: - - 10 - orbit: - estimated: - - true - proc_noise: - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - sigma: - - 0.5 - - 0.5 - - 0.5 - - 0.001 - emp_dyb_0: - estimated: - - true - - true - - true - proc_noise: - - 0 - sigma: - - 30 - - 1 - - 1 - emp_dyb_1c: - estimated: - - true - - false - - true - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_1s: - estimated: - - true - - false - - true - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_2c: - estimated: - - true - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_2s: - estimated: - - true - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_3c: - apriori_val: - - 0.0 - estimated: - - false - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_3s: - estimated: - - false - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_4c: - estimated: - - true - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - emp_dyb_4s: - estimated: - - true - - false - - false - proc_noise: - - 0 - sigma: - - 1 - - 1 - - 1 - GPS: - L1W: - code_bias: - apriori_val: - - 0 - estimated: - - true - sigma: - - 1e-08 - L2W: - code_bias: - apriori_val: - - 0 - estimated: - - true - sigma: - - 1e-08 - stations: - global: - amb: - estimated: - - true - proc_noise: - - 0 - sigma: - - 5000 - clk: - estimated: - - true - proc_noise: - - 100.0 - sigma: - - 1000 - clk_rate: - estimated: - - false - proc_noise: - - 0.0001 - sigma: - - 0.005 - code_bias: - estimated: - - true - proc_noise: - - 0 - sigma: - - 10 - code_sigmas: - - 0.5 - error_model: elevation_dependent - ion_stec: - estimated: - - true - proc_noise: - - 1.0 - sigma: - - 1000 - phase_sigmas: - - 0.005 - pos: - estimated: - - true - proc_noise: - - 0 - sigma: - - 2.0 - trop: - estimated: - - true - proc_noise: - - 8.3333e-05 - sigma: - - 0.3 - trop_grads: - estimated: - - true - proc_noise: - - 3.6e-06 - sigma: - - 0.01 - #PIVOT: - UNSA: - clk: - estimated: - - false - code_bias: - estimated: - - false -inputs: - root_directory: products/ - atx_files: [ igs20.atx,M20.ATX ] - otl_blq_files: [ OLOAD_GO.BLQ ] - atl_blq_files: [ ALOAD_GO.BLQ ] - opole_files: [ tables/opoleloadcoefcmcor.txt ] - erp_files: - - igu.erp - - IGS0OPSULT_20232420000_02D_01D_ERP.ERP - - IGS0OPSULT_20232400000_02D_01D_ERP.ERP - - IGS0OPSULT_20232410000_02D_01D_ERP.ERP - egm_files: [ tables/EGM2008.gfc ] - egm_files: - - goco05s.gfc - jpl_files: [ tables/DE436.1950.2050 ] - tide_files: [ tables/fes2014b_Cnm-Snm.dat ] - igrf_files: [ tables/igrf13coeffs.txt ] - #erp_files: [ tables/finals.data.iau2000.txt ] - snx_files: - - IGS1R03SNX_20191950000_07D_07D_CRD.SNX - - IGS0OPSSNX_20230220000_07D_07D_CRD.SNX - #- meta.snx - - tables/igs_satellite_metadata_2203_plus.snx - - satellite_data: - inputs_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - - BCEP00BKG0 - - gnss_observations: - inputs_root: ../data/ - rnx_inputs: - #- MCM400ATA_R_20232420000_01D_30S_MO.rnx - - "*.rnx" - #inputs_root: "https://:@ntrip.data.gnss.ga.gov.au/" - #rtcm_inputs: - #- ALIC00AUS0 - #- ANDA00AUS0 - #- ARMC00AUS0 - #- ARUB00AUS0 - #- BALA00AUS0 - #- BBOO00AUS0 - #- BDLE00AUS0 - #- BDVL00AUS0 - #- BEEC00AUS0 - #- BMAN00AUS0 - #- BNDY00AUS0 - #- BRLA00AUS0 - #- BRO100AUS0 - #- BROC00AUS0 - #- BULA00AUS0 - #- BUR200AUS0 - #- BURA00AUS0 - #- CAS100ATA0 - #- CBLA00AUS0 - #- CCPL00AUS0 - #- CEDU00AUS0 - #- CNVN00AUS0 - #- CTWR00AUS0 - #- COCO00AUS0 - #- COEN00AUS0 - #- COOB00AUS0 - #- COOL00AUS0 - #- DARH00AUS0 - #- DARW00AUS0 - #- DAV100ATA0 - #- DGEE00AUS0 - #- DERB00AUS0 - #- DIRA00AUS0 - #- DODA00AUS0 - #- EDS100AUS0 - #- EDSV00AUS0 - #- ERMG00AUS0 - #- ESPA00AUS0 - #- EXMT00AUS0 - #- FLND00AUS0 - #- FROY00AUS0 - ##- GDAM00AUS0 - #- GGT100AUS0 - #- GGTN00AUS0 - #- GROT00AUS0 - #- HNIS00AUS0 - #- HOB200AUS0 - #- HUGH00AUS0 - #- HYDN00AUS0 - #- IGWD00AUS0 - #- ILKA00AUS0 - #- IMKA00AUS0 - #- JAB200AUS0 - #- JERV00AUS0 - #- JLCK00AUS0 - #- KALG00AUS0 - #- KARR00AUS0 - #- KAT100AUS0 - #- KAT200AUS0 - #- KELN00AUS0 - #- KGIS00AUS0 - #- KILK00AUS0 - #- KMAN00AUS0 - #- KNDH00AUS0 - #- KOWN00AUS0 - #- KUNU00AUS0 - #- LAMB00AUS0 - #- LARR00AUS0 - #- LAVE00AUS0 - #- LIAW00AUS0 - #- LONA00AUS0 - #- LORD00AUS0 - #- LURA00AUS0 - #- MAC100AUS0 - #- MAIN00AUS0 - #- MAW100ATA0 - #- MCHL00AUS0 - #- MEDO00AUS0 - #- MILD00AUS0 - - troposphere: - gpt2grid_files: gpt_25.grd - - - gnss_observations: - inputs_root: ../data/ - jpl_files: - - DE436.1950.2050 - root_directory: products/ - satellite_data: - #bsx_files: - #- code_monthly.bia - #inputs_root: ./products - nav_files: - - brdc2420.23n - - brdc2400.23n - - brdc2410.23n - sp3_files: - - IGS0OPSULT_20232410000_02D_15M_ORB.SP3 - snx_files: - - igs_satellite_metadata.snx - - meta.snx - - IGS0OPSSNX_20232250000_07D_07D_CRD.SNX - tide_files: - - fes2004_Cnm-Snm.dat - troposphere: - gpt2grid_files: gpt_25.grd -processing_options: -<<<<<<< HEAD -======= - - epoch_control: - require_obs: false - epoch_interval: 2 - #wait_next_epoch: 3600 # Wait up to an hour for next data point - When processing RINEX causes PEA to wait a long as need for last epoch to be processed. - wait_all_stations: 1 - #fatal_message_level: 1 - - process_modes: - ppp: true - - gnss_general: - rec_reference_system: gps - sys_options: - gps: - process: true - reject_eclipse: false - code_priorities: - - L1C - #- L1W - - L2W - #- L5Q - #- L5X - ambiguity_resolution: false - zero_receiver_dcb: true - gal: - #process: true - reject_eclipse: false - code_priorities: - - L1C - #- L1W - #- L2W - - L5Q - #- L5X - - elevation_mask: 10 - raim: true - pivot_station: "ALIC" - interpolate_rec_pco: false - auto_fill_pco: true - max_gdop: 30 - ->>>>>>> assumeLinear - gnss_models: - troposphere: - model: gpt2 - ionospheric_component: - enable: true - use_if_combo: true - - model_error_checking: - deweighting: - deweight_factor: 10000 - reject_on_state_error: true - ambiguities: - outage_reset_limit: 5 - phase_reject_limit: 2 - reinit_on_all_slips: true # (bool) Any detected slips cause removal and reinitialisation of ambiguities - clocks: - reinit_on_clock_error: true # (bool) Any clock "state" errors cause removal and reinitialisation of the clocks and all associated ambiguities - - cycle_slips: - slip_threshold: 0.05 - preprocessor_options: - preprocess_all_data: false - - filter_options: - outlier_screening: - max_filter_iterations: 20 - max_prefit_removals: 3 - rts: - enable: false - #assume_linearity: true - - minimum_constraints: - enable: true - once_per_epoch: false # (bool) Perform minimum constraints on a temporary filter and output results once per epoch - translation: - estimated: [true] - rotation: - estimated: [true] - scale: - estimated: [false] - inverter: LDLT - max_filter_iterations: 20 - max_prefit_removals: 3 # (int) Maximum number of measurements to exclude using prefit checks before attempting to filter - outlier_screening: - chi_square_mode: none # (enum) Chi-square test mode - innovation, measurement, state {NONE,INNOVATION,MEASUREMENT,STATE} - chi_square_test: false # (bool) Enable Chi-square test - sigma_check: true # (bool) Enable prefit and postfit sigma check - sigma_threshold: 3.000000 # (float) sigma threshold - w_test: false # (bool) Enable w-test - station_noise: - global: [0.005, 0.005, 0.01] - - epoch_control: - epoch_interval: 300 - filter_options: - inverter: LLT - outlier_screening: - max_filter_iterations: 50 - max_prefit_removals: 5 - gnss_general: - rec_reference_system: GPS - elevation_mask: 15 - error_model: elevation_dependent - max_gdop: 30 - #pivot_station: - raim: true - sys_options: - gps: - ambiguity_resolution: false - code_priorities: - - L1W - - L1C - - L2W - process: true - reject_eclipse: false - zero_receiver_dcb: true - gnss_models: - ionospheric_component: - enable: true - common_ionosphere: true # Code and Phase measurment share the same ionosphere - use_if_combo: false - corr_mode: IONO_FREE_LINEAR_COMBO - orbits: - enable: true - eop: - enable: true - minimum_constraints: - once_per_epoch: false - enable: true - rotation: - estimated: - - true - scale: - estimated: - - true - station_noise: - ABMF: - - 0.01 - ALBH: - - 0.01 - ALIC: - - 0.01 - AREQ: - - 0.01 - CAS1: - - 0.01 - CHPI: - - 0.01 - CHUR: - - 0.01 - CUSV: - - 0.01 - DAEJ: - - 0.01 - DARW: - - 0.01 - DAV1: - - 0.01 - DGAR: - - 0.01 - FAIR: - - 0.01 - FALK: - - 0.01 - FLIN: - - 0.01 - GLPS: - - 0.01 - HOB2: - - 0.01 - IISC: - - 0.01 - KIRI: - - 0.01 - KIT3: - - 0.01 - KOKV: - - 0.01 - LAUT: - - 0.01 - LPGS: - - 0.01 - MAC1: - - 0.01 - MATE: - - 0.01 - MAW1: - - 0.01 - MBAR: - - 0.01 - MCM4: - - 0.01 - MOBS: - - 0.01 - PIE1: - - 0.01 - POL2: - - 0.01 - QAQ1: - - 0.01 - RIO2: - - 0.01 - SANT: - - 0.01 - SCH2: - - 0.01 - SCOR: - - 0.01 - STHL: - - 0.01 - STJO: - - 0.01 - SUTM: - - 0.01 - THU2: - - 0.01 - TID1: - - 0.01 - TOW2: - - 0.01 - UNSA: - - 0.01 - VACS: - - 0.01 - WHIT: - - 0.01 - XMIS: - - 0.01 - YAR2: - - 0.01 - YELL: - - 0.01 - translation: - estimated: - - true - model_error_checking: - ambiguities: - outage_reset_limit: 10 - phase_reject_limit: 2 - reinit_on_all_slips: true - cycle_slips: - slip_threshold: 0.05 - clocks: - reinit_on_clock_error: false - deweighting: - deweight_factor: 10000 - reject_on_state_error: true - orbit_propagation: -<<<<<<< HEAD - albedo: true - antenna_thrust: true - central_force: true - degree_max: 15 - egm_field: true - empirical: true - empirical_dyb_eclipse: [true] - general_relativity: true - indirect_J2: true - integrator_time_step: 60 - itrf_pseudoobs: true - #ocean_tide: true #quite slow - planetary_perturbation: true - pole_tide_ocean: true - pole_tide_solid: true - sat_area: 15 - sat_mass: 1000 - solar_radiation_pressure: true - solid_earth_tide: true - srp_cr: 1.75 - process_modes: - ppp: true - preprocessor: true - spp: true -======= - central_force: true - planetary_perturbation: true - indirect_J2: true - egm_field: true - solid_earth_tide: true - #ocean_tide: true #quite slow - general_relativity: true - pole_tide_ocean: true - pole_tide_solid: true - solar_radiation_pressure: true - antenna_thrust: true - empirical: true #true/false => false/ecom/srf - albedo: true - integrator_time_step: 60 - sat_mass: 1000 - sat_area: 15 - srp_cr: 1.75 - degree_max: 15 - - itrf_pseudoobs: true - ->>>>>>> assumeLinear - -satellite_options: - E05: { exclude: true } - E06: { exclude: true } - E10: { exclude: true } - E16: { exclude: true } - E17: { exclude: true } - E23: { exclude: true } - E28: { exclude: true } - E29: { exclude: true } - E32: { exclude: true } - E34: { exclude: true } - E35: { exclude: true } - G04: { exclude: true } - G01: - exclude: true - G28: - exclude: true - - global: - clock: - sources: [KALMAN, PRECISE, BROADCAST] - enable: true - pos: - sources: [KALMAN, PRECISE, BROADCAST] - attitude: - enable: true - sources: [PRECISE, MODEL, NOMINAL] - pco: - enable: true - pcv: - enable: true - code_bias: - default_bias: 0 - enable: true - undefined_sigma: 0 - phase_bias: - default_bias: 0 - enable: false - undefined_sigma: 0 - - -station_options: - global: - ant_delta: - enable: true - attitude: - enable: true - sources: [PRECISE, MODEL, NOMINAL] - clock: - enable: true - pco: - enable: true - pcv: - enable: true - code_bias: - default_bias: 0 - enable: true - undefined_sigma: 0 - phase_bias: - default_bias: 0 - enable: false - undefined_sigma: 0 - pos: - enable: true - -<<<<<<< HEAD -station_options: - global: - ant_delta: - enable: true - attitude: - enable: true - sources: - - PRECISE - - MODEL - - NOMINAL - clock: - enable: true - pco: - enable: true - pcv: - enable: true - code_bias: - default_bias: 0 - enable: true - undefined_sigma: 0 - phase_bias: - default_bias: 0 - enable: false - undefined_sigma: 0 - pos: - enable: true -======= -estimation_parameters: - - stations: - error_model: elevation_dependent - code_sigmas: [0.4] - phase_sigmas: [0.002] - global: - pos: - estimated: [true] - sigma: [1] - proc_noise: [0.001] - proc_noise_dt: day - clk: - estimated: [true] - sigma: [1000] - proc_noise: [10] - amb: - estimated: [true] - sigma: [100] - trop: - estimated: [true] - sigma: [0.3] - proc_noise: [0.0001] - trop_grads: - estimated: [true] - sigma: [0.03] - proc_noise: [1.0E-6] - ion_stec: - estimated: [true] - sigma: [100] - proc_noise: [0.2] - code_bias: - estimated: [true] - sigma: [20] - PIVOT: - clk: - estimated: [false] - code_bias: - estimated: [false] - satellites: - pseudo_sigmas: [1e6] - global: - clk: - estimated: [true] - sigma: [1000] - proc_noise: [10] - code_bias: - estimated: [true] - sigma: [10] - proc_noise: [0] - orbit: - estimated: [true] - sigma: [0.5, 0.5, 0.5, 0.001] - proc_noise: [0] - emp_dyb_0: - estimated: [true, true, true] - sigma: [1e-8, 1e-9, 1e-9] - apriori_val: [0] - proc_noise: [0] - #emp_dyb_1c: - #estimated: [true, false, true] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_1s: - #estimated: [true, false, true] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_2c: - #estimated: [true, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_2s: - #estimated: [true, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_3c: - #estimated: [false, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_3s: - #estimated: [false, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_4c: - #estimated: [true, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - #emp_dyb_4s: - #estimated: [true, false, false] - #sigma: [1e-9, 1e-9, 1e-9] - #apriori_val: [0.0] - #proc_noise: [0] - GPS-IIA: - emp_dyb_0: - apriori_val: [+3.6476e-08, -8.6715e-10, -1.1070e-09] - emp_dyb_1c: - apriori_val: [2.3015e-09, 0.0, 4.9846e-10] - emp_dyb_1s: - apriori_val: [8.2564e-11, 0.0, 1.4100e-09] - emp_dyb_2c: - apriori_val: [2.6432e-10, 0.0, 0.0] - emp_dyb_2s: - apriori_val: [-1.4925e-09, 0.0, 0.0] - emp_dyb_4c: - apriori_val: [1.5456e-09, 0.0, 0.0] - emp_dyb_4s: - apriori_val: [3.8351e-10, 0.0, 0.0] - GPS-IIR-A: - emp_dyb_0: - apriori_val: [+8.53e-09, 8.97e-10, 1.5e-09] - emp_dyb_1c: - apriori_val: [-1.75e-09, 0, 8.02e-10] - emp_dyb_1s: - apriori_val: [-6.16e-11, 0, 1.42e-10] - emp_dyb_2c: - apriori_val: [-1.50e-09, 0, 0] - emp_dyb_2s: - apriori_val: [+2.20e-10, 0, 0] - emp_dyb_4c: - apriori_val: [+1.86e-09, 0, 0] - emp_dyb_4s: - apriori_val: [-5.52e-11, 0, 0] - GPS-IIR-B: - emp_dyb_0: - apriori_val: [+7.97e-09, -8.94e-11, 2.25e-09] - emp_dyb_1c: - apriori_val: [-2.97e-09, 0, -8.82e-10] - emp_dyb_1s: - apriori_val: [+1.47e-11, 0, +4.28e-11] - emp_dyb_2c: - apriori_val: [-8.06e-10, 0, 0] - emp_dyb_2s: - apriori_val: [+7.33e-10, 0, 0] - emp_dyb_4c: - apriori_val: [+2.50e-09, 0, 0] - emp_dyb_4s: - apriori_val: [+4.37e-10, 0, 0] - GPS-IIR-M: - emp_dyb_0: - apriori_val: [+1.15e-08, 6.01e-10, 1.82e-09] - emp_dyb_1c: - apriori_val: [-1.75e-09, 0, 1.33e-09] - emp_dyb_1s: - apriori_val: [+5.01e-11, 0, 4.60e-10] - emp_dyb_2c: - apriori_val: [-1.95e-09, 0, 0] - emp_dyb_2s: - apriori_val: [-6.13e-10, 0, 0] - emp_dyb_4c: - apriori_val: [+1.69e-09, 0, 0] - emp_dyb_4s: - apriori_val: [-9.45e-10, 0, 0] - GPS-IIF: - emp_dyb_0: - apriori_val: [-3.44e-08, -4.32e-11, 3.07e-10] - emp_dyb_1c: - apriori_val: [+5.13e-10, 0, 6.85e-10] - emp_dyb_1s: - apriori_val: [-4.86e-13, 0, 2.51e-10] - emp_dyb_2c: - apriori_val: [-9.48e-10, 0, 0] - emp_dyb_2s: - apriori_val: [+3.29e-10, 0, 0] - emp_dyb_4c: - apriori_val: [+5.11e-10, 0, 0] - emp_dyb_4s: - apriori_val: [+3.95e-10, 0, 0] - GPS: - L1W: - code_bias: - sigma: [1e-8] # this implements B(s,GPS-L1W)=0 - process_noise: [0] - apriori_value: [0] - L2W: - code_bias: - sigma: [1e-8] # this implements B(s,GPS-L2W)=0 - process_noise: [0] - apriori_value: [0] - eop: - #estimated: [true] - sigma: [10] ->>>>>>> assumeLinear - - diff --git a/debugConfigs/pod_rt_example1.yaml b/debugConfigs/pod_rt_example1.yaml deleted file mode 100644 index 461457fc4..000000000 --- a/debugConfigs/pod_rt_example1.yaml +++ /dev/null @@ -1,444 +0,0 @@ -inputs: - - include_yamls: [ products/boxwing.yaml ] # required if using boxwing model - - inputs_root: ./products/ - - atx_files: [ igs20.atx ] # required - egm_files: [ tables/EGM2008.gfc ] # Earth gravity model coefficients file - igrf_files: [ tables/igrf13coeffs.txt ] - # erp_files: [ /latestProducts/finals.data.iau2000.txt ] - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] - - pseudo_observations: - # filter_files: [/pseudo.filter] - - troposphere: - gpt2grid_files: [ tables/gpt_25.grd ] - - tides: - ocean_tide_loading_blq_files: [ /latestProducts/tables/OLOAD_GO.BLQ ] # required if ocean loading is applied - atmos_tide_loading_blq_files: [ /latestProducts/tables/ALOAD_GO.BLQ ] # required if atmospheric tide loading is applied - ocean_pole_tide_loading_files: [ tables/opoleloadcoefcmcor.txt ] # required if ocean pole tide loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - snx_files: - # - "*.SNX" # use a wild card to include all files matching the description in the directory - # - igs20.ssc - - "/latestProducts/*.SNX" - - "/latestProducts/*.snx" - - tables/sat_yaw_bias_rate.snx - - tables/qzss_yaw_modes.snx - - tables/bds_yaw_modes.snx - - satellite_data: - #satellite_data_root: "" - rtcm_inputs: # This section specifies how State State Representation (SSR) corrections are applied after they are downloaded from an NTRIP caster - #rtcm_inputs_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs_root: "https://:@ntrip.data.gnss.ga.gov.au/" # Root path to be added to all other rtcm inputs (unless they are absolute) - rtcm_inputs: - - "BCEP00BKG0" - gnss_observations: - #gnss_observations_root: "https://:@ntrip.data.gnss.ga.gov.au/" - gnss_observations_root: "https://:@ntrip.data.gnss.ga.gov.au/" # Root path to be added to all other gnss data inputs (unless they are absolute) - rtcm_inputs: - - "ALIC00AUS0" - - "LAUT00FJI0" - - "PTGG00PHL0" - - "CHTI00NZL0" - - "MAYG00MYT0" - - "COCO00AUS0" - - "KRGG00ATF0" - - "KIRI00KIR0" - - "MAC100AUS0" - - "CAS100ATA0" - - "DGAR00GBR0" - - "ASCG00SHN0" - - "IISC00IND0" - - "FAIR00USA0" - # - "ULAB00MNG0" - #- "WHU200CHN0" - #- "JFNG00CHN0" - #- "CHBN00MNG0" - - "MIZU00JPN0" - - "CKIS00COK0" - - "RGDG00ARG0" - - "SCTB00ATA0" - - "MAW100ATA0" - - "YAR200AUS0" - - "TOW200AUS0" - - "DARW00AUS0" - # - "KARR00AUS0" - - "REUN00REU0" - - "CZTG00ATF0" - - "MAL200KEN0" - - "DJIG00DJI0" - # - "KZN200RUS0" - - "UTQI00USA0" - # - "DUBO00CAN0" - - "YELL00CAN0" - - "PDEL00PRT0" - - "STHL00GBR0" - - "STR100AUS0" - - "STR200AUS0" - - "NKLG00GAB0" - - "SAVO00BRA0" - - "GAMB00PYF0" - - "GLPS00ECU0" - - "SGOC00LKA0" - - "POAL00BRA0" - - "FALK00FLK0" -# Rb Atomic Clocks - - "TASH00UZB0" - - "AREG00PER0" -# Cs Atomic Clocks - - "HARB00ZAF0" - - "MAS100ESP0" - - "KIRU00SWE0" - - "KOUG00GUF0" -# HM Atomic Clocks - - "BREW00USA0" - - "KOUR00GUF0" - - "MGUE00ARG0" - - "PIE100USA0" - - "MKEA00USA0" - - "STJO00CAN0" - - "TID100AUS0" - - "MSSA00JPN0" - - "ONS100SWE0" - -outputs: - - outputs_root: outputs/ - - metadata: - config_description: dual_slow - time_system: G # (string) Time system - e.g. "G", "UTC" - - trace: - level: 5 - output_receivers: true - output_network: true - receiver_filename: _.TRACE - network_filename: _.TRACE - output_residuals: true - output_residual_chain: true - output_predicted_states: true - output_config: true - - streams: - labels: - - GAA1 - GAA1: - url: https://ginan-isg-testing:p4_bL8-ctt7tn4ddZ@ntrip.test-data.gnss.ga.gov.au/SSRA00ISG8 - messages: - rtcm_1060: {udi: 10} - rtcm_1059: {udi: 10} - -satellite_options: - - global: - - #clock_codes: [AUTO, AUTO] - - models: - clock: - enable: true - sources: [KALMAN, PRECISE, BROADCAST] - pos: - enable: true - sources: [KALMAN, PRECISE, BROADCAST] - attitude: - enable: true - sources: [MODEL, PRECISE, NOMINAL] - pco: - enable: true - pcv: - enable: true - code_bias: - enable: true - phase_bias: - enable: false - - orbit_propagation: - albedo: cannonball - antenna_thrust: true - empirical: true - empirical_dyb_eclipse: [true,false,false] - planetary_perturbations: [moon,sun,mercury,venus,mars,jupiter,saturn,uranus,neptune,pluto] - pseudo_pulses: - enable: false - solar_radiation_pressure: boxwing - mass: 1000 - area: 15 - srp_cr: 1.75 - power: 20 - - GPS: - clock_codes: [ L1W,L2W ] - - #G04: - # exclude: true - - E05: { exclude: true } - E06: { exclude: true } - E10: { exclude: true } - E16: { exclude: true } - E17: { exclude: true } - E23: { exclude: true } - E28: { exclude: true } - E29: { exclude: true } - E32: { exclude: true } - E34: { exclude: true } - E35: { exclude: true } - - -receiver_options: # Options to configure individual stations or global configs - - STJO: - aliases: [PIVOT] - - global: - - error_model: elevation_dependent # uniform, elevation_dependent - elevation_mask: 10 - code_sigma: 0.4 - phase_sigma: 0.002 # F0, F1, F2, F5, F6, F7, F8 - clock_codes: [AUTO, AUTO] - zero_dcb_codes: [NONE,NONE] - rec_reference_system: gps - models: - eccentricity: - enable: true # (bool) Enable modelling of antenna eccentricities - attitude: - enable: true # (bool) Enables non-nominal attitude types - sources: [MODEL, NOMINAL] # List of sourecs to use for attitudes - clock: - enable: true # (bool) Enable modelling of clocks - pco: - enable: true # (bool) Enable modelling of phase center offsets - pcv: - enable: true # (bool) Enable modelling of phase center variations - code_bias: - enable: true # (bool) Enable modelling of code biases - phase_bias: - enable: false # (bool) Enable modelling of phase biases - pos: - enable: true # (bool) Enable modelling of position - ionospheric_components: # Ionospheric models produce frequency-dependent effects - enable: true # Enable ionospheric modelling - # use_2nd_order: true - # use_3rd_order: true - troposphere: - enable: true - models: [gpt2] - eop: - enable: true - - #mincon_scale_apriori_sigma: 0 # Use ALL fixed and/or SINEX file sigma's (!! first preference to the fixed sigma's !!) - apriori_sigma_enu: [0.003, 0.003, 0.009] # Use these fixed igma'sfor sites listed below - mincon_scale_apriori_sigma: 1 # Use ALL fixed and/or SINEX file sigma's (!! first preference to the fixed sigma's !!) - mincon_scale_filter_sigma: 0 - -processing_options: - - process_modes: - preprocessor: true - spp: true - ppp: true - ionosphere: false - - epoch_control: - epoch_interval: 20 - max_rec_latency: 5 - - gnss_general: - minimise_sat_clock_offsets: true - # minimise_sat_orbit_offsets: true - minimise_ionosphere_offsets: true - adjust_rec_clocks_by_spp: true - sys_options: - gps: - process: true - ambiguity_resolution: false - reject_eclipse: false - code_priorities: [ L1C, L2W ] - spp: - always_reinitialise: false - max_lsq_iterations: 12 - outlier_screening: - max_gdop: 30 - postfit: - sigma_check: true - - ppp_filter: - advanced_postfits: true - ionospheric_components: - common_ionosphere: true - # use_if_combo: true - outlier_screening: - prefit: - max_iterations: 2 - sigma_check: true - state_sigma_threshold: 5 - meas_sigma_threshold: 5 - omega_test: false - postfit: - max_iterations: 10 - sigma_check: true - state_sigma_threshold: 3 - meas_sigma_threshold: 3 - - model_error_handling: - meas_deweighting: - deweight_factor: 10000 - state_deweighting: - deweight_factor: 10000 - ambiguities: - outage_reset_limit: 300 - phase_reject_limit: 2 - reset_on: - gf: true - lli: true - mw: true - scdia: true - exclusions: - gf: true - lli: true - mw: true - scdia: true - eclipse: false - ionospheric_components: - outage_reset_limit: 300 - orbit_errors: - enable: false - pos_process_noise: 10 - vel_process_noise: 1 - vel_process_noise_trail: 0 - vel_process_noise_trail_tau: 0 - - orbit_propagation: - integrator_time_step: 30 # Timestep for the integrator, must be smaller than the processing time step, might be adjusted if the processing time step isn't a integer number of time steps - central_force: true - egm_field: true # Acceleration due to the high degree model of the Earth gravity model (exclude degree 0, made by central_force) - egm_degree: 15 # J2 acceleration perturbation due to the Sun and Moon - solid_earth_tide: true # Model accelerations due to solid earth tides - ocean_tide: true # Model accelerations due to ocean tides model - pole_tide_solid: true # Model accelerations due to solid pole tide (degree 2 only) - pole_tide_ocean: true - general_relativity: true - indirect_J2: true - - predictions: - offset: 20 - interval: 5 - forward_duration: 20 - -estimation_parameters: - - global_models: - eop: - estimated: [true] - sigma: [10,10,1e-9] - eop_rates: - estimated: [true] - sigma: [10] - - receivers: - - PIVOT: - #clock: - # estimated: [true] - # process_noise: [0] - # sigma: [1e-9] - code_bias: - estimated: [false] - - global: - pos: - estimated: [true] - sigma: [1] - process_noise: [0.0] - # process_noise_dt: second - clock: - estimated: [true] - sigma: [10] - process_noise: [10] # [100] - ambiguities: - estimated: [true] - sigma: [1000] - process_noise: [0] - # process_noise_dt: day - trop: - estimated: [true] - sigma: [0.3] - process_noise: [0.0001] - # process_noise_dt: second - trop_grads: - estimated: [true] - sigma: [0.03] - process_noise: [1.0E-6] - # process_noise_dt: second - ion_stec: - estimated: [true] - sigma: [500] - process_noise: [10] - # tau: [3600] - code_bias: - estimated: [true] - sigma: [20] - process_noise: [0] - # USN7: - # clk: - # estimated: [false] # Set reference (pivot) station clock - # code_bias: - # estimated: [false] - - satellites: - global: - clock: - estimated: [true] - sigma: [1000] - process_noise: [1] - tau: [30] - #mu: [10000] - code_bias: - estimated: [true] - sigma: [10] - process_noise: [0] - orbit: # Orbital state - estimated: [true] # [bools] Estimate state in kalman filter - sigma: [1, 1, 1, 0.01] # [floats] Apriori sigma values - if zero, will be initialised using least squares - process_noise: [0] - tau: [1000] - - emp_d_0: { estimated: [true], sigma: [10]} - emp_y_0: { estimated: [true], sigma: [1]} - emp_b_0: { estimated: [true], sigma: [1]} - - emp_b_1: { estimated: [true], sigma: [1]} - - emp_d_2: { estimated: [true], sigma: [1]} - - -mongo: - enable: both - #enable: none - output_components: primary - output_states: primary - output_measurements: primary - output_cumulative: primary - output_test_stats: none - delete_history: both - - - output_predictions: secondary - # sent_predictions: [all] - secondary_database: XFER - - -debug: - check_broadcast_differences: true - #output_mincon: true - #mincon_filename: preMinconState.bin - #mincon_only: true diff --git a/debugConfigs/pod_rt_example2.yaml b/debugConfigs/pod_rt_example2.yaml deleted file mode 100644 index 8464509e7..000000000 --- a/debugConfigs/pod_rt_example2.yaml +++ /dev/null @@ -1,76 +0,0 @@ -inputs: - - include_yamls: [ pod_rt_example1.yaml ] # required if using boxwing model - -outputs: - metadata: - config_description: dual_fast - -satellite_options: - - global: - - models: - clock: - sources: [KALMAN, REMOTE] - pos: - sources: [REMOTE] - -receiver_options: - - global: - # exclude: true - models: - pos: - sources: [REMOTE] - # run both with same epoch interval so they have the same epochs and just look for differencess - - GLPS: - # exclude: false -processing_options: - gnss_general: - adjust_rec_clocks_by_spp: false - - epoch_control: - # epoch_interval: 2 - max_rec_latency: 6 - - minimum_constraints: - enable: false - -estimation_parameters: - - receivers: - global: - pos: - estimated: [false] - code_bias: - estimated: [false] - clock: - use_remote_sigma: [true] - # sigma: [100] - process_noise: [-1] # [100] - ambiguities: - use_remote_sigma: [true] - trop: - use_remote_sigma: [true] - trop_grads: - use_remote_sigma: [true] - ion_stec: - use_remote_sigma: [true] - satellites: - global: - code_bias: - estimated: [false] - orbit: - estimated: [false] - clock: - use_remote_sigma: [true] - -mongo: - - output_predictions: none - use_predictions: secondary - used_predictions: [all] - delete_history: primary - diff --git a/debugConfigs/products b/debugConfigs/products deleted file mode 120000 index 5450abd31..000000000 --- a/debugConfigs/products +++ /dev/null @@ -1 +0,0 @@ -../inputData/products \ No newline at end of file diff --git a/debugConfigs/record_ssr_stream.yaml b/debugConfigs/record_ssr_stream.yaml deleted file mode 100644 index 40982949a..000000000 --- a/debugConfigs/record_ssr_stream.yaml +++ /dev/null @@ -1,107 +0,0 @@ -# Record and decode SSR stream - -inputs: - - inputs_root: ./products/latest/ - - atx_files: - - igs20.atx - - snx_files: - - igs_satellite_metadata.snx - - tables/sat_yaw_bias_rate.snx - - tables/bds_yaw_modes.snx - - tables/qzss_yaw_modes.snx - - gnss_observations: - gnss_observations_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - - DUMMY # needs something here to force the pea running at given epoch interval - - satellite_data: - satellite_data_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - ssr_antenna_offset: APC - rtcm_inputs: - - BCEP00BKG0 - - SSRA00BKG0 - -outputs: - - colourise_terminal: false - - metadata: - config_description: SSRA00BKG0 - - outputs_root: ./outputs/record_ssr_streams// - - output_rotation: - period: 86400 - - log: - output: true - filename: __LOG.json - - rtcm_nav: - output: true - filename: __NAV.rtcm - - decoded_rtcm: - output: true - filename: __DEC.json - - rinex_nav: - output: true - filename: __NAV.rnx - - clocks: - output: true - filename: __CLK.clk - receiver_sources: [ NONE ] - satellite_sources: [ SSR ] - output_interval: 30 - - sp3: - output: true - filename: __ORB.sp3 - orbit_sources: [ SSR ] - clock_sources: [ SSR ] - output_interval: 300 - -satellite_options: - - global: - models: - pos: - enable: true - sources: [ SSR ] - clock: - enable: true - sources: [ SSR ] - -processing_options: - - process_modes: - spp: false - - epoch_control: - require_obs: false - epoch_interval: 10 - wait_next_epoch: 10 - max_rec_latency: 1 - sleep_milliseconds: 1 - - gnss_general: - common_sat_pco: true - delete_old_ephemerides: true - sys_options: - gps: - process: true - gal: - process: true - glo: - process: true - bds: - process: true - qzs: - process: true diff --git a/debugConfigs/rt_net_ppp_clocks_large.yaml b/debugConfigs/rt_net_ppp_clocks_large.yaml deleted file mode 100644 index 1ebf7d017..000000000 --- a/debugConfigs/rt_net_ppp_clocks_large.yaml +++ /dev/null @@ -1,52 +0,0 @@ - -inputs: - include_yamls: - - rt_net_ppp_orbits_large.yaml -outputs: - metadata: - config_description: rt_net_ppp_clocks - trace: - level: 5 -satellite_options: - global: - attitude: - sources: [ MODEL, NOMINAL ] - clock: - sources: [ KALMAN, BROADCAST ] - pos: - sources: [ REMOTE ] -processing_options: - epoch_control: - epoch_interval: 5 - wait_all_stations: 2 - gnss_general: - minimise_sat_clock_offsets: true - minimise_rec_bias_offsets: false - sys_options: - gps: - process: true - gal: - process: false - gnss_models: - ionospheric_component: - use_if_combo: true - minimum_constraints: - enable: false - -remote_mongo: - use_predictions: true - predict_states: false -estimation_parameters: - stations: - global: - pos: - estimated: [false] - satellites: - global: - code_bias: - estimated: [false] - orbit: - estimated: [false] -debug: - #instrument: true - #instrument_once_per_epoch: true diff --git a/debugConfigs/rt_sisnet_input.yaml b/debugConfigs/rt_sisnet_input.yaml deleted file mode 100644 index 791b4f5b3..000000000 --- a/debugConfigs/rt_sisnet_input.yaml +++ /dev/null @@ -1,229 +0,0 @@ -inputs: - - inputs_root: ./products/ - - atx_files: [ igs20.atx ] - egm_files: [ tables/EGM2008.gfc ] - igrf_files: [ tables/igrf13coeffs.txt ] - erp_files: [ finals.data.iau2000.txt ] - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] - - troposphere: - # gpt2grid_files: [ gpt_25.grd ] - - tides: - # ocean_tide_loading_blq_files: [ OLOAD_GO.BLQ ] - # atmos_tide_loading_blq_files: [ tables/ALOAD_GO.BLQ ] - # ocean_pole_tide_loading_files: [ tables/opoleloadcoefcmcor.txt ] - # ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - snx_files: [ tables/igs_satellite_metadata_2203_plus.snx ] - - gnss_observations: - gnss_observations_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - - ALIC00AUS0 - - MAW100ATA0 - - DARW00AUS0 - - STR200AUS0 - - - satellite_data: - rtcm_inputs_root: "https://:@ntrip.data.gnss.ga.gov.au/" - rtcm_inputs: - ssr_antenna_offset: APC - rtcm_inputs: - - BCEP00BKG0 - - SSRA00BKG0 - sisnet_inputs: - sisnet_inputs: ["sisnet://:@sisnet.data.gnss.ga.gov.au:61001/"] - sbas_prn: 122 - sbas_carrier_frequency: 1 - # net_inputs: ["sisnet://:@sisnet.data.gnss.ga.gov.au:61005/"] - # sbas_prn: 122 - # sbas_carrier_frequency: 5 - -outputs: - metadata: - config_description: sisnet_monitor - - outputs_root: ./outputs/ - - trace: - level: 2 - output_receivers: false - output_network: true - receiver_filename: __.TRACE - network_filename: __.TRACE - output_residuals: false - output_residual_chain: false - output_config: true - - sbas_ems: - output: true - directory: OS-L1-INT/y/d/ - filename: h.ems - - - output_rotation: - period: 3600 - -satellite_options: - - global: - models: - pos: - enable: true - sources: [SSR] - clock: - enable: true - sources: [SSR] - code_bias: - enable: true - undefined_sigma: 3 - phase_bias: - enable: true - undefined_sigma: 3 - - -receiver_options: - - global: - elevation_mask: 15 # degrees - error_model: ELEVATION_DEPENDENT # {uniform,elevation_dependent} - code_sigma: 0.3 # Standard deviation of code measurements, m - phase_sigma: 0.003 # Standard deviation of phase measurmeents, m - rec_reference_system: GPS - models: - phase_bias: - enable: true - - ALIC: - receiver_type: "SEPT POLARX5" # (string) - antenna_type: "LEIAR25.R3 NONE" # (string) - apriori_position: [-4052052.8638, 4212835.9618,-2545104.4038] # [floats] - models: - eccentricity: - enable: true - offset: [0.0000, 0.0000, 0.0015] # [floats] - - MAW1: - receiver_type: "SEPT POLARX5" # (string) - antenna_type: "AOAD/M_T AUST" # (string) - apriori_position: [ 1111287.2209, 2168911.1847,-5874493.6128] # [floats] - models: - eccentricity: - enable: true - offset: [0.0000, 0.0000, 0.0035] # [floats] - - DARW: - receiver_type: "SEPT POLARX5" # (string) - antenna_type: "JAVRINGANT_DM NONE" # (string) - apriori_position: [-4091359.7273, 4684606.3705,-1408578.9291] # [floats] - models: - eccentricity: - enable: true - offset: [0.0000, 0.0000, 0.0000] # [floats] - - STR2: - receiver_type: "TRIMBLE ALLOY" # (string) - antenna_type: "LEIAR25.R3 NONE" # (string) - apriori_position: [-4467075.3642, 2683011.8533,-3667006.8945] # [floats] - models: - eccentricity: - enable: true - offset: [0.0000, 0.0000, 0.0000] # [floats] - - -processing_options: - - process_modes: - ppp: true - - epoch_control: - epoch_interval: 30 - max_rec_latency: 1 - # max_epochs: 180 - - gnss_general: - # use_rtk_combo: true - # common_atmosphere: true - sys_options: - gps: - process: true - reject_eclipse: false - # clock_codes: [ L1W, L2W ] - code_priorities: [ L1W, L1C, L2W ] - ambiguity_resolution: false - -estimation_parameters: - - satellites: - global: - clock: - estimated: [true] - sigma: [1000] - process_noise: [10] - phase_bias: - estimated: [true] - sigma: [10] - # process_noise: [-1] - - - receivers: - BASE: - pos: - estimated: [false] - clock: - # estimated: [false] - - global: - pos: - estimated: [true] - sigma: [100] - process_noise: [0] - clock: - estimated: [true] - sigma: [1000] - process_noise: [100] - ambiguities: - estimated: [true] - sigma: [1000] - process_noise: [0] - ion_stec: # Ionospheric slant delay - estimated: [true] # Estimate state in kalman filter - sigma: [200] # Apriori sigma values - if zero, will be initialised using least squares - process_noise: [10] # Process noise sigmas - trop: - estimated: [true] - sigma: [0.3] - process_noise: [0.0001] - trop_grads: - estimated: [true] - sigma: [0.03] - process_noise: [1.0E-6] - code_bias: - estimated: [true] # false - sigma: [30] - process_noise: [0] - phase_bias: - # estimated: [true] - sigma: [10] - process_noise: [0] - - -mongo: # Mongo is a database used to store results and intermediate values for later analysis and inter-process communication - - enable: primary # Enable and connect to mongo database {none,primary,secondary,both} - primary_uri: mongodb://localhost:27017 # Location and port of the mongo database to connect to - primary_database: - output_components: primary # Output components of measurements {none,primary,secondary,both} - output_states: primary # Output states {none,primary,secondary,both} - output_measurements: primary # Output measurements and their residuals {none,primary,secondary,both} - output_test_stats: primary # Output test statistics {none,primary,secondary,both} - delete_history: primary # Drop the collection in the database at the beginning of the run to only show fresh data {none,primary,secondary,both} - - -debug: - # explain_measurements: true - # instrument: true diff --git a/debugConfigs/slr_est_off_gal.yaml b/debugConfigs/slr_est_off_gal.yaml deleted file mode 100644 index 453d20a2b..000000000 --- a/debugConfigs/slr_est_off_gal.yaml +++ /dev/null @@ -1,170 +0,0 @@ -inputs: - - inputs_root: products/ - - snx_files: [ slr/meta/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/meta/ITRF2014-ILRS-TRF-SSC.SNX, # SLR station positions + drifts - tables/igs_satellite_metadata_2203_plus.snx, - tables/sat_yaw_bias_rate.snx ] - erp_files: [ tables/EOP_14_C04_IAU2000A_one_file_1962-now.txt ] - egm_files: [ tables/goco05s.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ IGS2R03FIN_20191950000_01D_05M_ORB.SP3, - IGS2R03FIN_20191960000_01D_05M_ORB.SP3, - IGS2R03FIN_20191970000_01D_05M_ORB.SP3, - IGS2R03FIN_20191980000_01D_05M_ORB.SP3, - IGS2R03FIN_20191990000_01D_05M_ORB.SP3, - IGS2R03FIN_20192000000_01D_05M_ORB.SP3, - IGS2R03FIN_20192010000_01D_05M_ORB.SP3 ] - sid_files: [ slr/meta/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - crd_files: [ slr/obs/galileo/galileo101_201907.npt, - slr/obs/galileo/galileo102_201907.npt, - slr/obs/galileo/galileo103_201907.npt, - slr/obs/galileo/galileo104_201907.npt, - slr/obs/galileo/galileo201_201907.npt, - slr/obs/galileo/galileo202_201907.npt, - slr/obs/galileo/galileo203_201907.npt, - slr/obs/galileo/galileo204_201907.npt, - slr/obs/galileo/galileo205_201907.npt, - slr/obs/galileo/galileo206_201907.npt, - slr/obs/galileo/galileo207_201907.npt, - slr/obs/galileo/galileo208_201907.npt, - slr/obs/galileo/galileo209_201907.npt, - slr/obs/galileo/galileo210_201907.npt, - slr/obs/galileo/galileo211_201907.npt, - slr/obs/galileo/galileo212_201907.npt, - slr/obs/galileo/galileo213_201907.npt, - slr/obs/galileo/galileo214_201907.npt, - slr/obs/galileo/galileo215_201907.npt, - slr/obs/galileo/galileo216_201907.npt, - slr/obs/galileo/galileo217_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/meta/OLOAD_SLR.BLQ ] # required if ocean loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - -outputs: - - metadata: - config_description: slr_est_off_gal - - outputs_root: outputs// - colourise_terminal: false - # warn_once: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: ---.TRACE - network_filename: ---.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - sinex: - output: false - - erp: - output: false - - sp3: - output: false - output_interval: 1 - output_inertial: false - # output_predicted_orbits: true - output_velocities: true - orbit_sources: [PRECISE] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_components: primary - output_states: primary - output_test_stats: primary - output_trace: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - laser_sigma: 0.10 - - models: - eop: - enable: true - -satellite_options: - - global: - models: - pos: - enable: true - sources: [PRECISE] - attitude: - enable: true - sources: [MODEL, PRECISE, NOMINAL] - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:00 - end_epoch: 2019-07-20 23:55:00 - epoch_interval: 30 # seconds - require_obs: false - assign_closest_epoch: true - - process_modes: - ppp: true - slr: true # Process SLR observations - preprocessor: true - spp: false - - gnss_general: - require_apriori_positions: true - require_site_eccentricity: true - require_reflector_com: true - - sys_options: - gal: - process: true - - ppp_filter: - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 diff --git a/debugConfigs/slr_est_off_lag.yaml b/debugConfigs/slr_est_off_lag.yaml deleted file mode 100644 index 99f6f1c22..000000000 --- a/debugConfigs/slr_est_off_lag.yaml +++ /dev/null @@ -1,167 +0,0 @@ -inputs: - - inputs_root: products/ - - snx_files: [ slr/meta/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/meta/ITRF2014-ILRS-TRF-SSC.SNX ] # SLR station positions + drifts - erp_files: [ tables/EOP_14_C04_IAU2000A_one_file_1962-now.txt ] - egm_files: [ tables/goco05s.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ slr/orbits/lageos1/ilrsa.orb.lageos1.190720.v71.sp3 ] - sid_files: [ slr/meta/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - crd_files: [ slr/obs/lageos1/lageos1_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/meta/OLOAD_SLR.BLQ ] # required if ocean loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - -outputs: - - metadata: - config_description: slr_est_off_lag - - outputs_root: outputs// - colourise_terminal: false - # warn_once: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: ---.TRACE - network_filename: ---.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - sinex: - output: false - - erp: - output: false - - sp3: - output: false - output_interval: 1 - output_inertial: false - # output_predicted_orbits: true - output_velocities: true - orbit_sources: [PRECISE] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -# debug: -# instrument: true -# instrument_once_per_epoch: true - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_components: primary - output_states: primary - output_test_stats: primary - output_trace: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - laser_sigma: 0.10 - - models: - eop: - enable: true - -satellite_options: - - global: - models: - pos: - enable: true - sources: [PRECISE] - - orbit_propagation: - mass: 400 - area: 0.28 - srp_cr: 1.75 - planetary_perturbations: [sun, moon, jupiter] - solar_radiation_pressure: cannonball - antenna_thrust: false - albedo: cannonball - empirical: true - empirical_rtn_eclipse: [false, false, false] - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:18 - end_epoch: 2019-07-20 23:58:18 - epoch_interval: 30 # seconds - require_obs: false - assign_closest_epoch: true - - process_modes: - ppp: true - slr: true # Process SLR observations - preprocessor: true - spp: false - - gnss_general: - require_apriori_positions: true - require_site_eccentricity: true - require_reflector_com: true - - sys_options: - leo: # includes Lageos1 - process: true - - orbit_propagation: - integrator_time_step: 60 - egm_field: true - egm_degree: 60 - central_force: true - general_relativity: true - indirect_J2: true - solid_earth_tide: true - ocean_tide: true - atm_tide: true - pole_tide_ocean: true - pole_tide_solid: true - - ppp_filter: - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 diff --git a/debugConfigs/slr_orb_fit.yaml b/debugConfigs/slr_orb_fit.yaml deleted file mode 100644 index 441c4b80e..000000000 --- a/debugConfigs/slr_orb_fit.yaml +++ /dev/null @@ -1,176 +0,0 @@ -inputs: - - inputs_root: products/ - - snx_files: [ slr/meta/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/meta/ITRF2014-ILRS-TRF-SSC.SNX ] # SLR station positions + drifts - erp_files: [ tables/EOP_14_C04_IAU2000A_one_file_1962-now.txt ] - egm_files: [ tables/goco05s.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ slr/orbits/lageos1/ilrsa.orb.lageos1.190720.v71.sp3 ] - sid_files: [ slr/meta/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - - tides: - ocean_tide_loading_blq_files: [ slr/meta/OLOAD_SLR.BLQ ] # required if ocean loading is applied - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - pseudo_observations: - eci_pseudoobs: false - sp3_inputs: [ slr/orbits/lageos1/ilrsa.orb.lageos1.190720.v71.sp3 ] - -outputs: - - metadata: - config_description: slr_orb_fit_7d_no_eop - - outputs_root: outputs// - colourise_terminal: false - # warn_once: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: --.TRACE - network_filename: --.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - erp: - output: false - - orbit_ics: - output: true - directory: ./orbit_ics/ - filename: __orbits.yaml - - sp3: - output: true - output_interval: 1 - output_inertial: false - # output_predicted_orbits: true - output_velocities: true - orbit_sources: [KALMAN] - clock_sources: [PRECISE] - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_states: primary - output_test_stats: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -receiver_options: - - global: - models: - eop: - enable: true - -satellite_options: - - global: - pseudo_sigma: 1 - - orbit_propagation: - mass: 400 - area: 0.28 - srp_cr: 1.75 - planetary_perturbations: [sun, moon, jupiter] - solar_radiation_pressure: cannonball - antenna_thrust: false - albedo: cannonball - empirical: true - empirical_rtn_eclipse: [false, false, false] - - models: - pos: - enable: true - sources: [KALMAN, PRECISE, BROADCAST] - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:18 - end_epoch: 2019-07-20 23:58:18 - epoch_interval: 60 # seconds - require_obs: true - assign_closest_epoch: true - - process_modes: - ppp: true - - gnss_general: - sys_options: - leo: - process: true # includes Lageos1 - - orbit_propagation: - integrator_time_step: 60 - egm_field: true - egm_degree: 60 - central_force: true - general_relativity: true - indirect_J2: true - solid_earth_tide: true - ocean_tide: true - atm_tide: true - pole_tide_ocean: true - pole_tide_solid: true - -estimation_parameters: - - global_models: - eop: - estimated: [false] - sigma: [10] - - eop_rates: - estimated: [false] - sigma: [10] - - satellites: - - global: - orbit: - estimated: [true] - sigma: [1] # posX/Y/Z, velX/Y/Z (final element repeated as necessary) - - # emp_r_0: { estimated: [false], sigma: [1e3] } - emp_t_0: { estimated: [true], sigma: [1e3] } - # emp_n_0: { estimated: [false], sigma: [1e3] } - - # emp_r_1: { estimated: [false], sigma: [1e3] } - emp_t_1: { estimated: [true], sigma: [1e3] } - emp_n_1: { estimated: [true], sigma: [1e3] } - - # emp_r_2: { estimated: [false], sigma: [1e3] } - # emp_t_2: { estimated: [false], sigma: [1e3] } - # emp_n_2: { estimated: [false], sigma: [1e3] } - - # emp_r_3: { estimated: [false], sigma: [1e3] } - # emp_t_3: { estimated: [false], sigma: [1e3] } - # emp_n_3: { estimated: [false], sigma: [1e3] } - - # emp_r_4: { estimated: [false], sigma: [1e3] } - # emp_t_4: { estimated: [false], sigma: [1e3] } - # emp_n_4: { estimated: [false], sigma: [1e3] } diff --git a/debugConfigs/slr_pod_with_pobs_gal.yaml b/debugConfigs/slr_pod_with_pobs_gal.yaml deleted file mode 100644 index 5a936a7c1..000000000 --- a/debugConfigs/slr_pod_with_pobs_gal.yaml +++ /dev/null @@ -1,248 +0,0 @@ -inputs: - - include_yamls: [ products/boxwing.yaml ] # required if using boxwing model - - inputs_root: products/ - - snx_files: [ slr/meta/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/meta/ITRF2014-ILRS-TRF-SSC.SNX, # SLR station positions + drifts - tables/igs_satellite_metadata_2203_plus.snx, - tables/sat_yaw_bias_rate.snx ] - erp_files: [ tables/EOP_14_C04_IAU2000A_one_file_1962-now.txt ] - egm_files: [ tables/goco05s.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ IGS2R03FIN_20191950000_01D_05M_ORB.SP3, - IGS2R03FIN_20191960000_01D_05M_ORB.SP3, - IGS2R03FIN_20191970000_01D_05M_ORB.SP3, - IGS2R03FIN_20191980000_01D_05M_ORB.SP3, - IGS2R03FIN_20191990000_01D_05M_ORB.SP3, - IGS2R03FIN_20192000000_01D_05M_ORB.SP3, - IGS2R03FIN_20192010000_01D_05M_ORB.SP3 ] - sid_files: [ slr/meta/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - # crd_files: [ slr/obs/galileo/galileo101_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/meta/OLOAD_SLR.BLQ ] # required if ocean loading is applied - atmos_tide_loading_blq_files: [ slr/meta/ALOAD_SLR.BLQ ] - ocean_pole_tide_loading_files: [ tables/opoleloadcoefcmcor.txt ] - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - pseudo_observations: - sp3_inputs: [ IGS2R03FIN_20191950000_01D_05M_ORB.SP3, - IGS2R03FIN_20191960000_01D_05M_ORB.SP3, - IGS2R03FIN_20191970000_01D_05M_ORB.SP3, - IGS2R03FIN_20191980000_01D_05M_ORB.SP3, - IGS2R03FIN_20191990000_01D_05M_ORB.SP3, - IGS2R03FIN_20192000000_01D_05M_ORB.SP3, - IGS2R03FIN_20192010000_01D_05M_ORB.SP3 ] - eci_pseudoobs: false - -outputs: - - metadata: - config_description: slr_orb_fit_gal_3d_est_eop - - outputs_root: outputs// - colourise_terminal: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: --.TRACE - network_filename: --.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - sinex: - output: false - - erp: - output: false - - orbit_ics: - output: true - directory: ./orbit_ics/ - filename: __orbits.yaml - - sp3: - output: true - output_interval: 1 - output_inertial: false - output_velocities: true - orbit_sources: [KALMAN] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_states: primary - output_test_stats: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -satellite_options: - - global: - pseudo_sigma: 1 - - orbit_propagation: - mass: 1000 - area: 15 - srp_cr: 1.75 - power: 20 - planetary_perturbations: [sun, moon, jupiter] - solar_radiation_pressure: boxwing - antenna_thrust: true - albedo: cannonball - empirical: true - empirical_dyb_eclipse: [true, false, false] - pseudo_pulses: - enable: true - - models: - pos: - enable: true - sources: [KALMAN, PRECISE, BROADCAST] - attitude: - enable: true - sources: [MODEL, PRECISE, NOMINAL] - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - laser_sigma: 0.10 - - models: - eop: - enable: true - -processing_options: - - epoch_control: - start_epoch: 2019-07-17 00:00:00 - end_epoch: 2019-07-19 23:55:00 - epoch_interval: 300 # seconds - require_obs: true - assign_closest_epoch: true - - process_modes: - ppp: true - # slr: true # Process SLR observations - # preprocessor: true - # spp: false - - gnss_general: - # require_apriori_positions: true - # require_site_eccentricity: true - # require_reflector_com: true - - sys_options: - gal: - process: true - - ppp_filter: - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - # rts: - # enable: true - - orbit_propagation: - integrator_time_step: 900 - central_force: true - egm_field: true - egm_degree: 15 - indirect_J2: true - general_relativity: true - solid_earth_tide: true - ocean_tide: true - atm_tide: true - pole_tide_ocean: true - pole_tide_solid: true - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 - -estimation_parameters: - - global_models: - eop: - estimated: [true] - sigma: [10] - - eop_rates: - estimated: [true] - sigma: [10] - - receivers: - global: - pos: - estimated: [false] - sigma: [1.0] - - slr_range_bias: - estimated: [false] - sigma: [0.01] - - slr_time_bias: - estimated: [false] - sigma: [0.00001] - - satellites: - global: - orbit: - estimated: [true] - sigma: [1] # posX/Y/Z, velX/Y/Z (final element repeated as necessary) - - emp_d_0: { estimated: [true], sigma: [1e3] } - emp_y_0: { estimated: [true], sigma: [1e3] } - emp_b_0: { estimated: [true], sigma: [1e3] } - - emp_d_1: { estimated: [true], sigma: [1e3] } - # emp_y_1: { estimated: [false], sigma: [1e3] } - emp_b_1: { estimated: [true], sigma: [1e3] } - - emp_d_2: { estimated: [true], sigma: [1e3] } - # emp_y_2: { estimated: [false], sigma: [1e3] } - # emp_b_2: { estimated: [false], sigma: [1e3] } - - # emp_d_3: { estimated: [false], sigma: [1e3] } - # emp_y_3: { estimated: [false], sigma: [1e3] } - # emp_b_3: { estimated: [false], sigma: [1e3] } - - emp_d_4: { estimated: [true], sigma: [1e3] } - # emp_y_4: { estimated: [false], sigma: [1e3] } - # emp_b_4: { estimated: [false], sigma: [1e3] } diff --git a/debugConfigs/slr_pod_with_pobs_lag.yaml b/debugConfigs/slr_pod_with_pobs_lag.yaml deleted file mode 100644 index d9647e3f6..000000000 --- a/debugConfigs/slr_pod_with_pobs_lag.yaml +++ /dev/null @@ -1,226 +0,0 @@ -inputs: - - inputs_root: products/ - - snx_files: [ slr/meta/ecc_une.snx, # SLR station eccentricities - slr/ILRS_Data_Handling_File_2024.02.13.snx, # SLR station biases - slr/meta/ITRF2014-ILRS-TRF-SSC.SNX ] # SLR station positions + drifts - erp_files: [ tables/EOP_14_C04_IAU2000A_one_file_1962-now.txt ] - egm_files: [ tables/goco05s.gfc ] # Earth gravity model coefficients file - planetary_ephemeris_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - - satellite_data: - sp3_files: [ slr/orbits/lageos1/ilrsa.orb.lageos1.190720.v71.sp3 ] - sid_files: [ slr/meta/sp3c-satlist.txt ] - com_files: [ slr/com/com_lageos.txt ] - crd_files: [ slr/obs/lageos1/lageos1_201907.npt ] - - tides: - ocean_tide_loading_blq_files: [ slr/meta/OLOAD_SLR.BLQ ] # required if ocean loading is applied - atmos_tide_loading_blq_files: [ slr/meta/ALOAD_SLR.BLQ ] - ocean_pole_tide_loading_files: [ tables/opoleloadcoefcmcor.txt ] - ocean_tide_potential_files: [ tables/fes2014b_Cnm-Snm.dat ] - - pseudo_observations: - sp3_inputs: [ slr/orbits/lageos1/ilrsa.orb.lageos1.190720.v71.sp3 ] - eci_pseudoobs: false - -outputs: - - metadata: - config_description: slr_pod_with_pobs_lag_no_eop_60s - - outputs_root: outputs// - colourise_terminal: false - - trace: - output_receivers: true - output_network: true - level: 2 - receiver_filename: --.TRACE - network_filename: --.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - log: - output: true - directory: ./ - filename: log_.json - - output_rotation: - period: 1 - period_units: day - - sinex: - output: false - - erp: - output: false - - orbit_ics: - output: true - directory: ./orbit_ics/ - filename: __orbits.yaml - - sp3: - output: true - output_interval: 1 - output_inertial: false - output_velocities: true - orbit_sources: [KALMAN] - clock_sources: [PRECISE] - - slr_obs: - output: true - directory: ./slr_obs/ - filename: .slr_obs - -mongo: - - enable: primary - primary_database: - output_config: primary - output_measurements: primary - output_states: primary - output_test_stats: primary - delete_history: primary - primary_uri: mongodb://127.0.0.1:27017 - primary_suffix: "" - -satellite_options: - - global: - pseudo_sigma: 1 - - orbit_propagation: - mass: 400 - area: 0.28 - srp_cr: 1.75 - planetary_perturbations: [sun, moon, jupiter] - solar_radiation_pressure: cannonball - antenna_thrust: false - albedo: cannonball - empirical: true - empirical_rtn_eclipse: [false, false, false] - - models: - pos: - enable: true - sources: [KALMAN, PRECISE, BROADCAST] - -receiver_options: - - global: - elevation_mask: 10 # degrees - error_model: elevation_dependent - laser_sigma: 0.10 - - models: - eop: - enable: true - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:18 - end_epoch: 2019-07-20 23:58:18 - epoch_interval: 60 # seconds - require_obs: true - assign_closest_epoch: true - - process_modes: - ppp: true - slr: true # Process SLR observations - preprocessor: true - spp: false - - gnss_general: - require_apriori_positions: true - require_site_eccentricity: true - require_reflector_com: true - - sys_options: - leo: - process: true # includes Lageos1 - - ppp_filter: - inverter: ldlt # LLT LDLT INV - - outlier_screening: - prefit: - max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter - - postfit: - max_iterations: 10 # Maximum number of measurements to exclude using postfit checks while iterating filter - - # rts: - # enable: true - - orbit_propagation: - integrator_time_step: 60 - central_force: true - egm_field: true - egm_degree: 60 - indirect_J2: true - general_relativity: true - solid_earth_tide: true - ocean_tide: true - atm_tide: true - pole_tide_ocean: true - pole_tide_solid: true - - model_error_handling: - meas_deweighting: - deweight_factor: 1000 - -estimation_parameters: - - global_models: - eop: - estimated: [false] - sigma: [10] - - eop_rates: - estimated: [false] - sigma: [10] - - receivers: - global: - pos: - estimated: [false] - sigma: [1.0] - - slr_range_bias: - estimated: [false] - sigma: [0.01] - - slr_time_bias: - estimated: [false] - sigma: [0.00001] - - satellites: - global: - orbit: - estimated: [true] - sigma: [1] # posX/Y/Z, velX/Y/Z (final element repeated as necessary) - - # emp_r_0: { estimated: [false], sigma: [1e3] } - emp_t_0: { estimated: [true], sigma: [1e3] } - # emp_n_0: { estimated: [false], sigma: [1e3] } - - # emp_r_1: { estimated: [false], sigma: [1e3] } - emp_t_1: { estimated: [true], sigma: [1e3] } - emp_n_1: { estimated: [true], sigma: [1e3] } - - # emp_r_2: { estimated: [false], sigma: [1e3] } - # emp_t_2: { estimated: [false], sigma: [1e3] } - # emp_n_2: { estimated: [false], sigma: [1e3] } - - # emp_r_3: { estimated: [false], sigma: [1e3] } - # emp_t_3: { estimated: [false], sigma: [1e3] } - # emp_n_3: { estimated: [false], sigma: [1e3] } - - # emp_r_4: { estimated: [false], sigma: [1e3] } - # emp_t_4: { estimated: [false], sigma: [1e3] } - # emp_n_4: { estimated: [false], sigma: [1e3] } diff --git a/debugConfigs/sp3_ecef2eci.yaml b/debugConfigs/sp3_ecef2eci.yaml deleted file mode 100644 index 462f32be5..000000000 --- a/debugConfigs/sp3_ecef2eci.yaml +++ /dev/null @@ -1,51 +0,0 @@ -inputs: - - inputs_root: products/ - - erp_files: [ "podTest/2019195_07D/COD0MGXFIN*.ERP" ] - - satellite_data: - satellite_data_root: podTest/2019195_07D/ - sp3_files: [ "COD0MGXFIN*.SP3" ] - - -outputs: - - outputs_root: products/podTest/2019195_07D/SP3i/ - - metadata: - config_description: COD0MGXFIN - time_system: G # (string) Time system - e.g. "G", "UTC" - - sp3: - output: true - filename: __01D_05M_ORB.SP3 - orbit_sources: [ PRECISE ] - clock_sources: [ PRECISE ] - output_inertial: true - output_interval: 300 - - -receiver_options: # Options to configure individual stations or global configs - - global: - models: - eop: - enable: true - - -processing_options: - - epoch_control: - start_epoch: 2019-07-14 00:00:00 - end_epoch: 2019-07-20 23:55:00 - epoch_interval: 300 # seconds - require_obs: false - - gnss_general: - sys_options: - gps: { process: true } - gal: { process: true } - glo: { process: true } - bds: { process: true } - # qzs: { process: true } diff --git a/debugConfigs/spire_pod.yaml b/debugConfigs/spire_pod.yaml deleted file mode 100644 index 820f5c00f..000000000 --- a/debugConfigs/spire_pod.yaml +++ /dev/null @@ -1,279 +0,0 @@ -inputs: - - root_directory: products/ - - atx_files: [ igs20.atx ] # Antenna models for receivers and satellites in ANTEX format - snx_files: - - ../otherProducts/LEO_Cube.snx - - tables/igs_satellite_metadata_2203_plus.snx - otl_blq_files: [ OLOAD_GO.BLQ ] # ocean loading is applied - atl_blq_files: [ ALOAD_GO.BLQ ] - opole_files: [ tables/opoleloadcoefcmcor.txt ] - #erp_files: [ ../otherProducts/COD0OPSFIN_20230010000_01D_01D_ERP.ERP] - erp_files: [ tables/finals.data.iau2000.txt] - - egm_files: [ tables/EGM2008.gfc ] # Earth gravity model coefficients file - jpl_files: [ tables/DE436.1950.2050 ] # JPL planetary and lunar ephemerides file - tide_files: [ tables/fes2014b_Cnm-Snm.dat] - - satellite_data: - inputs_root: ../otherProducts/ - nav_files: [ ../otherProducts/brdc0010.23n ] # broadcast navigation file - sp3_files: [ ../otherProducts/COD0OPSFIN_20230010000_01D_05M_ORB.SP3 ] # satellite orbit files in SP3 format - clk_files: [ ../otherProducts/COD0OPSFIN_20230010000_01D_05S_CLK.CLK] # satellite clock files in RNX CLK format - #bsx_files: [ ../spire/products/IAR230020_V01.BIA ] # daily signal biases files - bsx_files: [ ../otherProducts/IAR230010_V01.BIA] # daily signal biases files - obx_files: - - "../otherProducts/conjugated/leoAtt_2023.001.099.00.OBX" - - "../otherProducts/conjugated/leoAtt_2023.001.099.01.OBX" - - "../otherProducts/conjugated/leoAtt_2023.001.099.02.OBX" - - "../otherProducts/conjugated/leoAtt_2023.001.099.03.OBX" - - "../otherProducts/conjugated/leoAtt_2023.001.099.06.OBX" - #- "../spire/leoAtt_nrt_2023_001_OBX_conj/leoAtt_2023.001.099.07.OBX" - #- "../spire/leoAtt_nrt_2023_001_OBX_conj/leoAtt_2023.001.099.21.OBX" - #- "../spire/leoAtt_nrt_2023_001_OBX_conj/leoAtt_2023.001.099.22.OBX" - - gnss_observations: - inputs_root: ../otherData/ - rnx_inputs: - - L99: - #- "podCrx_2023.001.099.00.00.rnx" - - "podCrx_2023.001.099.01.00.rnx" - #- "podCrx_2023.001.099.02.00.rnx" - #- "podCrx_2023.001.099.03.00.rnx" - #- "podCrx_2023.001.099.06.00.rnx" - #- "podCrx_2023.001.099.07.00.rnx" - #- "podCrx_2023.001.099.21.00.rnx" - #- "podCrx_2023.001.099.22.00.rnx" - -outputs: - - root_directory: outputs// - - trace: - output_stations: true - output_network: true - level: 5 - directory: ./ - station_filename: _.TRACE - network_filename: _.SUM - output_residuals: true - output_config: true - - metadata: - config_description: spirePOD - analysis_agency: GAA - analysis_center: Geoscience Australia - analysis_program: AUSACS - rinex_comment: AUSNETWORK1 - -mongo: # Mongo is a database used to store results and intermediate values for later analysis and inter-process communication - enable: true # (bool) Enable and connect to mongo database - database: "" # (string) - delete_history: true # (bool) Drop the collection in the database at the beginning of the run to only show fresh data - output_components: true # (bool) Output components of measurements - output_measurements: true # (bool) Output measurements and their residuals - output_states: true # (bool) Output states - output_logs: false # (bool) Output console trace and warnings to mongo with timestamps and other metadata - output_test_stats: false # (bool) Output test statistics - output_trace: false # (bool) Output trace - suffix: "" # (string) Suffix to append to database elements to make distinctions between runs for comparison - uri: "mongodb://localhost:27017" # (string) Location and port of the mongo database to connect to - -#debug: - #unit_tests: - #stop_on_done: true - #output_pass: true - -satellite_options: - - global: - antenna_boresight: [ 0, 0, +1] - antenna_azimuth: [ 0, +1, 0] - -station_options: - - global: - rnx_code_conversions: - gps: - C1: L1C - C2: L2L - rnx_phase_conversions: - gps: - L1: L1C - L2: L2L - - antenna_boresight: [0, 0, -1] - antenna_azimuth: [+1, 0, 0] - sat_id: "L99" - - L99: - receiver_type: "LEMUR" # (string) - antenna_type: "LEMUR (POD) NONE" # (string) - #eccentricity: [0.0024, -0.0047, -0.1631] # [floats] - eccentricity: [ -0.0047, 0.0024, -0.1631] # [floats] - #apriori_position: [] # [floats] - -processing_options: - - epoch_control: - start_epoch: 2023-01-01 00:18:42 - end_epoch: 2023-01-01 23:59:59 - epoch_interval: 1 #seconds - wait_next_epoch: 3600 - - - process_modes: - preprocessor: true - ppp: true - - gnss_general: - elevation_mask: 1 - error_model: elevation_dependent - raim: true - max_gdop: 100 - rec_reference_system: gps - - sys_options: - gps: - process: true - ambiguity_resolution: false - reject_eclipse: true - #zero_receiver_dcb: true - code_priorities: [ L1C, L2L ] - - orbit_propagation: - central_force: true - planetary_perturbation: true - indirect_J2: true - egm_field: true - solid_earth_tide: true - ocean_tide: true - general_relativity: true - pole_tide_ocean: true - pole_tide_solid: true - solar_radiation_pressure: true - integrator_time_step: 0.5 - sat_mass: 6.5 - sat_area: 0.5 - srp_cr: 1.25 - sat_power: 20 # (float) Transmission power use if not specified in the SINEX metadata file - degree_max: 30 - - #itrf_pseudoobs: true - - model_error_checking: - ambiguities: - reinit_on_all_slips: true - - cycle_slips: # Cycle slips may be detected by the preprocessor and measurements rejected or ambiguities reinitialised - exclude_on: - gf: true # (bool) Exclude measurements that fail GF slip test in preprocessor - lli: true # (bool) Exclude measurements that fail LLI slip test in preprocessor - mw: true # (bool) Exclude measurements that fail MW slip test in preprocessor - scdia: true # (bool) Exclude measurements that fail SCDIA test in preprocessor - - reset_on: - gf: true # (bool) Reset ambiguities if GF test is detecting a slip - lli: true # (bool) Reset ambiguities if LLI test is detecting a slip - mw: true # (bool) Reset ambiguities if MW test is detecting a slip - scdia: true # (bool) Reset ambiguities if SCDIA test is detecting a slip - - slip_threshold: 0.05 # (float) Value used to determine when a slip has occurred - mw_proc_noise: 0 # (float) Process noise applied to filtered Melbourne-Wubenna measurements to detect cycle slips - - orbit_errors: # Orbital states that are not consistent with measurements may be reinitialised to allow for dynamic maneuvers - enable: false - orbit_pos_proc_noise: 0 # (float) Sigma to apply to orbital position states as reinitialisation - orbit_vel_proc_noise: 10 # (float) Sigma to apply to orbital velocity states as reinitialisation - orbit_vel_proc_noise_trail: 1 # (float) Initial sigma for exponentially decaying noise to apply for subsequent epochs as soft reinitialisation - orbit_vel_proc_noise_trail_tau: 0.1 # (float) Time constant for exponentially decauing noise - #orbit_errors: # Orbital states that are not consistent with measurements may be reinitialised to allow for dynamic maneuvers - # orbit_pos_proc_noise: 10 # (float) Sigma to apply to orbital position states as reinitialisation - # orbit_vel_proc_noise: 5 # (float) Sigma to apply to orbital velocity states as reinitialisation - # orbit_vel_proc_noise_trail: 1 # (float) Initial sigma for exponentially decaying noise to apply for subsequent epochs as soft reinitialisation - # orbit_vel_proc_noise_trail_tau: 0.05 # (float) Time constant for exponentially decauing noise - - gnss_models: - troposphere: - enable: false - tides: - enable: false - - ionospheric_component: - enable: true - #corr_mode: iono_free_linear_combo # estimate, iono_free_linear_combo - iono_sigma_limit: 10000000 - common_ionosphere: true # Code and Phase measurment share the same ionosphere - use_if_combo: true - - #ambiguity_resolution: - - #elevation_mask: 15 - - #wide_lane: - #mode: iter_rnd # AR mode for WL: off, round, iter_rnd, bootst, lambda, lambda_alt, lambda_al2, lambda_bie - #success_rate_threshold: 0.999 - #solution_ratio_threshold: 3 - #process_noise_sat: 0.00001 - #process_noise_rec: 0.0001 - - #narrow_lane: - #mode: lambda_bie # AR mode for WL: off, round, iter_rnd, bootst, lambda, lambda_alt, lambda_al2, lambda_bie - #success_rate_threshold: 0 - #solution_ratio_threshold: 30 - - #lambda_set_size: 200 - #max_hold_epochs: 0 - #max_rounding_iterations: 5 - - filter_options: - outlier_screening: - max_filter_iterations: 10 - chi_square_mode: NONE # (enum) Chi-square test mode - innovation, measurement, state {none,innovation,measurement,state} - chi_square_test: false # (bool) Enable Chi-square test - max_prefit_removals: 0 # (int) Maximum number of measurements to exclude using prefit checks before attempting to filter - #sigma_check: false # (bool) Enable prefit and postfit sigma check - state_sigma_threshold: 5 # (float) sigma threshold for states - meas_sigma_threshold: 5 # (float) sigma threshold for measurements - omega_test: false # (bool) Enable w-test - - - inverter: LDLT #LLT LDLT INV - -estimation_parameters: - - stations: - #error_model: uniform #uniform elevation_dependent - code_sigmas: [0.5] - phase_sigmas: [0.005] - spp_sigma_scaling: 4 - - orbit: - estimated: [true] - sigma: [50, 50, 50, 5000, 5000, 5000] - proc_noise: [0, 0, 0, 0.01] - - #pos: - #estimated: [true] - #sigma: [100] - - #pos_rate: - #estimated: [true] - #sigma: [5000] - #proc_noise: [10] - - clk: - estimated: [true] - sigma: [1000] - proc_noise: [10] - - amb: - estimated: [true] - sigma: [1000] - proc_noise: [0] - - ion_stec: - estimated: [true] - sigma: [400] - proc_noise: [30] diff --git a/debugConfigs/tide_debug.yaml b/debugConfigs/tide_debug.yaml deleted file mode 100644 index 718224a8e..000000000 --- a/debugConfigs/tide_debug.yaml +++ /dev/null @@ -1,228 +0,0 @@ -# Post-processing PPP example GPS+GAL - -inputs: - root_directory: products/ - snx_files: [ tables/igs_satellite_metadata_2203_plus.snx, - IGS1R03SNX_20191950000_07D_07D_CRD.SNX ] - atx_files: [ M20.ATX ] - otl_blq_files: [ OLOAD_GO.test.BLQ ] - atl_blq_files: [ ALOAD_GO.test.BLQ ] - opole_files: [ tables/opoleloadcoefcmcor.txt ] - egm_files: [ tables/EGM2008.gfc ] - jpl_files: [ tables/DE436.1950.2050 ] - tide_files: [ tables/fes2014b_Cnm-Snm.dat ] - igrf_files: [ tables/igrf13coeffs.txt ] - erp_files: [ tables/finals.data.iau2000.txt ] - - satellite_data: - # nav_files: [ brdm1990.19p ] - clk_files: [ IGS2R03FIN_20191990000_01D_30S_CLK.CLK ] - bsx_files: [ IGS2R03FIN_20191990000_01D_01D_OSB.BIA ] - sp3_files: [ IGS2R03FIN_20191990000_01D_05M_ORB.SP3 ] - - troposphere: - gpt2grid_files: gpt_25.grd - - gnss_observations: - inputs_root: ../data/ - rnx_inputs: - - ALIC00AUS_R_20191990000_01D_30S_MO.rnx - - REYK00ISL_R_20191990000_01D_30S_MO.rnx - # - COCO00AUS_R_20191990000_01D_30S_MO.rnx - # - LHAZ00CHN_R_20191990000_01D_30S_MO.rnx - # - KZN200RUS_S_20191990000_01D_30S_MO.rnx - -outputs: - metadata: - config_description: "tideDebug" - - root_directory: outputs// - - trace: - level: 3 - output_stations: true - output_network: true - station_filename: _.TRACE - network_filename: _.TRACE - output_residuals: true - output_residual_chain: true - output_config: true - - ppp_sol: - output: true - filename: _.POS - - gpx: - output: true - filename: _.GPX - -mongo: - enable: true - uri: mongodb://127.0.0.1:27017 - database: - output_rtcm_messages: true - output_components: true - output_states: true - output_measurements: true - output_test_stats: true - delete_history: true - suffix: "" - -satellite_options: - global: - phase_bias: - enable: true - - E05: - exclude: true - E06: - exclude: true - E10: - exclude: true - E16: - exclude: true - E17: - exclude: true - E23: - exclude: true - E28: - exclude: true - E29: - exclude: true - E32: - exclude: true - E34: - exclude: true - E35: - exclude: true - -station_options: - global: - phase_bias: - enable: true - - ALIC: - receiver_type: "LEICA GR25" - antenna_type: "LEIAR25.R3 NONE" - eccentricity: [ 0.0000, 0.0000, 0.0015 ] - # apriori_position: [ -4052051.7670, 4212836.2150, -2545106.0270 ] - REYK: - receiver_type: "LEICA GR50" - antenna_type: "LEIAR25.R4 LEIT" - eccentricity: [ 0.0000, 0.0000, 0.0635 ] - # apriori_position: [ -4052051.7670, 4212836.2150, -2545106.0270 ] - # COCO: - # receiver_type: "SEPT POLARXS" - # antenna_type: "AOAD/M_T NONE" - # eccentricity: [ 0.0000, 0.0000, 0.0040 ] - # # apriori_position: [ -741949.8528, 6190961.6634, -1337768.7328 ] - # LHAZ: - # receiver_type: "LEICA GR25" - # antenna_type: "LEIAR25.R4 LEIT" - # eccentricity: [ 0.0000, 0.0000, 0.1330 ] - # # apriori_position: [ -106943.5000, 5549296.1400, 3139212.6000 ] - # KZN2: - # receiver_type: "TRIMBLE NETR9" - # antenna_type: "TRM59800.00 SCIS" - # eccentricity: [ 0.0000, 0.0000, 0.0750 ] - # # apriori_position: [ 2352345.7000, 2717466.1000, 5251458.5000 ] - -processing_options: - epoch_control: - max_epochs: 2880 - epoch_interval: 30 - - process_modes: - ppp: true - - gnss_general: - error_model: ELEVATION_DEPENDENT - code_measurements: - sigmas: [ 0.3 ] - phase_measurements: - sigmas: [ 0.003 ] - elevation_mask: 10 - rec_reference_system: GPS - sys_options: - gps: - process: true - reject_eclipse: false - zero_receiver_dcb: true - code_priorities: [ L1C, L2W ] - ambiguity_resolution: true - gal: - process: true - reject_eclipse: false - zero_receiver_dcb: true - code_priorities: [ L1C, L5Q, L1X, L5X ] - ambiguity_resolution: true - - gnss_models: - eop: - enable: true - troposphere: - model: GPT2 - ionospheric_component2: - enable: true - ionospheric_component3: - enable: true - - filter_options: - outlier_screening: - max_filter_iterations: 5 - max_prefit_removals: 3 - station_chunking: - enable: true - rts: - enable: true - - model_error_checking: - deweighting: - deweight_factor: 1000 - ambiguities: - outage_reset_limit: 5 - phase_reject_limit: 2 - reinit_on_all_slips: true - - ambiguity_resolution: - elevation_mask: 15 - lambda_set_size: 200 - mode: LAMBDA_BIE - success_rate_threshold: 0.99 - solution_ratio_threshold: 30 - -estimation_parameters: - stations: - global: - pos: - estimated: [ true ] - sigma: [ 100 ] - proc_noise: [ 100 ] - clk: - estimated: [ true ] - sigma: [ 1000 ] - proc_noise: [ 100 ] - amb: - estimated: [ true ] - sigma: [ 1000 ] - proc_noise: [ 0 ] - trop: - estimated: [ true ] - sigma: [ 0.3 ] - proc_noise: [ 0.0001 ] - trop_grads: - estimated: [ true ] - sigma: [ 0.03 ] - proc_noise: [ 1.0E-6 ] - ion_stec: - estimated: [ true ] - sigma: [ 200 ] - proc_noise: [ 10 ] - code_bias: - estimated: [ true ] - sigma: [ 20 ] - proc_noise: [ 0 ] - phase_bias: - estimated: [ true ] - sigma: [ 10 ] - proc_noise: [ 0 ] diff --git a/docker/Dockerfile b/docker/Dockerfile index 25261573f..d26e7865e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -45,6 +45,7 @@ RUN \ mkdir -p src/build \ && cd src/build \ && cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DOC=TRUE .. \ + && make -j$BUILD_THREADS unit_tests \ && make -j$BUILD_THREADS $TARGET \ && cd - \ && rm -rf src/build @@ -117,4 +118,4 @@ COPY --from=gnssanalysis/ginan-env:latest /opt/mongocxx/lib/ /usr/local/lib/ # Render yaml of PEA's default parameter values, for reference. Note: -Y 3 is used in pipeline. # This doubles as a check that pea loads successfully. -RUN pea -Y 3 > /ginan/pea-defaults.yaml \ No newline at end of file +RUN pea -Y 3 > /ginan/pea-defaults.yaml diff --git a/exampleConfigs/loading/blq.yaml b/exampleConfigs/loading/blq.yaml new file mode 100644 index 000000000..b1cd00eaf --- /dev/null +++ b/exampleConfigs/loading/blq.yaml @@ -0,0 +1,13 @@ +greenfunction: inputData/loading/greens/F_A3.txt +tide: + - inputData/loading/fes2014b/m2.nc + - inputData/loading/fes2014b/s2.nc + - inputData/loading/fes2014b/n2.nc + - inputData/loading/fes2014b/k2.nc + - inputData/loading/fes2014b/k1.nc + - inputData/loading/fes2014b/o1.nc + - inputData/loading/fes2014b/p1.nc + - inputData/loading/fes2014b/q1.nc + - inputData/loading/fes2014b/mf.nc + - inputData/loading/fes2014b/mm.nc + - inputData/loading/fes2014b/ssa.nc diff --git a/exampleConfigs/ppp_example.yaml b/exampleConfigs/ppp_example.yaml index f800a0d7b..81b1f03eb 100644 --- a/exampleConfigs/ppp_example.yaml +++ b/exampleConfigs/ppp_example.yaml @@ -42,8 +42,8 @@ inputs: # - "*.rnx" - ALIC00AUS_R_20191990000_01D_30S_MO.rnx # - ALIC2.rnx - # - DARW00AUS_R_20191990000_01D_30S_MO.rnx - # - HOB200AUS_R_20191990000_01D_30S_MO.rnx + - DARW00AUS_R_20191990000_01D_30S_MO.rnx + - HOB200AUS_R_20191990000_01D_30S_MO.rnx # - "M*.rnx" outputs: @@ -59,7 +59,7 @@ outputs: output: true filename: .POS trace: - level: 2 + level: 4 output_receivers: true output_network: true receiver_filename: __.TRACE diff --git a/exampleConfigs/record_streams.yaml b/exampleConfigs/record_streams.yaml index 7a66c3035..4d61da884 100644 --- a/exampleConfigs/record_streams.yaml +++ b/exampleConfigs/record_streams.yaml @@ -88,6 +88,7 @@ satellite_options: # Required if write out SP3 files with SSRA streams receiver_options: # Receiver and antenna information to write to Rinex file headers (can use valid Sinex files instead) ALIC: + meta_priority: [CONFIG, RTCM, SINEX, RINEX] # Highest priority first within META receiver_type: "SEPT POLARX5" antenna_type: "TWIVC6050 NONE" apriori_position: [-4052052.7352, 4212835.9833, -2545104.5853] diff --git a/exampleConfigs/rt_ppp_example.yaml b/exampleConfigs/rt_ppp_example.yaml index 29b81cab3..9f5286aa6 100644 --- a/exampleConfigs/rt_ppp_example.yaml +++ b/exampleConfigs/rt_ppp_example.yaml @@ -84,12 +84,15 @@ receiver_options: global: elevation_mask: 15 # (degrees) error_model: ELEVATION_DEPENDENT # {uniform,elevation_dependent} + meta_priority: [RTCM, SINEX] # Highest priority first within META code_sigma: 0.3 # Standard deviation of code measurements (m) phase_sigma: 0.003 # Standard deviation of phase measurmeents (m) clock_codes: [AUTO, AUTO] zero_dcb_codes: [AUTO, AUTO] rec_reference_system: GPS models: + pos: + sources: [KALMAN, META, SPP, REMOTE] phase_bias: enable: false troposphere: # Tropospheric modelling accounts for delays due to refraction of light in water vapour @@ -105,15 +108,17 @@ receiver_options: ionospheric_components: use_2nd_order: true use_3rd_order: true - - ALIC: - receiver_type: "SEPT POLARX5" - antenna_type: "TWIVC6050 NONE" - apriori_position: [-4052052.7352, 4212835.9833, -2545104.5853] - models: eccentricity: enable: true - offset: [0.0000, 0.0000, 0.0250] + + # ALIC: + # receiver_type: "SEPT POLARX5" + # antenna_type: "TWIVC6050 NONE" + # apriori_position: [-4052052.7352, 4212835.9833, -2545104.5853] + # models: + # eccentricity: + # enable: true + # offset: [0.0000, 0.0000, 0.0250] MAW1: receiver_type: "SEPT POLARX5" @@ -317,7 +322,7 @@ estimation_parameters: process_noise: [0.001] mongo: # Mongo is a database used to store results and intermediate values for later analysis and inter-process communication - enable: primary # Enable and connect to mongo database {none,primary,secondary,both} + enable: none # Enable and connect to mongo database {none,primary,secondary,both} primary_uri: mongodb://localhost:27017 # Location and port of the mongo database to connect to primary_database: primary_suffix: "" # Suffix to append to database elements to make distinctions between runs for comparison diff --git a/exampleConfigs/slr_pod_with_pseudoobs_gal.yaml b/exampleConfigs/slr_pod_with_pseudoobs_gal.yaml index 5ec3a79ea..8c94ba267 100644 --- a/exampleConfigs/slr_pod_with_pseudoobs_gal.yaml +++ b/exampleConfigs/slr_pod_with_pseudoobs_gal.yaml @@ -169,8 +169,6 @@ processing_options: process: true ppp_filter: - inverter: ldlt # LLT LDLT INV - outlier_screening: prefit: max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter diff --git a/exampleConfigs/slr_pod_with_pseudoobs_lag.yaml b/exampleConfigs/slr_pod_with_pseudoobs_lag.yaml index 72dd502d6..e921794d1 100644 --- a/exampleConfigs/slr_pod_with_pseudoobs_lag.yaml +++ b/exampleConfigs/slr_pod_with_pseudoobs_lag.yaml @@ -141,8 +141,6 @@ processing_options: process: true # includes Lageos1 ppp_filter: - inverter: ldlt # LLT LDLT INV - outlier_screening: prefit: max_iterations: 10 # Maximum number of measurements to exclude using prefit checks before attempting to filter diff --git a/scripts/GinanUI/README.md b/scripts/GinanUI/README.md index 83897d1dd..bea643d8b 100644 --- a/scripts/GinanUI/README.md +++ b/scripts/GinanUI/README.md @@ -4,6 +4,8 @@ An intelligent and user-friendly interface for using the Geoscience Australia GN [User manual available here](./docs/USER_MANUAL.md) +[Application architecture document available here](./docs/APPLICATION_ARCHITECTURE.md) + ## Installation Please read the user manual above for installation instructions. \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/__init__.py b/scripts/GinanUI/app/controllers/__init__.py index e69de29bb..f24dea6df 100644 --- a/scripts/GinanUI/app/controllers/__init__.py +++ b/scripts/GinanUI/app/controllers/__init__.py @@ -0,0 +1,29 @@ +# app/controllers/__init__.py +""" +Controller layer for the Ginan-UI application. + +Controllers coordinate between the UI (views) and the backend (models / utils). +Each controller is responsible for a specific area of the UI: + + InputController - Parent controller: top-level buttons (Observations, + Output, Show Config, Process, Stop All, CDDIS + Credentials, User Manual, Reset Config), shared state, + and ExtractedInputs dataclass. + + GeneralConfigController - General config tab: mode, constellations multi-select, + PPP provider / project / series, receiver / antenna types, + time window, data interval, antenna offset, apriori + position. Also owns background workflows for CDDIS + archive scanning and SINEX file validation. + + ConstellationConfigController - Constellations config tab: observation code list widgets + with drag-drop reordering and checkboxes, BIA code + priority fetching and validation styling, + placeholder / status labels. + + OutputConfigController - Output config tab: POS, GPX, TRACE, SNX file output + checkboxes. + + VisualisationController - Visualisation panel: embedded HTML plot display, + external browser opening, plot selector combo box. +""" diff --git a/scripts/GinanUI/app/controllers/constellation_config_controller.py b/scripts/GinanUI/app/controllers/constellation_config_controller.py new file mode 100644 index 000000000..0e6f72dd0 --- /dev/null +++ b/scripts/GinanUI/app/controllers/constellation_config_controller.py @@ -0,0 +1,688 @@ +""" +Controller for the Constellations configuration tab. + +Manages the following UI widgets and background workflows: + - Per-constellation observation code QListWidgets (GPS, GAL, GLO, BDS, QZS) + - Per-constellation labels + - Placeholder / explanation / BIA warning / BIA loading status labels + - BIA code priority fetching (background worker) and code validation styling +""" + +from __future__ import annotations +from typing import List +from PySide6.QtCore import QObject, Qt, QThread +from PySide6.QtGui import QColor, QBrush +from PySide6.QtWidgets import ( + QLabel, + QListWidget, + QListWidgetItem, + QAbstractItemView, + QSizePolicy, + QWidget, + QVBoxLayout, +) +from scripts.GinanUI.app.utils.logger import Logger +from scripts.GinanUI.app.utils.workers import BiasProductWorker +from scripts.GinanUI.app.utils.toast import show_toast + + +class ConstellationConfigController(QObject): + """ + Manages the Constellations configuration tab: observation code list widgets, + BIA code priority validation, and placeholder/status labels. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController instance (for accessing shared state). + """ + + def __init__(self, ui, input_ctrl): + """ + Initialise constellation tab bindings and state. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController that owns shared state. + """ + super().__init__(parent=input_ctrl) + self.ui = ui + self.ctrl = input_ctrl # parent InputController + + # BIA worker tracking + self._bia_loading = False + self._bia_worker = None + self._bia_thread = None + self._bia_current_provider = None + self._bia_current_series = None + self._bia_current_project = None + + # Setup placeholder and status labels + self._setup_placeholder() + self._hide_all_widgets() + + # Connect tab change signal to trigger BIA fetch when switching to Constellations tab + self.ui.configTabWidget.currentChanged.connect(self.on_config_tab_changed) + + #region UI Tooltips + + def setup_tooltips(self): + """ + Set up tooltips for all constellation list widgets. + """ + tooltip_mapping = { + 'gpsListWidget': "GPS observation codes", + 'galListWidget': "Galileo observation codes", + 'gloListWidget': "GLONASS observation codes", + 'bdsListWidget': "BeiDou observation codes", + 'qzsListWidget': "QZSS observation codes", + } + for widget_name, label in tooltip_mapping.items(): + if hasattr(self.ui, widget_name): + getattr(self.ui, widget_name).setToolTip( + f"{label}\n" + "✓ Check / uncheck to enable / disable codes\n" + "↕ Drag and drop to set priority order (top = highest priority)" + ) + + #endregion + + #region Status Labels + + def _setup_placeholder(self): + """ + Create a placeholder label for the Constellations tab that shows when + no constellations are selected or no RINEX file is loaded. + """ + # Create the placeholder label + self._constellation_placeholder = QLabel( + "No constellations available!\n\n" + "Load a RINEX observation file and select constellations\n" + "in the General tab to configure observation codes" + ) + self._constellation_placeholder.setAlignment(Qt.AlignCenter) + self._constellation_placeholder.setWordWrap(True) + self._constellation_placeholder.setMinimumWidth(250) + self._constellation_placeholder.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self._constellation_placeholder.setStyleSheet( + "color: #bfbfbf; font-size: 13pt; margin: 15px;" + ) + + # Add to the constellations tab layout + if hasattr(self.ui, 'constellationsGridLayout'): + self.ui.constellationsGridLayout.addWidget( + self._constellation_placeholder, 0, 0, 10, 1, Qt.AlignCenter + ) + + # Initially visible + self._constellation_placeholder.setVisible(True) + + # Create explanation label for the Constellations tab + self._constellation_explanation_label = QLabel( + "Select observation codes and set priorities for each active constellation below.
" + "These observation codes are extracted from the loaded RINEX file.
" + "Red strikethrough = missing from .BIA file" + ) + self._constellation_explanation_label.setTextFormat(Qt.RichText) + self._constellation_explanation_label.setWordWrap(True) + self._constellation_explanation_label.setStyleSheet( + "color: #bfbfbf; font-size: 11pt; font-style: italic; margin-bottom: 6x; line-height: 1.4;" + ) + self._constellation_explanation_label.setVisible(False) + + # Create BIA warning label (shown when BIA fetch fails) + self._bia_warning_label = QLabel( + "⚠️ Failed to fetch BIA file for selected PPP products - unable to validate codes" + ) + self._bia_warning_label.setWordWrap(True) + self._bia_warning_label.setStyleSheet( + "QLabel { background-color: #8B4513; color: white; padding: 6px 12px; " + "border-radius: 4px; font: 10pt 'Segoe UI'; }" + ) + self._bia_warning_label.setAlignment(Qt.AlignCenter) + self._bia_warning_label.setVisible(False) + + # Create BIA loading label + self._bia_loading_label = QLabel("⏳ Loading code priorities from .BIA file...") + self._bia_loading_label.setWordWrap(True) + self._bia_loading_label.setStyleSheet( + "QLabel { background-color: #2c5d7c; color: white; padding: 8px 16px; " + "border-radius: 4px; font: 12pt 'Segoe UI'; }" + ) + self._bia_loading_label.setAlignment(Qt.AlignCenter) + self._bia_loading_label.setVisible(False) + + # Create a container widget with vertical layout for the status labels + self._constellation_status_container = QWidget() + status_layout = QVBoxLayout(self._constellation_status_container) + status_layout.setContentsMargins(0, 0, 0, 8) + status_layout.setSpacing(4) + status_layout.addWidget(self._constellation_explanation_label) + status_layout.addWidget(self._bia_warning_label) + status_layout.addWidget(self._bia_loading_label) + + # Add the status container to row 0 of the constellations grid layout + if hasattr(self.ui, 'constellationsGridLayout'): + self.ui.constellationsGridLayout.addWidget(self._constellation_status_container, 0, 0) + + def _hide_all_widgets(self): + """ + Hide all constellation labels and list widgets on startup. + They will be shown when a RINEX file is loaded and constellations are selected. + """ + widget_names = [ + 'gpsLabel', 'gpsListWidget', + 'galLabel', 'galListWidget', + 'gloLabel', 'gloListWidget', + 'bdsLabel', 'bdsListWidget', + 'qzsLabel', 'qzsListWidget', + ] + for widget_name in widget_names: + if hasattr(self.ui, widget_name): + getattr(self.ui, widget_name).setVisible(False) + + def _update_placeholder(self, show_placeholder: bool): + """ + Show or hide the constellation placeholder message. + + Arguments: + show_placeholder (bool): True to show placeholder, False to hide it. + """ + if hasattr(self, '_constellation_placeholder'): + self._constellation_placeholder.setVisible(show_placeholder) + # Show explanation label when placeholder is hidden (i.e., constellations are visible) + if hasattr(self, '_constellation_explanation_label'): + self._constellation_explanation_label.setVisible(not show_placeholder) + + #endregion + + #region Populate Observation Codes from RINEX + + def populate_observation_codes(self, result: dict): + """ + Populate the observation code list widgets with available codes from RINEX. + + Arguments: + result (dict): Dictionary containing observation code lists for each constellation. + """ + list_widget_mapping = { + 'GPS': ('obs_types_gps', 'enabled_gps', 'gpsListWidget'), + 'GAL': ('obs_types_gal', 'enabled_gal', 'galListWidget'), + 'GLO': ('obs_types_glo', 'enabled_glo', 'gloListWidget'), + 'BDS': ('obs_types_bds', 'enabled_bds', 'bdsListWidget'), + 'QZS': ('obs_types_qzs', 'enabled_qzs', 'qzsListWidget') + } + + populated_constellations = [] + + for const_name, (result_key, enabled_key, widget_name) in list_widget_mapping.items(): + if not hasattr(self.ui, widget_name): + continue + + list_widget = getattr(self.ui, widget_name) + codes = result.get(result_key, []) + enabled_codes = result.get(enabled_key, set()) + + if codes and len(codes) > 0: + self._setup_list_widget(list_widget, codes, enabled_codes) + populated_constellations.append(const_name) + else: + list_widget.clear() + list_widget.setEnabled(False) + + if populated_constellations: + Logger.workflow(f"✅ Populated observation codes for {', '.join(populated_constellations)}") + else: + Logger.workflow("⚠️ No observation codes found in RINEX") + + def _setup_list_widget(self, list_widget: QListWidget, codes: List[str], enabled_codes: set): + """ + Set up a list widget with drag-drop reordering and checkboxes for observation codes. + + Arguments: + list_widget (QListWidget): The list widget to set up. + codes (List[str]): List of observation codes to populate (in priority order). + enabled_codes (set): Set of codes that should be checked by default. + """ + list_widget.setEnabled(True) + list_widget.clear() + + # Enable drag and drop for reordering + list_widget.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) + list_widget.setDefaultDropAction(Qt.DropAction.MoveAction) + list_widget.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + + # Add items with checkboxes + for code in codes: + item = QListWidgetItem(code) + item.setFlags(item.flags() | Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled) + + # Check if this code is in the enabled set (from template priorities) + if code in enabled_codes: + item.setCheckState(Qt.CheckState.Checked) # Priority codes: checked + else: + item.setCheckState(Qt.CheckState.Unchecked) # Extra codes: unchecked + + list_widget.addItem(item) + + def extract_observation_codes(self) -> dict: + """ + Extract selected observation codes from all constellation list widgets in priority order. + + Returns: + dict: Dictionary mapping constellation names to lists of selected codes in order. + """ + obs_codes = {} + + list_widget_mapping = { + 'gps': 'gpsListWidget', + 'gal': 'galListWidget', + 'glo': 'gloListWidget', + 'bds': 'bdsListWidget', + 'qzs': 'qzsListWidget' + } + + for const_name, widget_name in list_widget_mapping.items(): + if not hasattr(self.ui, widget_name): + obs_codes[const_name] = [] + continue + + list_widget = getattr(self.ui, widget_name) + + # Extract checked items in their current order (priority order) + selected = [] + for i in range(list_widget.count()): + item = list_widget.item(i) + if item.checkState() == Qt.CheckState.Checked: + selected.append(item.text()) + + obs_codes[const_name] = selected + + return obs_codes + + #endregion + + #region Visibility of List Widgets + + def sync_list_widgets_to_selection(self): + """ + Show / hide constellation list widgets and labels based on the "General" tab's + constellation multi-select. Called when constellation selection changes. + Shows a placeholder message when no constellations are selected. + """ + selected_constellations = self.ctrl.general_tab.get_selected_constellation_set() + + widget_mapping = { + 'GPS': ('gpsLabel', 'gpsListWidget'), + 'GAL': ('galLabel', 'galListWidget'), + 'GLO': ('gloLabel', 'gloListWidget'), + 'BDS': ('bdsLabel', 'bdsListWidget'), + 'QZS': ('qzsLabel', 'qzsListWidget'), + } + + for const_name, (label_name, list_widget_name) in widget_mapping.items(): + is_enabled = const_name in selected_constellations + + if hasattr(self.ui, label_name): + getattr(self.ui, label_name).setVisible(is_enabled) + if hasattr(self.ui, list_widget_name): + getattr(self.ui, list_widget_name).setVisible(is_enabled) + + self._update_placeholder(len(selected_constellations) == 0) + + #endregion + + #region BIA Code Priority Fetching and Validation + + def on_config_tab_changed(self, index: int): + """ + UI handler: triggered when the config tab widget changes tabs. + When switching to the Constellations tab (index 1), fetch .BIA code priorities + for the current PPP selection if not already cached. + + Arguments: + index (int): The index of the newly selected tab. + """ + if index != 1: + return + + provider = self.ui.pppProviderCombo.currentText() + series = self.ui.pppSeriesCombo.currentText() + project = self.ui.pppProjectCombo.currentText() + + # Guard: Skip if any combo is empty or has placeholder values + if not provider or not series or not project: + return + if provider in ("", "None", "Select one") or series in ("", "None", "Select one") or project in ("", "None", "Select one"): + return + + # Guard: Skip if products_df is empty (happens during RINEX file change) + if self.ctrl.products_df.empty: + return + + # Check if we already have cached BIA data for this combination + if self._is_bia_cached(provider, series, project): + self._validate_codes_against_bia() + return + + # Check if we are already loading the same combination + if self._bia_loading: + if (self._bia_current_provider != provider or + self._bia_current_series != series or + self._bia_current_project != project): + Logger.console(f"🔄 BIA fetch interrupted - switching to {provider}/{series}/{project}") + else: + return + + # Start BIA fetch (will stop any existing worker first) + self._fetch_bia_code_priorities(provider, series, project) + + def _is_bia_cached(self, provider: str, series: str, project: str) -> bool: + """ + Check if BIA code priorities are cached for the given combination. + + Arguments: + provider (str): Analysis centre code. + series (str): Solution type code. + project (str): Project code. + + Returns: + bool: True if cached, False otherwise. + """ + try: + return (provider in self.ctrl.bia_code_priorities and + series in self.ctrl.bia_code_priorities[provider] and + project in self.ctrl.bia_code_priorities[provider][series]) + except (KeyError, TypeError): + return False + + def _fetch_bia_code_priorities(self, provider: str, series: str, project: str): + """ + Start background worker to fetch and parse BIA file for code priorities. + + Arguments: + provider (str): Analysis centre code. + series (str): Solution type code. + project (str): Project code. + """ + # Safety guard: don't start worker with invalid parameters + if not provider or not series or not project: + Logger.console(f"⚠️ BIA fetch skipped: invalid parameters provider='{provider}' series='{series}' project='{project}'") + return + if provider in ("", "None", "Select one") or series in ("", "None", "Select one") or project in ("", "None", "Select one"): + Logger.console(f"⚠️ BIA fetch skipped: placeholder values in parameters") + return + if self.ctrl.products_df.empty: + Logger.console(f"⚠️ BIA fetch skipped: products_df is empty") + return + + # Stop any existing BIAProductWorker before starting a new one + self.stop_bia_worker() + + self._bia_loading = True + self._show_bia_loading_indicator(True) + + # Create worker and thread + self._bia_thread = QThread() + self._bia_worker = BiasProductWorker(self.ctrl.products_df, provider, series, project) + self._bia_worker.moveToThread(self._bia_thread) + + # Connect signals + self._bia_thread.started.connect(self._bia_worker.run) + self._bia_worker.finished.connect(self._on_bia_finished) + self._bia_worker.error.connect(self._on_bia_error) + self._bia_worker.progress.connect(self._on_bia_progress) + self._bia_worker.finished.connect(self._bia_thread.quit) + self._bia_worker.error.connect(self._bia_thread.quit) + self._bia_thread.finished.connect(self._on_bia_thread_finished) + + # Store current selection for when results come back + self._bia_current_provider = provider + self._bia_current_series = series + self._bia_current_project = project + + self._bia_thread.start() + + def stop_bia_worker(self): + """ + Stop any running BIA worker and clean up thread resources. + """ + if self._bia_worker is not None: + self._bia_worker.stop() + try: + self._bia_worker.finished.disconnect() + self._bia_worker.error.disconnect() + self._bia_worker.progress.disconnect() + except (RuntimeError, TypeError): + pass + + if self._bia_thread is not None: + try: + self._bia_thread.started.disconnect() + self._bia_thread.finished.disconnect() + except (RuntimeError, TypeError): + pass + + if self._bia_thread.isRunning(): + self._bia_thread.quit() + if not self._bia_thread.wait(2000): + Logger.console("⚠️ BIA thread did not stop gracefully, forcing termination") + self._bia_thread.terminate() + self._bia_thread.wait(1000) + + self._bia_worker = None + self._bia_thread = None + self._bia_loading = False + + def _on_bia_progress(self, description: str, percent: int): + """ + UI handler: update progress during BIA fetch. + + Arguments: + description (str): Progress description. + percent (int): Progress percentage (-1 for indeterminate). + """ + if hasattr(self, '_bia_loading_label') and self._bia_loading_label: + self._bia_loading_label.setText(f"⏳ {description}") + + def _on_bia_finished(self, code_priorities: dict): + """ + UI handler: BIA fetch completed successfully. + + Arguments: + code_priorities (dict): Dictionary mapping constellation names to sets of code priorities + e.g., {'GPS': {'L1C', 'L2W'}, 'GAL': {'L1C', 'L5Q'}, ...} + """ + self._bia_loading = False + self._show_bia_loading_indicator(False) + self._show_bia_warning(False) + + # Cache the results + provider = self._bia_current_provider + series = self._bia_current_series + project = self._bia_current_project + + if provider not in self.ctrl.bia_code_priorities: + self.ctrl.bia_code_priorities[provider] = {} + if series not in self.ctrl.bia_code_priorities[provider]: + self.ctrl.bia_code_priorities[provider][series] = {} + self.ctrl.bia_code_priorities[provider][series][project] = code_priorities + + Logger.workflow(f"✅ BIA code priorities cached for {provider}/{series}/{project}") + self._validate_codes_against_bia() + + def _on_bia_error(self, error_msg: str): + """ + UI handler: BIA fetch failed. + + Arguments: + error_msg (str): Error message describing the failure. + """ + self._bia_loading = False + self._show_bia_loading_indicator(False) + + Logger.console(f"⚠️ BIA fetch error: {error_msg}") + + # Don't show warnings for cancelled fetches (user-initiated) + if "cancelled" in error_msg.lower(): + return + + self._mark_all_codes_invalid() + self._show_bia_warning(True) + Logger.workflow(f"⚠️ Failed to fetch BIA file for selected PPP products - unable to validate codes") + show_toast(self.ctrl.parent, f"⚠️ Could not fetch BIA data: {error_msg}", duration=3000) + + def _on_bia_thread_finished(self): + """ + Slot called when the BIA thread has fully finished. + Safe to clean up references here. + """ + self._bia_worker = None + self._bia_thread = None + + def _show_bia_loading_indicator(self, show: bool): + """ + Show or hide a loading indicator on the Constellations tab. + + Arguments: + show (bool): True to show, False to hide. + """ + if not hasattr(self, '_bia_loading_label') or self._bia_loading_label is None: + return + if show: + self._bia_loading_label.setText("⏳ Loading code priorities from .BIA file...") + self._bia_loading_label.setVisible(show) + + def _show_bia_warning(self, show: bool): + """ + Show or hide the BIA warning label on the Constellations tab. + + Arguments: + show (bool): True to show warning, False to hide it. + """ + if hasattr(self, '_bia_warning_label'): + self._bia_warning_label.setVisible(show) + + #endregion + + #region Code Frequency Validation Styling + + def _validate_codes_against_bia(self): + """ + Validate the codes in each constellation list widget against the cached BIA codes. + Codes that are NOT in the .BIA file are marked with strikethrough and a different colour. + """ + provider = self.ui.pppProviderCombo.currentText() + series = self.ui.pppSeriesCombo.currentText() + project = self.ui.pppProjectCombo.currentText() + + bia_codes = None + try: + bia_codes = self.ctrl.bia_code_priorities.get(provider, {}).get(series, {}).get(project, None) + except (KeyError, TypeError, AttributeError): + pass + + if not bia_codes: + self.reset_list_styling() + return + + widget_mapping = { + 'gpsListWidget': 'GPS', + 'galListWidget': 'GAL', + 'gloListWidget': 'GLO', + 'bdsListWidget': 'BDS', + 'qzsListWidget': 'QZS', + } + + # Colours for codes + valid_color = QColor('white') + invalid_color = QColor('#FF6B6B') + + for widget_name, constellation in widget_mapping.items(): + if not hasattr(self.ui, widget_name): + continue + + list_widget = getattr(self.ui, widget_name) + constellation_bia_codes = bia_codes.get(constellation, set()) + + for i in range(list_widget.count()): + item = list_widget.item(i) + if item is None: + continue + + code = item.text().strip() + font = item.font() + + if code in constellation_bia_codes: + font.setStrikeOut(False) + item.setFont(font) + item.setForeground(QBrush(valid_color)) + else: + font.setStrikeOut(True) + item.setFont(font) + item.setForeground(QBrush(invalid_color)) + + Logger.workflow(f"✅ Validated constellation codes against BIA for {provider}/{series}/{project}") + + def reset_list_styling(self): + """ + Reset all constellation list widget items to normal styling (no strikethrough, white colour). + Called when BIA data is not available. + """ + widget_names = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] + normal_color = QColor('white') + + for widget_name in widget_names: + if not hasattr(self.ui, widget_name): + continue + list_widget = getattr(self.ui, widget_name) + for i in range(list_widget.count()): + item = list_widget.item(i) + if item is None: + continue + font = item.font() + font.setStrikeOut(False) + item.setFont(font) + item.setForeground(QBrush(normal_color)) + + self._show_bia_warning(False) + + def _mark_all_codes_invalid(self): + """ + Mark all constellation list widget items as invalid (red strikethrough). + Called when BIA file fetch fails. + """ + widget_names = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] + invalid_color = QColor('#ff6b6b') + + for widget_name in widget_names: + if not hasattr(self.ui, widget_name): + continue + list_widget = getattr(self.ui, widget_name) + for i in range(list_widget.count()): + item = list_widget.item(i) + if item is None: + continue + font = item.font() + font.setStrikeOut(True) + item.setFont(font) + item.setForeground(QBrush(invalid_color)) + + #endregion + + #region Reset to Defaults + + def reset_to_defaults(self): + """ + Reset all Constellations tab fields to their default/initial states. + """ + list_widgets = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] + for widget_name in list_widgets: + if hasattr(self.ui, widget_name): + list_widget = getattr(self.ui, widget_name) + list_widget.clear() + list_widget.setEnabled(False) + + self._hide_all_widgets() + self._update_placeholder(True) + + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/general_config_controller.py b/scripts/GinanUI/app/controllers/general_config_controller.py new file mode 100644 index 000000000..2662b9472 --- /dev/null +++ b/scripts/GinanUI/app/controllers/general_config_controller.py @@ -0,0 +1,1369 @@ +""" +Controller for the General configuration tab. + +Manages the following UI widgets and background workflows: + - Mode combo (Static / Kinematic / Dynamic) + - Constellations multi-select combo + - PPP Provider / Project / Series combos + - Receiver Type and Antenna Type (free-text combos) + - Antenna Offset button / dialog + - Apriori Position button / dialog + - Time Window button / dialog + - Data Interval button / dialog + - CDDIS archive scanning for valid PPP analysis centres (DownloadWorker) + - SINEX validation against RINEX-extracted metadata (SinexValidationWorker) + - Constellation info retrieval from SP3 headers +""" + +from __future__ import annotations +from datetime import datetime +from pathlib import Path +from typing import Callable, List +import pandas as pd +from PySide6.QtCore import QDateTime, QObject, QThread, Qt +from PySide6.QtGui import QStandardItem, QStandardItemModel +from PySide6.QtWidgets import ( + QComboBox, + QDateTimeEdit, + QDialog, + QDoubleSpinBox, + QFormLayout, + QHBoxLayout, + QInputDialog, + QLineEdit, + QMessageBox, + QPushButton, + QSizePolicy, +) +from scripts.GinanUI.app.models.dl_products import ( + get_valid_analysis_centers, + get_valid_series_for_provider, +) +from scripts.GinanUI.app.models.execution import INPUT_PRODUCTS_PATH +from scripts.GinanUI.app.utils.logger import Logger +from scripts.GinanUI.app.utils.toast import show_toast +from scripts.GinanUI.app.utils.workers import DownloadWorker, SinexValidationWorker + +class GeneralConfigController(QObject): + """ + Manages the General configuration tab widgets and the background workflows + (CDDIS scanning, SINEX validation) that are triggered from this tab. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController instance (for accessing shared state). + """ + + def __init__(self, ui, input_ctrl): + """ + Initialise config panel bindings and background worker state. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController that owns shared state. + """ + super().__init__(parent=input_ctrl) + self.ui = ui + self.ctrl = input_ctrl # parent InputController + + # Mode combo + self._bind_combo(self.ui.modeCombo, lambda: ["Static", "Kinematic", "Dynamic"]) + + # PPP provider, project and series + self.ui.pppProviderCombo.currentTextChanged.connect(self._on_ppp_provider_changed) + self.ui.pppProjectCombo.currentTextChanged.connect(self._on_ppp_project_changed) + self.ui.pppSeriesCombo.currentTextChanged.connect(self._on_ppp_series_changed) + + # Constellations multi-select + self._bind_multiselect_combo( + self.ui.constellationsCombo, + lambda: ["GPS", "GAL", "GLO", "BDS", "QZS"], + self.ui.constellationsValue, + placeholder="Select one or more", + ) + + # Receiver/Antenna types: free-text input + self._enable_free_text_for_receiver_and_antenna() + + # Antenna offset + self.ui.antennaOffsetButton.clicked.connect(self._open_antenna_offset_dialog) + self.ui.antennaOffsetButton.setCursor(Qt.CursorShape.PointingHandCursor) + self.ui.antennaOffsetValue.setText("0.0, 0.0, 0.0") + + # Apriori position + self.ui.aprioriPositionButton.clicked.connect(self._open_apriori_position_dialog) + self.ui.aprioriPositionButton.setCursor(Qt.CursorShape.PointingHandCursor) + + # Time window and data interval + self.ui.timeWindowButton.clicked.connect(self._open_time_window_dialog) + self.ui.timeWindowButton.setCursor(Qt.CursorShape.PointingHandCursor) + self.ui.dataIntervalButton.clicked.connect(self._open_data_interval_dialog) + self.ui.dataIntervalButton.setCursor(Qt.CursorShape.PointingHandCursor) + + # CDDIS analysis centre scan worker tracking + self._worker = None + self._metadata_thread = None + self._pending_threads = [] + + # SINEX validation worker tracking + self._sinex_worker = None + self._sinex_thread = None + self._sinex_path = None + + #region UI Tooltips + + def setup_tooltips(self): + """ + Set up tooltips for all General config tab widgets. + """ + self.ui.modeCombo.setToolTip( + "Processing mode:\n" + "• Static: For stationary receivers\n" + "• Kinematic: For moving receivers\n" + "• Dynamic: For high-dynamic applications" + ) + self.ui.constellationsCombo.setToolTip( + "Select which GNSS constellations to use:\n" + "GPS, Galileo (GAL), GLONASS (GLO), BeiDou (BDS), QZSS (QZS)\n" + "More constellations generally improve accuracy" + ) + self.ui.pppProviderCombo.setToolTip( + "Analysis centre that provides PPP products\n" + "Options populated based on your observation time window" + ) + self.ui.pppProjectCombo.setToolTip( + "PPP product project type.\n" + "Different projects types offer varying GNSS constellation PPP products." + ) + self.ui.pppSeriesCombo.setToolTip( + "PPP product series:\n" + "• ULT: Ultra-rapid (lower latency)\n" + "• RAP: Rapid \n" + "• FIN: Final (highest accuracy)" + ) + self.ui.receiverTypeCombo.setToolTip( + "Receiver model extracted from RINEX header\n" + "Click to manually edit if needed" + ) + self.ui.antennaTypeCombo.setToolTip( + "Antenna model extracted from RINEX header\n" + "Must match entries in the ANTEX (.atx) calibration file\n" + "Click to manually edit if needed" + ) + self.ui.timeWindowButton.setToolTip( + "Observation time window extracted from RINEX file\n" + "Click to adjust start and end times for processing" + ) + self.ui.dataIntervalButton.setToolTip( + "Data sampling interval in seconds\n" + "Click to change the processing interval" + ) + self.ui.antennaOffsetButton.setToolTip( + "Antenna reference point offset in metres (East, North, Up)\n" + "Typically extracted from RINEX header\n" + "Click to modify if needed" + ) + self.ui.aprioriPositionButton.setToolTip( + "Approximate receiver position in ECEF coordinates (X, Y, Z) in metres\n" + "Typically extracted from RINEX header\n" + "Click to modify if needed" + ) + self.ui.receiverTypeValue.setToolTip("Receiver type from RINEX header") + self.ui.antennaTypeValue.setToolTip("Antenna type from RINEX header") + self.ui.constellationsValue.setToolTip("Available constellations in RINEX data") + self.ui.timeWindowValue.setToolTip("Observation time span") + self.ui.dataIntervalValue.setToolTip("Data sampling interval") + self.ui.antennaOffsetValue.setToolTip("Antenna offset: East, North, Up (metres)") + + #endregion + + #region UI Population from RINEX Extraction + + def populate_from_rinex(self, result: dict): + """ + Populate the General config tab fields with extracted RINEX metadata. + + Arguments: + result (dict): Dictionary from RinexExtractor.extract_rinex_data(). + """ + self.ui.constellationsValue.setText(result["constellations"]) + self.ui.timeWindowValue.setText(f"{result['start_epoch']} to {result['end_epoch']}") + self.ui.timeWindowButton.setText(f"{result['start_epoch']} to {result['end_epoch']}") + self.ui.dataIntervalButton.setText(f"{result['epoch_interval']} s") + self.ctrl.rinex_epoch_interval = float(result['epoch_interval']) + self.ui.receiverTypeValue.setText(result["receiver_type"]) + self.ui.antennaTypeValue.setText(result["antenna_type"]) + self.ui.antennaOffsetValue.setText(", ".join(map(str, result["antenna_offset"]))) + self.ui.antennaOffsetButton.setText(", ".join(map(str, result["antenna_offset"]))) + + # Populate apriori position if available + apriori = result.get("apriori_position") + if apriori and any(v != 0.0 for v in apriori): + self.ui.aprioriPositionButton.setText(", ".join(map(str, apriori))) + else: + self.ui.aprioriPositionButton.setText("0.0, 0.0, 0.0") + + # Receiver and antenna type combos + self.ui.receiverTypeCombo.clear() + self.ui.receiverTypeCombo.addItem(result["receiver_type"]) + self.ui.receiverTypeCombo.setCurrentIndex(0) + self.ui.receiverTypeCombo.lineEdit().setText(result["receiver_type"]) + + self.ui.antennaTypeCombo.clear() + self.ui.antennaTypeCombo.addItem(result["antenna_type"]) + self.ui.antennaTypeCombo.setCurrentIndex(0) + self.ui.antennaTypeCombo.lineEdit().setText(result["antenna_type"]) + + # Constellation multi-select + self._update_constellations_multiselect(result["constellations"]) + + #endregion + + #region Constellations Multi-Select + + def _update_constellations_multiselect(self, constellation_str: str): + """ + Populate and mirror a multi-select constellation combo with checkboxes. + + Arguments: + constellation_str (str): Comma-separated constellations (e.g., "GPS, GAL, GLO"). + """ + constellations = [c.strip() for c in constellation_str.split(",") if c.strip()] + combo = self.ui.constellationsCombo + + # Remove previous bindings + if hasattr(combo, '_old_showPopup'): + delattr(combo, '_old_showPopup') + + combo.clear() + combo.setEditable(True) + combo.lineEdit().setReadOnly(True) + combo.setInsertPolicy(QComboBox.NoInsert) + + # Build the item model + model = QStandardItemModel(combo) + for txt in constellations: + item = QStandardItem(txt) + item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + item.setCheckState(Qt.Checked) + model.appendRow(item) + + def on_item_changed(_item): + selected = [ + model.item(i).text() + for i in range(model.rowCount()) + if model.item(i).checkState() == Qt.Checked + ] + label = ", ".join(selected) if selected else "Select one or more" + combo.lineEdit().setText(label) + self.ui.constellationsValue.setText(label) + self.ctrl.constellations_tab.sync_list_widgets_to_selection() + + model.itemChanged.connect(on_item_changed) + combo.setModel(model) + combo.setCurrentIndex(-1) + + # Custom showPopup function to keep things reset + def show_popup_constellation(): + if combo.model() != model: + combo.setModel(model) + combo.setCurrentIndex(-1) + QComboBox.showPopup(combo) + + combo.showPopup = show_popup_constellation + + # Store for access and event consistency + combo._constellation_model = model + combo._constellation_on_item_changed = on_item_changed + + # Set initial label text + combo.lineEdit().setText(", ".join(constellations)) + self.ui.constellationsValue.setText(", ".join(constellations)) + + # Initial sync of list widgets + self.ctrl.constellations_tab.sync_list_widgets_to_selection() + + def get_selected_constellations_text(self) -> str: + """ + Return comma-separated text of currently selected constellations from the General tab combo. + + Returns: + str: e.g. "GPS, GAL, GLO" or fallback from the label. + """ + combo = self.ui.constellationsCombo + if hasattr(combo, '_constellation_model') and combo._constellation_model: + model = combo._constellation_model + selected = [model.item(i).text() for i in range(model.rowCount()) if model.item(i).checkState() == Qt.Checked] + return ", ".join(selected) + # Fallback to the label text if no custom model exists + return self.ui.constellationsValue.text() + + def get_selected_constellation_set(self) -> set: + """ + Return a set of currently selected constellation names (upper-cased). + + Returns: + set[str]: e.g. {'GPS', 'GAL', 'GLO'} + """ + selected = set() + combo = self.ui.constellationsCombo + if hasattr(combo, '_constellation_model') and combo._constellation_model: + model = combo._constellation_model + for i in range(model.rowCount()): + if model.item(i).checkState() == Qt.Checked: + selected.add(model.item(i).text().upper()) + return selected + + def update_constellations_for_ppp_selection(self): + """ + Update the constellations combobox to enable / disable items based on the + currently selected PPP provider/series/project combination. + Constellations supported by the selected combination are enabled and checked, + unsupported constellations are disabled and unchecked. + """ + combo = self.ui.constellationsCombo + if not hasattr(combo, '_constellation_model') or combo._constellation_model is None: + return + + model = combo._constellation_model + + # Get current PPP selection + provider = self.ui.pppProviderCombo.currentText() + series = self.ui.pppSeriesCombo.currentText() + project = self.ui.pppProjectCombo.currentText() + + # Get available constellations for this combination + available_constellations = set() + if hasattr(self.ctrl, 'provider_constellations') and self.ctrl.provider_constellations: + try: + available_constellations = self.ctrl.provider_constellations.get(provider, {}).get(series, {}).get(project, set()) + except (KeyError, AttributeError): + available_constellations = set() + + # If no constellation info available, enable all (fallback behaviour) + if not available_constellations: + for i in range(model.rowCount()): + item = model.item(i) + item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + return + + # Block signals to prevent triggering on_item_changed multiple times + model.blockSignals(True) + + # Update each constellation item + for i in range(model.rowCount()): + item = model.item(i) + constellation_name = item.text().upper() + + if constellation_name in available_constellations: + # Enable and check this constellation + #item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) # Un-comment to also disable checkability + item.setCheckState(Qt.Checked) + else: + # Disable and uncheck this constellation + #item.setFlags(Qt.ItemIsUserCheckable) # Un-comment to also disable checkability + item.setCheckState(Qt.Unchecked) + + model.blockSignals(False) + + # Update the label text to show only enabled/checked constellations + selected = [ + model.item(i).text() + for i in range(model.rowCount()) + if model.item(i).checkState() == Qt.Checked + ] + label = ", ".join(selected) if selected else "Select one or more" + combo.lineEdit().setText(label) + self.ui.constellationsValue.setText(label) + + # Sync the constellation list widgets + self.ctrl.constellations_tab.sync_list_widgets_to_selection() + + #endregion + + # region Time Window Dialog + + def _open_time_window_dialog(self): + """ + UI handler: open dialog to adjust observation start/end times. + """ + dlg = QDialog(self.ui.timeWindowButton) + dlg.setWindowTitle("Time Window") + + current_text = self.ui.timeWindowButton.text() + try: + s_text, e_text = current_text.split(" to ") + s_dt = QDateTime.fromString(s_text, "yyyy-MM-dd_HH:mm:ss") + e_dt = QDateTime.fromString(e_text, "yyyy-MM-dd_HH:mm:ss") + if not s_dt.isValid(): + s_dt = QDateTime.fromString(s_text, "yyyy-MM-dd HH:mm:ss") + if not e_dt.isValid(): + e_dt = QDateTime.fromString(e_text, "yyyy-MM-dd HH:mm:ss") + except Exception: + s_dt = e_dt = QDateTime.currentDateTime() + + form = QFormLayout(dlg) + start_edit = QDateTimeEdit(s_dt, dlg) + end_edit = QDateTimeEdit(e_dt, dlg) + start_edit.setCalendarPopup(True) + end_edit.setCalendarPopup(True) + start_edit.setDisplayFormat("yyyy-MM-dd_HH:mm:ss") + end_edit.setDisplayFormat("yyyy-MM-dd_HH:mm:ss") + start_edit.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + end_edit.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + form.addRow("Start:", start_edit) + form.addRow("End:", end_edit) + + btn_row = QHBoxLayout() + ok_btn = QPushButton("OK", dlg) + cancel_btn = QPushButton("Cancel", dlg) + btn_row.addWidget(ok_btn) + btn_row.addWidget(cancel_btn) + form.addRow(btn_row) + + ok_btn.clicked.connect(lambda: self._set_time_window(start_edit, end_edit, dlg)) + cancel_btn.clicked.connect(dlg.reject) + dlg.setMinimumWidth(300) + dlg.setFixedHeight(dlg.sizeHint().height()) + dlg.exec() + + def _set_time_window(self, start_edit, end_edit, dlg: QDialog): + """ + UI handler: validate and set selected time window into UI. + + Arguments: + start_edit (QDateTimeEdit): Start time widget. + end_edit (QDateTimeEdit): End time widget. + dlg (QDialog): Dialog to accept/close. + """ + if end_edit.dateTime() < start_edit.dateTime(): + QMessageBox.warning(dlg, "Time error", + "End time cannot be earlier than start time.\nPlease select again.") + return + + s = start_edit.dateTime().toString("yyyy-MM-dd_HH:mm:ss") + e = end_edit.dateTime().toString("yyyy-MM-dd_HH:mm:ss") + self.ui.timeWindowButton.setText(f"{s} to {e}") + self.ui.timeWindowValue.setText(f"{s} to {e}") + dlg.accept() + + # endregion + + # region Data Interval Dialog + + def _open_data_interval_dialog(self): + """ + UI handler: open dialog to adjust data interval (seconds). + """ + dlg = QDialog(self.ui.dataIntervalButton) + dlg.setWindowTitle("Data Interval") + + current_text = self.ui.dataIntervalButton.text().replace(" s", "").strip() + try: + current_val = float(current_text) + except ValueError: + current_val = 1.0 + + form = QFormLayout(dlg) + interval_spin = QDoubleSpinBox(dlg) + interval_spin.setRange(0.01, 999999.99) + interval_spin.setDecimals(2) + interval_spin.setValue(current_val) + interval_spin.setSuffix(" s") + interval_spin.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + form.addRow("Interval:", interval_spin) + + btn_row = QHBoxLayout() + ok_btn = QPushButton("OK", dlg) + cancel_btn = QPushButton("Cancel", dlg) + btn_row.addWidget(ok_btn) + btn_row.addWidget(cancel_btn) + form.addRow(btn_row) + + ok_btn.clicked.connect(lambda: self._set_data_interval(interval_spin, dlg)) + cancel_btn.clicked.connect(dlg.reject) + dlg.setMinimumWidth(300) + dlg.setFixedHeight(dlg.sizeHint().height()) + dlg.exec() + + def _set_data_interval(self, interval_spin, dlg: QDialog): + """ + UI handler: apply data interval value back to UI. + + Arguments: + interval_spin (QDoubleSpinBox): Interval spin box. + dlg (QDialog): Dialog to accept/close. + """ + val = interval_spin.value() + text = f"{int(val)} s" if val == int(val) else f"{val:.2f} s" + self.ui.dataIntervalButton.setText(text) + self.ui.dataIntervalValue.setText(text) + dlg.accept() + + # endregion + + # region Receiver / Antenna Type Dialog + + def _enable_free_text_for_receiver_and_antenna(self): + """ + Allow users to enter custom receiver/antenna types via popup, mirroring to UI. + """ + self.ui.receiverTypeCombo.setEditable(True) + self.ui.receiverTypeCombo.lineEdit().setReadOnly(True) + self.ui.antennaTypeCombo.setEditable(True) + self.ui.antennaTypeCombo.lineEdit().setReadOnly(True) + + # Receiver type free text + def _ask_receiver_type(): + current_text = self.ui.receiverTypeCombo.currentText().strip() + text, ok = QInputDialog.getText( + self.ui.receiverTypeCombo, + "Receiver Type", + "Enter receiver type:", + text=current_text + ) + if ok and text: + self.ui.receiverTypeCombo.clear() + self.ui.receiverTypeCombo.addItem(text) + self.ui.receiverTypeCombo.lineEdit().setText(text) + self.ui.receiverTypeValue.setText(text) + + self.ui.receiverTypeCombo.showPopup = _ask_receiver_type + + # Antenna type free text + def _ask_antenna_type(): + current_text = self.ui.antennaTypeCombo.currentText().strip() + text, ok = QInputDialog.getText( + self.ui.antennaTypeCombo, + "Antenna Type", + "Enter antenna type:", + text=current_text + ) + if ok and text: + self.ui.antennaTypeCombo.clear() + self.ui.antennaTypeCombo.addItem(text) + self.ui.antennaTypeCombo.lineEdit().setText(text) + self.ui.antennaTypeValue.setText(text) + + self.ui.antennaTypeCombo.showPopup = _ask_antenna_type + + # endregion + + # region Antenna Type Verification + + def verify_antenna_type(self, result: dict): + """ + UI handler: verify that the RINEX antenna_type exists in the selected ANTEX (.atx) file. + + Arguments: + result (dict): RINEX extraction result containing 'antenna_type'. + """ + atx_path = self._get_best_atx_path() + + with open(atx_path, "r") as file: + for line in file: + label = line[60:].strip() + + # Read and find antenna_type tag + if label == "TYPE / SERIAL NO" and line[20:24].strip() == "": + valid_antenna_type = line[0:20] + + if len(valid_antenna_type.strip()) < 16 or not valid_antenna_type[16:].strip(): + # Just the antenna part is included, need to add radome (cover) + antenna_part = valid_antenna_type[:15].strip() + valid_antenna_type = f"{antenna_part:<15} NONE" + + # Do same normalisation for result["antenna_type"] + result_antenna = result["antenna_type"] + + if len(result_antenna.strip()) < 16 or ( + len(result_antenna) > 16 and not result_antenna[16:].strip()): + antenna_part = result_antenna[:15].strip() + result_antenna = f"{antenna_part:<15} NONE" + + # Compare strings + if result_antenna.strip() == valid_antenna_type.strip(): + Logger.workflow("✅ Antenna type verified from .atx file") + return + + # Not found! Return warning to user + QMessageBox.warning( + None, + "Provided Antenna Type Invalid", + f'Provided antenna type in .rnx file: "{result["antenna_type"]}"\n' + f'not found in .atx file: "{atx_path}"' + ) + Logger.workflow(f"⚠️ Antenna type failed to verify from .atx file: {atx_path}") + return + + def _get_best_atx_path(self): + """ + Select the best available ANTEX (.atx) file with a priority order. + + Returns: + Path: Path to the best available .atx file. + + Raises: + FileNotFoundError: If no .atx file is found. + """ + atx_files = list(INPUT_PRODUCTS_PATH.glob("*.atx")) + if len(atx_files) == 0: + raise FileNotFoundError("No .atx file found") + elif len(atx_files) > 1: + priority_order = ['igs20.atx', 'igs14.atx', 'igs13.atx', 'igs08.atx', 'igs05.atx'] + atx_path = None + for best_atx in priority_order: + matching_files = [f for f in atx_files if f.name == best_atx] + if matching_files: + atx_path = matching_files[0] + Logger.workflow(f"📁 Selected .atx file: {atx_path.name} based on priority") + break + + if atx_path is None: + atx_path = atx_files[0] + Logger.workflow(f"📁 Selected .atx file: {atx_path.name} based on fallback") + else: + atx_path = atx_files[0] + return atx_path + + # endregion + + # region Antenna Offset Dialog + + def _open_antenna_offset_dialog(self): + """ + UI handler: open antenna offset dialog (E, N, U) with text input fields. + """ + dlg = QDialog(self.ui.antennaOffsetButton) + dlg.setWindowTitle("Antenna Offset") + + try: + e0, n0, u0 = [x.strip() for x in self.ui.antennaOffsetValue.text().split(",")] + except Exception: + e0 = n0 = u0 = "0.0" + + form = QFormLayout(dlg) + edit_e = QLineEdit(str(e0), dlg) + edit_n = QLineEdit(str(n0), dlg) + edit_u = QLineEdit(str(u0), dlg) + form.addRow("E:", edit_e) + form.addRow("N:", edit_n) + form.addRow("U:", edit_u) + + btn_row = QHBoxLayout() + ok_btn = QPushButton("OK", dlg) + cancel_btn = QPushButton("Cancel", dlg) + btn_row.addWidget(ok_btn) + btn_row.addWidget(cancel_btn) + form.addRow(btn_row) + + ok_btn.clicked.connect(lambda: self._set_antenna_offset(edit_e, edit_n, edit_u, dlg)) + cancel_btn.clicked.connect(dlg.reject) + dlg.setMinimumWidth(300) + dlg.setFixedHeight(dlg.sizeHint().height()) + dlg.exec() + + def _set_antenna_offset(self, edit_e, edit_n, edit_u, dlg: QDialog): + """ + UI handler: apply antenna offset values back to UI. + + Arguments: + edit_e (QLineEdit): East (E) input field. + edit_n (QLineEdit): North (N) input field. + edit_u (QLineEdit): Up (U) input field. + dlg (QDialog): Dialog to accept/close. + """ + try: + e = float(edit_e.text().strip()) + n = float(edit_n.text().strip()) + u = float(edit_u.text().strip()) + except ValueError: + QMessageBox.warning(dlg, "Invalid input", "Please enter valid numeric values.") + return + + text = f"{e}, {n}, {u}" + self.ui.antennaOffsetButton.setText(text) + self.ui.antennaOffsetValue.setText(text) + dlg.accept() + + # endregion + + # region Apriori Position Dialog + + def _open_apriori_position_dialog(self): + """ + UI handler: open apriori position dialog (X, Y, Z) with text input fields. + """ + dlg = QDialog(self.ui.aprioriPositionButton) + dlg.setWindowTitle("Apriori Position (ECEF)") + + try: + x0, y0, z0 = [x.strip() for x in self.ui.aprioriPositionButton.text().split(",")] + except Exception: + x0 = y0 = z0 = "0.0" + + form = QFormLayout(dlg) + edit_x = QLineEdit(str(x0), dlg) + edit_y = QLineEdit(str(y0), dlg) + edit_z = QLineEdit(str(z0), dlg) + form.addRow("X:", edit_x) + form.addRow("Y:", edit_y) + form.addRow("Z:", edit_z) + + btn_row = QHBoxLayout() + ok_btn = QPushButton("OK", dlg) + cancel_btn = QPushButton("Cancel", dlg) + btn_row.addWidget(ok_btn) + btn_row.addWidget(cancel_btn) + form.addRow(btn_row) + + ok_btn.clicked.connect(lambda: self._set_apriori_position(edit_x, edit_y, edit_z, dlg)) + cancel_btn.clicked.connect(dlg.reject) + dlg.setMinimumWidth(300) + dlg.setFixedHeight(dlg.sizeHint().height()) + dlg.exec() + + def _set_apriori_position(self, edit_x, edit_y, edit_z, dlg: QDialog): + """ + UI handler: apply apriori position values back to UI. + + Arguments: + edit_x (QLineEdit): X coordinate input field. + edit_y (QLineEdit): Y coordinate input field. + edit_z (QLineEdit): Z coordinate input field. + dlg (QDialog): Dialog to accept/close. + """ + try: + x = float(edit_x.text().strip()) + y = float(edit_y.text().strip()) + z = float(edit_z.text().strip()) + except ValueError: + QMessageBox.warning(dlg, "Invalid input", "Please enter valid numeric values.") + return + + text = f"{x}, {y}, {z}" + self.ui.aprioriPositionButton.setText(text) + dlg.accept() + + # endregion + + # region SINEX Validation + + def start_sinex_validation(self, target_date: datetime, marker_name: str, receiver_type: str, + antenna_type: str, antenna_offset: list, apriori_position: list = None): + """ + Start SINEX validation in a background thread. + + Arguments: + target_date (datetime): Date for which to download the SINEX file. + marker_name (str): 4-character marker name from RINEX. + receiver_type (str): Receiver type from RINEX. + antenna_type (str): Antenna type from RINEX. + antenna_offset (list): Antenna offset [E, N, U] from RINEX. + apriori_position (list): Optional apriori position [X, Y, Z] from RINEX. + """ + if not marker_name or len(marker_name) < 4: + Logger.workflow("⚠️ Invalid marker name - SINEX validation skipped") + return + + # Stop any existing SINEX worker + self._stop_sinex_worker() + + Logger.workflow(f"📋 Starting SINEX validation for marker '{marker_name[:4]}'...") + + # Create worker and thread + self._sinex_worker = SinexValidationWorker( + target_date=target_date, + marker_name=marker_name[:4], # Use first 4 characters + receiver_type=receiver_type, + antenna_type=antenna_type, + antenna_offset=antenna_offset, + apriori_position=apriori_position, + ) + self._sinex_thread = QThread() + self._sinex_worker.moveToThread(self._sinex_thread) + + # Connect signals + self._sinex_worker.finished.connect(self._on_sinex_validation_finished) + self._sinex_worker.error.connect(self._on_sinex_validation_error) + self._sinex_worker.progress.connect(self._on_sinex_validation_progress) + + self._sinex_thread.started.connect(self._sinex_worker.run) + self._sinex_worker.finished.connect(self._sinex_thread.quit) + self._sinex_worker.error.connect(self._sinex_thread.quit) + self._sinex_thread.finished.connect(self._on_sinex_thread_finished) + + self._sinex_thread.start() + + def _stop_sinex_worker(self): + """ + Stop any running SINEX validation worker and clean up thread resources. + """ + if self._sinex_worker is not None: + self._sinex_worker.stop() + try: + self._sinex_worker.finished.disconnect() + self._sinex_worker.error.disconnect() + self._sinex_worker.progress.disconnect() + except (RuntimeError, TypeError): + pass + + if self._sinex_thread is not None: + try: + self._sinex_thread.started.disconnect() + self._sinex_thread.finished.disconnect() + except (RuntimeError, TypeError): + pass + + if self._sinex_thread.isRunning(): + self._sinex_thread.quit() + if not self._sinex_thread.wait(2000): + Logger.console("⚠️ SINEX thread did not stop gracefully, forcing termination") + self._sinex_thread.terminate() + self._sinex_thread.wait(1000) + + self._sinex_worker = None + self._sinex_thread = None + + def _on_sinex_validation_progress(self, description: str, percent: int): + """ + UI handler: update progress bar during SINEX download. + + Arguments: + description (str): Progress description (filename). + percent (int): Progress percentage (0-100). + """ + if hasattr(self.ui, 'progressBar'): + self.ui.progressBar.setValue(percent) + self.ui.progressBar.setFormat(f"📥 {description}: {percent}%") + + def _on_sinex_validation_finished(self, sinex_path, validation_results: dict): + """ + UI handler: SINEX validation completed. + + Arguments: + sinex_path (Path): Path to the downloaded SINEX file. + validation_results (dict): Validation results dictionary. + """ + self._sinex_path = sinex_path + + # Store the SINEX filename for later use in apply_ui_config() + if sinex_path is not None: + self.ctrl._sinex_filename = sinex_path.name + + # Reset progress bar + if hasattr(self.ui, 'progressBar'): + self.ui.progressBar.setValue(0) + self.ui.progressBar.setFormat("") + + # Check validation results and show appropriate toast + if 'error' in validation_results: + show_toast(self.ctrl.parent, f"⚠️ SINEX validation error: {validation_results['error']}", duration=5000) + return + + if not validation_results.get('marker_found', False): + show_toast(self.ctrl.parent, f"ℹ️ Marker not found in SINEX file", duration=3000) + return + + # Apply SINEX apriori_position to UI if available (SINEX is more accurate than RINEX) + apriori_result = validation_results.get('apriori_position', {}) + sinex_position = apriori_result.get('sinex_value') + if sinex_position is not None and len(sinex_position) == 3: + position_str = ", ".join(str(v) for v in sinex_position) + self.ui.aprioriPositionButton.setText(position_str) + + # Check if all validations passed + all_valid = True + has_validations = False + for field in ['receiver_type', 'antenna_type', 'antenna_offset', 'apriori_position']: + field_result = validation_results.get(field, {}) + if field_result.get('valid') is True: + has_validations = True + elif field_result.get('valid') is False: + all_valid = False + has_validations = True + + if has_validations: + if all_valid: + show_toast(self.ctrl.parent, "✅ SINEX validation passed", duration=3000) + else: + show_toast(self.ctrl.parent, "⚠️ SINEX validation warnings - check workflow", duration=5000) + + def _on_sinex_validation_error(self, error_msg: str): + """ + UI handler: SINEX validation failed. + + Arguments: + error_msg (str): Error message describing the failure. + """ + # Don't show a toast for cancelled operations + if "cancelled" in error_msg.lower(): + return + + # A skipped validation (e.g. the SINEX file does not exist for this date) + # is expected behaviour, not a failure - inform the user and move on. + if "skipped" in error_msg.lower(): + show_toast(self.ctrl.parent, "ℹ️ SINEX unavailable - validation skipped", duration=3000) + return + + Logger.workflow(f"⚠️ SINEX validation error: {error_msg}") + show_toast(self.ctrl.parent, f"⚠️ SINEX validation failed: {error_msg}", duration=5000) + + def _on_sinex_thread_finished(self): + """ + Slot called when the SINEX thread has fully finished. + Safe to clean up references here. + """ + self._sinex_worker = None + self._sinex_thread = None + + # endregion + + #region PPP Provider / Series / Project Combos + + def _on_ppp_provider_changed(self, provider_name: str): + """ + UI handler: when PPP provider changes, refresh project and series options. + Only shows series that have all required files (SP3, BIA, CLK). + """ + if not provider_name or provider_name.strip() == "": + return + try: + # Get valid series for this provider (only those with all required files) + valid_series = get_valid_series_for_provider(self.ctrl.products_df, provider_name) + + if not valid_series: + raise ValueError(f"No valid series (with all required files) for provider: {provider_name}") + + # Get DataFrame of valid (project, series) pairs - filter for valid series only + df = self.ctrl.products_df.loc[ + (self.ctrl.products_df["analysis_center"] == provider_name) & + (self.ctrl.products_df["solution_type"].isin(valid_series)), + ["project", "solution_type"]] + + if df.empty: + raise ValueError(f"No valid project–series combinations for provider: {provider_name}") + + # Store for future filtering if needed + self.ctrl._valid_project_series_df = df + self.ctrl._valid_series_for_provider = valid_series # Cache valid series + + project_options = sorted(df['project'].unique()) + series_options = sorted(df['solution_type'].unique()) + + # Block signals before clearing and populating to prevent any duplicates in dropdown + self.ui.pppProjectCombo.blockSignals(True) + self.ui.pppSeriesCombo.blockSignals(True) + + self.ui.pppProjectCombo.clear() + self.ui.pppSeriesCombo.clear() + + self.ui.pppProjectCombo.addItems(project_options) + self.ui.pppSeriesCombo.addItems(series_options) + + self.ui.pppProjectCombo.setCurrentIndex(0) + self.ui.pppSeriesCombo.setCurrentIndex(0) + + # Unblock signals now that the population is complete + self.ui.pppProjectCombo.blockSignals(False) + self.ui.pppSeriesCombo.blockSignals(False) + + # Update constellations combobox based on new PPP selection + self.update_constellations_for_ppp_selection() + + # If we're on the Constellations tab, trigger BIA fetch for new selection + if self.ui.configTabWidget.currentIndex() == 1: + self.ctrl.constellations_tab.on_config_tab_changed(1) + + except Exception as e: + self.ui.pppSeriesCombo.clear() + self.ui.pppSeriesCombo.addItem("None") + self.ui.pppProjectCombo.clear() + self.ui.pppProjectCombo.addItem("None") + + def _on_ppp_series_changed(self, selected_series: str): + """ + UI handler: when PPP series changes, filter valid projects. + + Arguments: + selected_series (str): Series code, e.g., 'ULT', 'RAP', 'FIN'. + """ + if not hasattr(self.ctrl, "_valid_project_series_df"): + return + + df = self.ctrl._valid_project_series_df + filtered_df = df[df["solution_type"] == selected_series] + valid_projects = sorted(filtered_df["project"].unique()) + + self.ui.pppProjectCombo.blockSignals(True) + self.ui.pppProjectCombo.clear() + self.ui.pppProjectCombo.addItems(valid_projects) + self.ui.pppProjectCombo.setCurrentIndex(0) + self.ui.pppProjectCombo.blockSignals(False) + + # Update constellations combobox based on new PPP selection + self.update_constellations_for_ppp_selection() + + # If we are on the Constellations tab, trigger BIA fetch for new selection + if self.ui.configTabWidget.currentIndex() == 1: + self.ctrl.constellations_tab.on_config_tab_changed(1) + + def _on_ppp_project_changed(self, selected_project: str): + """ + UI handler: when PPP project changes, filter valid series. + Only displays series that have all required files (SP3, BIA, CLK). + """ + if not hasattr(self.ctrl, "_valid_project_series_df"): + return + + df = self.ctrl._valid_project_series_df + filtered_df = df[df["project"] == selected_project] + valid_series = sorted(filtered_df["solution_type"].unique()) + + # Ensure only series with all required files are displayed + if hasattr(self.ctrl, "_valid_series_for_provider"): + valid_series = [s for s in valid_series if s in self.ctrl._valid_series_for_provider] + + self.ui.pppSeriesCombo.blockSignals(True) + self.ui.pppSeriesCombo.clear() + self.ui.pppSeriesCombo.addItems(valid_series) + self.ui.pppSeriesCombo.setCurrentIndex(0) + self.ui.pppSeriesCombo.blockSignals(False) + + # Update constellations combobox based on new PPP selection + self.update_constellations_for_ppp_selection() + + Logger.workflow(f"✅ Filtered PPP series for project '{selected_project}': {valid_series}") + + # If we are on the Constellations tab, trigger BIA fetch for new selection + if self.ui.configTabWidget.currentIndex() == 1: + self.ctrl.constellations_tab.on_config_tab_changed(1) + + #endregion + + #region CDDIS Analysis Centre Scanning + + def start_analysis_centre_scan(self, start_epoch: datetime, end_epoch: datetime): + """ + Start a background worker to scan the CDDIS archive for valid PPP analysis centres. + + Arguments: + start_epoch (datetime): Start of the observation time window. + end_epoch (datetime): End of the observation time window. + """ + # Clean up any existing analysis centre threads before starting a new one + self._cleanup_analysis_thread() + + self._worker = DownloadWorker(start_epoch=start_epoch, end_epoch=end_epoch, analysis_centers=True) + self._metadata_thread = QThread() + self._worker.moveToThread(self._metadata_thread) + + self._worker.finished.connect(self.on_cddis_ready) + self._worker.finished.connect(self._restore_cursor) + self._worker.cancelled.connect(self._on_cddis_cancelled) + self._worker.cancelled.connect(self._restore_cursor) + self._worker.constellation_info.connect(self._on_constellation_info_received) + + # Connect both finished and cancelled to thread quit + self._worker.finished.connect(self._metadata_thread.quit) + self._worker.cancelled.connect(self._metadata_thread.quit) + self._metadata_thread.finished.connect(self._on_analysis_thread_finished) + self._metadata_thread.started.connect(self._worker.run) + self._metadata_thread.start() + + def on_cddis_ready(self, data: pd.DataFrame, log_messages: bool = True): + """ + UI handler: receive PPP products DataFrame from worker and populate provider/project/series combos. + + Arguments: + data (pd.DataFrame): Products dataframe from CDDIS scan. + log_messages (bool): Whether to log success messages (False when clearing). + """ + self.ctrl.products_df = data + + if data.empty: + self.ctrl.valid_analysis_centers = [] + self.ui.pppProviderCombo.clear() + self.ui.pppProviderCombo.addItem("None") + self.ui.pppSeriesCombo.clear() + self.ui.pppSeriesCombo.addItem("None") + return + + self.ctrl.valid_analysis_centers = list(get_valid_analysis_centers(self.ctrl.products_df)) + + if len(self.ctrl.valid_analysis_centers) == 0: + self.ui.pppProviderCombo.clear() + self.ui.pppProviderCombo.addItem("None") + self.ui.pppSeriesCombo.clear() + self.ui.pppSeriesCombo.addItem("None") + return + + self.ui.pppProviderCombo.blockSignals(True) + self.ui.pppProviderCombo.clear() + self.ui.pppProviderCombo.addItems(self.ctrl.valid_analysis_centers) + self.ui.pppProviderCombo.setCurrentIndex(0) + + # Update PPP series based on default PPP provider + self.ui.pppProviderCombo.blockSignals(False) + self.ctrl.try_enable_process_button() + self._on_ppp_provider_changed(self.ctrl.valid_analysis_centers[0]) + if log_messages: + Logger.workflow( + f"✅ CDDIS archive scan complete. Found PPP product providers: {', '.join(self.ctrl.valid_analysis_centers)}") + show_toast(self.ctrl.parent, f"✅ Found {len(self.ctrl.valid_analysis_centers)} PPP provider(s)", duration=3000) + + def _on_cddis_cancelled(self): + """ + UI handler: handle cancellation of CDDIS worker. + """ + Logger.workflow("📦 PPP provider scan was cancelled") + + def _on_cddis_error(self, msg): + """ + UI handler: report CDDIS worker error to the UI. + + Arguments: + msg (str): Error message from the worker. + """ + Logger.workflow(f"Error loading CDDIS data: {msg}") + self.ui.pppProviderCombo.clear() + self.ui.pppProviderCombo.addItem("None") + self.ctrl.parent.setCursor(Qt.CursorShape.ArrowCursor) + show_toast(self.ctrl.parent, "⚠️ Failed to scan CDDIS archive", duration=4000) + + def _restore_cursor(self): + """ + Restore the cursor to normal arrow after background operation completes. + """ + self.ctrl.parent.setCursor(Qt.CursorShape.ArrowCursor) + + def _on_constellation_info_received(self, provider_constellations: dict): + """ + UI handler: receive and store constellation information for each PPP provider/series/project. + This is emitted by the DownloadWorker after fetching the SP3 headers. + + Arguments: + provider_constellations (dict): Nested dictionary mapping "provider -> series -> project -> constellations" + e.g., { + 'COD': { + 'FIN': {'OPS': {'GPS', 'GLO', 'GAL'}, 'MGX': {'GPS', 'GLO', 'GAL', 'BDS', 'QZS'}}, + 'RAP': {'OPS': {'GPS', 'GLO', 'GAL'}} + }, ... + } + """ + # Store for later use when filtering constellations UI based on selected provider/series/project + self.ctrl.provider_constellations = provider_constellations + + Logger.console("📡 Provider constellation information received") + + # Update constellations combobox based on current PPP selection + self.update_constellations_for_ppp_selection() + + # If already on Constellations tab, trigger BIA fetch + if self.ui.configTabWidget.currentIndex() == 1: + self.ctrl.constellations_tab.on_config_tab_changed(1) + + def _cleanup_analysis_thread(self): + """ + Request any running analysis centre threads to cancel. + Moves the thread to _pending_threads list so it isn't destroyed while running. + """ + if self._worker is not None: + self._worker.stop() + + if self._metadata_thread is not None: + if self._metadata_thread.isRunning(): + # Disconnect old signals to prevent callbacks to stale state + try: + self._worker.finished.disconnect() + self._worker.cancelled.disconnect() + except (TypeError, RuntimeError): + pass # Already disconnected or object deleted + try: + self._worker.constellation_info.disconnect() + self._worker.progress.disconnect() + except (TypeError, RuntimeError): + pass # Already disconnected or object deleted + + # Keep reference alive until thread actually finishes + old_thread = self._metadata_thread + + def cleanup_old_thread(): + if old_thread in self._pending_threads: + self._pending_threads.remove(old_thread) + + old_thread.finished.connect(cleanup_old_thread) + self._pending_threads.append(old_thread) + + # Clear current references so new thread can be created + self._worker = None + self._metadata_thread = None + + def _on_analysis_thread_finished(self): + """ + Slot called when the analysis thread has fully finished. + Safe to clean up references here. + """ + if self._metadata_thread is not None: + if not self._metadata_thread.isRunning(): + self._worker = None + self._metadata_thread = None + + # Also clean any finished pending threads + self._pending_threads = [t for t in self._pending_threads if t.isRunning()] + + #endregion + + #region Thread Management + + def stop_all_workers(self): + """ + Best-effort stop for all background workers managed by this controller. + """ + try: + if self._worker is not None: + self._worker.stop() + except Exception: + pass + + try: + self._stop_sinex_worker() + except Exception: + pass + + #endregion + + #region Reset to Defaults + + def reset_to_defaults(self): + """ + Reset all General config tab fields to their default/placeholder states. + """ + # Mode combo + self.ui.modeCombo.clear() + self.ui.modeCombo.addItem("Select one") + self.ui.modeCombo.setCurrentIndex(0) + + # Constellations combo + self.ui.constellationsCombo.clear() + self.ui.constellationsCombo.setEditable(True) + self.ui.constellationsCombo.lineEdit().clear() + self.ui.constellationsCombo.lineEdit().setPlaceholderText("Select one or more") + self.ui.constellationsValue.setText("Constellations") + if hasattr(self.ui.constellationsCombo, '_constellation_model'): + delattr(self.ui.constellationsCombo, '_constellation_model') + if hasattr(self.ui.constellationsCombo, '_constellation_on_item_changed'): + delattr(self.ui.constellationsCombo, '_constellation_on_item_changed') + + # Time window + self.ui.timeWindowButton.setText("Start / End") + self.ui.timeWindowValue.setText("Time Window") + + # Data interval + self.ui.dataIntervalButton.setText("Interval (Seconds)") + self.ui.dataIntervalValue.setText("Data interval") + + # Receiver type + self.ui.receiverTypeCombo.clear() + self.ui.receiverTypeCombo.addItem("Import text") + self.ui.receiverTypeCombo.setCurrentIndex(0) + if self.ui.receiverTypeCombo.lineEdit(): + self.ui.receiverTypeCombo.lineEdit().setText("Import text") + self.ui.receiverTypeValue.setText("Receiver Type") + + # Antenna type + self.ui.antennaTypeCombo.clear() + self.ui.antennaTypeCombo.addItem("Import text") + self.ui.antennaTypeCombo.setCurrentIndex(0) + if self.ui.antennaTypeCombo.lineEdit(): + self.ui.antennaTypeCombo.lineEdit().setText("Import text") + self.ui.antennaTypeValue.setText("") + + # Antenna offset + self.ui.antennaOffsetButton.setText("0.0, 0.0, 0.0") + self.ui.antennaOffsetValue.setText("0.0, 0.0, 0.0") + + # Apriori position + self.ui.aprioriPositionButton.setText("0.0, 0.0, 0.0") + + # PPP combos + self.ui.pppProviderCombo.clear() + self.ui.pppProviderCombo.addItem("Select one") + self.ui.pppProviderCombo.setCurrentIndex(0) + self.ui.pppSeriesCombo.clear() + self.ui.pppSeriesCombo.addItem("Select one") + self.ui.pppSeriesCombo.setCurrentIndex(0) + self.ui.pppProjectCombo.clear() + self.ui.pppProjectCombo.addItem("Select one") + self.ui.pppProjectCombo.setCurrentIndex(0) + + #endregion + + #region Combo Plumbing Helpers + + def _bind_combo(self, combo: QComboBox, items_func: Callable[[], List[str]]): + """ + Bind a single-choice combo to dynamically populate items on open and keep the UI clean. + + Arguments: + combo (QComboBox): Target combo box to bind. + items_func (Callable[[], list[str]]): Function returning the items list. + """ + combo._old_showPopup = combo.showPopup + + def new_showPopup(): + combo.clear() + combo.setEditable(True) + combo.lineEdit().setAlignment(Qt.AlignCenter) + for item in items_func(): + combo.addItem(item) + combo.setEditable(False) + combo._old_showPopup() + + combo.showPopup = new_showPopup + + def _bind_multiselect_combo(self, combo: QComboBox, items_func: Callable[[], List[str]], mirror_label, placeholder: str): + """ + Bind a multi-select combo using checkable items and mirror checked labels as comma-separated text. + + Arguments: + combo (QComboBox): Target combo box. + items_func (Callable[[], list[str]]): Function returning the items list. + mirror_label (QLabel): Label where checked values are mirrored. + placeholder (str): Placeholder text when no item is checked. + """ + combo.setEditable(True) + combo.lineEdit().setReadOnly(True) + combo.lineEdit().setPlaceholderText(placeholder) + combo.setInsertPolicy(QComboBox.NoInsert) + + combo._old_showPopup = combo.showPopup + + def show_popup(): + model = QStandardItemModel(combo) + for txt in items_func(): + it = QStandardItem(txt) + it.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + it.setData(Qt.Unchecked, Qt.CheckStateRole) + model.appendRow(it) + + def on_item_changed(_item: QStandardItem): + selected = [ + model.item(r).text() + for r in range(model.rowCount()) + if model.item(r).checkState() == Qt.Checked + ] + text = ", ".join(selected) if selected else placeholder + combo.lineEdit().setText(text) + mirror_label.setText(text) + + model.itemChanged.connect(on_item_changed) + combo.setModel(model) + combo._old_showPopup() + + combo.showPopup = show_popup + combo.clear() + combo.lineEdit().clear() + combo.lineEdit().setPlaceholderText(placeholder) + + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/input_controller.py b/scripts/GinanUI/app/controllers/input_controller.py index 62f3e6118..c19ce6ed8 100644 --- a/scripts/GinanUI/app/controllers/input_controller.py +++ b/scripts/GinanUI/app/controllers/input_controller.py @@ -1,10 +1,20 @@ -# app/controllers/input_controller.py """ -UI input flow controller for the Ginan-UI. +Top-level UI input controller for the Ginan-UI. + +This is the parent controller that owns the top-level action buttons +(Observations, Output, Show Config, Process, Stop All, CDDIS Credentials, +User Manual, Reset Config) and coordinates three tab-specific sub-controllers: + + - GeneralConfigController - General config tab + - ConstellationConfigController - Constellations config tab + - OutputConfigController - Output config tab + - YAMLConfigController - YAML config tab + +It also holds shared state (rnx_file, output_dir, products_df, execution) +and the ExtractedInputs dataclass used by the Execution model. """ -from __future__ import annotations -import math +from __future__ import annotations import os import re import subprocess @@ -12,56 +22,44 @@ from dataclasses import dataclass from datetime import datetime from pathlib import Path -from typing import Callable, List -from decimal import Decimal, InvalidOperation - +from typing import List import pandas as pd - -from scripts.GinanUI.app.utils.logger import Logger - -from scripts.GinanUI.app.models.dl_products import ( - get_valid_analysis_centers, - get_valid_series_for_provider, - get_valid_providers_with_series, - str_to_datetime -) -from PySide6.QtCore import QObject, Signal, Qt, QDateTime, QThread -from PySide6.QtGui import QStandardItemModel, QStandardItem, QColor, QBrush +from PySide6.QtCore import QObject, Qt, Signal from PySide6.QtWidgets import ( - QFileDialog, QDialog, - QFormLayout, - QDoubleSpinBox, - QSpinBox, - QHBoxLayout, - QVBoxLayout, - QDateTimeEdit, - QInputDialog, - QMessageBox, - QComboBox, + QFileDialog, + QLabel, QLineEdit, + QMessageBox, QPushButton, - QLabel, - QListWidget, - QListWidgetItem, - QAbstractItemView, - QSizePolicy, - QWidget + QVBoxLayout, ) - -from scripts.GinanUI.app.models.execution import Execution, GENERATED_YAML, INPUT_PRODUCTS_PATH -from scripts.GinanUI.app.utils.common_dirs import USER_MANUAL_PATH +from scripts.GinanUI.app.models.archive_manager import archive_old_outputs, archive_products_if_rinex_changed +from scripts.GinanUI.app.models.execution import GENERATED_YAML, INPUT_PRODUCTS_PATH, Execution from scripts.GinanUI.app.models.rinex_extractor import RinexExtractor +from scripts.GinanUI.app.controllers.constellation_config_controller import ConstellationConfigController +from scripts.GinanUI.app.controllers.general_config_controller import GeneralConfigController +from scripts.GinanUI.app.controllers.output_config_controller import OutputConfigController +from scripts.GinanUI.app.controllers.yaml_config_controller import YAMLConfigController from scripts.GinanUI.app.utils.cddis_credentials import save_earthdata_credentials -from scripts.GinanUI.app.models.archive_manager import (archive_products_if_rinex_changed) -from scripts.GinanUI.app.models.archive_manager import archive_old_outputs -from scripts.GinanUI.app.utils.workers import DownloadWorker, BiasProductWorker, SinexValidationWorker +from scripts.GinanUI.app.utils.common_dirs import USER_MANUAL_PATH +from scripts.GinanUI.app.utils.logger import Logger from scripts.GinanUI.app.utils.toast import show_toast - class InputController(QObject): """ - UI controller class InputController. + Parent UI controller that coordinates file selection, configuration, + and processing workflows across the Ginan-UI input panel. + + Delegates detailed responsibilities to three tab-specific sub-controllers: + - self.general_tab (GeneralConfigController) + - self.constellations_tab (ConstellationConfigController) + - self.output_tab (OutputConfigController) + - self.yaml_tab (YAMLConfigController) + + Signals: + ready(str, str): Emitted when both RINEX path and output directory are set. + pea_ready(): Emitted when PEA processing should start. """ ready = Signal(str, str) # rnx_path, output_path @@ -69,11 +67,11 @@ class InputController(QObject): def __init__(self, ui, parent_window, execution: Execution): """ - UI handler: init. + Initialise the top-level input controller and its sub-controllers. Arguments: - ui (Any): Main window UI instance (generated from Qt .ui). - parent_window (Any): Parent widget/window to anchor dialogs. + ui: Main window UI instance (generated from Qt .ui). + parent_window: Parent widget/window to anchor dialogs. execution (Execution): Backend execution bridge used to read/apply UI config. """ super().__init__() @@ -81,102 +79,59 @@ def __init__(self, ui, parent_window, execution: Execution): self.parent = parent_window self.execution = execution + # Shared state self.rnx_file: Path = None self.output_dir: Path = None self.products_df: pd.DataFrame = pd.DataFrame() # CDDIS replaces with a populated dataframe - - # Config file path self.config_path = GENERATED_YAML - ### Wire: file selection buttons ### - self.ui.observationsButton.clicked.connect(self.load_rnx_file) - self.ui.outputButton.clicked.connect(self.load_output_dir) - - # Initial states - self.ui.outputButton.setEnabled(False) - self.ui.showConfigButton.setEnabled(False) - self.ui.processButton.setEnabled(False) - self.ui.stopAllButton.setEnabled(False) - - ### Bind: configuration drop-downs / UIs ### + # Time window (set during on_run_pea, used by MainWindow for downloads) + self.start_time: datetime = None + self.end_time: datetime = None - self._bind_combo(self.ui.modeCombo, self._get_mode_items) + # Track the last loaded RINEX path (for change detection / archiving) + self.last_rinex_path: Path = None - # PPP provider, project and series - self.ui.pppProviderCombo.currentTextChanged.connect(self._on_ppp_provider_changed) - self.ui.pppProjectCombo.currentTextChanged.connect(self._on_ppp_project_changed) - self.ui.pppSeriesCombo.currentTextChanged.connect(self._on_ppp_series_changed) - - # Constellations - self._bind_multiselect_combo( - self.ui.constellationsCombo, - self._get_constellations_items, - self.ui.constellationsValue, - placeholder="Select one or more", - ) - - # Receiver/Antenna types: free-text input - self._enable_free_text_for_receiver_and_antenna() + # BIA code priorities cache: provider -> series -> project -> {'GPS': set(), ...} + self.bia_code_priorities = {} - # Antenna offset - self.ui.antennaOffsetButton.clicked.connect(self._open_antenna_offset_dialog) - self.ui.antennaOffsetButton.setCursor(Qt.CursorShape.PointingHandCursor) - self.ui.antennaOffsetValue.setText("0.0, 0.0, 0.0") + # SINEX validation result + self._sinex_filename = None # Stored until apply_ui_config() is called - # Apriori position - self.ui.aprioriPositionButton.clicked.connect(self._open_apriori_position_dialog) - self.ui.aprioriPositionButton.setCursor(Qt.CursorShape.PointingHandCursor) + # Valid analysis centres from CDDIS scan + self.valid_analysis_centers = [] - # Time window and data interval - self.ui.timeWindowButton.clicked.connect(self._open_time_window_dialog) - self.ui.timeWindowButton.setCursor(Qt.CursorShape.PointingHandCursor) - self.ui.dataIntervalButton.clicked.connect(self._open_data_interval_dialog) - self.ui.dataIntervalButton.setCursor(Qt.CursorShape.PointingHandCursor) + # Instantiate sub-controllers (one per config tab) + self.general_tab = GeneralConfigController(ui, self) + self.constellations_tab = ConstellationConfigController(ui, self) + self.output_tab = OutputConfigController(ui, self) + self.yaml_tab = YAMLConfigController(ui, self) - # Run buttons - self.ui.showConfigButton.clicked.connect(self.on_show_config) - self.ui.showConfigButton.setCursor(Qt.CursorShape.PointingHandCursor) + # Top-level button wiring + self.ui.observationsButton.clicked.connect(self.load_rnx_file) + self.ui.outputButton.clicked.connect(self.load_output_dir) self.ui.processButton.clicked.connect(self.on_run_pea) - - # CDDIS credentials dialog self.ui.cddisCredentialsButton.clicked.connect(self._open_cddis_credentials_dialog) - - # Reset config button - self.ui.resetConfigButton.clicked.connect(self._on_reset_config_clicked) - - # User manual button self.ui.userManualButton.clicked.connect(self._open_user_manual) - self.setup_tooltips() - - # Initialise "Constellations" placeholder - self._setup_constellation_placeholder() - self._hide_all_constellation_widgets() - - # Track threads that are pending cleanup (threads that are cancelled but not yet finished) - self._pending_threads = [] + # Initial button states + self.ui.outputButton.setEnabled(False) + self.ui.processButton.setEnabled(False) + self.ui.stopAllButton.setEnabled(False) - # BIA code priorities cache: provider -> series -> project -> {'GPS': set(), ...} - self.bia_code_priorities = {} - self._bia_loading = False - self._bia_worker = None - self._bia_thread = None - - # SINEX validation worker tracking - self._sinex_worker = None - self._sinex_thread = None - self._sinex_path = None - self._sinex_filename = None # Stored until apply_ui_config() is called + self._setup_top_level_tooltips() + self.general_tab.setup_tooltips() + self.constellations_tab.setup_tooltips() + self.output_tab.setup_tooltips() + self.yaml_tab.setup_tooltips() - # Connect tab change signal to trigger BIA fetch when switching to Constellations tab - self.ui.configTabWidget.currentChanged.connect(self._on_config_tab_changed) + #region UI Tooltips - def setup_tooltips(self): + def _setup_top_level_tooltips(self): """ - UI handler: setup tooltips and visual style for key controls. + Set up tooltips and visual style for top-level action buttons. + Sub-controller tooltips are set up in their own setup_tooltips() methods. """ - - # Consistent tooltip style for all elements tooltip_style = """ QToolTip { background-color: #2c5d7c; @@ -188,213 +143,43 @@ def setup_tooltips(self): } """ - # Apply to parent window self.parent.setStyleSheet(self.parent.styleSheet() + tooltip_style) - # Add tooltip styling to buttons without changing their appearance - # Just append the tooltip style to their existing styles + for btn in [self.ui.observationsButton, self.ui.outputButton, + self.ui.processButton, self.ui.stopAllButton, + self.ui.cddisCredentialsButton]: + btn.setStyleSheet(btn.styleSheet() + tooltip_style) - # Get current styles and append tooltip styling - obs_style = self.ui.observationsButton.styleSheet() + tooltip_style - out_style = self.ui.outputButton.styleSheet() + tooltip_style - proc_style = self.ui.processButton.styleSheet() + tooltip_style - stop_style = self.ui.stopAllButton.styleSheet() + tooltip_style - cddis_style = self.ui.cddisCredentialsButton.styleSheet() + tooltip_style - - self.ui.observationsButton.setStyleSheet(obs_style) - self.ui.outputButton.setStyleSheet(out_style) - self.ui.processButton.setStyleSheet(proc_style) - self.ui.stopAllButton.setStyleSheet(stop_style) - self.ui.cddisCredentialsButton.setStyleSheet(cddis_style) - - # File selection buttons self.ui.observationsButton.setToolTip( "Select a RINEX observation file (.rnx or .rnx.gz).\n" "This will automatically extract metadata and populate the UI fields." ) - self.ui.outputButton.setToolTip( "Choose the directory where processing results will be saved.\n" - "Existing .POS or .GPX output in this directory will be saved in the archived subdirectory." + "Existing .POS, .GPX, .TRACE, and .SNX output in this directory will be saved in the archived subdirectory." ) - self.ui.processButton.setToolTip( "Start the Ginan (PEA) PPP processing using the configured parameters.\n" "Ensure all required fields are filled before processing." ) - self.ui.stopAllButton.setToolTip( "Stop the Ginan (PEA) PPP processing.\n" "Will terminate all download threads and unlock the UI again." ) - - # Configuration buttons - self.ui.showConfigButton.setToolTip( - "Generate and open the YAML configuration file.\n" - "You can review and modify advanced settings before processing.\n" - "Note: UI defined parameters will ALWAYS override manual config edits." - ) - - self.ui.resetConfigButton.setToolTip( - "Delete and regenerate the YAML configuration file and start from a clean slate.\n" - "Note: Will delete all modifications to the existing file!" - ) - self.ui.userManualButton.setToolTip( "Open the Ginan-UI User Manual\n" "Located in docs/USER_MANUAL.md" ) - self.ui.cddisCredentialsButton.setToolTip( "Set your NASA Earthdata credentials for downloading PPP products\n" "Required for accessing the CDDIS archive data" ) - # Input fields and combos - self.ui.modeCombo.setToolTip( - "Processing mode:\n" - "• Static: For stationary receivers\n" - "• Kinematic: For moving receivers\n" - "• Dynamic: For high-dynamic applications" - ) - - self.ui.constellationsCombo.setToolTip( - "Select which GNSS constellations to use:\n" - "GPS, Galileo (GAL), GLONASS (GLO), BeiDou (BDS), QZSS (QZS)\n" - "More constellations generally improve accuracy" - ) - - self.ui.pppProviderCombo.setToolTip( - "Analysis centre that provides PPP products\n" - "Options populated based on your observation time window" - ) - - self.ui.pppProjectCombo.setToolTip( - "PPP product project type.\n" - "Different projects types offer varying GNSS constellation PPP products." - ) - - self.ui.pppSeriesCombo.setToolTip( - "PPP product series:\n" - "• ULT: Ultra-rapid (lower latency)\n" - "• RAP: Rapid \n" - "• FIN: Final (highest accuracy)" - ) - - # Receiver/Antenna fields - self.ui.receiverTypeCombo.setToolTip( - "Receiver model extracted from RINEX header\n" - "Click to manually edit if needed" - ) - - self.ui.antennaTypeCombo.setToolTip( - "Antenna model extracted from RINEX header\n" - "Must match entries in the ANTEX (.atx) calibration file\n" - "Click to manually edit if needed" - ) - - # Time and offset buttons - self.ui.timeWindowButton.setToolTip( - "Observation time window extracted from RINEX file\n" - "Click to adjust start and end times for processing" - ) - - self.ui.dataIntervalButton.setToolTip( - "Data sampling interval in seconds\n" - "Click to change the processing interval" - ) - - self.ui.antennaOffsetButton.setToolTip( - "Antenna reference point offset in metres (East, North, Up)\n" - "Typically extracted from RINEX header\n" - "Click to modify if needed" - ) - - self.ui.aprioriPositionButton.setToolTip( - "Approximate receiver position in ECEF coordinates (X, Y, Z) in metres\n" - "Typically extracted from RINEX header\n" - "Click to modify if needed" - ) - - # Value display labels - self.ui.receiverTypeValue.setToolTip("Receiver type from RINEX header") - self.ui.antennaTypeValue.setToolTip("Antenna type from RINEX header") - self.ui.constellationsValue.setToolTip("Available constellations in RINEX data") - self.ui.timeWindowValue.setToolTip("Observation time span") - self.ui.dataIntervalValue.setToolTip("Data sampling interval") - self.ui.antennaOffsetValue.setToolTip("Antenna offset: East, North, Up (metres)") - - # Observation code list widget tooltips - if hasattr(self.ui, 'gpsListWidget'): - self.ui.gpsListWidget.setToolTip( - "GPS observation codes\n" - "✓ Check / uncheck to enable / disable codes\n" - "↕ Drag and drop to set priority order (top = highest priority)" - ) - if hasattr(self.ui, 'galListWidget'): - self.ui.galListWidget.setToolTip( - "Galileo observation codes\n" - "✓ Check / uncheck to enable / disable codes\n" - "↕ Drag and drop to set priority order (top = highest priority)" - ) - if hasattr(self.ui, 'gloListWidget'): - self.ui.gloListWidget.setToolTip( - "GLONASS observation codes\n" - "✓ Check / uncheck to enable / disable codes\n" - "↕ Drag and drop to set priority order (top = highest priority)" - ) - if hasattr(self.ui, 'bdsListWidget'): - self.ui.bdsListWidget.setToolTip( - "BeiDou observation codes\n" - "✓ Check / uncheck to enable / disable codes\n" - "↕ Drag and drop to set priority order (top = highest priority)" - ) - if hasattr(self.ui, 'qzsListWidget'): - self.ui.qzsListWidget.setToolTip( - "QZSS observation codes\n" - "✓ Check / uncheck to enable / disable codes\n" - "↕ Drag and drop to set priority order (top = highest priority)" - ) - - self.ui.posCheckbox.setToolTip( - "Enable / disable Ginan (PEA) PPP Processing outputting a Positioning Solution (.POS) file" - ) - - self.ui.gpxCheckbox.setToolTip( - "Enable / disable Ginan (PEA) PPP Processing outputting a GPS Exchange Format (.GPX) file" - ) - - self.ui.traceCheckbox.setToolTip( - "Enable / disable Ginan (PEA) PPP Processing outputting a trace log (.TRACE) file" - ) - - def _hide_all_constellation_widgets(self): - """ - Hide all constellation labels and list widgets on startup. - They will be shown when a RINEX file is loaded and constellations are selected. - """ - widget_names = [ - 'gpsLabel', 'gpsListWidget', - 'galLabel', 'galListWidget', - 'gloLabel', 'gloListWidget', - 'bdsLabel', 'bdsListWidget', - 'qzsLabel', 'qzsListWidget', - ] - - for widget_name in widget_names: - if hasattr(self.ui, widget_name): - widget = getattr(self.ui, widget_name) - widget.setVisible(False) + #endregion - def _open_cddis_credentials_dialog(self): - """ - UI handler: open the CDDIS credentials dialog for Earthdata login. - """ - dialog = CredentialsDialog(self.parent) - dialog.exec() + #region File Selection - # region File Selection + Metadata Extraction + PPP product selection - def load_rnx_file(self) -> ExtractedInputs | None: + def load_rnx_file(self): """ UI handler: choose a RINEX file, extract metadata, update UI, and start PPP products query. """ @@ -405,25 +190,25 @@ def load_rnx_file(self) -> ExtractedInputs | None: current_rinex_path = Path(path).resolve() archive_products_if_rinex_changed( current_rinex=current_rinex_path, - last_rinex=getattr(self, "last_rinex_path", None), + last_rinex=self.last_rinex_path, products_dir=INPUT_PRODUCTS_PATH ) + # Disable until new providers found - if current_rinex_path != getattr(self, "last_rinex_path", None): + if current_rinex_path != self.last_rinex_path: self.ui.processButton.setEnabled(False) self.ui.stopAllButton.setEnabled(False) - self._on_cddis_ready(pd.DataFrame(), False) # Clears providers until worker completes + self.general_tab.on_cddis_ready(pd.DataFrame(), False) # Clears providers until worker completes # Stop any running BIA worker before clearing cache - self._stop_bia_worker() - # Clear BIA code priorities cache when RINEX file changes + self.constellations_tab.stop_bia_worker() self.bia_code_priorities = {} - self._reset_constellation_list_styling() + self.constellations_tab.reset_list_styling() self.last_rinex_path = current_rinex_path self.rnx_file = str(current_rinex_path) - Logger.terminal(f"📄 RINEX file selected: {self.rnx_file}") + Logger.workflow(f"📄 RINEX file selected: {self.rnx_file}") try: extractor = RinexExtractor(self.rnx_file) @@ -431,12 +216,12 @@ def load_rnx_file(self) -> ExtractedInputs | None: # Verify antenna_type against .atx file if not self.parent.atx_required_for_rnx_extraction: - Logger.terminal( + Logger.workflow( "⚠️ ANTEX (.atx) file not installed yet. Antenna type verification will be skipped.") else: - self.verify_antenna_type(result) + self.general_tab.verify_antenna_type(result) - Logger.terminal("🔍 Scanning CDDIS archive for PPP products. Please wait...") + Logger.workflow("🔍 Scanning CDDIS archive for PPP products. Please wait...") # Show toast notification show_toast(self.parent, "🔍 Scanning CDDIS archive for PPP products...", duration=15000) @@ -444,72 +229,25 @@ def load_rnx_file(self) -> ExtractedInputs | None: # Show waiting cursor during CDDIS scan self.parent.setCursor(Qt.CursorShape.WaitCursor) - # Retrieve valid analysis centers + # Start CDDIS scan in background + from scripts.GinanUI.app.models.dl_products import str_to_datetime start_epoch = str_to_datetime(result['start_epoch']) end_epoch = str_to_datetime(result['end_epoch']) + self.general_tab.start_analysis_centre_scan(start_epoch, end_epoch) - # Clean up any existing analysis centre threads before starting a new one - self._cleanup_analysis_thread() - - self.worker = DownloadWorker(start_epoch=start_epoch, end_epoch=end_epoch, analysis_centers=True) - self.metadata_thread = QThread() - self.worker.moveToThread(self.metadata_thread) - - self.worker.finished.connect(self._on_cddis_ready) - self.worker.finished.connect(self._restore_cursor) - self.worker.cancelled.connect(self._on_cddis_cancelled) - self.worker.cancelled.connect(self._restore_cursor) - self.worker.constellation_info.connect(self._on_constellation_info_received) - - # Connect both finished and cancelled to thread quit - self.worker.finished.connect(self.metadata_thread.quit) - self.worker.cancelled.connect(self.metadata_thread.quit) - self.metadata_thread.finished.connect(self._on_analysis_thread_finished) - self.metadata_thread.started.connect(self.worker.run) - self.metadata_thread.start() - - # Populate extracted metadata immediately - self.ui.constellationsValue.setText(result["constellations"]) - self.ui.timeWindowValue.setText(f"{result['start_epoch']} to {result['end_epoch']}") - self.ui.timeWindowButton.setText(f"{result['start_epoch']} to {result['end_epoch']}") - self.ui.dataIntervalButton.setText(f"{result['epoch_interval']} s") - self.rinex_epoch_interval = float(result['epoch_interval']) - self.ui.receiverTypeValue.setText(result["receiver_type"]) - self.ui.antennaTypeValue.setText(result["antenna_type"]) - self.ui.antennaOffsetValue.setText(", ".join(map(str, result["antenna_offset"]))) - self.ui.antennaOffsetButton.setText(", ".join(map(str, result["antenna_offset"]))) - - # Populate apriori position if available - apriori = result.get("apriori_position") - if apriori and any(v != 0.0 for v in apriori): - self.ui.aprioriPositionButton.setText(", ".join(map(str, apriori))) - else: - self.ui.aprioriPositionButton.setText("0.0, 0.0, 0.0") - - self.ui.receiverTypeCombo.clear() - self.ui.receiverTypeCombo.addItem(result["receiver_type"]) - self.ui.receiverTypeCombo.setCurrentIndex(0) - self.ui.receiverTypeCombo.lineEdit().setText(result["receiver_type"]) + # Populate extracted metadata into the config panel immediately + self.general_tab.populate_from_rinex(result) - self.ui.antennaTypeCombo.clear() - self.ui.antennaTypeCombo.addItem(result["antenna_type"]) - self.ui.antennaTypeCombo.setCurrentIndex(0) - self.ui.antennaTypeCombo.lineEdit().setText(result["antenna_type"]) - - self._update_constellations_multiselect(result["constellations"]) - - # Populate observation code combos if available - self._populate_observation_code_combos(result) + # Populate observation code list widgets + self.constellations_tab.populate_observation_codes(result) self.ui.outputButton.setEnabled(True) self.ui.showConfigButton.setEnabled(True) - Logger.terminal("⚒️ RINEX file metadata extracted and applied to UI fields") - self.ui.outputButton.setEnabled(True) - self.ui.showConfigButton.setEnabled(True) + Logger.workflow("⚒️ RINEX file metadata extracted and applied to UI fields") # Start SINEX validation in background - self._start_sinex_validation( + self.general_tab.start_sinex_validation( target_date=start_epoch, marker_name=result.get("marker_name", ""), receiver_type=result.get("receiver_type", ""), @@ -518,8 +256,11 @@ def load_rnx_file(self) -> ExtractedInputs | None: apriori_position=result.get("apriori_position"), ) + # Store marker number (DOMES number) for loading BLQ generation + self._marker_number = result.get("marker_number") + except Exception as e: - Logger.terminal(f"Error extracting RNX metadata: {e}") + Logger.workflow(f"Error extracting RNX metadata: {e}") return None # Always update MainWindow's state @@ -530,1693 +271,195 @@ def load_rnx_file(self) -> ExtractedInputs | None: return result - def _populate_observation_code_combos(self, result: dict): + def load_output_dir(self): """ - Populate the observation code list widgets with available codes from RINEX. - - Arguments: - result (dict): Dictionary containing observation code lists for each constellation + UI handler: choose the output directory and (if RNX is set) emit ready. """ - # Map constellation names to list widgets and result keys - list_widget_mapping = { - 'GPS': ('obs_types_gps', 'enabled_gps', 'gpsListWidget'), - 'GAL': ('obs_types_gal', 'enabled_gal', 'galListWidget'), - 'GLO': ('obs_types_glo', 'enabled_glo', 'gloListWidget'), - 'BDS': ('obs_types_bds', 'enabled_bds', 'bdsListWidget'), - 'QZS': ('obs_types_qzs', 'enabled_qzs', 'qzsListWidget') - } - - populated_constellations = [] - - for const_name, (result_key, enabled_key, widget_name) in list_widget_mapping.items(): - if not hasattr(self.ui, widget_name): - continue - - list_widget = getattr(self.ui, widget_name) - codes = result.get(result_key, []) - enabled_codes = result.get(enabled_key, set()) - - if codes and len(codes) > 0: - self._setup_observation_code_list_widget(list_widget, codes, enabled_codes) - populated_constellations.append(const_name) - else: - # Clear and disable list widget if no codes available - list_widget.clear() - list_widget.setEnabled(False) - - # Log summary message - if populated_constellations: - Logger.terminal(f"✅ Populated observation codes for {', '.join(populated_constellations)}") - else: - Logger.terminal("⚠️ No observation codes found in RINEX") + path = self._select_output_dir(self.parent) + if not path: + return - def _setup_observation_code_list_widget(self, list_widget: QListWidget, codes: List[str], enabled_codes: set): - """ - Set up a list widget with drag-drop reordering and checkboxes for observation codes. + # Ensure output_dir is a Path object + self.output_dir = Path(path).resolve() + Logger.workflow(f"📂 Output directory selected: {self.output_dir}") - Arguments: - list_widget (QListWidget): The list widget to set up - codes (List[str]): List of observation codes to populate (in priority order) - enabled_codes (set): Set of codes that should be checked by default - """ - list_widget.setEnabled(True) - list_widget.clear() - - # Enable drag and drop for reordering - list_widget.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) - list_widget.setDefaultDropAction(Qt.DropAction.MoveAction) - list_widget.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) - - # Add items with checkboxes - for code in codes: - item = QListWidgetItem(code) - item.setFlags(item.flags() | Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled) - - # Check if this code is in the enabled set (from template priorities) - if code in enabled_codes: - item.setCheckState(Qt.CheckState.Checked) # Priority codes: checked - else: - item.setCheckState(Qt.CheckState.Unchecked) # Extra codes: unchecked + # Archive existing/old outputs + visual_dir = self.output_dir / "visual" + archive_old_outputs(self.output_dir, visual_dir) - list_widget.addItem(item) + # Enable process button + # MainWindow owns when to enable processButton. This controller exposes a helper if needed. + self.try_enable_process_button() - def verify_antenna_type(self, result: List[str]): - """ - UI handler: verify that the RINEX antenna_type exists in the selected ANTEX (.atx) file. - """ - # Verify antenna_type is present within the .atx file - # Return warning if not - atx_path = self.get_best_atx_path() - - with open(atx_path, "r") as file: - for line in file: - label = line[60:].strip() - - # Read and find antenna_type tag - if label == "TYPE / SERIAL NO" and line[20:24].strip() == "": - valid_antenna_type = line[0:20] - - if len(valid_antenna_type.strip()) < 16 or not valid_antenna_type[16:].strip(): - # Just the antenna part is included, need to add radome (cover) - antenna_part = valid_antenna_type[:15].strip() - valid_antenna_type = f"{antenna_part:<15} NONE" - - # Do same normalisation for result["antenna_type"] - result_antenna = result["antenna_type"] - - if len(result_antenna.strip()) < 16 or ( - len(result_antenna) > 16 and not result_antenna[16:].strip()): - antenna_part = result_antenna[:15].strip() - result_antenna = f"{antenna_part:<15} NONE" - - # Compare strings - if result_antenna.strip() == valid_antenna_type.strip(): - Logger.terminal("✅ Antenna type verified from .atx file") - return - - # Not found! Return warning to user - QMessageBox.warning( - None, - "Provided Antenna Type Invalid", - f'Provided antenna type in .rnx file: "{result["antenna_type"]}"\n' - f'not found in .atx file: "{atx_path}"' - ) - Logger.terminal(f"⚠️ Antenna type failed to verify from .atx file: {atx_path}") - return + # Always update MainWindow's state + self.parent.output_dir = self.output_dir - def get_best_atx_path(self): - """ - Select the best available ANTEX (.atx) file with a priority order. - """ - # Find all .atx files present and prioritise the newest ones - # Return filepath string to best .atx file - atx_files = list(INPUT_PRODUCTS_PATH.glob("*.atx")) - if len(atx_files) == 0: - raise FileNotFoundError("No .atx file found") - elif len(atx_files) > 1: - # Priority order: igs20 > igs14 > igs13 > igs08 > igs05 > any other .atx file - priority_order = ['igs20.atx', 'igs14.atx', 'igs13.atx', 'igs08.atx', 'igs05.atx'] - atx_path = None - for best_atx in priority_order: - matching_files = [f for f in atx_files if f.name == best_atx] - if matching_files: - atx_path = matching_files[0] - Logger.terminal(f"📁 Selected .atx file: {atx_path.name} based on priority") - break - - # If none of the preferred files found, use the first available - if atx_path is None: - atx_path = atx_files[0] - Logger.terminal(f"📁 Selected .atx file: {atx_path.name} based on fallback") - else: - atx_path = atx_files[0] - return atx_path + if self.rnx_file: + self.ready.emit(str(self.rnx_file), str(self.output_dir)) - def _update_constellations_multiselect(self, constellation_str: str): - """ - Populate and mirror a multi-select constellation combo with checkboxes. + #endregion - Arguments: - constellation_str (str): Comma-separated constellations (e.g., "GPS, GAL, GLO"). + #region PEA Processing + def on_run_pea(self): """ - from PySide6.QtGui import QStandardItemModel, QStandardItem - - constellations = [c.strip() for c in constellation_str.split(",") if c.strip()] - combo = self.ui.constellationsCombo - - # Remove previous bindings - if hasattr(combo, '_old_showPopup'): - delattr(combo, '_old_showPopup') - - combo.clear() - combo.setEditable(True) - combo.lineEdit().setReadOnly(True) - combo.setInsertPolicy(QComboBox.NoInsert) - - # Build the item model - model = QStandardItemModel(combo) - for txt in constellations: - item = QStandardItem(txt) - item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) - item.setCheckState(Qt.Checked) - model.appendRow(item) - - def on_item_changed(_item): - selected = [ - model.item(i).text() - for i in range(model.rowCount()) - if model.item(i).checkState() == Qt.Checked - ] - label = ", ".join(selected) if selected else "Select one or more" - combo.lineEdit().setText(label) - self.ui.constellationsValue.setText(label) - self._sync_constellation_list_widgets_to_selection() - - model.itemChanged.connect(on_item_changed) - combo.setModel(model) - combo.setCurrentIndex(-1) - - # Custom showPopup function to keep things reset - def show_popup_constellation(): - if combo.model() != model: - combo.setModel(model) - combo.setCurrentIndex(-1) - QComboBox.showPopup(combo) - - combo.showPopup = show_popup_constellation - - # Store for access and event consistency - combo._constellation_model = model - combo._constellation_on_item_changed = on_item_changed - - # Set initial label text - combo.lineEdit().setText(", ".join(constellations)) - self.ui.constellationsValue.setText(", ".join(constellations)) - - # Initial sync of list widgets - self._sync_constellation_list_widgets_to_selection() - - def _sync_constellation_list_widgets_to_selection(self): - """ - Show / hide constellation list widgets and labels based on the "General" tab's - constellation multi-select. Called when constellation selection changes. - Shows a placeholder message when no constellations are selected. - """ - # Get currently selected constellations from the General tab combo - selected_constellations = set() - combo = self.ui.constellationsCombo - if hasattr(combo, '_constellation_model') and combo._constellation_model: - model = combo._constellation_model - for i in range(model.rowCount()): - if model.item(i).checkState() == Qt.Checked: - selected_constellations.add(model.item(i).text().upper()) - - # Map constellation names to their UI widgets - widget_mapping = { - 'GPS': ('gpsLabel', 'gpsListWidget'), - 'GAL': ('galLabel', 'galListWidget'), - 'GLO': ('gloLabel', 'gloListWidget'), - 'BDS': ('bdsLabel', 'bdsListWidget'), - 'QZS': ('qzsLabel', 'qzsListWidget'), - } - - for const_name, (label_name, list_widget_name) in widget_mapping.items(): - is_enabled = const_name in selected_constellations - - # Show / hide label - if hasattr(self.ui, label_name): - label = getattr(self.ui, label_name) - label.setVisible(is_enabled) - - # Show / hide list widget - if hasattr(self.ui, list_widget_name): - list_widget = getattr(self.ui, list_widget_name) - list_widget.setVisible(is_enabled) - - # Show / hide placeholder message - self._update_constellation_placeholder(len(selected_constellations) == 0) - - def _setup_constellation_placeholder(self): - """ - Create a placeholder label for the Constellations tab that shows when - no constellations are selected or no RINEX file is loaded. + UI handler: validate time window and config, apply UI, then emit pea_ready. + If YAML overwrite is disabled, skip applying UI values to the config file + but still store loading BLQ parameters for ensure_loading_blq(). """ - # Create the placeholder label - self._constellation_placeholder = QLabel( - "No constellations available!\n\n" - "Load a RINEX observation file and select constellations\n" - "in the General tab to configure observation codes" - ) - self._constellation_placeholder.setAlignment(Qt.AlignCenter) - self._constellation_placeholder.setWordWrap(True) - self._constellation_placeholder.setMinimumWidth(250) - self._constellation_placeholder.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) - self._constellation_placeholder.setStyleSheet( - "color: #bfbfbf; font-size: 13pt; margin: 15px;" - ) + raw = self.ui.timeWindowValue.text() - # Add to the constellations tab layout - if hasattr(self.ui, 'constellationsGridLayout'): - self.ui.constellationsGridLayout.addWidget( - self._constellation_placeholder, 0, 0, 10, 1, Qt.AlignCenter + try: + start_str, end_str = raw.split("to") + start_time = datetime.strptime(start_str.strip(), "%Y-%m-%d_%H:%M:%S") + end_time = datetime.strptime(end_str.strip(), "%Y-%m-%d_%H:%M:%S") + except ValueError: + QMessageBox.warning( + None, + "Format error", + "Time window must be in the format:\n" + "YYYY-MM-DD_HH:MM:SS to YYYY-MM-DD_HH:MM:SS" ) - - # Initially visible - self._constellation_placeholder.setVisible(True) - - # Create explanation label for the Constellations tab - self._constellation_explanation_label = QLabel( - "Select observation codes and set priorities for each active constellation below.
" - "These observation codes are extracted from the loaded RINEX file.
" - "Red strikethrough = missing from .BIA file" - ) - self._constellation_explanation_label.setTextFormat(Qt.RichText) - self._constellation_explanation_label.setWordWrap(True) - self._constellation_explanation_label.setStyleSheet( - "color: #bfbfbf; font-size: 11pt; font-style: italic; margin-bottom: 6x; line-height: 1.4;" - ) - self._constellation_explanation_label.setVisible(False) - - # Create BIA warning label (shown when BIA fetch fails) - self._bia_warning_label = QLabel( - "⚠️ Failed to fetch BIA file for selected PPP products - unable to validate codes" - ) - self._bia_warning_label.setWordWrap(True) - self._bia_warning_label.setStyleSheet( - "QLabel { background-color: #8B4513; color: white; padding: 6px 12px; " - "border-radius: 4px; font: 10pt 'Segoe UI'; }" - ) - self._bia_warning_label.setAlignment(Qt.AlignCenter) - self._bia_warning_label.setVisible(False) - - # Create BIA loading label - self._bia_loading_label = QLabel("⏳ Loading code priorities from .BIA file...") - self._bia_loading_label.setWordWrap(True) - self._bia_loading_label.setStyleSheet( - "QLabel { background-color: #2c5d7c; color: white; padding: 8px 16px; " - "border-radius: 4px; font: 12pt 'Segoe UI'; }" - ) - self._bia_loading_label.setAlignment(Qt.AlignCenter) - self._bia_loading_label.setVisible(False) - - # Create a container widget with vertical layout for the status labels - self._constellation_status_container = QWidget() - status_layout = QVBoxLayout(self._constellation_status_container) - status_layout.setContentsMargins(0, 0, 0, 8) - status_layout.setSpacing(4) - status_layout.addWidget(self._constellation_explanation_label) - status_layout.addWidget(self._bia_warning_label) - status_layout.addWidget(self._bia_loading_label) - - # Add the status container to row 0 of the constellations grid layout - # (existing widgets start at row 1, so row 0 is available) - if hasattr(self.ui, 'constellationsGridLayout'): - self.ui.constellationsGridLayout.addWidget(self._constellation_status_container, 0, 0) - - def _update_constellation_placeholder(self, show_placeholder: bool): - """ - Show or hide the constellation placeholder message. - - Arguments: - show_placeholder (bool): True to show placeholder, False to hide it. - """ - if hasattr(self, '_constellation_placeholder'): - self._constellation_placeholder.setVisible(show_placeholder) - # Show explanation label when placeholder is hidden (i.e., constellations are visible) - if hasattr(self, '_constellation_explanation_label'): - self._constellation_explanation_label.setVisible(not show_placeholder) - - def _on_cddis_ready(self, data: pd.DataFrame, log_messages: bool = True): - """ - UI handler: receive PPP products DataFrame from worker and populate provider/project/series combos. - """ - self.products_df = data - - if data.empty: - self.valid_analysis_centers = [] - self.ui.pppProviderCombo.clear() - self.ui.pppProviderCombo.addItem("None") - self.ui.pppSeriesCombo.clear() - self.ui.pppSeriesCombo.addItem("None") return - self.valid_analysis_centers = list(get_valid_analysis_centers(self.products_df)) - - if len(self.valid_analysis_centers) == 0: - self.ui.pppProviderCombo.clear() - self.ui.pppProviderCombo.addItem("None") - self.ui.pppSeriesCombo.clear() - self.ui.pppSeriesCombo.addItem("None") + if start_time > end_time: + QMessageBox.warning(None, "Time error", "Start time cannot be later than end time.") return - self.ui.pppProviderCombo.blockSignals(True) - self.ui.pppProviderCombo.clear() - self.ui.pppProviderCombo.addItems(self.valid_analysis_centers) - self.ui.pppProviderCombo.setCurrentIndex(0) - - # Update PPP series based on default PPP provider - self.ui.pppProviderCombo.blockSignals(False) - self.try_enable_process_button() - self._on_ppp_provider_changed(self.valid_analysis_centers[0]) - if log_messages: - Logger.terminal( - f"✅ CDDIS archive scan complete. Found PPP product providers: {', '.join(self.valid_analysis_centers)}") - # Show success toast - show_toast(self.parent, f"✅ Found {len(self.valid_analysis_centers)} PPP provider(s)", duration=3000) - - def _on_cddis_error(self, msg): - """ - UI handler: report CDDIS worker error to the UI. - """ - Logger.terminal(f"Error loading CDDIS data: {msg}") - self.ui.pppProviderCombo.clear() - self.ui.pppProviderCombo.addItem("None") - # Restore cursor in case of error - self.parent.setCursor(Qt.CursorShape.ArrowCursor) - # Show error toast - show_toast(self.parent, "⚠️ Failed to scan CDDIS archive", duration=4000) - - def _restore_cursor(self): - """ - Restore the cursor to normal arrow after background operation completes. - """ - self.parent.setCursor(Qt.CursorShape.ArrowCursor) - - def _cleanup_analysis_thread(self): - """ - Request any running analysis centre threads to cancel - Moves the thread to _pending_threads list so it isn't destroyed while running. - """ - if hasattr(self, 'worker') and self.worker is not None: - self.worker.stop() - - if hasattr(self, 'metadata_thread') and self.metadata_thread is not None: - if self.metadata_thread.isRunning(): - # Disconnect old signals to prevent callbacks to stale state - try: - self.worker.finished.disconnect() - self.worker.cancelled.disconnect() - except (TypeError, RuntimeError): - pass # Already disconnected or object deleted - - # Keep reference alive until thread actually finishes - old_thread = self.metadata_thread - - def cleanup_old_thread(): - if old_thread in self._pending_threads: - self._pending_threads.remove(old_thread) - - old_thread.finished.connect(cleanup_old_thread) - self._pending_threads.append(old_thread) - - # Clear current references so new thread can be created - self.worker = None - self.metadata_thread = None - - def _on_cddis_cancelled(self): - """ - UI handler: handle cancellation of CDDIS worker. - """ - Logger.terminal("📦 PPP provider scan was cancelled") - - def _on_constellation_info_received(self, provider_constellations: dict): - """ - UI handler: receive and store constellation information for each PPP provider/series/project - This is emitted by the DownloadWorker after fetching the SP3 headers - - Arguments: - provider_constellations (dict): Nested dictionary mapping "provider -> series -> project -> constellations" - e.g., { - 'COD': { - 'FIN': {'OPS': {'GPS', 'GLO', 'GAL'}, 'MGX': {'GPS', 'GLO', 'GAL', 'BDS', 'QZS'}}, - 'RAP': {'OPS': {'GPS', 'GLO', 'GAL'}} - }, ... - } - """ - # Store for later use when filtering constellations UI based on selected provider/series/project - self.provider_constellations = provider_constellations + if not getattr(self, "config_path", None): + QMessageBox.warning( + None, + "No config file", + "Please click Show config and select a YAML file first." + ) + return - # Log the received constellation info - Logger.console("📡 Provider constellation information received") + self.start_time = start_time + self.end_time = end_time - # Update constellations combobox based on current PPP selection - self._update_constellations_for_ppp_selection() + yaml_overwrite = self.yaml_tab.get_yaml_toggles() - # If already on Constellations tab, trigger BIA fetch - if self.ui.configTabWidget.currentIndex() == 1: - self._on_config_tab_changed(1) + # Warn the user when YAML overwrite is disabled so they are aware + # that UI changes will not be applied to the config file + if not yaml_overwrite: + reply = QMessageBox.warning( + self.parent, + "YAML Overwrite Disabled", + "YAML config overwrite is disabled. The config file on disk will be " + "used as-is, and any UI changes (RINEX file, constellations, output " + "settings, etc.) will NOT be applied.\n\n" + "Are you sure you want to continue?", + QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, + QMessageBox.StandardButton.No + ) + if reply != QMessageBox.StandardButton.Yes: + return - def _update_constellations_for_ppp_selection(self): - """ - Update the constellations combobox to enable / disable items based on the - currently selected PPP provider/series/project combination. - Constellations supported by the selected combination are enabled and checked, - unsupported constellations are disabled and unchecked. - """ - combo = self.ui.constellationsCombo - if not hasattr(combo, '_constellation_model') or combo._constellation_model is None: - return + try: + self.execution.reload_config() - model = combo._constellation_model - - # Get current PPP selection - provider = self.ui.pppProviderCombo.currentText() - series = self.ui.pppSeriesCombo.currentText() - project = self.ui.pppProjectCombo.currentText() - - # Get available constellations for this combination - available_constellations = set() - if hasattr(self, 'provider_constellations') and self.provider_constellations: - try: - available_constellations = self.provider_constellations.get(provider, {}).get(series, {}).get(project, set()) - except (KeyError, AttributeError): - available_constellations = set() - - # If no constellation info available, enable all (fallback behaviour) - if not available_constellations: - for i in range(model.rowCount()): - item = model.item(i) - item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + if yaml_overwrite: + inputs = self.extract_ui_values(self.rnx_file) + self.execution.apply_ui_config(inputs) + self.execution.write_cached_changes() + else: + # Still need to store loading BLQ parameters even when not overwriting, + # so that ensure_loading_blq() can generate BLQ files if needed + self.execution.set_loading_params( + marker_name=self.extract_marker_name(self.rnx_file), + marker_number=getattr(self, '_marker_number', None), + apriori_position=self.parse_apriori_position(self.ui.aprioriPositionButton.text()), + ) + self.execution.yaml_overwrite = False + except Exception as e: + Logger.workflow(f"⚠️ Failed to apply config: {e}") return - # Block signals to prevent triggering on_item_changed multiple times - model.blockSignals(True) - - # Update each constellation item - for i in range(model.rowCount()): - item = model.item(i) - constellation_name = item.text().upper() + self.pea_ready.emit() - if constellation_name in available_constellations: - # Enable and check this constellation - #item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) # Un-comment to also disable checkability - item.setCheckState(Qt.Checked) - else: - # Disable and uncheck this constellation - #item.setFlags(Qt.ItemIsUserCheckable) # Un-comment to also disable checkability - item.setCheckState(Qt.Unchecked) - - model.blockSignals(False) - - # Update the label text to show only enabled/checked constellations - selected = [ - model.item(i).text() - for i in range(model.rowCount()) - if model.item(i).checkState() == Qt.Checked - ] - label = ", ".join(selected) if selected else "Select one or more" - combo.lineEdit().setText(label) - self.ui.constellationsValue.setText(label) - - # Sync the constellation list widgets - self._sync_constellation_list_widgets_to_selection() - - def _on_config_tab_changed(self, index: int): + def _reset_ui_to_defaults(self): """ - UI handler: triggered when the config tab widget changes tabs. - When switching to the Constellations tab (index 1), fetch .BIA code priorities - for the current PPP selection if not already cached - - Arguments: - index (int): The index of the newly selected tab + Reset all UI fields to their default/initial states. + This is the "start from scratch" reset that clears all user inputs. """ - # Constellations tab is index 1 - if index != 1: - return - - # Check if we have valid PPP selection - provider = self.ui.pppProviderCombo.currentText() - series = self.ui.pppSeriesCombo.currentText() - project = self.ui.pppProjectCombo.currentText() + self.rnx_file = None + self.output_dir = None + self.products_df = pd.DataFrame() + self.last_rinex_path = None + self.valid_analysis_centers = [] + self.start_time = None + self.end_time = None + for attr in ['_valid_project_series_df', '_valid_series_for_provider']: + if hasattr(self, attr): + delattr(self, attr) - # Guard: Skip if any combo is empty or has placeholder values - if not provider or not series or not project: - return - if provider in ("", "None", "Select one") or series in ("", "None", "Select one") or project in ("", "None", "Select one"): - return + self._marker_number = None - # Guard: Skip if products_df is empty (happens during RINEX file change) - if self.products_df.empty: - return + self.parent.rnx_file = None + self.parent.output_dir = None - # Check if we already have cached BIA data for this combination - if self._is_bia_cached(provider, series, project): - # Already have the data, just validate - self._validate_constellation_codes_against_bia() - return + # Delegate to each tab controller + self.general_tab.reset_to_defaults() + self.constellations_tab.reset_to_defaults() + self.output_tab.reset_to_defaults() + self.yaml_tab.reset_to_defaults() - # Check if we are already loading the same combination - if self._bia_loading: - # Check if it is for a different combination - if so, restart - if (hasattr(self, '_bia_current_provider') and - (self._bia_current_provider != provider or - self._bia_current_series != series or - self._bia_current_project != project)): - # Different combination requested, stop current and start new - Logger.console(f"🔄 BIA fetch interrupted - switching to {provider}/{series}/{project}") - else: - # Same combination, let it continue - return + # Reset button states + self.ui.outputButton.setEnabled(False) + self.ui.showConfigButton.setEnabled(False) + self.ui.processButton.setEnabled(False) + self.ui.stopAllButton.setEnabled(False) + self.ui.observationsButton.setEnabled(True) + self.ui.cddisCredentialsButton.setEnabled(True) - # Start BIA fetch (will stop any existing worker first) - self._fetch_bia_code_priorities(provider, series, project) + # Reset visualisation panel + if hasattr(self.parent, 'visCtrl'): + self.parent.visCtrl.set_html_files([]) + if hasattr(self.ui, 'webEngineView'): + self.ui.webEngineView.setHtml("") - def _is_bia_cached(self, provider: str, series: str, project: str) -> bool: - """ - Check if BIA code priorities are cached for the given combination. - - Arguments: - provider (str) - series (str) - project (str) - - Returns: - bool: True if cached, False otherwise - """ - try: - return (provider in self.bia_code_priorities and - series in self.bia_code_priorities[provider] and - project in self.bia_code_priorities[provider][series]) - except (KeyError, TypeError): - return False - - def _fetch_bia_code_priorities(self, provider: str, series: str, project: str): - """ - Start background worker to fetch and parse BIA file for code priorities. - - Arguments: - provider (str) - series (str) - project (str) - """ - # Safety guard: don't start worker with invalid parameters - if not provider or not series or not project: - Logger.console(f"⚠️ BIA fetch skipped: invalid parameters provider='{provider}' series='{series}' project='{project}'") - return - if provider in ("", "None", "Select one") or series in ("", "None", "Select one") or project in ("", "None", "Select one"): - Logger.console(f"⚠️ BIA fetch skipped: placeholder values in parameters") - return - if self.products_df.empty: - Logger.console(f"⚠️ BIA fetch skipped: products_df is empty") - return - - # Stop any existing BIAProductWorker before starting a new one - self._stop_bia_worker() - - self._bia_loading = True - - # Show loading indicator - self._show_bia_loading_indicator(True) - - # Create worker and thread - self._bia_thread = QThread() - self._bia_worker = BiasProductWorker(self.products_df, provider, series, project) - self._bia_worker.moveToThread(self._bia_thread) - - # Connect signals - self._bia_thread.started.connect(self._bia_worker.run) - self._bia_worker.finished.connect(self._on_bia_finished) - self._bia_worker.error.connect(self._on_bia_error) - self._bia_worker.progress.connect(self._on_bia_progress) - self._bia_worker.finished.connect(self._bia_thread.quit) - self._bia_worker.error.connect(self._bia_thread.quit) - self._bia_thread.finished.connect(self._on_bia_thread_finished) - - # Store current selection for when results come back - self._bia_current_provider = provider - self._bia_current_series = series - self._bia_current_project = project - - # Start the thread - self._bia_thread.start() - - def _stop_bia_worker(self): - """ - Stop any running BIA worker and clean up thread resources. - """ - if self._bia_worker is not None: - # Disconnect signals to prevent callbacks after cleanup - try: - self._bia_worker.finished.disconnect() - self._bia_worker.error.disconnect() - self._bia_worker.progress.disconnect() - except (RuntimeError, TypeError): - # Signals may not be connected or already disconnected - pass - # Signal the worker to stop - self._bia_worker.stop() - - if self._bia_thread is not None: - # Disconnect thread signals - try: - self._bia_thread.started.disconnect() - self._bia_thread.finished.disconnect() - except (RuntimeError, TypeError): - pass - - if self._bia_thread.isRunning(): - # Ask thread to quit and wait briefly - self._bia_thread.quit() - # Wait up to 2 seconds for thread to finish - if not self._bia_thread.wait(2000): - # Force terminate if it doesn't stop gracefully - Logger.console("⚠️ BIA thread did not stop gracefully, forcing termination") - self._bia_thread.terminate() - self._bia_thread.wait(1000) - - # Clean up references - self._bia_worker = None - self._bia_thread = None - self._bia_loading = False - - def _on_bia_progress(self, description: str, percent: int): - """ - UI handler: update progress during BIA fetch. - - Arguments: - description (str): Progress description - percent (int): Progress percentage (-1 for indeterminate) - """ - # Update the loading label if it exists - if hasattr(self, '_bia_loading_label') and self._bia_loading_label: - self._bia_loading_label.setText(f"⏳ {description}") - - def _on_bia_finished(self, code_priorities: dict): - """ - UI handler: BIA fetch completed successfully. - - Arguments: - code_priorities (dict): Dictionary mapping constellation names to sets of code priorities - e.g., {'GPS': {'L1C', 'L2W'}, 'GAL': {'L1C', 'L5Q'}, ...} - """ - self._bia_loading = False - self._show_bia_loading_indicator(False) - - # Hide any previous BIA warning since we now have valid data - self._show_bia_warning(False) - - # Cache the results - provider = self._bia_current_provider - series = self._bia_current_series - project = self._bia_current_project - - if provider not in self.bia_code_priorities: - self.bia_code_priorities[provider] = {} - if series not in self.bia_code_priorities[provider]: - self.bia_code_priorities[provider][series] = {} - self.bia_code_priorities[provider][series][project] = code_priorities - - Logger.terminal(f"✅ BIA code priorities cached for {provider}/{series}/{project}") - - # Validate the constellation codes against BIA - self._validate_constellation_codes_against_bia() - - def _on_bia_error(self, error_msg: str): - """ - UI handler: BIA fetch failed. - - Arguments: - error_msg (str): Error message describing the failure - """ - self._bia_loading = False - self._show_bia_loading_indicator(False) - - Logger.console(f"⚠️ BIA fetch error: {error_msg}") - - # Don't show warnings for cancelled fetches (user-initiated) - if "cancelled" in error_msg.lower(): - return - - # Mark all codes as invalid (red strikethrough) - self._mark_all_codes_invalid() - - # Show BIA warning label - self._show_bia_warning(True) - - # Log to terminal (workflow tab) so user is aware BIA validation is unavailable - Logger.terminal(f"⚠️ Failed to fetch BIA file for selected PPP products - unable to validate codes") - - show_toast(self.parent, f"⚠️ Could not fetch BIA data: {error_msg}", duration=3000) - - def _on_bia_thread_finished(self): - """ - Slot called when the BIA thread has fully finished. - Safe to clean up references here. - """ - self._bia_worker = None - self._bia_thread = None - - def _show_bia_loading_indicator(self, show: bool): - """ - Show or hide a loading indicator on the Constellations tab. - - Arguments: - show (bool): True to show, False to hide - """ - if not hasattr(self, '_bia_loading_label') or self._bia_loading_label is None: - return - - # Reset to initial text when showing (in case it was changed by progress updates) - if show: - self._bia_loading_label.setText("⏳ Loading code priorities from .BIA file...") - - self._bia_loading_label.setVisible(show) - - def _validate_constellation_codes_against_bia(self): - """ - Validate the codes in each constellation list widget against the cached BIA codes. - Codes that are NOT in the .BIA file are marked with strikethrough and a different colour. - """ - # Get current PPP selection - provider = self.ui.pppProviderCombo.currentText() - series = self.ui.pppSeriesCombo.currentText() - project = self.ui.pppProjectCombo.currentText() - - # Get cached BIA codes for this selection - bia_codes = None - try: - bia_codes = self.bia_code_priorities.get(provider, {}).get(series, {}).get(project, None) - except (KeyError, TypeError, AttributeError): - pass - - if not bia_codes: - # No BIA data available, reset all items to normal styling - self._reset_constellation_list_styling() - return - - # Map widget names to constellation keys - widget_mapping = { - 'gpsListWidget': 'GPS', - 'galListWidget': 'GAL', - 'gloListWidget': 'GLO', - 'bdsListWidget': 'BDS', - 'qzsListWidget': 'QZS', - } - - # Colours for codes - valid_color = QColor('white') # White for valid - invalid_color = QColor('#FF6B6B') # Red for invalid - - for widget_name, constellation in widget_mapping.items(): - if not hasattr(self.ui, widget_name): - continue - - list_widget = getattr(self.ui, widget_name) - constellation_bia_codes = bia_codes.get(constellation, set()) - - for i in range(list_widget.count()): - item = list_widget.item(i) - if item is None: - continue - - # Get the code text (e.g., "L1C", "L2W") - code = item.text().strip() - - # Get current font - font = item.font() - - if code in constellation_bia_codes: - # Valid code - normal styling - font.setStrikeOut(False) - item.setFont(font) - item.setForeground(QBrush(valid_color)) - else: - # Invalid code - strikethrough + colour - font.setStrikeOut(True) - item.setFont(font) - item.setForeground(QBrush(invalid_color)) - - Logger.terminal(f"✅ Validated constellation codes against BIA for {provider}/{series}/{project}") - - def _reset_constellation_list_styling(self): - """ - Reset all constellation list widget items to normal styling (no strikethrough, white colour). - Called when BIA data is not available. - """ - widget_names = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] - normal_color = QColor('white') - - for widget_name in widget_names: - if not hasattr(self.ui, widget_name): - continue - - list_widget = getattr(self.ui, widget_name) - - for i in range(list_widget.count()): - item = list_widget.item(i) - if item is None: - continue - - font = item.font() - font.setStrikeOut(False) - item.setFont(font) - item.setForeground(QBrush(normal_color)) - - # Also hide BIA warning when resetting - self._show_bia_warning(False) - - def _mark_all_codes_invalid(self): - """ - Mark all constellation list widget items as invalid (red strikethrough). - Called when BIA file fetch fails. - """ - widget_names = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] - invalid_color = QColor('#ff6b6b') - - for widget_name in widget_names: - if not hasattr(self.ui, widget_name): - continue - - list_widget = getattr(self.ui, widget_name) - - for i in range(list_widget.count()): - item = list_widget.item(i) - if item is None: - continue - - font = item.font() - font.setStrikeOut(True) - item.setFont(font) - item.setForeground(QBrush(invalid_color)) - - def _show_bia_warning(self, show: bool): - """ - Show or hide the BIA warning label on the Constellations tab. - - Arguments: - show (bool): True to show warning, False to hide it. - """ - if hasattr(self, '_bia_warning_label'): - self._bia_warning_label.setVisible(show) - - #region SINEX Validation - - def _start_sinex_validation(self, target_date: datetime, marker_name: str, receiver_type: str, antenna_type: str, - antenna_offset: list, apriori_position: list = None): - """ - Start SINEX validation in a background thread. - - Arguments: - target_date (datetime): Date for which to download the SINEX file - marker_name (str): 4-character marker name from RINEX - receiver_type (str): Receiver type from RINEX - antenna_type (str): Antenna type from RINEX - antenna_offset (list): Antenna offset [E, N, U] from RINEX - apriori_position (list): Optional apriori position [X, Y, Z] from RINEX - """ - if not marker_name or len(marker_name) < 4: - Logger.terminal("⚠️ Invalid marker name - SINEX validation skipped") - return - - # Stop any existing SINEX worker - self._stop_sinex_worker() - - Logger.terminal(f"📋 Starting SINEX validation for marker '{marker_name[:4]}'...") - - # Create worker and thread - self._sinex_worker = SinexValidationWorker( - target_date=target_date, - marker_name=marker_name[:4], # Use first 4 characters - receiver_type=receiver_type, - antenna_type=antenna_type, - antenna_offset=antenna_offset, - apriori_position=apriori_position, - ) - self._sinex_thread = QThread() - self._sinex_worker.moveToThread(self._sinex_thread) - - # Connect signals - self._sinex_worker.finished.connect(self._on_sinex_validation_finished) - self._sinex_worker.error.connect(self._on_sinex_validation_error) - self._sinex_worker.progress.connect(self._on_sinex_validation_progress) - - self._sinex_thread.started.connect(self._sinex_worker.run) - self._sinex_worker.finished.connect(self._sinex_thread.quit) - self._sinex_worker.error.connect(self._sinex_thread.quit) - self._sinex_thread.finished.connect(self._on_sinex_thread_finished) - - self._sinex_thread.start() - - def _stop_sinex_worker(self): - """ - Stop any running SINEX validation worker and clean up thread resources. - """ - if self._sinex_worker is not None: - # Disconnect signals to prevent callbacks after cleanup - try: - self._sinex_worker.finished.disconnect() - self._sinex_worker.error.disconnect() - self._sinex_worker.progress.disconnect() - except (RuntimeError, TypeError): - pass - # Signal the worker to stop - self._sinex_worker.stop() - - if self._sinex_thread is not None: - # Disconnect thread signals - try: - self._sinex_thread.started.disconnect() - self._sinex_thread.finished.disconnect() - except (RuntimeError, TypeError): - pass - - if self._sinex_thread.isRunning(): - self._sinex_thread.quit() - if not self._sinex_thread.wait(2000): - Logger.console("⚠️ SINEX thread did not stop gracefully, forcing termination") - self._sinex_thread.terminate() - self._sinex_thread.wait(1000) - - # Clean up references - self._sinex_worker = None - self._sinex_thread = None - - def _on_sinex_validation_progress(self, description: str, percent: int): - """ - UI handler: update progress bar during SINEX download. - - Arguments: - description (str): Progress description (filename) - percent (int): Progress percentage (0-100) - """ - # Update the progress bar in the UI (same as product downloads) - if hasattr(self.ui, 'progressBar'): - self.ui.progressBar.setValue(percent) - self.ui.progressBar.setFormat(f"📥 {description}: {percent}%") - - def _on_sinex_validation_finished(self, sinex_path, validation_results: dict): - """ - UI handler: SINEX validation completed. - - Arguments: - sinex_path (Path): Path to the downloaded SINEX file - validation_results (dict): Validation results dictionary - """ - self._sinex_path = sinex_path - - # Store the SINEX filename for later use in apply_ui_config() - # (config writing only happens when apply_ui_config is called) - if sinex_path is not None: - self._sinex_filename = sinex_path.name - - # Reset progress bar - if hasattr(self.ui, 'progressBar'): - self.ui.progressBar.setValue(0) - self.ui.progressBar.setFormat("") - - # Check validation results and show appropriate toast - if 'error' in validation_results: - show_toast(self.parent, f"⚠️ SINEX validation error: {validation_results['error']}", duration=5000) - return - - if not validation_results.get('marker_found', False): - show_toast(self.parent, f"ℹ️ Marker not found in SINEX file", duration=3000) - return - - # Apply SINEX apriori_position to UI if available (SINEX is more accurate than RINEX) - apriori_result = validation_results.get('apriori_position', {}) - sinex_position = apriori_result.get('sinex_value') - if sinex_position is not None and len(sinex_position) == 3: - # Update the UI with SINEX coordinates - position_str = ", ".join(str(v) for v in sinex_position) - self.ui.aprioriPositionButton.setText(position_str) - - # Check if all validations passed - all_valid = True - has_validations = False - for field in ['receiver_type', 'antenna_type', 'antenna_offset', 'apriori_position']: - field_result = validation_results.get(field, {}) - if field_result.get('valid') is True: - has_validations = True - elif field_result.get('valid') is False: - all_valid = False - has_validations = True - - if has_validations: - if all_valid: - show_toast(self.parent, "✅ SINEX validation passed", duration=3000) - else: - show_toast(self.parent, "⚠️ SINEX validation warnings - check terminal", duration=5000) - - def _on_sinex_validation_error(self, error_msg: str): - """ - UI handler: SINEX validation failed. - - Arguments: - error_msg (str): Error message describing the failure - """ - Logger.terminal(f"⚠️ SINEX validation error: {error_msg}") - - # Don't show toast for cancelled operations - if "cancelled" not in error_msg.lower(): - show_toast(self.parent, f"⚠️ SINEX validation failed: {error_msg}", duration=5000) - - def _on_sinex_thread_finished(self): - """ - Slot called when the SINEX thread has fully finished. - Safe to clean up references here. - """ - self._sinex_worker = None - self._sinex_thread = None - - # endregion - - def _on_analysis_thread_finished(self): - """ - Slot called when the analysis thread has fully finished. - Safe to clean up references here. - """ - # Clean up current thread references if it's no longer running - if hasattr(self, 'metadata_thread') and self.metadata_thread is not None: - if not self.metadata_thread.isRunning(): - self.worker = None - self.metadata_thread = None - - # Also clean any finished pending threads - self._pending_threads = [t for t in self._pending_threads if t.isRunning()] - - def _on_ppp_provider_changed(self, provider_name: str): - """ - UI handler: when PPP provider changes, refresh project and series options. - Only shows series that have all required files (SP3, BIA, CLK). - """ - if not provider_name or provider_name.strip() == "": - return - try: - # Get valid series for this provider (only those with all required files) - valid_series = get_valid_series_for_provider(self.products_df, provider_name) - - if not valid_series: - raise ValueError(f"No valid series (with all required files) for provider: {provider_name}") - - # Get DataFrame of valid (project, series) pairs - filter for valid series only - df = self.products_df.loc[ - (self.products_df["analysis_center"] == provider_name) & - (self.products_df["solution_type"].isin(valid_series)), - ["project", "solution_type"]] - - if df.empty: - raise ValueError(f"No valid project–series combinations for provider: {provider_name}") - - # Store for future filtering if needed - self._valid_project_series_df = df - self._valid_series_for_provider = valid_series # Cache valid series - - project_options = sorted(df['project'].unique()) - series_options = sorted(df['solution_type'].unique()) - - # Block signals before clearing and populating to prevent any duplicates in dropdown - self.ui.pppProjectCombo.blockSignals(True) - self.ui.pppSeriesCombo.blockSignals(True) - - self.ui.pppProjectCombo.clear() - self.ui.pppSeriesCombo.clear() - - self.ui.pppProjectCombo.addItems(project_options) - self.ui.pppSeriesCombo.addItems(series_options) - - self.ui.pppProjectCombo.setCurrentIndex(0) - self.ui.pppSeriesCombo.setCurrentIndex(0) - - # Unblock signals now that the population is complete - self.ui.pppProjectCombo.blockSignals(False) - self.ui.pppSeriesCombo.blockSignals(False) - - # Update constellations combobox based on new PPP selection - self._update_constellations_for_ppp_selection() - - # If we're on the Constellations tab, trigger BIA fetch for new selection - if self.ui.configTabWidget.currentIndex() == 1: - self._on_config_tab_changed(1) - - except Exception as e: - self.ui.pppSeriesCombo.clear() - self.ui.pppSeriesCombo.addItem("None") - self.ui.pppProjectCombo.clear() - self.ui.pppProjectCombo.addItem("None") - - def _on_ppp_series_changed(self, selected_series: str): - """ - UI handler: when PPP series changes, filter valid projects. - - Arguments: - selected_series (str): Series code, e.g., 'ULT', 'RAP', 'FIN'. - """ - if not hasattr(self, "_valid_project_series_df"): - return - - df = self._valid_project_series_df - filtered_df = df[df["solution_type"] == selected_series] - valid_projects = sorted(filtered_df["project"].unique()) - - self.ui.pppProjectCombo.blockSignals(True) - self.ui.pppProjectCombo.clear() - self.ui.pppProjectCombo.addItems(valid_projects) - self.ui.pppProjectCombo.setCurrentIndex(0) - self.ui.pppProjectCombo.blockSignals(False) - - # Update constellations combobox based on new PPP selection - self._update_constellations_for_ppp_selection() - - # If we are on the Constellations tab, trigger BIA fetch for new selection - # This may occur if the user is on this tab while PPP products are being fetched - if self.ui.configTabWidget.currentIndex() == 1: - self._on_config_tab_changed(1) - - def _on_ppp_project_changed(self, selected_project: str): - """ - UI handler: when PPP project changes, filter valid series. - Only displays series that have all required files (SP3, BIA, CLK). - """ - if not hasattr(self, "_valid_project_series_df"): - return - - df = self._valid_project_series_df - filtered_df = df[df["project"] == selected_project] - valid_series = sorted(filtered_df["solution_type"].unique()) - - # Ensure only series with all required files are displayed - if hasattr(self, "_valid_series_for_provider"): - valid_series = [s for s in valid_series if s in self._valid_series_for_provider] - - self.ui.pppSeriesCombo.blockSignals(True) - self.ui.pppSeriesCombo.clear() - self.ui.pppSeriesCombo.addItems(valid_series) - self.ui.pppSeriesCombo.setCurrentIndex(0) - self.ui.pppSeriesCombo.blockSignals(False) - - # Update constellations combobox based on new PPP selection - self._update_constellations_for_ppp_selection() - - Logger.terminal(f"✅ Filtered PPP series for project '{selected_project}': {valid_series}") - - # If we are on the Constellations tab, trigger BIA fetch for new selection - # This may occur if the user is on this tab while PPP products are being fetched - if self.ui.configTabWidget.currentIndex() == 1: - self._on_config_tab_changed(1) - - def load_output_dir(self): - """ - UI handler: choose the output directory and (if RNX is set) emit ready. - """ - """Pick an output directory; if RNX is also set, emit ready.""" - path = self._select_output_dir(self.parent) - if not path: - return - - # Ensure output_dir is a Path object - self.output_dir = Path(path).resolve() - Logger.terminal(f"📂 Output directory selected: {self.output_dir}") - - # Archive existing/old outputs - visual_dir = self.output_dir / "visual" - archive_old_outputs(self.output_dir, visual_dir) - - # Enable process button - # MainWindow owns when to enable processButton. This controller exposes a helper if needed. - self.try_enable_process_button() - - # Always update MainWindow's state - self.parent.output_dir = self.output_dir - - if self.rnx_file: - self.ready.emit(str(self.rnx_file), str(self.output_dir)) - - def try_enable_process_button(self): - """ - UI handler: enable the Process button when RNX, output path, and metadata are ready. - """ - if not self.parent.metadata_downloaded: - return - if not self.output_dir: - return - if not self.rnx_file: - return - if len(self._get_ppp_provider_items()) < 1: - return - self.ui.processButton.setEnabled(True) - - # endregion - - # region Multi-Selectors Assigning (A.K.A. Combo Plumbing) - - def _on_select(self, combo: QComboBox, label, title: str, index: int): - """ - UI handler: mirror a single-select combo choice to a label and reset placeholder. - - Arguments: - combo (QComboBox): Source combo box. - label (QLabel): Target label to mirror text. - title (str): Placeholder title to reset in the combo. - index (int): Selected index. - """ - value = combo.itemText(index) - label.setText(value) - - combo.clear() - combo.addItem(title) - - def _bind_combo(self, combo: QComboBox, items_func: Callable[[], List[str]]): - """ - Bind a single-choice combo to dynamically populate items on open and keep the UI clean. - - Arguments: - combo (QComboBox): Target combo box to bind. - items_func (Callable[[], list[str]]): Function returning the items list. - """ - combo._old_showPopup = combo.showPopup - - def new_showPopup(): - combo.clear() - combo.setEditable(True) - combo.lineEdit().setAlignment(Qt.AlignCenter) - for item in items_func(): - combo.addItem(item) - combo.setEditable(False) - combo._old_showPopup() - - combo.showPopup = new_showPopup - - def _bind_multiselect_combo( - self, - combo: QComboBox, - items_func: Callable[[], List[str]], - mirror_label, - placeholder: str, - ): - """ - Bind a multi-select combo using checkable items and mirror checked labels as comma-separated text. - - Arguments: - combo (QComboBox): Target combo box. - items_func (Callable[[], list[str]]): Function returning the items list. - mirror_label (QLabel): Label where checked values are mirrored. - placeholder (str): Placeholder text when no item is checked. - - """ - combo.setEditable(True) - combo.lineEdit().setReadOnly(True) - combo.lineEdit().setPlaceholderText(placeholder) - combo.setInsertPolicy(QComboBox.NoInsert) - - combo._old_showPopup = combo.showPopup - - def show_popup(): - model = QStandardItemModel(combo) - for txt in items_func(): - it = QStandardItem(txt) - it.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) - it.setData(Qt.Unchecked, Qt.CheckStateRole) - model.appendRow(it) - - def on_item_changed(_item: QStandardItem): - # Collect all checked items - selected = [ - model.item(r).text() - for r in range(model.rowCount()) - if model.item(r).checkState() == Qt.Checked - ] - text = ", ".join(selected) if selected else placeholder - combo.lineEdit().setText(text) - mirror_label.setText(text) - - model.itemChanged.connect(on_item_changed) - combo.setModel(model) - combo._old_showPopup() - - combo.showPopup = show_popup - combo.clear() - combo.lineEdit().clear() - combo.lineEdit().setPlaceholderText(placeholder) - - # ========================================================== - - # Receiver / Antenna free text popups - # ========================================================== - def _enable_free_text_for_receiver_and_antenna(self): - """ - Allow users to enter custom receiver/antenna types via popup, mirroring to UI. - """ - self.ui.receiverTypeCombo.setEditable(True) - self.ui.receiverTypeCombo.lineEdit().setReadOnly(True) - self.ui.antennaTypeCombo.setEditable(True) - self.ui.antennaTypeCombo.lineEdit().setReadOnly(True) - - # Receiver type free text - def _ask_receiver_type(): - current_text = self.ui.receiverTypeCombo.currentText().strip() - text, ok = QInputDialog.getText( - self.ui.receiverTypeCombo, - "Receiver Type", - "Enter receiver type:", - text=current_text # prefill with current - ) - if ok and text: - self.ui.receiverTypeCombo.clear() - self.ui.receiverTypeCombo.addItem(text) - self.ui.receiverTypeCombo.lineEdit().setText(text) - self.ui.receiverTypeValue.setText(text) - - self.ui.receiverTypeCombo.showPopup = _ask_receiver_type - - # Antenna type free text - def _ask_antenna_type(): - current_text = self.ui.antennaTypeCombo.currentText().strip() - text, ok = QInputDialog.getText( - self.ui.antennaTypeCombo, - "Antenna Type", - "Enter antenna type:", - text=current_text # prefill with current - ) - if ok and text: - self.ui.antennaTypeCombo.clear() - self.ui.antennaTypeCombo.addItem(text) - self.ui.antennaTypeCombo.lineEdit().setText(text) - self.ui.antennaTypeValue.setText(text) - - self.ui.antennaTypeCombo.showPopup = _ask_antenna_type - - # ========================================================== - # Antenna offset popup - # ========================================================== - def _open_antenna_offset_dialog(self): - """ - UI handler: open antenna offset dialog (E, N, U) with text input fields. - """ - dlg = QDialog(self.ui.antennaOffsetButton) - dlg.setWindowTitle("Antenna Offset") - - # Parse existing "E, N, U" - try: - e0, n0, u0 = [x.strip() for x in self.ui.antennaOffsetValue.text().split(",")] - except Exception: - e0 = n0 = u0 = "0.0" - - form = QFormLayout(dlg) - - edit_e = QLineEdit(str(e0), dlg) - edit_n = QLineEdit(str(n0), dlg) - edit_u = QLineEdit(str(u0), dlg) - - form.addRow("E:", edit_e) - form.addRow("N:", edit_n) - form.addRow("U:", edit_u) - - btn_row = QHBoxLayout() - ok_btn = QPushButton("OK", dlg) - cancel_btn = QPushButton("Cancel", dlg) - btn_row.addWidget(ok_btn) - btn_row.addWidget(cancel_btn) - form.addRow(btn_row) - - ok_btn.clicked.connect(lambda: self._set_antenna_offset(edit_e, edit_n, edit_u, dlg)) - cancel_btn.clicked.connect(dlg.reject) - - dlg.setMinimumWidth(300) - dlg.setFixedHeight(dlg.sizeHint().height()) - - dlg.exec() - - def _set_antenna_offset(self, edit_e, edit_n, edit_u, dlg: QDialog): - """ - UI handler: apply antenna offset values back to UI. - - Arguments: - edit_e (QLineEdit): East (E) input field. - edit_n (QLineEdit): North (N) input field. - edit_u (QLineEdit): Up (U) input field. - dlg (QDialog): Dialog to accept/close. - """ - try: - e = float(edit_e.text().strip()) - n = float(edit_n.text().strip()) - u = float(edit_u.text().strip()) - except ValueError: - QMessageBox.warning(dlg, "Invalid input", "Please enter valid numeric values.") - return - - text = f"{e}, {n}, {u}" - self.ui.antennaOffsetButton.setText(text) - self.ui.antennaOffsetValue.setText(text) - dlg.accept() - - # ========================================================== - # Apriori position popup - # ========================================================== - def _open_apriori_position_dialog(self): - """ - UI handler: open apriori position dialog (X, Y, Z) with text input fields. - """ - dlg = QDialog(self.ui.aprioriPositionButton) - dlg.setWindowTitle("Apriori Position (ECEF)") - - # Parse existing "X, Y, Z" - try: - x0, y0, z0 = [x.strip() for x in self.ui.aprioriPositionButton.text().split(",")] - except Exception: - x0 = y0 = z0 = "0.0" - - form = QFormLayout(dlg) - - edit_x = QLineEdit(str(x0), dlg) - edit_y = QLineEdit(str(y0), dlg) - edit_z = QLineEdit(str(z0), dlg) - - form.addRow("X:", edit_x) - form.addRow("Y:", edit_y) - form.addRow("Z:", edit_z) - - btn_row = QHBoxLayout() - ok_btn = QPushButton("OK", dlg) - cancel_btn = QPushButton("Cancel", dlg) - btn_row.addWidget(ok_btn) - btn_row.addWidget(cancel_btn) - form.addRow(btn_row) - - ok_btn.clicked.connect(lambda: self._set_apriori_position(edit_x, edit_y, edit_z, dlg)) - cancel_btn.clicked.connect(dlg.reject) - - dlg.setMinimumWidth(300) - dlg.setFixedHeight(dlg.sizeHint().height()) - - dlg.exec() - - def _set_apriori_position(self, edit_x, edit_y, edit_z, dlg: QDialog): - """ - UI handler: apply apriori position values back to UI. - - Arguments: - edit_x (QLineEdit): X coordinate input field. - edit_y (QLineEdit): Y coordinate input field. - edit_z (QLineEdit): Z coordinate input field. - dlg (QDialog): Dialog to accept/close. - """ - try: - x = float(edit_x.text().strip()) - y = float(edit_y.text().strip()) - z = float(edit_z.text().strip()) - except ValueError: - QMessageBox.warning(dlg, "Invalid input", "Please enter valid numeric values.") - return - - text = f"{x}, {y}, {z}" - self.ui.aprioriPositionButton.setText(text) - dlg.accept() - - # ========================================================== - # Time window popup - # ========================================================== - def _open_time_window_dialog(self): - """ - UI handler: open dialog to adjust observation start/end times. - """ - dlg = QDialog(self.ui.timeWindowButton) - dlg.setWindowTitle("Time Window") - - # Parse existing "yyyy-MM-dd_HH:mm:ss to yyyy-MM-dd_HH:mm:ss" - current_text = self.ui.timeWindowButton.text() - try: - s_text, e_text = current_text.split(" to ") - s_dt = QDateTime.fromString(s_text, "yyyy-MM-dd_HH:mm:ss") - e_dt = QDateTime.fromString(e_text, "yyyy-MM-dd_HH:mm:ss") - if not s_dt.isValid(): - s_dt = QDateTime.fromString(s_text, "yyyy-MM-dd HH:mm:ss") - if not e_dt.isValid(): - e_dt = QDateTime.fromString(e_text, "yyyy-MM-dd HH:mm:ss") - except Exception: - s_dt = e_dt = QDateTime.currentDateTime() - - form = QFormLayout(dlg) - - start_edit = QDateTimeEdit(s_dt, dlg) - end_edit = QDateTimeEdit(e_dt, dlg) - - start_edit.setCalendarPopup(True) - end_edit.setCalendarPopup(True) - start_edit.setDisplayFormat("yyyy-MM-dd_HH:mm:ss") - end_edit.setDisplayFormat("yyyy-MM-dd_HH:mm:ss") - start_edit.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) - end_edit.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) - - form.addRow("Start:", start_edit) - form.addRow("End:", end_edit) - - btn_row = QHBoxLayout() - ok_btn = QPushButton("OK", dlg) - cancel_btn = QPushButton("Cancel", dlg) - btn_row.addWidget(ok_btn) - btn_row.addWidget(cancel_btn) - form.addRow(btn_row) - - ok_btn.clicked.connect(lambda: self._set_time_window(start_edit, end_edit, dlg)) - cancel_btn.clicked.connect(dlg.reject) - - dlg.setMinimumWidth(300) - dlg.setFixedHeight(dlg.sizeHint().height()) - - dlg.exec() - - def _set_time_window(self, start_edit, end_edit, dlg: QDialog): - """ - UI handler: validate and set selected time window into UI. - - Arguments: - start_edit (QDateTimeEdit): Start time widget. - end_edit (QDateTimeEdit): End time widget. - dlg (QDialog): Dialog to accept/close. - """ - if end_edit.dateTime() < start_edit.dateTime(): - QMessageBox.warning(dlg, "Time error", - "End time cannot be earlier than start time.\nPlease select again.") - return - - s = start_edit.dateTime().toString("yyyy-MM-dd_HH:mm:ss") - e = end_edit.dateTime().toString("yyyy-MM-dd_HH:mm:ss") - self.ui.timeWindowButton.setText(f"{s} to {e}") - self.ui.timeWindowValue.setText(f"{s} to {e}") - dlg.accept() - - # ========================================================== - # Data interval popup - # ========================================================== - def _open_data_interval_dialog(self): - """ - UI handler: open dialog to adjust data interval (seconds). - """ - dlg = QDialog(self.ui.dataIntervalButton) - dlg.setWindowTitle("Data Interval") - - # Extract current value from button text ("30 s" → 30, "0.50 s" → 0.5) - current_text = self.ui.dataIntervalButton.text().replace(" s", "").strip() - try: - current_val = float(current_text) - except ValueError: - current_val = 1.0 # fallback if parsing fails - - form = QFormLayout(dlg) - - interval_spin = QDoubleSpinBox(dlg) - interval_spin.setRange(0.01, 999999.99) - interval_spin.setDecimals(2) - interval_spin.setValue(current_val) - interval_spin.setSuffix(" s") - interval_spin.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) - - form.addRow("Interval:", interval_spin) - - btn_row = QHBoxLayout() - ok_btn = QPushButton("OK", dlg) - cancel_btn = QPushButton("Cancel", dlg) - btn_row.addWidget(ok_btn) - btn_row.addWidget(cancel_btn) - form.addRow(btn_row) - - ok_btn.clicked.connect(lambda: self._set_data_interval(interval_spin, dlg)) - cancel_btn.clicked.connect(dlg.reject) - - dlg.setMinimumWidth(300) - dlg.setFixedHeight(dlg.sizeHint().height()) - - dlg.exec() + if hasattr(self.ui, 'configTabWidget'): + self.ui.configTabWidget.setCurrentIndex(0) - def _set_data_interval(self, interval_spin, dlg: QDialog): + def try_enable_process_button(self): """ - UI handler: apply data interval value back to UI. - - Arguments: - interval_spin (QDoubleSpinBox): Interval spin box. - dlg (QDialog): Dialog to accept/close. + Enable the Process button when RNX, output path, and metadata are ready. """ - val = interval_spin.value() - text = f"{int(val)} s" if val == int(val) else f"{val:.2f} s" - self.ui.dataIntervalButton.setText(text) - self.ui.dataIntervalValue.setText(text) - dlg.accept() - - # endregion - - # region Config and PEA Processing + if not self.parent.metadata_downloaded: + return + if not self.output_dir: + return + if not self.rnx_file: + return + if len(self.valid_analysis_centers) < 1: + return + self.ui.processButton.setEnabled(True) def extract_ui_values(self, rnx_path): """ - Extract current UI values, parse/normalize them, and return as dataclass. + Extract current UI values, parse/normalise them, and return as dataclass. Arguments: rnx_path (str): Selected RINEX observation file path. Returns: ExtractedInputs: Dataclass containing parsed fields and raw strings. - """ - # Extract user input from the UI and assign it to class variables. mode_raw = self.ui.modeCombo.currentText() if self.ui.modeCombo.currentText() != "Select one" else "Static" - - # Get constellations from the actual dropdown selections, not the label - constellations_raw = "" - combo = self.ui.constellationsCombo - if hasattr(combo, '_constellation_model') and combo._constellation_model: - model = combo._constellation_model - selected = [model.item(i).text() for i in range(model.rowCount()) if - model.item(i).checkState() == Qt.Checked] - constellations_raw = ", ".join(selected) - else: - # Fallback to the label text if no custom model exists - constellations_raw = self.ui.constellationsValue.text() - time_window_raw = self.ui.timeWindowValue.text() # Get from button, not value label - epoch_interval_raw = self.ui.dataIntervalButton.text() # Get from button, not value label + constellations_raw = self.general_tab.get_selected_constellations_text() + time_window_raw = self.ui.timeWindowValue.text() + epoch_interval_raw = self.ui.dataIntervalButton.text() receiver_type = self.ui.receiverTypeValue.text() antenna_type = self.ui.antennaTypeValue.text() - antenna_offset_raw = self.ui.antennaOffsetButton.text() # Get from button, not value label - apriori_position_raw = self.ui.aprioriPositionButton.text() # Get from button, not value label + antenna_offset_raw = self.ui.antennaOffsetButton.text() + apriori_position_raw = self.ui.aprioriPositionButton.text() ppp_provider = self.ui.pppProviderCombo.currentText() if self.ui.pppProviderCombo.currentText() != "Select one" else "" ppp_series = self.ui.pppSeriesCombo.currentText() if self.ui.pppSeriesCombo.currentText() != "Select one" else "" ppp_project = self.ui.pppProjectCombo.currentText() if self.ui.pppProjectCombo.currentText() != "Select one" else "" - # Extract observation codes from combos - obs_codes = self._extract_observation_codes() + obs_codes = self.constellations_tab.extract_observation_codes() + gpx_output, pos_output, trace_output_network, snx_output = self.output_tab.get_output_toggles() - # Parsed values start_epoch, end_epoch = self.parse_time_window(time_window_raw) antenna_offset = self.parse_antenna_offset(antenna_offset_raw) apriori_position = self.parse_apriori_position(apriori_position_raw) @@ -2224,12 +467,6 @@ def extract_ui_values(self, rnx_path): marker_name = self.extract_marker_name(rnx_path) mode = self.determine_mode_value(mode_raw) - # Output toggles - gpx_output = self.ui.gpxCheckbox.isChecked() if hasattr(self.ui, "gpxCheckbox") else True - pos_output = self.ui.posCheckbox.isChecked() if hasattr(self.ui, "posCheckbox") else True - trace_output_network = self.ui.traceCheckbox.isChecked() if hasattr(self.ui, "traceCheckbox") else False - - # Returned the values found as a dataclass for easier access return self.ExtractedInputs( marker_name=marker_name, start_epoch=start_epoch, @@ -2255,197 +492,14 @@ def extract_ui_values(self, rnx_path): gpx_output=gpx_output, pos_output=pos_output, trace_output_network=trace_output_network, + snx_output=snx_output, sinex_filename=self._sinex_filename, + marker_number=getattr(self, '_marker_number', None), ) - def _extract_observation_codes(self) -> dict: - """ - Extract selected observation codes from all constellation list widgets in priority order. - - Returns: - dict: Dictionary mapping constellation names to lists of selected codes in order - """ - obs_codes = {} - - list_widget_mapping = { - 'gps': 'gpsListWidget', - 'gal': 'galListWidget', - 'glo': 'gloListWidget', - 'bds': 'bdsListWidget', - 'qzs': 'qzsListWidget' - } - - for const_name, widget_name in list_widget_mapping.items(): - if not hasattr(self.ui, widget_name): - obs_codes[const_name] = [] - continue - - list_widget = getattr(self.ui, widget_name) - - # Extract checked items in their current order (priority order) - selected = [] - for i in range(list_widget.count()): - item = list_widget.item(i) - if item.checkState() == Qt.CheckState.Checked: - selected.append(item.text()) - - obs_codes[const_name] = selected - - return obs_codes - - def on_show_config(self): - """ - UI handler: reload config, apply UI values, write changes, then open the YAML. - """ - Logger.terminal("📄 Opening YAML configuration file...") - # Reload disk version before overwriting with GUI changes - self.execution.reload_config() - inputs = self.extract_ui_values(self.rnx_file) - self.execution.apply_ui_config(inputs) - self.execution.write_cached_changes() - - # Execution class will throw error when instantiated if the file doesn't exist and it can't create it - # This code is run after Execution class is instantiated within this file, thus never will occur - if not os.path.exists(GENERATED_YAML): - QMessageBox.warning( - None, - "File not found", - f"The file {GENERATED_YAML} does not exist." - ) - return - - self.on_open_config_in_editor(self.config_path) - - def on_open_config_in_editor(self, file_path): - """ - Open the config YAML file in the OS default editor/viewer. - - Arguments: - file_path (str): Absolute or relative path to the YAML file. - """ - import subprocess - import platform - - try: - abs_path = os.path.abspath(file_path) - - # Open the file with the appropriate method for the operating system - if platform.system() == "Windows": - os.startfile(abs_path) - return - - if platform.system() == "Darwin": # macOS - subprocess.run(["open", abs_path]) - - else: # Linux and other Unix-like systems - # When compiled with pyinstaller, LD_LIBRARY_PATH is modified which prevents external app opening - env = os.environ.copy() - original = env.get("LD_LIBRARY_PATH_ORIG") - if original: - env["LD_LIBRARY_PATH"] = original # Restore original value - else: - env.pop("LD_LIBRARY_PATH", None) # Clear the value to use sys defaults - subprocess.run(["xdg-open", abs_path], env=env) - - except Exception as e: - error_message = f"Cannot open config file:\n{file_path}\n\nError: {str(e)}" - Logger.terminal(f"Error: {error_message}") - QMessageBox.critical( - None, - "Error Opening File", - error_message - ) - - def on_run_pea(self): - """ - UI handler: validate time window and config, apply UI, then emit pea_ready. - """ - raw = self.ui.timeWindowValue.text() - - # --- Parse time window --- - try: - start_str, end_str = raw.split("to") - start_time = datetime.strptime(start_str.strip(), "%Y-%m-%d_%H:%M:%S") - end_time = datetime.strptime(end_str.strip(), "%Y-%m-%d_%H:%M:%S") - except ValueError: - QMessageBox.warning( - None, - "Format error", - "Time window must be in the format:\n" - "YYYY-MM-DD_HH:MM:SS to YYYY-MM-DD_HH:MM:SS" - ) - return - - if start_time > end_time: - QMessageBox.warning(None, "Time error", "Start time cannot be later than end time.") - return - - if not getattr(self, "config_path", None): - QMessageBox.warning( - None, - "No config file", - "Please click Show config and select a YAML file first." - ) - return - - # Store time window so MainWindow can use it later - self.start_time = start_time - self.end_time = end_time - - # --- Write updated config --- - try: - self.execution.reload_config() - inputs = self.extract_ui_values(self.rnx_file) - self.execution.apply_ui_config(inputs) # config only, no product archiving here - self.execution.write_cached_changes() - except Exception as e: - Logger.terminal(f"⚠️ Failed to apply config: {e}") - return - - # --- Emit signal for MainWindow --- - self.pea_ready.emit() - - def _on_reset_config_clicked(self): - """ - UI handler: reset the configuration file and UI to defaults. - Shows a confirmation dialog before proceeding. - """ - # Show confirmation dialog - reply = QMessageBox.question( - self.parent, - "Reset Configuration", - "This will reset all settings to their defaults.\n\n" - "• The configuration file will be regenerated from the template\n" - "• All UI fields will be cleared\n" - "• You will need to re-select your RINEX file and output directory\n\n" - "Are you sure you want to continue?", - QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, - QMessageBox.StandardButton.No - ) - - if reply != QMessageBox.StandardButton.Yes: - return - - try: - # Stop any running background workers first - self.stop_all() - - # Reset the config file - self.execution.reset_config() + #endregion - # Reset the UI to defaults - self.reset_ui_to_defaults() - - Logger.terminal("🔄 Configuration and UI reset to defaults") - show_toast(self.parent, "🔄 Configuration and UI reset to defaults", duration=3000) - - except Exception as e: - Logger.terminal(f"⚠️ Failed to reset configuration: {e}") - QMessageBox.critical( - self.parent, - "Reset Failed", - f"Failed to reset configuration:\n{e}" - ) + #region User Manual def _open_user_manual(self): """ @@ -2457,7 +511,7 @@ def _open_user_manual(self): manual_path = USER_MANUAL_PATH if not manual_path.exists(): - Logger.terminal(f"⚠️ User manual not found at: {manual_path}") + Logger.workflow(f"⚠️ User manual not found at: {manual_path}") QMessageBox.warning( self.parent, "User Manual Not Found", @@ -2466,7 +520,7 @@ def _open_user_manual(self): ) return - Logger.terminal(f"📖 Opening user manual: {manual_path}") + Logger.workflow(f"📖 Opening user manual: {manual_path}") # Try to open the file with the default application if os.name == 'nt': # Windows @@ -2483,175 +537,29 @@ def _open_user_manual(self): # Fall back to browser for other platforms webbrowser.open(f'file://{manual_path.absolute()}') - Logger.terminal("✅ User manual opened successfully") - except Exception as e: - Logger.terminal(f"⚠️ Failed to open user manual: {e}") - QMessageBox.critical( - self.parent, - "Error Opening Manual", - f"Failed to open the user manual:\n{e}" - ) + Logger.workflow(f"⚠️ Failed to open user manual: {e}") + QMessageBox.critical(self.parent, "Error Opening Manual", f"Failed to open the user manual:\n{e}") - def reset_ui_to_defaults(self): - """ - Reset all UI fields to their default/initial states. - This is the "start from scratch" reset that clears all user inputs. - """ - # Clear internal state - self.rnx_file = None - self.output_dir = None - self.products_df = pd.DataFrame() - if hasattr(self, 'last_rinex_path'): - delattr(self, 'last_rinex_path') - if hasattr(self, 'valid_analysis_centers'): - self.valid_analysis_centers = [] - if hasattr(self, '_valid_project_series_df'): - delattr(self, '_valid_project_series_df') - if hasattr(self, '_valid_series_for_provider'): - delattr(self, '_valid_series_for_provider') - if hasattr(self, 'start_time'): - delattr(self, 'start_time') - if hasattr(self, 'end_time'): - delattr(self, 'end_time') - - # Reset MainWindow state - self.parent.rnx_file = None - self.parent.output_dir = None - - # Reset General Tab - - # Mode combo - reset to placeholder - self.ui.modeCombo.clear() - self.ui.modeCombo.addItem("Select one") - self.ui.modeCombo.setCurrentIndex(0) - - # Constellations combo - reset to placeholder - self.ui.constellationsCombo.clear() - self.ui.constellationsCombo.setEditable(True) - self.ui.constellationsCombo.lineEdit().clear() - self.ui.constellationsCombo.lineEdit().setPlaceholderText("Select one or more") - self.ui.constellationsValue.setText("Constellations") - # Clear any custom model - if hasattr(self.ui.constellationsCombo, '_constellation_model'): - delattr(self.ui.constellationsCombo, '_constellation_model') - if hasattr(self.ui.constellationsCombo, '_constellation_on_item_changed'): - delattr(self.ui.constellationsCombo, '_constellation_on_item_changed') - - # Time window - reset to placeholder text - self.ui.timeWindowButton.setText("Start / End") - self.ui.timeWindowValue.setText("Time Window") - - # Data interval - reset to placeholder - self.ui.dataIntervalButton.setText("Interval (Seconds)") - self.ui.dataIntervalValue.setText("Data interval") - - # Receiver type - reset to placeholder - self.ui.receiverTypeCombo.clear() - self.ui.receiverTypeCombo.addItem("Import text") - self.ui.receiverTypeCombo.setCurrentIndex(0) - if self.ui.receiverTypeCombo.lineEdit(): - self.ui.receiverTypeCombo.lineEdit().setText("Import text") - self.ui.receiverTypeValue.setText("Receiver Type") - - # Antenna type - reset to placeholder - self.ui.antennaTypeCombo.clear() - self.ui.antennaTypeCombo.addItem("Import text") - self.ui.antennaTypeCombo.setCurrentIndex(0) - if self.ui.antennaTypeCombo.lineEdit(): - self.ui.antennaTypeCombo.lineEdit().setText("Import text") - self.ui.antennaTypeValue.setText("") - - # Antenna offset - reset to default - self.ui.antennaOffsetButton.setText("0.0, 0.0, 0.0") - self.ui.antennaOffsetValue.setText("0.0, 0.0, 0.0") - - # Apriori position - reset to default - self.ui.aprioriPositionButton.setText("0.0, 0.0, 0.0") - - # PPP Provider - reset to placeholder - self.ui.pppProviderCombo.clear() - self.ui.pppProviderCombo.addItem("Select one") - self.ui.pppProviderCombo.setCurrentIndex(0) - - # PPP Series - reset to placeholder - self.ui.pppSeriesCombo.clear() - self.ui.pppSeriesCombo.addItem("Select one") - self.ui.pppSeriesCombo.setCurrentIndex(0) - - # PPP Project - reset to placeholder - self.ui.pppProjectCombo.clear() - self.ui.pppProjectCombo.addItem("Select one") - self.ui.pppProjectCombo.setCurrentIndex(0) - - # Reset Constellations Tab - - # Clear all constellation list widgets - list_widgets = ['gpsListWidget', 'galListWidget', 'gloListWidget', 'bdsListWidget', 'qzsListWidget'] - for widget_name in list_widgets: - if hasattr(self.ui, widget_name): - list_widget = getattr(self.ui, widget_name) - list_widget.clear() - list_widget.setEnabled(False) - - # Hide all constellation widgets and show placeholder - self._hide_all_constellation_widgets() - self._update_constellation_placeholder(True) - - # Reset Output Tab - - # Reset output checkboxes to defaults (POS and GPX true, TRACE false) - if hasattr(self.ui, 'posCheckbox'): - self.ui.posCheckbox.setChecked(True) - if hasattr(self.ui, 'gpxCheckbox'): - self.ui.gpxCheckbox.setChecked(True) - if hasattr(self.ui, 'traceCheckbox'): - self.ui.traceCheckbox.setChecked(False) - - # Reset Button States and Locks - - # Disable buttons that should be locked on startup - self.ui.outputButton.setEnabled(False) - self.ui.showConfigButton.setEnabled(False) - self.ui.processButton.setEnabled(False) - self.ui.stopAllButton.setEnabled(False) - - # Ensure launch buttons are enabled - self.ui.observationsButton.setEnabled(True) - self.ui.cddisCredentialsButton.setEnabled(True) + #endregion - # Reset Visualisation Panel - # Clear the visualisation panel - if hasattr(self.parent, 'visCtrl'): - self.parent.visCtrl.set_html_files([]) - # Clear the web view - if hasattr(self.ui, 'webEngineView'): - self.ui.webEngineView.setHtml("") + # region Thread Management - # Reset config tab to General - # Not really needed since the "Reset Config" button is in General, - # But just in case for the future / aesthetics - if hasattr(self.ui, 'configTabWidget'): - self.ui.configTabWidget.setCurrentIndex(0) + def stop_all(self): + """ + Best-effort stop for all background workers managed by the controller and sub-controllers. + """ + try: + self.general_tab.stop_all_workers() + self.constellations_tab.stop_bia_worker() + if hasattr(self, "parent"): + self.parent.setCursor(Qt.CursorShape.ArrowCursor) + except Exception: + pass # endregion - # region Utility Functions - - @staticmethod - def _set_combobox_by_value(combo: QComboBox, value: str): - """ - Helper: find a value in a combo and set current index if present. - - Arguments: - combo (QComboBox): Target combo box. - value (str): Text to search. - """ - if value is None: - return - idx = combo.findText(value) - if idx != -1: - combo.setCurrentIndex(idx) + #region Static Helpers @staticmethod def _select_rnx_file(parent) -> str: @@ -2659,11 +567,10 @@ def _select_rnx_file(parent) -> str: Open a file dialog to select a RINEX observation file. Arguments: - parent (Any): Parent widget. + parent: Parent widget. Returns: str: Selected file path or empty string. - """ path, _ = QFileDialog.getOpenFileName( parent, @@ -2679,11 +586,10 @@ def _select_output_dir(parent) -> str: Open a directory dialog to select the output folder. Arguments: - parent (Any): Parent widget. + parent: Parent widget. Returns: str: Selected directory path or empty string. - """ path = QFileDialog.getExistingDirectory(parent, "Select Output Directory") return path or "" @@ -2742,7 +648,7 @@ def parse_time_window(time_window_raw: str): time_window_raw (str): e.g., 'YYYY-MM-DD_HH:MM:SS to YYYY-MM-DD_HH:MM:SS'. Returns: - tuple[str, str]: (start_epoch, end_epoch) with underscores preserved for UI. + tuple[str, str]: (start_epoch, end_epoch) with underscores replaced by spaces. Example: >>> parse_time_window("2025-01-01_00:00:00 to 2025-01-02_00:00:00") @@ -2800,10 +706,57 @@ def parse_apriori_position(apriori_position_raw: str): except ValueError: raise ValueError("Invalid apriori position format. Expected: 'x, y, z'") + @staticmethod + def _get_mode_items() -> List[str]: + """ + Provide available processing modes for the UI combo. + + Returns: + list[str]: ['Static', 'Kinematic', 'Dynamic'] + + Example: + >>> InputController._get_mode_items() + ['Static', 'Kinematic', 'Dynamic'] + """ + return ["Static", "Kinematic", "Dynamic"] + + @staticmethod + def _get_constellations_items() -> List[str]: + """ + Provide available GNSS constellations for the UI combo. + + Returns: + list[str]: ['GPS', 'GAL', 'GLO', 'BDS', 'QZS'] + + Example: + >>> InputController._get_constellations_items() + ['GPS', 'GAL', 'GLO', 'BDS', 'QZS'] + """ + return ["GPS", "GAL", "GLO", "BDS", "QZS"] + + @staticmethod + def _get_ppp_series_items() -> List[str]: + """ + Provide available PPP series codes for the UI combo. + + Returns: + list[str]: ['ULT', 'RAP', 'FIN'] + + Example: + >>> InputController._get_ppp_series_items() + ['ULT', 'RAP', 'FIN'] + """ + return ["ULT", "RAP", "FIN"] + + #endregion + + #region ExtractedInputs Dataclass + @dataclass class ExtractedInputs: """ Dataclass container for parsed UI values and raw strings. + Produced by extract_ui_values() and consumed by Execution.apply_ui_config(). """ # Parsed / derived values marker_name: str @@ -2838,86 +791,38 @@ class ExtractedInputs: gpx_output: bool = True pos_output: bool = True trace_output_network: bool = False + snx_output: bool = False sinex_filename: str = None + marker_number: str = None - # endregion - - # region Statics - - @staticmethod - def _get_mode_items() -> List[str]: - """ - Provide available processing modes for the UI combo. - - Returns: - list[str]: ['Static', 'Kinematic', 'Dynamic'] - - Example: - >>> InputController._get_mode_items() - ['Static', 'Kinematic', 'Dynamic'] - """ - return ["Static", "Kinematic", "Dynamic"] - - @staticmethod - def _get_constellations_items() -> List[str]: - """ - Provide available GNSS constellations for the UI combo. - - Arguments: - None - - Returns: - list[str]: ['GPS', 'GAL', 'GLO', 'BDS', 'QZS'] - - Example: - >>> InputController._get_constellations_items() - ['GPS', 'GAL', 'GLO', 'BDS', 'QZS'] - """ - return ["GPS", "GAL", "GLO", "BDS", "QZS"] - - def _get_ppp_provider_items(self) -> List[str]: - """ - Provide available PPP providers from the cached products DataFrame. + #endregion - Returns: - list[str]: Provider names; empty when products list is not yet available. + #region CDDIS Credentials Dialog - Example: - >>> ctrl._get_ppp_provider_items() + def _open_cddis_credentials_dialog(self): """ - if hasattr(self, "valid_analysis_centers") and self.valid_analysis_centers: - return self.valid_analysis_centers - return [] - - @staticmethod - def _get_ppp_series_items() -> List[str]: + UI handler: open the CDDIS credentials dialog for Earthdata login. """ - Provide available PPP series codes for the UI combo. - - Returns: - list[str]: ['ULT', 'RAP', 'FIN'] - - Example: - >>> InputController._get_ppp_series_items() - ['ULT', 'RAP', 'FIN'] - """ - return ["ULT", "RAP", "FIN"] + dialog = CredentialsDialog(self.parent) + dialog.exec() - # endregion + #endregion +#region CDDIS Credentials Dialog Class class CredentialsDialog(QDialog): """ - UI controller class CredentialsDialog. + Modal dialog for entering NASA Earthdata credentials (username/password). + Saves credentials to .netrc for CDDIS access. """ def __init__(self, parent=None): """ - UI handler: initialize credential input widgets and layout. + Initialise credential input widgets and layout. Arguments: - parent (Any): Optional parent widget. + parent: Optional parent widget. """ super().__init__(parent) self.setWindowTitle("CDDIS Credentials") @@ -2944,7 +849,7 @@ def __init__(self, parent=None): def save_credentials(self): """ - UI handler: validate username/password, save to netrc, and close dialog. + Validate username/password, save to netrc, and close dialog. """ username = self.username_input.text().strip() password = self.password_input.text().strip() @@ -2965,41 +870,4 @@ def save_credentials(self): "✅ Credentials saved to:\n" + "\n".join(str(p) for p in paths)) self.accept() - -# Minimal unified stop entry for InputController background worker -def _safe_call_stop(obj): - """ - Safely call .stop() on an object if present, ignoring exceptions. - - Arguments: - obj (Any): Object that may implement stop(). - """ - try: - if obj is not None and hasattr(obj, "stop"): - obj.stop() - except Exception: - pass - - -def stop_all(self): - """ - Best-effort stop for the metadata PPPWorker started by the controller. - - Arguments: - self (InputController): Controller instance owning the worker/thread. - """ - try: - # Request the worker to stop - it will emit cancelled signal when done - if hasattr(self, "worker") and self.worker is not None: - self.worker.stop() - # Stop SINEX validation worker if running - if hasattr(self, "_stop_sinex_worker"): - self._stop_sinex_worker() - # Restore cursor when stopping - if hasattr(self, "parent"): - self.parent.setCursor(Qt.CursorShape.ArrowCursor) - except Exception: - pass - -# Bind without touching existing class body -setattr(InputController, "stop_all", stop_all) \ No newline at end of file +#endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/output_config_controller.py b/scripts/GinanUI/app/controllers/output_config_controller.py new file mode 100644 index 000000000..580712d54 --- /dev/null +++ b/scripts/GinanUI/app/controllers/output_config_controller.py @@ -0,0 +1,89 @@ +""" +Controller for the Output configuration tab. + +Manages the following UI widgets: + - POS output checkbox (Positioning Solution file) + - GPX output checkbox (GPS Exchange Format file) + - TRACE output checkbox (trace log file) + - SNX output checkbox (SINEX file) + +This controller is intentionally minimal to allow easy expansion as +new output formats or options are added in the future. +""" + +from __future__ import annotations + +class OutputConfigController: + """ + Manages the Output configuration tab: output file type checkboxes. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController instance (for accessing shared state). + """ + + def __init__(self, ui, input_ctrl): + """ + Initialise output config tab bindings. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController that owns shared state. + """ + self.ui = ui + self.ctrl = input_ctrl # parent InputController + + #region UI Tooltips + + def setup_tooltips(self): + """ + Set up tooltips for all Output config tab widgets. + """ + self.ui.posCheckbox.setToolTip( + "Enable / disable Ginan (PEA) PPP Processing outputting a Positioning Solution (.POS) file" + ) + self.ui.gpxCheckbox.setToolTip( + "Enable / disable Ginan (PEA) PPP Processing outputting a GPS Exchange Format (.GPX) file" + ) + self.ui.traceCheckbox.setToolTip( + "Enable / disable Ginan (PEA) PPP Processing outputting a trace log (.TRACE) file" + ) + self.ui.snxCheckbox.setToolTip( + "Enable / disable Ginan (PEA) PPP Processing outputting a Solution Independent (.SNX) file" + ) + + #endregion + + #region Output Toggles + + def get_output_toggles(self) -> tuple[bool, bool, bool, bool]: + """ + Read the current state of the output checkboxes. + + Returns: + tuple[bool, bool, bool, bool]: (gpx_output, pos_output, trace_output_network, snx_output) + """ + gpx_output = self.ui.gpxCheckbox.isChecked() if hasattr(self.ui, "gpxCheckbox") else True + pos_output = self.ui.posCheckbox.isChecked() if hasattr(self.ui, "posCheckbox") else True + trace_output_network = self.ui.traceCheckbox.isChecked() if hasattr(self.ui, "traceCheckbox") else False + snx_output = self.ui.snxCheckbox.isChecked() if hasattr(self.ui, "snxCheckbox") else True + return gpx_output, pos_output, trace_output_network, snx_output + + #endregion + + #region Reset to Defaults + + def reset_to_defaults(self): + """ + Reset all Output config tab fields to their default states. + """ + if hasattr(self.ui, 'posCheckbox'): + self.ui.posCheckbox.setChecked(True) + if hasattr(self.ui, 'gpxCheckbox'): + self.ui.gpxCheckbox.setChecked(True) + if hasattr(self.ui, 'traceCheckbox'): + self.ui.traceCheckbox.setChecked(False) + if hasattr(self.ui, 'snxCheckbox'): + self.ui.snxCheckbox.setChecked(False) + + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/visualisation_controller.py b/scripts/GinanUI/app/controllers/visualisation_controller.py index 85a9c0bb6..935f7c050 100644 --- a/scripts/GinanUI/app/controllers/visualisation_controller.py +++ b/scripts/GinanUI/app/controllers/visualisation_controller.py @@ -1,28 +1,22 @@ -# app/controllers/visualisation_controller.py -"""Controller responsible for everything inside the visualisation panel. - -Responsibilities ----------------- -1. Embed one of the generated HTML files into the QTextEdit area. -2. Maintain a list (indexed) of available HTML visualisations. -3. Provide a double-click handler and an explicit *Open* action that open the - current html in the user's default browser. - -NOTE: UI widgets for selecting visualisation (e.g. a ComboBox or QListWidget) - and an *Open* button are **not** yet present in the .ui file. This - controller exposes stub `bind_open_button()` / `bind_selector()` helpers - which can be called once those widgets are added. """ +Controller for the visualisation panel. + +Manages the following UI widgets and behaviours: + - Embedding generated HTML visualisation files into a QWebEngineView + - Maintaining an indexed list of available HTML visualisations + - Opening the current visualisation in the system's default browser or in an attached dialog widget + - Binding a QComboBox selector and Open button for plot navigation +""" + from __future__ import annotations import os import platform import subprocess -import sys from pathlib import Path from typing import List, Sequence, Optional -from PySide6.QtCore import QRect, QUrl, QObject, QEvent +from PySide6.QtCore import QUrl, QObject, Qt from PySide6.QtGui import QDesktopServices -from PySide6.QtWidgets import QTextEdit, QPushButton, QComboBox, QApplication +from PySide6.QtWidgets import QPushButton, QComboBox from PySide6.QtWebEngineWidgets import QWebEngineView from scripts.GinanUI.app.utils.logger import Logger @@ -33,35 +27,20 @@ class VisualisationController(QObject): """ - Manage interactions and rendering inside the visualisation panel. + Manages interactions and rendering inside the visualisation panel. Arguments: - ui (object): The main window UI object that exposes the visualisation widgets (e.g., `visualisationTextEdit`). - parent_window (QObject): The parent window/controller used as the QObject parent. - - Returns: - None: Constructor returns nothing. - - Example: - Function itself returns None; example shows how to instantiate and inspect state. - >>> controller = VisualisationController(ui, parent_window) - >>> controller.html_files - [] + ui: The main window UI object that exposes the visualisation widgets. + parent_window: The parent window/controller used as the QObject parent. """ def __init__(self, ui, parent_window): """ - Initialize controller state and install required event filters. + Initialise controller state and install required event filters. Arguments: ui: The main window UI instance. parent_window: The parent QMainWindow or controller. - - Example: - Function itself returns None; example shows initial empty html_files. - >>> ctrl = VisualisationController(ui, parent_window) - >>> ctrl.html_files - [] """ super().__init__(parent_window) self.ui = ui # Ui_MainWindow instance @@ -71,22 +50,59 @@ def __init__(self, ui, parent_window): self.external_base_url: Optional[str] = None self._selector: Optional[QComboBox] = None self._open_button: Optional[QPushButton] = None + self._enlarge_button: Optional[QPushButton] = None + + self.setup_tooltips() + + # region UI Tooltips + + def setup_tooltips(self): + """ + Set up tooltips for all Visualisation panel widgets. + """ + self.ui.enlargeButton.setToolTip("Enlarge the plot visualisation to a pop-out window") + self.ui.openInBrowserButton.setToolTip("Open the plot visualisation in your system's default web browser") + self.ui.visualisationSelectorCombo.setToolTip( + "Set the active plot visualisation being displayed\n" + "This list is automatically generated according to the files PEA outputted in its processing" + ) + + # endregion + + #region Plotting + + def build_from_execution(self): + """ + Generate visualisation HTML files from the execution model and load them. + """ + try: + exec_obj = getattr(self.parent, "execution", None) + if exec_obj is None: + from PySide6.QtWidgets import QMessageBox + QMessageBox.warning(self.ui, "Plot", "execution object is not set") + return + + new_html_paths = exec_obj.build_pos_plots() # default output to tests/resources/outputData/visual + + # Only use newly generated plots, not old ones from previous runs + new_html_paths.sort(key=lambda x: os.path.basename(x)) + + self.set_html_files(new_html_paths) + + except Exception as e: + from PySide6.QtWidgets import QMessageBox + QMessageBox.critical(self.ui, "Plot Error", str(e)) + + #endregion + + #region HTML Viewing - # --------------------------------------------------------------------- - # Public API (to be called from MainWindow / other controllers) - # --------------------------------------------------------------------- def set_html_files(self, paths: Sequence[str]): """ Register available HTML visualisation files and display the first one. Arguments: paths (Sequence[str]): List of file paths to HTML visualisations. - - Example: - Function itself returns None; example shows state update after call. - >>> controller.set_html_files(["plot1.html", "plot2.html"]) - >>> controller.current_index - 0 """ self.html_files = list(dict.fromkeys(paths)) # Refresh selector if bound @@ -94,30 +110,28 @@ def set_html_files(self, paths: Sequence[str]): self._refresh_selector() if self.html_files: self.display_html(0) - # Enable widgets once we have plots + # Show widgets once we have plots if self._selector: - self._selector.setEnabled(True) + self._selector.setVisible(True) if self._open_button: - self._open_button.setEnabled(True) + self._open_button.setVisible(True) + if self._enlarge_button: + self._enlarge_button.setVisible(True) else: - # Disable widgets if no plots available + # Hide widgets if no plots available if self._selector: - self._selector.setEnabled(False) + self._selector.setVisible(False) if self._open_button: - self._open_button.setEnabled(False) + self._open_button.setVisible(False) + if self._enlarge_button: + self._enlarge_button.setVisible(False) def display_html(self, index: int): """ Embed the HTML file at the given index into the visualisation panel. Arguments: - index (int): Zero-based index into `self.html_files`. - - Example: - Function itself returns None; example shows updated index. - >>> controller.display_html(0) - >>> controller.current_index - 0 + index (int): Zero-based index into self.html_files. """ if not isinstance(index, int) or not (0 <= index < len(self.html_files)): return @@ -127,18 +141,13 @@ def display_html(self, index: int): def open_current_external(self): """ - Open the currently displayed HTML in the system’s default web browser. - - Example: - Function itself returns None; example shows that return value is None. - >>> controller.open_current_external() is None - True + Open the currently displayed HTML in the system's default web browser. """ if self.current_index is None: return path = self.html_files[self.current_index] try: - url = QUrl.fromLocalFile(Path(path).resolve()) + url = QUrl.fromLocalFile(str(Path(path).resolve())) # Open the file with the appropriate method for the operating system if platform.system() == "Windows": @@ -161,24 +170,64 @@ def open_current_external(self): except Exception as e: Logger.console(f"Error occurred trying to open in browser: {e}") - # ------------------------------------------------------------------ - # Helpers for wiring additional UI elements - # ------------------------------------------------------------------ + def open_current_enlarged(self): + """ + Open the currently displayed HTML in a resizable embedded browser window + """ + if self.current_index is None: + return + path = self.html_files[self.current_index] + url = QUrl.fromLocalFile(str(Path(path).resolve())) + self._open_enlarged_window(url) + + def _open_enlarged_window(self, url: QUrl): + """ + Create and display a resizable window containing a QWebEngineView + + Arguments: + url (QUrl): The local file URL of the HTML visualisation to display + """ + from PySide6.QtWidgets import QDialog, QVBoxLayout + + dialog = QDialog(self.parent) + dialog.setWindowTitle("Visualisation") + dialog.setWindowFlags( + Qt.WindowType.Window | + Qt.WindowType.WindowMinimizeButtonHint | + Qt.WindowType.WindowMaximizeButtonHint | + Qt.WindowType.WindowCloseButtonHint + ) + dialog.resize(1200, 800) + dialog.setMinimumSize(600, 400) + + layout = QVBoxLayout(dialog) + layout.setContentsMargins(0, 0, 0, 0) + + webview = QWebEngineView(dialog) + webview.setUrl(url) + layout.addWidget(webview) + + dialog.show() + + # Keep a reference to prevent garbage collection before the dialog closes + self._enlarged_dialogs = getattr(self, "_enlarged_dialogs", []) + self._enlarged_dialogs.append(dialog) + dialog.finished.connect(lambda: self._enlarged_dialogs.remove(dialog)) + + #endregion + + #region Widget Binding + def bind_open_button(self, button: QPushButton): """ - Connect an *Open* button to open the current visualisation externally. + Connect an Open button to open the current visualisation externally. Arguments: button (QPushButton): The push button to connect to the handler. - - Example: - Function itself returns None; example shows valid binding. - >>> controller.bind_open_button(ui.openButton) is None - True """ self._open_button = button button.clicked.connect(self.open_current_external) - button.setEnabled(False) + button.setVisible(False) def bind_selector(self, combo: QComboBox): """ @@ -186,11 +235,6 @@ def bind_selector(self, combo: QComboBox): Arguments: combo (QComboBox): The combo box used as selector. - - Example: - Function itself returns None; example shows valid selector binding. - >>> controller.bind_selector(ui.comboBox) is None - True """ self._selector = combo @@ -200,27 +244,48 @@ def safe_display(): self.display_html(data) combo.currentIndexChanged.connect(lambda _: safe_display()) - combo.setEnabled(False) + combo.setVisible(False) self._refresh_selector() + def bind_enlarge_button(self, button: QPushButton): + """ + Connect an Enlarge button to open the current visualisation in a new window + + Arguments: + button (QPushButton): The push button to connect to the handler + """ + self._enlarge_button = button + button.clicked.connect(self.open_current_enlarged) + button.setVisible(False) + + #endregion + + #region Configuration + + def set_external_base_url(self, url: str): + """ + Set a base HTTP URL to prefer when opening visualisations externally. + + Arguments: + url (str): Base URL (a trailing slash is appended if missing). + """ + if not url.endswith('/'): + url += '/' + self.external_base_url = url + + #endregion + + #region Helper Functions + def _refresh_selector(self): """ Populate the selector combo box with available HTML files. - - Example: - # Function itself returns None; example shows refresh success. - >>> controller._refresh_selector() is None - True """ if not self._selector: return self._selector.clear() for idx, path in enumerate(self.html_files): - self._selector.addItem(f"#{idx} – {os.path.basename(path)}", userData=idx) - - # ------------------------------------------------------------------ - # Internal helpers - # ------------------------------------------------------------------ + self._selector.addItem(f"#{idx} — {os.path.basename(path)}", userData=idx) def _embed_html(self, file_path: str): """ @@ -245,64 +310,12 @@ def _embed_html(self, file_path: str): # Keep a reference to avoid GC (and for later access) self._webview = webview - # ------------------------------------------------------------------ - # Optional configuration - # ------------------------------------------------------------------ - def set_external_base_url(self, url: str): - """ - Set a base HTTP URL to prefer when opening visualisations externally. - - Arguments: - url (str): Base URL (a trailing slash is appended if missing). - - Example: - Function itself returns None; example shows URL assignment. - >>> controller.set_external_base_url("http://localhost:8000/") - >>> controller.external_base_url - 'http://localhost:8000/' - """ - if not url.endswith('/'): - url += '/' - self.external_base_url = url - - def build_from_execution(self): - """ - Generate visualisation HTML files from the execution model and load them. - - Example: - Function itself returns None; example checks that call succeeds. - >>> controller.build_from_execution() is None - True - """ - try: - exec_obj = getattr(self.parent, "execution", None) - if exec_obj is None: - from PySide6.QtWidgets import QMessageBox - QMessageBox.warning(self.ui, "Plot", "execution object is not set") - return - - new_html_paths = exec_obj.build_pos_plots() # default output to tests/resources/outputData/visual - - # Only use newly generated plots, not old ones from previous runs - new_html_paths.sort(key=lambda x: os.path.basename(x)) - - self.set_html_files(new_html_paths) - - except Exception as e: - from PySide6.QtWidgets import QMessageBox - QMessageBox.critical(self.ui, "Plot Error", str(e)) - def _find_existing_html_files(self): """ Locate and return paths of existing visualisation HTML files. Returns: - list[str]: A list of absolute paths to discovered HTML files.git - - Example: - Function returns a list; example checks returned type. - >>> isinstance(controller._find_existing_html_files(), list) - True + list[str]: A list of absolute paths to discovered HTML files. """ existing_files = [] @@ -314,4 +327,6 @@ def _find_existing_html_files(self): if self.external_base_url: pass - return existing_files \ No newline at end of file + return existing_files + + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/controllers/yaml_config_controller.py b/scripts/GinanUI/app/controllers/yaml_config_controller.py new file mode 100644 index 000000000..fbb80fddf --- /dev/null +++ b/scripts/GinanUI/app/controllers/yaml_config_controller.py @@ -0,0 +1,744 @@ +""" +Controller for the YAML configuration tab. + +Manages the following UI widgets and behaviours: + - "Show Config" button + - "Reset Config" button + - "Overwrite Config with UI Values" toggle switch (Determines how the config file is written to) + - Opening the GinanYAMLInspector +""" + +from __future__ import annotations + +import os +import subprocess +from pathlib import Path +from PySide6.QtCore import Qt, QUrl, QObject, Slot +from PySide6.QtWidgets import QFileDialog, QDialog, QVBoxLayout, QMessageBox +from PySide6.QtWebEngineWidgets import QWebEngineView +from PySide6.QtWebEngineCore import QWebEngineSettings, QWebEngineDownloadRequest +from PySide6.QtWebChannel import QWebChannel +from scripts.GinanUI.app.models.inspector import Inspector +from scripts.GinanUI.app.utils.common_dirs import GENERATED_YAML, INSPECTOR_HTML_PATH +from scripts.GinanUI.app.utils.logger import Logger +from scripts.GinanUI.app.utils.toast import show_toast + +class _InspectorBridge(QObject): + """ + Qt object exposed to the GinanYAMLInspector page via QWebChannel. + + The inspector's "Save file" button is intercepted by injected JavaScript + which calls bridge.saveYaml(yamlText) instead of triggering a file download. + This allows Ginan-UI to write the YAML directly to ppp_generated.yaml and + notify the user without any file-picker dialog. + """ + + def __init__(self, yaml_config_ctrl: "YAMLConfigController", parent=None): + super().__init__(parent) + self._ctrl = yaml_config_ctrl + + @Slot(str) + def saveYaml(self, yaml_text: str): + """ + Receive YAML text from the inspector page and write it to ppp_generated.yaml. + Called from JavaScript when the user clicks "Save file" in the inspector. + + Arguments: + yaml_text (str): The raw YAML string generated by the inspector. + """ + self._ctrl._on_inspector_save(yaml_text) + + +class YAMLConfigController: + """ + Manages the YAML configuration tab: output file type checkboxes. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController instance (for accessing shared state). + """ + + def __init__(self, ui, input_ctrl): + """ + Initialise output config tab bindings. + + Arguments: + ui: The main window UI instance. + input_ctrl: The parent InputController that owns shared state. + """ + self.ui = ui + self.ctrl = input_ctrl # parent InputController + + # Button wiring + self.ui.showConfigButton.clicked.connect(self.on_show_config) + self.ui.showConfigButton.setCursor(Qt.CursorShape.PointingHandCursor) + self.ui.resetConfigButton.clicked.connect(self._on_reset_config_clicked) + self.ui.editConfigInInspectorButton.clicked.connect(self.open_inspector) + + # Keep a reference to the open inspector dialog (if any) to avoid garbage collection + self._inspector_dialog: QDialog | None = None + + # Bridge object for QWebChannel (inspector -> Python "Save file" interception) + self._bridge: _InspectorBridge | None = None + + # Inspector model: handles all non-UI work (HTML generation, JS building, YAML sanitisation / merging / writing) + # It is instantiated by _get_inspector() + # so the executable from the Execution model is resolved at first use rather + # than at controller construction time + self._inspector: Inspector | None = None + + # Initial button states + self.ui.showConfigButton.setEnabled(False) + + def _get_inspector(self) -> Inspector: + """ + Return the Inspector model singleton instance, creating it on first access if it doesn't already exist + + The PEA executable is taken from the Execution model so the inspector + can auto-generate its HTML asset via "pea -Y 4" when missing. + + Returns: + Inspector: The shared Inspector model instance. + """ + if self._inspector is None: + executable = getattr(self.ctrl.execution, "executable", None) + self._inspector = Inspector(executable=executable) + return self._inspector + + #region UI Tooltips + + def setup_tooltips(self): + """ + Set up tooltips for all Output config tab widgets. + """ + self.ui.yamlOverwriteCheckbox.setToolTip( + "Enable / disable overwriting the YAML config file with the values specified here within Ginan-UI." + "\nUseful for manual changes that Ginan-UI would otherwise overwrite." + ) + self.ui.showConfigButton.setToolTip( + "Generate and open the YAML configuration file.\n" + "You can review and modify advanced settings before processing.\n" + "Note: UI defined parameters will ALWAYS override manual config edits." + ) + self.ui.resetConfigButton.setToolTip( + "Delete and regenerate the YAML configuration file and start from a clean slate.\n" + "Note: Will delete all modifications to the existing file!" + ) + self.ui.editConfigInInspectorButton.setToolTip( + "Open the YAML configuration file in the GinanYAMLInspector external tool\n" + "Useful for large configuration changes that are not possible with what Ginan-UI exposes.\n" + "The current config will be pre-loaded. Use 'Save file' in the Inspector to write changes back." + ) + + #endregion + + #region YAML Toggles + + def get_yaml_toggles(self) -> bool: + """ + Read the current state of the YAML checkboxes + + Returns: + bool: yaml_overwrite + """ + yaml_overwrite = self.ui.yamlOverwriteCheckbox.isChecked() if hasattr(self.ui, "yamlOverwriteCheckbox") else True + return yaml_overwrite + + #endregion + + #region Config Handling + + def on_show_config(self): + """ + UI handler: reload config, apply UI values, write changes, then open the YAML. + If YAML overwrite is disabled, skip applying UI values and just open the file. + """ + Logger.workflow("📄 Opening YAML configuration file...") + yaml_overwrite = self.get_yaml_toggles() + + if yaml_overwrite: + self.ctrl.execution.reload_config() + inputs = self.ctrl.extract_ui_values(self.ctrl.rnx_file) + self.ctrl.execution.apply_ui_config(inputs) + self.ctrl.execution.write_cached_changes() + + # Execution class will throw error when instantiated if the file doesn't exist and it can't create it + # This code is run after Execution class is instantiated within this file, thus never will occur + if not os.path.exists(GENERATED_YAML): + QMessageBox.warning( + None, + "File not found", + f"The file {GENERATED_YAML} does not exist." + ) + return + + self._open_config_in_editor(self.ctrl.config_path) + + def _open_config_in_editor(self, file_path): + """ + Open the config YAML file in the OS default editor/viewer. + + Arguments: + file_path (str): Absolute or relative path to the YAML file. + """ + import platform + + try: + abs_path = os.path.abspath(file_path) + + # Open the file with the appropriate method for the operating system + if platform.system() == "Windows": + os.startfile(abs_path) + return + + if platform.system() == "Darwin": # macOS + subprocess.run(["open", abs_path]) + + else: # Linux and other Unix-like systems + # When compiled with pyinstaller, LD_LIBRARY_PATH is modified which prevents external app opening + env = os.environ.copy() + original = env.get("LD_LIBRARY_PATH_ORIG") + if original: + env["LD_LIBRARY_PATH"] = original # Restore original value + else: + env.pop("LD_LIBRARY_PATH", None) # Clear the value to use sys defaults + subprocess.run(["xdg-open", abs_path], env=env) + + except Exception as e: + error_message = f"Cannot open config file:\n{file_path}\n\nError: {str(e)}" + Logger.workflow(f"Error: {error_message}") + QMessageBox.critical(None, "Error Opening File", error_message) + + def _on_reset_config_clicked(self): + """ + UI handler: reset the configuration file and UI to defaults. + Shows a confirmation dialog before proceeding. + """ + reply = QMessageBox.question( + self.ctrl.parent, + "Reset Configuration", + "This will reset all settings to their defaults.\n\n" + "• The configuration file will be regenerated from the template\n" + "• All UI fields will be cleared\n" + "• You will need to re-select your RINEX file and output directory\n\n" + "Are you sure you want to continue?", + QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, + QMessageBox.StandardButton.No + ) + + if reply != QMessageBox.StandardButton.Yes: + return + + try: + self.ctrl.stop_all() + self.ctrl.execution.reset_config() + self.ctrl._reset_ui_to_defaults() + Logger.workflow("🔄 Configuration and UI reset to defaults") + show_toast(self.ctrl.parent, "🔄 Configuration and UI reset to defaults", duration=3000) + + except Exception as e: + Logger.workflow(f"⚠️ Failed to reset configuration: {e}") + QMessageBox.critical(self.ctrl.parent, "Reset Failed", f"Failed to reset configuration:\n{e}") + + #endregion + + #region Reset to Defaults + + def reset_to_defaults(self): + """ + Reset all YAML config tab fields to their default states. + """ + if hasattr(self.ui, 'yamlOverwriteCheckbox'): + self.ui.yamlOverwriteCheckbox.setChecked(True) + + #endregion + + #region GinanYAMLInspector + + def _ui_is_ready(self) -> bool: + """ + Return True if the UI has enough state populated to safely call extract_ui_values() + + Checks that a RINEX file has been selected and that the time window field contains + a value that looks like a valid range (i.e. it contains " to "). This mirrors the + minimum requirements of parse_time_window() so we avoid raising inside + _prepare_config_for_inspector() when the user opens the inspector before loading a + RINEX file + + Returns: + bool: True if the UI is sufficiently populated for config extraction. + """ + if not self.ctrl.rnx_file: + return False + time_window = self.ui.timeWindowValue.text() if hasattr(self.ui, "timeWindowValue") else "" + return " to " in time_window + + def _prepare_config_for_inspector(self) -> bool: + """ + Ensure ppp_generated.yaml is up-to-date before opening the inspector + + Applies UI values to the config if "Overwrite Config with UI Values" is enabled + AND the UI has been fully populated (RINEX loaded, time window set). Otherwise + falls back silently to whatever config is already on disk. + + Returns: + bool: True if the config file is ready on disk, False on error. + """ + yaml_overwrite = self.get_yaml_toggles() + ui_ready = self._ui_is_ready() + + if yaml_overwrite and ui_ready: + try: + self.ctrl.execution.reload_config() + inputs = self.ctrl.extract_ui_values(self.ctrl.rnx_file) + self.ctrl.execution.apply_ui_config(inputs) + self.ctrl.execution.write_cached_changes() + Logger.workflow("📄 Config updated with current UI values for GinanYAMLInspector") + except Exception as e: + # Log but do not block - fall through to open with existing file + Logger.workflow(f"⚠️ Could not apply UI values to config for GinanYAMLInspector: {e}") + elif yaml_overwrite and not ui_ready: + Logger.workflow("📄 RINEX not yet loaded - Opening GinanYAMLInspector with existing config file") + else: + Logger.workflow("📄 YAML overwrite disabled - Opening GinanYAMLInspector with existing config file") + + return GENERATED_YAML.exists() + + def _on_inspector_save(self, yaml_text: str): + """ + Callback triggered when the user clicks "Save file" in the GinanYAMLInspector + + Delegates the sanitise / parse / merge / write / repair / fallback flow to the + Inspector model and handles the UI-side feedback: toasts, error dialogs, reloading + the Execution config, and repopulating the UI fields from the merged config so the + UI stays in sync with what is now on disk. + + Arguments: + yaml_text (str): Raw YAML string produced by the inspector's "Generate yaml" step + """ + try: + merged = self._get_inspector().merge_and_save(yaml_text) + except ValueError as e: + # Empty input or non-mapping output - show a toast and abort quietly + show_toast(self.ctrl.parent, f"⚠️ Inspector save aborted: {e}", duration=4000) + return + except Exception as e: + Logger.workflow(f"❌ Failed to save GinanYAMLInspector config: {e}") + QMessageBox.critical( + self.ctrl.parent, + "Save Failed", + f"Could not merge the inspector config with the existing file:\n{e}" + ) + return + + # Reload the saved config into the Execution model + reload_ok = False + try: + self.ctrl.execution.reload_config() + Logger.workflow("🔄 Config reloaded from GinanYAMLInspector") + reload_ok = True + except Exception as e: + Logger.workflow(f"⚠️ Config written to disk but Execution reload raised: {e}") + + # Repopulate UI fields from the merged config so the UI stays in sync. + # Use the freshly reloaded execution config if available; otherwise fall back + # to the merged dict we computed above so the UI still updates even when + # the reload failed. + ui_config = self.ctrl.execution.config if reload_ok else merged + try: + self.populate_ui_from_config(ui_config) + except Exception as e: + Logger.workflow(f"⚠️ Config saved but UI repopulation raised: {e}") + + show_toast(self.ctrl.parent, "✅ GinanYAMLInspector config saved", duration=4000) + + def populate_ui_from_config(self, config: dict): + """ + Read values from a loaded YAML config dict and push them back into the + relevant Ginan-UI widgets so the UI stays in sync after an inspector save + + Only fields that are present in the config are updated - missing keys are + silently skipped so that partial inspector exports do not blank out fields + that were not touched + + The following UI areas are covered: + - Time window (start/end epoch) and epoch interval + - Receiver type, antenna type, antenna offset, apriori position + - GNSS constellation selection (General tab multi-select combo) + - Observation code priorities per constellation (Constellation tab list widgets) + - Output toggles (POS, GPX, TRACE, SNX) + - Processing mode (Static / Kinematic / Dynamic / Custom via process_noise value) + + Arguments: + config (dict): Loaded ruamel.yaml CommentedMap (or plain dict) from + ppp_generated.yaml after the inspector merge + """ + ui = self.ui + + # Helper: safely navigate a nested dict by dot-path + def _get(path: str, default=None): + keys = path.split(".") + node = config + for k in keys: + if not isinstance(node, dict) or k not in node: + return default + node = node[k] + return node + + # Time window + start = _get("processing_options.epoch_control.start_epoch") + end = _get("processing_options.epoch_control.end_epoch") + if start and end: + # Normalise ruamel PlainScalarString / datetime objects to plain str + start_str = str(start).strip("'\"").replace(" ", "_") + end_str = str(end).strip("'\"").replace(" ", "_") + time_text = f"{start_str} to {end_str}" + if hasattr(ui, "timeWindowButton"): + ui.timeWindowButton.setText(time_text) + if hasattr(ui, "timeWindowValue"): + ui.timeWindowValue.setText(time_text) + + # Epoch interval + interval = _get("processing_options.epoch_control.epoch_interval") + if interval is not None: + interval_text = f"{int(interval) if float(interval) == int(float(interval)) else float(interval)} s" + if hasattr(ui, "dataIntervalButton"): + ui.dataIntervalButton.setText(interval_text) + if hasattr(ui, "dataIntervalValue"): + ui.dataIntervalValue.setText(interval_text) + + # Receiver / antenna metadata + # Look up the marker key that corresponds to the currently active RINEX file. + # There can be multiple non-global keys under receiver_options (one per station); + # we only update the UI fields when the key matches the active marker so we don't + # accidentally populate values from a different station's block. + # If no RINEX is loaded yet, fall back to the first non-global key found. + receiver_options = _get("receiver_options", {}) + active_marker = None + if self.ctrl.rnx_file: + from scripts.GinanUI.app.controllers.input_controller import InputController + active_marker = InputController.extract_marker_name(self.ctrl.rnx_file) + + def _find_marker_key(rec_opts: dict, preferred: str | None) -> str | None: + """Return the receiver_options key to use for UI population. + + Tries preferred (active marker) first; falls back to the first + non-global key if preferred is absent or no RINEX is loaded. + """ + if preferred and preferred in rec_opts: + return preferred + return next((k for k in rec_opts if k != "global"), None) + + marker_key = _find_marker_key(receiver_options, active_marker) + + def _strip_yaml_comment(value: str) -> str: + """Strip a trailing inline YAML comment from a plain-scalar value. + + The inspector copies the raw YAML line content including any inline + comment, e.g. 'SEPT POLARXSSS # #USER_SET (string)'. Only the part + before the first ' #' sequence is the actual value. + """ + # Split on ' #' but not on '#' that appears inside a word (unlikely + # in these fields, but safe to be conservative with the leading space). + idx = value.find(' #') + return value[:idx].strip() if idx != -1 else value.strip() + + if marker_key: + rec_block = receiver_options[marker_key] + + receiver_type = rec_block.get("receiver_type") if isinstance(rec_block, dict) else None + if receiver_type is not None: + cleaned = _strip_yaml_comment(str(receiver_type)) + if cleaned: + # Mirror the same combo + label update that the popup dialog performs + if hasattr(ui, "receiverTypeCombo"): + ui.receiverTypeCombo.clear() + ui.receiverTypeCombo.addItem(cleaned) + if ui.receiverTypeCombo.lineEdit(): + ui.receiverTypeCombo.lineEdit().setText(cleaned) + if hasattr(ui, "receiverTypeValue"): + ui.receiverTypeValue.setText(cleaned) + + antenna_type = rec_block.get("antenna_type") if isinstance(rec_block, dict) else None + if antenna_type is not None: + cleaned = _strip_yaml_comment(str(antenna_type)) + if cleaned: + # Mirror the same combo + label update that the popup dialog performs + if hasattr(ui, "antennaTypeCombo"): + ui.antennaTypeCombo.clear() + ui.antennaTypeCombo.addItem(cleaned) + if ui.antennaTypeCombo.lineEdit(): + ui.antennaTypeCombo.lineEdit().setText(cleaned) + if hasattr(ui, "antennaTypeValue"): + ui.antennaTypeValue.setText(cleaned) + + # Antenna offset [E, N, U] + offset = rec_block.get("models", {}).get("eccentricity", {}).get("offset") if isinstance(rec_block, dict) else None + if offset and len(offset) == 3: + offset_text = ", ".join(str(v) for v in offset) + if hasattr(ui, "antennaOffsetButton"): + ui.antennaOffsetButton.setText(offset_text) + if hasattr(ui, "antennaOffsetValue"): + ui.antennaOffsetValue.setText(offset_text) + + # Apriori position [X, Y, Z] + apriori = rec_block.get("apriori_position") if isinstance(rec_block, dict) else None + if apriori and len(apriori) == 3: + apriori_text = ", ".join(str(v) for v in apriori) + if hasattr(ui, "aprioriPositionButton"): + ui.aprioriPositionButton.setText(apriori_text) + + # GNSS constellation selection and code priorities + # Both the General tab multi-select and the Constellation tab list widgets + # are driven together from sys_options in the YAML. + # + # Constellation selection: + # _update_constellations_multiselect() rebuilds the checkable combo model + # with only the enabled constellations pre-checked, and internally calls + # sync_list_widgets_to_selection() to show/hide the per-constellation list + # widgets accordingly. + # + # Code priorities: + # _setup_list_widget() populates each QListWidget with the codes from the + # YAML's code_priorities list (in order). All items in that list are checked + # because the inspector only emits codes that were selected - unchecked codes + # from a previous RINEX load are not present in the YAML export and therefore + # are not shown at all after an inspector save. + const_map = { + "gps": ("GPS", "gpsListWidget"), + "gal": ("GAL", "galListWidget"), + "glo": ("GLO", "gloListWidget"), + "bds": ("BDS", "bdsListWidget"), + "qzs": ("QZS", "qzsListWidget"), + } + sys_options = _get("processing_options.gnss_general.sys_options", {}) + if isinstance(sys_options, dict): + enabled_labels = [ + label + for key, (label, _) in const_map.items() + if sys_options.get(key, {}).get("process", False) + ] + + # Rebuild the General tab constellation combo with the enabled set + if enabled_labels: + self.ctrl.general_tab._update_constellations_multiselect( + ", ".join(enabled_labels) + ) + else: + # No constellations enabled - clear the combo and show placeholder + if hasattr(ui, "constellationsValue"): + ui.constellationsValue.setText("") + self.ctrl.constellations_tab._update_placeholder(True) + + # Repopulate each constellation list widget from code_priorities + for yaml_key, (label, widget_name) in const_map.items(): + if not hasattr(ui, widget_name): + continue + list_widget = getattr(ui, widget_name) + const_block = sys_options.get(yaml_key) + if not isinstance(const_block, dict): + continue + raw_codes = const_block.get("code_priorities") + if raw_codes is None: + continue + # Normalise to a plain list of uppercase strings + codes = [str(c).strip() for c in raw_codes if str(c).strip()] + if codes: + # All codes in the YAML list are the selected/checked ones - + # pass the same set as both the full list and the enabled set + self.ctrl.constellations_tab._setup_list_widget( + list_widget, codes, set(codes) + ) + else: + # Empty list - clear the widget but leave it enabled so the user + # can see that the constellation has no codes assigned + list_widget.clear() + + # Output toggles + gpx_out = _get("outputs.gpx.output") + pos_out = _get("outputs.pos.output") + trace_out = _get("outputs.trace.output_network") + snx_out = _get("outputs.sinex.output") + + if gpx_out is not None and hasattr(ui, "gpxCheckbox"): + ui.gpxCheckbox.setChecked(bool(gpx_out)) + if pos_out is not None and hasattr(ui, "posCheckbox"): + ui.posCheckbox.setChecked(bool(pos_out)) + if trace_out is not None and hasattr(ui, "traceCheckbox"): + ui.traceCheckbox.setChecked(bool(trace_out)) + if snx_out is not None and hasattr(ui, "snxCheckbox"): + ui.snxCheckbox.setChecked(bool(snx_out)) + + # Processing mode + # Inferred from estimation_parameters.receivers.global.pos.process_noise: + # 0 -> Static + # 30 -> Kinematic + # 100 -> Dynamic + # anything else -> Custom (shown as a non-standard label) + # + # modeCombo uses _bind_combo which repopulates ["Static", "Kinematic", + # "Dynamic"] only when the user opens the dropdown. At rest the combo just + # displays whatever text is in it, so we can set an arbitrary label by + # clearing and adding a single item. The next time the user opens the popup + # the standard items are restored normally by the bound showPopup hook. + process_noise = _get("estimation_parameters.receivers.global.pos.process_noise") + if process_noise is not None and hasattr(ui, "modeCombo"): + try: + noise_val = int(float( + process_noise[0] + if hasattr(process_noise, '__iter__') and not isinstance(process_noise, str) + else process_noise + )) + mode_label = {0: "Static", 30: "Kinematic", 100: "Dynamic"}.get( + noise_val, f"Custom ({noise_val})" + ) + combo = ui.modeCombo + combo.clear() + combo.addItem(mode_label) + except (TypeError, ValueError, IndexError): + pass + + def open_inspector(self): + """ + UI handler: open the GinanYAMLInspector in an embedded Qt dialog + + Before opening: + 1. The ppp_generated.yaml config is written/updated (if YAML overwrite is on) + 2. The inspector HTML is generated via "pea -Y 4" if it does not already exist + + Once loaded: + - The current ppp_generated.yaml is auto-imported into the inspector's fields + - The "Save file" button is intercepted so that saving merges the inspector + output back onto ppp_generated.yaml (preserving keys the inspector omitted) + rather than doing a destructive overwrite + + The inspector remains fully usable outside Ginan-UI - the Ginan-UI-specific + behaviour (auto-import, save intercept) is only wired up when opened from here + """ + inspector = self._get_inspector() + + # Step 1: Ensure config is up to date on disk + config_ready = self._prepare_config_for_inspector() + if not config_ready: + QMessageBox.warning( + self.ctrl.parent, + "Config Not Found", + f"The config file does not exist yet:\n{GENERATED_YAML}\n\n" + "Please select a RINEX file first so the config can be generated." + ) + return + + # Step 2: Ensure the inspector HTML exists + if not inspector.ensure_inspector_html(): + QMessageBox.warning( + self.ctrl.parent, + "Inspector Not Available", + f"The GinanYAMLInspector HTML file could not be found or generated.\n\n" + f"Expected location:\n{INSPECTOR_HTML_PATH}\n\n" + "You can generate it manually by running:\n" + " pea -Y 4\n" + "and placing the output at the path above." + ) + return + + Logger.workflow("🔍 Opening GinanYAMLInspector...") + + # Step 3: Read the YAML content now (before any async load completes) + yaml_content = inspector.read_current_config() + + # Step 4: Build the inspector dialog + dialog = QDialog(self.ctrl.parent) + dialog.setWindowTitle("GinanYAMLInspector") + dialog.setWindowFlags( + Qt.WindowType.Window | + Qt.WindowType.WindowMinimizeButtonHint | + Qt.WindowType.WindowMaximizeButtonHint | + Qt.WindowType.WindowCloseButtonHint + ) + dialog.resize(1200, 800) + dialog.setMinimumSize(600, 400) + + layout = QVBoxLayout(dialog) + layout.setContentsMargins(0, 0, 0, 0) + + webview = QWebEngineView(dialog) + + settings = webview.settings() + settings.setAttribute(QWebEngineSettings.WebAttribute.JavascriptEnabled, True) + settings.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessFileUrls, True) + settings.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessRemoteUrls, True) + + # Step 5: Set up QWebChannel so the page can call bridge.saveYaml() + self._bridge = _InspectorBridge(self) + channel = QWebChannel(webview.page()) + channel.registerObject("bridge", self._bridge) + webview.page().setWebChannel(channel) + + # Step 6: Inject qwebchannel.js via QWebEngineScript so it is available before + # any page script runs. This guarantees qt.webChannelTransport exists when our + # setup JS calls new QWebChannel(...). + from PySide6.QtWebEngineCore import QWebEngineScript + qwc_script = QWebEngineScript() + qwc_script.setName("qwebchannel_init") + qwc_script.setSourceUrl(QUrl("qrc:///qtwebchannel/qwebchannel.js")) + qwc_script.setInjectionPoint(QWebEngineScript.InjectionPoint.DocumentCreation) + qwc_script.setWorldId(QWebEngineScript.ScriptWorldId.MainWorld) + webview.page().scripts().insert(qwc_script) + + # Step 7: On load, run the Ginan-UI setup script (auto-import + save intercept) + ginan_ui_js = Inspector.build_ginan_ui_js(yaml_content) + + def on_load_finished(ok: bool): + if not ok: + Logger.workflow("⚠️ GinanYAMLInspector page failed to load.") + return + webview.page().runJavaScript(ginan_ui_js) + + webview.loadFinished.connect(on_load_finished) + + # Step 8: Fallback download handler - if the save intercept somehow does not + # fire (e.g. opened outside Ginan-UI then re-used), catch the browser download, + # merge it into ppp_generated.yaml, and notify the user. + profile = webview.page().profile() + + def handle_download(download: QWebEngineDownloadRequest): + """ + Fallback: browser download triggered - ask for save path, then merge back. + """ + suggested = download.downloadFileName() or "output.yaml" + + save_path, _ = QFileDialog.getSaveFileName( + dialog, + "Save Inspector YAML", + str(Path.home() / suggested) + ) + + if not save_path: + download.cancel() + return + + download.setDownloadDirectory(str(Path(save_path).parent)) + download.setDownloadFileName(Path(save_path).name) + download.accept() + + Logger.workflow(f"💾 GinanYAMLInspector config saved via browser download to: {save_path}") + + # Merge the downloaded file back into ppp_generated.yaml + try: + downloaded_text = Path(save_path).read_text(encoding="utf-8") + self._on_inspector_save(downloaded_text) + except Exception as e: + Logger.workflow(f"⚠️ Could not merge GinanYAMLInspector download into ppp_generated.yaml: {e}") + + profile.downloadRequested.connect(handle_download) + + webview.setUrl(QUrl.fromLocalFile(str(INSPECTOR_HTML_PATH))) + layout.addWidget(webview) + + # Keep a reference so the dialog is not garbage collected while open + self._inspector_dialog = dialog + dialog.finished.connect(lambda: setattr(self, "_inspector_dialog", None)) + + dialog.show() + + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/main_window.py b/scripts/GinanUI/app/main_window.py index 303b4b3af..7e9e93a7d 100644 --- a/scripts/GinanUI/app/main_window.py +++ b/scripts/GinanUI/app/main_window.py @@ -1,27 +1,32 @@ +""" +Main application window for Ginan-UI. + +Owns the top-level QMainWindow, initialises and wires together all controllers +(InputController, VisualisationController), manages the Logger system, and handles +the CDDIS credential check dialog shown on startup. Also owns the PEA execution +and download worker threads, and provides the log_message() slot used by Logger +to route messages to the Workflow and Console widgets. +""" + from pathlib import Path from typing import Optional - -from PySide6.QtCore import QUrl, Signal, QThread, Slot, Qt, QRegularExpression, QCoreApplication -from scripts.GinanUI.app.utils.logger import Logger -from PySide6.QtWidgets import QMainWindow, QDialog, QVBoxLayout, QPushButton, QComboBox, QMessageBox -from PySide6.QtWebEngineWidgets import QWebEngineView +from PySide6.QtCore import QCoreApplication, QRegularExpression, QThread, QUrl, Qt, Signal, Slot from PySide6.QtGui import QTextCursor, QTextDocument - +from PySide6.QtWidgets import QMainWindow, QMessageBox +from scripts.GinanUI.app.models.archive_manager import archive_old_outputs, archive_products, archive_products_if_selection_changed +from scripts.GinanUI.app.models.execution import INPUT_PRODUCTS_PATH, Execution +from scripts.GinanUI.app.controllers.input_controller import InputController +from scripts.GinanUI.app.controllers.visualisation_controller import VisualisationController +from scripts.GinanUI.app.utils.cddis_connection import get_username_from_netrc, test_cddis_connection, write_email from scripts.GinanUI.app.utils.cddis_credentials import validate_netrc as gui_validate_netrc -from scripts.GinanUI.app.models.execution import Execution +from scripts.GinanUI.app.utils.logger import Logger from scripts.GinanUI.app.utils.toast import show_toast from scripts.GinanUI.app.utils.ui_compilation import compile_ui -from scripts.GinanUI.app.controllers.input_controller import InputController -from scripts.GinanUI.app.controllers.visualisation_controller import VisualisationController -from scripts.GinanUI.app.utils.cddis_email import get_username_from_netrc, write_email, test_cddis_connection -from scripts.GinanUI.app.utils.workers import PeaExecutionWorker, DownloadWorker -from scripts.GinanUI.app.models.archive_manager import archive_products_if_selection_changed, archive_products, archive_old_outputs -from scripts.GinanUI.app.models.execution import INPUT_PRODUCTS_PATH +from scripts.GinanUI.app.utils.workers import DownloadWorker, PeaExecutionWorker # Optional toggle for development visualization testing test_visualisation = False - def setup_main_window(): import sys IS_FROZEN = getattr(sys, 'frozen', False) @@ -36,6 +41,8 @@ def setup_main_window(): class MainWindow(QMainWindow): log_signal = Signal(str) + #region Initialisation + def __init__(self): super().__init__() @@ -100,6 +107,7 @@ def __init__(self): # Visualisation widgets self.visCtrl.bind_open_button(self.ui.openInBrowserButton) + self.visCtrl.bind_enlarge_button(self.ui.enlargeButton) self.visCtrl.bind_selector(self.ui.visualisationSelectorCombo) @@ -125,7 +133,7 @@ def __init__(self): self.metadata_worker.atx_downloaded.connect(self._on_atx_downloaded) self.metadata_thread.start() else: - Logger.terminal("⚠️ Skipping metadata download - running in offline mode") + Logger.workflow("⚠️ Skipping metadata download - running in offline mode") # Added: wire an optional stop-all button if present in the UI if hasattr(self.ui, "stopAllButton") and self.ui.stopAllButton: @@ -133,14 +141,70 @@ def __init__(self): elif hasattr(self.ui, "btnStopAll") and self.ui.btnStopAll: self.ui.btnStopAll.clicked.connect(self.on_stopAllClicked) - def log_message(self, msg: str, channel = "terminal"): - """Append a log line to the specified text channel""" - if channel == "terminal": - self.ui.terminalTextEdit.append(msg) - elif channel == "console": - self.ui.consoleTextEdit.append(msg) - else: - raise ValueError("[MainWindow] Invalid channel for log_message") + def _fix_macos_tab_styling(self): + """ + Fix tab widget styling on macOS where native styling overrides custom stylesheets. + This method applies a comprehensive stylesheet directly to the QTabBar to ensure + consistent appearance across all platforms. + """ + import platform + + # On macOS, we need to be more aggressive with styling to override native appearance + if platform.system() == "Darwin": + # Import QStyleFactory to optionally force Fusion style + from PySide6.QtWidgets import QStyleFactory + + # Force Fusion style on the tab widget to disable native macOS rendering + fusion_style = QStyleFactory.create("Fusion") + if fusion_style: + self.ui.logTabWidget.setStyle(fusion_style) + self.ui.configTabWidget.setStyle(fusion_style) + + # Apply comprehensive stylesheet to ensure consistent appearance + tab_bar_stylesheet = """ + QTabWidget::pane { + border: none; + background-color: #2c5d7c; + } + + QTabBar { + background-color: transparent; + alignment: left; + } + + QTabBar::tab { + background-color: #1a3a4d; + color: white; + padding: 8px 16px; + margin-right: 2px; + border: none; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + min-width: 60px; + } + + QTabBar::tab:selected { + background-color: #2c5d7c; + color: white; + font-weight: bold; + } + + QTabBar::tab:hover:!selected { + background-color: #234a5f; + } + + QTabBar::tab:!selected { + margin-top: 2px; + } + """ + + # Apply the stylesheet to the tab widget + self.ui.logTabWidget.setStyleSheet(tab_bar_stylesheet) + self.ui.configTabWidget.setStyleSheet(tab_bar_stylesheet) + + #endregion + + #region Processing State def _set_processing_state(self, processing: bool): """Enable / disable UI elements during processing""" @@ -182,6 +246,10 @@ def _set_processing_state(self, processing: bool): self.ui.posCheckbox.setEnabled(enabled) self.ui.gpxCheckbox.setEnabled(enabled) self.ui.traceCheckbox.setEnabled(enabled) + self.ui.snxCheckbox.setEnabled(enabled) + + # "YAML" config tab + self.ui.yamlOverwriteCheckbox.setEnabled(enabled) # Update button text to show processing state if processing: @@ -192,103 +260,9 @@ def _set_processing_state(self, processing: bool): self.ui.processButton.setText("Process") self.setCursor(Qt.CursorShape.ArrowCursor) - def _setup_worker_thread(self, worker, finished_callback, progress_callback=None, thread_attr=None, worker_attr=None): - """ - Helper method to set up a worker in a QThread with standard cleanup. - - Args: - worker: The worker object to run in the thread - finished_callback: Callback to connect to worker.finished signal - progress_callback: Optional callback to connect to worker.progress signal - thread_attr: Optional attribute name to clear when thread finishes - worker_attr: Optional attribute name to clear when thread finishes - - Returns: - tuple: (thread, worker) for storing references - """ - thread = QThread() - worker.moveToThread(thread) + #endregion - # Connect started signal - thread.started.connect(worker.run) - - # Connect finished signal - worker.finished.connect(finished_callback) - - # Connect progress signal if provided - if progress_callback and hasattr(worker, 'progress'): - worker.progress.connect(progress_callback) - - # Connect cleanup signals - worker.finished.connect(thread.quit) - worker.finished.connect(worker.deleteLater) - thread.finished.connect(thread.deleteLater) - - # Clear our references when thread finishes to avoid accessing deleted objects - if thread_attr and worker_attr: - def clear_references(): - if hasattr(self, thread_attr) and getattr(self, thread_attr) is thread: - setattr(self, thread_attr, None) - if hasattr(self, worker_attr) and getattr(self, worker_attr) is worker: - setattr(self, worker_attr, None) - - thread.finished.connect(clear_references) - - return thread, worker - - def _cleanup_thread(self, thread_attr: str, worker_attr: str): - """ - Request cancellation of a running thread and move it to _pending_threads - - Args: - thread_attr: Name of the thread attribute (e.g., 'download_thread') - worker_attr: Name of the worker attribute (e.g., 'download_worker') - """ - worker = getattr(self, worker_attr, None) - thread = getattr(self, thread_attr, None) - - # Try to stop the worker - try: - if worker is not None and hasattr(worker, 'stop'): - worker.stop() - except RuntimeError: - pass # Object already deleted - - # Check if thread is still running (with safety check for deleted objects) - thread_running = False - try: - if thread is not None: - thread_running = thread.isRunning() - except RuntimeError: - pass # C++ object already deleted - - if thread_running: - # Disconnect old signals to prevent callbacks to stale state - try: - worker.finished.disconnect() - if hasattr(worker, 'cancelled'): - worker.cancelled.disconnect() - if hasattr(worker, 'progress'): - worker.progress.disconnect() - except (TypeError, RuntimeError): - pass # Already disconnected or object deleted - - # Keep reference alive until thread actually finishes - old_thread = thread - - def cleanup_old_thread(): - if old_thread in self._pending_threads: - self._pending_threads.remove(old_thread) - - try: - old_thread.finished.connect(cleanup_old_thread) - self._pending_threads.append(old_thread) - except RuntimeError: - pass # Object already deleted - - # Clear current references so new thread can be created - setattr(self, worker_attr, None) - setattr(self, thread_attr, None) + #region Process & Download Workflows def on_files_ready(self, rnx_path: str, out_path: str): self.rnx_file = rnx_path @@ -296,18 +270,18 @@ def on_files_ready(self, rnx_path: str, out_path: str): def _on_process_clicked(self): if not self.rnx_file or not self.output_dir: - Logger.terminal("⚠️ Please select RINEX and output directory first") + Logger.workflow("⚠️ Please select RINEX and output directory first") return # Check if in offline mode if self.offline_mode: - Logger.terminal("⚠️ Cannot process: Ginan-UI is running in offline mode (no internet connection)") + Logger.workflow("⚠️ Cannot process: Ginan-UI is running in offline mode (no internet connection)") self._show_processing_offline_warning() return # Prevent multiple simultaneous processing if self.is_processing: - Logger.terminal("⚠️ Processing already in progress. Please wait...") + Logger.workflow("⚠️ Processing already in progress. Please wait...") return # Lock the "Process" button and set processing state @@ -325,12 +299,12 @@ def _on_process_clicked(self): ) self.last_ppp_selection = current_selection if archive_dir: - Logger.terminal(f"📦 Archived old PPP products → {archive_dir}") + Logger.workflow(f"📦 Archived old PPP products → {archive_dir}") visual_dir = Path(self.output_dir) / "visual" output_archive = archive_old_outputs(Path(self.output_dir), visual_dir) if output_archive: - Logger.terminal(f"📦 Archived old outputs → {output_archive}") + Logger.workflow(f"📦 Archived old outputs → {output_archive}") # List products to be downloaded x = self.inputCtrl.products_df @@ -354,12 +328,12 @@ def _on_process_clicked(self): self.download_thread.setObjectName("ProductDownloadWorker") - Logger.terminal("📡 Starting PPP product downloads...") + Logger.workflow("📡 Starting PPP product downloads...") self.download_thread.start() @Slot(str, int) def _on_download_progress(self, filename: str, percent: int): - """Update progress display in-place at the bottom of the UI terminal.""" + """Update progress display in-place at the bottom of the UI workflow terminal.""" self.download_progress[filename] = percent total_length = 20 @@ -369,109 +343,43 @@ def _on_download_progress(self, filename: str, percent: int): search_pattern = QRegularExpression(f"^{filename[:30]}.+%$") # Work with cursor & doc - cursor = self.ui.terminalTextEdit.textCursor() + cursor = self.ui.workflowTextEdit.textCursor() cursor.movePosition(QTextCursor.End) flags = QTextDocument.FindFlag.FindBackward - found_cursor = self.ui.terminalTextEdit.document().find(search_pattern, cursor, flags) + found_cursor = self.ui.workflowTextEdit.document().find(search_pattern, cursor, flags) - on_latest_5_lines = self.ui.terminalTextEdit.document().blockCount() - found_cursor.blockNumber() <= 5 + on_latest_5_lines = self.ui.workflowTextEdit.document().blockCount() - found_cursor.blockNumber() <= 5 if found_cursor.hasSelection() and on_latest_5_lines: found_cursor.movePosition(QTextCursor.EndOfLine) # Replaces final percent symbol too found_cursor.movePosition(QTextCursor.StartOfLine, QTextCursor.KeepAnchor) found_cursor.removeSelectedText() found_cursor.insertText(output) else: # Make new progress bar - self.ui.terminalTextEdit.setTextCursor(cursor) + self.ui.workflowTextEdit.setTextCursor(cursor) cursor.insertText("\n" + output) cursor.movePosition(QTextCursor.End) - self.ui.terminalTextEdit.setTextCursor(cursor) + self.ui.workflowTextEdit.setTextCursor(cursor) def _on_atx_downloaded(self, filename: str): self.atx_required_for_rnx_extraction = True - Logger.terminal(f"✅ ATX file {filename} installed - ready for RINEX parsing") + Logger.workflow(f"✅ ATX file {filename} installed - ready for RINEX parsing") def _on_metadata_download_finished(self, message): - Logger.terminal(message) + Logger.workflow(message) self.metadata_downloaded = True self.inputCtrl.try_enable_process_button() def _on_download_finished(self, message): - Logger.terminal(message) + Logger.workflow(message) self._start_pea_execution() def _on_download_error(self, msg): - Logger.terminal(f"⚠️ PPP download error: {msg}") + Logger.workflow(f"⚠️ PPP download error: {msg}") self._set_processing_state(False) - def _start_pea_execution(self): - Logger.terminal("⚙️ Starting PEA execution in background...") - - # Clean up any existing PEA thread before starting a new one - self._cleanup_thread('pea_thread', 'pea_worker') - - # Reset stop flag for new execution - self.execution.reset_stop_flag() - - self.pea_worker = PeaExecutionWorker(self.execution) - self.pea_thread, _ = self._setup_worker_thread( - self.pea_worker, - self._on_pea_finished, - thread_attr='pea_thread', - worker_attr='pea_worker' - ) - - self.pea_thread.setObjectName("PeaExecutionWorker") - - self.pea_thread.start() - - def _on_pea_finished(self): - Logger.terminal("✅ PEA processing completed") - show_toast(self, "✅ PEA Processing complete!", 3000) - self._run_visualisation() - self._set_processing_state(False) - - def _on_pea_error(self, msg: str): - Logger.terminal(f"⚠️ PEA execution failed: {msg}") - self._set_processing_state(False) - - def _run_visualisation(self): - all_html_files = [] - - # Check checkbox states to determine which visualisations to generate - pos_enabled = self.ui.posCheckbox.isChecked() if hasattr(self.ui, "posCheckbox") else True - trace_enabled = self.ui.traceCheckbox.isChecked() if hasattr(self.ui, "traceCheckbox") else False + #endregion - # Generate POS plots - if pos_enabled: - try: - Logger.terminal("📊 Generating position plots from PEA output...") - pos_html_files = self.execution.build_pos_plots() - if pos_html_files: - all_html_files.extend(pos_html_files) - else: - Logger.terminal("⚠️ No position plots found") - except Exception as err: - Logger.terminal(f"⚠️ Position plot generation failed: {err}") - - # Generate TRACE residual plots - if trace_enabled: - try: - Logger.terminal("📊 Generating trace residual plots from PEA output...") - trace_html_files = self.execution.build_trace_plots() - if trace_html_files: - all_html_files.extend(trace_html_files) - else: - Logger.terminal("⚠️ No trace plots found") - except Exception as err: - Logger.terminal(f"⚠️ Trace plot generation failed: {err}") - - # Update the visualisation panel with all generated plots (or empty list) - self.visCtrl.set_html_files(all_html_files) - - if not all_html_files: - Logger.terminal("📊 No visualisations generated - selector disabled") - # Clear the web view display - self.ui.webEngineView.setHtml("") + #region CDDIS Credentials def _validate_cddis_credentials_once(self): """ @@ -480,38 +388,38 @@ def _validate_cddis_credentials_once(self): """ ok, where = gui_validate_netrc() if not ok and hasattr(self.ui, "cddisCredentialsButton"): - Logger.terminal("⚠️ No Earthdata credentials. Opening CDDIS Credentials dialog...") + Logger.workflow("⚠️ No Earthdata credentials. Opening CDDIS Credentials dialog...") self.ui.cddisCredentialsButton.click() ok, where = gui_validate_netrc() if not ok: - Logger.terminal(f"❌ Credentials invalid: {where}") + Logger.workflow(f"❌ Credentials invalid: {where}") return - Logger.terminal(f"✅ Earthdata Credentials found: {where}") + Logger.workflow(f"✅ Earthdata Credentials found: {where}") ok_user, email_candidate = get_username_from_netrc() if not ok_user: - Logger.terminal(f"❌ Cannot read username from .netrc: {email_candidate}") + Logger.workflow(f"❌ Cannot read username from .netrc: {email_candidate}") return # Wrap connection test in try-except to handle network errors gracefully try: ok_conn, why = test_cddis_connection() if not ok_conn: - Logger.terminal( + Logger.workflow( f"❌ CDDIS connectivity check failed: {why}. Please verify Earthdata credentials via the CDDIS Credentials dialog" ) self._show_offline_warning("Connection test failed", why) return - Logger.terminal(f"✅ CDDIS connectivity check passed in {why.split(' ')[-2]} seconds") + Logger.workflow(f"✅ CDDIS connectivity check passed in {why.split(' ')[-2]} seconds") # Connection successful - set email write_email(email_candidate) - Logger.terminal(f"✉️ EMAIL set to: {email_candidate}") + Logger.workflow(f"✉️ EMAIL set to: {email_candidate}") except Exception as e: # Network error (no internet, DNS failure, timeout, etc.) error_msg = str(e) - Logger.terminal(f"⚠️ No internet connection detected: {error_msg}") + Logger.workflow(f"⚠️ No internet connection detected: {error_msg}") self._show_offline_warning("No internet connection", error_msg) return @@ -539,9 +447,9 @@ def _show_offline_warning(self, title: str, details: str): msg = QMessageBox(self) msg.setIcon(QMessageBox.Icon.Warning) - msg.setWindowTitle("Ginan-UI - No Internet Connection") + msg.setWindowTitle("Ginan-UI - Failed Internet / Server Connection") msg.setText( - "Ginan-UI requires internet access to function properly

" + "Ginan-UI requires internet access to NASA's CDDIS server function properly. Please ensure your device has a stable internet connection, and your CDDIS credentials are correct

" "The following features will be unavailable:" ) msg.setInformativeText( @@ -561,10 +469,207 @@ def _show_offline_warning(self, title: str, details: str): # Also show a toast notification show_toast(self, "⚠️ Running in offline mode - limited functionality", 8000) + #endregion + + #region PEA Execution + + def _start_pea_execution(self): + Logger.workflow("⚙️ Starting PEA execution in background...") + + # Clean up any existing PEA thread before starting a new one + self._cleanup_thread('pea_thread', 'pea_worker') + + # Reset stop flag for new execution + self.execution.reset_stop_flag() + + self.pea_worker = PeaExecutionWorker(self.execution) + self.pea_thread, _ = self._setup_worker_thread( + self.pea_worker, + self._on_pea_finished, + thread_attr='pea_thread', + worker_attr='pea_worker' + ) + + self.pea_thread.setObjectName("PeaExecutionWorker") + + self.pea_thread.start() + + def _on_pea_finished(self): + Logger.workflow("✅ PEA processing completed") + show_toast(self, "✅ PEA Processing complete!", 3000) + self._run_visualisation() + self._set_processing_state(False) + + def _on_pea_error(self, msg: str): + Logger.workflow(f"⚠️ PEA execution failed: {msg}") + self._set_processing_state(False) + + #endregion + + #region Worker Thread Management + + def _setup_worker_thread(self, worker, finished_callback, progress_callback=None, thread_attr=None, worker_attr=None): + """ + Helper method to set up a worker in a QThread with standard cleanup. + + Args: + worker: The worker object to run in the thread + finished_callback: Callback to connect to worker.finished signal + progress_callback: Optional callback to connect to worker.progress signal + thread_attr: Optional attribute name to clear when thread finishes + worker_attr: Optional attribute name to clear when thread finishes + + Returns: + tuple: (thread, worker) for storing references + """ + thread = QThread() + worker.moveToThread(thread) + + # Connect started signal + thread.started.connect(worker.run) + + # Connect finished signal + worker.finished.connect(finished_callback) + + # Connect progress signal if provided + if progress_callback and hasattr(worker, 'progress'): + worker.progress.connect(progress_callback) + + # Connect cleanup signals + worker.finished.connect(thread.quit) + worker.finished.connect(worker.deleteLater) + thread.finished.connect(thread.deleteLater) + + # Clear our references when thread finishes to avoid accessing deleted objects + if thread_attr and worker_attr: + def clear_references(): + if hasattr(self, thread_attr) and getattr(self, thread_attr) is thread: + setattr(self, thread_attr, None) + if hasattr(self, worker_attr) and getattr(self, worker_attr) is worker: + setattr(self, worker_attr, None) + + thread.finished.connect(clear_references) + + return thread, worker + + def _cleanup_thread(self, thread_attr: str, worker_attr: str): + """ + Request cancellation of a running thread and move it to _pending_threads + + Args: + thread_attr: Name of the thread attribute (e.g., 'download_thread') + worker_attr: Name of the worker attribute (e.g., 'download_worker') + """ + worker = getattr(self, worker_attr, None) + thread = getattr(self, thread_attr, None) + + # Try to stop the worker + try: + if worker is not None and hasattr(worker, 'stop'): + worker.stop() + except RuntimeError: + pass # Object already deleted + + # Check if thread is still running (with safety check for deleted objects) + thread_running = False + try: + if thread is not None: + thread_running = thread.isRunning() + except RuntimeError: + pass # C++ object already deleted + + if thread_running: + # Disconnect old signals to prevent callbacks to stale state + try: + worker.finished.disconnect() + if hasattr(worker, 'cancelled'): + worker.cancelled.disconnect() + if hasattr(worker, 'progress'): + worker.progress.disconnect() + except (TypeError, RuntimeError): + pass # Already disconnected or object deleted + + # Keep reference alive until thread actually finishes + old_thread = thread + + def cleanup_old_thread(): + if old_thread in self._pending_threads: + self._pending_threads.remove(old_thread) + + try: + old_thread.finished.connect(cleanup_old_thread) + self._pending_threads.append(old_thread) + except RuntimeError: + pass # Object already deleted + + # Clear current references so new thread can be created + setattr(self, worker_attr, None) + setattr(self, thread_attr, None) + + #endregion + + #region Plotting Visualisation + + def _run_visualisation(self): + all_html_files = [] + + # Check checkbox states to determine which visualisations to generate + pos_enabled = self.ui.posCheckbox.isChecked() if hasattr(self.ui, "posCheckbox") else True + trace_enabled = self.ui.traceCheckbox.isChecked() if hasattr(self.ui, "traceCheckbox") else False + + # Generate POS plots + if pos_enabled: + try: + Logger.workflow("📊 Generating position plots from PEA output...") + pos_html_files = self.execution.build_pos_plots() + if pos_html_files: + all_html_files.extend(pos_html_files) + else: + Logger.workflow("⚠️ No position plots found") + except Exception as err: + Logger.workflow(f"⚠️ Position plot generation failed: {err}") + + # Generate TRACE residual plots + if trace_enabled: + try: + Logger.workflow("📊 Generating trace residual plots from PEA output...") + trace_html_files = self.execution.build_trace_plots() + if trace_html_files: + all_html_files.extend(trace_html_files) + else: + Logger.workflow("⚠️ No trace plots found") + except Exception as err: + Logger.workflow(f"⚠️ Trace plot generation failed: {err}") + + # Update the visualisation panel with all generated plots (or empty list) + self.visCtrl.set_html_files(all_html_files) + + if not all_html_files: + Logger.workflow("📊 No visualisations generated - selector disabled") + # Clear the web view display + self.ui.webEngineView.setHtml("") + + #endregion + + #region Logging + + def log_message(self, msg: str, channel = "workflow"): + """Append a log line to the specified text channel""" + if channel == "workflow": + self.ui.workflowTextEdit.append(msg) + elif channel == "console": + self.ui.consoleTextEdit.append(msg) + else: + raise ValueError("[MainWindow] Invalid channel for log_message") + + #endregion + + #region Stop & Cleanup + # Added: unified stop entry, wired to an optional UI button @Slot() def on_stopAllClicked(self): - Logger.terminal("🛑 Stop requested - stopping all running tasks...") + Logger.workflow("🛑 Stop requested - stopping all running tasks...") # Stop the metadata worker in InputController, if present try: @@ -616,63 +721,4 @@ def closeEvent(self, event): # Accept the close event event.accept() - def _fix_macos_tab_styling(self): - """ - Fix tab widget styling on macOS where native styling overrides custom stylesheets. - This method applies a comprehensive stylesheet directly to the QTabBar to ensure - consistent appearance across all platforms. - """ - import platform - - # On macOS, we need to be more aggressive with styling to override native appearance - if platform.system() == "Darwin": - # Import QStyleFactory to optionally force Fusion style - from PySide6.QtWidgets import QStyleFactory - - # Force Fusion style on the tab widget to disable native macOS rendering - fusion_style = QStyleFactory.create("Fusion") - if fusion_style: - self.ui.logTabWidget.setStyle(fusion_style) - self.ui.configTabWidget.setStyle(fusion_style) - - # Apply comprehensive stylesheet to ensure consistent appearance - tab_bar_stylesheet = """ - QTabWidget::pane { - border: none; - background-color: #2c5d7c; - } - - QTabBar { - background-color: transparent; - alignment: left; - } - - QTabBar::tab { - background-color: #1a3a4d; - color: white; - padding: 8px 16px; - margin-right: 2px; - border: none; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - min-width: 60px; - } - - QTabBar::tab:selected { - background-color: #2c5d7c; - color: white; - font-weight: bold; - } - - QTabBar::tab:hover:!selected { - background-color: #234a5f; - } - - QTabBar::tab:!selected { - margin-top: 2px; - } - """ - - # Apply the stylesheet to the tab widget - self.ui.logTabWidget.setStyleSheet(tab_bar_stylesheet) - self.ui.configTabWidget.setStyleSheet(tab_bar_stylesheet) \ No newline at end of file + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/models/archive_manager.py b/scripts/GinanUI/app/models/archive_manager.py index c457b1d6f..5735c8af7 100644 --- a/scripts/GinanUI/app/models/archive_manager.py +++ b/scripts/GinanUI/app/models/archive_manager.py @@ -1,83 +1,20 @@ -# app/utils/archive_manager.py +""" +Manages archival and restoration of GNSS product files. + +Provides functions to move product files (SP3, CLK, BIA, etc.) into timestamped +archive subfolders, restore previously archived products to avoid re-downloading, +and archive old output files before a new processing run +""" from pathlib import Path import shutil import os from datetime import datetime from typing import Optional, Dict, Any - from scripts.GinanUI.app.utils.common_dirs import INPUT_PRODUCTS_PATH - from scripts.GinanUI.app.utils.logger import Logger - -def archive_old_outputs(output_dir: Path, visual_dir: Path = None): - """ - Moves existing output files to an archive directory to keep the workspace clean. - - THIS FUNCTION LOOKS FOR ALL TXT, LOG, JSON, POS, GPX, TRACE files. - DON'T USE THE INPUT PRODUCTS DIRECTORY. - - :param output_dir: Path to the user-selected output directory. - :param visual_dir: Optional path to associated visualisation directory. - """ - # Move visual folder contents if it exists (visual_dir is typically output_dir / "visual") - if visual_dir is None: - visual_dir = output_dir / "visual" - - # First, collect all files that would be archived (only .POS, .GPX, .TRACE) - files_to_archive = [] - for ext in [".pos", ".POS", ".gpx", ".GPX", ".trace", ".TRACE"]: - files_to_archive.extend(list(output_dir.glob(f"*{ext}"))) - - # Check visual directory for files - visual_files_to_archive = [] - if visual_dir.exists() and visual_dir.is_dir(): - visual_files_to_archive = [f for f in visual_dir.glob("*") if f.is_file()] - - # Only proceed if there's something to archive - if not files_to_archive and not visual_files_to_archive: - Logger.console("📂 No previous outputs found to archive.") - return - - timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") - archive_dir = output_dir / "archive" / timestamp - - # Make the visual directory - os.makedirs(archive_dir, exist_ok=True) - - # Move .pos, .gpx, .trace from output_dir - moved_files = 0 - for file in files_to_archive: - try: - shutil.move(str(file), str(archive_dir / file.name)) - moved_files += 1 - except Exception as e: - Logger.console(f"Failed to archive {file.name}: {e}") - - # Move visual folder contents - if visual_files_to_archive: - visual_archive = archive_dir / "visual" - - # Make the visual archive directory - os.makedirs(visual_archive, exist_ok=True) - - for visual_file in visual_files_to_archive: - try: - shutil.move(str(visual_file), str(visual_archive / visual_file.name)) - moved_files += 1 - except Exception as e: - Logger.console(f"Failed to archive {visual_file.name}: {e}") - # Remove the now-empty visual archive directory - try: - visual_dir.rmdir() - except OSError: - pass # Directory not empty or other issue - - if moved_files > 0: - Logger.console(f"📦 Archived {moved_files} old output file(s) to: {archive_dir}") - else: - Logger.console("📂 No previous outputs found to archive.") +#region Product Archival def archive_products(products_dir: Path = INPUT_PRODUCTS_PATH, reason: str = "manual", startup_archival: bool = False, include_patterns: Optional[list[str]] = None) -> Optional[Path]: @@ -105,6 +42,8 @@ def archive_products(products_dir: Path = INPUT_PRODUCTS_PATH, reason: str = "ma "*.sp3.Z", # precise orbit (old format) "*.clk.Z", # clock files (old format) "*.bia.Z", # biases (old format) + "*_ocean.BLQ", # generated ocean tide loading + "*_atmos.BLQ", # generated atmospheric tide loading ] # Uncompressed counterparts to clean up after archiving the compressed versions @@ -134,7 +73,7 @@ def archive_products(products_dir: Path = INPUT_PRODUCTS_PATH, reason: str = "ma "tables/ALOAD*", "tables/OLOAD*", "tables/gpt_*.grd", - "tables/qzss_*" + "tables/qzss_*", "tables/igrf*coeffs.txt", "tables/DE436*", "tables/fes2014*.dat", @@ -206,11 +145,117 @@ def archive_products(products_dir: Path = INPUT_PRODUCTS_PATH, reason: str = "ma Logger.console("No matching product files found to archive.") return None +def archive_old_outputs(output_dir: Path, visual_dir: Path = None): + """ + Moves existing output files to an archive directory to keep the workspace clean. + + THIS FUNCTION LOOKS FOR ALL TXT, LOG, JSON, POS, GPX, TRACE, SNX files. + DON'T USE THE INPUT PRODUCTS DIRECTORY. + + :param output_dir: Path to the user-selected output directory. + :param visual_dir: Optional path to associated visualisation directory. + """ + # Move visual folder contents if it exists (visual_dir is typically output_dir / "visual") + if visual_dir is None: + visual_dir = output_dir / "visual" + + # First, collect all files that would be archived (only .POS, .GPX, .TRACE, .SNX) + files_to_archive = [] + for ext in [".pos", ".POS", ".gpx", ".GPX", ".trace", ".TRACE", ".snx", ".SNX"]: + files_to_archive.extend(list(output_dir.glob(f"*{ext}"))) + + # Check visual directory for files + visual_files_to_archive = [] + if visual_dir.exists() and visual_dir.is_dir(): + visual_files_to_archive = [f for f in visual_dir.glob("*") if f.is_file()] + + # Only proceed if there's something to archive + if not files_to_archive and not visual_files_to_archive: + Logger.console("📂 No previous outputs found to archive.") + return + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + archive_dir = output_dir / "archive" / timestamp + + # Make the visual directory + os.makedirs(archive_dir, exist_ok=True) + + # Move .pos, .gpx, .trace from output_dir + moved_files = 0 + for file in files_to_archive: + try: + shutil.move(str(file), str(archive_dir / file.name)) + moved_files += 1 + except Exception as e: + Logger.console(f"Failed to archive {file.name}: {e}") + + # Move visual folder contents + if visual_files_to_archive: + visual_archive = archive_dir / "visual" + + # Make the visual archive directory + os.makedirs(visual_archive, exist_ok=True) + + for visual_file in visual_files_to_archive: + try: + shutil.move(str(visual_file), str(visual_archive / visual_file.name)) + moved_files += 1 + except Exception as e: + Logger.console(f"Failed to archive {visual_file.name}: {e}") + # Remove the now-empty visual archive directory + try: + visual_dir.rmdir() + except OSError: + pass # Directory not empty or other issue + + if moved_files > 0: + Logger.console(f"📦 Archived {moved_files} old output file(s) to: {archive_dir}") + else: + Logger.console("📂 No previous outputs found to archive.") + + +def archive_products_if_rinex_changed(current_rinex: Path, last_rinex: Optional[Path], products_dir: Path) -> Optional[Path]: + """ + If the RINEX file has changed since last load, archive the cached products. + """ + if last_rinex and current_rinex.resolve() == last_rinex.resolve(): + Logger.console("RINEX file unchanged, skipping product cleanup.") + return None + + Logger.console("RINEX file changed, archiving old products.") + # Shouldn't remove BRDC if date isn't changed but would require extracting current and last rnx + return archive_products(products_dir, reason="rinex_change") + + +def archive_products_if_selection_changed(current_selection: Dict[str, Any], last_selection: Optional[Dict[str, Any]], + products_dir: Path) -> Optional[Path]: + """ + If the PPP product selection (AC/project/solution) has changed, archive the cached products. + Excludes BRDC and finals.data.iau2000.txt since they are reusable. + """ + if last_selection and current_selection == last_selection: + Logger.console("[Archiver] PPP product selection unchanged, skipping product cleanup.") + return None + + if last_selection: + diffs = {k: (last_selection.get(k), current_selection.get(k)) + for k in set(last_selection) | set(current_selection) + if last_selection.get(k) != current_selection.get(k)} + Logger.console(f"[Archiver] PPP selection changed → differences: {diffs}") + + return archive_products(products_dir,reason="ppp_selection_change") + +#endregion + +#region Product Restoration From Archive # File extensions eligible for archive restoration (dynamic PPP products only) RESTORABLE_EXTENSIONS = {".SP3", ".BIA", ".CLK", ".SNX", ".RNX"} # ".RNX" is for BRDC files RESTORABLE_CHECKSUM_PREFIX = "SHA512SUMS" +# Static products that happen to share a restorable extension but should not be restored like dynamic products +STATIC_PRODUCT_PREFIXES = {"igs_satellite_metadata"} + def restore_from_archive(filename: str, products_dir: Path = INPUT_PRODUCTS_PATH) -> Optional[Path]: """ Search the archive directory for a previously archived product file and restore it @@ -235,6 +280,9 @@ def restore_from_archive(filename: str, products_dir: Path = INPUT_PRODUCTS_PATH # Determine if this file is eligible for restoration is_checksum = filename.startswith(RESTORABLE_CHECKSUM_PREFIX) if not is_checksum: + # Skip static products that share a restorable extension (e.g. igs_satellite_metadata.snx) + if any(filename.startswith(prefix) for prefix in STATIC_PRODUCT_PREFIXES): + return None # Check if the uncompressed extension is one we care about bare_name = filename.removesuffix(".gz").removesuffix(".Z").removesuffix(".gzip") ext = Path(bare_name).suffix.upper() @@ -268,37 +316,4 @@ def restore_from_archive(filename: str, products_dir: Path = INPUT_PRODUCTS_PATH return None -def archive_products_if_rinex_changed(current_rinex: Path, - last_rinex: Optional[Path], - products_dir: Path) -> Optional[Path]: - """ - If the RINEX file has changed since last load, archive the cached products. - """ - if last_rinex and current_rinex.resolve() == last_rinex.resolve(): - Logger.console("RINEX file unchanged, skipping product cleanup.") - return None - - Logger.console("RINEX file changed, archiving old products.") - # Shouldn't remove BRDC if date isn't changed but would require extracting current and last rnx - return archive_products(products_dir, reason="rinex_change") - - -def archive_products_if_selection_changed(current_selection: Dict[str, Any], - last_selection: Optional[Dict[str, Any]], - products_dir: Path) -> Optional[Path]: - """ - If the PPP product selection (AC/project/solution) has changed, archive the cached products. - Excludes BRDC and finals.data.iau2000.txt since they are reusable. - """ - if last_selection and current_selection == last_selection: - Logger.console("[Archiver] PPP product selection unchanged, skipping product cleanup.") - return None - - if last_selection: - diffs = {k: (last_selection.get(k), current_selection.get(k)) - for k in set(last_selection) | set(current_selection) - if last_selection.get(k) != current_selection.get(k)} - Logger.console(f"[Archiver] PPP selection changed → differences: {diffs}") - - return archive_products(products_dir,reason="ppp_selection_change") - +#endregion diff --git a/scripts/GinanUI/app/models/dl_products.py b/scripts/GinanUI/app/models/dl_products.py index 77f79292d..4dd78d0fe 100644 --- a/scripts/GinanUI/app/models/dl_products.py +++ b/scripts/GinanUI/app/models/dl_products.py @@ -1,29 +1,45 @@ -import gzip, hashlib, os, shutil, unlzw3, requests -import pandas as pd +""" +GNSS product downloading and validation for Ginan-UI. + +Handles all interaction with the CDDIS archive to fetch PPP products (SP3, CLK, +BIA, ION, TRO), broadcast ephemeris (BRDC), static metadata, and IGS CRD SINEX +files. Also provides functions to enumerate valid analysis centres for a given +date range, retrieve constellation support from SP3 headers, parse BIA code +priorities, and validate downloaded files against SHA512 checksums. +""" + +import gzip +import hashlib +import os +import shutil import numpy as np +import pandas as pd +import requests +import unlzw3 from bs4 import BeautifulSoup, SoupStrainer from datetime import datetime, timedelta from pathlib import Path -from typing import Optional, Callable, Dict, Generator, List - -from scripts.GinanUI.app.utils.cddis_email import get_netrc_auth -from scripts.GinanUI.app.utils.common_dirs import INPUT_PRODUCTS_PATH +from typing import Callable, Dict, Generator, List, Optional +from scripts.GinanUI.app.utils.cddis_connection import get_netrc_auth +from scripts.GinanUI.app.utils.common_dirs import INPUT_PRODUCTS_PATH, TABLES_PRODUCTS_PATH from scripts.GinanUI.app.utils.gn_functions import GPSDate from scripts.GinanUI.app.utils.logger import Logger from scripts.GinanUI.app.models.archive_manager import restore_from_archive +# Constants BASE_URL = "https://cddis.nasa.gov/archive" GPS_ORIGIN = np.datetime64("1980-01-06 00:00:00") # Magic date from gn_functions MAX_RETRIES = 3 # download attempts CHUNK_SIZE = 8192 # 8 KiB COMPRESSED_FILETYPE = (".gz", ".gzip", ".Z") # ignore any others (maybe add crx2rnx using hatanaka package) -# repro3 fallback constants +# repro3/ fallback constants REPRO3_PROJECT = "R03" # Project code for reproduction products REPRO3_4TH_CHAR_RANGE = range(10) # 4th character can be 0-9, prioritise lower numbers REPRO3_PRIORITY_GPS_WEEK_START = 730 # Start of GPS week range where repro3 products are better quality REPRO3_PRIORITY_GPS_WEEK_END = 2138 # End of GPS week range where repro3 products are better quality +# The five valid constellations used within Ginan-UI CONSTELLATION_MAP = { 'G': 'GPS', 'R': 'GLO', @@ -32,6 +48,13 @@ 'J': 'QZS', } +# Loading grid netCDF files for computing ocean and atmospheric tide loading BLQ files +LOADING_GRID_URLS = [ + "https://peanpod.s3.ap-southeast-2.amazonaws.com/aux/loading/oceantide.nc", + "https://peanpod.s3.ap-southeast-2.amazonaws.com/aux/loading/atmtide.nc", +] + +# Static metadata product files that are always required METADATA = [ "https://files.igs.org/pub/station/general/igs_satellite_metadata.snx", "https://files.igs.org/pub/station/general/igs20.atx", @@ -48,16 +71,15 @@ "https://datacenter.iers.org/data/latestVersion/finals.data.iau2000.txt" ] - +# Checksum constants CHECKSUM_FILENAME = "SHA512SUMS" -# File types that should be validated against SHA512SUMS -CHECKSUM_VALIDATED_FORMATS = {"SP3", "BIA", "CLK", "SNX"} +CHECKSUM_VALIDATED_FORMATS = {"SP3", "BIA", "CLK", "SNX"} # File types that should be validated against SHA512SUMS +#region Helper Functions def date_to_gpswk(date: datetime) -> int: return int(GPSDate(np.datetime64(date)).gpswk) - def gpswk_to_date(gps_week: int, gps_day: int = 0) -> datetime: return GPSDate(GPS_ORIGIN + np.timedelta64(gps_week, "W") + np.timedelta64(gps_day, "D")).as_datetime @@ -97,6 +119,66 @@ def _is_in_repro3_priority_range(start_time: datetime, end_time: datetime) -> bo return (REPRO3_PRIORITY_GPS_WEEK_START <= start_week <= REPRO3_PRIORITY_GPS_WEEK_END and REPRO3_PRIORITY_GPS_WEEK_START <= end_week <= REPRO3_PRIORITY_GPS_WEEK_END) +def filter_minimum_covering_products(products: pd.DataFrame, start_time: datetime, end_time: datetime) -> pd.DataFrame: + """ + For each (analysis_center, solution_type, project, format) group, retain only the + minimum set of non-overlapping files needed to cover [start_time, end_time]. + + This is particularly important for NRT products which are published + hourly, this causes the broad overlap filter in get_product_dataframe() + to return far more files than are actually required. + + Strategy: starting from the latest file whose start time is at or before start_time, + greedily pick the file that extends coverage the furthest forward, repeating until + end_time is covered. + + :param products: products dataframe from get_product_dataframe() + :param start_time: the start of the required time window + :param end_time: the end of the required time window + :returns: filtered dataframe containing only the minimum required files + """ + if products.empty: + return products + + kept_indices = [] + + for _keys, group in products.groupby(["analysis_center", "solution_type", "project", "format"]): + group = group.sort_values("date").reset_index() + + coverage_reached = start_time + + while coverage_reached < end_time: + # Candidates: files whose nominal coverage window overlaps the remaining uncovered range + candidates = group[ + (group["date"] <= coverage_reached) & + (group["date"] + group["period"] > coverage_reached) + ] + + if candidates.empty: + # No file starts at or before coverage_reached - fall back to the earliest file + # that starts after it (gap in available products) + candidates = group[group["date"] > coverage_reached] + if candidates.empty: + break # No more files available at all + + # Among candidates, pick the one whose end extends furthest forward + candidates = candidates.copy() + candidates["_product_end"] = candidates["date"] + candidates["period"] + best = candidates.loc[candidates["_product_end"].idxmax()] + + new_coverage = best["_product_end"] + if new_coverage <= coverage_reached: + # No forward progress possible - avoid infinite loop + break + + kept_indices.append(best["index"]) + coverage_reached = new_coverage + + if not kept_indices: + # Fallback: return original if something went wrong (e.g. no overlap at all found) + return products + + return products.loc[products.index.isin(kept_indices)].reset_index(drop=True) def get_repro3_product_dataframe(start_time: datetime, end_time: datetime, target_files: List[str] = None) -> pd.DataFrame: """ @@ -193,8 +275,10 @@ def get_repro3_product_dataframe(start_time: datetime, end_time: datetime, targe products = products.drop(columns=["_4th_char"]) products = products.reset_index(drop=True) - return products + # Reduce to the minimum set of files that cover the requested time window + products = filter_minimum_covering_products(products, start_time, end_time) + return products def str_to_datetime(date_time_str): """ @@ -207,7 +291,6 @@ def str_to_datetime(date_time_str): except ValueError: raise ValueError("Invalid datetime format. Use YYYY-MM-DDTHH:MM (e.g. 2025-05-01_00:00:00)") - def get_product_dataframe(start_time: datetime, end_time: datetime, target_files: List[str] = None) -> pd.DataFrame: """ Retrieves a DataFrame of available products for given time window and target files from CDDIS archive. @@ -309,8 +392,14 @@ def get_product_dataframe(start_time: datetime, end_time: datetime, target_files products = products.drop_duplicates(subset=["analysis_center", "project", "date", "solution_type", "format"], keep="first") products = products.reset_index(drop=True) + # Reduce to the minimum set of files that cover the requested time window + products = filter_minimum_covering_products(products, start_time, end_time) + return products +#endregion + +#region Retrieve Valid Product Information def get_valid_analysis_centers(data: pd.DataFrame) -> set[str]: """ @@ -385,7 +474,6 @@ def get_valid_analysis_centers(data: pd.DataFrame) -> set[str]: return centers - def get_valid_series_for_provider(data: pd.DataFrame, provider: str) -> List[str]: """ Get list of valid series (with all required files) for a specific provider. @@ -446,7 +534,6 @@ def get_product_dataframe_with_repro3_fallback(start_time: datetime, end_time: d # Outside priority range: use main directory first, fallback to repro3 if needed return _try_main_first(start_time, end_time, target_files) - def _try_main_first(start_time: datetime, end_time: datetime, target_files: List[str] = None) -> pd.DataFrame: """ Try main directory first, fallback to repro3 if no valid PPP providers found. @@ -461,7 +548,7 @@ def _try_main_first(start_time: datetime, end_time: datetime, target_files: List products = get_product_dataframe(start_time, end_time, target_files) if products.empty: - Logger.terminal("📦 No products found in main directory, checking /repro3/...") + Logger.workflow("📦 No products found in main directory, checking /repro3/...") return _try_repro3_fallback(start_time, end_time, target_files) # Check if we have valid PPP providers @@ -472,10 +559,9 @@ def _try_main_first(start_time: datetime, end_time: datetime, target_files: List return products # No valid PPP providers found, try repro3 fallback - Logger.terminal("📦 No valid PPP providers in main directory, checking /repro3/...") + Logger.workflow("📦 No valid PPP providers in main directory, checking /repro3/...") return _try_repro3_fallback(start_time, end_time, target_files, main_products=products) - def _try_repro3_first(start_time: datetime, end_time: datetime, target_files: List[str] = None) -> pd.DataFrame: """ Try /repro3/ directory first @@ -500,14 +586,14 @@ def _try_repro3_first(start_time: datetime, end_time: datetime, target_files: Li break if not repro3_exists_for_any_week: - Logger.terminal("📦 /repro3/ directory does not exist, falling back to main directory...") + Logger.workflow("📦 /repro3/ directory does not exist, falling back to main directory...") return _try_main_directory_fallback(start_time, end_time, target_files) # Fetch products from repro3 repro3_products = get_repro3_product_dataframe(start_time, end_time, target_files) if repro3_products.empty: - Logger.terminal("📦 No products found in /repro3/ directory, falling back to main directory...") + Logger.workflow("📦 No products found in /repro3/ directory, falling back to main directory...") return _try_main_directory_fallback(start_time, end_time, target_files) # Check if repro3 has valid PPP providers @@ -517,10 +603,9 @@ def _try_repro3_first(start_time: datetime, end_time: datetime, target_files: Li return repro3_products # No valid providers in repro3, try main directory as fallback - Logger.terminal("📦 No valid PPP providers in /repro3/, falling back to main directory...") + Logger.workflow("📦 No valid PPP providers in /repro3/, falling back to main directory...") return _try_main_directory_fallback(start_time, end_time, target_files, repro3_products=repro3_products) - def _try_main_directory_fallback(start_time: datetime, end_time: datetime, target_files: List[str] = None, repro3_products: pd.DataFrame = None) -> pd.DataFrame: """ Internal helper to attempt fetching products from main directory as a fallback @@ -536,25 +621,24 @@ def _try_main_directory_fallback(start_time: datetime, end_time: datetime, targe if products.empty: if repro3_products is not None and not repro3_products.empty: - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") return repro3_products - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") return pd.DataFrame() # Check if main directory has valid PPP providers valid_centers = get_valid_analysis_centers(products) if valid_centers: - Logger.terminal(f"✅ Found valid PPP providers in main directory: {', '.join(sorted(valid_centers))}") + Logger.workflow(f"✅ Found valid PPP providers in main directory: {', '.join(sorted(valid_centers))}") return products # No valid providers in main either - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") if repro3_products is not None and not repro3_products.empty: return repro3_products return products - def _try_repro3_fallback(start_time: datetime, end_time: datetime, target_files: List[str] = None, main_products: pd.DataFrame = None) -> pd.DataFrame: """ Internal helper to attempt fetching products from repro3 directory. @@ -579,9 +663,9 @@ def _try_repro3_fallback(start_time: datetime, end_time: datetime, target_files: break if not repro3_exists_for_any_week: - Logger.terminal("📦 repro3 directory does not exist for this time range") + Logger.workflow("📦 repro3 directory does not exist for this time range") if main_products is not None and not main_products.empty: - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") return main_products return pd.DataFrame() @@ -589,9 +673,9 @@ def _try_repro3_fallback(start_time: datetime, end_time: datetime, target_files: repro3_products = get_repro3_product_dataframe(start_time, end_time, target_files) if repro3_products.empty: - Logger.terminal("📦 No products found in repro3 directory") + Logger.workflow("📦 No products found in repro3 directory") if main_products is not None and not main_products.empty: - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") return main_products return pd.DataFrame() @@ -601,35 +685,17 @@ def _try_repro3_fallback(start_time: datetime, end_time: datetime, target_files: if repro3_valid_centers: return repro3_products else: - Logger.terminal("⚠️ No valid PPP providers found") + Logger.workflow("⚠️ No valid PPP providers found") if main_products is not None and not main_products.empty: return main_products return repro3_products -def extract_file(filepath: Path, keep_compressed: bool = True) -> Path: - """ - Extracts [".gz", ".gzip", ".Z"] files with gzip and unlzw3 respectively. - By default, the compressed file is retained alongside the extracted version - so that it can be archived and later validated against SHA-512 checksums. - - :param filepath: compressed file path - :param keep_compressed: if True, retain the compressed file after extraction - :return: path to extracted file - """ - finalpath = ".".join(str(filepath).split(".")[:-1]) - if str(filepath.name).endswith((".gz", ".gzip")): - with gzip.open(filepath, "rb") as f_in, open(finalpath, "wb") as f_out: - shutil.copyfileobj(f_in, f_out) - elif str(filepath.name).endswith(".Z"): - decompressed_data = unlzw3.unlzw(filepath) - with open(finalpath, "wb") as f_out: - f_out.write(decompressed_data) - if not keep_compressed: - filepath.unlink() - return Path(finalpath) +#endregion +#region SHA-512 Checksum Validation -# region SHA-512 Checksum Validation +# Cache of downloaded checksum files: (gps_week, use_repro3) -> parsed checksums dict +_checksum_cache: Dict[tuple, dict] = {} def get_checksum_url(gps_week: int, use_repro3: bool = False) -> str: """ @@ -673,7 +739,7 @@ def download_checksum_file(gps_week: int, session: requests.Session, download_di return restored url = get_checksum_url(gps_week, use_repro3) - Logger.terminal(f"📥 Downloading checksum file {CHECKSUM_FILENAME} for GPS week {gps_week}{' (repro3)' if use_repro3 else ''}...") + Logger.workflow(f"📥 Downloading checksum file {CHECKSUM_FILENAME} for GPS week {gps_week}{' (repro3)' if use_repro3 else ''}...") for attempt in range(MAX_RETRIES): if stop_requested and stop_requested(): @@ -702,14 +768,14 @@ def download_checksum_file(gps_week: int, session: requests.Session, download_di progress_callback(local_filename, percent) os.rename(partial_path, local_path) - Logger.terminal(f"✅ Downloaded checksum file {local_filename}") + Logger.workflow(f"✅ Downloaded checksum file {local_filename}") return local_path except requests.RequestException as e: if attempt < MAX_RETRIES - 1: - Logger.terminal(f"⚠️ Checksum download attempt {attempt + 1}/{MAX_RETRIES} failed: {e}") + Logger.workflow(f"⚠️ Checksum download attempt {attempt + 1}/{MAX_RETRIES} failed: {e}") else: - Logger.terminal(f"⚠️ Failed to download {CHECKSUM_FILENAME} for GPS week {gps_week} after {MAX_RETRIES} attempts: {e}") + Logger.workflow(f"⚠️ Failed to download {CHECKSUM_FILENAME} for GPS week {gps_week} after {MAX_RETRIES} attempts: {e}") return None @@ -737,13 +803,13 @@ def parse_checksum_file(checksum_path: Path) -> dict: try: int(hex_hash, 16) except ValueError: - Logger.terminal(f"⚠️ Invalid hex hash in SHA512SUMS for {parts[1].strip()}, skipping entry") + Logger.workflow(f"⚠️ Invalid hex hash in SHA512SUMS for {parts[1].strip()}, skipping entry") continue checksums[parts[1].strip()] = hex_hash except Exception as e: - Logger.terminal(f"⚠️ Failed to parse checksum file {checksum_path}: {e}") + Logger.workflow(f"⚠️ Failed to parse checksum file {checksum_path}: {e}") if not checksums: - Logger.terminal(f"⚠️ No valid checksum entries found in {checksum_path.name}") + Logger.workflow(f"⚠️ No valid checksum entries found in {checksum_path.name}") return checksums def compute_sha512(filepath: Path) -> str: @@ -771,14 +837,14 @@ def validate_checksum(filepath: Path, checksums: dict) -> Optional[bool]: expected_hash = checksums.get(filename) if expected_hash is None: - Logger.terminal(f"⚠️ No checksum entry found for {filename} in SHA512SUMS (file may be corrupted or incomplete)") + Logger.workflow(f"⚠️ No checksum entry found for {filename} in SHA512SUMS (file may be corrupted or incomplete)") return None # Verify the expected hash is valid hex before comparing try: int(expected_hash, 16) except ValueError: - Logger.terminal(f"⚠️ Invalid checksum hash in SHA512SUMS for {filename}, skipping validation") + Logger.workflow(f"⚠️ Invalid checksum hash in SHA512SUMS for {filename}, skipping validation") return None actual_hash = compute_sha512(filepath) @@ -790,9 +856,6 @@ def validate_checksum(filepath: Path, checksums: dict) -> Optional[bool]: Logger.console(f"❌ Checksum mismatch: {filename} | Expected: {expected_hash[:16]}... Got: {actual_hash[:16]}...") return False -# Cache of downloaded checksum files: (gps_week, use_repro3) -> parsed checksums dict -_checksum_cache: Dict[tuple, dict] = {} - def get_checksums_for_week(gps_week: int, session: requests.Session, download_dir: Path = INPUT_PRODUCTS_PATH, use_repro3: bool = False, progress_callback: Optional[Callable] = None, stop_requested: Optional[Callable] = None) -> Optional[dict]: @@ -824,10 +887,11 @@ def get_checksums_for_week(gps_week: int, session: requests.Session, download_di # endregion +#region Product Downloading from CDDIS Archives + def download_file(url: str, session: requests.Session, download_dir: Path = INPUT_PRODUCTS_PATH, - progress_callback: Optional[Callable] = None, - stop_requested: Callable = None, checksums: Optional[dict] = None, - keep_compressed: bool = True) -> Path: + progress_callback: Optional[Callable] = None, stop_requested: Callable = None, + checksums: Optional[dict] = None, keep_compressed: bool = True) -> Path: """ Checks if file already exists (additionally in compressed or .part forms). Uses provided session for CDDIS files (session made during startup). @@ -854,7 +918,7 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU if checksums is not None: result = validate_checksum(filepath, checksums) if result is False: - Logger.terminal(f"⚠️ Existing file {filepath.name} failed checksum, re-downloading...") + Logger.workflow(f"⚠️ Existing file {filepath.name} failed checksum, re-downloading...") filepath.unlink(missing_ok=True) # Fall through to download below else: @@ -877,14 +941,14 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU if filepath.exists(): result = validate_checksum(filepath, checksums) if result is False: - Logger.terminal(f"⚠️ Compressed file {filepath.name} failed checksum, re-downloading...") + Logger.workflow(f"⚠️ Compressed file {filepath.name} failed checksum, re-downloading...") filepath.unlink(missing_ok=True) potential_decompressed.unlink(missing_ok=True) # Fall through to download below else: return potential_decompressed else: - Logger.terminal(f"⚠️ Cannot verify checksum for {filepath.name} (compressed file missing), re-downloading to validate...") + Logger.workflow(f"⚠️ Cannot verify checksum for {filepath.name} (compressed file missing), re-downloading to validate...") potential_decompressed.unlink(missing_ok=True) # Fall through to download below else: @@ -897,7 +961,7 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU if checksums is not None and filepath.name in checksums: result = validate_checksum(restored, checksums) if result is False: - Logger.terminal(f"⚠️ Archived file {restored.name} failed checksum validation, re-downloading...") + Logger.workflow(f"⚠️ Archived file {restored.name} failed checksum validation, re-downloading...") restored.unlink(missing_ok=True) # Fall through to download below else: @@ -915,11 +979,11 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU if _partial.exists(): # Resume partial downloads headers = {"Range": f"bytes={_partial.stat().st_size}-"} - Logger.terminal(f"Resuming download of {filepath.name} from byte {_partial.stat().st_size}") + Logger.workflow(f"Resuming download of {filepath.name} from byte {_partial.stat().st_size}") else: # Download whole file headers = {"Range": "bytes=0-"} - Logger.terminal(f"Starting new download of {filepath.name}") + Logger.workflow(f"Starting new download of {filepath.name}") os.makedirs(_partial.parent, exist_ok=True) # Hack?! for windows error when open(_partial, "wb") not creating new files @@ -963,7 +1027,7 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU if checksums is not None: result = validate_checksum(filepath, checksums) if result is False: - Logger.terminal(f"⚠️ Deleting corrupted file {filepath.name} and retrying...") + Logger.workflow(f"⚠️ Deleting corrupted file {filepath.name} and retrying...") filepath.unlink(missing_ok=True) continue @@ -972,29 +1036,31 @@ def download_file(url: str, session: requests.Session, download_dir: Path = INPU else: return filepath except requests.RequestException as e: - Logger.terminal(f"Failed attempt {i} to download {filepath.name}: {e}") + Logger.workflow(f"Failed attempt {i} to download {filepath.name}: {e}") raise (Exception(f"Failed to download {filepath.name} after {MAX_RETRIES} attempts")) - -def get_brdc_urls(start_time: datetime, end_time: datetime) -> list[str]: +def extract_file(filepath: Path, keep_compressed: bool = True) -> Path: """ - Generates a list of BRDC file URLs for the specified date range. + Extracts [".gz", ".gzip", ".Z"] files with gzip and unlzw3 respectively. + By default, the compressed file is retained alongside the extracted version + so that it can be archived and later validated against SHA-512 checksums. - :param start_time: Start of the date range - :param end_time: End of the date range - :returns: List URLs to download BRDC files + :param filepath: compressed file path + :param keep_compressed: if True, retain the compressed file after extraction + :return: path to extracted file """ - urls = [] - reference_dt = start_time - while int((end_time - reference_dt).total_seconds()) > 0: - day = reference_dt.strftime("%j") - filename = f"BRDC00IGS_R_{reference_dt.year}{day}0000_01D_MN.rnx.gz" - url = f"{BASE_URL}/gnss/data/daily/{reference_dt.year}/brdc/{filename}" - urls.append(url) - reference_dt += timedelta(days=1) - return urls - + finalpath = ".".join(str(filepath).split(".")[:-1]) + if str(filepath.name).endswith((".gz", ".gzip")): + with gzip.open(filepath, "rb") as f_in, open(finalpath, "wb") as f_out: + shutil.copyfileobj(f_in, f_out) + elif str(filepath.name).endswith(".Z"): + decompressed_data = unlzw3.unlzw(filepath) + with open(finalpath, "wb") as f_out: + f_out.write(decompressed_data) + if not keep_compressed: + filepath.unlink() + return Path(finalpath) def download_metadata(download_dir: Path = INPUT_PRODUCTS_PATH, progress_callback: Optional[Callable] = None, atx_callback: Optional[Callable] = None): @@ -1012,6 +1078,35 @@ def download_metadata(download_dir: Path = INPUT_PRODUCTS_PATH, if atx_callback and download.name == "igs20.atx": atx_callback(download.name) +def download_loading_grids(download_dir: Path = TABLES_PRODUCTS_PATH, + progress_callback: Optional[Callable] = None, + stop_requested: Optional[Callable] = None): + """ + Download ocean and atmospheric tide loading grid netCDF files if not already present. + + :param download_dir: Directory to save the loading grid files + :param progress_callback: Reports (description, percent) for progress updates + :param stop_requested: Bool callback. Returns early if stop is requested + """ + download_dir.mkdir(parents=True, exist_ok=True) + + _sesh = requests.Session() + + for url in LOADING_GRID_URLS: + if stop_requested and stop_requested(): + return + + filename = url.split("/")[-1] + filepath = download_dir / filename + + if filepath.exists(): + Logger.workflow(f"📁 Loading grid already exists: {filename}") + continue + + Logger.workflow(f"📥 Downloading loading grid: {filename}") + download_file(url, _sesh, download_dir=download_dir, + progress_callback=progress_callback, + stop_requested=stop_requested) def download_products(products: pd.DataFrame, download_dir: Path = INPUT_PRODUCTS_PATH, dl_urls: list = None, progress_callback: Optional[Callable] = None, @@ -1076,7 +1171,7 @@ def download_products(products: pd.DataFrame, download_dir: Path = INPUT_PRODUCT if dl_urls: downloads.extend(dl_urls) - Logger.terminal(f"📦 {len(downloads)} files to check or download") + Logger.workflow(f"📦 {len(downloads)} files to check or download") download_dir.mkdir(parents=True, exist_ok=True) (download_dir / "tables").mkdir(parents=True, exist_ok=True) for url in downloads: @@ -1097,6 +1192,25 @@ def download_products(products: pd.DataFrame, download_dir: Path = INPUT_PRODUCT is_tables = (fin_dir != download_dir) yield download_file(url, _sesh, fin_dir, progress_callback, stop_requested, checksums, keep_compressed=not is_tables) + +def get_brdc_urls(start_time: datetime, end_time: datetime) -> list[str]: + """ + Generates a list of BRDC file URLs for the specified date range. + + :param start_time: Start of the date range + :param end_time: End of the date range + :returns: List URLs to download BRDC files + """ + urls = [] + reference_dt = start_time + while int((end_time - reference_dt).total_seconds()) > 0: + day = reference_dt.strftime("%j") + filename = f"BRDC00IGS_R_{reference_dt.year}{day}0000_01D_MN.rnx.gz" + url = f"{BASE_URL}/gnss/data/daily/{reference_dt.year}/brdc/{filename}" + urls.append(url) + reference_dt += timedelta(days=1) + return urls + def _get_repro3_filename_and_url(row: pd.Series, gps_week: int, session: requests.Session = None) -> tuple: """ Determine the correct filename and URL for a repro3 product. @@ -1128,6 +1242,7 @@ def _get_repro3_filename_and_url(row: pd.Series, gps_week: int, session: request url = f"{BASE_URL}/gnss/products/{gps_week}/repro3/{filename}" return filename, url +#endregion #region SP3 Product Validation @@ -1594,7 +1709,6 @@ def download_bia_satellite_section(url: str, session: requests.Session, progress return None - def _check_bia_termination(content: str, force_return: bool = False) -> tuple[bool, Optional[str]]: """ Check if we should stop downloading and extract the satellite bias section. @@ -1793,10 +1907,8 @@ def parse_bia_code_priorities(bia_content: str) -> dict: return code_priorities -def get_bia_code_priorities_for_selection(products_df: pd.DataFrame, - provider: str, series: str, project: str, - progress_callback: Optional[Callable] = None, - stop_requested: Optional[Callable] = None) -> Optional[dict]: +def get_bia_code_priorities_for_selection(products_df: pd.DataFrame, provider: str, series: str, project: str, + progress_callback: Optional[Callable] = None, stop_requested: Optional[Callable] = None) -> Optional[dict]: """ Download and parse BIA file for a specific provider/series/project combination to extract available code priorities per constellation. @@ -1847,7 +1959,7 @@ def get_bia_code_priorities_for_selection(products_df: pd.DataFrame, _log_bia_code_priorities(code_priorities, provider, series, project) return code_priorities - Logger.terminal(f"📥 Validating constellation signal frequencies against BIA file for {provider}/{series}/{project}...") + Logger.workflow(f"📥 Validating constellation signal frequencies against BIA file for {provider}/{series}/{project}...") # Download satellite bias section bia_content = download_bia_satellite_section(url, session, progress_callback=progress_callback, stop_requested=stop_requested) @@ -1861,7 +1973,6 @@ def get_bia_code_priorities_for_selection(products_df: pd.DataFrame, _log_bia_code_priorities(code_priorities, provider, series, project) return code_priorities - def _try_read_local_bia(local_uncompressed: Path, local_compressed: Path, compressed_filename: str, provider: str, series: str, project: str) -> Optional[str]: """ @@ -1918,7 +2029,6 @@ def _try_read_local_bia(local_uncompressed: Path, local_compressed: Path, return None - def _read_compressed_bia(filepath: Path) -> Optional[str]: """ Read and decompress a .gz or .Z compressed BIA file. @@ -1937,7 +2047,6 @@ def _read_compressed_bia(filepath: Path) -> Optional[str]: Logger.console(f"Failed to decompress {filepath.name}: {e}") return None - def _log_bia_code_priorities(code_priorities: dict, provider: str, series: str, project: str): """Log extracted BIA code priorities.""" Logger.console(f"✅ Extracted code priorities for {provider}/{series}/{project}:") @@ -1999,23 +2108,36 @@ def download_sinex_file(target_date: datetime, download_dir: Path = INPUT_PRODUC url = get_sinex_url(target_date, use_repro3=use_repro3) + # Check the file actually exists on the server before attempting any downloads. + # The IGS CRD SINEX is often missing for recent dates (e.g. ultra-rapid / rapid + # products), so a quick HEAD request avoids a long, noisy retry storm of 404s. + try: + head = session.head(url, timeout=10, allow_redirects=True) + if head.status_code == 404: + Logger.workflow(f"ℹ️ SINEX file not available on server: {url.split('/')[-1]}") + return None + except requests.RequestException as e: + # Network hiccup on the existence check - fall through and let the + # download (with its own retries) decide whether the file is reachable. + Logger.console(f"SINEX existence check failed ({e}), proceeding to download attempt") + # Fetch checksums for the SINEX file's GPS week checksums = get_checksums_for_week(gps_week, session, download_dir, use_repro3, progress_callback, stop_requested) for attempt in range(max_retries): if stop_requested and stop_requested(): - Logger.terminal("🛑 SINEX download cancelled") + Logger.workflow("🛑 SINEX download cancelled") return None try: filepath = download_file(url, session, download_dir, progress_callback, stop_requested, checksums) - Logger.terminal(f"✅ SINEX file downloaded: {filepath.name}") + Logger.workflow(f"✅ SINEX file downloaded: {filepath.name}") return filepath except Exception as e: if attempt < max_retries - 1: - Logger.terminal(f"⚠️ SINEX download attempt {attempt + 1}/{max_retries} failed: {e}") + Logger.workflow(f"⚠️ SINEX download attempt {attempt + 1}/{max_retries} failed: {e}") else: - Logger.terminal(f"❌ Failed to download SINEX file after {max_retries} attempts: {e}") + Logger.workflow(f"❌ Failed to download SINEX file after {max_retries} attempts: {e}") return None @@ -2335,53 +2457,54 @@ def download_and_validate_sinex(target_date: datetime, marker_name: str, receive return sinex_path, results except Exception as e: - Logger.terminal(f"❌ Error reading SINEX file: {e}") + Logger.workflow(f"❌ Error reading SINEX file: {e}") return sinex_path, {'error': f'Failed to read SINEX file: {e}'} def log_sinex_validation_results(results: dict, marker_name: str): """ - Log SINEX validation results to the terminal. + Log SINEX validation results to the workflow terminal. :param results: Validation results dictionary from validate_sinex_values() :param marker_name: Marker name for logging context """ if 'error' in results: - Logger.terminal(f"❌ SINEX validation error: {results['error']}") + Logger.workflow(f"❌ SINEX validation error: {results['error']}") return if not results['marker_found']: - Logger.terminal(f"⚠️ Marker '{marker_name}' not found in SINEX file - validation skipped") + Logger.workflow(f"⚠️ Marker '{marker_name}' not found in SINEX file - validation skipped") return all_valid = True has_validations = False - Logger.terminal(f"📋 SINEX validation results for marker '{marker_name}':") + Logger.workflow(f"📋 SINEX validation results for marker '{marker_name}':") for field in ['receiver_type', 'antenna_type', 'antenna_offset', 'apriori_position']: field_result = results.get(field, {}) message = field_result.get('message', '') if field_result.get('valid') is True: - Logger.terminal(f" ✅ {field.replace('_', ' ').title()}: {message}") + Logger.workflow(f" ✅ {field.replace('_', ' ').title()}: {message}") has_validations = True elif field_result.get('valid') is False: - Logger.terminal(f" ⚠️ {field.replace('_', ' ').title()}: {message}") + Logger.workflow(f" ⚠️ {field.replace('_', ' ').title()}: {message}") all_valid = False has_validations = True elif message: # valid is None but there's a message (info only, no comparison made) - Logger.terminal(f" ℹ️ {field.replace('_', ' ').title()}: {message}") + Logger.workflow(f" ℹ️ {field.replace('_', ' ').title()}: {message}") if has_validations: if all_valid: - Logger.terminal(f"✅ All SINEX validations passed for marker '{marker_name}'") + Logger.workflow(f"✅ All SINEX validations passed for marker '{marker_name}'") else: - Logger.terminal(f"⚠️ Some SINEX validations failed for marker '{marker_name}' - please review the above warnings") + Logger.workflow(f"⚠️ Some SINEX validations failed for marker '{marker_name}' - please review the above warnings") else: - Logger.terminal(f"ℹ️ SINEX data found for marker '{marker_name}' but no comparisons were made (RINEX values may be missing)") + Logger.workflow(f"ℹ️ SINEX data found for marker '{marker_name}' but no comparisons were made (RINEX values may be missing)") # endregion +# Test if __name__ == "__main__": # Test whole file download sesh = requests.Session() diff --git a/scripts/GinanUI/app/models/execution.py b/scripts/GinanUI/app/models/execution.py index 40eebd5d8..52cc086e5 100644 --- a/scripts/GinanUI/app/models/execution.py +++ b/scripts/GinanUI/app/models/execution.py @@ -1,38 +1,30 @@ +""" +PEA execution model for Ginan-UI. + +Manages the lifecycle of a Ginan PEA processing run: locating the PEA binary +(bundled or on PATH), building and writing the YAML config from user inputs, +launching the PEA subprocess, streaming its output, and generating post-run +visualisations. Also exposes the INPUT_PRODUCTS_PATH and GENERATED_YAML +constants re-exported from common_dirs for use by other modules. +""" + import os import platform import shutil -import subprocess import signal +import subprocess import threading import time -from importlib.resources import files - -from ruamel.yaml.scalarstring import PlainScalarString -from ruamel.yaml.comments import CommentedSeq, CommentedMap from pathlib import Path -from scripts.GinanUI.app.utils.yaml import load_yaml, write_yaml, normalise_yaml_value +from ruamel.yaml.comments import CommentedMap, CommentedSeq +from ruamel.yaml.scalarstring import PlainScalarString +from scripts.GinanUI.app.utils.common_dirs import GENERATED_YAML, INPUT_PRODUCTS_PATH, TABLES_PRODUCTS_PATH, TEMPLATE_PATH +from scripts.GinanUI.app.utils.logger import Logger +from scripts.GinanUI.app.utils.yaml import load_yaml, normalise_yaml_value, write_yaml + +# Imports external of Ginan-UI entirely from scripts.plot_pos import plot_pos_files from scripts.plot_trace_res import plot_trace_res_files -from scripts.GinanUI.app.utils.common_dirs import GENERATED_YAML, TEMPLATE_PATH, INPUT_PRODUCTS_PATH - -# Import the new logger -try: - from scripts.GinanUI.app.utils.logger import Logger -except ImportError: - # Fallback if logger not yet in the correct location - class Logger: - @staticmethod - def terminal(msg): - print(f"[TERMINAL] {msg}") - - @staticmethod - def console(msg): - print(f"[CONSOLE] {msg}") - - @staticmethod - def both(msg): - print(f"[BOTH] {msg}") - def get_pea_exec(): """ @@ -135,6 +127,64 @@ def get_pea_exec(): f" - {ginan_root / 'bin' / 'pea' if 'ginan_root' in locals() else 'Could not determine ginan root'}" ) +def get_interpolate_loading_exec(): + """ + Locate the interpolate_loading binary using the same search strategy as get_pea_exec(). + + :return: Path to executable or str of PATH callable + :raises RuntimeError: If interpolate_loading binary cannot be found + """ + import sys + + binary_name = "interpolate_loading" + + # 1. Check if running in PyInstaller bundle + if getattr(sys, 'frozen', False): + base_path = Path(sys._MEIPASS) + + if platform.system().lower() == "darwin": + pea_path = base_path.parent / "Resources" / "bin" / binary_name + if pea_path.exists(): + return pea_path + pea_path = base_path / "bin" / binary_name + if pea_path.exists(): + return pea_path + else: + exe_name = f"{binary_name}.exe" if platform.system().lower() == "windows" else binary_name + pea_path = base_path / "bin" / exe_name + if pea_path.exists(): + return pea_path + + # 2. Check if binary is on PATH + if shutil.which(binary_name): + Logger.console(f"✅ Found {binary_name} on PATH: {shutil.which(binary_name)}") + return binary_name + + # 3. Try to find binary relative to this script's location + try: + current_file = Path(__file__).resolve() + ginan_root = current_file.parents[4] + loading_binary = ginan_root / "bin" / binary_name + + if loading_binary.exists() and loading_binary.is_file(): + if not os.access(loading_binary, os.X_OK): + try: + loading_binary.chmod(loading_binary.stat().st_mode | 0o111) + except Exception as e: + raise RuntimeError(f"⚠️ {binary_name} found at {loading_binary} but is not executable: {e}") + + Logger.console(f"✅ Found {binary_name} binary at: {loading_binary}") + return loading_binary + + except Exception as e: + Logger.console(f"⚠️ Error while searching for {binary_name} relative to script location: {e}") + + raise RuntimeError( + f"{binary_name} executable not found. Please ensure:\n" + f"1. You have built the Ginan binaries (should be at ginan/bin/{binary_name})\n" + f"2. You are running GinanUI from within the ginan directory structure, or\n" + f"3. The '{binary_name}' executable is available on your system PATH" + ) class Execution: def __init__(self, config_path: Path = GENERATED_YAML): @@ -145,7 +195,8 @@ def __init__(self, config_path: Path = GENERATED_YAML): """ self.config_path = config_path self.executable = get_pea_exec() # the PEA executable - self.changes = False # Flag to track if config has been changed + self.changes = False # Flag to track if config has been changed + self.yaml_overwrite = True # Whether UI changes should be written to the YAML file self._procs = [] self._stop_event = threading.Event() @@ -163,6 +214,8 @@ def __init__(self, config_path: Path = GENERATED_YAML): self.config = load_yaml(config_path) + #region YAML Config Manipulation + def reload_config(self): """ Force reload of the YAML config from disk into memory. @@ -237,6 +290,20 @@ def edit_config(self, key_path: str, value, add_field=False): node[final_key] = value + def set_loading_params(self, marker_name: str, marker_number: str, apriori_position: list): + """ + Store loading BLQ parameters without applying the full UI config + Used when YAML overwrite is disabled so that ensure_loading_blq() + can still generate BLQ files if needed + + :param marker_name: 4-character station marker name (e.g. 'ALIC') + :param marker_number: DOMES marker number (e.g. '50137M0014') or None + :param apriori_position: [X, Y, Z] ECEF coordinates in metres + """ + self._loading_marker_name = marker_name + self._loading_marker_number = marker_number + self._loading_apriori_position = apriori_position + def apply_ui_config(self, inputs): """ Applies UI settings to **cached** config. **Call write_cached_changes()** to write them. @@ -281,6 +348,7 @@ def apply_ui_config(self, inputs): self.edit_config("outputs.gpx.output", bool(inputs.gpx_output), True) self.edit_config("outputs.pos.output", bool(inputs.pos_output), True) self.edit_config("outputs.trace.output_network", bool(inputs.trace_output_network), True) + self.edit_config("outputs.sinex.output", bool(inputs.snx_output), True) # 2. Replace 'TEST' receiver block with real marker name if "TEST" in self.config.get("receiver_options", {}): @@ -351,6 +419,11 @@ def apply_ui_config(self, inputs): if sinex_filename: self._add_sinex_to_config(sinex_filename) + # 7. Store loading BLQ parameters for ensure_loading_blq() during execute_config() + self._loading_marker_name = inputs.marker_name + self._loading_marker_number = getattr(inputs, 'marker_number', None) + self._loading_apriori_position = inputs.apriori_position + def _add_sinex_to_config(self, sinex_filename: str): """ Append the SINEX filename to the config's inputs.snx_files list. @@ -408,16 +481,353 @@ def _add_sinex_to_config(self, sinex_filename: str): self.config["inputs"]["snx_files"] = new_seq except Exception as e: - Logger.terminal(f"⚠️ Failed to write SINEX to config: {e}") + Logger.workflow(f"⚠️ Failed to write SINEX to config: {e}") + + def _station_in_blq(self, blq_path: Path, marker_name: str) -> bool: + """ + Check whether a station (by 4-character marker name) already has an entry in a BLQ file. + + BLQ station entries start with two leading spaces followed by the + 4-character marker name. The marker may be followed by a space and + DOMES number (e.g. " ALIC 50137M001"), trailing whitespace only + (e.g. " AGGO "), or nothing before the newline (e.g. " AGGO"). + Comment lines starting with "$$" are ignored. + + :param blq_path: Path to the BLQ file + :param marker_name: 4-character station marker name (e.g. 'ALIC') + :return: True if the station is found in the BLQ file + """ + if not blq_path.exists(): + return False + + upper_marker = marker_name.upper() + # Match " XXXX" at start of line: 2 spaces + exact 4-char code, + # then verify the next character (if any) is whitespace to avoid + # false positives like "ALIC2" + entry_prefix = f" {upper_marker}" + prefix_len = len(entry_prefix) + try: + with blq_path.open('r', encoding='utf-8', errors='replace') as f: + for line in f: + if line.startswith("$$"): + continue + if line.upper().startswith(entry_prefix): + # Ensure the character after the marker (if present) is whitespace + if len(line) <= prefix_len or line[prefix_len].isspace(): + return True + except Exception as e: + Logger.console(f"⚠️ Error reading BLQ file {blq_path}: {e}") + + return False + + def _station_in_configured_blq_files(self, config_key: str, marker_name: str) -> bool: + """ + Check whether a station is present in any of the non-wildcard BLQ files + listed under the given YAML config key. + + Only checks concrete filenames from the config (not wildcard patterns like + '*_ocean.BLQ'), resolved relative to inputs_root. This ensures we only + validate against files that PEA will actually read. + + :param config_key: Dot-separated YAML key (e.g. 'inputs.tides.ocean_tide_loading_blq_files') + :param marker_name: 4-character station marker name (e.g. 'ALIC') + :return: True if the station is found in any configured non-wildcard BLQ file + """ + try: + keys = config_key.split(".") + node = self.config + for k in keys: + node = node[k] + except (KeyError, TypeError): + return False + + if not isinstance(node, (list, CommentedSeq)): + return False + + # Resolve inputs_root for building absolute paths + inputs_root = self.config.get("inputs", {}).get("inputs_root", "") + inputs_root = Path(str(inputs_root)) if inputs_root else INPUT_PRODUCTS_PATH + + for entry in node: + entry_str = str(entry).strip() + # Skip wildcard patterns - those will pick up generated files automatically + if "*" in entry_str or "?" in entry_str: + continue + + # Resolve the BLQ file path relative to inputs_root + blq_path = Path(inputs_root) / entry_str + if self._station_in_blq(blq_path, marker_name): + return True + + return False + + def ensure_loading_blq(self, marker_name: str, marker_number: str, + apriori_position: list, progress_callback=None, stop_requested=None): + """ + Ensure ocean and atmospheric tide loading BLQ files exist for the given station. + + Reads the BLQ file lists from the YAML config and checks only the + non-wildcard entries that PEA will actually use. If the station is not + found, downloads the loading grid netCDF files (if needed) and runs + interpolate_loading to generate station-specific BLQ files. + + :param marker_name: 4-character station marker name (e.g. 'ALIC') + :param marker_number: DOMES marker number (e.g. '50137M0014') or None + :param apriori_position: [X, Y, Z] ECEF coordinates in metres + :param progress_callback: Optional (description, percent) callback + :param stop_requested: Optional bool callback for cancellation + :raises RuntimeError: If interpolate_loading fails + """ + from scripts.GinanUI.app.models.dl_products import download_loading_grids + + if not marker_name or not apriori_position or all(v == 0.0 for v in apriori_position): + Logger.workflow("⚠️ Missing marker name or apriori position - skipping loading BLQ generation") + return + + # Check BLQ files that are actually referenced in the YAML config + ocean_present = self._station_in_configured_blq_files("inputs.tides.ocean_tide_loading_blq_files", marker_name) + atmos_present = self._station_in_configured_blq_files("inputs.tides.atmos_tide_loading_blq_files", marker_name) + + if ocean_present and atmos_present: + Logger.workflow(f"✅ Station '{marker_name}' already present in configured ocean and atmospheric loading BLQ files") + return + + # Locate the interpolate_loading binary + try: + loading_exec = get_interpolate_loading_exec() + except RuntimeError as e: + Logger.workflow(f"⚠️ {e} - skipping loading BLQ generation") + return + + # Download loading grid files if not already present + Logger.workflow("📥 Ensuring loading grid files are available...") + if progress_callback: + progress_callback("Downloading loading grids", 10) + download_loading_grids( + download_dir=TABLES_PRODUCTS_PATH, + progress_callback=progress_callback, + stop_requested=stop_requested, + ) + + if stop_requested and stop_requested(): + return + + ocean_grid = TABLES_PRODUCTS_PATH / "oceantide.nc" + atmos_grid = TABLES_PRODUCTS_PATH / "atmtide.nc" + + if not ocean_grid.exists() or not atmos_grid.exists(): + Logger.workflow("⚠️ Loading grid files not available - skipping loading BLQ generation") + return + + # Build the --code argument: 'ALIC 50137M0014' or just 'ALIC' + if marker_number: + station_code = f"{marker_name} {marker_number}" + else: + station_code = marker_name + + # Build XYZ location arguments from apriori_position + x, y, z = apriori_position + + # Generate ocean loading BLQ if needed + if not ocean_present: + if stop_requested and stop_requested(): + return + + ocean_output = INPUT_PRODUCTS_PATH / f"{marker_name}_ocean.BLQ" + Logger.workflow(f"🌊 Computing ocean tide loading for '{station_code}'...") + if progress_callback: + progress_callback("Computing ocean loading", 40) + + self._run_interpolate_loading( + loading_exec, "o", ocean_grid, station_code, x, y, z, ocean_output + ) + + if ocean_output.exists(): + Logger.workflow(f"✅ Ocean loading BLQ generated: {ocean_output.name}") + self._update_blq_config("inputs.tides.ocean_tide_loading_blq_files", + ocean_output.name) + else: + Logger.workflow("⚠️ Ocean loading BLQ file was not generated") + + # Generate atmospheric loading BLQ if needed + if not atmos_present: + if stop_requested and stop_requested(): + return + + atmos_output = INPUT_PRODUCTS_PATH / f"{marker_name}_atmos.BLQ" + Logger.workflow(f"🌬️ Computing atmospheric tide loading for '{station_code}'...") + if progress_callback: + progress_callback("Computing atmospheric loading", 70) + + self._run_interpolate_loading( + loading_exec, "a", atmos_grid, station_code, x, y, z, atmos_output + ) + + if atmos_output.exists(): + Logger.workflow(f"✅ Atmospheric loading BLQ generated: {atmos_output.name}") + self._update_blq_config("inputs.tides.atmos_tide_loading_blq_files", + atmos_output.name) + else: + Logger.workflow("⚠️ Atmospheric loading BLQ file was not generated") + + # Write BLQ config updates to disk (always allowed, even when yaml_overwrite is disabled) + if self.changes: + self.write_cached_changes() + + if progress_callback: + progress_callback("Loading BLQ complete", 100) + + def _run_interpolate_loading(self, loading_exec, loading_type: str, grid_path: Path, + station_code: str, x: float, y: float, z: float, output_path: Path): + """ + Execute the interpolate_loading binary for a single loading type. + + :param loading_exec: Path or name of the interpolate_loading executable + :param loading_type: 'o' for ocean or 'a' for atmospheric + :param grid_path: Path to the loading grid netCDF file + :param station_code: Station code string for --code (e.g. 'ALIC 50137M0014') + :param x: ECEF X coordinate + :param y: ECEF Y coordinate + :param z: ECEF Z coordinate + :param output_path: Path for the output BLQ file + :raises RuntimeError: If the subprocess returns a non-zero exit code + """ + command = [ + str(loading_exec), + "--type", loading_type, + "--grid", str(grid_path), + "--code", station_code, + "--xyz", + "--location", str(x), str(y), str(z), + "--output", str(output_path), + ] + + Logger.console(f"🚀 Running: {' '.join(command)}") + + try: + result = subprocess.run( + command, + capture_output=True, + text=True, + timeout=120, + ) + + if result.stdout: + for line in result.stdout.strip().splitlines(): + Logger.console(line) + + if result.returncode != 0: + stderr_msg = result.stderr.strip() if result.stderr else "No error output" + Logger.workflow(f"⚠️ interpolate_loading exited with code {result.returncode}: {stderr_msg}") + raise RuntimeError(f"interpolate_loading failed (exit code {result.returncode}): {stderr_msg}") + + except subprocess.TimeoutExpired: + Logger.workflow("⚠️ interpolate_loading timed out after 120 seconds") + raise RuntimeError("interpolate_loading timed out") + + def _update_blq_config(self, key_path: str, blq_filename: str): + """ + Append a generated BLQ filename to the existing BLQ file list in the YAML config. + + Does not add the filename if it is already present or if an existing + wildcard pattern already covers it. Preserves existing entries + (e.g. the global OLOAD_GO.BLQ / ALOAD_GO.BLQ and any wildcards). + + :param key_path: Dot-separated YAML key path (e.g. 'inputs.tides.ocean_tide_loading_blq_files') + :param blq_filename: New BLQ filename relative to inputs_root (e.g. 'ALIC_ocean.BLQ') + """ + import fnmatch + + try: + keys = key_path.split(".") + node = self.config + for k in keys[:-1]: + node = node[k] + final_key = keys[-1] + + existing = node.get(final_key) + + if isinstance(existing, CommentedSeq): + existing_strs = [str(item) for item in existing] + + # Skip if an existing wildcard pattern already covers this filename + for entry in existing_strs: + if fnmatch.fnmatch(blq_filename, entry): + return + + # Skip if the exact filename is already present + if blq_filename not in existing_strs: + existing.append(normalise_yaml_value(blq_filename)) + existing.fa.set_block_style() + self.changes = True + else: + # No existing list - create one with just the new file + new_seq = CommentedSeq([normalise_yaml_value(blq_filename)]) + new_seq.fa.set_block_style() + self.edit_config(key_path, new_seq, False) + except Exception as e: + Logger.workflow(f"⚠️ Failed to update BLQ config at {key_path}: {e}") def write_cached_changes(self): write_yaml(self.config_path, self.config) self.changes = False + #endregion + + #region PEA Processing Execution + + def _ensure_loading_before_pea(self): + """ + Check whether the station needs loading BLQ files generated and run + ensure_loading_blq() synchronously before PEA execution begins. + + When YAML overwrite is disabled, reloads the config from disk first so + that BLQ updates are applied on top of the user's manual edits rather + than the in-memory UI-applied config. + + Uses marker_name, marker_number, and apriori_position stored by + apply_ui_config() or set_loading_params() to ensure the correct + station is checked even when receiver_options contains keys from + previous runs. + """ + try: + marker_name = getattr(self, '_loading_marker_name', None) + marker_number = getattr(self, '_loading_marker_number', None) + apriori_position = getattr(self, '_loading_apriori_position', None) + + if not marker_name: + return + + if not apriori_position or all(v == 0.0 for v in apriori_position): + Logger.workflow("⚠️ No valid apriori position - skipping loading BLQ check") + return + + # When YAML overwrite is disabled, reload from disk so BLQ updates + # are applied on top of the user's manual edits + if not self.yaml_overwrite: + self.reload_config() + + def check_stop(): + return self._stop_event.is_set() + + self.ensure_loading_blq( + marker_name=marker_name, + marker_number=marker_number, + apriori_position=list(apriori_position), + stop_requested=check_stop, + ) + + except Exception as e: + Logger.workflow(f"⚠️ Loading BLQ pre-check failed (non-fatal): {e}") + def execute_config(self): """ If changes were made since last write, writes config, then executes pea with config. + Ensures ocean/atmospheric loading BLQ files are generated before PEA runs. All PEA output is logged to the console widget. + + When YAML overwrite is disabled, skips writing UI changes to the config file + but still allows BLQ updates via ensure_loading_blq(). """ # Check if executable is available if self.executable is None: @@ -426,10 +836,20 @@ def execute_config(self): # clear stop flag before each run self.reset_stop_flag() - if self.changes: + if self.changes and self.yaml_overwrite: self.write_cached_changes() self.changes = False + # Ensure loading BLQ files exist before PEA execution + self._ensure_loading_before_pea() + + # Reset yaml_overwrite back to default for next run + self.yaml_overwrite = True + + if self._stop_event.is_set(): + Logger.console("🛑 Execution stopped by user during loading BLQ generation") + return + command = [self.executable, "--config", str(self.config_path)] workdir = str(Path(self.config_path).parent) @@ -534,6 +954,10 @@ def stop_all(self): def reset_stop_flag(self): self._stop_event.clear() + #endregion + + #region Visualisation Plotting + def build_pos_plots(self, out_dir=None): """ Search for .pos and .POS files directly under outputs_root (not in archive/visual), @@ -559,31 +983,49 @@ def build_pos_plots(self, out_dir=None): pos_files = list(root.glob("*.pos")) + list(root.glob("*.POS")) if pos_files: - Logger.terminal(f"📂 Found {len(pos_files)} .pos files in {root}:") + Logger.workflow(f"📂 Found {len(pos_files)} .pos files in {root}:") for f in pos_files: - Logger.terminal(f" • {f.name}") + Logger.workflow(f" • {f.name}") else: - Logger.terminal(f"⚠️ No .pos files found in {root}") + Logger.workflow(f"⚠️ No .pos files found in {root}") + + # Separate forward and smoothed POS files into two groups + forward_pos = [f for f in pos_files if "_smoothed" not in f.stem.lower()] + smoothed_pos = [f for f in pos_files if "_smoothed" in f.stem.lower()] htmls = [] - for pos_path in pos_files: + + # Plot forward (regular) POS files as one unified set + if forward_pos: try: - base_name = pos_path.stem - save_prefix = out_dir / f"plot_{base_name}" + forward_paths = [str(f) for f in forward_pos] + save_prefix = out_dir / "plot_pos" + html_files = plot_pos_files( + input_files=forward_paths, + save_prefix=str(save_prefix) + ) + htmls.extend(html_files) + except Exception as e: + Logger.workflow(f"[plot_pos] ❌ Failed for forward pos files: {e}") + # Plot smoothed POS files as a separate unified set + if smoothed_pos: + try: + smoothed_paths = [str(f) for f in smoothed_pos] + save_prefix = out_dir / "plot_pos_smoothed" html_files = plot_pos_files( - input_files=[str(pos_path)], + input_files=smoothed_paths, save_prefix=str(save_prefix) ) htmls.extend(html_files) except Exception as e: - Logger.terminal(f"[plot_pos] ❌ Failed for {pos_path.name}: {e}") + Logger.workflow(f"[plot_pos] ❌ Failed for smoothed pos files: {e}") # Final summary if htmls: - Logger.terminal(f"✅ Generated {len(htmls)} plot(s) → saved in {out_dir}") + Logger.workflow(f"✅ Generated {len(htmls)} plot(s) → saved in {out_dir}") else: - Logger.terminal("⚠️ No plots were generated.") + Logger.workflow("⚠️ No plots were generated.") return htmls @@ -620,11 +1062,11 @@ def build_trace_plots(self, out_dir=None): trace_files = list(root.glob("*.TRACE")) + list(root.glob("*.trace")) if trace_files: - Logger.terminal(f"📂 Found {len(trace_files)} .TRACE files in {root}:") + Logger.workflow(f"📂 Found {len(trace_files)} .TRACE files in {root}:") for f in trace_files: - Logger.terminal(f" • {f.name}") + Logger.workflow(f" • {f.name}") else: - Logger.terminal(f"⚠️ No .TRACE files found in {root}") + Logger.workflow(f"⚠️ No .TRACE files found in {root}") return [] htmls = [] @@ -644,12 +1086,14 @@ def build_trace_plots(self, out_dir=None): ) htmls.extend(html_files) except Exception as e: - Logger.terminal(f"[plot_trace_res] ❌ Failed to generate trace plots: {e}") + Logger.workflow(f"[plot_trace_res] ❌ Failed to generate trace plots: {e}") # Final summary if htmls: - Logger.terminal(f"✅ Generated {len(htmls)} trace plot(s) → saved in {out_dir}") + Logger.workflow(f"✅ Generated {len(htmls)} trace plot(s) → saved in {out_dir}") else: - Logger.terminal("⚠️ No trace plots were generated.") + Logger.workflow("⚠️ No trace plots were generated.") + + return htmls - return htmls \ No newline at end of file + #endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/models/inspector.py b/scripts/GinanUI/app/models/inspector.py new file mode 100644 index 000000000..4818e0009 --- /dev/null +++ b/scripts/GinanUI/app/models/inspector.py @@ -0,0 +1,439 @@ +""" +GinanYAMLInspector model for Ginan-UI. + +Provides the data and I/O layer that creates the GinanYAMLInspector integration: +It ensures that the inspector's HTML asset exists (auto-generating it via "pea -Y 4" +when missing), builds the JavaScript that auto-imports the current config and +intercepts the inspector's "Save file" button via QWebChannel, sanitising the +YAML text emitted by the inspector, deep-merging it onto the existing +ppp_generated.yaml so keys the inspector does not know about are preserved, and +writing the result back to disk with a clean-write fallback when ruamel.yaml's +comment-preserving output cannot be re-parsed. + +The owning controller is responsible for all UI presentation, including +showing the inspector dialog and surfacing any errors raised here. +""" + +import re +import subprocess +from pathlib import Path +from ruamel.yaml import YAML as RuamelYAML +from scripts.GinanUI.app.utils.common_dirs import GENERATED_YAML, INSPECTOR_HTML_PATH +from scripts.GinanUI.app.utils.logger import Logger +from scripts.GinanUI.app.utils.yaml import load_yaml, write_yaml + + +class Inspector: + """ + Model for the GinanYAMLInspector integration. + + Exposes a small, controller-facing API: ensure the HTML asset exists, + read the current config text, build the JS that wires auto-import and the save intercept, + and merge / save the inspector output + + Arguments: + executable: Path-like to the PEA executable, used only when the inspector + HTML must be auto-generated via "pea -Y 4". Optional - if not + provided, ensure_inspector_html() will fail gracefully when + the HTML is missing. + """ + + def __init__(self, executable=None): + self.executable = executable + + #region Inspector HTML Generation + + def ensure_inspector_html(self) -> bool: + """ + Ensure the GinanYAMLInspector HTML file exists at INSPECTOR_HTML_PATH + + Attempts to generate it. If pea is not available or + the generation fails, logs a warning but does not raise - the caller must + check the return value and inform the user. + + Returns: + bool: True if the inspector HTML file exists (or was just generated). + """ + if INSPECTOR_HTML_PATH.exists(): + return True + + Logger.workflow("🔧 GinanYAMLInspector not found - Attempting to generate...") + + if self.executable is None: + Logger.workflow("⚠️ PEA executable not provided - cannot auto-generate GinanYAMLInspector HTML.") + return False + + try: + INSPECTOR_HTML_PATH.parent.mkdir(parents=True, exist_ok=True) + + # Run pea -Y which writes GinanYAMLInspector.html to the working directory + result = subprocess.run( + [str(self.executable), "-Y", "4"], + capture_output=True, + text=True, + cwd=str(INSPECTOR_HTML_PATH.parent), + timeout=30, + ) + + if result.returncode != 0: + Logger.workflow(f"⚠️ 'pea -Y 4' exited with code {result.returncode}: {result.stderr.strip()}") + + # pea writes GinanYAMLInspector.html into its working directory + generated = INSPECTOR_HTML_PATH.parent / "GinanYamlInspector.html" + if generated.exists(): + if generated != INSPECTOR_HTML_PATH: + generated.rename(INSPECTOR_HTML_PATH) + Logger.workflow(f"✅ GinanYAMLInspector HTML generated: {INSPECTOR_HTML_PATH}") + return True + + Logger.workflow("⚠️ 'pea -Y 4' ran but GinanYAMLInspector.html was not found in the output directory") + return False + + except FileNotFoundError: + Logger.workflow("⚠️ PEA executable not found - cannot auto-generate GinanYAMLInspector HTML") + return False + except subprocess.TimeoutExpired: + Logger.workflow("⚠️ 'pea -Y 4' timed out after 30 seconds - cannot auto-generate GinanYAMLInspector") + return False + except Exception as e: + Logger.workflow(f"⚠️ Failed to generate GinanYAMLInspector HTML: {e}") + return False + + #endregion + + #region Import Config to Inspector + + @staticmethod + def read_current_config() -> str: + """ + Read the current ppp_generated.yaml content for inspector auto-import + + Returns the raw YAML text, or an empty string if the file cannot be read + Failures are logged but never raised - the caller can still open the + inspector with an empty pre-load if reading the config fails + + Returns: + str: Raw YAML text from ppp_generated.yaml, or "" on any error + """ + try: + return GENERATED_YAML.read_text(encoding="utf-8") + except Exception as e: + Logger.workflow(f"⚠️ Could not read config for GinanYAMLInspector auto-import: {e}") + return "" + + #endregion + + #region JS Builder + + @staticmethod + def build_ginan_ui_js(yaml_content: str) -> str: + """ + Build the JavaScript that is injected into the GinanYAMLInspector page when it + is opened from Ginan-UI + + Two things are wired up: + 1. Auto-import - the current ppp_generated.yaml content is passed in as a JS + string and fed directly to the inspector's file-input change handler so the + inspector pre-populates its fields without requiring user interaction + 2. Save intercept - the "Save file" (#create) button's default download action + is replaced with a call to bridge.saveYaml() over QWebChannel, routing the + generated YAML text back to Python for merging and writing to disk + + The YAML content is embedded directly as a string literal rather than fetched + via file:// URL - this sidesteps Qt WebEngine's local-content security policy + which blocks cross-origin file:// fetches in practice + + Arguments: + yaml_content (str): The raw text of ppp_generated.yaml to pre-load + + Returns: + str: JavaScript source ready to pass to QWebEnginePage.runJavaScript() + """ + # Escape the YAML text so it is safe to embed inside a JS template literal + # Backticks, backslashes and ${...} are the only characters that need escaping + # inside a JS template literal + escaped_yaml = ( + yaml_content + .replace("\\", "\\\\") + .replace("`", "\\`") + .replace("${", "\\${") + ) + + js = f""" + (function() {{ + + // 1. Auto-import ppp_generated.yaml + var yamlText = `{escaped_yaml}`; + + function doImport() {{ + var input = document.getElementById("inputfile"); + if (!input) {{ + console.warn("GinanYAMLInspector (Ginan-UI): #inputfile not found, retrying..."); + setTimeout(doImport, 200); + return; + }} + var file = new File([yamlText], "ppp_generated.yaml", {{ type: "text/plain" }}); + var dt = new DataTransfer(); + dt.items.add(file); + input.files = dt.files; + input.dispatchEvent(new Event("change")); + console.log("GinanYAMLInspector (Ginan-UI): auto-imported ppp_generated.yaml"); + }} + doImport(); + + // 2. Intercept "Save file" → QWebChannel bridge + // qt.webChannelTransport is injected by Qt before the page loads (via + // QWebEnginePage.scripts()), so it is guaranteed to exist here + new QWebChannel(qt.webChannelTransport, function(channel) {{ + var bridge = channel.objects.bridge; + if (!bridge) {{ + console.warn("GinanYAMLInspector (Ginan-UI): bridge not found in QWebChannel"); + return; + }} + + var createBtn = document.getElementById("create"); + if (!createBtn) {{ + console.warn("GinanYAMLInspector (Ginan-UI): #create button not found"); + return; + }} + + // Use capture phase so this listener fires before the original download handler + createBtn.addEventListener("click", function(evt) {{ + evt.stopImmediatePropagation(); + evt.preventDefault(); + var textbox = document.getElementById("textbox"); + var yaml = textbox ? textbox.value : ""; + if (!yaml || yaml === "generated yaml file") {{ + alert('Please click "Generate yaml" first to produce the YAML content before saving.'); + return; + }} + bridge.saveYaml(yaml); + }}, true); + + console.log("GinanYAMLInspector (Ginan-UI): Save file button intercepted via QWebChannel"); + }}); + + }})(); + """ + return js + + #endregion + + #region YAML Transformations + + @staticmethod + def deep_merge(base: dict, override: dict) -> dict: + """ + Recursively merge *override* onto *base*, returning *base* modified in-place + + Keys present in *base* but absent from *override* are left untouched, which is + exactly the behaviour needed when merging a partial inspector export back onto + the full ppp_generated.yaml so that keys the inspector does not know about (e.g. + constellation blocks that were not checked, trace output flags, etc.) are preserved. + + Lists are replaced wholesale - the inspector always emits a complete list for any + key it writes, so element-level merging would produce duplicates. + + Arguments: + base (dict): The existing full config (will be mutated). + override (dict): The partial config from the inspector export. + + Returns: + dict: *base* after merging. + """ + for key, override_val in override.items(): + if key in base and isinstance(base[key], dict) and isinstance(override_val, dict): + Inspector.deep_merge(base[key], override_val) + else: + base[key] = override_val + return base + + @staticmethod + def fix_inspector_yaml(yaml_text: str) -> str: + """ + Pre-process the raw YAML text from the GinanYAMLInspector + + GinanYAMLInspector copies the values directly from its HTML input fields into the + generated YAML without adding quotes to them. Two classes of value break ruamel.yaml: + + 1. Wildcard glob patterns containing "*" (e.g. *.CLK, BRDC*, *_ocean.BLQ) + In YAML, a bare "*" is the alias indicator, so ruamel raises + "found undefined alias" when it encounters these unquoted + + 2. Trailing whitespace on lines, which can confuse ruamel's indentation + parser in certain edge cases + + Arguments: + yaml_text (str): Raw YAML string from the inspector textbox + + Returns: + str: Sanitised YAML string safe to pass to ruamel.yaml.load() + """ + # Strip trailing whitespace from every line + yaml_text = "\n".join(line.rstrip() for line in yaml_text.splitlines()) + + # Quote wildcard patterns in flow sequences: [*.CLK] -> ['*.CLK'] + def _quote_flow_wildcards(m): + items = m.group(1).split(',') + fixed = [] + for item in items: + s = item.strip() + if s and '*' in s and not (s.startswith('"') or s.startswith("'")): + s = f"'{s}'" + fixed.append(s) + return '[' + ', '.join(fixed) + ']' + + yaml_text = re.sub(r'\[([^\]]*\*[^\]]*)\]', _quote_flow_wildcards, yaml_text) + + # Quote wildcard patterns in block list items: " - *.CLK" -> " - '*.CLK'" + def _quote_block_wildcards(m): + indent, value = m.group(1), m.group(2) + if '*' in value and not (value.startswith('"') or value.startswith("'")): + value = f"'{value}'" + return f"{indent}- {value}" + + yaml_text = re.sub( + r'^(\s*)- (\S*\*\S*)$', + _quote_block_wildcards, + yaml_text, + flags=re.MULTILINE, + ) + + return yaml_text + + @staticmethod + def fix_written_yaml(yaml_text: str) -> str: + """ + Repair YAML text that ruamel.yaml has written incorrectly + + ruamel.yaml occasionally collapses a parent mapping key and its first child + onto a single line, e.g.: + + outputs: metadata: + config_description: ... + + instead of the correct: + + outputs: + metadata: + config_description: ... + + This produces "mapping values are not allowed here" when the file is + subsequently parsed. The fix splits any line that contains two mapping + keys separated by a space (i.e. "key1: key2:") into separate indented + lines, restoring the correct block-mapping structure + + Arguments: + yaml_text (str): YAML text as written by ruamel.yaml + + Returns: + str: Corrected YAML text + """ + fixed_lines = [] + for line in yaml_text.splitlines(): + # Detect lines of the form "key1: key2:" where key2 is itself + # a bare mapping key (no value after it, or only whitespace/comment) + # Pattern: optional spaces, plain-scalar key, ": ", another plain-scalar + # key ending with ":" and nothing else (or just a comment) + m = re.match( + r'^(\s*)([A-Za-z0-9_]+):\s+([A-Za-z0-9_]+):\s*(#.*)?$', + line + ) + if m: + outer_indent = m.group(1) + outer_key = m.group(2) + inner_key = m.group(3) + comment = m.group(4) or "" + inner_indent = outer_indent + " " + fixed_lines.append(f"{outer_indent}{outer_key}:") + fixed_lines.append(f"{inner_indent}{inner_key}:{(' ' + comment) if comment else ''}") + else: + fixed_lines.append(line) + return "\n".join(fixed_lines) + + #endregion + + #region Export Config from Inspector + + def merge_and_save(self, yaml_text: str) -> dict: + """ + Sanitise, merge, and write the inspector's YAML output to ppp_generated.yaml + + The inspector only emits keys that are checked in its UI, so a direct overwrite + would discard keys that Ginan-UI depends on (constellation blocks, trace flags, + etc.). Instead, the inspector output is deep-merged onto the existing + ppp_generated.yaml so unchecked / unknown keys are preserved + + After merging, the result is validated before being committed locally + If the comment-preserving write produces a file that ruamel cannot re-read + (such as a known ruamel edge case with certain comment / value combinations), a clean write + without comment preservation is used as a fallback so the save will always succeeds + + Arguments: + yaml_text (str): Raw YAML string produced by the inspector's "Generate yaml" step + + Returns: + dict: The merged config dict that was written to disk. The caller can use + this to repopulate UI fields if reloading from disk fails. + + Raises: + ValueError: If yaml_text is empty / whitespace-only, or if the inspector + output does not parse to a YAML mapping. + Exception: Any other failure during parse / merge / write / validate is + re-raised so the caller can surface it to the user. + """ + if not yaml_text or not yaml_text.strip(): + Logger.workflow("⚠️ GinanYAMLInspector returned empty YAML - saving aborted") + raise ValueError("Inspector returned empty YAML") + + # Pre-process the inspector output: quote wildcard glob patterns that + # would be misread as YAML aliases, and strip trailing whitespace. + sanitised_text = self.fix_inspector_yaml(yaml_text) + + # Parse the inspector output + _yaml = RuamelYAML() + inspector_data = _yaml.load(sanitised_text) + if not isinstance(inspector_data, dict): + raise ValueError("Inspector YAML did not parse to a mapping") + + # Load the existing full config so we can merge onto it + if GENERATED_YAML.exists(): + existing_data = load_yaml(GENERATED_YAML) + else: + existing_data = {} + + # Deep-merge: inspector values win, but keys absent from the inspector are kept + merged = self.deep_merge(existing_data, inspector_data) + + # Write with comment preservation and validate the result is re-parseable + # ruamel.yaml has an edge case where it collapses a parent key and its + # first child onto the same line (e.g. "outputs: metadata:"), producing + # a file that cannot be re-parsed. _fix_written_yaml detects and repairs + # this before we validate, so the corrected content is what ends up on disk + GENERATED_YAML.parent.mkdir(parents = True, exist_ok = True) + write_yaml(GENERATED_YAML, merged) + + # Read back, repair any collapsed-key lines, and rewrite + written_text = GENERATED_YAML.read_text(encoding = "utf-8") + fixed_text = self.fix_written_yaml(written_text) + if fixed_text != written_text: + GENERATED_YAML.write_text(fixed_text, encoding = "utf-8") + + # Validate the (possibly repaired) file is re-parseable + try: + load_yaml(GENERATED_YAML) + except Exception: + # Fall back: write a clean copy without ruamel's comment machinery + _clean_yaml = RuamelYAML() + _clean_yaml.default_flow_style = False + _clean_yaml.indent(mapping=4, sequence=4, offset=4) + _clean_yaml.width = 4096 + with GENERATED_YAML.open("w", encoding="utf-8") as f: + _clean_yaml.dump(dict(merged), f) + # Final validation — if this also fails, surface the error + load_yaml(GENERATED_YAML) + + Logger.workflow(f"✅ GinanYAMLInspector config saved to: {GENERATED_YAML}") + return merged + + #endregion diff --git a/scripts/GinanUI/app/models/rinex_extractor.py b/scripts/GinanUI/app/models/rinex_extractor.py index d1534e4b3..211c27146 100644 --- a/scripts/GinanUI/app/models/rinex_extractor.py +++ b/scripts/GinanUI/app/models/rinex_extractor.py @@ -1,12 +1,18 @@ +""" +Extracts metadata from RINEX observation files for use in Ginan-UI config generation. + +Parses RINEX v2, v3, and v4 headers to extract marker name, receiver and antenna +types, antenna offsets, approximate position, observation time window, data interval, +and per-constellation observation codes. Results are used to pre-populate the UI +and generate the PEA YAML config. +""" + import re from datetime import datetime -from pathlib import Path - from scripts.GinanUI.app.utils.logger import Logger from scripts.GinanUI.app.utils.yaml import load_yaml from scripts.GinanUI.app.utils.common_dirs import GENERATED_YAML - class RinexExtractor: def __init__(self, rinex_path: str): self.rinex_path = rinex_path @@ -46,6 +52,8 @@ def extract_rinex_data(self, rinex_path: str): } current_obs_system = None # Track the current system for continuation lines + #region Helper Functions + def format_time(year, month, day, hour, minute, second): """ Helper function to format the parameters into a usable time string for RNX extraction @@ -113,6 +121,8 @@ def extract_obs_types_v3(line: str, obs_data: str): # Some other system we don't care about (e.g., "S", "I") return (first_char, []) + #endregion + rinex_version = None previous_observation_dt = None epoch_interval = None @@ -120,16 +130,18 @@ def extract_obs_types_v3(line: str, obs_data: str): start_epoch = None end_epoch = None marker_name = None + marker_number = None receiver_type = None antenna_type = None antenna_offset = None apriori_position = None + # Read the RINEX file line and add each line to "lines" with open(rinex_path, "r", errors="replace") as f: lines = f.readlines() - i = 0 - n = len(lines) + i = 0 # Currently iterated upon RINEX line + n = len(lines) # Number of lines in RINEX file # ---------- Header ---------- while i < n: @@ -144,6 +156,7 @@ def extract_obs_types_v3(line: str, obs_data: str): pass if in_header: + #region Extract RINEX - v2 Header # ----- RINEX v2 header ----- if rinex_version and rinex_version < 3.0: if label == "# / TYPES OF OBSERV": @@ -186,6 +199,8 @@ def extract_obs_types_v3(line: str, obs_data: str): raw_marker = line[0:60].strip() # v2: first 4 chars are the station ID marker_name = raw_marker[:4] if len(raw_marker) >= 4 else raw_marker + elif label == "MARKER NUMBER": + marker_number = line[0:20].strip() or None elif label == "REC # / TYPE / VERS": receiver_type = line[20:40].strip() elif label == "ANT # / TYPE": @@ -212,6 +227,9 @@ def extract_obs_types_v3(line: str, obs_data: str): elif label == "END OF HEADER": in_header = False break + #endregion + + #region Extract RINEX - v3 / v4 Header # ----- RINEX v3/v4 header ----- else: if label == "SYS / # / OBS TYPES": @@ -266,6 +284,8 @@ def extract_obs_types_v3(line: str, obs_data: str): pass elif label == "MARKER NAME": marker_name = line[0:60].strip() + elif label == "MARKER NUMBER": + marker_number = line[0:20].strip() or None elif label == "REC # / TYPE / VERS": receiver_type = line[20:40].strip() elif label == "ANT # / TYPE": @@ -292,9 +312,12 @@ def extract_obs_types_v3(line: str, obs_data: str): elif label == "END OF HEADER": in_header = False break + + #endregion else: break # safety + # Check if we found the RINEX version in the header if rinex_version is None: raise ValueError("Could not determine RINEX version.") @@ -303,7 +326,9 @@ def extract_obs_types_v3(line: str, obs_data: str): r'^\s*\d{2,4}\s+\d{1,2}\s+\d{1,2}\s+\d{1,2}\s+\d{1,2}\s+[0-9.]' ) + # ---------- Body ---------- if rinex_version < 3.0: + # region Extract RINEX - v2 Body # ---------- RINEX v2 body ---------- # YY or YYYY MM DD hh mm ss.sssssss FLAG NSAT [SATLIST...] epoch_re = re.compile( @@ -362,8 +387,9 @@ def extract_obs_types_v3(line: str, obs_data: str): found_constellations.add(system_mapping[sys]) i = j - + #endregion else: + #region Extract RINEX - v3 / v4 Body # ---------- RINEX v3/v4 body ---------- while i < n: line = lines[i] @@ -410,6 +436,7 @@ def extract_obs_types_v3(line: str, obs_data: str): found_constellations.add(system_mapping[sys]) i = j + #endregion # ---------- Safety checks ---------- if not start_epoch: @@ -419,6 +446,7 @@ def extract_obs_types_v3(line: str, obs_data: str): if epoch_interval is None: raise ValueError("Epoch interval could not be determined") + #region Extract RINEX - v2 Type Conversion # ---------- RINEX v2 observation type conversion ---------- # Convert v2 obs types (C1, C2, P1, P2) to v3 codes using YAML config mappings if rinex_version and rinex_version < 3.0: @@ -468,6 +496,9 @@ def extract_obs_types_v3(line: str, obs_data: str): # Clean up temporary attribute if hasattr(self, '_v2_obs_types'): delattr(self, '_v2_obs_types') + #endregion + + #region Observation Codes Management # Cull observation types to only L-codes (converting C to L) def cull_observation_codes(obs_list): @@ -497,7 +528,7 @@ def cull_observation_codes(obs_list): # Return sorted list to maintain consistent order return sorted(list(l_codes)) - # Apply culling to all observation types (only for v3/v4 files) + # Apply culling to all observation types (only for v3 / v4 files) # For v2 files, codes are already converted to L-codes with correct priority order if not (rinex_version and rinex_version < 3.0): obs_types_by_system['G'] = cull_observation_codes(obs_types_by_system['G']) @@ -612,12 +643,16 @@ def reorder_by_priority(rinex_codes, priority_order): Logger.console(f"QZS (J): {obs_types_by_system['J']}") Logger.console("======================================================") + #endregion + + # Final RINEX extraction result return { "rinex_version": rinex_version, "start_epoch": start_epoch, "end_epoch": end_epoch, "epoch_interval": epoch_interval, "marker_name": marker_name, + "marker_number": marker_number, "receiver_type": receiver_type, "antenna_type": antenna_type, "antenna_offset": antenna_offset, diff --git a/scripts/GinanUI/app/resources/Yaml/default_config.yaml b/scripts/GinanUI/app/resources/Yaml/default_config.yaml index 1cbd0fb23..70fa52de3 100644 --- a/scripts/GinanUI/app/resources/Yaml/default_config.yaml +++ b/scripts/GinanUI/app/resources/Yaml/default_config.yaml @@ -10,8 +10,12 @@ inputs: gpt2grid_files: [tables/gpt_25.grd] #AUTO tides: - ocean_tide_loading_blq_files: [tables/OLOAD_GO.BLQ] #AUTO # Required if ocean loading is applied - atmos_tide_loading_blq_files: [tables/ALOAD_GO.BLQ] #AUTO # Required if atmospheric tide loading is applied + ocean_tide_loading_blq_files: #AUTO # Required if ocean loading is applied + - tables/OLOAD_GO.BLQ + - "*_ocean.BLQ" + atmos_tide_loading_blq_files: #AUTO # Required if atmospheric tide loading is applied + - tables/ALOAD_GO.BLQ + - "*_atmos.BLQ" ocean_pole_tide_loading_files: [tables/opoleloadcoefcmcor.txt] #AUTO # Required if ocean pole tide loading is applied snx_files: @@ -57,12 +61,15 @@ outputs: trace: level: 2 output_receivers: false - output_network: true #USER_SET + output_network: false #USER_SET receiver_filename: __.TRACE network_filename: __.TRACE output_residuals: true output_residual_chain: true output_config: true + sinex: + output: false #USER_SET + filename: __.SNX @@ -226,7 +233,6 @@ processing_options: enable: true lag: -1 # interval: 86400 - inverter: LDLT # Inverter to be used within the rts processor, which may provide different performance outcomes in terms of processing time and accuracy and stability filename: _.rts periodic_reset: # enable: true diff --git a/scripts/GinanUI/app/resources/assets/icons.qrc b/scripts/GinanUI/app/resources/assets/icons.qrc index ed16b18e8..063cc8f57 100644 --- a/scripts/GinanUI/app/resources/assets/icons.qrc +++ b/scripts/GinanUI/app/resources/assets/icons.qrc @@ -12,5 +12,11 @@ checkbox_unselected_hover.png checkbox_unselected_pressed.png checkbox_disabled.png + enlarge.png + enlarge_hover.png + enlarge_selected.png + open_in_browser.png + open_in_browser_hover.png + open_in_browser_selected.png diff --git a/scripts/GinanUI/app/resources/assets/icons_rc.py b/scripts/GinanUI/app/resources/assets/icons_rc.py index 0fe27ea1e..10e9dc951 100644 --- a/scripts/GinanUI/app/resources/assets/icons_rc.py +++ b/scripts/GinanUI/app/resources/assets/icons_rc.py @@ -6,6 +6,55 @@ from PySide6 import QtCore qt_resource_data = b"\ +\x00\x00\x02\xe6\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x000\x00\x00\x000\x08\x06\x00\x00\x00W\x02\xf9\x87\ +\x00\x00\x02\x9bIDATx\x01\xec\x99mN\xdb@\ +\x10\x86g9E\xd9K\xb4R+\xb5q\xfa\xa3\x95Z\ +\xa9j\xd6\x17\xe9%\x9a\x1e\xa2\xbdH\x9c\xb6\x12H\xf0\ +\x83\x10\x90@\x82K\x04N\xc12\x83\xd9\xe0\xc4\x9ee\ +&\xde\x10>le\xb5\xde\x8f\x99}\x9f\x1d\xc7k\xaf\ +\xb7\xe0\x89\x1f\x1d\xc0\xa6\x03\xd8E\xa0\x8b@\xcb\x19`\ +/!\x9b\xe5^\x9e\xdcP\xab\xc3fnh\x15cp\ +\xfeY\x00\xce\xe0\xb1\xd5\xbf4\x00?\x9e\x1d\x8eL=\ +\x15\xeaKhvX\x0c\xeb~F\x06\xc0\x8f5QV\ +F\xc0\x0cl\xe6\x0a\xcd\x00\x9a\xbe\xa5o3\xd0\xd8\x08\ +\x01\xaa\xb3\xb2\x1e\x88\xba\xf8\xea\x98<\x92\x08\x00\xc3\xed\ +\x16C\x9b\x16\xa2I|9&/<\xb4\x88\x00\xa8s\ +\xe9\xb0:+i \xda\x88']b\x00\xea\x9c\x1a\xa2\ +\xadx\xd2\xa4\x02 \x83T\x10)\xc4\x93\x1e5\x00\x19\ +5A\xbc\xea\xbb\xef\xd4&Ie\xdf\xea\xdd\x86n\xcf\ +\x05\xfe\xcf$\xd6\x8b}\x22\x00\xfe\x17\xfeqo\xd3\xa2\ +\x11\x95\xaa\x10W\xc6\x0f.'\xc5_\xaa\x97$\xeaK\ +6e\xdf\x98\xf8\xb8\x06\xb2g\x01P .4\xb4\xd8\ +\x14\xec\x22\x85}\x1c\x09!A\xe4L\x93\xc8\x86l\xc9\ +\x07g\x87m\xf7j`\x018\xa7\xcb\xf5$d\xb9N\ +Znc\x1b\xc6h\x0d\x10\x1cm*W\x00lJb\ +|\xdc\x0e >?\xebo\xed\x22\xb0\xfe9\x8e\x8f\xd0\ +E >?\xebo\xed\x22`\xb3\xfc\xc7\xaa\xf3\x5c>\ +\xd4\xadj]\xda\xb1\x11\xb07\xfb6\xb4w\xe3\xd8g\ +!\x9b\xe5g\xe8\xe67\xe6j\x08\x12\xbf\xe5\xcd\xd8F\ +\xde\xb1\xb1\x0d\xf7\x8e\xe2\x1aX\x00\x00\xf3\xf3.A\xed\ +\xb0\xbd\xfc\x04+_c\xa2\x9f\x0a\x22\x88'C\x80\xd8\ +\x9b]\x5c\x03\xe0\x11\x01\xc0V\xe6\xb7\xddsG`\xe0\ +m\xa5\xf9\x1c\xb7H\xfeT\xca\xd1\xd3\xf2!.\xcd\xeb\ +\xa9\x1a\x00g\xfe\xc0\x18\xf3~\xae\xd0\xc3)\x8a\x7f3\ +/\x0bO\xf0Q\xd9\xc1\xc2\x1eP,\x12\xbcS\x15\xc0\ +v?\xdf\xc3\x99\xef\x07w\xde\xfb\xe3\xd9t\xf4.\x94\ +\xb5y\x0a\x081\x80\xed\xb9\x1d\xe3\xe1\x13\x84\xc3\xc3\xe4\ +bZ|\x08\xc5U\xf3\xb6\x10\x22\x00\xdb\xcb\xff\x811\ +_\x82Ho`\x1fg\xfec(\xb7\xcd\xdb@\x88\x00\ +\xc0\xc0\xb7\xb9H\xefw/&\xa3\xcf\xf3r\xa2\x93&\ +\x08\x89k\x19@\xf0\xe4\xe1\xfflZ|\x0d\xc5\xd4y\ +\x1d\xe2\xfe\x11t\x00\x18\x09\xdb\xf8Q\xc2\xb1\x8b\x1d'\ +\xc1\xde,\x94\xf5\x8f(\x80\xeb\x02(\x0e\x1d\x80\xc2\xf1\ +Cu}\xbe\x00\xb885|\xc8h\xfa\xb8AuK\ +{G\x82\xe9\xc7\xeb\x1d\xf7|\xc8V\x968\x97\xcf7\ +\x02\x1c\xf1c\xab\xef\x22\xb0\xe9\x88<\xf9\x08\x5c\x03\x00\ +\x00\xff\xff\x22\xdf\xa1\x85\ +\x06\xb8\xb8\xca~\x1b&\x80~u\x0b\x97\xc5r\xa0\xde\ +V*\xc6\xc1\xc1d\x01p\x16\x8a\x15\x93\x00bU\x1e\ +\xf7M\x0e`%b\xf5\xc9\x81X\x95\xc7}o\xc9\x01\ +d\x1eW/\xea@6_\x94\xf6\x90D\x16\x03p\xc2\ +U\x01\xa0\x0a7\x06\x91&\x02\xe0\x04[\xf1\xa8Y\x0e\ +\x228\xc0\xb1xY\x88\xa0\x00\xb4x9\x88`\x00~\ +\xf12\x10A\x00\x8e\xc5\xeb=\x80^\xa2d7\xb6s\ +8\x13\xee;1\x18\xe0\x94\xf8z\xbb~D\xa9\xd8\xbb\ +\xb9\xf0\x10\x83\x01&\x93\xef7\x14i*\xbdwB\xdb\ +\x99\xc3\x91;\xd7B\xfc\xcf=\x8c\xe4\x8f\x07\x03|n\ +6?\xf5\xf4\xe1\xde'\x1e%!\x84\xcd\xb1\xb98\xdf\ +\xb7\x1f\x0c\xd0l\xbcZ\xfd:a\xcd'\xef[\x13k\ +r\xbc\x81\x8c\x800\x00\x8c\x8d\xa4B\x12\x80Te\xb9\ +\xeb&\x07\xb8\x95\x92\x8a\xbb\x0d\x072\xf6C\x8eE\xe9\ +\xabt\xd6\xfc\xc9\xc9Y\x0fM|k\xd9\xf3\xa4\x03J\ +\xc3\x07\x8c\xa4ui!\x01\xbev\xd53hx\x8d\xce\ +`44Z\x08!$\x80\x8d\xafwUq\xde]\xe9\ +\xb5\xbb\x84L\xb2\xf9\xb5-\xdb\x5cj\x9eq\xd7\xdbh\ +0\xcb\x91\xafN\x002kD'\x12@l3\x92\x03\ +\xb1\x1d\xf8\x03\x00\x00\xff\xff\xc1\x07\xa4\xe8\x00\x00\x00\x06\ +IDAT\x03\x00m%LpMa\xb1\x8e\x00\x00\ +\x00\x00IEND\xaeB`\x82\ \x00\x00\x01w\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -131,6 +214,97 @@ Z\x1f\xf9\x92\x88\xae\xeb\x1ey\x9e_\xb9\x05\x00X\x14\ \xa5>:\xd9HN\x8c\x13l%\x00\x00\x00\x00IE\ ND\xaeB`\x82\ +\x00\x00\x035\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x000\x00\x00\x000\x08\x06\x00\x00\x00W\x02\xf9\x87\ +\x00\x00\x02\xeaIDATx\x01\xecYm\x8a\xd4@\ +\x10\xedx\x9d\x89(((\xe8\x0f\x05\x05q=\xc2\x8c\ +\x07\xf0\x0aF\x1cq<\x82\x1e\xc0\xd9#\xb8*(\xe8\ +\x0f\x05\x05\x05\xc5\xd9\xf3\xb4\xaf\xde\xa6\x9bL:\x9dT\ +'3d?\xb2L\xa7\xab\xba\xbb\xde\xab\xd7\x95\x9dd\ +\x92K\xe6\x8c\xffM\x02\xc6.\xe0T\x81\xa9\x02\x03w\ + z\x0a\xe5\x8b\xc2\xaa\xdb\xbcX\xa6\xe6\x91#F\x8d\ +\x8f\x5cb\xf8Q\x01\xb1\x80\xd36~\xc1\x04\xd8\xech\ +\xb3^eA;\x5c%\x9fB\x1b\xc4\x048\xc06\xe0\ +H\xa9rZ\x052{\x90\xcf\x9f\xbdK!HYK\ +lp\xa4\xc4\xe8\x04Tw\x05\x04$JaQ\xac%\ +&\xb0\xfd\xd2*\xa7\x1f\x0c\x0d\x95\x80\xcd\xe1\xcbG[\ +\xa5\x05\x11\x09C\xbc^#\xc4\x02\xa6\x0fF\xf2\xe4\xf4\ +\x03qC%@\xc2\x09\x08`\xb1\xd9@Hb:\xfd\ +\x0f\xc4\x00\x96G\x00\x07\xb9\xfc@\xbb\xa1\x16 0\x04\ +\x06\x81\xd8l f\x02t\xd2\x0f\x8c\x05\x86\x8f\x046\ +9\xfc@\xb7\x91$@\xe0H\x00\x22\xb1\xd9\x90\x00\x13\ +\xa1\xa3?0\x06\xb1>\x02\x98\xc4\xf6\x03:#Y\x80\ +\xc0\x92\x08\x84b\xb3!\x91\xcb\x8b\xe2!m\xc5\x81k\ +\x11\xe3\x97\x02\x8b\x98~@o\xc4\x05X\xf3\xc2\xb8\xd6\ +\x80GB\x10\xcbTf\xcc\xc1\xbf\xf5\xea\xbd\xd8\x9a&\ +k%\x86k\x81A,:\xb5\x83\xe3\x97\xbe6\xe5\xdc\ +\xa8\x00^h\xe4b\x83\xe6\x16\xd7{!\x96D$\xa1\ +\xfa\x5c\x97/1\x12+\x18\xb1\xb5\x9a\x1c\xa2\x02b\xa0\ +\xf5qI\xa4>\xa6\xf5\x87\xc4:\x8e\xc1\x02\x1c\xd0X\ +}\x82\x80\xb1Rl\xe7\x9d\x04\xb4\xef\xcf\xfeg\xa7\x0a\ +\xec\x7f\x8f\xdb\x19\xa6\x0a\xb4\xef\xcf\xfeg\xa7\x0a\xcc\x1e\ +?}\xd2w\x9fyS\xd77\xb8\x8c\x8bV \x97\xe7\ +6e+\xd7\x06\x1d\x9e\xeb\xfc\xc9l\xf6\xba\x8f\x08I\ +\xde\x1as\x94\xb7\xfc\xc6\xceK~\xe9\x03\xf2r *\ +\xc0d\xe6\xb9o\xe5\xe2j\x07\xd0_\xf0\xaf\xa0\x99T\ +\x11.y\x89Ep\xfcAAG\x0e\x12\x1f\x17 \xb3\ +\x916[\x14? \xeeZe\xfa\xef\xf1\xdbWo*\ +~\xab\xc9\x9b8\xdcF\xfbE\xf8m\x90\xb7T\xc2\xaf\ +k0\x92\x05\xe4\xf3\xe2\x1bn\x83ox,k~\xe3\ +\xf9\xceU\xef+\x0d\xdeF\xef@D\x92\x00\x9c\xf3_\ +\xb0\xf3\xb7\x5c\x8e8\x87\x7f\xe2\x9e\xfd\xba\xf3S\xfb]\ +\x88P\x0b@\xf2\x9f\x90\xe0\x1d\xb4\x93\x8f5\xdf\x8f\xd7\ +\xab\x9b'N\xff\xe3P\x11*\x01\xb3y\xf1\x01)\xde\ +Cs\x9f\xaf\xd8\xf9\xdb\xce\x19\xda\x0f\x11\xa1\x12\x90e\ +\xe6A%\xc9\xcf8\xe7\xefV\xfc\x9d\x98M\x224\xc0\ +*\x01\x0e\xc8Z\xf3\x11\xc9\xdfw\xfe\xae\xfb@\x84\x82\ + I\x80T\x02\xff\x0b\xe1\x8b\x0f\x5cp\x14\x5c[K\ +\xf0m\xb6l\xc2\x92\xeb\xc2\xd6\xc2\x0e'I@\x07\xd6\ +(\xd3\xe7W\x00\xce\xf5\xf0E\x06^@4\x8e\xd7\x9f\ +\x1d)j\x81o\xb1e#V\x84#\x06y~+\x10\ +S|\xda\xc6\xa7\x0a\x8c]\x913_\x81\xff\x00\x00\x00\ +\xff\xff\x01\xe0\xe1\xd2\x00\x00\x00\x06IDAT\x03\x00\ +;2\x94p\xf3\x8f\x1b\x12\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x02*\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x000\x00\x00\x000\x08\x06\x00\x00\x00W\x02\xf9\x87\ +\x00\x00\x01\xdfIDATx\x01\xec\x99\xcdR\x830\ +\x10\xc7\x83\xc33\xf8\x12V\x1f\xc7\x93\xbc\x83\x9e\xad\x96\ +j\x9d\xf1\xa6\x8f\xe0\x0c\xde|\x1c\xf1\xee\x9d\xab\x87^\ +\x1c\xdc]\x0a\x83\xad\x9blIBp\x9a\x0e\x09a?\ +\x92\xff/\xdb\x19\x068R\xff\xfc\x17\x01B\x170V\ + V\xc0r\x07\xb4\x7f\xa1\xd3\xec\xfai\x96\xcd\xeb\x90\ +\x0d5\xe8\x18Y\x80\x93\xecfY\xab\xe4R\x97<\x86\ +\x0f5\xa0\x16n-\x16 Q\xf5-\x974\xb6=\xd1\ +ha\x01\xc6\x169t\xbd\x080t\xe7\x5c\xe5\x89*\ +P\x16\xab$D\x93@\x8a\x00$\x13\x85\x8a\x89\x00\xa1\ +v\xbe]7V\xa0\xdd\x89P\xe7X\x81P;\xdf\xae\ +{H\x15h\x99\xa7u\xf6Z\x81\xd9\xc5<\xc7\xe6\x13\ +\xd9\x1b\x00\x09O\xd4BA\xa3\xb1'\x0a/\x00$\x18\ +\x84w\x9aaL\xb6\xce\xe0n\xe0\x1c\x80\x84\x82\xe0\x1d\ +\x89`#\xdf\x8e\xc3\xce\xe0\x14\x80\x04\x82PV\x12\xf8\ +(\x86\x0d\xd8\xdf\xe1\x0c\x80\x84\x81@\xa3\x04\x88\xa1X\ +c\xa0,\xc0\x09\x00\x09\x02a\xbd%+U\xabew\ +\xdd\x8c\xab\xee\x1ab)\xa73\x0c\x1fX\x03\x90\x10\x10\ +\xd4\x93P\xc1\xc3\xcfq\xef\x9a\x86\x1b\x9bs\x08k\x80\ +\xaf4}$\x85M\xf7\xa7\xf8\xc6\xa5\xd46\xc4Vn\ +\x1b\xb6\xd7\xd9\x1a\xe0\xf3%_\x97\xeb\xb3\x14V\xd5\x8a\ +\x07?\x1d-\x04\xe6`.\x19-:k\x00Z\xfb\xed\ +\xfc{#\x8c.M\x1d\xc5B\x8e)N\xe2w\x03 \ +Y\xc9SL\x04\xf0\xb4\xb1\xe2ic\x05\xc4[\xe5)\ +\xf00* \xfe\xc0\x01\x0f0\xa6\x8d\xc6;\xb7t>\ +\xd3\x5c\xe8g+\x00\xef\xe4\x9f1`\x0aM\xa7\x85\x05\ +x/\x1e\xae\xe0\xeb\xc8]h\x00\xd4\x80Z8\x1d,\ +\x00&|\x14\xf7\x0b\xb8k\xca\xdfL\xbf\xaer\xccS\ +\xd0\x950\xeera\x0c&:~\xd9\x05o\xbdQ\x03\ +%2\x9d\x16\x80\xc9\x99\x949\x02\x84.G\xac@\xe8\ +\x0a\xfc\x00\x00\x00\xff\xff\x03Z\xfc\xa4\x00\x00\x00\x06I\ +DAT\x03\x00u\xf6Hp3o\x80\x93\x00\x00\x00\ +\x00IEND\xaeB`\x82\ \x00\x00\x02\xf5\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -245,6 +419,42 @@ \xa7H\xe1\x94\x11\xb8\xc5\x8e\xaa\xa5\xe2>\xb6\x04A\x10\ }\x05c\x9f\xc3]\xf0\xc1*\x5c\xab\x9f\x00\x00\x00\x00\ IEND\xaeB`\x82\ +\x00\x00\x02\x1c\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x000\x00\x00\x000\x08\x06\x00\x00\x00W\x02\xf9\x87\ +\x00\x00\x01\xd1IDATx\x01\xec\x99MN\xc30\ +\x10\x85\x9d\x8a\x1d{\x0e\x00\x5c\x86\x1e\x82^\x01.@\ +[V\xec\xe0\x08\x94m\xf7e\xcbA(b\xdf}\xc5\ +\x06\x82\x9f\x9b\x91\xa2\x88\xb1\x87\xd8\xaeSu\xa2\xc4?\ +\xe3\x19\xfb{3\x95\xa2\xb6#s\xe0\x97\x0a(]@\ +\xad\x80V 2\x03\xde\x8f\xd0\xe5\xd5\xe4\xf1b<\xa9\ +K>`\xf0id\x05\xd8\xc0y]\x99\x1bS\xf8\x02\ +\x03X8\x0cV\x80\x0d\xbc\xe3\x82\xf6m\xf7\xb1\xb0\x02\ +\xf6\x0d\xd9\xf7<\x15\xd07s\xa9\xe2D\x15X\xaf\x16\ +U\x89G\x22R$@\xb2Q)\x1f\x15P*\xf3t\ +\xaeV\x802Q\xaa\xd7\x0a\x94\xca<\x9d{L\x15 \ +\xcd\xc3\xea\xb3V\xe0||=\xc3\x93Sr6\x01\x00\ +\xafL5\xc5\x83q.\x11Y\x04\x00\x18\xe0\x04\x8d1\ +l4O\xd9'\x17\x00P\x00w!a\xc3Z\xd7\x1e\ +;O*\x00\x80\x00\xe5\xa0\xb0\x06\x1fn\xbd\x8f=\x99\ +\x00\x80\x010\x04\x01\x1f\xf8\x86\xfc\xa4\xebI\x04\x00\x08\ +`\xadC7\xb5\xa9\xe74o\xc6\x1b\x9a\xc3\x1714\ +\x8f\xe9\xa3\x05\x00\x04@-\x88\x8d\xfd\xf2s\xd6\x9a\xbb\ +acK.\x22Z\xc0\xcfv\xf4\xe0\x08w\xcd\x9f\xf0\ +\xbb%c\xba\x22:\xb1\xe4\xf6\xaf>Z\xc0\xe7\xdb\xf3\ +\xd7\xfat{bO\xf5\xc2\xdbuw\x93\x08\xc4 \xd6\ +\x19#\x9ah\x01\xee\xec\xe5\xf2\xbb\x01s\xd3P\xe3|\ +mL\xc8O\xb2\x9eF\x80\xe4\xa4L>* Sb\ +\xc5\xdbj\x05\xc4\xa9\xca\xe4x\x1c\x15\x90\xfe\xc1\x81\xb7\ +r(\xd1\xf0\x91\xee\x17\xda\x0b\xebl\x05\xaa\xda<\x99\ +\x81\x5c>\x16V\xc0\xfb\xeb\xe2\xd6\x06\xde\x97\xd6\x00\x06\ +\xb0p\x1c\xac\x00\x04\xd8\xc0\xa9}k\x8a\x7f\x99\xfeX\ +\xbd\xcc\x10gl\x831\xc5blM\xee\xc6\x98\xec\x92\ +\x1e\x0c.\x90i\xbc\x02\x98\x98A\x99U@\xe9rh\ +\x05JW\xe0\x17\x00\x00\xff\xff>\xfcgK\x00\x00\x00\ +\x06IDAT\x03\x003\x0dLpP\xed\xdeG\x00\ +\x00\x00\x00IEND\xaeB`\x82\ \x00\x00\x01[\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -393,6 +603,55 @@ \x9b\xa5{\xbd\x19\xb9$::\x820V:[w\xd4\ \xd4#\x11\xd1W\x119\x03\xa9\xde<9{\x14\x92\x1c\ \x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\xe3\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x000\x00\x00\x000\x08\x06\x00\x00\x00W\x02\xf9\x87\ +\x00\x00\x02\x98IDATx\x01\xecY\xddN\xdb0\ +\x14vx\x94\xb2\xfbM\xda\xa4M\xda.6i\x93\xba\ +v\xcf0z\xbd\x97\x18{\x88\xed\xba\xec\x19\xd6\x824\ +$\xb8\x00\x09$\x90\xe0\x1e\xfa(\x98\xef\x0b\xb6H\x13\ +\x9f\xf48N\x15~R\xf9\xc49\xf6\xf9\xf9>\x1f\x13\ +\xe2v\xc3<\xf2OO\xa0\xeb\x02\xf6\x15\xe8+\x90\xb8\ +\x02\xe2\x16\xda\x1cmY\xad\x0cF\xdf\xb7cq\xd0G\ +\x1b\x9fvR|\x91\x80\xe4\xf0\xd0\xc6\x9f\x1d\x81\xd9\xf5\ +|'+\xcbb\xfe7z\x0b\xd1\xa7\x1c\x87:*<\ +\x83\xa8[l\x05\xc6\xd8\x8f\xff\xd4\xd1#\x0d]\xecq\ +\x8c\x9b\x96@qU\xd6B\x22\x00\xbe\x98S\xe4\xa4\x22\ +\x80\xd2~C\x84b\xc0VI\x84\xc0\xbb\x9cH[\xdf\ +T\x04\x18\xc2\x05l\x9dD\x0ax\xe2R\x13\xa0q\xdb\ +$R\xc1\x13S\x14\x01:\xb4E\xa2\x0d\xf0\xc4\x13M\ +\x80N!\x12\x83\xe1d\xc49\x8d8\xdb\xe2\xd3\x86\x8f\ +g\xfe\x9di\xdc\x97lD\x02\xd6\xd8_^\x96<\x9c\ +R$ao\xb2\xf1bo:wS+;\xda\xd2\xc7\ +\x19\x8a\xe0}~\xf6\xce\xb6\xd2\x89\x04\xf8\x8f\xc6K\xc5\ +\xcb\x0d\x90\x04\x81\x10\x90\x1bRw\xf4\xa1/cHN\ +>?{\xc9F$ 9\x94\xc7\x09\xa4<\xa6\xd5S\ +|}\x8ed\x02>PW}\x04\x81\xae \xd6\xe7\xed\ +\x09\xd4\xaf\xcf\xfag\xfb\x0a\xac\x7f\x8d\xeb3\xf4\x15\xa8\ +_\x9f\xf5\xcf\xf6\x15x1\x9e\xfch\xba\xce\xee\xa5\xae\ +\xa9{\xee'V\x80\xdf\xdbx\xc9-\x03\x97\xc1hr\ +a\xad\xfd\xdd\x84\x04\xc1g\x1bv\xe6^\xab\x03\xd1\x8d\ +\xf1\xf9\xd9\x07\x0d0(\x12\xc8L\xf6\xd3\x0b\xec*\x0d\ +\x89\xcf2c_r\x22\x96\x84\x07O_\x88x<\xf5\ +\xf9\xd9\xc3.\xd8D\x02Ak7\x88\x159\xc1\xedk\ +H\xde\xac\xc9.\xaff\xd3?\xb9\xa2\xb8\xb8\x97\xb8V\ +\x8e\xa7\xd1\x04\xb0\xf2GX\x91\xb7\x05\x9c\xe7\x8b\xf9\xf4\ +UAW\xdd\xba\xd7\xe8d\x12Q\x046\xbfn\x1d\x00\ +\xdd{H\xdep\xd08\x05\x907\xb9\xd2\xe0\x02_\x9e\ +\xc2\x92H\xa8\x09`\xe5\xff\x9b\xcc|4\xf7\x9fc\x1c\ +4\xde\xdd\xab\xcd\xeeRI\xa8\x08\x00\xfc.\xe0}\x86\ +\xdc5k\x0e\x91\xf8\xc3\x9d\x92~E\xac\xc6\x95P\x11\ +\x00\xc4!\xc4\xb7\xfd\xeb\xdd\x9dO^i\xab\x0f\x91\xd0\ +\xc4\xd6\x12\xf0\xb1\xf6\x90\xe8\x8bW\xda\xee\x11\xbb\x5c\x89\ +\x95)b\x09\x0c\xb1\x9d*?|\xe0\xb1\xba\xbd2S\ +\xc9\x80>\xa1X0+~\xdd\x02\xb5\xbe\xc5\x12\xa8\x8f\ +\xd6\xc1\xec\xd3%\x80\xfdX\xf9!C\x1a\xc3\xe3ty\ +\x0b)*A\x1f)^h\x5c\x0a\xf9t+ 1~\ +h\xe3}\x05\xba\xae\xc8\xa3\xaf\xc0-\x00\x00\x00\xff\xff\ +qvn\x8a\x00\x00\x00\x06IDAT\x03\x00\x0f\x8f\ +yp\xaa\x90\x94\x06\x00\x00\x00\x00IEND\xaeB\ +`\x82\ \x00\x00\x01p\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -425,6 +684,11 @@ \x00\x06\xfa^\ \x00i\ \x00c\x00o\x00n\ +\x00\x14\ +\x03-\x00\xe7\ +\x00e\ +\x00n\x00l\x00a\x00r\x00g\x00e\x00_\x00s\x00e\x00l\x00e\x00c\x00t\x00e\x00d\x00.\ +\x00p\x00n\x00g\ \x00\x11\ \x06$\x0d\x87\ \x00h\ @@ -434,11 +698,25 @@ \x04\xa9\xf2'\ \x00h\ \x00e\x00l\x00p\x00_\x00h\x00o\x00v\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x1c\ +\x00\xad1\x87\ +\x00o\ +\x00p\x00e\x00n\x00_\x00i\x00n\x00_\x00b\x00r\x00o\x00w\x00s\x00e\x00r\x00_\x00s\ +\x00e\x00l\x00e\x00c\x00t\x00e\x00d\x00.\x00p\x00n\x00g\ \x00\x15\ \x07Sl\xa7\ \x00c\ \x00h\x00e\x00c\x00k\x00b\x00o\x00x\x00_\x00d\x00i\x00s\x00a\x00b\x00l\x00e\x00d\ \x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x08\x10\xf2G\ +\x00e\ +\x00n\x00l\x00a\x00r\x00g\x00e\x00.\x00p\x00n\x00g\ +\x00\x13\ +\x08\xc7nG\ +\x00o\ +\x00p\x00e\x00n\x00_\x00i\x00n\x00_\x00b\x00r\x00o\x00w\x00s\x00e\x00r\x00.\x00p\ +\x00n\x00g\ \x00\x08\ \x0c3Z\x87\ \x00h\ @@ -453,6 +731,11 @@ \x00c\ \x00h\x00e\x00c\x00k\x00b\x00o\x00x\x00_\x00s\x00e\x00l\x00e\x00c\x00t\x00e\x00d\ \x00_\x00p\x00r\x00e\x00s\x00s\x00e\x00d\x00.\x00p\x00n\x00g\ +\x00\x19\ +\x0dI\x9b\xa7\ +\x00o\ +\x00p\x00e\x00n\x00_\x00i\x00n\x00_\x00b\x00r\x00o\x00w\x00s\x00e\x00r\x00_\x00h\ +\x00o\x00v\x00e\x00r\x00.\x00p\x00n\x00g\ \x00\x1d\ \x05\xf8\xd7\x07\ \x00c\ @@ -478,6 +761,11 @@ \x00c\ \x00h\x00e\x00c\x00k\x00b\x00o\x00x\x00_\x00u\x00n\x00s\x00e\x00l\x00e\x00c\x00t\ \x00e\x00d\x00_\x00p\x00r\x00e\x00s\x00s\x00e\x00d\x00.\x00p\x00n\x00g\ +\x00\x11\ +\x0c\xc2\xa3\xa7\ +\x00e\ +\x00n\x00l\x00a\x00r\x00g\x00e\x00_\x00h\x00o\x00v\x00e\x00r\x00.\x00p\x00n\x00g\ +\ \x00\x17\ \x04\x93\xc8\x07\ \x00c\ @@ -488,31 +776,43 @@ qt_resource_struct = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x12\x00\x00\x00\x02\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x0a_\ +\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x08\xd5\ +\x00\x00\x01\x9c\xbc\x1d\xae\x13\ +\x00\x00\x01R\x00\x00\x00\x00\x00\x01\x00\x00\x14\xaf\ \x00\x00\x01\x9b\x8b|\xd9\x1d\ -\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x00\x15E\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x9c\xbc\x1d\xdcr\ +\x00\x00\x02\xfe\x00\x00\x00\x00\x00\x01\x00\x00!\xb5\ \x00\x00\x01\x9b\x8b\x7f\x84`\ -\x00\x00\x02V\x00\x00\x00\x00\x00\x01\x00\x00\x16\xa6\ +\x00\x00\x03j\x00\x00\x00\x00\x00\x01\x00\x00%\xfd\ \x00\x00\x01\x9b\x8b|\xb8I\ -\x00\x00\x006\x00\x00\x00\x00\x00\x01\x00\x00\x02\xf4\ +\x00\x00\x00d\x00\x00\x00\x00\x00\x01\x00\x00\x05\xde\ \x00\x00\x01\x9c/\xcb\xb2\x98\ -\x00\x00\x01 \x00\x00\x00\x00\x00\x01\x00\x00\x0e\x17\ +\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x87\ \x00\x00\x01\x9b\x8b}Y\x86\ -\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00<\x00\x00\x00\x00\x00\x01\x00\x00\x02\xea\ \x00\x00\x01\x9c/\xcb\xa4\x8b\ -\x00\x00\x00X\x00\x00\x00\x00\x00\x01\x00\x00\x05\xeb\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xd4\ \x00\x00\x01\x9b\x8b|\xd9\x1d\ -\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x0b\xda\ +\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x16*\ \x00\x00\x01\x9b\x8b\x7f\xec\x90\ -\x00\x00\x01`\x00\x00\x00\x00\x00\x01\x00\x00\x0fv\ +\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x0cO\ +\x00\x00\x01\x9c\xbc\x10\xa6\xa7\ +\x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x88\ +\x00\x00\x01\x9c\xbc\x1b#\x8f\ +\x00\x00\x02L\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xe6\ \x00\x00\x01\x9b\x8b|\x97\x0f\ -\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x13\xc5\ +\x00\x00\x02\xb8\x00\x00\x00\x00\x00\x01\x00\x00 5\ \x00\x00\x01\x9b\xc3\xf0\x1b\xf5\ -\x00\x00\x00\x88\x00\x00\x00\x00\x00\x01\x00\x00\x07f\ +\x00\x00\x01<\x00\x00\x00\x00\x00\x01\x00\x00\x11\xb6\ \x00\x00\x01\x9c/\xcb\xbe\x9e\ -\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x00\x11\xbb\ +\x00\x00\x03B\x00\x00\x00\x00\x00\x01\x00\x00#\x16\ +\x00\x00\x01\x9c\xbc\x10\xd2\xeb\ +\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x00\x18g\ +\x00\x00\x01\x9c\xbc\x1b?\x03\ +\x00\x00\x02|\x00\x00\x00\x00\x00\x01\x00\x00\x1e+\ \x00\x00\x01\x9b\x8b}\x1f{\ " diff --git a/scripts/GinanUI/app/utils/cddis_email.py b/scripts/GinanUI/app/utils/cddis_connection.py similarity index 90% rename from scripts/GinanUI/app/utils/cddis_email.py rename to scripts/GinanUI/app/utils/cddis_connection.py index 3408e8ac4..d5da3fdc8 100644 --- a/scripts/GinanUI/app/utils/cddis_email.py +++ b/scripts/GinanUI/app/utils/cddis_connection.py @@ -1,15 +1,9 @@ -# app/utils/cddis_email.py """ -Utilities for managing the EMAIL used by the CDDIS flow and for quick connectivity/auth checks. +Utilities for managing the EMAIL used by the CDDIS flow and for quick connectivity / authentication checks. -This module is used by the UI credential flow to: - • Read/Write the EMAIL value (env var first, then a local CDDIS.env file). - • Derive the email/username from `.netrc/_netrc` when the user only saved Earthdata credentials. - • Test connectivity to cddis.nasa.gov and verify Earthdata authentication via requests. - -Notes: - - This module does not present UI; it is called by UI dialogs/controllers. - - File locations are platform-aware and compatible with Windows/macOS/Linux. +Handles reading and writing the EMAIL credential (from env var or CDDIS.env), deriving +the username from .netrc / _netrc, and testing connectivity and Earthdata authentication +against cddis.nasa.gov """ from __future__ import annotations @@ -24,9 +18,8 @@ ENV_FILE = Path(__file__).resolve().parent / "CDDIS.env" EMAIL_KEY = "EMAIL" -# ------------------------------ -# Select the .netrc/_netrc path (for compatibility with different implementations) -# ------------------------------ +#region .NETRC / _NETRC Handling + def _pick_netrc() -> Path: """ Select a `.netrc`-style credential file path to use. @@ -59,6 +52,32 @@ def _pick_netrc() -> Path: return Path(os.environ.get("USERPROFILE", str(Path.home()))) / ".netrc" return Path.home() / ".netrc" +def get_netrc_auth() -> tuple[str, str] | None: + """ + Retrieve (username, password) from `.netrc/_netrc` for Earthdata auth. + + Returns: + tuple[str, str] | None: (username, password) if found; otherwise None. + + Example: + >>> creds = get_netrc_auth() # doctest: +SKIP + >>> creds is None or isinstance(creds, tuple) + True + """ + p = _pick_netrc() + if not p.exists(): + return None + n = netrc.netrc(p) + for host in ("cddis.nasa.gov", "urs.earthdata.nasa.gov"): + auth = n.authenticators(host) + if auth and auth[0] and auth[2]: + return (auth[0], auth[2]) + return None + +#endregion + +#region .NETRC / _NETRC Account Information Handling + def read_email() -> str | None: """ Read the EMAIL used by CDDIS utilities. @@ -159,27 +178,9 @@ def ensure_email_from_netrc(prefer_host: str = "urs.earthdata.nasa.gov") -> Tupl write_email(user) return True, user -def get_netrc_auth() -> tuple[str, str] | None: - """ - Retrieve (username, password) from `.netrc/_netrc` for Earthdata auth. +#endregion - Returns: - tuple[str, str] | None: (username, password) if found; otherwise None. - - Example: - >>> creds = get_netrc_auth() # doctest: +SKIP - >>> creds is None or isinstance(creds, tuple) - True - """ - p = _pick_netrc() - if not p.exists(): - return None - n = netrc.netrc(p) - for host in ("cddis.nasa.gov", "urs.earthdata.nasa.gov"): - auth = n.authenticators(host) - if auth and auth[0] and auth[2]: - return (auth[0], auth[2]) - return None +#region CDDIS Connectivity def test_cddis_connection(timeout: int = 15) -> tuple[bool, str]: """ @@ -216,5 +217,8 @@ def test_cddis_connection(timeout: int = 15) -> tuple[bool, str]: return True, f"AUTH OK, took {time.perf_counter() - start_time:.3f} seconds" return False, f"HTTP {resp.status_code} or login page returned" +#endregion + +# Test CDDIS connection if __name__ == "__main__": print(test_cddis_connection()) \ No newline at end of file diff --git a/scripts/GinanUI/app/utils/cddis_credentials.py b/scripts/GinanUI/app/utils/cddis_credentials.py index 056050472..c9de4b99f 100644 --- a/scripts/GinanUI/app/utils/cddis_credentials.py +++ b/scripts/GinanUI/app/utils/cddis_credentials.py @@ -1,24 +1,33 @@ -# app/utils/cddis_credentials.py +""" +Utilities for saving and validating Earthdata credentials in .netrc/_netrc. + +Writes login credentials for urs.earthdata.nasa.gov and cddis.nasa.gov to the +appropriate credential file for the current platform, and validates that those +credentials are present and well-formed +""" + from __future__ import annotations import os, platform, stat, shutil from pathlib import Path import netrc +# Constants URS = "urs.earthdata.nasa.gov" CDDIS = "cddis.nasa.gov" -def _win_user_home() -> Path: +def _write_text_secure(p: Path, content: str) -> None: """ - Return the Windows user home path. - - Returns: - Path: Path to the current user's home directory on Windows; falls back to Path.home() if env var is missing. + Write text to a file, applying secure permissions on non-Windows. - Example: - >>> isinstance(_win_user_home(), Path) - True + Arguments: + p (Path): Target file path. + content (str): File content to write (UTF-8). """ - return Path(os.environ.get("USERPROFILE", str(Path.home()))) + p.write_text(content, encoding="utf-8") + if not platform.system().lower().startswith("win"): + os.chmod(p, stat.S_IRUSR | stat.S_IWUSR) # 0600 + +#region .NETRC / _NETRC Handling def netrc_candidates() -> tuple[Path, ...]: """ @@ -32,21 +41,9 @@ def netrc_candidates() -> tuple[Path, ...]: ('...netrc',) or ('...netrc', '_netrc') """ if platform.system().lower().startswith("win"): - return (_win_user_home() / ".netrc", _win_user_home() / "_netrc") + return (_win_user_home() / ".netrc", _win_user_home() / "_netrc") # Windows is not consistent return (Path.home() / ".netrc",) -def _write_text_secure(p: Path, content: str) -> None: - """ - Write text to a file, applying secure permissions on non-Windows. - - Arguments: - p (Path): Target file path. - content (str): File content to write (UTF-8). - """ - p.write_text(content, encoding="utf-8") - if not platform.system().lower().startswith("win"): - os.chmod(p, stat.S_IRUSR | stat.S_IWUSR) # 0600 - def save_earthdata_credentials(username: str, password: str) -> tuple[Path, ...]: """ Save Earthdata credentials for both URS and CDDIS hosts. @@ -74,19 +71,6 @@ def save_earthdata_credentials(username: str, password: str) -> tuple[Path, ...] os.environ["NETRC"] = str(written[0]) return tuple(written) -def _ensure_windows_mirror() -> None: - """ - Ensure .netrc exists by mirroring _netrc on Windows if necessary. - """ - if not platform.system().lower().startswith("win"): - return - dot, under = _win_user_home() / ".netrc", _win_user_home() / "_netrc" - if under.exists() and not dot.exists(): - try: - shutil.copyfile(under, dot) - except Exception: - pass - def validate_netrc(required=(URS, CDDIS)) -> tuple[bool, str]: """ Validate presence and completeness of Earthdata credentials. @@ -116,4 +100,36 @@ def validate_netrc(required=(URS, CDDIS)) -> tuple[bool, str]: os.environ["NETRC"] = str(p) return True, str(p) except Exception as e: - return False, f"invalid netrc {p}: {e}" \ No newline at end of file + return False, f"invalid netrc {p}: {e}" + +#endregion + +#region Windows OS Helper Functions + +def _ensure_windows_mirror() -> None: + """ + Ensure .netrc exists by mirroring _netrc on Windows if necessary. + """ + if not platform.system().lower().startswith("win"): + return + dot, under = _win_user_home() / ".netrc", _win_user_home() / "_netrc" + if under.exists() and not dot.exists(): + try: + shutil.copyfile(under, dot) + except Exception: + pass + +def _win_user_home() -> Path: + """ + Return the Windows user home path. + + Returns: + Path: Path to the current user's home directory on Windows; falls back to Path.home() if env var is missing. + + Example: + >>> isinstance(_win_user_home(), Path) + True + """ + return Path(os.environ.get("USERPROFILE", str(Path.home()))) + +#endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/utils/common_dirs.py b/scripts/GinanUI/app/utils/common_dirs.py index b3601370d..8fed946a2 100644 --- a/scripts/GinanUI/app/utils/common_dirs.py +++ b/scripts/GinanUI/app/utils/common_dirs.py @@ -1,3 +1,11 @@ +""" +Defines common directory and file path constants used throughout Ginan-UI. + +Resolves paths correctly for both development mode and PyInstaller-bundled +distributions, exposing constants for the template YAML, generated YAML, +input products directory, and user manual +""" + import sys from pathlib import Path @@ -20,8 +28,12 @@ def get_user_manual_path(): # Running in development mode - __file__ is in app/utils/ return Path(__file__).parent.parent.parent / "docs" / "USER_MANUAL.md" +# Project filepath constants +# Used to build relative file paths on the user's system BASE_PATH = get_base_path() TEMPLATE_PATH = BASE_PATH / "resources" / "Yaml" / "default_config.yaml" GENERATED_YAML = BASE_PATH / "resources" / "ppp_generated.yaml" INPUT_PRODUCTS_PATH = BASE_PATH / "resources" / "inputData" / "products" -USER_MANUAL_PATH = get_user_manual_path() \ No newline at end of file +TABLES_PRODUCTS_PATH = INPUT_PRODUCTS_PATH / "tables" +USER_MANUAL_PATH = get_user_manual_path() +INSPECTOR_HTML_PATH = BASE_PATH / "resources" / "Yaml" / "GinanYAMLInspector.html" \ No newline at end of file diff --git a/scripts/GinanUI/app/utils/gn_functions.py b/scripts/GinanUI/app/utils/gn_functions.py index 49e7595f9..f47b45e8c 100644 --- a/scripts/GinanUI/app/utils/gn_functions.py +++ b/scripts/GinanUI/app/utils/gn_functions.py @@ -1,4 +1,12 @@ -"""Base time conversion functions""" +""" +GNSS utility functions for time conversion, file handling, and downloading. + +Provides GPS week/day conversions, the GPSDate helper class, file decompression +(gz, tar, Z, Hatanaka), and URL-based download utilities with retry logic. + +These have been ripped from the base Ginan code and minimally adapted +later on this file should be removed as these functions are migrated into the gnssanalysis pip package +""" from datetime import datetime as _datetime import logging @@ -7,12 +15,10 @@ import time as _time import gzip as _gzip import tarfile as _tarfile - from pathlib import Path as _Path from typing import Optional as _Optional, Union as _Union from urllib import request as _request from urllib.error import HTTPError as _HTTPError - import numpy as _np import hatanaka as _hatanaka diff --git a/scripts/GinanUI/app/utils/logger.py b/scripts/GinanUI/app/utils/logger.py index e15afb268..8add86de7 100644 --- a/scripts/GinanUI/app/utils/logger.py +++ b/scripts/GinanUI/app/utils/logger.py @@ -2,14 +2,16 @@ Unified logging system for Ginan-UI This module provides a thread-safe logging interface that can passes -messages to different UI channels ("terminal" or "console" at the moment) via Qt signals. +messages to different UI channels ("Workflow" or "Console" at the moment) via Qt signals. +Must be initialised with a MainWindow instance +before use; falls back to stdout if uninitialised. Usage: # In main_window.py initialisation: Logger.initialise(main_window_instance) - + # Anywhere in your code: - Logger.terminal("Message for terminal") + Logger.workflow("Message for workflow") Logger.console("Message for console") Logger.both("Message for both channels") """ @@ -17,13 +19,11 @@ from PySide6.QtCore import QObject, Signal from typing import Optional - class LoggerSignals(QObject): """Signal container for thread-safe logging""" - terminal_signal = Signal(str) + workflow_signal = Signal(str) console_signal = Signal(str) - class Logger: """ Static logger class for easy logging throughout the application. @@ -44,32 +44,32 @@ def initialise(cls, main_window): cls._signals = LoggerSignals() # Connect signals to main window's log_message method - cls._signals.terminal_signal.connect( - lambda msg: main_window.log_message(msg, channel = "terminal") + cls._signals.workflow_signal.connect( + lambda msg: main_window.log_message(msg, channel = "workflow") ) cls._signals.console_signal.connect( lambda msg: main_window.log_message(msg, channel = "console") ) @classmethod - def terminal(cls, message: str): + def workflow(cls, message: str): """ - Log a message to the terminal widget. + Log a message to the "Workflow" widget. Thread-safe. :param message: Message to log """ if cls._signals is None: - print(f"[Logger not initialised - terminal] {message}") + print(f"[Logger not initialised - workflow] {message}") return # Simply emit the signal - Qt handles thread safety automatically - cls._signals.terminal_signal.emit(message) + cls._signals.workflow_signal.emit(message) @classmethod def console(cls, message: str): """ - Log a message to the console widget. + Log a message to the "Console" widget. Thread-safe. :param message: Message to log @@ -84,12 +84,12 @@ def console(cls, message: str): @classmethod def both(cls, message: str): """ - Log a message to both terminal and console widgets. + Log a message to both "Workflow" and "Console" widgets. Thread-safe. :param message: Message to log """ - cls.terminal(message) + cls.workflow(message) cls.console(message) @classmethod diff --git a/scripts/GinanUI/app/utils/toast.py b/scripts/GinanUI/app/utils/toast.py index 421c1d993..b41ef9c86 100644 --- a/scripts/GinanUI/app/utils/toast.py +++ b/scripts/GinanUI/app/utils/toast.py @@ -1,14 +1,15 @@ +""" +Non-blocking toast notification widget for Ginan-UI. + +Provides the Toast widget (a QLabel that fades in/out at the bottom of the window) +and the show_toast() convenience function for displaying short user-feedback messages. +""" + from PySide6.QtWidgets import QLabel, QGraphicsOpacityEffect, QPushButton from PySide6.QtCore import QTimer, QPropertyAnimation, QEasingCurve, Qt, QEvent from PySide6.QtGui import QFont - class Toast(QLabel): - """ - A non-blocking toast notification that appears at the bottom of the window, - fades in, stays visible, then fades out automatically. - """ - def __init__(self, parent=None): super().__init__(parent) diff --git a/scripts/GinanUI/app/utils/ui_compilation.py b/scripts/GinanUI/app/utils/ui_compilation.py index 090c17afd..b7c072997 100644 --- a/scripts/GinanUI/app/utils/ui_compilation.py +++ b/scripts/GinanUI/app/utils/ui_compilation.py @@ -1,22 +1,15 @@ +""" +Compiles the Qt .ui file into a Python module for use by Ginan-UI. + +Runs pyside6-uic on main_window.ui to produce main_window_ui.py, then patches +the generated resource import lines to match the project's package structure. +Intended to be run as a script or called during development setup. +""" + import subprocess, shutil from pathlib import Path - def compile_ui(): - """ - Compile the Qt `.ui` file into a Python module and fix its resource import. - - Converts `main_window.ui` into `main_window_ui.py` using `pyside6-uic`, - then updates the logo import line for correct resource loading. - - Raises: - ImportError: If `pyside6-uic` is not found. - - Example: - >>> compile_ui() - UI compiled successfully. - """ - # File paths ui_file = Path(__file__).parent.parent / "views" / "main_window.ui" output_file = Path(__file__).parent.parent / "views" / "main_window_ui.py" @@ -45,5 +38,6 @@ def compile_ui(): with open(output_file, 'w') as f: f.writelines(lines) +# Run this to compile the the user interface without running Ginan-UI if __name__ == "__main__": compile_ui() \ No newline at end of file diff --git a/scripts/GinanUI/app/utils/workers.py b/scripts/GinanUI/app/utils/workers.py index e6bef87c8..910e3b8d2 100644 --- a/scripts/GinanUI/app/utils/workers.py +++ b/scripts/GinanUI/app/utils/workers.py @@ -1,12 +1,21 @@ -# app/utils/workers.py +""" +QObject worker classes for running background tasks in Ginan-UI. + +Provides thread-safe workers for: + - PeaExecutionWorker: runs a PEA processing execution + - DownloadWorker: downloads PPP / BRDC products or retrieves valid analysis centres + - BiasProductWorker: fetches and parses BIA code priorities for a given provider + - SinexValidationWorker: downloads and validates an IGS CRD SINEX file against RINEX metadata + +All workers communicate results back to the UI via Qt signals. +""" + import traceback from datetime import datetime from pathlib import Path from typing import Optional, List - import pandas as pd from PySide6.QtCore import QObject, Signal, Slot - from scripts.GinanUI.app.models.dl_products import ( get_product_dataframe_with_repro3_fallback, download_products, @@ -15,10 +24,9 @@ get_provider_constellations, get_bia_code_priorities_for_selection, download_and_validate_sinex, - log_sinex_validation_results + log_sinex_validation_results, ) from scripts.GinanUI.app.utils.common_dirs import INPUT_PRODUCTS_PATH - from scripts.GinanUI.app.utils.logger import Logger class PeaExecutionWorker(QObject): @@ -37,14 +45,14 @@ def __init__(self, execution): @Slot() def stop(self): try: - Logger.terminal("🛑 Stop requested - terminating PEA...") + Logger.workflow("🛑 Stop requested - terminating PEA...") # recommended to implement stop_all() in Execution to terminate child processes if hasattr(self.execution, "stop_all"): self.execution.stop_all() - Logger.terminal("🛑 Stopped") + Logger.workflow("🛑 Stopped") except Exception: tb = traceback.format_exc() - Logger.terminal(f"⚠️ Exception during stop:\n{tb}") + Logger.workflow(f"⚠️ Exception during stop:\n{tb}") @Slot() def run(self): @@ -53,8 +61,7 @@ def run(self): self.finished.emit("✅ Execution finished successfully.") except Exception: tb = traceback.format_exc() - Logger.terminal(f"⚠️ Error launching Execution! Exception:\n{tb}") - + Logger.workflow(f"⚠️ Error launching Execution! Exception:\n{tb}") class DownloadWorker(QObject): """ @@ -92,14 +99,14 @@ def run(self): # 1. Get valid products if self.analysis_centers: if not self.start_epoch and not self.end_epoch: - Logger.terminal(f"📦 No start and/or end date, can't check valid analysis centers") + Logger.workflow(f"📦 No start and/or end date, can't check valid analysis centers") self.cancelled.emit() return - Logger.terminal(f"📦 Retrieving valid products") + Logger.workflow(f"📦 Retrieving valid products") try: # Check if stop was requested before starting if self._stop: - Logger.terminal(f"📦 Analysis centres retrieval cancelled") + Logger.workflow(f"📦 Analysis centres retrieval cancelled") self.cancelled.emit() return # Use the repro3 fallback function which automatically checks repro3 @@ -107,13 +114,13 @@ def run(self): valid_products = get_product_dataframe_with_repro3_fallback(self.start_epoch, self.end_epoch) # Check again before emitting result - don't emit finished if cancelled if self._stop: - Logger.terminal(f"📦 Analysis centres retrieval cancelled") + Logger.workflow(f"📦 Analysis centres retrieval cancelled") self.cancelled.emit() return # Fetch constellation information for each provider if not valid_products.empty: - Logger.terminal(f"📡 Fetching constellation information from SP3 headers...") + Logger.workflow(f"📡 Fetching constellation information from SP3 headers...") def check_stop(): return self._stop @@ -125,7 +132,7 @@ def check_stop(): ) if self._stop: - Logger.terminal(f"📦 Analysis centres retrieval cancelled") + Logger.workflow(f"📦 Analysis centres retrieval cancelled") self.cancelled.emit() return @@ -136,12 +143,12 @@ def check_stop(): self.finished.emit(valid_products) except Exception as e: if self._stop: - Logger.terminal(f"📦 Analysis centres retrieval cancelled") + Logger.workflow(f"📦 Analysis centres retrieval cancelled") self.cancelled.emit() return tb = traceback.format_exc() - Logger.terminal(f"⚠️ Error whilst retrieving valid products:\n{tb}") - Logger.terminal(f"⚠️ {e}") + Logger.workflow(f"⚠️ Error whilst retrieving valid products:\n{tb}") + Logger.workflow(f"⚠️ {e}") self.cancelled.emit() return @@ -151,8 +158,8 @@ def check_stop(): download_metadata(self.download_dir, self.progress.emit, self.atx_downloaded.emit) except Exception as e: tb = traceback.format_exc() - Logger.terminal(f"⚠️ Error whilst downloading metadata:\n{tb}") - Logger.terminal(f"⚠️ {e}") + Logger.workflow(f"⚠️ Error whilst downloading metadata:\n{tb}") + Logger.workflow(f"⚠️ {e}") self.cancelled.emit() return @@ -170,13 +177,13 @@ def check_stop(): progress_callback=self.progress.emit, stop_requested=check_stop): pass except RuntimeError as e: - Logger.terminal(f"⚠️ {e}") + Logger.workflow(f"⚠️ {e}") self.cancelled.emit() return except Exception as e: tb = traceback.format_exc() - Logger.terminal(f"⚠️ Error whilst downloading products:\n{tb}") - Logger.terminal(f"⚠️ {e}") + Logger.workflow(f"⚠️ Error whilst downloading products:\n{tb}") + Logger.workflow(f"⚠️ {e}") self.cancelled.emit() return @@ -294,7 +301,7 @@ def run(self): try: # Check if stop was requested before starting if self._stop: - Logger.terminal(f"📦 SINEX validation cancelled") + Logger.workflow(f"📦 SINEX validation cancelled") self.error.emit("SINEX validation cancelled") return @@ -316,12 +323,16 @@ def check_stop(): # Check again after download if self._stop: - Logger.terminal(f"📦 SINEX validation cancelled") + Logger.workflow(f"📦 SINEX validation cancelled") self.error.emit("SINEX validation cancelled") return if sinex_path is None: - self.error.emit("Failed to download SINEX file") + # The SINEX file could not be downloaded - it most likely does not + # exist for this date (common for recent ultra-rapid / rapid products). + # Skip validation gracefully rather than reporting a hard failure. + Logger.workflow("ℹ️ SINEX file unavailable for this date - skipping SINEX validation") + self.error.emit("SINEX validation skipped: file unavailable") return # Log the validation results @@ -335,5 +346,69 @@ def check_stop(): self.error.emit("SINEX validation cancelled") return tb = traceback.format_exc() - Logger.terminal(f"⚠️ Error during SINEX validation:\n{tb}") - self.error.emit(f"Error during SINEX validation: {e}") \ No newline at end of file + Logger.workflow(f"⚠️ Error during SINEX validation:\n{tb}") + self.error.emit(f"Error during SINEX validation: {e}") + +class LoadingWorker(QObject): + """ + Ensures ocean and atmospheric tide loading BLQ files exist for a given station. + + Downloads the loading grid netCDF files if needed, checks whether the station + already has entries in the existing BLQ files, and runs interpolate_loading + to generate station-specific BLQ files when required. + + :param execution: The Execution instance (used for ensure_loading_blq) + :param marker_name: 4-character station marker name (e.g. 'ALIC') + :param marker_number: DOMES marker number (e.g. '50137M0014') or None + :param apriori_position: [X, Y, Z] ECEF coordinates in metres + """ + finished = Signal() # Emitted when loading BLQ processing completes + error = Signal(str) # Emits error message string + progress = Signal(str, int) # Emits (description, percent) for progress updates + + def __init__(self, execution, marker_name: str, marker_number: Optional[str], + apriori_position: List[float]): + super().__init__() + self.execution = execution + self.marker_name = marker_name + self.marker_number = marker_number + self.apriori_position = apriori_position + self._stop = False + + @Slot() + def stop(self): + self._stop = True + + @Slot() + def run(self): + try: + if self._stop: + Logger.workflow("📦 Loading BLQ generation cancelled") + self.error.emit("Loading BLQ generation cancelled") + return + + def check_stop(): + return self._stop + + self.execution.ensure_loading_blq( + marker_name=self.marker_name, + marker_number=self.marker_number, + apriori_position=self.apriori_position, + progress_callback=self.progress.emit, + stop_requested=check_stop, + ) + + if self._stop: + Logger.workflow("📦 Loading BLQ generation cancelled") + self.error.emit("Loading BLQ generation cancelled") + return + + self.finished.emit() + + except Exception as e: + if self._stop: + self.error.emit("Loading BLQ generation cancelled") + return + tb = traceback.format_exc() + Logger.workflow(f"⚠️ Error during loading BLQ generation:\n{tb}") + self.error.emit(f"Error during loading BLQ generation: {e}") \ No newline at end of file diff --git a/scripts/GinanUI/app/utils/yaml.py b/scripts/GinanUI/app/utils/yaml.py index 52b94bf19..cdb893c8a 100644 --- a/scripts/GinanUI/app/utils/yaml.py +++ b/scripts/GinanUI/app/utils/yaml.py @@ -1,18 +1,9 @@ -from ruamel.yaml import YAML -from ruamel.yaml.comments import CommentedSeq, CommentedMap -from ruamel.yaml.scalarstring import PlainScalarString -from pathlib import Path -import tempfile -import os - -from scripts.GinanUI.app.utils.logger import Logger - """ YAML utilities for the Ginan-UI application. -This module provides safe wrappers around ruamel.yaml to ensure that Python -objects (e.g., pathlib.Path, lists, strings) are always serialised and -deserialised in a consistent way. +Provides safe wrappers around ruamel.yaml for loading, writing, and updating YAML +config files while preserving comments and formatting. Normalises Python objects +(Path, list, str) to types that ruamel.yaml can serialise reliably. Key functions: - load_yaml(file_path): Load YAML into memory, converting path-like strings @@ -24,35 +15,25 @@ list → CommentedSeq, str → PlainScalarString). - _normalise_inplace(): Internal helper to recursively normalise an entire config tree in-place. Used as a safety net in write_yaml(). - -Conventions: -- Leading underscore (_) marks helpers intended for internal use only. -- Public functions (no underscore) are part of the module’s stable API and - should be used by other parts of the application. """ +import os +import tempfile +from pathlib import Path +from ruamel.yaml import YAML +from ruamel.yaml.comments import CommentedSeq, CommentedMap +from ruamel.yaml.scalarstring import PlainScalarString +from scripts.GinanUI.app.utils.logger import Logger + # Configure YAML parser +# These values work, don't need to change yaml = YAML() yaml.preserve_quotes = True yaml.indent(mapping=4, sequence=4, offset=4) yaml.width = 4096 # Avoid line wrapping yaml.default_flow_style = False # Use block-style lists - -def _convert_paths(obj): - """Recursively convert plain strings that look like filesystem paths into Path objects.""" - if isinstance(obj, dict): - return {k: _convert_paths(v) for k, v in obj.items()} - elif isinstance(obj, list): - return [_convert_paths(v) for v in obj] - elif isinstance(obj, (PlainScalarString, str)): - s = str(obj) - # heuristic: treat as path if it looks like one - if "/" in s or s.startswith(".") or s.startswith("~") or os.path.isabs(s): - return Path(s).expanduser() - return s - else: - return obj +#region YAML Manipulation def load_yaml(file_path: Path) -> CommentedMap: """ @@ -110,6 +91,9 @@ def update_yaml_values(file_path: Path, updates: list[tuple[str, str]]): with file_path.open("w", encoding='utf-8') as f: yaml.dump(data, f) +#endregion + +#region Helper Functions def normalise_yaml_value(val): """ @@ -128,6 +112,21 @@ def normalise_yaml_value(val): return seq return val +def _convert_paths(obj): + """Recursively convert plain strings that look like filesystem paths into Path objects.""" + if isinstance(obj, dict): + return {k: _convert_paths(v) for k, v in obj.items()} + elif isinstance(obj, list): + return [_convert_paths(v) for v in obj] + elif isinstance(obj, (PlainScalarString, str)): + s = str(obj) + # heuristic: treat as path if it looks like one + if "/" in s or s.startswith(".") or s.startswith("~") or os.path.isabs(s): + return Path(s).expanduser() + return s + else: + return obj + def _normalise_inplace(obj): """ Recursively normalise values in-place using normalise_yaml_value(). @@ -142,3 +141,5 @@ def _normalise_inplace(obj): obj[i] = normalise_yaml_value(v) _normalise_inplace(obj[i]) return obj + +#endregion \ No newline at end of file diff --git a/scripts/GinanUI/app/views/main_window.ui b/scripts/GinanUI/app/views/main_window.ui index bf176d930..0f13a58b6 100644 --- a/scripts/GinanUI/app/views/main_window.ui +++ b/scripts/GinanUI/app/views/main_window.ui @@ -7,7 +7,7 @@ 0 0 1200 - 800 + 850 @@ -88,7 +88,7 @@ text-align: right; - Ginan-UI v4.1.1 + Ginan-UI v4.1.2 Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter @@ -295,6 +295,12 @@ QPushButton:disabled { Qt::TextElideMode::ElideNone + + true + + + false + false @@ -794,40 +800,6 @@ QComboBox:disabled { - - - - - 0 - 0 - - - - PointingHandCursor - - - QPushButton { - background-color: #2c5d7c; - color: white; - padding: 2px 8px; - font: 13pt "Segoe UI"; - text-align: center; -} -QPushButton:hover { - background-color: #214861; -} -QPushButton:pressed { - background-color: #1a3649; -} -QPushButton:disabled { - background-color: rgb(120, 120, 120); -} - - - Reset Config - - - @@ -862,40 +834,6 @@ QPushButton:disabled { - - - - - 0 - 0 - - - - PointingHandCursor - - - QPushButton { - background-color: #2c5d7c; - color: white; - padding: 2px 8px; - font: 13pt "Segoe UI"; - text-align: center; -} -QPushButton:hover { - background-color: #214861; -} -QPushButton:pressed { - background-color: #1a3649; -} -QPushButton:disabled { - background-color: rgb(120, 120, 120); -} - - - Show Config - - - @@ -1387,8 +1325,61 @@ QPushButton:disabled { 30 - - + + + + true + + + + 0 + 0 + + + + PointingHandCursor + + + QCheckBox::indicator { + width: 36px; + height: 36px; +} + +QCheckBox::indicator:unchecked { + image: url(:/icon/checkbox_unselected.png); +} + +QCheckBox::indicator:unchecked:hover { + + image: url(:/icon/checkbox_unselected_pressed.png); +} + +QCheckBox::indicator:checked { + image: url(:/icon/checkbox_selected.png); +} + +QCheckBox::indicator:checked:hover { + image: url(:/icon/checkbox_selected_hover.png); +} + +QCheckBox::indicator:checked:disabled { + image: url(:/icon/checkbox_selected_disabled.png); +} + +QCheckBox::indicator:unchecked:disabled { + image: url(:/icon/checkbox_unselected_disabled.png); +} + + + + + + true + + + + + 0 @@ -1401,7 +1392,7 @@ QPushButton:disabled { - .TRACE + .POS @@ -1455,8 +1446,58 @@ QCheckBox::indicator:unchecked:disabled { - - + + + + true + + + + 0 + 0 + + + + PointingHandCursor + + + QCheckBox::indicator { + width: 36px; + height: 36px; +} + +QCheckBox::indicator:unchecked { + image: url(:/icon/checkbox_unselected.png); +} + +QCheckBox::indicator:unchecked:hover { + + image: url(:/icon/checkbox_unselected_pressed.png); +} + +QCheckBox::indicator:checked { + image: url(:/icon/checkbox_selected.png); +} + +QCheckBox::indicator:checked:hover { + image: url(:/icon/checkbox_selected_hover.png); +} + +QCheckBox::indicator:checked:disabled { + image: url(:/icon/checkbox_selected_disabled.png); +} + +QCheckBox::indicator:unchecked:disabled { + image: url(:/icon/checkbox_unselected_disabled.png); +} + + + + + + + + 0 @@ -1469,7 +1510,25 @@ QCheckBox::indicator:unchecked:disabled { - .POS + .SNX + + + + + + + + 0 + 0 + + + + + 12 + + + + .TRACE @@ -1491,8 +1550,8 @@ QCheckBox::indicator:unchecked:disabled { - - + + true @@ -1541,8 +1600,119 @@ QCheckBox::indicator:unchecked:disabled { + + + + + + true + + + + 0 + 0 + + + + + 12 + + + + Output File Generation + + + Qt::AlignmentFlag::AlignBottom|Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft + + + + + + + + background-color: rgb(24, 24, 24); color: rgb(255, 255, 255); + + + YAML + + + + QLayout::SizeConstraint::SetDefaultConstraint + + + 5 + + + 5 + + + 5 + + + 5 + + + 8 + + + 10 + + + + + Qt::Orientation::Vertical + + + QSizePolicy::Policy::Expanding + + + + 20 + 120 + + + + + + + + 5 + + + 5 + + + 5 + + + 5 + + + 24 + + + 30 + + + + + + 0 + 0 + + + + + 12 + + + + Overwrite Config with UI Values + + + - + true @@ -1596,8 +1766,117 @@ QCheckBox::indicator:unchecked:disabled { + + + + true + + + + 0 + 0 + + + + + 13 + true + + + + color: #bfbfbf; font-size: 13pt; + + + Specify how the YAML config file that PEA uses during execution will be generated + + + Qt::AlignmentFlag::AlignBottom|Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft + + + true + + + + + + + 6 + + + 0 + + + + + + 0 + 0 + + + + PointingHandCursor + + + QPushButton { + background-color: #2c5d7c; + color: white; + padding: 2px 8px; + font: 13pt "Segoe UI"; + text-align: center; +} +QPushButton:hover { + background-color: #214861; +} +QPushButton:pressed { + background-color: #1a3649; +} +QPushButton:disabled { + background-color: rgb(120, 120, 120); +} + + + Reset Config + + + + + + + + 0 + 0 + + + + PointingHandCursor + + + QPushButton { + background-color: #2c5d7c; + color: white; + padding: 2px 8px; + font: 13pt "Segoe UI"; + text-align: center; +} +QPushButton:hover { + background-color: #214861; +} +QPushButton:pressed { + background-color: #1a3649; +} +QPushButton:disabled { + background-color: rgb(120, 120, 120); +} + + + Show Config + + + + + - + true @@ -1613,13 +1892,47 @@ QCheckBox::indicator:unchecked:disabled { - Output File Generation + YAML Config File Generation Qt::AlignmentFlag::AlignBottom|Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft + + + + + 0 + 0 + + + + PointingHandCursor + + + QPushButton { + background-color: #2c5d7c; + color: white; + padding: 2px 8px; + font: 13pt "Segoe UI"; + text-align: center; +} +QPushButton:hover { + background-color: #214861; +} +QPushButton:pressed { + background-color: #1a3649; +} +QPushButton:disabled { + background-color: rgb(120, 120, 120); +} + + + Open Advanced Config Inspector + + + @@ -1928,7 +2241,7 @@ QPushButton:disabled { 0 - + 0 @@ -2064,38 +2377,110 @@ li.checked::marker { content: "\2612"; } - - - - 0 - 0 - + + + 0 - - PointingHandCursor + + 0 - - QPushButton { - background-color: #2c5d7c; - color: white; - padding: 2px 8px; - font: 11pt "Segoe UI"; - text-align: center; + + + + Qt::Orientation::Horizontal + + + QSizePolicy::Policy::Expanding + + + + 40 + 20 + + + + + + + + PointingHandCursor + + + false + + + QPushButton { + width: 40px; + height: 40px; + border: none; + background: transparent; + image: url(:/icon/enlarge.png); } + QPushButton:hover { - background-color: #214861; + image: url(:/icon/enlarge_hover.png); } + QPushButton:pressed { - background-color: #1a3649; + image: url(:/icon/enlarge_selected.png); } -QPushButton:disabled { - background-color: rgb(120, 120, 120); -} - - - Open in Browser - - + + + + + + + + 32 + 32 + + + + false + + + + + + + PointingHandCursor + + + false + + + QPushButton { + width: 40px; + height: 40px; + border: none; + background: transparent; + image: url(:/icon/open_in_browser.png); +} + +QPushButton:hover { + image: url(:/icon/open_in_browser_hover.png); +} + +QPushButton:pressed { + image: url(:/icon/open_in_browser_selected.png); +} + + + + + + + + 32 + 32 + + + + false + + + + @@ -2153,7 +2538,7 @@ QComboBox QAbstractItemView { cddisCredentialsButton observationsButton outputButton - terminalTextEdit + workflowTextEdit consoleTextEdit modeCombo constellationsCombo diff --git a/scripts/GinanUI/docs/APPLICATION_ARCHITECTURE.md b/scripts/GinanUI/docs/APPLICATION_ARCHITECTURE.md new file mode 100644 index 000000000..f01acf58c --- /dev/null +++ b/scripts/GinanUI/docs/APPLICATION_ARCHITECTURE.md @@ -0,0 +1,488 @@ +# Ginan-UI +## Application Architecture +### This document describes the software design choices and architecture framework of Ginan-UI +### Version: Release v4.1.2 +#### Written by: Sam Greenwood +#### Last Updated: 16th June 2026 + +## 0. Table of Contents +- [1. Overview & Purpose](#1-overview--purpose) +- [2. System Context](#2-system-context) +- [3. Tech Stack](#3-tech-stack) +- [4. Application Structure](#4-application-structure) +- [5. Key Components & Modules](#5-key-components--modules) +- [6. Data Flow](#6-data-flow) +- [7. Authentication & Authorisation](#7-authentication--authorisation) +- [8. Configuration & Environment](#8-configuration--environment) +- [9. Build, Run & Deployment](#9-build-run--deployment) +- [10. Testing](#10-testing) +- [11. Known Issues & Technical Debt](#11-known-issues--technical-debt) +- [12. Decision Log](#12-decision-log) +- [13. Glossary](#13-glossary) + +--- +## 1. Overview & Purpose + +Ginan-UI is a graphical user interface for the Ginan software developed by Geoscience Australia. It aims to lower the barrier of entry for users trying to use Ginan by simplifying the user's interaction with the software away from a command-line interface. On top of this, it automatically populates a `.yaml` configuration file based on a user-provided `.rnx` RINEX observation file, automatically downloads all static and dynamic GNSS products required for processing from NASA's CDDIS Earthdata archives, executes Ginan's Parameter Estimation Algorithm (PEA), and then visualises its output in an interactive HTML format embedded directly within the UI. + +Ginan-UI lives inside the broader Ginan repository at `ginan/scripts/GinanUI/` and is designed as a companion tool - it does not replace or modify Ginan itself, but rather wraps around it to make Ginan as easy as drag-and-drop. It was developed as part of the ANU TechLauncher program in collaboration with Geoscience Australia. + +--- +## 2. System Context + +Ginan-UI interacts with the following external systems: + +**NASA CDDIS Earthdata Archives (`cddis.nasa.gov`):** The primary external dependency. Ginan-UI downloads all GNSS products (CLK, BIA, SP3, BRDC, SNX, and various other static metadata files) directly from the CDDIS HTTP archive. Authentication is via NASA Earthdata credentials stored in the user's `.netrc` / `_netrc` file. The `requests` library is used for all HTTP communication. Connectivity and credential validity are tested at startup. + +**The Ginan PEA binary (`ginan/bin/pea`):** The core processing engine that Ginan-UI wraps. Ginan-UI locates the PEA binary (either bundled in a PyInstaller release or found on the system PATH), instantiates it as a subprocess, and then streams its `stdout` / `stderr` into the Console log panel in real time. + +**`scripts/plot_pos.py` and `scripts/plot_trace_res.py`:** External plotting scripts located outside of Ginan-UI and within the broader Ginan repository. These are called as Python functions after PEA finishes processing and generates interactive HTML visualisations from the resultant `.POS` and `.TRACE` output files. + +**The Local Filesystem:** Ginan-UI reads user-supplied RINEX observation files, reads and writes the generated `ppp_generated.yaml` config, manages product and output directories, and archives files from previous processing runs. + +Ginan-UI does not expose any ports, APIs, or services. It is a standalone desktop application with no inbound network communication. + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ User's Machine │ +│ │ +│ ┌──────────────┐ subprocess ┌──────────────────────┐ │ +│ │ Ginan-UI │ ─────────────────── │ Ginan PEA Binary │ │ +│ │ (PySide6) │ │ (ginan/bin/pea) │ │ +│ └──────┬───────┘ └──────────────────────┘ │ +│ │ calls │ +│ ▼ │ +│ ┌──────────────────────────────────┐ │ +│ │ plot_pos.py / plot_trace_res.py │ │ +│ │ (from ginan/scripts/) │ │ +│ └──────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────┘ + │ HTTPS (requests + .netrc auth) + ▼ +┌─────────────────────────┐ +│ NASA CDDIS Earthdata │ +│ cddis.nasa.gov │ +│ (SP3, CLK, BIA, etc.) │ +└─────────────────────────┘ +``` + +--- +## 3. Tech Stack + +**Python 3.9+:** The implementation language. The minimum version of 3.9 was chosen for compatibility with the broader Ginan repository's Python tooling. + +**PySide6 ~6.10.0:** Qt6 Python bindings, used for the entire GUI (widgets, layouts, signals / slots, threading, web engine). PySide6 was chosen over PyQt6 for its more permissive LGPL licensing, which is compatible with Ginan being open-source. Qt's signal / slot mechanism is the primary pattern for cross-thread communication (e.g., logging from worker threads back to the UI). The `.ui` file (`main_window.ui`) is designed in Qt Designer and compiled to Python via `pyside6-uic`. + +**ruamel.yaml ~0.18.15:** Used for all YAML reading and writing. Chosen over PyYAML because it preserves comments and formatting in the config file, which is important so that manual user edits to `ppp_generated.yaml` are not silently destroyed when Ginan-UI writes back specific fields. Breaking changes in ruamel.yaml's API are common across minor versions, and the pinned version in `requirements.txt` should be respected. + +**pandas ~2.3.3:** Used for managing the product availability dataframe returned by the CDDIS product query logic in `dl_products.py`. Provides a convenient structure for filtering available PPP providers, series, and projects by date range. + +**plotly ~6.3.1:** Used by the external `plot_pos.py` and `plot_trace_res.py` scripts to generate the interactive HTML visualisations. + +**numpy ~2.3.3:** Used internally by the plotting scripts and data processing pipeline. + +**statsmodels ~0.14.5:** Used by the plotting scripts for statistical analysis of position solutions. + +**requests ~2.32.5:** Used for all HTTP communication with the CDDIS archive. + +**hatanaka ~2.8.1:** Used to decompress Hatanaka-compressed RINEX files (`.crx` / `.rnx.gz`). + +**unlzw3 ~0.2.3:** Used to decompress Unix `.Z` compressed product files (a legacy format still common in the CDDIS archive). + +**beautifulsoup4 ~4.14.2:** Used for parsing CDDIS HTML directory listings when scanning for available product files. + +> **Note on requirements.txt accuracy:** `requirements.txt` lists the direct Python dependencies used by Ginan-UI. `netrc` is part of the Python standard library, and runtime dependencies such as `numpy` are listed explicitly even when another package also requires them. If `pip install -r requirements.txt` fails, check whether an upstream dependency has changed its supported Python or platform constraints. + +--- +## 4. Application Structure + +All Ginan-UI code lives within `ginan/scripts/GinanUI/`. The structure follows a loose Model-View-Controller (MVC) architecture pattern with three clearly separated layers. + +``` +GinanUI/ +├── main.py # Entry point - instantiates QApplication and MainWindow +├── README.md +├── requirements.txt +├── app/ +│ ├── main_window.py # Top-level controller / application shell +│ ├── controllers/ # UI controllers (C in MVC) +│ │ ├── input_controller.py # Parent controller - owns shared state & top-level buttons +│ │ ├── general_config_controller.py +│ │ ├── constellation_config_controller.py +│ │ ├── output_config_controller.py +│ │ ├── yaml_config_controller.py +│ │ └── visualisation_controller.py +│ ├── models/ # Core logic & data (M in MVC) +│ │ ├── execution.py # PEA subprocess lifecycle & YAML config management +│ │ ├── dl_products.py # CDDIS product discovery & downloading +│ │ ├── rinex_extractor.py # RINEX file parsing +│ │ ├── archive_manager.py # Product and output file archival +│ │ └── inspector.py # GinanYAMLInspector integration & YAML merging +│ ├── views/ # UI definitions (V in MVC) +│ │ ├── main_window.ui # Qt Designer file - edit this, not main_window_ui.py +│ │ └── main_window_ui.py # Auto-generated - DO NOT EDIT MANUALLY +│ ├── resources/ +│ │ ├── assets/ # Icons, logos, Qt resource files (.qrc, _rc.py) +│ │ ├── Yaml/ +│ │ │ ├── default_config.yaml # Template YAML that is used to generate ppp_generated.yaml +│ │ │ └── GinanYAMLInspector.html # Inspector HTML (auto-generated by "pea -Y 4") +│ │ ├── ppp_generated.yaml # Generated at runtime from default_config.yaml +│ │ └── inputData/products/ # Downloaded GNSS products live here at runtime +│ └── utils/ +│ ├── logger.py # Centralised thread-safe logging via Qt signals +│ ├── toast.py # Non-blocking toast notification widget +│ ├── common_dirs.py # Centralised path constants (dev & PyInstaller aware) +│ ├── yaml.py # ruamel.yaml wrappers (load, write, update in-place) +│ ├── workers.py # QObject workers for background threads +│ ├── cddis_credentials.py # .netrc credential save / validate utilities +│ ├── cddis_connection.py # CDDIS connectivity & authentication testing +│ └── ui_compilation.py # Compiles main_window.ui -> main_window_ui.py +├── docs/ +│ ├── USER_MANUAL.md +│ ├── APPLICATION_ARCHITECTURE.md +│ └── images/ +└── tests/ + ├── test_checksum.py + ├── test_executable.py + ├── test_execution.py + └── test_ui_compilation.py +``` + +**Key conventions:** +- Many complex code files use ``#region`` blocks to segment and organise sections of code. These drastically improve readability and make it easier to find the relevant code when debugging. +- Controllers are instantiated by `main_window.py` and do not instantiate each other except through the parent `InputController`, which owns and instantiates its four config tab sub-controllers (`GeneralConfigController`, `ConstellationConfigController`, `OutputConfigController`, `YAMLConfigController`). +- All background work (i.e. product downloads, PEA execution, and loading BLQ generation) is done in `QThread` workers defined in `workers.py`. Qt signals are used exclusively for communicating results and progress back to the UI thread - no direct cross-thread widget access. +- All filepath constants are defined in `common_dirs.py` and resolve correctly in both development mode and PyInstaller bundle mode. **DO NOT** hardcode paths elsewhere. +- Logging throughout the app is done exclusively via the static `Logger` class (`utils/logger.py`). **DO NOT** use `print()` in production code, only temporary testing. +- The `main_window.ui` file is the single source of truth for the UI layout. `main_window_ui.py` is auto-generated every time ``main.py`` is run (it calls ``utils/ui_compilation.py`` automatically) and should never be edited directly - regenerate it using `ui_compilation.py` after any `.ui` changes. + +--- +## 5. Key Components & Modules + +### `main_window.py` - Application Shell +The top-level class that initialises and owns all controllers. It creates the `Execution` model instance, instantiates `InputController` and `VisualisationController`, and wires together the high-level workflow signals (e.g., `pea_ready` -> start download + PEA). It also contains the `log_message()` method that the `Logger` signals connect to, routing messages to either the "Workflow" or "Console" `QTextEdit` widgets. `MainWindow` is also responsible for spinning up and tearing down `QThread` / worker pairs and connecting their signals. + +### `input_controller.py` - Parent UI Controller +Owns all shared UI state. This includes the selected RINEX file path (`rnx_file`), the output directory (`output_dir`), the products dataframe (`products_df`), and the `Execution` instance. It wires the top-level action buttons ("Observations", "Output", "Process", "Stop", "CDDIS Credentials", "Open User Manual") and delegates configuration tab-specific behaviour to four sub-controllers (`GeneralConfigController`, `ConstellationConfigController`, `OutputConfigController`, `YAMLConfigController`). The `ExtractedInputs` dataclass, defined inside this module, is the data transfer object that packages all UI values before they are passed to `Execution.apply_ui_config()` for config generation. + +### `execution.py` - PEA Lifecycle & Config Manager +The primary model class. On instantiation it locates the PEA binary (checking the PyInstaller bundle, then system PATH, then relative path from the source tree), and loads the `ppp_generated.yaml` config using ruamel.yaml. Its key responsibilities include: `edit_config()` applies individual YAML field changes in-place without destroying comments; `apply_ui_config()` orchestrates writing all UI-derived values into the YAML before a run; `ensure_loading_blq()` verifies and generates ocean / atmospheric tide loading BLQ files for the station; `execute_config()` spawns PEA as a subprocess and streams its output; `build_pos_plots()` and `build_trace_plots()` call the external plotting scripts post-run. The `stop_all()` method uses `os.killpg` (process group kill) to reliably terminate PEA and any child processes on Unix. + +**Ocean and Atmospheric Loading:** The `ensure_loading_blq()` method checks whether the station has entries in the configured BLQ files. If not, it downloads loading grid netCDF files (`oceantide.nc` and `atmtide.nc`) and runs the `interpolate_loading` binary to compute station-specific loading coefficients. The generated BLQ files are automatically added to the YAML configuration. This workflow is triggered before PEA execution and operates even when the "Overwrite Config with UI Values" toggle is disabled. + +### `dl_products.py` - Product Discovery & Downloading +Handles all interaction with the CDDIS archive for downloading GNSS products. Scans the CDDIS HTTP directory listing (using `beautifulsoup4`) to find available SP3, CLK, BIA, and BRDC files for a given date range and PPP provider selection. Includes a REPRO3 fallback for older RINEX data where standard products are no longer available. Also responsible for downloading static metadata products (ATX, ALOAD, OLOAD, etc.) on first launch and every seven (7) days after that. The `download_loading_grids()` function handles downloading the ocean and atmospheric tide loading grid files (`oceantide.nc` and `atmtide.nc`) required for BLQ generation. + +### `rinex_extractor.py` - RINEX Parser +Parses RINEX v2 and v3 / v4 observation file headers to extract: marker name, receiver type, antenna type, antenna offset (ENU), approximate position (referred to as "apriori position"), time window (first / last epoch), data interval, and per-constellation observation codes. The extracted data is used to pre-populate the UI fields and to construct the `ExtractedInputs` object. A non-obvious behaviour: for RINEX v3 / v4 files, extracted observation codes are culled to carrier phase (L) codes only, then reordered against the template config's default priority list. For v2 files, codes are converted and already in priority order so this reordering step is skipped. + +### `archive_manager.py` - File Archival +Manages moving old product and output files into timestamped archive subdirectories. Archival is triggered in three scenarios: (1) on app startup for static products older than seven (7) days; (2) when the RINEX file changes, to prevent products from mismatched time windows being mixed; (3) when the PPP provider / series / project selection changes. Also provides `restore_from_archive()` which checks the archive directory before downloading a product from CDDIS, avoiding redundant network requests. + +### `workers.py` - Background Thread Workers +Defines five `QObject`-based workers intended to run in `QThread`: `PeaExecutionWorker`, `DownloadWorker`, `BiasProductWorker`, `SinexValidationWorker`, and `LoadingBlqWorker`. All workers expose a `stop()` slot and check a `_stop` flag at regular intervals to ensure they do not cause a segmentation fault on cancellation. Results are communicated back via Qt signals (`finished`, `error`, `progress`). **A non-obvious behaviour:** `DownloadWorker` handles three distinct modes depending on which constructor arguments are provided - analysis centre discovery, metadata installation, or product downloading - and branches its `run()` logic accordingly. The `LoadingBlqWorker` delegates to `Execution.ensure_loading_blq()` and runs in a background thread to prevent UI blocking during BLQ generation. + +### `logger.py` - Centralised Logging +A static class that must be initialised with the `MainWindow` instance before use. Exposes `Logger.workflow()`, `Logger.console()`, and `Logger.both()`. Uses Qt signals internally so that log calls from background worker threads are safely passed to the UI thread before updating the `QTextEdit` widgets. Falls back to `print()` if called before initialisation. + +### `utils/yaml.py` - YAML Utilities +Wraps ruamel.yaml with safe read / write helpers that preserve comments and formatting. **The key non-obvious behaviour** is that all values written to the YAML are passed through `normalise_yaml_value()` first, which converts Python `Path` objects and plain strings to `PlainScalarString` and lists to block-style `CommentedSeq`. This is necessary because ruamel.yaml will raise `RepresenterError` on bare Python types in certain contexts. + +### `utils/common_dirs.py` - Path Constants +Defines all important path constants (`TEMPLATE_PATH`, `GENERATED_YAML`, `INPUT_PRODUCTS_PATH`, `USER_MANUAL_PATH`) in a way that resolves correctly both in development mode and when running from a release build that is bundled with PyInstaller (where `sys._MEIPASS` is set). Any new path constant should be added here rather than hardcoded in individual modules. + +### `views/main_window.ui` - Qt Designer UI Definition +The XML file that defines all UI widget geometry, layout, and properties. It is highly recommended that you edit this file in Qt Designer by running the ``pyside6-designer`` file from within your Python virtual environment (however you can still edit it by hand), then regenerate `main_window_ui.py` by running ``utils/ui_compilation.py``. The generated file patches two import lines for Qt resource files - this patching is done automatically by `ui_compilation.py`. + +### `controllers/constellation_config_controller.py` +Manages the Constellations tab, which displays drag-and-drop lists of observation code priorities for each enabled GNSS constellation. Triggers a `BiasProductWorker` background download whenever the PPP provider / series / project selection changes, to fetch and parse the corresponding `.BIA` file and update the available code priorities. Cross-validates RINEX constellations against the SP3 file and highlights any unsupported constellations in red with strikethrough styling. + +### `controllers/yaml_config_controller.py` +Manages the YAML Config tab, which provides controls for configuration file management and advanced editing. Wires the "Overwrite Config with UI Values" toggle, "Show Config" button, "Reset Config" button, and "Edit Config in Inspector" button. The inspector integration uses `QWebEngineView` to embed the GinanYAMLInspector HTML within a Qt dialog which automatically imports the current configuration and intercepts the save action to merge changes back via `QWebChannel`. Delegates all inspector I/O and YAML merging logic to the `Inspector` model. + +### `models/inspector.py` +The model layer for GinanYAMLInspector integration. Handles: (1) ensuring the inspector HTML exists by auto-generating it via `pea -Y 4` when missing; (2) building the JavaScript that wires auto-import and save interception when the inspector is opened from Ginan-UI; (3) sanitising the inspector's YAML output (quoting wildcard patterns, stripping trailing whitespace); (4) deep-merging the inspector export onto the existing `ppp_generated.yaml` so keys the inspector doesn't know about are preserved; (5) repairing known ruamel.yaml output edge cases. The `merge_and_save()` method includes fallback validation - if the comment-preserving write produces unparseable YAML, it automatically falls back to a clean write without comment preservation. + +### `controllers/visualisation_controller.py` +Manages the visualisation panel and plot display. Embeds generated HTML plots into a `QWebEngineView` widget, maintains an indexed list of available visualisations, and provides controls for plot selection and external viewing. The `bind_enlarge_button()` method wires the "Enlarge" button to open the current visualisation in a separate resizable pop-out window (implemented as a `QDialog` containing a `QWebEngineView`). The `bind_open_button()` method wires the "Open in Browser" button to launch the system's default browser. + +--- +## 6. Data Flow + +The primary processing workflow follows this sequence: + +``` +User selects RINEX file + │ + ▼ +RinexExtractor.extract_rinex_data() + → Extracts metadata (marker name, time window, constellations, codes, antenna info, etc.) + → UI fields pre-populated via GeneralConfigController / ConstellationConfigController + │ + ▼ +DownloadWorker (QThread) - analysis centre discovery + → Scans CDDIS for valid PPP providers for the RINEX time window + → Populates PPP Provider / Series / Project dropdowns in UI + │ + ▼ +User sets Mode, and reviews / adjusts fields before clicking "Process" + │ + ▼ +InputController.on_run_pea() + → Calls archive_old_outputs() to move previous run outputs + → Calls archive_products_if_selection_changed() if PPP selection changed + → Calls InputController.extract_ui_values() → produces ExtractedInputs dataclass + → Calls Execution.apply_ui_config(ExtractedInputs) → writes all values into ppp_generated.yaml + │ + ▼ +DownloadWorker (QThread) - product downloading + → Downloads missing dynamic products (SP3, CLK, BIA, BRDC) from CDDIS + → Checks archive first via restore_from_archive() before downloading + → Progress streamed to "Workflow" log via Qt signals + │ + ▼ +LoadingBlqWorker (QThread) - ocean and atmospheric loading generation + → Checks configured BLQ files for station entry + → Downloads loading grid files (oceantide.nc, atmtide.nc) if needed + → Runs interpolate_loading binary to generate station-specific BLQ files + → Updates YAML config with new BLQ file paths + → Progress streamed to "Workflow" log via Qt signals + │ + ▼ +PeaExecutionWorker (QThread) + → Spawns PEA binary as subprocess with ppp_generated.yaml + → Streams stdout / stderr to "Console" log via Qt signals + │ + ▼ +Execution.build_pos_plots() / build_trace_plots() + → Calls plot_pos_files() / plot_trace_res_files() from ginan/scripts/ + → Generates HTML files in output_dir/visual/ + │ + ▼ +VisualisationController + → Registers HTML files, embeds first plot in QWebEngineView + → Enables plot selector ComboBox, "Enlarge" button, and "Open in Browser" button +``` + +--- +## 7. Authentication & Authorisation + +Ginan-UI has a single authentication concern: NASA Earthdata credentials for accessing the CDDIS archive. There is no user login system, sessions, or role-based access control within the application itself. + +**Credential Storage:** NASA Earthdata credentials (username and password) are saved to the user's `.netrc` file (Unix / MacOS: `~/.netrc`; Windows: `%USERPROFILE%\.netrc` and `%USERPROFILE%\_netrc`). Both `urs.earthdata.nasa.gov` and `cddis.nasa.gov` entries are written simultaneously. The credential file is managed by `cddis_credentials.py`. + +**Credential Entry:** On first launch, if valid credentials are not detected in `.netrc`, a separate dialog window `CredentialsDialog` is displayed prompting the user for their username and password. This dialog can also be opened at any time via the "CDDIS Credentials" button in the top-right. Credentials are saved via `save_earthdata_credentials()`. + +**Credential Usage:** The `requests` library uses the `.netrc` file automatically for HTTP Basic authentication when downloading from CDDIS. The `cddis_connection.py` module provides `test_cddis_connection()` for verifying both connectivity and authentication validity, and `get_netrc_auth()` for explicitly reading credentials when needed. + +**Email / Username Persistence:** A secondary `CDDIS.env` file (`app/utils/CDDIS.env`) stores the email / username separately. This is read by `read_email()` and used in some CDDIS API contexts. If not present in the env file, it is derived from the `.netrc` username. + +--- +## 8. Configuration & Environment + +Configuration is handled through two mechanisms: a template YAML for PEA configuration, and path resolution logic for development versus bundled distribution. + +**YAML Configuration:** +- `app/resources/Yaml/default_config.yaml` - The template config. This is the committed, default PEA configuration that ships with Ginan-UI. It contains default values for all PEA processing parameters. +- `app/resources/ppp_generated.yaml` - The generated config, created at runtime by copying the template and then overwriting specific fields with user-supplied values. This file is ignored by git and should not be committed. It persists between sessions and preserves manual edits made via the "Show Config" button. + +**Path Resolution:** +The `common_dirs.py` module detects whether Ginan-UI is running in development mode or a PyInstaller bundle by checking `sys.frozen`. In bundle mode, `sys._MEIPASS` points to the `_internal/` directory and paths are constructed accordingly. All path constants (`TEMPLATE_PATH`, `GENERATED_YAML`, `INPUT_PRODUCTS_PATH`, `USER_MANUAL_PATH`) are derived from `get_base_path()` and `get_user_manual_path()` in this module. + +**Product Storage:** +Downloaded products are stored in `app/resources/inputData/products/` (or `_internal/scripts/GinanUI/app/resources/inputData/products/` in the bundled distribution). Archived products live in subdirectories under `products/archive/`. + +--- +## 9. Build, Run & Deployment + +### Running from Source + +Ginan-UI runs as a Python module from within the Ginan repository. The following assumes you have Python 3.9+ and have cloned the Ginan repository. + +```bash +# Navigate to the Ginan repository root +cd /path/to/ginan + +# Install dependencies +pip install -r scripts/GinanUI/requirements.txt + +# Run Ginan-UI +python -m scripts.GinanUI.main +``` + +You will also need a built `pea` binary available. The binary is expected at `ginan/bin/pea`. If it is not present, `execution.py` will also check the system PATH for a `pea` executable. + +### Running Qt Designer + +Ensure that you have a python virtual environment (sometimes referred to as ``venv``) activated, and run the ``pyside6-designer`` file like so: + +```bash +pyside6-designer +``` + +If the command is not on your `PATH`, run the executable from your virtual environment's `bin/` directory on Linux/macOS or `Scripts\` directory on Windows. This will open a GUI editing software window that makes modifying the front-end of Ginan-UI much easier than editing the XML file ``main_window.ui`` directly. Do this by selecting to open the `app/views/main_window.ui` file. + +### Adding Images / Icons to the UI - Qt Resource Files + +Qt has its own asset pipeline for bundling images and icons into the application. Raw image files cannot simply be referenced by filesystem path in a `.ui` file - they must be compiled into a Qt resource module first. The workflow is: + +1. **Create a `.qrc` file** - this is an XML file that lists the image assets to include. For example, `ginan_logo.qrc` references `ginan-logo.png`. These files live in `app/resources/assets/`. + +2. **Compile the `.qrc` file into a Python module** using `pyside6-rcc`: +```bash + pyside6-rcc app/resources/assets/ginan_logo.qrc -o app/resources/assets/ginan_logo_rc.py +``` + This produces `ginan_logo_rc.py` - a Python module containing the image data as base64-encoded bytes. The `_rc.py` suffix is the convention. + +3. **Import the `_rc.py` module** somewhere in the application before the `.ui` file is loaded. The import registers the resources with Qt's internal resource system. In Ginan-UI this is handled by the auto-generated `main_window_ui.py`, which imports `ginan_logo_rc` and `icons_rc`. When `ui_compilation.py` regenerates this file, it patches the raw `import ginan_logo_rc` lines to the correct package path (`from scripts.GinanUI.app.resources.assets import ginan_logo_rc`). **However this must be updated for all new images added to the UI**. + +4. **Reference the asset in the `.ui` file** using the Qt resource path syntax: `:/prefix/filename` (e.g., `:/icons/help.png`). Qt Designer uses this same syntax when you add images through its built-in resource browser. + +The short version: if you add a new image to the UI, add it to the relevant `.qrc` file, recompile with `pyside6-rcc`, and ensure the resulting `_rc.py` is imported before the UI loads. Do not reference image files by raw filesystem path in the `.ui` file. + +### Recompiling the UI After Qt Designer Changes + +If you modify `app/views/main_window.ui` in Qt Designer, you must regenerate the Python file using ``utils/ui_compilation.py``, or command-line: + +```bash +python -m scripts.GinanUI.app.utils.ui_compilation +``` + +This will recompile `main_window_ui.py` and automatically patch the resource import lines. + +### Building a Distributable Executable + +Ginan-UI is distributed as a standalone executable via PyInstaller. + +Releases are published to the [Ginan GitHub Releases page](https://github.com/GeoscienceAustralia/ginan/releases) for Windows, MacOS, and Linux. See the User Manual (Section 2.2) for platform-specific installation instructions for end users. + +--- +## 10. Testing + +Tests live in `GinanUI/tests/` and are run with pytest. + +```bash +cd /path/to/ginan +pytest scripts/GinanUI/tests/ +``` + +Four test modules exist: + +- `test_ui_compilation.py` - Verifies that `pyside6-uic` is available and that `main_window.ui` compiles without errors. +- `test_executable.py` - Checks that the PEA binary can be located from the development directory structure. +- `test_execution.py` - Tests the `Execution` model class, including config loading, YAML editing, and the `apply_ui_config()` workflow. +- `test_checksum.py` - Validates the SHA512 checksum verification logic used during product downloading. + +Test resources (a sample RINEX file, example YAML config, product lists) live within ``ginan/exampleConfig/`` and ``ginan/inputData/``. The shell scripts `getFiles.sh` and `setFiles.sh` are used to fetch or set up the test input data. + +**Known Gaps:** There is no automated UI testing (no widget interaction tests). The product downloading logic in `dl_products.py` is not unit tested due to its dependency on live CDDIS connectivity. The `RinexExtractor` parsing logic has no dedicated test coverage. + +--- +## 11. Known Issues & Technical Debt + +**Race Condition on First Launch (Qt Segmentation Fault):** On rare occasions, Ginan-UI will launch to a black screen and then crash with a segmentation fault. This is a known Qt initialisation race condition and resolves itself on a second launch attempt. The User Manual documents this for end users. + +**Stop Button Race Condition:** If the user clicks "Stop" before the first download thread has started, and then clicks "Process" again immediately, a core dump can occur because the thread has not yet had a chance to exit. The workaround is to wait for the "stopped thread" message in the "Console" terminal before clicking "Process" again. This is documented in the troubleshooting table of the User Manual. + +**GinanYAMLInspector Wildcard Pattern Handling:** The inspector copies values directly from HTML form fields without adding YAML quotes. Wildcard patterns (e.g., `*.CLK`, `*_ocean.BLQ`) are treated as YAML aliases by ruamel.yaml unless quoted. The `Inspector.fix_inspector_yaml()` method detects and quotes these patterns before parsing, but edge cases with unusual patterns may still cause issues. If you encounter "found undefined alias" errors when saving from the inspector, check for unquoted wildcards in the generated YAML. + +**YAML Artifacts Persisting Between Sessions:** When the RINEX file is changed, Ginan-UI updates specific YAML fields but does not regenerate the entire config from scratch. This means some stale values (e.g., old marker names listed under `receiver_options` ) can persist across sessions. This is usually harmless but can occasionally cause unexpected PEA behaviour. The "Reset Config" button is the remedy as it deletes and fully regenerates the config file from ``default_config.yaml``. + +**CDDIS Server Reliability:** The CDDIS servers have experienced significant reliability issues (notably during the 2025 US government shutdown). The application handles connection timeouts with retry logic, but extended outages will result in failed downloads. This is an external dependency that cannot be resolved within the codebase. + +--- +## 12. Decision Log + +### UI Framework - PySide6 + +Several Python GUI frameworks were evaluated: Tkinter / CustomTkinter, PyQt6, PySide6, and Kivy. + +Tkinter and CustomTkinter were ruled out for lacking the complex UI elements the project required - particularly interactive graph plotting and an embedded web view for HTML visualisations. While third-party themes can modernise Tkinter's appearance, that introduces additional dependencies without solving the underlying capability gap. + +PyQt6 provides the same feature set as PySide6 and is based on the same underlying Qt C++ library, but is distributed under a commercial licence that would require a paid licence for non-personal use. PySide6 is functionally near-identical to PyQt6 but is officially maintained by The Qt Company under an LGPL licence, making it compatible with Ginan being open-source. + +**PySide6 was chosen** for the following reasons: it provides the full Qt feature set (modern widgets, Qt Designer drag-and-drop layout, signals / slots, multi-threading, `QWebEngineView` for embedded HTML, Matplotlib / Plotly integration); it has a modern look that will hold up over time; and its LGPL licence is appropriate for an open-source project. The steeper learning curve compared to Tkinter was considered an acceptable trade-off given that the features requiring that curve - graph plotting, complex layouts, thread-safe UI updates - were hard requirements of the product. + +> **Note for future maintainers:** PyQt6 and PySide6 APIs are nearly identical. If there is ever a reason to switch, the `qtpy` abstraction library (`pip install qtpy`) provides compatibility that allows both to be used interchangeably from a single codebase. + +--- + +### Architecture Pattern - MVC + +A Model-View-Controller pattern was chosen to structure the codebase. This provided a clear separation between the UI layer (`views/`, `controllers/`), the central logic and data layer (`models/`), and supporting utilities (`utils/`). MVC was a natural fit for a desktop application with a clear front-end (Qt widgets) and back-end (PEA execution, file downloading, YAML management), and the original TechLauncher team had prior familiarity with the pattern. + +--- + +### YAML Library - ruamel.yaml over PyYAML + +PyYAML is the more commonly known YAML library, but it does not preserve comments or formatting when writing back to a file. Because Ginan-UI writes specific fields into `ppp_generated.yaml` while leaving the rest untouched - and because advanced users are expected to make manual edits to this file - silently destroying comments and formatting on every write would be a poor experience. `ruamel.yaml` was chosen specifically for its ability to perform targeted in-place updates while preserving all existing comments, indentation, and structure. + +--- +## 13. Glossary + +**ATX** - Antenna Exchange Format. A file format describing antenna phase centre corrections for GNSS receivers and satellites. + +**BDS** - BeiDou Navigation Satellite System. China's GNSS constellation. + +**BIA** - Bias product file. Contains code and phase biases for multi-GNSS processing. Used to populate the Constellations tab code priorities. + +**BLQ** - Ocean and atmospheric tide loading coefficient file. Contains corrections that account for the deformation of the Earth's crust due to ocean and atmospheric tides. Ginan-UI automatically generates station-specific BLQ files using the `interpolate_loading` tool when they are not present in the configured files. + +**BRDC / NAV** - Broadcast navigation message. The navigation data broadcast by GNSS satellites, used as a fallback or supplement to precise ephemeris products. + +**CDDIS** - Crustal Dynamics Data Information System. NASA's geodetic data archive, from which Ginan-UI downloads all GNSS products. Hosted at `cddis.nasa.gov`. + +**CLK** - Clock product file. Contains precise satellite and station clock corrections. + +**ECEF** - Earth-Centred, Earth-Fixed coordinate system. The Cartesian coordinate system used for apriori position values (X, Y, Z in metres). + +**ENU** - East-North-Up coordinate system. Used for antenna offset values. + +**GAL** - Galileo. The European GNSS constellation. + +**GLO** - GLONASS. Russia's GNSS constellation. + +**GNSS** - Global Navigation Satellite System. The generic term for satellite navigation systems (GPS, GLONASS, Galileo, BeiDou, etc.). + +**GPS** - Global Positioning System. The United States' GNSS constellation. + +**GPT2** - Global Pressure and Temperature 2. A tropospheric model used in GNSS processing. + +**IGS** - International GNSS Service. A global collaborative network of GNSS tracking stations and analysis centres that produces the reference products (SP3, CLK, BIA, etc.) used by Ginan. + +**interpolate_loading** - A Ginan binary tool that computes station-specific ocean and atmospheric tide loading coefficients from grid files. Ginan-UI automatically runs this tool to generate BLQ files when a station is not found in the configured loading files. + +**ION** - Ionospheric product file. Contains ionospheric delay corrections. + +**MVC** - Model-View-Controller. The broad architectural pattern used to organise Ginan-UI's codebase: Models (`models/`), Views (`views/`), Controllers (`controllers/`). + +**.netrc / _netrc** - A plain text file storing credentials for network services. Used by Ginan-UI and the `requests` library for authenticating with the CDDIS archive. Located at `~/.netrc` on Unix / MacOS, or `%USERPROFILE%\.netrc` / `%USERPROFILE%\_netrc` on Windows. + +**PEA** - Parameter Estimation Algorithm. Ginan's core GNSS processing engine, compiled as a native binary (`ginan/bin/pea`). Ginan-UI wraps and automates the use of PEA. + +**PPP** - Precise Point Positioning. A GNSS processing technique that uses precise satellite orbit and clock products (as opposed to differential positioning) to compute highly accurate positions from a single receiver. + +**PPP Provider / AC** - Analysis Centre. An organisation that produces and publishes precise GNSS products (e.g., IGS, COD, GFZ, JPL). Referred to interchangeably as "PPP Provider" in the UI and "analysis centre" in the code. + +**QWebChannel** - Qt's JavaScript integration mechanism for bidirectional communication between C++/Python code and web content loaded in `QWebEngineView`. Used by the GinanYAMLInspector integration to intercept the save action and route the generated YAML back to Python for merging. + +**QZS / QZSS** - Quasi-Zenith Satellite System. Japan's regional GNSS constellation. + +**REPRO3** - The third IGS reprocessing campaign. A set of reprocessed historical GNSS products available on CDDIS for older observation data where standard products may no longer be published. REPRO3 is prioritised between the GPS weeks 730 to 2138. Outside of this, the regular products are prioritised. + +**RINEX** - Receiver INdependent EXchange format. The standard file format for raw GNSS observation data. Ginan-UI supports RINEX v2, v3, and v4. + +**RNX** - Common file extension for RINEX observation files. + +**SNX / SINEX** - Solution INdependent EXchange format. Used for station coordinate and metadata exchange. Ginan-UI downloads and validates IGS CRD SINEX files to cross-check receiver metadata extracted from the RINEX file. + +**SP3** - Standard Product 3, also known as the "Orbit" file. A file format containing precise satellite orbit positions (ephemeris). One of the primary dynamic products downloaded for each processing run. + +**TRO** - Tropospheric product file. Contains tropospheric delay corrections. + +**URS** - Earthdata User Registration System. NASA's authentication system for CDDIS access. Credentials registered at `urs.earthdata.nasa.gov`. + +**YAML** - YAML Ain't Markup Language (Yes that is the acronym). The configuration file format used by Ginan's PEA. Ginan-UI reads and writes `ppp_generated.yaml` using `ruamel.yaml` to preserve comments and formatting. + +**GinanYAMLInspector** - An HTML-based configuration editor generated by Ginan's PEA executable (`pea -Y 4`). Provides a comprehensive form interface for editing nearly all Ginan configuration options. When opened from Ginan-UI, the inspector auto-imports the current configuration and intelligently merges saved changes back to `ppp_generated.yaml` whilst preserving keys the inspector doesn't manage. diff --git a/scripts/GinanUI/docs/USER_MANUAL.md b/scripts/GinanUI/docs/USER_MANUAL.md index 3b048e817..68dbff0e8 100644 --- a/scripts/GinanUI/docs/USER_MANUAL.md +++ b/scripts/GinanUI/docs/USER_MANUAL.md @@ -1,8 +1,9 @@ # Ginan-UI ## User Manual ### This guide is written to aid those using the Ginan-UI extension software. -### Version: Release v4.1.1 -### Last Updated: 13th February 2026 +### Version: Release v4.1.2 +#### Written by: Sam Greenwood +#### Last Updated: 16th June 2026 ## 1. Introduction @@ -50,15 +51,13 @@ Ginan-UI is safe to run - the complete source code is available in this reposito 3. Remove the file from macOS quarantine: -``` -bash +```bash xattr -dr com.apple.quarantine /path/to/ginan-ui ``` 4. Run the startup script, which configures environment variables and launches Ginan-UI: -``` -bash +```bash ./run.sh ``` @@ -68,34 +67,30 @@ bash 2. Extract the archive: -``` -bash +```bash tar -xf ginan-ui-linux-x64.tar.gz cd ginan-ui ``` 3. Make the executable runnable (if needed): -``` -bash +```bash chmod +x ginan-ui ``` 4. Run Ginan-UI: -``` -bash +```bash ./ginan-ui ``` **Note:** On some Linux distributions, you may need to install additional Qt dependencies. If you encounter missing library errors, refer to Section 7.1 (Troubleshooting). #### Installation from Source -Follow the below commands, tested with python 3.9+ +Follow the commands below, tested with Python 3.9+: -``` -Install and navigate to the root of the Ginan repository: -cd /ginan +```bash +cd /path/to/ginan pip install -r scripts/GinanUI/requirements.txt python -m scripts.GinanUI.main ``` @@ -108,7 +103,6 @@ When you open Ginan-UI for the first time, you will be taken to the main dashboa ![Dashboard of Ginan-UI](./images/ginan_ui_dashboard.jpg) - To use Ginan-UI, you will require an account with NASA's CDDIS EarthData archives. Once you have created an account here, you can log in by clicking the "CDDIS Credentials" button in the top-right of Ginan-UI:

CDDIS Credentials button in the top-right

@@ -167,7 +161,7 @@ The Ginan-UI interface is divided into two main panels: the left panel for input ### 4.1 Input Configuration (Left Panel) -The left-hand panel contains all the configuration options required to set up Ginan to commence processing. These options are organised into three tabs: **General**, **Constellations**, and **Output**. +The left-hand panel contains all the configuration options required to set up Ginan to commence processing. These options are organised into four tabs: **General**, **Constellations**, **Output**, and **YAML**. #### 4.1.1 General Tab @@ -218,6 +212,12 @@ The General tab contains the primary configuration options for setting up your G - View / edit ENU (East-North-Up) offset values. This allows manual adjustment if your antenna has a known offset position from its reference point. +##### Apriori Position + +- View / edit the approximate ECEF (X, Y, Z) position of the receiver in metres, automatically extracted from the RINEX file header. + +- This is used by PEA as the initial position estimate for the PPP filter. If no apriori position is present in the RINEX file, this field will remain empty and PEA will use its own initialisation strategy. + ##### PPP Provider / Project / Series - Three drop-downs that filter available products based on the provided time window @@ -232,26 +232,6 @@ The General tab contains the primary configuration options for setting up your G - These fields are populated after a valid observation file has been loaded. -##### "Reset Config" Button - -- Resets both the UI and the configuration file back to their default states. - -- The `ppp_generated.yaml` configuration file will be regenerated from the default template. - -- All UI fields will be cleared and returned to their initial placeholder values. - -- This is useful if you have made configuration changes you want to undo, or if you want to start fresh with a new RINEX file without lingering settings from a previous session. - -- A confirmation dialog will appear before the reset proceeds. - -##### "Show Config" Button - -- A button that opens the generated `ppp_generated.yaml` file in your system's default text editor. - -- Allows advanced users to manually edit PEA configuration parameters - -- See Section 6.1 for more details on manual config editing. - #### 4.1.2 Constellations Tab The Constellations tab allows you to manage the observation code priorities for each enabled GNSS constellation on the "General" tab. Code priorities determine which signal types PEA will prefer when processing your data. @@ -276,6 +256,8 @@ Ginan-UI performs automatic validation to ensure compatibility between the provi - **Code priority detection:** The supported code priorities are automatically detected from the PPP provider's `.BIA` file, ensuring that only valid codes are configured. +- **SINEX station validation:** Ginan-UI downloads the IGS CRD SINEX file for your observation date and validates the receiver metadata extracted from your RINEX file (marker name, receiver type, antenna type, antenna offset, and apriori position) against the IGS station database. Any discrepancies are reported in the Workflow log. This helps catch misconfigured or non-standard station metadata before processing begins. + #### 4.1.3 Output Tab The Output tab allows you to specify which output files PEA should generate during processing. @@ -288,10 +270,66 @@ The Output tab allows you to specify which output files PEA should generate duri - **TRACE** (Trace file): Produces detailed debugging output from PEA processing. Disabled by default. +- **SNX** (SINEX file): Generates a Solution Independent Exchange Format file containing station coordinates, velocities, and other geodetic parameters. Disabled by default. + ##### Visualisation Dependency The plot visualisation feature in the right panel depends on the output files being generated. If you disable the POS output, the corresponding position plots will not be available in the Visualisation section after processing completes. +#### 4.1.4 YAML Config Tab + +The YAML Config tab provides controls for managing the YAML configuration file and accessing advanced editing tools. + +##### "Overwrite Config with UI Values" Toggle + +- Enabled by default. Controls whether Ginan-UI should automatically update the YAML configuration file with values from the user interface. + +- **When enabled:** Clicking the "Show Config" or "Process" buttons will write all UI-configured values to fields marked with `#AUTO` comments in the YAML file. + +- **When disabled:** Your manual edits to the YAML file are preserved. Ginan-UI will not overwrite any fields which allows for complete manual control over the configuration. This is useful when you want to make advanced changes to config parameters that are not exposed in the UI. + +- **Note:** Ocean and atmospheric loading BLQ file generation will still occur even when this toggle is disabled, as these are required for proper tide loading corrections. + +##### "Show Config" Button + +- Opens the generated `ppp_generated.yaml` file in your system's default text editor. + +- If "Overwrite Config with UI Values" is enabled, the file will be updated with current UI values before opening. + +- If disabled, the file will be opened as-is without any modifications, preserving your manual edits. + +- Allows advanced users to manually edit PEA configuration parameters that are not exposed in the UI. + +- See Section 6.1 for more details on manual config editing. + +##### "Reset Config" Button + +- Resets both the UI and the configuration file back to their default states. + +- The `ppp_generated.yaml` configuration file will be deleted and regenerated from the default template. + +- All UI fields will be cleared and returned to their initial placeholder values. + +- This is useful if you have made configuration changes you want to undo, or if you want to start fresh with a new RINEX file without lingering settings from a previous session. + +- A confirmation dialog will appear before the reset proceeds. + +##### "Edit Config in Inspector" Button + +- Opens the GinanYAMLInspector tool in an embedded browser window. + +- The inspector provides a graphical interface for editing the YAML configuration with more advanced options than the main Ginan-UI interface exposes. + +- **Auto-import:** The current `ppp_generated.yaml` configuration is automatically loaded into the inspector when opened. + +- **Save integration:** When you click "Save file" in the inspector, the changes are automatically merged back into `ppp_generated.yaml`. Keys that the inspector doesn't know about are preserved which ensures manual edits to unsupported fields will remain intact. + +- **Inspector generation:** If the GinanYAMLInspector HTML file does not exist, Ginan-UI will automatically attempt to generate it using the PEA executable (`pea -Y 4`). + +- This feature is particularly useful for bulk configuration changes or when working with configuration options that require the full flexibility of the inspector's interface. + +- See Section 6.2 for more details on using the GinanYAMLInspector. + ### 4.2 Monitoring & Output (Right Panel) The right-hand panel contains all the monitoring tools for Ginan-UI's functionality and Ginan's processing, as well as managing your CDDIS credentials. @@ -320,7 +358,13 @@ The right-hand panel contains all the monitoring tools for Ginan-UI's functional - The visualisation panel displays an interactive HTML plot that is generated using the `plot_pos.py` script after PEA completes its processing. It allows the user to view, pan, zoom, hover over tooltips, and toggle legends. -- Below the visualisation panel, the user can choose to open the plot in their system's default web-browser, or switch between the other generated plots. +- Below the visualisation panel are controls for managing how you view the plots: + + - **Visualisation selector dropdown:** Switch between different generated plots (e.g., position plots, smoothed position plots). This dropdown is automatically populated based on the HTML files generated during processing. + + - **"Enlarge" button:** Opens the current visualisation in a separate resizable pop-out window. This provides a larger viewing area while keeping Ginan-UI accessible in the background. The pop-out window uses an embedded browser (QWebEngineView) and can be freely resized, minimized, or maximized. + + - **"Open in Browser" button:** Opens the currently enabled visualisation plot in your system's default web browser for full-screen viewing or external analysis. - **Note:** Plot visualisation is only available when the corresponding output file type is enabled in the Output tab. For example, position plots require the POS output to be enabled. @@ -344,9 +388,32 @@ The right-hand panel contains all the monitoring tools for Ginan-UI's functional ### 5.1 What Happens When You Click "Process" -Once all required parameters within the UI are filled and the "Process" button is clicked, Ginan-UI will begin downloading the required dynamic products from the CDDIS EarthData servers. These primarily include the `.bia`, `.clk`, `.nav (BRDC)` and `.sp3` files. +Once all required parameters within the UI are filled and the "Process" button is clicked, Ginan-UI will begin downloading the required dynamic products from the CDDIS EarthData servers. These primarily include the `.bia`, `.clk`, `.nav (BRDC)` and `.sp3` files. Each downloaded file is verified against its SHA512 checksum published on the CDDIS server to ensure the download is complete and uncorrupted. If a previously downloaded product is found in the archive from a prior processing run, it will be restored from the archive rather than re-downloaded. + +Ginan-UI will also download and validate the IGS CRD SINEX file for your observation date, cross-checking the receiver metadata from your RINEX file against the IGS station database. Any discrepancies are reported in the Workflow log. + +#### Ocean and Atmospheric Loading Support + +Before PEA processing begins, Ginan-UI automatically verifies that ocean and atmospheric tide loading corrections are available for your station: + +- **BLQ file verification:** Ginan-UI checks the configured `.BLQ` files (referenced in `inputs.tides.ocean_tide_loading_blq_files` and `inputs.tides.atmos_tide_loading_blq_files`) to determine if your station already has loading coefficients. -Once these have successfully downloaded, Ginan's PEA tool will be automatically executed with the generated `.yaml` configuration file. This processing can be observed within the "Console" log tab which should look similar to PEA's command-line interface output. +- **Automatic generation:** If your station is not found in the existing BLQ files, Ginan-UI will automatically generate station-specific loading corrections using the `interpolate_loading` tool: + + 1. Downloads loading grid files (`oceantide.nc` and `atmtide.nc`) if not already present + 2. Runs `interpolate_loading` to compute ocean tide loading coefficients from your station's ECEF coordinates and writes them to a `{STATION}_ocean.BLQ` file + 3. Runs `interpolate_loading` again to compute atmospheric tide loading coefficients and writes them to a `{STATION}_atmos.BLQ` file + 4. Updates the YAML configuration to include these new BLQ files alongside the global reference files + +- **Progress reporting:** The loading generation process is reported in the "Workflow" log with progress indicators showing download and computation status. + +- **Configuration preservation:** When "Overwrite Config with UI Values" is disabled in the YAML Config tab, the loading BLQ generation still occurs and updates the configuration file. This ensures proper tide loading corrections are applied even when you are manually managing the YAML configuration. + +This verification confirms that tide loading corrections are properly configured without requiring the user to manually interpolate or manage BLQ files. + +#### PEA Execution + +Once all products and loading corrections have been prepared, Ginan's PEA tool will be automatically executed with the generated `.yaml` configuration file. This processing can be observed within the "Console" log tab which should look similar to PEA's command-line interface output. Once it finishes processing, the `plot_pos.py` script will be called automatically to plot the resulting `.pos` and `_smoothed.pos` files generated during processing, and the plots will appear within the UI under the "Visualisation" heading. @@ -356,7 +423,7 @@ Ginan-UI automatically downloads all required products for GNSS processing from #### Static Products (Metadata) -Static products are reference files that rarely change and are downloaded once when Ginan-UI is launchd for the first time. These include: +Static products are reference files that rarely change and are downloaded once when Ginan-UI is launched for the first time. These include: - **ATX** (Antenna exchange format) - Antenna phase centre corrections @@ -376,7 +443,7 @@ Static products are reference files that rarely change and are downloaded once w - **GPT2** (Global Pressure and Temperature 2) - Tropospheric models -These fies are stored in `scripts/GinanUI/app/resources/inputData/products/` and are automatically archived when they become outdated (typically after one week). Fresh copies are then downloaded on the next program launch. +These files are stored in `scripts/GinanUI/app/resources/inputData/products/` and are automatically archived when they become outdated (typically after one week). Fresh copies are then downloaded on the next program launch. #### Dynamic Products (Observation-Specific) @@ -412,9 +479,13 @@ When you click "Process", Ginan-UI will: 2. Query for the available products for the provided time window from the CDDIS servers -3. Download any missing dynamic products with progress indicators shown in the "Workflow" log tab +3. Check the local archive for any previously downloaded products that can be restored, to avoid re-downloading + +4. Download any remaining missing dynamic products with progress indicators shown in the "Workflow" log tab -4. Verify all required products are present before launching PEA +5. Verify each downloaded file against its SHA512 checksum published on the CDDIS server to confirm integrity + +6. Verify all required products are present before launching PEA If a product cannot be found (which is common for either very old or very new RINEX observation files), Ginan-UI will inform you that the selected provider does not have the products available for your time window yet. Different PPP providers publish their products with varying latencies. Ultra-rapid (ULT) are available within hours, Rapid (RAP) are available within about one day, and Final (FIN) may take one or two weeks. @@ -426,7 +497,7 @@ Ginan-UI will automatically archive both products and output files to prevent co #### Product Archival -Product files are automatically archived in the follow situations: +Product files are automatically archived in the following situations: - **On Application Startup:** Static products older than seven days are moved to timestamped archive folders within `scripts/GinanUI/app/resources/inputData/products/archived/`. Fresh versions are then downloaded to replace them. @@ -483,19 +554,29 @@ Ginan-UI has several important directories for its operation. All paths are rela ### 5.5 How the YAML Config is Generated -The `.yaml` configuration file that is generated for Ginan's PEA processing originates from the template config file located within `scripts/GinanUI/app/resources/Yaml/default_config.yaml`. This template file is copied if no config file exists within `scripts/GinanUI/app/resources/ppp_generated.yaml`, or if one does exist already, the `ppp_generated.yaml` file is instead overwritten. Keep in mind however that this may maintain some artifacts from previous config generations, which can be useful in some use cases. +The `.yaml` configuration file that is generated for Ginan's PEA processing originates from the template config file located within `scripts/GinanUI/app/resources/Yaml/default_config.yaml`. This template file is copied if no config file exists at `scripts/GinanUI/app/resources/ppp_generated.yaml`. If `ppp_generated.yaml` already exists, Ginan-UI reuses it and updates only the fields it manages so manual edits and unsupported keys are preserved where possible. -If you would like to instead generate a fresh `ppp_generated.yaml` file, simply delete `ppp_generated.yaml` and on the next processing run, a new config file will be generated from the `default_config.yaml` template file. +If you would like to generate a fresh `ppp_generated.yaml` file, use the "Reset Config" button or delete `ppp_generated.yaml`; on the next processing run, a new config file will be generated from the `default_config.yaml` template file. ## 6. Advanced Usage ### 6.1 Manual YAML Editing -For experienced users of Ginan who need fine-grained control over Ginan's processing, the `.yaml` configuration file can be manually edited via clicking the "Show Config" button.This will open `ppp_generated.yaml` in your system's default text editor. +For experienced users of Ginan who need fine-grained control over Ginan's processing, the `.yaml` configuration file can be manually edited by clicking the "Show Config" button in the YAML Config tab. This will open `ppp_generated.yaml` in your system's default text editor. + +#### Controlling Automatic Overwrites + +The "Overwrite Config with UI Values" toggle in the YAML Config tab controls how Ginan-UI interacts with your YAML file: + +- **When enabled (default):** Ginan-UI will automatically update fields marked with `#AUTO` comments in the YAML file whenever you click the "Show Config" or "Process" buttons. This ensures the config values remain synchronised with the UI selections. + +- **When disabled:** Your manual edits are fully preserved. Ginan-UI will not overwrite any fields in the YAML file which gives you complete control. This is useful when you need to configure advanced options that are not exposed in the UI. + +**Important:** Even with automatic overwrites disabled, ocean and atmospheric loading BLQ file generation will still update the configuration file to ensure proper tide loading corrections are applied. #### Persistence of Manual Changes -Manual user edits are preserved across most operations as Ginan-UI will only update specific fields when necessary: +When "Overwrite Config with UI Values" is enabled, Ginan-UI will only update specific fields marked with `#AUTO`: - RINEX metadata (time windows, constellations, receiver / antenna information) @@ -503,9 +584,11 @@ Manual user edits are preserved across most operations as Ginan-UI will only upd - Output directory paths -All other parameters like processing strategies, filter settings, quality control thresholds, satellite-specific options will all remain untouched. +- Ocean and atmospheric loading BLQ file paths + +All other parameters like processing strategies, filter settings, quality control thresholds, and satellite-specific options will remain untouched, preserving your manual customisations. -**Note:** YAML artifacts may persist between sessions. For example, marker names within `receiver_options` may remain if not explicitly overwritten, though this rarely causes issues. +**Note:** YAML artefacts may persist between sessions. For example, marker names within `receiver_options` may remain if not explicitly overwritten, though this rarely causes issues. #### Resetting to Default @@ -513,7 +596,7 @@ If you experience any configuration errors and want to start fresh, you have two **Option 1: Use the Reset Config Button** -Click the "Reset Config" button in the General tab. This will regenerate the configuration file from the default template and reset all UI fields to their initial state. A confirmation dialog will appear before the reset proceeds. +Click the "Reset Config" button in the YAML Config tab. This will delete the configuration file and regenerate it from the default template, and reset all UI fields to their initial state. A confirmation dialog will appear before the reset proceeds. **Option 2: Manual Reset** @@ -525,6 +608,61 @@ Click the "Reset Config" button in the General tab. This will regenerate the con **Warning:** Invalid YAML syntax (like incorrect indentation, mismatched quotes, and malformed lists) will cause PEA to fail. Please verify your formatting if you encounter configuration-related errors in the logs. +### 6.2 Using the GinanYAMLInspector + +The GinanYAMLInspector is a browser-based configuration tool that provides a more comprehensive interface for editing Ginan's YAML configuration than the main Ginan-UI panels expose. It can be accessed by clicking the "Edit Config in Inspector" button in the YAML Config tab. + +#### What is the GinanYAMLInspector? + +The GinanYAMLInspector is an HTML-based interactive form generated by Ginan's PEA executable. It provides structured input fields for nearly all configuration options available in Ginan, organised by category. This tool is particularly useful for: + +- Making bulk configuration changes across multiple parameters +- Accessing advanced configuration options not exposed in Ginan-UI's main interface +- Reviewing the full range of available Ginan configuration options +- Fine-tuning processing parameters for specialised use cases + +#### How to Use the Inspector + +1. **Opening the Inspector:** Click the "Edit Config in Inspector" button in the YAML Config tab. Ginan-UI will: + - Ensure the inspector HTML file exists (should be auto-generated via `pea -Y 4`, do manually if needed and place the HTML file in `scripts/GinanUI/app/resources/Yaml/`) + - Open the inspector in a new browser window + - Load your current `ppp_generated.yaml` configuration + - Open the inspector in an embedded browser window + +2. **Auto-Import:** When the inspector opens, your current configuration is automatically loaded into all the form fields. You don't need to manually import the file. + +3. **Making Changes:** Navigate through the inspector's sections and modify any parameters you wish to change. The inspector organises configuration options into logical categories (inputs, processing options, outputs, etc.). + +4. **Generating YAML:** After making your changes, click the "Generate YAML" button in the inspector. This converts your form inputs into YAML format and displays it in a text area. + +5. **Saving Changes:** Click the "Save file" button in the inspector. Instead of downloading a file, Ginan-UI intercepts this action and: + - Validates and sanitises the generated YAML (e.g., properly quotes wildcard patterns like `*.CLK`) + - Deep-merges the inspector's output onto your existing `ppp_generated.yaml` file + - Preserves any configuration keys that the inspector doesn't know about + - Updates the UI fields to reflect the saved changes + - Displays a confirmation message + +#### Key Features + +**Intelligent Merging:** Unlike manual file editing, the inspector save process preserves configuration keys that weren't included in the inspector's output. For example, if you only edited processing parameters in the inspector, your custom output settings and constellation-specific configurations remain untouched. + +**Wildcard Handling:** The inspector automatically handles special YAML characters. Wildcard patterns (e.g., `*.CLK`, `*_ocean.BLQ`) are properly quoted to avoid errors in parsing the YAML. + +**Fallback Validation:** If the merged configuration produces invalid YAML, Ginan-UI automatically falls back to a clean write without comment preservation, ensuring the save always succeeds. + +**Respects Overwrite Toggle:** The inspector works independently of the "Overwrite Config with UI Values" toggle. You can use the inspector to make changes even when automatic UI overwrites are disabled. + +#### When to Use the Inspector + +Using GinanYAMLInspector is not required, however it can be useful for more advanced users. Use it when you need to: + +- Configure many parameters not available in Ginan-UI's main interface (e.g., satellite-specific quality control settings, advanced filter parameters) +- Make coordinated changes across multiple related configuration sections +- Review the full scope of Ginan's configuration options to understand what's available +- Quickly enable / disable features by checking or unchecking inspector form fields + +For simple changes like adjusting the time window, mode, or output formats, the main Ginan-UI interface is more convenient. + ## 7. Troubleshooting ### 7.1 Common Issues @@ -543,6 +681,10 @@ Click the "Reset Config" button in the General tab. This will regenerate the con | Disk space errors during processing | Insufficient disk space for downloading products or writing PEA outputs. | Free up disk space. Products can consume several GB depending on time window and number of constellations. Check available space in both the products directory and your selected output directory. | | Constellation mismatch warning | The constellations in the provided RINEX file do not match those available in the selected PPP provider's SP3 file. | Select a different PPP provider that supports the constellations in your RINEX file, or disable the unsupported constellations in the "General" config tab's "Constellations" field. | | No valid PPP providers found for older data | The RINEX file is from a time period where standard PPP products are no longer available in the main CDDIS directory. | Ginan-UI will automatically attempt to use REPRO3 products for older data. If no providers are found, the data may be too old for available PPP products. | +| Ocean / atmospheric loading BLQ generation failed | The `interpolate_loading` tool failed to generate loading corrections, or the loading grid files could not be downloaded. | Check the Workflow log for specific error messages. Ensure you have a valid apriori position for your station. If the loading grid files are missing, check your network connection and CDDIS credentials. Processing may continue without loading corrections but with reduced accuracy. | +| GinanYAMLInspector not opening or HTML generation failed | The inspector HTML file doesn't exist and couldn't be auto-generated, or the PEA executable is not available. | Manually generate the inspector by running `pea -Y 4` from the command line and place the output `GinanYamlInspector.html` in `scripts/GinanUI/app/resources/Yaml/`. Ensure the PEA executable is accessible in your PATH or in the expected location. | +| Inspector save produces invalid YAML | The inspector generated YAML with syntax errors or the merge process failed. | Check the Workflow log for specific errors. Ginan-UI has automatic fallback handling, but if issues persist, try using "Show Config" to manually edit the YAML instead. Report persistent issues with the inspector output. | +| Manual YAML edits being overwritten | The "Overwrite Config with UI Values" toggle is enabled and UI values are being written to `#AUTO` fields. | Disable the "Overwrite Config with UI Values" toggle in the YAML Config tab before making manual edits. This prevents Ginan-UI from overwriting your changes when you click "Show Config" or "Process". | ### 7.2 Log Message Interpretation @@ -568,7 +710,7 @@ Common issues you may see in the logs: - **YAML configuration errors:** Syntax errors may cause PEA to fail on startup if you have manually edited the `.yaml` config file. -- **Disk space issues:** Ginan-UI has encountered problems when disk space is very limited. Please ensure you have at least a 2 - 3 Gb of disk space free. +- **Disk space issues:** Ginan-UI has encountered problems when disk space is very limited. Please ensure you have at least 2 - 3 GB of disk space free. #### Tips @@ -604,7 +746,7 @@ When reporting issues, please include: - Any error messages from the Workflow / Console logs - Screenshots if relevant -**Note:** Ginan-UI was developed as part of the ANU TechLauncher program in collaboration with Geoscience Australia. For general enquiries about Geoscience Australia's GNSS analysis capabilities, visit [www.ga.gov.au](www.ga.gov.au) +**Note:** Ginan-UI was developed as part of the ANU TechLauncher program in collaboration with Geoscience Australia. For general enquiries about Geoscience Australia's GNSS analysis capabilities, visit [www.ga.gov.au](https://www.ga.gov.au) ## 8. FAQ @@ -620,16 +762,32 @@ Here are some answers to the frequently asked questions: **Q:** *"Why is PEA giving me a configuration error?"* -**A:** This could be due to a product file being deleted erroneously, which would resolve on the next click of the "Process" button, or due to manual changes to the `.yaml` config file. The app **does not overwrite** the `ppp_generated.yaml` file when the `.rnx` file is changed or when the app is restarted. If you wish to reset to the default config, click the "Reset Config" button in the General tab, or delete the file in `ginan/scripts/GinanUI/app/resources/ppp_generated.yaml` and then run the app again. +**A:** This could be due to a product file being deleted erroneously, which would resolve on the next click of the "Process" button, or due to manual changes to the `.yaml` config file containing invalid YAML syntax. If you wish to reset to the default config, click the "Reset Config" button in the "YAML" tab, or delete the file in `ginan/scripts/GinanUI/app/resources/ppp_generated.yaml` and then run the app again. **Q:** *"How do I reset the configuration to default?"* -**A:** Click the "Reset Config" button in the General tab. This will regenerate the configuration file from the default template and clear all UI fields back to their initial state. Alternatively, you can manually delete the `ppp_generated.yaml` file. +**A:** Click the "Reset Config" button in the "YAML" tab. This will delete and regenerate the configuration file from the default template and clear all UI fields back to their initial state. Alternatively, you can manually delete the `ppp_generated.yaml` file. + +**Q:** *"What does the 'Overwrite Config with UI Values' toggle do?"* + +**A:** This toggle in the YAML Config tab controls whether Ginan-UI automatically updates the YAML configuration file with your UI selections. When enabled (default), clicking either the "Show Config" or "Process" buttons will write UI values to fields marked `#AUTO` in the YAML. When disabled, your manual edits are fully preserved and Ginan-UI won't overwrite any fields. Note that ocean and atmospheric loading BLQ file generation still occurs even when disabled. + +**Q:** *"How do I use the GinanYAMLInspector?"* + +**A:** Click the "Edit Config in Inspector" button in the YAML Config tab. Your current configuration will be automatically loaded. Make changes in the inspector's form fields, click "Generate yaml", then click "Save file". The changes will be intelligently merged back into your configuration while preserving keys the inspector doesn't manage. See Section 6.2 for detailed instructions. + +**Q:** *"What are ocean and atmospheric loading BLQ files?"* + +**A:** BLQ files contain tide loading corrections that account for the deformation of the Earth's crust due to ocean and atmospheric tides. Ginan-UI automatically checks if your station has these corrections and generates them if needed using the `interpolate_loading` tool. This happens automatically before PEA processing begins, ensuring accurate positioning results. **Q:** *"Why is the plot visualisation disabled or not showing?"* **A:** Plot visualisation depends on the corresponding output file being enabled in the "Output" tab. If you have disabled the POS output, the position plots will not be available. Enable the required output type and re-run processing. +**Q:** *"How do I view the visualisation plots in a larger window?"* + +**A:** Use the "Enlarge" button below the visualisation panel to open the current plot in a separate resizable pop-out window. This provides a larger viewing area while keeping Ginan-UI accessible in the background. Alternatively, use the "Open in Browser" button to view the plot in your system's default web browser. + **Q:** *"Can I process older RINEX files?"* **A:** Yes. Ginan-UI supports RINEX v2, v3, and v4 files. For older data (typically more than three years old), Ginan-UI will automatically search the REPRO3 directory for reprocessed products if standard products are not available. @@ -649,4 +807,4 @@ This project was designed during the Australian National University's TechLaunch - Fan Jin - Songxuan He -Special thanks to Simon McClusky at Geoscience Australia for their continuous support and guidance throughout the project's development. \ No newline at end of file +Special thanks to Simon McClusky at Geoscience Australia for their continuous support and guidance throughout the project's development. diff --git a/scripts/GinanUI/docs/images/cddis_credentials_button.jpg b/scripts/GinanUI/docs/images/cddis_credentials_button.jpg index 7e670f196724227833cdad416adc187be577b2f5..a5e97ae6e7ab90404064edc45bd5d91eb6fbf465 100644 GIT binary patch literal 284709 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%0DpG>YqbnSUisv2j{*zj6~vhGJN=a-lPyWD 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 V8W&s6#WdKXY@3B~;P^iNKLD$;JXZh! literal 252502 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

b=k({wG7eK3oyw&`eyk2*)Vdu!T_B}n4~tDUDJ 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 diff --git a/scripts/GinanUI/docs/images/cddis_credentials_screen.jpg b/scripts/GinanUI/docs/images/cddis_credentials_screen.jpg index a4dcd4e013d27648f22a3b0ecd1c18ef9de4b645..bfb55695f5925813dc11bdd9ab7b4b27d34caf87 100644 GIT binary patch literal 6532 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 TmKD2u^HAS7*#BZjK)wG3>{Vm_ diff --git a/scripts/GinanUI/docs/images/ginan_ui_dashboard.jpg b/scripts/GinanUI/docs/images/ginan_ui_dashboard.jpg index c13c37754e16e613ea3439ef5fdeb40e009f427c..642c29765ab470e40ec2289032c61d85ce8a9139 100644 GIT binary patch literal 116905 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®-UIWU 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

;?^-jrM> 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 I?>vt9UpXyY{{R30 literal 88692 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 UDEP$x)P@1Tikb>_^6$d_3#qohwg3PC literal 19331 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 dem->`m2WGRzX^I7kH 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%0AGo15%mdEy~BUxMy&Ymg>q}X`#D13s3hmU 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

NQ^Wa=?in0V`hnZ*RJ(>s2R}BJ!++=OkLTxi4 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 literal 250711 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În){*zY9E2U;{=#5~~${(uyqk>z|kqPhgErgtrtIs&@IwULVm&K=2F zz=C==aJe^!59%fV^4md#nn?YRfOjUn9|XJ#7JfAd^hUZJ0Pd`%YTO?&o1j5@JqKaX zTQfkTmGD2}^_+$11jI&5qj#z$nE1aQ%W0Ndd4G+M8$#^}h0o#R@pH?BY;+Z3^i8H^ z4C%>U8oXz})#Zv&=pFIGtP&h=ZPqUZsFwEJ19YPjmnxMZM}iV{raUwwX6^xSb7D$E z(S?Q49J)08(&(5xOL4;#00d@;_y1<@j|ee0^Z@+d8VaOaC<;1Uf}GRr{)+CJvgz!R zI~@9G5M>U1g%=znUcr}CPKFB7`9Sbo7Wsv3y=f4Fe`c1Oa=stI$uNa0rV+5RUgK0SGI_SRV)XL9O%t7VmFedX z+TAN~xmaC}vIzthq+9usCa9rDCu;u&>Dv25;V~ z=(|_^O$MNY#L?0b0_^3p5g>;9z^h*t!34{)EdnauK=WOoV`mWcH$bvs1~-Eip#;2!~&~s_5 zmPx<8h#AA#4TJR)3`W=TZ?3OP6HgAI#A|=vkSm5>F~0y-`nE@SZZIhnCC`T?xC zVGMC!JNoi$aFuECWK?8SP{_i?(V0d0t21W7(*9b;#=i0iX$14=zkTZQFAO^|_0}kZ zCcrM@{~xC4zbUEbcl0CCjVK;3a^^N|-0@D*Ak9NX#R%(*%ICo`*io{KTG@u{i58WeazCrlhYdoOnM zE`Ofab6T!`0Aud_dpKpY)K}dCb<%p*{(-WB%{1CXQ3i&J7{8%t5aq z&cT=3+MVv%gsCBv5mbXeLBUZtL|N2;0(!CuoE{d7q5)G+^Qk>Hs73**wkM}(l%o1v zKzRZ79*38k!pF)|Wyi$2RM4s4{pw>`CR~HACCbBI`TR!jpc%`m(c#6r+lRZ|YV5sx zD$2|IizhFNH@3y^w!C%It6k?zU&+PPXMIGcnrN@TT3eAEMdSCQ1s+U8UD&9y^7Hvm zgPFI3%_1w^r2|ZC%g|rXM>Cj0u*LpkMne94!cIC2(KG(?9krvCU!j)8OVBICY6Qyv zui0Ms+a+M)%t=q5Ux;dlo-V3oh$f}|%;JK-ewlV+ZpOvQzCXDy@$=f+Q}gBX1D}~t z`ro{KJ2B^e9UrO^Em3{SU)yaworm@TX3oEP@#^c(KCCRC48ABq7~V@;B)JCQq!r-V zhx%y;p!!|`2U#5B!16f&A{8?(XaCp4fb<9)^>OKlGBS(7i#Rh#&EK48MT@i<)Q2d* zD~iF9W1C9{144=E7h~kW3J79Bv%>|@pfSKcTgDcrsPjw{l-SaO%5wkQP!h&Nh$SVn z|N812;YGh~ypFQ8tUlB9`I+f#>WVYB!fuBM!)~*mg$2=})+j&mMySD)DR3r=web~| z=tlY#ymW0jddX~dCdB1Jz?15y06@taHro+8#|!egP? z?tf|?0Wlh$fQz1wa9?}^^}YFvp1oz$7opPhhCFx~e$p&I;8p;B6`p%$geV{3B|YGk z9BkLf(C#XusRo%>`e4danY{zZB#{vgxKjY9KEk|?(JFr#*=qGp;62TX6)YSU?3=0ze_CI1+><33 zCYC(!o)6YSt(NOBs`7kBc8zscP_`13zR84>R&a-}Ru!GNvkUE_CThCmpV~zN9-!cG zOa5RG_o<_@rkUb~hbMkA8988{M^v{C3BSwRn{OWfnzs%RbA~emnmZ~*$#9gS*&Ds{ z+jU2#2XhQw{#>IYjAHHRtyJf~q{~wqo0rXJ`X#+2t9d61##NGwA9)$R8Tq0q+w{`& zRzv-UikN%O_YCr0fyB_nv=I1qV!QZAx*DCtgg-qG&U zcI^?Na)B8it~(bGY)@(LvbI<@({p_F6AdX*uy7q`i6{etf+an{RP34&nj%h*jD-`P zz*db}##QFk>di!|2AgW?6h3I4gi{_%RX+e{pc+nCH{k}LOp>Jwt%Q%n4{d0KAm5(; zRcqpQ?D4W0KbB@`^5%S5Oq#~J{LYHiHn*MAONQdi9M(N@SQC51egta$A?S|Vdm*W? z+2n)p_`6H-TPtv60=3~-l@c&QQ%gK@0)l_#zs3u#Wmz1d3lQ7s zwsfD1<6{yzt7}d8p)%v<;?!Hx8^GgD!6{b5Wk$?SCRa%i@Pb^!-df62M!fET1?R?rQm-aU&3y&BXuryY~X$8p?h(4}AsTKR*tv<37;(|v}G zVj{8)xB3(4bU*gI6CrXrlf;S8N#e>tF$amC!%ntpy9*YOqdv{!q6K6fa!7+ zT|HSYO_<0QgmT>{#KuL%VR-{^LOo6u?SZM!#KWi>J-OCr?{eI=x{!?@v@?f~SDn&s zx%YDapwY8ok-e3@`3Boh?lbkUETT}yYcFgTJTtK@6&{HEyf81YvA_A%2eVOa2{6T2K`Q(6V%CO7e2^9lI| zGqqKjUE4+r!nZLm1xYFw$H*D1R*U!K%SYP!Ch0Ci(G` zJoDC*v0ir;R+Aj^QSlZw;n*SZa3bQ!y+UP}3Z9HzbC(|YI2VioZPGM}@(J=fSYP5q z4zGo6gZc7p8%Aj*=}nM4$qSG)P%LSf!0KAcb~tWuo%8|4Y<#?!ME!}d+Wa~~`6ly+ z)_S7CXfpSg_C{{pHG;PKgVWC~`kX!xdv-nfJZ5P~8$TW$9+vc#m3t>-=WSP_slmY` z3+FC!cc1&gWM!B6`exH2Gbdf07ELqX^>1qkZfT#1TT9&ntgy`-Swscy60ThzV!cd| zz=KkXLd*Ld>nj#0@&er?vRkFkuJ$t8WH$F=u=@U2>>px5Ddz@(=)A11jE3|KP=eMW zB{wolWGCf#MA#+|HVPMF&{csUph}AMldwCD*C%hZpCOYHu}`Gmo$wVHW`L#FDr5)+vI!S7WAKY;}+^D zM5)=owf8j@Sm)at`+DB~dL(*`9<1WoKk2s^94s+G+u0f`hLeC-@5f2$Bzd;5G@?=> zG0J_2u2AsNh`gzwxI%1~WEM=6$fC-#kH2p(&jsVT;#Xf2u_xpTd&)1~+Jkop^v40Y zru6th_WTpU1ipm&ido{{-oNZo4`w|*C4#74GODnP*^r@jE1MM67{;45&UAz1kV4=6_D@?5HJxZ7UJQI|gbm})khR}hI9m^h!mPe9p zJCL_LfqtREp0W}pP^xh~8CB-2R)P!gtE8^doAX7dn`u9wdgF}U-SeUA#(|_A0e_OH z98=klk(&=a!vp)SMq(c9Hj6|1_M&}4#p~w>zcVp7Gb}@&%sdxf%Nz(p*^g2(eb+ZS z++n$-GQ^qNrnm9>akgjjHhAk2bn6M*d5QhHY3z60AS6iHO|Iujb!gGVK)&{jP^ORgSU4@W z!)fD{$Uoa9)oxq1ZP0y`KABS-DE6CZmz*5!Jxebbb&Ce6Xf<_ST~K`1p z4U#YzCt3HsHF2k19yoh=Yibrgshci5plBai%|MEDI-Q`cbD>w68nt$OsXG@JD~RP$ zs)UYq8dtk;n*KCEpAy5DZVtfAs9Q3xGoLfLo7+vYa15BpZmhsQ{kzMP~rLP8s z6gT+o*Ye&ZB`}yO4rx2ycKLiL_DDK@9Pg`N4+Oo-bj;uJ9lu#?g0% zhG(AFnkd+b9P_sEGY%9EO&>J6toORdyQ24kW3Vg7z`k!*MdU3_jbvibKZvWKvu(Xr z^>}s08c%qVY;*bPAAuTb`GZ7^=V-NEoLN!O!LB)P!=`Gv70y*pzFR4%`d-U|-b=ma z>0JJVYzJVBACJT7T(>yEQSawM_eo|hR9`GWYxqTxwHtEH<2QP0;OM}|HEG7IWo#bF z=zxMiwIf`>8qgJ**mG^WDbOmC@7q8SF;)tHE7V=9f6&2csCduKqh)!R=v_C*o)i|- z_ZnfNo>`3uKBy=RP1`=L1ckr>7qc%J&AIh?6NY$W+Nuo#u(XU9?8FijlcGUIu7^V7 z(=KSF=nrgRcR|9vmY&8Q`jqWOaGK{{N?;wP?eOmJDjEtY$Za9)&Qa~1>wGa}l>T^? z-unOPQF;TEf_+=**CWo;ZNN>6C!Sxi&KuM{{0}1bSL=>M4ND;w_T_g;#-LV#4*M?1 z9I@rl=0Wu>V{nyT%`D2~rhi^$t4@K~$Zp9M!0`Uh*Ws5q@&B2-|F;*4eWf3x4Q!_? zODoR_(76)5`p3bZd(O&{=Im4JXEso1|I*Ix4>qzHsMoW{`{5;pK*a8M#&&kIu!}99 zS5{=?Cbgvbal@JGKM`Cb^9XTs_!dca5%nB^TixF(WAn9luI(mmC1@W14$kL;M}^eNRJg<&OnKzU zQ&_t>Ya{xp1E@Yj%3vO5)^{+==bSD#YH4)?2<(wx!`Bxq{&TodQeIk`?(BPJKH480 z6k(2*j?H(rpR1m_^e`G*PruGw!!ReY&^7ot@k${kiOE$L(vtC|P`PQ5EUM3mN0$K< zA7;6t?CyEa63VJi{|>f0E>x!@_I5eeM;nef94<)?AUcL>6}QkSe9=_p!J?po=ty=+ zMcu98W5)*GhWqz=jn>sHyu4QvG%CFmw@w7)nn04_%76ZN`S+?8sz<2S+3Jt)-VN=Y z;yleUKJ@M))8IlS#q}~pHkU*knUS@9}pgxrQqx8F-CVRe5>gX?aHlQ`?2+yI-GL z)c2k4e~=W@5#~s6x;V{f9#%q32u&RES|wCfOLYmKgbrYo@Mltjn(&H6b3J1P zd4(V}H8R-d5F8mMENH~(cFrqlreIvrrtZiTU3=JfF!Tmxv!!f&B#5e3a)s)NZSmIF zH;Yb|pk4XHs@l5Z(=P58%k`X}RJ7+fn*=h6<)M9=>I+}N);&^Shwrp4O!ZtrL&1z4AtZ5ftCajCw`s)nn;eL&0Wxo_=47F&Etf~nRK(P5IA!h3Bk%4se)FI+W8p$Fx#DX@ zn|Ok95MT(V2yjs!ftpk95iSv6-&3Ki>1!N87Fk{Th_Vx^x0eE#d=Da#jp+Z1-sM+ycV$OQjufCS<^2XhD(E>xN5fSBez}{D~H|gO?LNL1@v*I+03Fc2|{II;j^?9=G-<6Vqk5!gg!|h3n~ zs?1V*pWWv(&)%_r>Ac(FgAriAwaCpFM&G|F5_;!*31Vzwc;F>6O3M1C0YQ!~!z{OKXE0!dXclptzE+K8+>2Q%FO}u_6*KfqztdmNSlG1dZaG&d%P{;V^2eufyufrP3S;1qmcy0vD8;*BH5PWC9nfmT@uvJh=h^j4kU;7J*}C;#Fmont z=={*|7shlgSYh-A<{b77z~BgYEX(;XpA4J}Yns8ndXxo$L=s+SA!Zn{rRabUDEk-0 zmli1+|Nh}-mmcoYBDQ84&odNarSdaM%+9tJLFc1IU{e2O$(TY7yWZeO{AkkgmbSMs z91xu(7X9~8enbkBMQ7llNI+`%l7^q1q?6p~c}N2Dt*W?A7KsH_uJngii{lYc!_GI* z$Y~lV8wW+K3o$U%;KmE;lUQw@=~}$BcyR=5JPhnhrDEm?kr)I6|G9U>c}Kwmw{7-1 z>oFeWy20#hS6TGrW9Dthikfud@aLl~yG@_)9@zJ9=RaelJBAW$goX_iO+dI_OeBT- zlu8t<@&I%jc##v>F^x7sQ*tQeFpXM+YF%$3QyM2bPk;B4uFLWz#Z44{@=m{)ZamGP z(Qioza>E<40^)soY{PB$WS3MYcUCiKx6qfwN(^$JFbOu**-FWefORZa7>xOg&nUso zT?K7dUe?(Sev@&18T)`xDoq3YvUTY^h!CUl)FQ@!ky7%2jcQNF(kV>g8aNE4ME7Hc zWo@AhJ8A8IDjfX}3bj>o->*5e`P#}in^X6HAF+APG%ZJ?>-l{Csh#tIhv^5N7#^k{ zypZFW66kU?&n@kc#fOIu;Wz!{>KzW>c1d>Heu01fxOLl#K^HRfmXO$A9)wt2H^D8KpfH>KZy zRUC{^klm3j9pZ1(^EJSvTiD3(}wK!s<;KZfdHn(Y&&D~nhzu{;}cm z3BsqB;aCr9+y;jJKwe4HdG+p{$#He`(nql@_TV{+;~n2)zQm30*TZYQhG;|&k^AHG z+P_}iiP^t-)2os7iXL{7mZk&HBb+A8=C&mrvOl8VOM}=4U7ZkcYH_eNL+FeR*j5nJT~}-mmS}N93C8H z^Fmjf=(|39dJ^JqW^vEYzr3uPN^c`z-&wR6aWf^F`NxXl-#t6oQDn5ra6aO8*S0#< znv07RSz-1aNTsI7n=`w(VjZWBQ88UqF+GF)@W9bAXXr6nu}c3!9u#TSD-JEEb8;9z zW>%Z~_SE6u=w+w*-*ruA<+3aK>A3^@TXkc+E^yqZqZdZj9q}zF8GS!dTNJh6iSB@~S^o7N zW3HUzUR1%1`SpmMK~$|<&5}D-akW(^$ibm6aBgm5-H{emkqbdm;1%5I6e88K>pbk^_A)h6W-;EbgilB9i_y3O%8h zEk+rFReEgiJ>atMlD^~GE<69HXxJ;g-|_VE=_SuEb>Q+PvCNT!)uR=t&+ki0WI%uH z|6f0JOXr|pSFFP>u0=TLz2*d5=W`rJ1*z0K@}XLBzxz@Q0TrBr>^Mhf!rb+z5QR zFyi}7m)7f9>sXt)d%DJyHrezQ3A4I|jzx^3)_3&2A34ra(ITyjMzs!=>?UzU_dqPd zZ(9c6LFKso6zv9#z=fHVwM9xNdr5vCqm}w4M=GtQG(bI&0+YL@3py($@_C%$5^+aWDxK3h`L7T+JG0(|K&$R#3 zmdh4nN3-88Fj@x|Mt##4`W6@k5fhLTtwbpa;Hrf0NV?o5qGnZ6x@f%s{~B2KvknsgKayBRMB`#zzxF=g?7`@%uPQXE!dGFFLKpX2m~ ziZq@}ACWOay2Qk`onbY~*eT5dPBmbJMOVr3z5N;(<~Xc?lg=ZiV%9NaF!Dh@7-4#> zwGo&21BqCl&n3KmX7aPHsBpy9iC)l|_rr97=t$nC>N>nx?;k_Z#3uv$a_F+tLR4q& zLvzYWTh~C8qolB@aI`0Yky(M1p+$|(aOTfqoxbVH;EcYOFGmiv>-22gXF9R&=>Li2 z{_al(qi+x9?6uO_&{)xb+rhqqW7|LX(=q46nWr9vthKlGuIO}VDPXh|;C*rGz)ZVOJ>HBL$%I+K_4;=-~P0 zwP$EYZ))MUI32wf=+Sbs%syzN;l8rbeB^DDrg;PHM0o0Q+}#sHI_K_LX^_}cWP@9$iSU$s&14amZ?Lc%MGg+O=mAs-vdz{3j?E3!%lYDj89RokwUb#pKY(QYsD zD;q=OivY3CfR1pP@E}7-y4;Yp6)*rh|B9;Ywt|lzfU=kgP-R-e>q%$H3HXR)Kj0+x zDhg7oXCLjRYzlo z>hR#Mx9()1{bgIZ1CNi=%FDj+KBZaO>pk^e7}VoEhd+xxo6{d2&FY&zy8xX4wblrHRj~NaxI4Pu3 z-MOOVA~=DCDiCjIjCSL;tX@`o@McS4yzloJ$a<#qCD|MRNA;(r`NEcF4LY(Txz2K$ zXD&)(H#&k~m0-3B1n@n;G3V}_=7+*rH24scmxBa#wG7`L+_gbVEpP1^7jaTkYnA=G zY1Qe1x{U6(Ui}U&HkQAU$5rCm9^y8(-DW7=d#jVTy_cA~P!koh5QPG>;m_Pe-U$cr zsVSWArfZK%Y~U6VId;%4v5c6&EXBkFS$VpG(zOhHyzG^Ol>!cbI+n2oj8u4mBe+Sr zF~>>FGLrsIU>)I6*YSM}zPvbwf)WN^I&&$i&*xT7NcbEv)qU;^oUJ7hD| zcdbuv(8PO<-^tc{SN0&E@W;z? z=iA37Tj(V|^Lz63@(fZZXX@j_6}Bs_MvML0NtnW5%thkybhDwNIp&^DXX3jGX`r-( zVTxQ7CQPJDRtEU!!uN$X4L&P{p|7Vm_>l4l-G~#^-(hY2b0es{yY5}KLwQY#yKoxam=3J{_2sClIfA7oVwSijDk1J>@WR4G^dy?# z3V72tV3h=d-?hKVY+Vq2g}$De=da@vx8*l1-ZMIT0^f4KS#hzLEjshGNwYgCh1PxI z(r0>MrPJ7{k+4n1>+`RZ_tK`fm9clbJfl6Rlkf9=>_sa849Jb_q*{!`3jKqoMp@bO z0rF=ih-g0)BD;7-Dvsz!_^Ni5_4=5hL+)wLRn3x1I-!N$BMN~HO+M54((uKp5VtJTJIX`S7 z+5MDV13rnk+%$AqfE{-@3Dv>>7C9NISh19+d|kb8V~Y)sD(`>6#5$XmbPKYmS>4Kl00|7F=Lt@_$ko}9_7>IiB7dQ;oKD0KQTRr%xl=X42n-|h27hVPVXzUHV; z?<2mgJlkJ+PD<%u7{SA$yVC2-zz4wh%G&y%aS!x8V>jhJx)pW_F^c$=qJErws0*h9 zV;fO5IPxm>2a+ZUvTZ+1-Y57<-cj%<&ShN&;_)10v9(5l!NtRjLsfrahn>F~kSqC%*Cs}k;W()NnK6gD^|lV#4zqVv@1DqFdmW$I+0Ogy)i>;GF#%{)E0Etht1{bp;L>C%$Ez6f;Kn+ zx<;F`!XP>bfJNR*G2=e~ufoPUR=h}+y7Ta2U5nVf|JCIQVxYV*=Nu;M%;}$)OO8vlwJV=99(xxEdWte~j2R%vq;J04;=F0p4l`U99AERTlzjRK>(H5fZ-o!}m9 z&UP}37IlUdujiR|0wp8TRgb(FQ#i6*>@98X@Y%$UX^}} z=(KYBAEpw3vh@&!R?{?xFU>+b1@2~nYw7xTWo?EWo=~-{KO) zs*#`qK)wTNVqC}=RH!EQ%B$PErq?;|sXb|E?Cxwnlsnb;^;&XpOF@*lma?2G{KNCO zo^KED=HAo#7aDyGj$HV9x!ku~9Q^puq7A2X_=k15;Q{^aV0 zH9_jcAc1@M3VDr>lVceROj_783@u4#9NJdXbo@3L$O zgj(0zkrMbv^rsi=qs#T&AGxSLb2 zUhdHHyVf|=ld2;Bo9|-0y7IN=!Cfz-j~A+$uSm+VTwk~yEAOMKck2Ah3{_n_<%A-+ zjv_#)cFXbIprD0~*L;F`PEsT9%%g*Qa~1CuAScCcXahbQo6`B-g8n*@ zp52^i)_>w?{rLf+CKPw62_S8yP3N(d^~P!<#)niTC9kW(#XU}G?P=s-pS2%^7rxNC zwf4eRg1nz!CcmPsq8O8E_}He)fC4FN9jzXe+ZjIVA;~vsZSIcLY439Y1RAgTbQKa% z1UQ$q*_ffMwG~zuw31J#p1^+~>+nFxT?#d{UB|4ZYy}c7EWQ^rQA|xmmJ1iS%_&&2 z4woqhC~=kb$#Ptv_Mv4c)T#>N$yrA|IYET!ZfNrZy9)Sn%;06E)o&w&aJCzKJJ|P5 zy$I9qqXGB4VrW;j#Lu#i?iCk~f0HS=U#9Q7*rnf*^Pb(MUUl z4q=*E9k8&NoI}hi$tk4B#F%H5GilaJC}I+t5R;H-%w)!)lH?p>%uMB+XL5R&!`gSB z@7~|NKYM@o>$U&+{r)Sj@tEg+?&rF%>wUei_uE7cRucqMlVf%#H3~PN6QoCFU#%)s z6f^6Kr+f`%kE7wFK&I{o-OOfMvySc?ovqfp&Yq^!k(J5A%q{RT2d9LXc@8lA;OSOV zZVjp#e@m)>{QXG!j$2KcJrP$Sm+NGT)i|&%m<=Z8mT7M#>j`XNRu#HKN<83OIjs>gXZFQ+QZ#ppn<9h3N7+uS=DJ ze^^=xeCz?r3h1E-?eU}z4i4b>_^|=k7~=U_z@DhU_>6>nuR%h`ZumsP zAo-*V2p~`yrQ)99nkYb-US*^;nHR*|NCdl@w|S1UtGl*Bw}m1I6dwcE-PJ`}gME%M zM{{r}lsqxrOSo18gC93b-ASL_FX?r%yO16kEJGhg6oXPD9)o=R9l)+d>CN1XtoEHN08^N!BInShxnh#Y-%l(ae%ph@)SuCxyPH^LefB@ zX(T%!r-bo<+xc0PbUF!F9-?_5u{cQ6^fqS0u>tXKg3|+xUG;iE2zR~sS4XCLOKiXm zTrd|jKHxHp0i4qY!8OJd-KFD5s_4kHbU)Av7whvoPW&d+srumuz!t&e^5VeN0Sd-Q zQeO!Dah>;`rAIw{*1dXW;@yC z(z^+EX)&Nrn)({|SXbygGR{{RqeZD-?&LgB0 ztVPoK6j|geT8(4|=gb7~BwEcyV{J{Wn_l_-_h7A8vUW%YFHXr8xhJ5{pppWbM|XDB z90kaYI_8LU7gEAIU6U$bmn55d@{qgV-SKq!G}j>96T4b;X&w5ia-n5^;uu}SPW8*3 zqM1*ACi)^0>%MjGw^)wz_Kl&IR34B0;8d#RtRlO-Lw|a z**bZxtg%N9vZuSXv7i!a2D{NFk>T@jA97@0KHK1e`JH`V9dBe7wkMumSNgspuS7QW zONQ}%x|5yR{jtoEcP2}O(!t2};E{NeGFJz-ECi?>bs5uw5D ztrkc6P2$3(fB0&CVCa@3(bBCJToZa8gKoHV`HN%uQg&K+P65jPZP&{)mBPH5JUi2` zm>I)ORQc5QkqcjraTFIjLg!w9gX($3)s@^3x3Bp#*8qQ^iIU!rMqOkY`H=LGe1917 zs23f$C&Z4wD$sulE6^Wndx+G7VsPouQ;3H~3y*f2P*!pe4l!Q?KA{f`*d(}Al2tLp z?gQmZwE!9<@B(J)DoICrjg90#k`&>udGPq}@P)rY(X;e7pM^MrfVjP%l4=aFI9v)w z7hWJ8g4@J9nFjs#KrWXmRjer3+kb>H>RG8_mzTUhxJ1ErILo?sDmHwqcd6<#wL0P2 zr1=Yn`Qz3vNLWHD`%C4MoPP6Z2B|WuFlxp~yC9pBD{;CEYcOf-9?vwbubK78vnS2Q|UB@zs7UB&6f2pf#)D zaIZ6)>GB8F8}JB^EDyhx14M`EqCcc>xixJWVzb9Y^ee9e*T+Kjct6tw+5s(6HMrmj zSLFu*Q!X=Gc!eStGP)CPzm8x&| z7=kuKq0mo(UQlx6oEArTP73|#L)3CJfagqynrNS>MXCjd&*EWkYa~cgF(&cz8ju44 zXPOf;*(W|pvINTGtVE0_s7zI&&rELO9CGfEJX&)(_IJy-L-9c_xbuFQz>;e-WD26-~^bQc;PmBOx5A z;u{T<8Jq?H9gS{a_abIv)C8uikTPpY#;TL#fCm22$Hb&gwp0=R;Zn8*;@Hre9}!Z? zO29vvPc?fb)r8&Yy2KO5bao5XVQT6Eq@YiU^#3dW0b!lnA>pF5mIt zW|g7Kosxa>!*OZ19C2$IxtZ50HkIzbcOsm-zx(~F@4g!iUXy)+%U-^E@#3S%Zl2{_ zQja(Qc_UPEM?&CkL5tZB&k0S8#u(t@w=proY|5jFm{tH@$W3F-k*2we`-Z zfe@97-9z;8tc6f|@eDowAJIgQ2S}{YXsk1ZDR1lEamg9z>E`SAElk$EWQ;1R|3xaJ)@`{bdYo0BXJ#d+LRHBE8c%RWaDH z$4ft8c7S&>It}9e$m5>OB{ZMQ-*?MUbYze%TrR%{zUmarHULQ-n#R{P&5j04a!f6lWWl_lJ4xvW|b1%3S6?WmJ zAVEB*Lh%k^U2_KB#)nKki9gHLx@0`r4|`?g>Rkp2)QxMr=>5l z5;cuxdPL@8i(c_=Ai_;pgViUQ_LzW-m~>b;kc8b%@~3b#=bF!dXZ*;B3p7B_Z0ALi z`&J{h7M+>t@iWKAFYfWwBuk8WDjuKGBfj1&b3B;np`3fA@PFIsKWS;y z`JP0#_w@Pd#LOA5iz}e66JsT}q-MmT<{^bF0hCNoVXA=nEZ;psJ&rdnWz-P3jt-+X z42k_*o&+)#VV#PyX<%@P?y6-eB6GiYVYRcJ>e#z`x1y4gu0{ds?Z!p=U=f=v*Z)}< za1)Cmst0-DLD|*`53r>_S0grK^ZfkqR?XV#onugEQ~$*R)#O=Ay#c9{jYdM$EZmlxfb<2)0Ja)P zsEpk9k4y-7onC{N9l*&4q1id)HhMF}2E@fe0vLcAWtR7oF=82^KdX(ZKxF?T(-tF} z#0nA-Zh(wnvBQr?yJ6g^G)+~20x7cj=ZWoX8V}r%I20cLwI3tTcL-?#J|n;3cpAWq zmkP|EJmIPQLWUbJYT#h=SD52`e{QxfNAdfy_K`63;H-*K1!UAeQ%NYW~x~_RQ1%=)GE#h5_yt-7Lw^gJ!|2Y zFJ!61w$}y4)8KS22jOjI%AXnh=Hs1qCb+OnPiKrB-37bWZwPs?2 zvqCeD{?CnkoE%ckX6}J$i2_LZ(*Aa{n?buucALND)?X&S=^Vjl9apY!w4HY&z1eer zpX*mW)Sqt)jya7$VIgntXBRBx#&(QA2l7Ap)v=$m)?kkSZ@s2biyFjC=p|~x;)K{d z9v~uA4)X@m@Cl@7fnk8Vg=q#ad_yqnBMzoad+`Qp;{0@U;Qqssl-OH1yGYQA+>7Fv zWG;mXcjZ#j#fDMv8|ZwT5ud_ADM;I)>RS&-jh;#FV?4(02gexAnhuR8u>w`_N`Y9# zZjuepC>aofyJv)d=%5HH)Sq9sIKP{(bAIA)w@)!)#JJGuy@RDyLqX?9R$yMRV&?q= znJ-M|I>vyOMqKeJz4D@im!r2ovwA7|_T#)Te3lpHllrR0?jz^&E=MUfjdn=q5A~6L8?sEltOPwHsx~%P3vv zC({@L*mKek&v9sy{Fr=aGGJhm6eaZ1$=sK=#Zy!@Z(c!KhtSMRQ_Cz_cYtBVrz;@^ zyZdWDr?)&V*zHD8Gbp6m6==Hoccd}*olbOX@${DD6c|ssT=J;HTr0zNdm9D((tQ3P z@o{lZeZ1qFsag5jYj&$4QDNy>I@f5@_s|-Qji5sbq&^9(po&;;0NsRe*yqNj%G8hK zEl5tQpKU+%%$S~xQ^fHuqPB#1p;IweBPj|Xj9BsUNjUi?xZoLv07{e%o#LHjeQ=7W zEfcDhX{UtHE6EkXEG5k(?#l0AE`1Hs(%n(qOKuazVel5?N zlU0O!c&WSdTAB|u@q%=8m=~rxhwK#tYwquJxp}cCEy#ZGaR<}Am}kxzWuOfnz2D!C z%D&PaS?|+(QLyLRtXjqAp^>%HJ5X?wdm z{)%vmso5`9?((DA=eIoUYqM6Vhfp6gm+~n*TFYEo zOj{E-g{j&t-5A1D=$3Au0F`<)u=s9SJuM8&tRQyOx_1AZV4YD&3^>+p3@IWEB1Nhg zj+|uZ32-tx1$&Mxho|6b(QJw)a5w6NhrNJlCq?lDKjZKikSG9NcPuc*O1M5mPA?_t z_DN055vUy0#lHCgNGoMuVz`hcSoZ~IhaQ(MKpnqqk2dW&!(7mucN}mTZO^L63>vj1WmBKc z%^r^6Phio*KbS$Ly>EGsGgx?9#8EPYTtX4`uWc-~dmyNAiow z?%>Pexwc1M8U&Aaw^pv*pI&SBuD>(iT1x6ZQ%(yRZTCj!sV%AH`phonm3e+T%?(;6 zobNLpu^X7tOe`qsopdF%1gLyjusA=U*1vOFx;xq;i~i9>z5^$1LXVer#Hq;l+V**b zM)^c7%&;n?&RVXaJcD0K?e`S` z(u8fmvcDB{f>zK3D5}SU()3{$B~P zyZvi(N`R&hd2Q$-3vASZKOUyjji$iGP}}>W=LUc#%b2nYYjGLK+^i2bob8FLSoQv_ z>_n~`_>tnRg*Vp>uYTAI3ao*}DNuyv@Fsu!bmLyuq9lgS*e@dMP{9{_m_F>oDu@1> znW?!t`G~sxVfrGIH6D(j{|pHU2^+BhSN|!^2r~I_%t|eGQ6;;O~7#SHd-G{$~ z|1ITE{|hqze?{;o(RIwEMG=5u`Q0u;OH2bwj93`m01|ArHd1L;SRF*+$QABc@Sqj+ULk5mdS_8H1_Vzx(q4KR*1$gdOP5R~l5vC$> zwBq5Uba(toR^LoTxOC$EVue|H;Bzg2Z zg3otK-o(F~i2YsL>+SuxlHc`eZyie5=BtOYdWp6g!*v(E!WUP1r?e3*`PL^|j))r) z4r|z;3_Qa9X7WJzBDKsa4^GDb_apfx;(-6+; zrvIwbdk9M#*7 z&N^N}hjX-UG<_xR_w~8U`=vgKaQAG4`hN0St>lulCcjIk%UlZ6*yrF{o^z6(d}^U{ zWQ2Omhx~oLG>fPmdu?eSJbhDN-8#PRRouEiqt`z8!`vS|XQUx_ytV7mS%Yt+>THc=JuQCKd(x zB;$DuD#2If%iS=urU>7iwMG@ZAOT}1=c}hbYV*^3AGVMsjtdzG?QX5#eZ3X7`)v+H5KHPbaIMtKHLc z-nj4Lbv46y2QV%$85&*Nhy%fmMFri;nd_v(gllg$^w*27X^^uiH1p3R# z9{=A1pGT|@w{`?jMfN_L8xXGi2z?W^|N71A$a>}Q=Y@4SW6I7AV1B{U)?l!tYjC*z z)Wf9yx)7ha{$WC6{OIU=E;jpzSk`*w%=D{{h85kl{Ug}9S4ThBKk1IqE5nDeqCr@7 zFp0X5J?qu}lH8u~1G!fxeuPJ`CQH*Gwt@H!qU|*@dcc2K z;eQO_JNmqyH*U+zA-+1<@e;-)PH2I zg3ce9m+*Z8H8q=7`#?<>a3RB%r^ECL_|r?#HMP&5gNaQR(gJ}EG%mi0IYgumREWZn zPpIY?5%ATRX@XBI5q~%yZ^CXTca83$F4e>9^M;Tf9xg$;UORd$Cy5lMfvd$TPjPF^ z#6T)$4I`Y_cZe9^W;Sy-_V62keQZl9MoX9YTvt&oX+r#jnzgjJB0US2#L3ag zZ=hP6#2Kl|l(XNa)tlFQF+=4>#e>7zj zn1HPHtZf!ujEMNsoYG*foLHq4bc$&-;G9;FR}_RB_Ih6d$SwqcJN$(VAJ;_Tgboom z3-0&e1G*Z~Hen;u6CRBXBiFn{gsS<_xJFH z({$9u9#BD1X)&mq3^X6L0b*-p5Lz{{bz^wMX5px8^U!iSoW^czCU#(ubH3|7gdeZuF)oQ0j zIv(EnVR;V5`FW0Wd>eMua=`3*kV}ds52Ra3o|00rHayO21Iv92v{(U$B86%4!~OKf zSCb=(q+7Ii5sfp3>e3fOm84rC6tZjc=A33==Ly`mP5&qsx`7C`4}x=(``D=#{GnW=m<`P zYw3XBM1jKFCS42?5x|gCi9jxJ6^$vI#lAvR62nON8)DCY^#P+}P5PbWshY15@T}Ga2KdUYdP6C?M1x8 zByL@lVfYxAvY?IQON*XB=YU|tBw;fkm@aH14*LKspGg6rK?*z|-i`aNxlpllr9QO$ zc7wh5WW~#mI(d^JzN=oMI0>p?deQ*k=YpmBE`TRZ^Onj*`^nv!cnZ^KGA6qMrZ!pR zG@;XCpmeGJWP@p@r1r@aR{^tI0t$FJR7TB?2LO{$9?-@+260cW9;Mn$tcv3srofOI zHnft~D%}8#;PI*>1??5gz$dOeFrm3eG6!sIR1GDGx& zGamTiNTl>WbfR=E%uQLqp%G3C3%)}Lgiy1Q(=RKOnsh-2C?Wo|^dp%4XMHvT@WpG? zad<$oi2$cl=o<6~Eig{*th3vp z^o5BMO2BTFKbhS>!H`4&qo{cUsd^36Ws5_=2>J3V%Lj`l zX)$V%`Z3f-vGs@0@eks&lA`DkkU$2Rjq3Cp&&^Z-OsARJGAcJv4fL?*R&(|Lktsa` zBFb^;2q8y|o-9XCCu_Z(6IlgueTNJ&q6+EUYZh{@>mM1bU7+o*^^Xj9N@4=%un8%? zM|(hp&M<#4{OL5{-$UnzJ_UO%Cq|-YGi;>Sy>LsTjXcV1W3;q{yIFJO5`F`CW91|b zEF%Qh<6he)4tv6?(d{B(3&=nu7I%onOSh3IXM*(y96Q|E`TZODBE(Uptm^B57mh0hJ+kSN`d|0}*j4+if=kT4u91^cyos%4O*xf3IHjG}o z=}OA|K1`VY+WCJhnrPU*d(klDR8`kPh<%2KTkiqpo07?fQ2Owqe1{EfMJ#y?T$5f{ z`z|lVPOPqkeR~;rslD0PDBh{y9Gy1!b#!EZ57}ejTU`?lZYh$c*#hVh;Ha#=)et@< z0lkH!Rnqw+WC%-@WQCVO=cjVBQ~8vQNSz4n1XRJ@t0bv(B2}d1gIhc#ig1xWzI3}s zWHL!3e4mGUOwUBMzV8&-#Nt-A>J82f#I24>BE@h2eGm76Xa6Tbb;fYfyPdvqWvvb1 zN%MB}8FOdnHiGYR3@qv#Vb%xzn{*UB!({Idtf_PGKnZ$^B8OYaX0?eK+=T^bx)WUH z1Hc-7NxeGVQ`u;?@PE831Ub@fBvCMe6WMceH#fFWmS{^36|E&;r2d%nV=pwJQUuPX z=}~p*@BlRB19z4GBjfzSM*62^6a-SDc!|kHXkgT6SY(A=wE}6hSxijjpweN9bWezFT_7GVC#Koi4%SYi$#ef z?Epum7jB}MD%OQW62jvM(k7%dstCx$Y?kr`U?CEc1{?ruhc4cuR-g@5zfQap2i()2 zvYuA=NcEvc@=(w#BT{%PX&e`ILXpTRB8f{=ZkKqg+XVF*=5ZY7>I zrL13K(TUNvwe|grBS!3)^#w&w0&IY7Z(Dj)MJxxa(-mp7dY56(hY%~0-ekcG*Rg^v zC0hOMv+CttHU>wHW;|nq)^E=8WZVxJqIVq#E|Kh4CEj`pGw?#2nv#vN35xh_|KeK}vz5 z(6zmMn!J7BLOMsP@d1M==TjAlMS#zrh}rj{=x4ftNS1Rgwu*Bq-{C>2aJ>cPUU6Tc zMl67@0?K?)cGRuJ94jkH-1orGtfwn+?d75oB|QIm#tQl^r5P=EVvM35QlOIVEd3;H zYY^!zbBBF=8w^p4Yzf%7pWi|k(IOMpkSxFg&C&z^i=Tze`(lIX zGQ#*9?v#xYYh!)e_qMQFj>egNls;M2H}YR7Uo|NeI}1Sq*UT6eDkZB9eCv{4iV_h( z_V@_sIk|*D&sFQr3abVFN#(q`!7H4hC+VRVpZQE$aN8WhZC?_N0Oc?JqYel?zr(8c zpm0;FfUX@he=PdwC$$1u_~>WyUSJ`x8;KChv3<280yJII-#i<9g0f8fovZmJ;q9dH zN`SOyuifc;Jy}_H>YAq+4wj{MX%q%)+J18LLdPmLPUDx_LcWLA*{KLSPMcypJfA4A z!3o}xf?eF6&VIfVp&a=6F3DeQ-(3I|RRO3d{a;X#n?Z@4jd*LGRL-G7`q677xwSJR zTa%v5^6x|iKQpX-_9nV`8qzjt+%r4Y2)88}{Sg~0IsD4YU&0uIZZV>09qT_WU-AV6 zvE{#!hq$dkjIV9!W#L4OUXrl`n&Ye4wZK9FQJ^7TYT<g>DL)D8+^0ZfXwkhlxv>JD3i^pl)g7Zy3^%C`#T}8^bZFfOg zQ3r_(a&$(UU)7PDVP;xhOe2k(E&Zh_E$4)%Q+q2?n)wkbB^G@`m8th`A@1eoz2(l% z_rK`d)`?Z2rb`ECRT3sE#D3UA@zY=+Zqv8f;=Q-8d8l%$sqB@p%=2Z!`dg>F*spIU zRBHV8x||DpA2kvMNH;2qTmz-ie@m)L#QVC*-Jy`6Q{*>>;-IHN%G5_-d>QmbTfoEG zclb|F|K6H}TT9pkpPo_{s-HPI<>Ny0%^*77;my`-eoeR?;o?=?IsSWlDv=s5w&6sW z{T!hh%Rb|l*TEeqBapLTm21-r|MRtYFjHF z_!6i(+fEGLMg3lV1qOPOhk=MhQTv85z+W|w0|z=J#o8=gmo=lOWM zrkmk-%0YYWW`%NNk5d>Ij)hgk#r}D#ZSms9W{C>sGVN|JXMjg4+Pv{aF4rUBa6_m_ zuJ3Z;x3@|jt|iI?HTEGdN7^M}t6Jm{sF<6GFj&`_IT(X%;^M2jUNvxfGgF%wwpEy^ z*M8@A;zjaL*RFcM8r_N6vo&km0X5W35~@I8;7Y$Y{wd`Cx#2{DK`EIN8xRs~6p;2k zBK#+xQEx9Tt)TFe#20}xP)*d8KW@Lh-M&6=s^R8euiQ-=>xrNLlKQmyYD5eqeO%5F zQWgBZ2j8E{-~YQ{lcRU)ox)kaZ3hAp@=5DsDl^L3QJZY~1DojK)_3SCK&=R}fl3Ct zh9})_^AAI7NvC+Dhnm0i2K9Ho@HP389Z|Qb?3VIeGX{OHO`iJYqep5U`|N!5jncm_ z5YyaPRr9~I?;I^pOG8eqp8U6Bs&de)qJ670;Ewh=Kdt=%S1yi-R?cOs=bHSju74}& z{I%`341!4AZ&o{#q;kXzetwL7;&+R`-j2JwmI-w(j^|vG$Q?hE<=oawGZ##K$k|6v zczbE(mPOi~02g`9@O(%!Zm*O|umUH$s=OjfReYS?E7;5POM6B1Zt5y*9^HK*qTJ2| zW(jY7XyHwKR=*gfw(lM}{NH?@6;-SW4$}9mYJbr11^LoMuFXxgW+@6D&me1%AR(1A zx5azX{Smjtg4IMxlpYa+Ax_u&=W;y7N(4J^)z7dG3Wb7~hkR>!`KHJC@*zbfD}b94 zp3?9K{IQ1-CD1lu=slb+K*P@_nTA4>#<~Q+TT59?VYn0$V>Z+_r*lTN1|AB1%h72& zQ&n-wHcvucrI$^Sm>M-wUXEOoJ7qY8r*1AiF zz}Pew)YH0%<~&;QPvW}!QRdRZqU;NdpNvF_MNlGv$pNm zXD99>#zfHU?*GyK`NpzRX1F-C@)RKmo|?pMGZSa5WrJK(4y4ooa{%>NLY{Oh zMP7`DL@v@^O8SKzJfnn^wt-bCg(o=^Uyk_MfFv6XjPHWqi3cSUem50la9cI6wSNPcZ$*5WBf1)LSi^OI8;5k=yI zk__^8v2{Ol7qQ)L0AQ3G0Bb@~x+!p|^CrflXdKiBse2M(8z1RwAkwZ|)B@Ba9YQ#t z&l3am=EIEA&`J+qFd1Oz<<@rUDOdyXFFOOCr$3**(3wmaBz)w;e@=sv6e#SdiBP|F zi7iNAY8gPCsfIBxF77efY^NygD&{g~o%Nl9FMlPRvEwq%v=7>Qn2S2DSXL4*n4h_P z6O-*@CYrkSp{}m3)_s+>j2mBGj;vqhjX}xW>RS3MiaNq+UPZM6fYn!}ALoa<$=$+K z3M?=~s>aZ>s08db00@K~gL`bc$y)g#WB6213(5_UYzy1mD=UXfk3VAG4@G5<&zls;SEiiXk zY-^0$8Zz{}if^PwjIKiGWZZmn@N`32*}DsKzA9VGJ_VN_&oamOxx0T!obWN`uV~-7 zpHp!H*S_OE&rg!?VC3g)*h6?BRi(&6b^plVW_rG|aK`$BDGXx9qVJK7@t$;mcpSAn#C$D$iX?AZ7%bjh#gFGu^ z?UvxObC(BQ^X#v^86?=h91b^#8!rT@U^1JM#F8OzCJr|b;hVYYq>~7E5>!oMH5WE?9!H1T@qc`5Ix5P z8-(f_6m7XI*ZJg2y7W`f8A`I7oNhDlK!A_xj zAul8LRSdBDv7Rb0>EgP<$qA81l{jFSAL5+}VJZ?79)d|GLTX;iNwgZ&a_9`v0a7=? zr$Spz?qS?atA+Aynop!=12uE1#CDN=i)IBFG~T1L1MKMMtSYgaU=#E@+y@?5`T@$R zsHH*^CVZ3~{OlY09en5Mfm;_R-_r(E{q#qRgI?AqP@mneCsa3t$u;4FdLm|aaLly$WZ#aogbc}nZub&0sO|!WI!q2g=B!} zQO6FKpT_F;jsIilq;hGSI4 zYvFuZ-aJsaMs%^s6KsE(m^_3Ogq6w4R8j{m7dm2V>M>|E#8;3Mns}b!mwxl`g`b4t>lGVocfT6{q_L?~DvP)104_n0fGT zm)b@00p>^zZ9G3$=|c5Cz5jw={AWUAMo&=aUIXi4pKH-|e#4;BW+k9yF}ARoptF^g zo(r|iZE1m_R@_e{%VNZZhpp#@Z>+53szbbhz@hqnhQ|{`i|^F+C%8o$o6Z#3B!;86 z)Jlc}`WlFx*r1K1Eh&}ik~Shf!Yi);_EFoZMKl1JlQPL4E^jskn8A8Mqsyy?Y7B_S1lyWt{tPQ zA++Yziv?iDX%@xf{)yc|P+!Y8+B!w}iK$9&uJCs3V=4m(Xf1X(G2F9Xyw4nAvs>$npeV-_t2a>Nf1Z9N4L2EJ%kZ8`RS)YlacdL#z%msPM zgoSK+t#*L)gcm)1Az#T?&uaj$0aom<`I}eL=4sg%s`K@2OzyZw2cNm${;44!>&Xtb zAE^_qrCoE}S~m1$;TO+aCnQCnfs!yi?~+I_>(8yp?0Qtdn%AV!%&M!Fd~#+)BK`IN zIJ#9$$4E#J>(40$ov;-yx8jg9QuSv&Gz5SS8y^5&XJuw13BsFrt0sSrlN-Gr4}8<8auen~4rq1)-M|&QPRH0|ntd zwIzrHR2MPUv1!7>I)m4W-S*yk%@Sd7u(r(Pu0ea2bzfOXKmgtFaox`qGuek6Mnra( zzvO;x`s%6qRv0d_5ZC?zwmcmQeBL)-VLVPe8d=kyJmL;jCC^OrjAV#{HmJrX1LFek z8W9Hwp(gISKuv11A)fC=!Zmg=){J#(2E{zD<5NNV_8F}iS|bj^>Z7+TWL(B6&{LV~ z5km8*Mt2dkfmkZA#qm@SJupE+omCv0b!lA%>PcAA1^9WrP|H=5)$9zkq0|fe%sJ+haTO*QKbxZ~fU#yYW8Q0u4XvJ^N;Md)fPgUn%=S+XvrA zJ?sv(zCw#u>F9VjG{OGr>2vYG74Tk{^NQM|;<~#I6qH)}3K6$|WNa`>a5^uCjgN1@LbZ6F#@$ZLo_cHInZ-r+*(mLOS9P}#(& zj^=WTbPw?!!`T?UwH~G>seQq}Tfth2FF`U^@H6~PmdYc<)9+ERrW=d%w@?iXq?k5b ztti_}@aP_9pYR2nh&bVQW^J>^(K`x%ZsaIte!bj$ytrB=urHy9Q4(1M#7}nHed_Qv ztZ#`Oo_NL(?QiNdqyYz)U}EvGdr(dGQkdPaPr2>OXyEVpj#}Lo4}_5RAitA$i;p2J zzp)HIf!geqfHI;B+v{7VBpysW7D%!&TEa}}R_X?#jn@Yj4~;b!?r8vHo}T=jGD1S4 zai~l@&!?@$Z_G!Q@6l`|Ke=QPkPL|MD1{)4xPg>#n1qs2$Npa66_VZ9dLEK!UT#`9W> z1hH{yZOmV~#cuq$pNKt8Top_R+;iH1-?^Ts#w+aq0f*ZFPH=)U62eiR%p{l*h?M5s z_f%eomghiJhKC&-S6Nhy5FC1I9h^ZG4S&slGQ}G9YRxK|1i>IxPmBk4GR=f#jY@`s zLZxb@-^Od{*&02ZIGY0J`}gmkUCin*)5pcNU!9HB^Y<_CzsnOIm_A@z5q8^saK%t( z={eJe%hkc|m3Fff$#UW?$a+3Eg|LljPNcV(j_#H`5<5Ktaj(D<`TMcwWOq<*56QB7 zfijzarI{<-2`{r7(H_Xn@p7}~PgQ#C6|}sSaBbVwhR-^?YK3(-w+nTsg%Ddmgl`|N z9L$3M@+6u`6@ftx#8Z_H0Pr6z-p&=`A@)(wWTT0lRkAi!%f*L92KBgk_qAMpX@0ET zO>62Q^+0M()`GKH%LU{<9`(Jq!LHxqWw*Qc^uq>U=0%AateX0S+)b@^%z>+02s$Q; z55f7e{HnsBb(KD=3(>?DaNSG~F9on|&1}0EdhkwAh>w~J@z)PTQWOJYPS8`&3Dr`u zKil(JDu~%Dec1$z^L$;Z*l2|#K;5LOlXrmUgWV)tZV68&}PuB)xt6`$v%U7 z2;P@`vsWk-kuxTT#74!5FeDNTYm}H1s;}ADObR>YrK}fdi*sH(h?4KS@)+Y`*VG zRH&t$*SuxBckz(V-A{9yZ@&FSBTNU*-gsuVywpVhxWkna)&9Kj9&faZ56KQzoAnbB zh%~<0teybB1&C@f%^HN8Tkg*jsV+TpS&`7j47D-PS&IV1^zrN1J)0F>gRm%Ah$Qmy zn}`o)Wm`rMuCL-3eQ&!?-XZ=K@#Y&CsfrH)?*XO`v7xocxw?nsF=nI`T%a@%YF(AD zyGeQ!r01+`L*DE8CO~le{NuLRCaf@4B2b`U|othuV4(-RW=rH~&CAuQOGO{ZNb24mR(H_#u1= z!D;~F*A84Mo8o>yq|oqsVcoSC;_?(#pRD-{zMr?bmX_VlDA6o6{nD=A=is^5F~a_D z^DFgCg7<-U&&=+9-Rxg}ugS8efcbuvbkI?fIXcy`OG>3K{ef6xcah(rtN)_%_oJ1` zxIuEK?~XpK@dz=8&Ecv3{eW~8I1^asfX4)22smCFYE9);to6Wd13!qDs?icV(=nb! zA+w;?|7&d!vP8JaRr5z;{oyoxI$G%w;#3@b!nFsh4(j-5J{9>jGF@1%9T*&A11?v` zdWw7A+E_k~)s-ng9m`$P@uXx2B;Blbw6)*tZai)6Os&3O_|2C01^vf}+3q=WGpuWI zy-yBBQWP(J-}2c1O^L69Q;<)KtF37HYtWLHVb>~p3_obF6o8cSQR_oAy~rP^n@MXT z1o$Bu50r#v0;8=&`4-%k19av(a_4FrNQUe%y5)6jdeW%Q)dR+$vaRDSr(%9d=b8B9 z5&OgZ!+J^NbwZ=r^}^{^vThHCATY|{s*$`wseH1RVfYBCYau9+oGPYQ9j{jedA-kg zg813?)#ek4$<|#Yd|~hqa}IUCN;)|3{gOdPw)g$xN&YkQs^u0R!)F#}gWb;*bmKfp zi>?84E?%vl$~wyH5BF#L-L|*{7I>We+i2I#DBFugMg6PazR|0e9!PRn0ie0RDUhnY zFpL5K5&XCk=TB86UF#()4-vVqazXHG9U!4azoP!64jKww#Rk%*4-6$qt>j>QI>F;qbRIQmRD)xS!ZEHwvx%!Wc7a2nW ziZ?=CzM5D!gC;)NFWol@61n7=^Z?j?>`{>r$L7jne4Y?PaRIvJAu-ui{5cH}IkR9< zD-#QU>=JLM@j&=WB=D(9M*x1fgZ*nVJ7eV%tEO#M^DkmUA1)A`(RD)5Xy*8V6cNT% z#gOo~{u^^|8r4+VZi{MJih_zt-^LPA|Rjw5+!7*2uNp2 z8c_sNiWq4l(n*&H0aA*H^a4T}M0!bR7qF5#uix4C-2Lr+#{G4FY=^@!)J4{MSKj7% z<};r;&9-Ts2$Hq!!gzWSK9)U0$xb=)bHS&8sPH1Orb*NKph=JvegOa2pflfM^7M;p zZvqsn+8v;jkTj+W1)NN=mnmCMyAUocOSYP0I-RaQo!xn|r?qxDy`(qZE429%Blqdi z2WbDu@tOMUTK}q*>sYtzjD)QG!H3J0tyRQB5HCid``rIDW$ShFry_B-E9;z(0K^U5 z_RqSB%Oq$;1rG{2DL6cfmkiCN;DKDv6i)II9bf+6oOc4hT73ty*RPpN50(f@(7OvR zJk9#J&J(CY+@kU~c#b83Zw{y(P-m&AL5_?DCv^4X0?^w3CP5H5Kg+ zBnLGi_CA`TTrusgR5KeTd}ukQAgkuByM@r{gbvEIn_R4~Yp@9%bXlHTlSoIb9T+E; zJC&{-Avr_-v+`{qty)6FkD(yh`#I}Hv$5n2zJHMwy09DId3RAx84q>WvocZS+r$#q zgo`C6y@(|rb&sGe%MEN8|mQ5xBLl6X1&qTx6Be!{JdLTag?sU=d9C{ zY;%J(BPZ(`kfe|E|46S~t@BZuh_qQ=EL{tEO5x&4`x@7%v7XchRt%(w(SI)a00h4` ziAyOzlTp>5%8Mf!u{N+rkw3BQTXG@EtC_nK6C@gJM(w~V1-^mpir~aXfR;3_ZCLYT z56gmQt6=eeq|Rl{xOj!vh4)_0WgRPe6EfJa(6z5Ttc>Lv=)o|2#Mw0S?klWc2wavCa1r^VycgAZlutmrgG0sY0r)MVnbyx0u-N!GO|=?v z49*wz`8}J@Nn+~!h(~8zh%-bbT7ROT577c7wzzmR^xd0pMIlt=7$1@$<)G!Mvf7j# zTLh3iRhpvNcYgnwq-sB9?~(X3H$sr!)G7y0x31u)i#Z|F3GI@zk))tN4}+Wi{*i>$ zs;GXk(g4T-ouPBeOg#xe^3{v5n#dX8yB9)5?POhU^Bg=?EzV?JY>%hx6OFN1RMbWm z-;<2$tbh`8EJS075xO5}VU|=E!ki|oiEy?-7Pg1@mq~a}l<+Z-Zn&6K69$1jSGj0KfBBhppD3ITG>oNreM+lVOM&XxyfsjNP6-=JSei7~-Igl5!Yn--$ z?889}Kmi11G(v-*d-+dcMuHtyU&t6qzZu%plO3#GtX$%xb^oXRK)8mN-;y;zZOlra z{a$=|=xa%6=kswsd@(v5l#;7`#|#H%e81)e_FJUS7T&D#JD(y(m;lttmVBsDnvpA_ ze9Dn04n#Jak|8k*cab=FbcBA39LcAx`#g@?7}kDEg6Tp0ieM?eV(~NNj0laGWJ6G5 z1#25@D^QBZ>=*6^39Gd#39u)34;$$7(QmC=*E>D*Ca%91Gpx0K>u>uadaMM$w8n=J z9t3~s(+CJb9o?53b#-xHkB!&lqLyW4-)QgPAb~Rt2+yz{{TwCD=cH`fz(f20RlfNqQle&awAlwmoZXO*OwzE zS-k6}(uOq(;>@yzaTafB-LqH0tGE8$fABw?P28RAP4DJC_qBS*d}lVe7N2#NZ)JPq zxHI9kBf6RPnkMsKNw9oI9Jj))l*irbPf+V28-@rBqcr=bGrilF9(^jM`$^tn_X1gi zzV8QRRfVHgE=luBO3Dp(9)(sfU(h1W#bJ^gf}EcO_HU}JMknoE(w?oPI$AtuP?o(R zxup$!5m7Ng&lmhNX7D`s9BijojAKa;RO3C7|wEQmw>^%36L%o(g3YZA!x%U_c0 zf*(Jf($ub#yzgYT3XFBvLZ(@O!ge>rxff$td}#n%2(knDz9rU*`G1+3-j6<7@NtC= zMr>~j?+}@AZeRP~{Dv!1N>LXhS|2X06^~6-yXRc!FBLocDFC=%#jv-rn z$zXL~IRggi^4CPj7rKy590aInLPXUFF&50CfuoXmP^M~Z{byYr*jIZcssM2U^{gkW z^OBsn)u+uuN62p_n05l7VQUMl6kKo}nn4O_f@CBL6P2p64Py7RFa+Qag%|ljAmgx1 zsFQjL5dJ|;14+N6r-Os&<^T`qDlTr`9PmLOvUdKLp-F%7ZVb-^6Gp{9gw|NmH5y#M zprE-!FljT&U8T=ePOgPq&&iym{7IT^3MJ(Vq!Q{}q3u-6DkmXa!*gnF2guZLARd(? zu0#W_C1703n6I$@Z9DP)?1bT~t6sekP42K?iaPE7j5|MPRZ8C23|EIjeuo4LlE3eN zL{Cq#f-@?nDPyhSf3=F{WCwPk<28RoMjO^5okXmD7GJNE#s9+t>b?yi|0&52!Go0y zX#BLq7lexcX+ggkX+Eo?a?q${q6*Dy2fe`A&O8d*4m~}S;>B63FQ2V^GU&Sq31sgr z47meLpkc^@eX0u);|OqJVL+x%MQ`{v)S9nr2L!&EO0)ZQk(Bh6!~Z^{(vjd@bPZG4 zhJjV|yreink}Ha0ef3^}BFX^8*muE{ohgfGUki8zwm%YdRMP$_9JPZA+nM8EMZFsT zXWhIs*o!7@klMa6+P`mq=*8vOnu{hw<_lFsvuoJ(f;F&xR)>hWXq-Of(1TU)Kp`?@ zmv+QT*Rni=a#LYN+lTaOWY+ipfPNgC?T8R+ai1uaA-d&j6ew) zb!w1x@xzR@cVTVn`-$+&iUxkY=8Xm1W-7@08&3fiL;g1*Bic5GtYwzOjpqt`xC*#2 z#*bazopAQe;GGfukJ-{!3!Mor$yP1lYNNd_&UJ$UlKGjhH(f!$FKTGs$!W*c>)(R3 zvqA!Ejg?-sRvlBY_ANE0ziuRWAD6 ztJhGANSq6{=p3RghAwH!wa#N$+tdC0l%KB+Y17*AoDZOkNmPf?Y}_ug+=y%(!MqDs zS*JEKD?^HIAQ*Q@`d|8U2ZmKdPN@-3r+}4CY-+e~!5ML_J+r1_?c$Rtzn7jX%&6?1 z`bOIW;pX#Jby&?3=@*I>23A=ndy|B45_V6Tp>vbZ)REIu&J6o!>DJ{1U1?8&3)_3S zyQ3=2&E=9-?Y8-|PcW@zU!ItLxOR44`@=quO2@3xGhdv%GcOzjEzI;J@Ze?p8+vjR z-(FN!_m;LQ(lnLve5fUJFAp>wmrou!aG&u14~^6QVywdiPo1)U zQBXdzBfv{%{t1@Q|xvoHVaDOIyW1Q_$J@0Z$2EmOfXeTEOwCtdeWr|I$k>y zngoXS;emqv3VzlVg|1nXuK5R@uBAO6)GLU@9si?>P&hAbh`}R?J`%8r=Ba)H{Vn(^9N%@+?=^;=1iGg;H z;_sP}HWQryo-aw<^V&MrO?mgSC&-U~pSJd^H-I0r zhzc`x{^9&$TOPHE6)!n>imXmn4!_?0qy_ggcJnw|4xLzjRzs>OXZIuQBI&e2UC!OB zUv!#DMowOj>h}6)j69v*Pukilg;%-L+!>7SKez95fves*{c4Z7j|#tpWtXHXx}$a= z7VWQ@27IGdYrcuzyQ}*+=j&`6`+F_5+ULmUwe&bj85jGH8*Y1i;q#j#p$Wxtfc31U zZ~HjZOrl#`9(eJ4$Nm*m7n8#|zF}N>Ym!eorB!74wmk+b3(E)-1?~x0Lz1Wt5-}Qb zEJf}y&n=IS7X|sh;=~J~1^5_L?y^erMVStq&gu zBskI0aj4UuY88aI(NIyWn+2RWm6JG@h^updFDxC6D{uLOks-{` z5EEhy!t_oyAH8c@bSxl!UVSPt)PC+Ot=W8$GgG*xJIN~TYiV=fyK)kJ;5hy~on1ik z;w;q|z&B-g4IGB@LG&QKx+jpLiNRi1VlG7z`X6(`j62-U{5J02%O@#-muvp z_wz7Ea+~@!(d&=rc{n$IbB^mhkQ64!GdZj2ca$dOR+xthG%_qyzaV`rv57zaZjP~f zd=(dENd9T{y$)lI)Y62tU1Ohl&zraq7SqTlJcC=SXHpC*?lF*{b?@gNzn)Asaf$nIwfsh|^`lE&!GZ9|#Nma-)&1g~!f?KTb5A*- z?%b=6CLYFwH-1tOvMW@t=Q;4?VR!F8b5k7`%Q-ogpYaX3@JRUaXmVJAGy7u2etqYM z;pvaF;QK{t6D9*HBc;D|sW zof9}xY{>4aIT|7ea%qGZ$0b)NeKgdp*)n3me$7&uB4OYU)`3mhe85 z--EANKGZyQoQzMvkf+(T3#SS`RG+0E3H^9gxo+=X0|lRS-jqLT<>e}l5_JxKzsT3B(Tq3gOPZa8EgPAADfca6G&i-*ogFhMHh>N4yt8>+ z4D#E$|NU#mV zPgmF0|3r`b>#0+YYPQvJvzJ|Yj>qNm8+RuCvibPFggEU}U;Uw^HwW3B7Yx|wPuHM^#h-At7dnw;{;PKI)xdG>I^Vu4d}Kv}wdYTCE2WD(H~ zu@}d){28&DW^kl%-UaBo%X*7w&FG&l;dWql{zVGp&r;EgZFoGWj^vU!gwC*f^qR~X zgK!VpD-mTq8QZ3W&~D423udnQw-;gHs)>*e*6a@ZtV?8|4jCXAI{;Z8P5otG`F8 zUT2srF%#S>7U~;(_6K0TFdozrr>kCMR4@wWdo+CsJ&|h`l#YRjq&PM>7Emoy_|4Q+ zlRee?bPcnhcQ%)La%#N(uDaE-_t{)O_nAL^$?Nq>RaFQrp|6CLyA%b_^Qf|c1S8O$ zk4j`J2s2_UDut|gvJ236BVa#;p|?-HbSAQ`D+`OqiJw(1%9D-kC8!Mnk9X{nd1-v{ zjEdbcr|qW_GVT4Vw(ZJJt-W73Jm~s`c(Qr$$(n_m)0f_xhtPge5@QTN=d?=78Yt^U z?M>~w21u5CPBg|_B-30|FzHAqxi{pf^kCc>0fo;dbUk~Y*mW+P!u(qB*EOeg8*~%K z(_WRkmuKZ}ZuWlf^j?3^T{n2jE313Np!i58d1l~UKwhM0@9?U6_RSS>4i=k8m2aeM zLWuLo&Zqv&UqtDpfLaZTRnIYpiY9LMmgWX9_W_Q@W=Yd0)~khNA|UTRAf-w!c&jz7 z3zx^VN;&nVoNe1Xs?%$)Z?k;O*?Z98`u)!r`qO%N+2xU8uS48}v&{y-&q*&1;d!zg z@7)N-o5-tbo-snsT3>-rnWN$;`lUE|r&ngS9UOMiC8Ee9rKTn6v+&y%?@%`V>87W? z*Tz2dc!p$*h`&aC1n*{UdU@vSg+-(5Inxz`Q8)d+PjyhF9=O+hrhFilzsMKV`@MaL zDjVb2%&LlafV z=KAH#Pm=14mj*e#nbBn~OAk)o>^C>A>Ih^$iR%^>&&|DiN9gFC9H=)A|3-3+pa~0@ zy3nOFAm0)eOLjv6lK?XYK1%*9VJuv@c4S_nz*_1DCLzspr3_ z<=yzW|7@GL;rsV9dpn2Ui>1^x4|wXmqYunFDzC<#fRjlc0hC zmxR!iQO6^*!x8?TmJy#^uTchmvQ-?7B;mU*Hg7nJ4^^Y+OXDlIT-qvw?I+zbY<{B(go)0l{U)OVO zS+v$L_guw11)cJgjA6!#rmvHU^G&mXz&8KYjq*+ZQCHM3?yCCr*{zA-?3#ZmlWmm$ z>G~l4*Jo7h(}*Ac@xx^{F?MkG|0t=pe?8T|{`em#+NQKYg#DqegAOsIphkf<+A#4J zL>vY0+;A!gD2}oCZ-{|pW>o!=1a!pE;v^DX6-CA0rq%T1 zyGNlz;2)3Te0(i%Q267gWq{Vw53wN)E^RT80#ut$0Ijt*;A%qVO`w|ev%GT%n%xB? zh<;oot+&JZSRG4t>h;>KA0PNby6Ek{u2`LB@}%{CdkL9Uz59bG`V^_@Wi|~)O96ur^aj|5eRG)&4fvkz zA>;Ufa2+{A6y8P**EZ6Yu<7DtU^olGwZvXliuF95-@e_IR-O=Wjoe-_lvO_3Hyjng zIv?I8vPsmp?YFshSg+7#t<=t>HDoG(6_nREdW&l$TP0rxIMa(agdw)@Q+_KddWoeF zWbPG`V67B$8T$Gh6^r})&$=JKb1L<17C`db)|P3b@flYU)9d; zocS!;kN9MNJ5}$vzy#?xn$}LYomkyjOz8qDpQvd_n8;Jdsp0%->xK|3AwD^brhsUH zK3B6^?k%o7*{%@r7iBcn%Q=gJpJT1y3xosa$%dhpZvl8IZ>_gp-SXYatoP@vsx31< zS$kJXS+%31FJ@ae9!K?J1-?4iz9f=9WPUI4#GT63)P1$pmv1#nFpPcX^lqIa%b^gsu z-)od#_#e8|Qv9l&OtLO)7QFtzHD<(o*r)ucG4u{2rpftbuBB$6jT~~KTxgtepX@~2 zsw)a_XUB&R5%53RjZAr~cD1nCGLXT9+prOpoe?3?gm!s&n3r3B$TV*MoL94le|h0W zwWPJYX#BOI*2@b%cVwZ-&6qm}fBtFn9u~FEc2((0WvJ>(TwFhEwfG74MiFg4DJf$6 zxq^^Z=}*a*+jT>;@~qSKjk;tuAD6#UeNj_$0s2CGmN7Fdin~>K9?@97zn6fdR^K2XxQm1`3^Blte6hz9aj z3YDTUGOWABLE+DD=B8)`)5~Vs6ZR!G_g&THNq&RZPBrs|h}^ArWl06)Q@jFEa6}Aw zZh2Ogl=v1UO|e9 zO*vUcHcU7yceA=MWQh?AMF=>}Vz(dvw2OGINyLiOJ zB65Tj5Gg|mkO;0KMUARjm1wRg&ZOWF7m@p|IvIYuoMn@vCr%m{OR+jJybBy*#D>yV zfac3VjXHeVy8?b88@8Xs4u@uqvWs#Wi`fI7!;ZDwC_KRZ{ZaQR8{jVC2;az}X0~aYyTFf~>@s4K&hQR|w$~Z* zak4Or&Dw=E1A!6;fbkMDyaxP3paoQSs&K**@Sc^i^1>IuCY!fTmZLBj`|ipccYW_Q zq_}X=-e8R|qn%UissEg28n}~oZeBZASe|mdrlK0!)Hm{3Yzq1ZUcy_7-W|#*ixTA? zc?D;$$svct85G?~tcnm7gRTI1BV{*ygtduPTIVdBk7y3rR@Eey5gaA&9TLoLhvS)w zz#7ZA@E2o2nqLCT)WGnol{Gl9CXe)7@HDowbP7#PTe*>Im|uOGTp{0mV}Slnx#5^| zd+C|Y_KK&zMMp;t+3C?s5?>SyMg)VdE(C(-!6_=B#$5PRXI?@Mau+t!-a%tA|2=nmLQ97B(lZo zqf}hkMvV=}ysMPo488NNHv2kMRPvSa%q~d&VH{xC9s51u#@_huv=>E#fti#J?ZM!8 zHiqx&&2hhCc8UgmfY;WQnKi}KM%wiTz68*F;I~|U>+QBEh#OtmRzCW7(7tAxpBZDcl`LhU@Q0Hm)02B%3_e1Xr8r9Jc9c{Pg8ID|-DOph%jlJV_ z++bgwW_PzmiJ4Kfae&n$LyWiG$MnGr;{YfBTFWSJyR|BZ^nQ;s9I5PYXD}90 zGKVP7Md|~_zTSm|R=12O?~>UFs1w&e$m86{C=`)T!#*YB*gbGukO%~h)O%#P@bEP` zQZ0`=6D~UX_9i7&w1JCRuvm5XjG{qt-7sm!ad^Q<~jzP>(rZ8Y7V;B+8`Fjr+!_wMt^Qy^jbsQJ{6)Vk{D zS*i73&i8aHc55g>OBeZOud?a<}|hutPk5D%G_s zC4suue4;1+eaV2kKiRQX*HS-{!^pY1eQ${-t<=t|f6zN>_?YI9lGB>b(>3p6sKK78 zMkGgeQVtBh6Rgx}31})Lb`x<2QuLT|XI-L?Ku-B?uoyuqJ$gXB9ariW(fZk}k)S^dDPD=2tyDFQZKL&K1*aI8V>HFCVH5RiKmW*Z<4QpREJDcVjm;!fD1 zNn4#%w%alW?2JmneB6`8$yVJ43=osGckF6#$v))kl-*;0H6~53D{q@ZN_Q-XWP`e9Wd z-)kGr7LE`>u0ppm(MV$s8a2qB(-4`&2&q3%CYOK7OE&9|;8FLj`$mSYm8iaZYS`r; zFin@TmY(oW%wz8L-ZzI|Mtj+49iv@zvhc5GZZQZiugKY6oYCVO85y=%#E_?Up?6Wb zS?id){Xq-Hj!8!mgU@PkB+M>_5u+))g%Njw**K(mNunmsBAbqEQ~O=WO2VS1aPmy` zaTS=V1p2cC7;s@}_zwdeUrB`D@;}yHPz|N4zRn6bCm&$#^sMD{ znvR2lO3js}{Y(Cz5}cD6d-zQU)6Qp}ep2WC6rU1ZQS>S;6)yv*1XPm{?z@BLzKd5u zr#JpC0V8r{C6S{7MU1zebT(sPtqE7*#}?c0hgdO)8)Xlt&>yue>?%Lx-mp<`-BsZy z5{}~~k-PL3IVT*8W$x7@s*&R3Vz#Wuc&yl-O@l)X=|+{ou1ZVfK$qgb7xJBo=sHqu zk+#b{uKZTB7viaxZ`#0m+Fww1X27CNQRCa$)-#bCHy-1JBy=#BU*p^;8k7OtMx#H3 zQpw~Hbjysa;0NF3F1NzAVUQSy+8&0Io1a?rsA)33_%tlm#zCg?IA z_WM&;fgJbn&y;z0v! z+;JFiS+>Z=Vx0M|!rWld10w8*vG_Wc^zH3AI8{oUHKK9f^E*R(*jL%&uYt3z!#({T z^4ur~at3jc%)hTzJ zw-ANtfYDjg(||Gi#e9jcvJ%;mh#aI5Vy$jM-XYro$L&ycF?X%dr6YV`0R0IGU;tDB zRFF}1s3Mpxc#$Wd4s`u0jF=t+;j)b6J<~{tYQgRDht^S4VK#>*>;wE7u(qxNP2N6X z+|0H$4}d*J@pAc$pC&W`+fWc79>gg8&U_MR{cPr@fw6&0!b3(n-7*Ac^HEFu*mgPRo!#E4L2;|!JFfWIB+h0L zXKlD@A$}p*AosU*v8gfhh$)O;GlLVCv_3(CWFeS~afscTH)08kpGn$q z!U|yVE1&~b)d*vkq>U?jfD--*NIKxPZ6Sg{YQ|xUk)qG3N;UnLqxab@r{1~;O6<3v z$v?MerJU$&*L=e;0AqNjm_MC?zMh8#JL`U+^5LbzS*io5DleqWh-XyQ?!KK z=Gg%RY{bM}INnphyZL9`AKW+#mJG|6D&s%AU8LLWh;o2^iY9P7%%RP&uArTbj^q9; zk%v>g;Ogh3$mSe%IFKJAFDv~@I0p)R1ikhIT4UB5gV)7IC32k}S*6aIc1-u!6i3fK zPkM*9S^?}on6mty;=Y8`e1FnM;qV+Oqmm|CDZYWYh1ANIHMvlQnm0<Au4@_ z5i;3}+h(|Uoe1mNvemY2hqg^|D`fAPF{s0`Vj5+uq!*=#tOxTKB{7DgnOhNn>&N&O zfmw^pSfpsC6#iL>^KKahqIg4n&egew| zCH{+P3N%UpcqShLRvv!?yi*7{z#ZTz*mhu^L`rmT0$B=v1``7{YViS5c7zDdG64hJ zI`hr&-WYuy7xyP-Vhtsf*Nw&QndGgIP3iQ2KBCC1 z=Q5Tf2HCG1ZRO6*gk>&>)#iR@f;PF&alCf1`FM|5snKJTEpgLxm@=DU+`954DZHVriQpUo;hX>513u#tAy2WFRfD-a8-@&!+C6bk)2l6*OYiCkb+J(MdSM zvllV{D^0kHXoz$Z$OqI8K#hAa_L$$2Ej2IPdG|`WO8H8+MzLXc=v|Fb<>zCnrZKaD z$C!SR*9O|g?tC!)(7H{9shytleOu^swjk@-Y~HM}L@fIjf-h3<&=$05hylh0$VP3X zh{&OJa1?raCqIyOk1IQJtx=d+t640*uXI;M+FPOTfM<8Y3;VF?^3rZck6~V&If+$lqOAfP<7qp>qS0L7) zXCcbP@nf0LRN%h!g|bKT_Z1MmxADpO9%OqAX#G&0i1mKpV9L4B8e8(}bgsuWQ1yGC zWT@Btt{Hp5SSLch>r~qL$L$UW1eZoXW12>*9?&rl6B#(+>4R8xh#iPf%3z4!t^{9~um#j)W3n&U*ilJg^$||Jm?PoA z=6Im<8q0Q3onzX!GwNkx-;k;DA&2JL63?so7Xl*(5rq18$bXxKg_8HBj=~H+#NiHf zjz`703UNR3rxS=;^*`%q?MYlsv*N(xKZw3!7h(($SHm2e0#EC{w7xAU^N(v7X1)3z z{+C#%n)}N@xqsfn#^aFJ>stHOT=hb%zEH`iMPP34FLr=uwV%H+Cw=j`C$X7sNe zc1X8zNUsW`85QT2w#T$vr6{k45qFMFxE4F5f2mwbO}fdwxa>9?MmYts&B)-@Kh*}~ zaTd@dmkgI81m6oqh9goHZ;VhczdWXFn`vBI~M)hK^)B&qj?;BAinhE~K z)n}KP8BTFSTjk+Ord$qfr{B`uvzd}FwH>yz%tG5J&G&%n+rhd(jPYE` z&%0zT%Z@sFw$D7-#i=t)L+-a836nVdAPs5eP-`N_s=9mlg*|j8YuIxBi}2GU2t0# zY5neeLUd6;&GvdB_vEL=Hq`0vub>JR(RKsvJ8_XXHj zbCB$~8A|}-Y!qbxD$=G3=RbLKMqP$2-|%r-N_X-%n_NJ84rOywhE@pQR=!_odVJjf zb}OzIc&rZu=K;QVcgk0~^b=#t@!{I*SP%yPw~e>DuSz|7&(%ap>))=O*CPuH`zKhC zX$u+OQU}IyIP4T+u((yF5wq`>)HX{v&Ob^#J-*wp+pk$&IHKRg!?+Ju$e( zB;aQ;rvGhUB8=JopX(1x%CDlt^5nx^RmK?}|zDJSmG+#CejSpMryzHE)_K@ue~ zkEIspWEXSq{j+X7SFk-B6w1Cz=Gp)4kpCVA6|N|WWe&(reML>#?)+z6hi#LF4HVJ( zPCOP1mOt`i`D4KHcLmFz=wAH^j@(lQ&Y}-7H;VgSJXxAo72MaV0Y_OP?qQ*AATD-d zqO1(xjXZ)y!ZAnKf24gnN->f;U4PV}i+nh5@a#Y9S~HN?@{nl;^88}G(vJq)l*dn@ z&vA5UqR)%bM4Cmn?lbQzb@r@GyY3{q?od%VH{FGc6wdDdAX+eXbMiF4Q24Mf$dctg zkNa$&0P9m$)1q?T51Dt+Ma);(UX=*sn+_pG-Gp$oX9!wtvGpEa05x)94&9VF|K-B5!+nhz+oyj)ayZysd%z?VLN7}VB)k-dyS^iZ+h zF+QLR;TlNB*TBilT~owrKvNdT0me8*xzGS3H+F?^f-qiV8dI zuwRCS}thCTwdT5(__x4grra7uOWZE)@?C0}#J-{r*P6L5U_0YEeQ`ciA@^7UVM zd8y6EvF#Z<4d;jL?N659IB1@jSWCkuUz=Nd$KVLdu!6oNjXh1C}{j>$Fkv~~aWogR0xH>jfh zJ=5UIXh_C%H64m?ZaG!tb~5vnOQd&2>jh!G@j=TMH81;zB5)YPrM0D7k_J(4d=!uN zQ{X@AP)rqg1FsK}!|}LHLmT+bj1~=p<+s)>L}!&c-BzSw=poEW-W7Xm|G=)EXJa)gtv-*lTXvJ82Pgr9M{BXCOOo-DJ@+m3K z{w02TbFDpW;atYjZ~os5pO_`PYcG6Vax&-(omR}R<9$n{%Hta`hE@c_#;&(M{&?f8f{UHsGK|ztKP$Y}cMwi5d3%~yHG=rbb5EiR9a7_@IEE%RSg@WofdO*Lx;sGVd09LJOQ zmXNhZRLEb?)W7^j3UawC5af!Cb*_&*4<0)&=uG1)*bts%g=4I5TsH_bk4R#@?%B9h zB7PlRbA2>&xFapIKJWeViXw|hK_ffGkIBx035;zX*$mF$&2A)vbK?#K9H~Vk#7!h! zj^rn>6;}y@!2XNT5)zMhY|k!0-I4i=bktk;fwrUl9@7LlCXxcsFiOefLCH&ib#vkg z7kOm6I6IcFYlT}_+Ns3Quc?V?o;0I#GlteF(KQt%g1mv(>JIl^uq2SlJP-WnH2Y;q zy`;@^rlhXG+q1)TPMX;vvYhVY+i(X$cu)iDXA+elq{dQk0EFr(AEezo>cA33G>UN} zmFc-tS`MOsOJi)+O|Quq^FO$Q9QKb4{%$VF7yydIR}lU!LO%kyVb>NyYN5Gai-D7W zGhOr8?2Gj8f^Mef1s%19cV=7@-`h>2)z_s^njQ{n9-SQv$tSvqd`EMU$3lwJI9$VW z!){=&VJ;1f%{2TqKD-fL14L>PZpl$pl0H(b)C>yk8yH|fO&P1UGde=QKRTrl1KL&+ z#E&GUQn#0ibYro4V7$h$>&ea_YxpE&Bv@U|I%>PAJ1S{0U(e$W!R}avo@cPJgCF%@J>&A@Gme21G6h?)O(xo$3i3E_b)RwN`iHuD5X@@nm{~XyFegf*P z!&X3hp>4xk=(S}6VosmJ>U2-nc|D^IJmHVPf8&yXrtN-lI@a<}rh4k}o;r({*iEFs z#$iM2vAA@w?H=Ru8FIc}_x5%BI0Yo%cuzN*HyAI@vx%ndtB;tn|iTYtaK588@s1w7zto>*o}xf?8Q5DQ-&JPRjfNIdMp8D zK0duEWILStI~*kBu!mKJP_srT|3#8He#;b5nherWl|YGhMxz~2G#%e22#NJ=j2|(U z-goQOgG1_Ai`cy;

sg7G39kEbFkAlmiiPwd+7;zlGKo9nA}~R?Pu} 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

KGj$`cV&R*}FhNN@5lbiPqzmm)WqD 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 diff --git a/scripts/GinanUI/docs/images/plot_visualisation.jpg b/scripts/GinanUI/docs/images/plot_visualisation.jpg index 19a935cf72feb35643ba815b97a7d264b651b76c..378bbac62979cf00c9333aa83d22e915b66c4eb0 100644 GIT binary patch literal 446935 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

0L?U9`T- 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 z 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�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

2Qs8Dd`=^^9Qjs2Tgx1 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%0AYDHy(gSw%Z&!AmdkY0 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

`C$0`O2)NzC)vlU?t~Zj|A^Qm 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

h)+OCB)S^E?YB1& zznDYbVGCVvr|%dN?Yju1r-LREn@u!t{!kZdu?&95HvL%lH%dLScyy#~&q~e9V2o;x z^V@;)Q(WV3mZUvwx#)+P2UFi^Ul^Ypv%&GX3tHU<_$PEn&eD-Cuiyn2W zBd|t!lXZR};PT77qh`io_|q4jD`l&9PNlZ=7vCxNVy{SC&DK3ku_>WE2%L3I*=Hfd zS-oY+WVJt-QqJ?a$-4Y=%b;Pb5nfO^>R?XI>ciX&0`Nh7PCXN%D{Mh=P_kJ&^6V%{N0_X2Kw&PL3EdJSn)5!@trjyhjB* z=v>I|J2*(cSc7GZfW*+M#|6tv$Cu#>a(q?^DDuT|fBVk)K55!%q%^TQIqZ~49E@0F zHur2@I&8LhSs(*gD>0kiN_6iSeq0TLCu2feoc+XyDp#v$3ucBzql&9~-<$hnZvWhJ zR#>I$AoTv5;PM^_EE^^a?d?GDlo&5U5~s^$LT$m7_DUWWeaejru*A7_p{ZEK#mi(r zp&e|!3G|?O2&Rl2!3gdEl;6v62#-F*KM3b+I^xgG5oIyq2<3#&R~$IxWWYyNYu+*0 zqcAH{ehG?R=ZQOD-41_^7cY8eV7JK(;tqjtF9=E_!89EiCI5@p%H9C?5kO&(6ViT= z#ckPL$GHhvp%hS`f6||@bz-50Z~*>?MkL#c+YyJ6z`;kbNx;hF`NZx=+?1?l`2bGW z396~ISlhVa;3B~Yq+Zv(ps(KU^_(c_FiWSG-xQ78JFW6O{FUtQeK7WZY~pu5oTIMB zKz8Ga@~PQ3?j)%Niz#MN@10vAkoT@iSe)J&>D_=ZZs%xmqhIDOC)W(y_@!~QXDqxX zpFap&&ur=u*E^!9x+*w|&W=wmQv9XWje5I1AV4wuZ6GudqvoWko_juY0BA5R>Pzj$ zx`=NKQ~`G8c1$QK3s7Ny$KBRI2@B}*bLc(1nZ>jx3)cof4Dj0g?Q{4iJkhZq6PiXv ztIw?!baeP#doQ!AgDZVtsEtZI`Y2{{ZLlC*lh*>((o$r3l}tp#%#t?S(S+Uph(l7v z|Iv*bp7!$;sPfd8nYcTzmPx3+lm*hHay?Son_xTCytN$Obb(Gc`eS$r#bP(>C-%)3 zNj@JiOBskTRrRy!!@jEPINE9CnHhx$G@c)S-zWzaAr0Qun6z=Bf$!M|0LcxP3kCaS zma9nA1v!YfDhHt^#R^;=eK7WwyZpnrS?sguk_XD4s?bkaJpPJBT+To*VP1=G1NBIPZeM~bVIPS-)JjhA z4$9A3(nHCYFVMAkGOdN?+`=mFp;UpsIytH8N2Tf##&11}mKT*g`T#yHaZ4ZLag`RVYTCm5vq(3>~IEO2a;Jj97h!>^0XdGE4P3f34``t7Az?$lWCyobWQuq#%R_|H^+ zq`KwVKnHzive&WRV)sJi;_1e8NPx@2Uw!%UeMPiQ$ioZAs*D$3$vygKb?(quwn?v86!iu1RpOG zMDT`g)*~~)zYXO90b(kg#VKC}GJ>!y$G?*Ih)V<1h~!3ZKR!h>8|6cVAJ%=bLH0Nz z`LM98?hDR+$UtxcVzq5#*9Jml>`P+WL~Yb!AMes&FXq;`7>U!!9HmM+!o^TV+eTD! z98nT~MCr%jA;PiH(s1wAbL03sX9nVqTyJ0W6t^8cH>j!d;uRsX?P|N{TwsOmQ5Mvo zi*SR=9I`*u)Wx7|El51vRFbIS7GkhkAYrQ~D^Y zRnfbFdZaNZYG=8y{2BG*8*(E|tfs~f@zzMqc2zK|oo)y&V$CJX!O5aY*TL1L zDA%UzRBM<1RY}Ud>y?$|U#}jzXKV4dn?!nrhKmEjTEFGfhpFTubfFSUUhlAPP=skk zSzm0}w7hO$*s03vp9|`B8WTc0V^G|Nf6)We%5$si-(rH)%!jnjJ^x(v`x%OpQ@z@& zJuS>j(K&CF#zQM|gDiW?k6roU@#HFHVQ4Am=N7FepuJ^G9RH26`jmjQ{U2ZQ-;D#T zm~OzldW97|IlXbZM`ZU+2|ODTQCu+lFVgVq&!61HV2QvH%O9c%WE(}|tL)`1V`FnT zG5X z(}L`5FBFy-AM@RVi5aP!jBi0oER1i3JW^4}3c_)oL1PFv%ZEd0!zJOw=_rCxPTRV?R>|%p}CeB};_~JUdpigA?NCVrtOHv8@@J0JY<7IRG znJ-Wz&651{NR?x!PCv=B1OlY@-7>@4Gh^n?7iV@Ec1qe%ecw$Q<<@+D#?=mZPA|h{ zQ&Rq}@sh_zT91ZU2Dt{wlHAq`GRcn-=gC5)(cHNRoxc9pPxTh zl6T$vb7n7P!Mp{RGOi?~(6< zrVIdOKMl2Bvni**jn0q<$kPnr3_CcEBCPgPb;3aR@kpm_Hhl&^Oa(=t5*tn&F?WZ1 z*w~SsGu)z=Q9KXMg(4MP(#ZJTkm6YtO_mk1rBAsT$-$%)ZTnb9JnU|uo z-{Xf&t2wu*!kYZ5KNR&_tR>yJFRG-~PSp}Vp>`v-_2mUW@GTL)$-Lq3wIreO3$&~} z$ea!X5^%PY43dK4S%z6Q_@d@D4>>FWZn2}Ql(duuYKi)tyZS?(&PcyZUc~-O1a$G44 zz&>54j$TJ^?0>@Oi(Sw^$z5Z4jFcr+5IO;=x?A`p0g2ajf+M*T3NY?8e7ywz-pS1- zv7?fSyXevaIVk%sPl4qyVCu@N&gV?r@!tX|QtUg+4aS2-0%aG6Rgm@)4SyOnlWk~_* zH*{kbKe}sSMsN%j{IB~)7QS(McdZeYpO|b8W{^x8@mL(?_N3t;PaFX;h*nd#%;aeZH?PdOl(QAl-Dfpqs%RozpXL1j{eGDqovh;!-@37UT)2XCHZQzOHyyC57|Cw+U@Ev5k zIQbmkVjqO_8$|Pmm=Cq7_>A=0g8PFSc?WM-g3^D-N2XhmtW~}u{<_2Pxp3EKfRJXg zBM+SSeI+h(&p*Gqs@rAc`ixnmL04OhiyFSpzsBof4r4ANqzU^QpzXMQ81^HgBJrZt zagIU~5R<;vm@HBv1j6QH8wi_js&C@LJ4H?r9l*ct_+uoF zUqdTryy}ZxQqb335n)CH`43Vi)yW-r`T_4#lfvU~V+7iL)Idm#^&1=#06ke?nHR~t zgt0-86+sOxK0?rIfSnr{F>{Cm=@e zRpN_X=M67+bnNiSEGY;)e5>W${NP(2`ox1EFRNW_tyfJEoqJn`tB?9x=S@a`evH;t z#?8aK2H(#G9lLadJdYK~I)FGU4P5TL!2xnc;D${~(BLU%iOdP-g%p7a*YSFr%1~?5 zr-P72F(m3~@z;d-g`6IBe3b1SZ>ZTaKdmkUSLYe#uhw5OXeP_G67%k_GQIxh;EGr) zxe>Vp&PiFqK3?QE^-gO{8JX|{EB$A2Ji#HpJp6`Sn4fJ*J8t5 zTd$+{cXYI-yVW+^D7Zea3p!b*n%)#HmStbJ5R8|~_LPbQgn#tzEUaZN!9YgxE>=eT z{0fTF`WU0+TAo(wAS3ZoK|(_VWnhbySDw_hx!iWSXJ4S<*k@uu?qu!X!4^pV{Dbs5 zfhIR4Ef%K;ue28Jht^mVVglV>-r?42c zZ$6$piZ&YHWXd}(|tC3K3cxg#qBvh zLj7VpH7xg_#B=5#O``sw@?q3(^Y80J{oPcr(RI?7P&YwhF!Ur{peFkBzgZjq-)=bF zKw{|~sM-4oD;VDZooT_GfS>{O+&i~KhX5y$*y6_sk36`kxI_d|EJ;#yS6K4(Y7ueq z9dv$1=<)f;aBcUnsJ=1sOZy+BPsVy{IxSP4zDG6X7Z+Uk0*J5l@cRlk+?DjkDf6#o z@l$h};lsmaq|PQ%O3dSgn9Mc~C<@4U%!|4ygNDzizcN2kkXK6aj^3B=- zg82*RJIV;MFwohk%~P67aX+_E5J~mxq)jDaiw)Qhf39Ljkj`LB9s`9MNs;2(Vks}4 zfBrj>6F_8Y{@k*QEYNo#N%|6*QPV`G3>UYwyoi8p8i-7@so9AUa^x2wgL30hgebv0 z)i}NB@x4+M&eZVXH=oQ_OhCGSk911;F}L#2vrYscaJ@t4-loyr`Jgeg!jG(w{(1IG z%`DDX-?n6&7t>*cTVu*mF{P<2Sr?YQoVRevdb8fT;ZIitNDU-O6=3!yp9Era{f7C* zCX@K%=+7;kYMno~Jm~2na@C{rh2lW;Y=16sC3@`?0SRI`Ad0#Iz>Y+K5*4W8;P6;c z^2B=JL*j}OvDI=CxgiU7uC)$$nEaLw<3y?sqH>zZA0v|ZB%(uPp)})rhcWo6A*h|i zwc~z()%cL?1|$qRzQ{ui!O?u73r^5X1jJO~4Gv~Ql{l3h1b!s|)b$oJ8M9bmuOn3n zv>-^YbU8#g61h>vSO;TY{}+329@JFU^^IcNij0wYCap9ggGMGn3`r}kv>-%f1|bbJ zA|ggaBxp#Kc}{mDpiF5*L_mxRh$s?B7+O$~S-=L8s33!!BZ3DwIo|Dizj~|Q?|JW6 zb-%iGZ{4crA4^C`_St*wHT>3EzlE4O{@3*jur0${tXH7;-a-r9H5>eSF91D5qtqoA z)+dm=ggn_xUlKttd<3|vd-A_ZnWvx*cfra^$=GieTKnhS2Cu#PuV00?u%z@e=yE<6v$3S?J#(RP;?;FI5gS{)Vvzt-&UCf~2W0d3YRbM`;7* z{ho?;;9Fj>-;^TN< z!>X$nOa`%B3IL_|k{8dA(QC7dQA;Xozk&uN%mARccP_BrzhSMIzmi^Vr2>VD9t7+4 zo&zHH2=HkH|Am{6=cNG&$|Pg=K{Z)nBuI64{)8XfzyfCnYqBK4wSe&g2*9)K%jAc$ z7&ssiklxkKP%HwRat@%2J*|cU!E6IUx|H36j;JvhfA8zRW#Hd3@NXITzbOMNDxjEW@}mX zJONpjxUP)Z!`$(z-tVciGfc<;=uoKSHqo(~uH&h{5$?%uGFRsc38OlgjAYGdWM(xc z{WPXWuj(*ekfZbb8hh`aR$B76(BzuAypo=O@t-rL@lzkb_dG^~5D%DV$nC4tC{573 z6(%oVsI6e}^VdQ+%Y@W3D5oClVaY7i0QMQP^M!>z#BRT9hLVAWT4v|i*2jdYVN@5m zS;lP1J>JI&)>2;crs1&=-Poev8ZY3@_`(OHS9gsMkMt-xs+shRc~z(86D!5W`$nUG zD?1fg=kE5TiPIVyp!c@%V`$ooNcx?=5(BllxSP8M@BMz`X|jHvw(cL*S8A;3M>F!R z4+WfY@v&BW$AbEJ8_3h3Q=&Vnor9KgyX-#mMB5{!CF_8Tfl#u(N=;n>K1G|MuxC}_ zC3w1ubzh}k_Af}!5$=x8qfJ`$9mT&>cNf-zth9Rs)YvSblIO4@c<~$!=1$Zb?4F}=Dv>7)28(nM;gNkL!`TVo znT<`z5MzZ|MwlT<6FO6W*I&XtK2+C@|Ey;*_4gWO^bDiW_RP+$SVZ-U7s#UR%Lj7@ zebNOXb<;s{`E@1w*(TQc_qonW`iI;*JmQ-^9B}&lj^1b(8b)w4gcc0{t|jgcPi#Mt zYpzL+m=mVeBo=D`c=c@mRF;{7)|35pMX{$2_8&d-!IpQMCk#Stumt=HWstS9vDyDF zZK)g7b#OFss9GurZpv6oxb5KNi@E{(S|DpBb2S4~CnT_@&4DmWyuM2P9{z5WJZ#pF zF@7aOo(5l~3KAp^UF2ya5P-D4reeV)ka0=Mn4DOZXT2kXd;3;<|FuLduPx_ExV%tWDjuS6kZsf!V0uvp zY#1q9Be4XbEdB)4iEa(pbMM<7$J9GJUVt(cpzzX$Dujgu9I(`5nEr#t0kY`YU_Ez^ zOPDJdUXEVuJPmZB^)tt``=8CdpZ{hYsCPVOP;w{4wKkDi(2mY#Zo{jc6RWjIQRkqXT!1i|#~}icRZJ^Z5VzH~X;CclggL*IAQu1b{32H{as8`mTW0lPQhKwy_qEux`gXO1^(j zMfS=8q$6~I3f*S_OR$fPR?P6w1nSOStnmbAQ4CC1{Czw+fS=Jn3SQomk0}C3V^M2K z12v;=1i%DPn8vHzuTnn@ch|A*`c$Au3v2R@BS0yo|NRvITW7JF%4$16hJX|h3Fz>| zX#Q8JqAXT^9OIAW&i|{|q*%98(4T>y_B{Y}%fJb}h?7*ZR{kDdiFqZx_UqA~{s+JG zI?Nx~{75hK7I_)G>q#6yFnkdM$A9tDUP+7M{?i@&|1mkW)PFwu|N4LHzK~HB9_GBz zhFdddBPP<=6UXIx?oUAcJ?R_QIyrT`)S8--sNZ-}Oj|mxZMWxRLT3Hme;mLr)=kBK zWCc?;-_2l60_8&=_c!X$4!FMdOOJ?T)Uy+)q5l(?sj;vST#WJ38ayLnhH5=^1csL z=oj9|tOwTdiOaOa&$E$(O`JJy=J+PKWC1zE5<16m)^sqng}E1^Z*H;;i$4uKH=#Cg z34k7w;h{UYJL zv}5PTp-(ix-#VFre}Ic8hvG+jS}f2#G&M?y*!(tqtjz{g!@U0k_BTl3^J+UDjsC2y zUIx_)4`vD3bEdhHTYo)jLJGzW2b-0t)4LeDFqR>H)~t?=Q6X2JK69i6|61~&f{lMS z0h}c@Ru|A>rwMBf6Os^aycG|M++WLT{S82D9%j#3q3s?=oGtMq;ghLS>z@4xNxd!E z;BOagGLU3)1k9E*(mwy8KeOUk`JsBv{hQOz6-{j`(`>id)_3Tk!kE_$--oOCw806$ zqD5)Pf5-T#5pfZ-lgCLAt=-w)*}3;FrcLLzj&B7Ca5?|rWMtI3Xum9WI(D?u_553*>y1qD_Cx#{+re_Hn>lYQoz7Oe`neW~Z5y<< ztyE2;#*+&g^aXEyeTbaIa1`%gd?@%>XGNAhd6AP^pHN1pIt(yeL=oO$1qW*0eds6d z6+SiagcYB#-p1ws^6K+bN6!JnhIBFtneYvtGXK&36-IjE@ z=Q>>#&TkXz$MS97Uv*20buG579;ormmEGn0vgYEFfm4=tB>3N{+AKSFQPGV1)xhuH z_A%c5rzriaj`Z3mG^Nvs9>PNBYeV6exSLN74J+Bo|0y7qN2uPvw`YUDR_+zeAAS!n zlS#=Vs3r6FJ6W^`Z5N7-sd*MP$E*g5>mQtR8S~S9{rvD*Z(@K&bmTpjfr{S;??Vfa%lQkZ#;aotmU7w>UJYV{t& zzE4NuX)g|3#1~IMiAWEYgjWGKGvQlo;3OFtVEu|8eR2?qje%_fK)pE<_0xSwp|jnz z7}v&AZ)v_ zoRg~UH18}0&i1zjLb=32MQ&+mE^)?aD+QZv)#;#DxD^O;F*)j)-7QOF*{ zomINAoS@qRrDWk$nqW{6WPWw_RYfLfi&2qrjlS=F+oQtuNQsWZ!D6RJ>2OZ@!QwqH zZM#|Fn&e?#k|DTW_BrKAB2wUf}%{&rPI0Ua`j6= z#9V%W68t4)j^QTM3ufkDic^)jGp(JQU8Yz3{P!94`)|y=hVmL@p}X*;ZnHpWbFtaE8wCFtmMq)dVcAN1tw5z1ZEx=uo zhzON=2j=JBKY0{CG-|n{{duontMa5(&f!_zqjyCc{YTt?yOQ(lyM_v3hkm`&`IF+v z`cs2N#(m|kiAF$kJv*rSfp2qlYLB(%LF2AtVLy%|J?-)#woc`TpKOpln_02v;5NQOIO1pW` zm&t`}Ob!X{^j%2*%t{-#?5{hyq!8ZXSsi%^n&lVd{r-5lP()6B{5kV9(Nwr*$}{jC zP@2y_mJoJP$lmbVVrx^J*-SL#RHIE$NpUwy}3<|LJ3LsMc!}RmP#~|aP4{Y>wa5^y5?!0fqnuc?*t!Kzs(lrXI z=ZCUiF8nuAlnSio<}cC!1JU)uWXu0!RulU38d0DmIexh`g#P;z1sS{}=@&+9n3i=#vOOcaZlt`tiRx(CIAD z(r}jb*&K{Jt)l+NXstGvPT>02%76f+n)S!ZKfvpuWP;B*3X`!-)>Q0gZm%}^U$zfa z0;U$SfzX}+T146t6mKp*!8UWWz(4J4}0B=cTdQ?9NGVa{-Cp-pPZ@3Ho_4%R; z_Jf?VYA$vQBdJ{=xeJkP$^UwPZI)*zR#2d3TGCj^V=9c>MgDBj4$Nyhi8{W7 z0u7>M15&=Fo;Yw>hJnSkXH`_Zw|+*L^4;yx^{Bg5)<(_Mr z8S^&_M-$q<$2N|~tBvhr+8&-ju85X{dE$teceH`?BuNu47k5#xllFz<+K}3IV1n0d}=)kl)z*SKuc}lFPI_`4sGet9G@+qB{D5gh9s4wj+7mN zUc5-kPn~0cF{26i+We&Y!WZ8ydh}b@SPc6->|gRrtLx5kbR0Y#`1F_G9`|#9^?I12 zg2@@fnb&aYuQtM;n$|qoiR;;iY$R1(aZe%6zvDkzv6(iQk$|s&L=S%=m)p5{H#j+^ z>~MOJwB32sx36-0D{b2!pBmbDh|yFsiExs&K6>G`R|`w4hIjz>6Lrq}KoOWC%0zfj zVcY7*`sg(i#7n?aYNEh?Ei6?L60>GYCoKvk!|~Sh`-i>zmN@dG6ZDu45^nJGUczSN z#+2KGx;lspFq>9~W^3oQqyJ$2pxKK^fgP7Khx3IMpj($K7>#MCW|o-22f0F;EaNQV z0aJw!Ib|oucfrvO8QjyT{p4O=dOl`U3%$#`9&&4@K|TM%5d~S76A`Y%@6H}+zmuSJ zEvU>VQr%zpQ8`)1m|k#(qYBSiK31C%-+z#0*LcAJH+TGkC86?iccj&)uKIHf5_#>Q z$9<{?XZZcG?tsWl{;!74YZ|*?+>SgAEnWLC$K*$fcS+gOwySlsPRZdVgFfe{3WWio zp#4_PZN0p`y#BVkf$4vpTc$!3{Ajm3bg&VYbA$--fHLMJ%y4P$zwwG>kM&&ql1|!6 zXH5o94oVp4oO^*_32nG`b<3B!bfUTCBb%(e0 zOK3tsU%j5Mk3;;SQxo2ZTs4xgoFyp$hw>|;1mVSM><-QIxa7y=E2Nz>9Ob2$fo20# zF<*G5u?ku14EX*j@&evQ+c@iM)ImuZ*DC(V_z^_3l#F?FPvsa=##TL{TdxRKWe}|yfK9l4AxkuX#6Y>lcvR+h8KFE8NFGt$?g3uEA>A^w> zRVmRYzC zOJrH3|LA3I5+fKVz#%`Q`@-z=%FDxTE}ke2jEVZ}hfQEglvHvpZr(Z=vT4g>J@lG; z4N7CmuOS%#k<4-BOyb%iRF*>?yh3+OQjuSnQZ}t`;f@SZgr9IK0o4*x)xra`BxP3f zil4qp{Q_dNn{1XfB5`4+1Kf+#_l4uE8L?YONMjMc^G~% zbF|z+#@`*Zx*U4jmAAVH&ZX04Z6D|ETB^vaI=Vbg10WA;`QAfVVJKmD0_1O22cV4^ zlI39Y7EndyhyDEm+Uw9)$I<+N$1U00wBhTvqEY1UKI62#k?uC_jR{fEtPheF3~w}j zdgWS8q#RotmLWV2U$>(mErs^;^A{kp4-r?_K~O-r1#h*So1 z+eu1brl@c}*a7+~#kQhK1t10i1+R{O(BJa(USr*3&K%`?R_l?vg(OS?InpeRD8*Hx zZpeW(2fB@T__8$z_}Iz}V^~M1(Hag^mdjAH(J8zfIfR!o#9QBlhc8V^3s^c6<6(B> zETU1wniIXB|9G%CyS(O^upBNay-5dL|9dW$`>6?L@kYsf(F63y#pS|t-L-oFbG$~H zfL~)muUIndsJl1f4%?pAr}@d{2EFr5*0G`c1Xl;Mmj`Y~+O=HL^)%XG)(bskVrmJ#U=J?BXqK{ZDf!TYw{5DhymrjAjmS8_0s zICJD|NnnwKj>EVuRQ{x#%bQj!g3Sh0I?4v!A5g~e_`E^H3SpMC0pRUO4#5~-o$bM zl%LRKC`6Vfl#2~oAHR@r(rOrbv~AV8n@46m55-05-Mah5T)?z9Yt}qY)ribG{IdQq zPCt79uMk*&I?(@lW{iXR{ z&jCP?)^V)uA(vv(b zB&LN#96}x81U^Tzo|B{xx-5rNoBV_wNKRRJfYtrsW<7e8=R=sARrgf7HOQYy?jvsk zBDSBoiTTRrtJFhQTJ!D+=J4u5d^GNLzKEJ+#Y^JVYoMy>!(v)`bg@?luO2_wC<C7*}_uQM)<648!$oV)wK1;V=;SvRkyHzdHQE;O`?`tJxQ(fNaM4RlF z=BlOg9`a(r^D>3xTuOF@a?qo^e5HY6d6Uke{N)fcMdu}-gJ)ZhR;IQSJp%)BFCJ@M zwMbTuz3Y)LJT+9~taB~$CahL$>z1p_`Ej!8!lggR6Yiz^OH6eN-+{)ZuD%+N9+|YV z#MXBic-P#+f<=7+CeyR#AAl^1qy^nnMzfT!9iiVQ_K4Jj*k9c>U?BkI67Y9stIC-}|`QzOOw-mCiR3>*`bica2O z$&j{&@sygC8Ge#$P5yV8-H$(BUn6*fR{d~jZ8^S=q>uW5y5YIpNwO-#3W<%bMo$is z*3s7loXxn5CR6c(eh=)jlPQawbBStOT`H-a>}ID7*;)A-_V~I#Evuh70@CD*^2*UC zplh6^-PvBrmHF=jIs^%A_%rb`?pViG5%jHGhnZ+l#a$r2kN@uq^^ z)pPg-0)K`hNEReMm|ENWveN9gb4_}_N3%}zZ)v0&rDxveCtdW;+#T+lugJgUwlwov zTlx7pLS-;qcNV1<^a?_)qmJjS9V}UI0{Sn~_8JRh;lZ$>$~owMih`YMmeaL#mCE$) zanao6sqJJFM=Tam-=bk@!U+Yu{A=jOa$_evs0R0+6a-bODLSnNmYW*r2 zw;5H*U-pt*CE3%zc*FQMZejz;{uP%*LhX@D(Oh~#r|>{>&0nY&D}HD~9StQ2c!~@M zO3G+O!ram$9lmx&_7X)k%=h7Q+-7h+e_}Q8gr`~U2s}oH=z>vrAH;~^olEOz1_9jMdnBq4WCkxbQL}yX)Ay3E~V=1kdD=b zq6c?vu+jEjSItbtP-mi8z9(VG_^VXCgH;8)dm8%aY<(qZL!w|xQx>^%P&-yJjH0#j zEa1sa>=jwR4xiY(1=&!_h(Mm)KxNviPB>faaPQ`9dG zkQ9gNfBE=XLH2{Sg7d+~C(c3S4`32z;*zuQ5yQg$JR!OaC7c zb!(Zad$w|4rKiTJOe3nD??6>G_VLfmVy!;Ol2eX*VdANN&b_SdT~8~!BCCBma-y#q zS=}a=vwp)T@M>9|{(#i;3L~xzjeUR=-e8y@U*Jd*0deaX-_S>rN4G)~e0<_4$ZFXW z+Hfhp4g3XFq)ep7%|rvsMv<+vM;;&z(D{?A>ygyA#ubuSLGl0lkqVQ%&> zW|tSaHipgo9%ViqTw-a{b2`SY;o(-wXmty3<7Z0x@Smg8XHly@<_-kkHu1o#BhIaZ zsgKx4-=v-@k$rUoNhk~R^liu>2H$x-8dfmgxUEvADEul#E?$CJs^#*_iLOc#&*lTy z`g#JkMpxQl?V+*F1e5N(jatmTYL1EbyibprJvTAy)N)AubUL_e)ThW)B$^hU9l0yx zQI=MJ5sX)G%2NjX{-<_6?y`99ICS6E_j(Cl!7c5bAMUz?oZ~uehD~wr7k28z{f0Rn zFx;&yWvj8-1-7GzGgnx~?9wMoZdp51)EV}JfWw;5O2*GM{ZK-FMUq2&X(@K<)lg?U zSq`wb;al}(dac2bkuRc;Ik4=rrhVduSBxzRSrv%{jbDJ>%SE?qH|K~rTG-!ZodHJh zyRTAnBO3E33pzV49b#y}!+i3C_l2cnbQ^wvEOe#XAltIygG-;FtH| z1< zAd5TaDjfCN|LmX$GI#rY8~dSo>iR>k_GsG%`@BQ!<&hrsbwOM5e%+FBbH`WO zF&Qr<+u#b3A#>{_a$=;-l1Q8~!^<7%&QDbnI+(RPs8N#PH}<;fj&A9Y``JcXppg2y zdwDnP$R;U=YtUe4VNU{S2iDO{klgr8zKqu<10N=QGN#R^DY}9YHcZlB5TTp+dR7NF zfviYU-1irH6uR~Mga*;BprJ*wm&)N+!PC7+%HgKIrlYZ+QrOM*%+3i_=I%GBCz1g< zEWd^^j!41g$P;*wm&Kz|l6=3kanRC2K_-} zw77HBYR_k~Ha*xCT0431uBNr?U4m`2SaLn-`4;{)hW+-ScUjpRLXgbw7vC^(8X4V| z+5<4CPh36_QqY%7P3FJT@{C*3#|wgMPiekcS7qB506xIe+_(3OByv zt!3-G#xvWJ4HrXy(g>qexV{{?1nn^T`_N_JWuBs)xca ziQ?q=B%NNyJ`+9aq24+P>C@;a`4-sui3#0iTgHB*+$al;g9`;9)}?hUr040AkkU01 z)D)Q#)1*<$q4V~nFM^{!2(yy{%hDJ4%Jd8;Xd(e6luZZN!TI3tbdP(_1n9kr9+Sv< z*?BY<1~7ee58u0XG6;XadVUd%UAA{GJ7%k``G#?>YS361*>vc1=dSLskb3x<=6m|w zPXFt{=H8n^eUfqODb^j)K~t2`MIZOfb4?GAWv|;`RdVvdX|q~+L);zVgY7+Xj<()K z>UeXmqe5!OlSGFqRZ%FnvKihVvjf2fEQO#LYWKL6k1978U(ku@2nWntt^HN*%pOEK*6Kw3!I$jN5y-niq3 z&*m=fwCogCc?trfTz82sHW}s(B*t0uW_NRt6<6{A@* z>Do|B5bR!-v>12GBzwJ~U`>{u>55ARgWQKtoF&&rN*YqN~s=^AFY zhK%F|ns}Ub#^?75LUN1qeitEse;^U>47E*m_?F*Vle9*Tg9sY^&(>uKNdl-o0;XQixGN8Wv+*BX(|!Bi(kS;GAc8OZ}oHZBEI$L9cef{I#ql&>9{!9#ya zDzMFAtb05m6`&OkvEDgGh`5c*wbd?o5u-<3YTMeb$x&|Y7w9!$5^=hdam+d$63m=tTW zJR&D7WcC$+ieqa+@{opa!1am`FvDON+d_8`=O;Al`}pp>BAneT(Z?l?HvdsYXE~)f zI`1Hf#vBLhSjWJ)=v#rBUCMlkSH7I@9S>rhFIQ{dL94T$`0s7ah?4Z>Yu7#6qKLTR z>0cwgk3V~d)OHq~atEB#S3d-WX55&$v~5PX{YaT>v&o%VuWZwG8Tk)O^pn@)T$44F zw1Oh*s)BC=IQnRNWn4zsnjZ6+4X>U$zYf|)(MK=!-+*G~dSGclm`vR`vJdKM*Pcqk z%n+4jfSb>&iF*>_sAUQ3YyKaVha9D^3WMkF>)vm9&v1^f zXuH<4Lz3UT88wD!NvxCjEUMle<`yJDNSXUG$(9b+PKhU}()$HeMMkWcr@{CI`9sJ} zVXD5m1L&g{QmE>6giT>~ArEUrc&%{X`e6ZEt(&EhRD&9Yh21)iln|7ruL0_b&IM`4 zk3b@UL(YYUso`uGLfC=>MUfiWEjD~YLFk08iky6?Ua zvl6NI8s@*wWxc11; zwRYDIiG?Nf6G)+swg>ONrM|8JoalzmwmYOl`F-Wu*UUOCM6v9UQ0K6tmcNVZVkbXcd`>nr9DFQH) zVg3l|*XUp?o$}33AnlwE*!c=IfQHsuM$6g!9lI$T=m{OZDOn-?_4rgCj>a&m^qE-1 zgL3!?_GQw>1a~O8bnS<4r`0#D+SSH0$C?taKQ3DO&_loZ@#)+K*9C4=D% zEp*zkGnt#wQ$yC|&2+BFk^fY-TL{XU=YPiZz~fzM-ibI;puQKC5_zMmz_}>REO%2A z(9amb8#zkCT{~;czDn&8(t~U-1Z5H3Af@7upva<}XP-*UE6v^?cafhk&WzF~^#+CTJuJ|z z9L=}Laqfn8?~_y4&;TO>*1PK0F#$Pq*CDt=aA!;REu>pS7!?SpwfSwFQJM>qUp5<{ zTq`LgoaZI8>NYk)er^aT$k^oa<%%I3_hSBCLy~m`Et3Z|TK$7Ngj|oSU|2mxf(^5> z7P3Dw3|xRfUZ-AUUmG(@n957qlAh_OPwC5!l137w4o)!ynFc~ql`ZuC7**R|%0aFF|dTGF* zny_4m;Ghojditzz0yUjTz;9-ShAS8e@*G9Y=?pb-TJw$%<7A|_${$fi=yIYI!6n){ zdZ?g*w5NWExn*ZVaH-GP08rTxpUAL4;v&Lql2{>Q#Rk5}4%m4)0m)iZ)nR4(K3zy* zN{up@5Ble%lbW}MHUEIH?jjuVy9U1Td4CO1l_YEJ2hwx8yoAopGX)duPWI=x0E+xr zNCwcqg88abdy**fkpuUT!-ghw`5qb3KgYW>^nD70s+@OqPKNv*czXz1ray03i?Qt{ zKRCzSSwaGz(_scIhiht`TG5 z1|L8o-n8Wox)n(Sh{Z)p(iSjC2byXfr3!i!>9xZ5Wl%;ZPnjVt)Nz)uL^f?}v~)Ws zdQLku!XRz-M&b}c7PTQD4R#ZHWjER1U}!W#v<`CixGwNm@S|i={czhu*fANUfy+A5 z@6damBRz`RBBvR0f6d?(&NPKr(%o9et&t~}L^J^6s8ic8E2zErOF|hEQ~J*gN$>G| z4>^`yW7cSFB(hQVY6;pEBY5|jXqKmw9xPbd9hlg*W>UYndaOqHIZRwBG`C#|I>)rA zygn5TNK>O;u2_T|)6|uHzQ=&Dgu^*o2}FBl->WeWVXuWg;zhHaChUi$&Rg=-^YvMw zzY5b!6SFDTp{GPwH;QemN3z=oUaba5qB%)!HW@=k0*LWTKPVJU5qDk&^DPMMRd5e8 znj)cUKJz>1OAB|TTfnsLt=oH|k7Pj4Z_&^a)j{8Z~6>0!ij?F4Fpcuh{cUJ&iBDW`~O`q+zcoTQQ$!qa1D)(zFOzY7nr zMWg}k5l^$;p3sTOAio3dXzT~XNHG2b)KLqA8m{K7DxA^>-;y%g?J)-N$pa`f{qtV7 za?f82g?IK=aD>o~ey*F~j=~wac76mv&yKU|w~&l{#**ZJ+ci@6H1iyqtaVG9hwBxN z#-6d+aHX>7eUl%%mDo6Hd+~Ly-Jj(m<{=8P)Kh6#P#-T0s|-0b%)fLhs?Aeeb$zVG z(`TSWMLNF3h>+{5#w8bjrh(Fcc|TAWzRGR;N4kZnGQ=QMw8EB0`zHIDHVo+|IKPdc zi0VAy-3Pac6%SheenqZU8 z`zPZvCp1Xg88*}`{AM=+khcalNr7(T$IB6Dl$au3cf3ztOwJN1%D)({NNj7mYtn3d z_O5e!OI(n#$s1}w{%#tWbU>r+*E-{q0wBlxuFY~5J%*RNd_{-VjnWpa5WUa81|Ph& z`>OfkvZh!2wajf>-OG*p%UXNO^N1u`Qb(1wx$T=#*Sir%e>Hs@d)h>Fk4}701_Fy{ z+YH>|-HJ6C=76>aUx$|cxJU4h$%Jr?zL(EaUeY5Ci&FUZj-pNwF44z4YkQjvVYhaw z)aM1g0Q3UH65v$EXMBJ9=E1R4(cOIvwQ4_lg1{~-yD_qYp8wP1fu~bo#n2JTCOWr8 zTe6hWVo&{9atn=HvqX(0e*#oHIA5%4$K}scgam%Ejc_6P^b$Y;Hi5!;pNbj47FaCe ze2*GI_$2hG$i)xv%A-I0MQ`whdIUU$S?y(Zl#t585gTOM=}ZrbhTzc|J7K~3nINH` zk|VxlLF;n9QgD@BbC>dr>i?tpSXx%k)& z`e~Qr)u}Tl&X%9-+)x-e^BxvH-|c5hJojRIaG9flch&3qoO7=_-`lRT*QIrz{LLp{ zX^qKjvs;+UfOAAk*$JUl6)h3##Zzsx1kNVL0a&_&DFx8iOQ8_9dTEDqngW&F*Vj=J-Sc+8g=|aO#TTvN|SwCY~{b_U98)kT(dql?rg4nS5fTK%-Yjr zg?Eomuk_z3^8h53{wXby>Jdwh@x00F`0q$Y$m7}N zIA}P7w3F^9=C&G>e_K$-ddEq_z}?#jxUXYUK`_ARBU;A60n{Ws?lf_|kg7^2xAE3T z({w>3wfcR40a6I-_lR|OKORm!Mo6AMUFYz26?ANRBRYP4%ANMXC3 zl?^5f#4-BDH}mjhRd>kA`_7Edai|XN6H%0B&gPNaPl0I)D>1S|LRb58VV+#7MOR&g zA3nSLQJIqPpn-;eh|gUkCEbi{)gw@f&8W3XLs%j9$r-IJX*KtGYWNPM#HU~)w3#PQb2T86@@MuN1M^E$>6 zR04~IHuExT8VE(?p8~)joxAnIg;b^nG6C-uc4iU5OpA_-_>P5?iH$qXyn}fu3?(RF zqLZltXx0GQnV;t@Tu8d`csMy4znPwKctALKo~7_iRDIXEW8$G>Yav$}Oe9|5_l$6; z5H*=3|KZ#Wul7W>n93f_&qi5Lw-}d-nbXN4S{p5+#Bvzi*D;|{B4#{}aQNf6{$}Nq zObxJwtjQW9et^ooSJqszKV0%hj7TB$aQ!=Xq;N}{_$)F4s(TpgQbd_MoIc%!|L{O2 zR616&y;3UDO4Im(`Yt$}Mb%)~`$wk+=-JtfPp)d6?;7inGSdljtgnO$j7{#j`s+@* z(W%0s1KPHkB%EyNpJ!cm%67xA3kD)J3sCehvY=ZTWWfkI?s}9;C@+8yQp|YkuZplI zkAQNIV?JYUrDZTJAa(BAeg~+3*#fz~why(D+%{`EB<7^V1ehT_8Wb!H&1j06q-ilW z51wY?KKQa)+mS&q9GhtdMK2^0BZNKKZVcUfyjKj5Xc0GU+++EQ(RC`Tm4eFA?$G)D z;D{b9O(iq6uva7tFpvqi{1~$D>{uSMrlyT=N4@}k>JJjp&g6t~lMLa(KSCk5R-WQ% z)JN2#%usm6@Dq}=M|%>9es}9ZK?upES}%}v*(fiv0Sr>ot0_A@l}o+HpJ}6 zHjuc-@)WvFyJv?hvHO$fW*B=rd!HM&X=Rx?uAL?iIgP6gitN0JW9HRfGCA;7`YAQz z;19hoCuzvGBD_-b4(vsV0kRL^ynEO1%sv9NbsFjKY~BLdWHkTCFvt-x|A1|d!TIs^ z^z+UHsfM<=OMD(w%CtF7r?&eN1R%c<(|(bb(qy~(kRw!}w0W)`ndD%yxXBuvh|s!_ z#=`MV`0xE0)NO|1HZxRvN$Z_O6B#AO@X1%;S3OCixa=B67??M*<5pTJU1L9zaF-DY z$7ItOvG97)ncPykqW@k`Kxa+V0Y&III?WgB>X&Gp>wj(=9~-(;1DDbixQa%r~Y(*VVHBttU>46I}g-Vv}ej&{%*aOyrJtBKK+osZg-^z*E#8)m2H-@ zIeT;DMuHZbn}4y2`8VhO`%=gT(B5B;TQ63)wDc#8+2@jL= zMYL%nw|bU?;U(Uj*QH7OU_n8OVEx)JVah1;5eyu=Q2vD0PLfIc+D|rfpLw`R*vxJs zo@hMjd`VhTVASU&)Gq{Rq6VB-77eR5etP_wT$@YWK@M-pu)~IzA60238V5ExF#Q1+o?ipGuXUx^-!p5p+yMB~pG;7mY%P)};sL&rK zWHTJrNT>>ONK73K5+Cc^c^)SR#>V8ghT{|LSRE57`sxh>wDSaYB$&_H+!THb;kJ~> z4>uhkBsIB}B9?B0OB|JoB;tXP8%8M$^8{4Ypw*7kPS8X>Vai>?|XWC0MwzS6u7(H{2hB~owDE!)W7ThZitMC5fSb?7`ncj6Rt+oRqP zn3F(sxQU$EVR~e$?1ke_kv5$i?yQo{y&i-djOE?$3_7QqOfmskIJdtoS2}0ur@hp@ zp!hu{%E^JrKJPs!#2N>UR1uiXc%aXpzuNDWHk{VV2lJ- zpTzW`&J>~ybmEJcR47s)fZSAKp)mY|*W>6f1^a;eVvK~`9-9u3f_Zb?N_zDqu2n*v zq@;b7I>Ale#fXW}Xbac~<69I=JA9d08tq&>C-Gu=etVA$>cIm+Mmoa<9@`JaTxpgL z2jzWgFF8O%s56ZE&i`E(Yj0=Kl^5gW0ljWKd#-1(>-xBx(^JY48-JBm6`*sBzf=2# zQF_*41=%-#$#9C=@5ef(uAeZ;lK&DP$hkwp?W70jEmn8h<{iD(k;G7?S4(_r6!9+% z53zooT)ZBcujdZZO{d@Syw2ahHb<86fEpBMKnHt`$R*h#`jg{VEbfpzOtHE?=C`HGA1ADd1)P7dPALNq9zI z*{-2Y&+%udqo%sGj2d3h`BE5oz4y4KzB=A$Lv`2C~D*P0Ckp4DDIbldtmPtKV36I*Uv{+~!f z|G)cj{Spn^v{KGGh4o>!8EZOg!Q}Nsm-1LDl*QsZKfzSUcn~#Tl4LEjkYf|tpp7>c zC5SSrbqRix2WpvfY>xcMe^_ zQ_n~3hL>lgu-{p4?SaO?qd&5~*a3PK53m3(_9G7ktARKmljZzXYH)`gq6R&P@*Yj z_eE;W2$KPrjtX~lR=BhDtJIbS8%(7~jTHuZrpBh?%7pouD1azr*vnJsZ@5t=i1-!O zgP&=r85i-@9v4 zF{30cdQaN~1S0e^td5@~74u~16&cC{tLy@MU0M_O1k(=2)Q!;H>~DJnoH*e<*5veM z+=nyiQrrLf?%O}OPb;AADTVybl2gx<#4%s;R=dASt*_$#OIQAI&F?2TuVX(t7hl5F zuzou+av^Mq7CuM1FX3dCWi0EDjSMZ5hDR=u!{@5jNM~4~d(SpTc ze2<3C=*;rd`Do_U2kH4<5hrCB|4@2<3($d5gG&<%ehgr`MSAZc8FhdGl-^qe29PEoph06Y3WN@$ z(nQK2B2q(F5DAb3MyhmyQAi>nO%o7&fh2RD`Ode`x4u2Ubl@2eQj&*dXY>ZUGnZPo{A?MOxH zmFR}o;g`0RG?Z$rIG$K5^5nK>!GMhZ(oSwJqfth!D#{|R#KAqSy`RTV>ydneyZc1( ztqzBe1hI32Eb%J(78m{p6wLSF%K8Nj0x$9p9Yl>XC8#OE)~M*QPXE%BQF~N{JLjT6 zpLF#s^^&WBaki)*CV77rnmJI$YC*3Ld~p*vLwJnxdj*ezD>9(_djQC;l1w_n;@tki>4 ze%$@R5V~EB^{6ugN|BkM?@6su%#qWJMHafp zR|lR(d-z-u^1gX|syy$aQdt%?_+`fTy1*VXn{d`fhsppg(tVi7Y!A3xeDcCskrn4^FP;7CkOym& zB4?(K(}LvauuVDmW+WY~FG+h$40Ucal`HoNkQcs|zB`~PQBlV*pui{3Tmf41bZ3+0 zc1C2+t&I`Sq3y!GJWTLx24TmOTuaJ7BT(neHM zKjKD+^|NSnIvA@&cKad=&MZ&E2>KrN$U5b@ou`!ISKKdW5@*(`f|+v}1rXE5VJFK_b4vcy-6 zQRk=z9GIz5xtmB%P{A#&m^!pZze5F2=b8)ICGjM&VoCWl@lVbv*K-5wWYwci8H-ha z7$M>m*6+7KcNc3?$~uy%CGbpdwfpJCt^?z7p9Yt`e1-*CMhs;&>u%;?Q5rX~HwYs= zLv|wsTW9!rX1dcGazBl{mXPVQ?ov=Q=TVvbT4iAT5=)~enggJflqUDR}2sCKmrN6f6N z3>_dar*>1I$Fv10OfV=`DBxu0JlH>uqiAr}=ek8aVWIg22q9%L4DtqT z<(%lfid&D=m;$`R*_DXcYWsnu2Q%?mXJrzGoj+)l=ze0B3{>vM34Y^wv?2q{D$4U` zdYs>s3x<*XbY`za8RNu|1d|edr|v$ZOGubZ;oD&*geCFW@N$wJ6VEx2xlg$hve^{P zIlJ8nP99Ef4&$_Yr8xlvg-xW5ZB`|4R}5e(btC1Oae0|fa05t1=pkb;8;CUIr?3`RnAx!a)};3n(q(k*ktk1(?CNUJtR@}@*he!AU00@oPXuI+sm zkVK`QN~yHdu1e^qox4CVRioPHxa#sDte>vZ&+Ol4t$m|`HZJ1E{DBKrsR=S?5aE#B zZYRsI=hY~D6~GX@z3|y>T4`47DdqwBgIc!r6q4`V8+v3iTC|MWRfg9M@zr5j{@STa zKOSe$IQcasc0rY^zUujO!UlDGj>3Mu2SwOQt@+H?dKA$PLB_ zusiz6o``5gT*$-<%XX>m-rOZjwJdM-0?2kpx>3h=Y|x4L=F-jbn8il`2~Hph zV$Gg=u6HRC2ELtVJ!=N-Hob*GW%TS66EjK^@-d5-^1_6evGJm5em&)B0`TGZ0-ek5 zLn#138$~^qVIK%YO0-xvdm}~I$648FwQM=&MROKB6S%Fn4b0oJgda05M_yzS9#>&V z=*jT#%?NaV$?5hf#GOb%mAn$A1ohJ5L7m8r4>Ht`&a6G>Mxq{V$XxJ)^b6}Y%_BLO z`#CIEl{^jpoNB*HL;`O{w|$wNNM?nbL}s37ou`pWZnWKWf6(@jF1y@_n7{l*Ac;1# zph{hG>NyD2i%|d&@@BZXfJYDh{CL{S)Jc7k1RIc1#z zzjOcKibD#ZPl?n``c?77-@DYnf*@CoeI68iYjXA>>Hw68TAYlR!^w%$$ zzK18VJY}o6GjG|dVc?WI#ujINOGWUOV|rzNXK6fS&eM6buxIF+DR80KO^<8W0$(;U zrP2_l*Iu|88a7x;EKw#%uL@K!851ZfCqQGU!MH@DL`k_jpjpOG`J<6$HSJvgnO=am z%URCSRNvO6RThm^5{7j7Ujq2pa{Yc)1_iT+txO(ll2-#Q#4eeGcWPrU;f|;h4BBE+ zN+L7*FB(vsiRi-~lLTIoq`~qBE>&LYBq2lJSlM>N9)h1Bgr}K{oJ}CmqDrp$qK06EonF??nRY(=}#47uG`L z+LW&YaRUJ|esLeoE-gGDuSo+9h3}}~iRwpke_UM$QF`KhPw7`fOaS=9bAUR0W^4y& zDDcoo%sZM~yWu;u9YH+jus=vl3SR(Cv)G*>d~d|!=)PPhc(a5}Rp86~X&)#x++!|4 z$o#(!DJ^#~_X#NOuZ?)PI0txTfJ2!cOb{Zy<4F~DV z!)-L?&P6zo(R3%V&(?vwM8PZu&U}o~RIOVU%a0oe0+SACc z2k7D_O(Ae|tN1Nk*caGy@Mt~>NP#CcMcO-3Ss%a^i#&>d`<|A~hKHcp`Ia+43PK9B zv-f-@?V1D~%6#e|Pjn12Ld{G>4-59j74oDz1s{-Ab{fO^Eb9O|-NblFq? zglo|xc;*j^P7~EDBqvZFG=BYtJw?gPTQ29Ok|tLt6U&UcevXtmJ+ltV5+NO`D|XNR zFF}V_pp%eJ+`EL|O#1844FIatwlXcUA)^|u6a2sr{~qwJ*442hzr!f|=l+X(&i{YF z*#Bpr;C~}<|0^PJAnZy=BQ1ebzDzJ)NnBxoFXZ%d-=V)n0)!C#Jt({V<1-&(+x<_3R{xJ*lqe7lEoK+G?GiUN87ZVj zQkyPQmon!D;;v&e?9;DEG+h>em^G70fGhzvZFN@pO}0`g6U1)40BlYSJ2;7lywJ?Y z;2K1hN$P(iq2Mcsx`bOf9of*Sk_t+2s<&8#KSfPiNyS8|4Z7F<60`*nQJk0@FQo?M5&_B(8q_rC?- zM*TNI=~1vI{C{@{JK=u-(0+)U_aDpauR|K3zv#a{Zot4Kq@71GJz(?44p}Mf-Z^ym zffWZh3oIV~v+#MJQ;y%U0jHdt0O?9)YsVWI0TMSp&Rd4kO+R}UI=4A6@IERj*Nzt77hjDn5B7#6kCb%lG0{u-t8nS-J7E&R-s>7$)6wGl}y%e3S55;3>URCC0{ zkLbJouvqMpnya^F$*Xo+`}(~VcaLR}KD)z$Hkng=0e<;GqP-SGRZ9Pnj9dx*q=vXMx!-=5_O+RRGDI`2Laj!vFIXm#F_F)gy9E6i z;nf;ybSu;6X=%z#Gj0rZ1nYI6i;aP*4p7jxJ@a!NLo*SnKh5T&``Gmw-YN!#s>s$m zM_21KHDXPNgMWS-=T&TACEnUHv#;?eb~Qo0NPTOjm_YSo4NM+4Mci}9l2UdJ%;w3WWm?=d%l)ALMttNKVbzLVnu-<@kFBGaEL5g-# zxbUJqZBSP_&^SwIJ*zuNCtI(fU`Q}Bo$ON1%SY$5N?Y>sw*;r>O3yr5uBvo33jOW! zSl<|!&;^gL)3n8#*cPh18M*S_b%e*|S>22%`TNyt&O=%SMLg$5r7l!RLrLPt{wtun z@B`oH6`)zEtkm9KXnGrS(jq>nB-ovvcG}+K;{yxlpX_b44+$1-aHS97&ae^Re+SFL zo<4T!hXms4;yu{+B9m^{ypr76{fF=7yf(5CHZ7M*WWy_MR8(K* zey*u{J@rcK`+i;bt2d_!<|ETv8q3)~Y~GMo`r1T_OD6njDE)lEXf5+h{HR2T)wfV_ zn)ru(bB%%i?LXO$^hZ_$I)kgvK9>n9FeL6gta6QMn)fhViP^r%mHtK#=I|l}z*dGj zj^EZszg;1dW-l%Vf;u}X0WHJT2X@rDkRwTsdy;Jl*l)$EfG4p@qN>AxdI?2wMY0Y& zSgswVGHi)DuaIw}40WS^;eQZrJ`MM1dFPgvYr6kDW204(ds}|IEf9V9qF(vE zUNxMlh|`g@{(z<-{i_o_w3;^qU8d@NwC5oB$5fdJ^*zj39k_$JhGJZD^~xMko&sjb zOS47SvDZu`b_68^kpXI5S)mQvCAt#Hz!UGzElj1S^4m;92kYu$*~Uut-zTji`x3w@ zR_@}N!E_imNOk`Vlels5i91Bz{e$_f?@RiA_OC6(cO#}~=#oAW;0Qu>IJNgs8~q#o z#zSV`d#q{sdZ`Fblo}bnPiPIU)|<;BN({LoV|Cpv<3$o#{YeIpn!3e=9gS~!M$J#6JDuZ<*0v-{0^aR9rxa({&;@y{sJAo+ogIk zHp*dG%h*=cj6z$n;W_3spykYzXq34}9TbsQxTI6|XfaxR#YO}bnM~>HQgAMp8G(*qqPH_iI1k!23RV>Et4QL^fHBXyK*vS@#@bs+QIyPz& zG`BlJ=;u&J*sDl^HRNfg`DjXK#FI53m=qad`!JYZDu7}5wkCV$fu@_bro5k@K73aC zJ@d|`AgM!DK`kuIeyi5r9kriy1vPgGXLI#kpGh5d5=*MEQAkgMFW3kq6^CCalbMd? z}LMvIgnv}i^@vbKc!o@1kOhWt(gJ%LT&pL#enyUdpOv+0nq1Tx*S(%ijDrTLh zK(C%4t8{&+Fo|T^{EJyxN(B@J&i=QLL1Y~32HPC6sMpP1hE*P-vaM8jl15NYVc z-X0hbq|<{bq%@$M&327}(iUi7RSfz>_PQD>!kHZl?|@K9AD}^0CbG?ftI@MpJK{bN zYaY*=3SV+N5``14P?4B6T-Sfj3Ca`A#9AoHAT(QZc{27(WOKtEdpf?Z*=OlE=gGRP zx;&}w$f>q4E3i9mG%sgc7YaMF6Dm3FletR?VX5M~wGTW!dDIu*b{^N+e~!-{^;G#Q!Gm|?&yrBockocji^sd2IlQ?6A&Cv=|qmE>pqa*8*SK3r^Jt6+7h5_O<^PTsMP%_28 z$=mmAlDtM-BAFf?e>prz4y;vFHwb(GG3_SU(GU!@*97zeRRU5fiU#Ic;zO>~LXR9Q zqtu^E<^rrY(P{I8A&ZzmqRAiF?e`Co?6Z-{wL4;`RlbupxVAmiG$a{w&v$IXx%wddg;oze(jra*6|oW85w|*3Ay}G% z2$Lsjj6Cj9Yu2X(y}NW&X>AgPPx*sYI=fea@~`Ij=TAlB+n4LCi&Pip{3={?pOGX{ zv~1j2{M(pr5~R!G{p*mf#J;%?>OZZ$H-O=CF%7s}?Sez`SQ&u4@oryHhWLN{&x1PV ztKBf>NF8%PGYhTQr7_RuhpcMDZjq9(Jkf!RHGlzGD#}&CWC8ajS4mt6p=glHT=0{KyE8Fahm!u&L*+S+Z>! zU2s@Zj}z58C#;_jaZROF{v@?SGznjQ5LtU$_P4qXP7zHB0^p?JZI&)Kp@av(l%*-C zy#nGVSU0{I)&n?>Ey>-eyZG-xdmbm4y06)n={s|N8tX$x-`!8X%eG`LxV|h|<#|@M zScUvyy+bMG+x$g^_nllgl&Rlb``}`Xe$m*u$I4N`yg88Y2x3A4_t*^gA~dU20SAG8=( zyYi=hOWW(NE>e5rcPX(6 ztgY%3rMT9Ck5p7x<##&Jr8?L->ou~LL(oP|D&=;NDO_oZ@(>=O= z=UV1DTCj)Pey7&E!l~-9m~uOz3tcKMl8QNN{jAb|9*tu{*&7d;s`LzBRp!bD^}xlK z?E}4{WuEe8Nj_pO^pU=cBPJea+m9hs%YD|lXYq+$N{{=yjATEw2Rwb}yCw_hF=1tF z#PrU*jcM7lx!3II)h(6_O@p8O7E^mk7po!3uUnT+_1pF~5EHO5Zjn(khZ&@pM{OM6W|wLRl@a|s*D;UWK^^PV{KoeDz)S8T8?lcJ5)D})mgZ_*Y|v!Z!1PY>h)W9 zMvdx7sC|PQQQAQbqQW~snI zwcE0j4YSzbw5o(mez-5ytt_b*VQy_Bk_LootVUjY#x8C8WAZ6jMP0Fcf91f~Z9zrR zHe?s?+>&lz?OC`+USvw0jewnk3Y2tFrP57@C~s!cTyeJoE#atLX7LozqyI$+voHQ| z*9DRQ1Ql>l3Vudi#n0hAAv6QfQsKfasI(7oW^w}V@Y;ezEJ_$s>N5}vMe=m97BYZO zI;0qZJfPf&KJ&37G6A8%4%AM+Ez| zYZ53HNotoGT*~rk+B#VQ{1TsBO1y%zGr}B~$(4@EOxjCER1!f=v}kvaAf2V|+gJmY{AuHc9T(IJ@t+&dQy0*^Mlqt5 z?(JlNTWkl;6-pqm{eO3O?wbS8fd90>|Mr~xe_Y;Ao$>$q9Z&rCe8W8WyHR?^+ULTR zUoTkvQ9r)!N#U3MaYOeZ55G^#o8-&6ILw!Ber8boC?W znctFI6il|=XY@B?-1ENJjmJjFSxwMhlBV<{9J%xl{k9Xe5i6aqJ4@ukt_Bu5TSSse zB$JFMtL$W?dq*5GGtzyCX5eaJEorS{7}4_J)h*FZJNh1o;fgPbS30g~yYmwleRLN*KHw9tMLu>&zh|Y7W;GoQ&pq0 z00}wgf792UiQ=(!NL00r`5Vq$Zdp>czI;ZSdiKw!U#-s0hp6tX=fhbWr<6yMj4p^= zFIsvynGqmeGvN5}fkT>S+niO{lU5RdwPhg3gKqBGsZP}@pVe`*dyoM(3$Q|Lu%yfvkROF^UTbQ8nRAV^U`?n4E4e z^m^sF`Py#xmnU7Z`&a(GKJl+A8eyNZA=R6`KzS1fu#s%68&k8-uyDDUrkO#4qx@k> zB}$XPPs%TtZVHD%AeHOiSfcs(fBEs%l-_XIrPk?)uN+r;gbu@gY{%R%lbQs z&8MFSn>K7iQc9%wpR7&v1jQ%r{rSK>yi%RI{IV}6z}Pyv_e#w`v5|#Sje|vzSkC?a z0tRyrpl=2AqG>svGv^K=BBDOr6Xqe3u4^v(uOZdT_(7Jzd->F ztSIL-P7t%Qo6o7xzz2Jk-UT(>5L6;k0-9ic>1_s@3@b^UpfYU}QpfGRbq6?B-~jU; zEe9o7GfNZWh{+4Ev!ofWG*rkSlf)2yPv85(1(-`DCebldjrYq+Ds7<1EjcYZqw;~@ zrxl~32<%V4Og0Vq3J5*$kJi^I`e2NUNF~qox(zlM&BX<)__SBYs|&766wDFe$X=dv#9GvQ- zWIVt#0%3Dv44bvN%xnsrfRe`t+9ml4G}r{TuAQ7nfuoJK9UiU zOc9dWP31h^S@_if5L_2hTjAeB$^Ey8o4Vy#PZFoNMd-*+tgig%#Z1=~AE^A<>*P$O zarT)Qaoox2uMq}ZwatthHwH_5n|UL&G!0^1og1^mRfj&D5^nnIP~@AP8Q(PWZM!hx zV9l5{HuuZ)8ZfIee!WoV+UvKJPIV-I_%QcOPJoXdeY|p5#Ry~FYAzdn9WCZIwIE0G zhs`DIULON>Gg0g>&@Wxb#}L|eSXCys^|?|eR{@i!8sWx>By%F^`Msa~?D#ORd>`8< zP=ScVXChr%^XsSjuN(t8=ceiUmiM+>0|P6@E|vUgIcpd61Jj4J_=_r}Covn(@;uP` zJJ$rQ}Jl?a1!H>>Zkd5C91e&EZK@x$+}-cBA=E?8BKK4S$kP7 zNqxgqeZjLzdIP%QFJP$;ox=jQI{SHTuT!ox>aAkS(G?4Ps9zQcaM0QM%dj0?u;dWu z2~rko3sl!ile*-vajbm1|L}SCdkz2z#5NRB7>~l=vhUdr1G61^zr3ATl2iJa>q<#*P)nN z4O6kZ8Il^$WawJ=^Uz+r*+UIs5_wC;2?Sn!>LQE3Rymq;Q-D9dF5LVU##6@Ni1rZc zUE1e&p+;&oyp~#hK#Tfm_1hj>BhLYMPnpb1il?;eHlpGq)Pi&s@@Onlq5eT*B$!tl zoQLd?XcnGA657$6v%r7MAk0v;|GrflFeM)1C3GDI`#!VBMsY3Smf#=DWqr zY>Ng+KZ13^jsO=~WJwYJjbYr36=Oat4q?c!tyqp;VI<+pOHO@P)&L8Ct3;&;x~(-3 zx)SdTG*DBo=puL!-;#_X9}Af~#22efj9|9!X^oK?O>Bj$WAxf)?Hd00K=}!o{2K>? z)|5c)r}cz3fLa{aH%j3nyH3!9n_zRWl1v8N8i<$b4{h3>(ky<}vK<|evFleM8s z&LIJ+O9faw%?w8iB{jHhBr`t`g2G8@8k#xr8}=~gslMi{>5q{9;(M`vys+K^(CZH5 zJi$uP7bGA?A6yjSRK*sX?9^n%m_xQ)k!-GrCJck_Ch=jn9a@BSN)@Go(8N1%KsW?$LOtF2?7yR@|K>OpK2M)zoxTt0P?7J7! zTE=-Wq3j+v`>M-sy#eQd+gfeabdpKKZcgY0Y;H*J)A;t_V{i0cd*cKo@&XzkT{FmU z>|265Ed-=2ON!BfX}y4qV6GWv5qEBKH!frZ@wM8vXmglvK;3F@O5)x1e>&$m{1>~@ z|9j8Q|A}8cy#E5MChRz=6$F9u=A2AUW9i+Jv*VpaK*OV*`MXb`G@C1fHRJXjpxDZh znQ|l=0^oNfu0%fI+|7bStalDv1D|;`co{m!%U0Kf;)t7*_#U_(aT7gcfy%-i>AUhNdoEU$bcpjVC{R#9Uw2^3r;0K_N z!SBW8KMdOcZMX_y2XTk+Kclt)!>=lvD~dWO#{V0_2vRIj&~pk9NjnhpR{V8nZG%LM z#FIVnBNs?C8k#i&Qjim0_6xwPr~W$BKEo9yLYMKZGvFEpZs4y&Tv;@?evm8qjjf;0 z{;0}TlmK*#+rQp<2p$jzpmj5wam;*s&^r4K1gm^2X(YfV{TQ*`HO3t5!<_|xqW>U< ztHZmA0xi#kyWsi-SJI8GE)=%8z?^_H8&R~Dzm403K+qzT0NQ$g0zS|SP%&->%@+sT zgT<4WC77B6JFdlo=_XvT6Br~wm+&u8j300lyQR=oIAnvT1>$?(PIrM(5dx9DfEZWq zZ(BX)pLpgw6f^cm-mfpr4~g4@y1TeN?;alDb-lN8<_y`A`Mboa&2eQ7y}FCLQIo%C zU0Ien+sG;49`*U@K_cc)%BX1VT?Of~6F#=bz;OJdS7*IDpwT19l=snWdU#E0u{`nAN1>g}clw z4}QFg5@E;CL*me~Sfgy}4U(`XDL50|U3l&Fohsj}r6OJo4l(63SE03-vp|Nhaq=II z;fGX~2hB>XGJwHGsJPCWyWj+G;T0X|;`*Z-LNsj*HoR%yS=TVDXlv+lsD6MOZ)%;7 zJvl&?rn9#g)eD6AA&@$4QoMPV=ennBQU*(ohRG%L zIQCX!29SNNw;&*85=Qk8rLWQP&tYKd^!$VmeuP9oNBX#DIQ7YW#Jex>OndyS6ywXr z4ijgW43|@X$mM%;V1iX*<$iw6ARVD9VCVkGCYPP|iSz(VH24b?5DodAVC9N_C_oAhNb7iUao6v)o;iHLLBSJ)knTfQe ze2oghLlAkg1jc7gaN$&)$)UwJ%eKdPPD*$WlnAWlG#7m+G2K^S^0LM2HKh%^Nix_A zK#E94soyRMp!dX0QpoS@A348^?N*I1LT(4=*r7m;{{`8XZwx8THs?IT$zxv8U-ZV; z?#$y;eq#$vAf-dDTQY4ZVLX#1;s6u5`vr&(My{l_Gjqxl%5v>1;t|dFR-@Fdchp!i zU2e&APj8pRz7-e$@*VcVkw+6%@{(t*OW*>@RR7mmqDFfQ6o<#&5 zRy+_dJPG(!_~3VkAQng?cp!i&@LViq?x+g7_0sv5HJhHof?z!Ce$zMP$DPMC;i8GB`?2(HX@?8AWLX?-MK>M^qSLvDtXN*A+c(v_saAM zdP4z*hTe&&1kG!I9r90y$%AjOA?4f&dteI^vXBmM8}3i-lEdt4&R46$=&%IrP3Fl+ zKJJL(X~>3&re!`$Ixq^m)%Kc^iT7-UO6$1q=7d}6a9)qAib9iIdC2MFWNb`5*n5@r zyO~3KhlDF0C z-XWnK*SnTiTa(w819ce_?fUFJCHk!gW$DObme zB_6p^{f&L)VDcJpAr1@+Iw|knWt&2Ev<2YXM7IQtQFP`wW}C}*o*BH08N*3p`WU-u zELa*s?%*fLv>)EsRSE2O=9a!?A_Nh<&qCo+kzL}LZ~eM}PwK17GDxK-lz~!~T-bha zdaHt%)g-<|c4wWw;-xjBs~JeBM4K{7gjfPHwtC8wv&+S2<%xwg$Xl$h$m>eZ~G>BvhM8d@et6-C?~{OeG>W0GApYx+oP)1M>79yBFF zPG}(HtI|L5hGi64vNU%T!hq=awULb7Na~73mH5@jGa(Rx7%8td1?5Y$pnE^iM#O zh|_?uT0~26C-AZeE9L~fl8VYwJUZ1GfsX;7FTGTjZB>iur{AQ=`3ZHpDV}B7r6bH~ z*+-yk%J`bp*n4DtJ(S(eJ;su(c_O6q&6kNzYz+a2(=+ya_eEw7u!3}WvP^T5DF{Hf zgxc!s%Hx!@>TET%vp-k4P;HAPG(yudu2fIfI9S&X*`9r-5*zHOqzU#mMvJM!A0X+oj!iLoXDP%18DB zHo?K%60&XMWmyvXd1PRN^O|^ngA|TFWLB&G9E$9doT(81^L$|BlLgOyjiWn+wL4*U zdA|t#R=*piD<~%W@GeI}ScjHMwF;JYF1)N<-SUxG-%xDy2D$olx_|pL1W!Mq#QVU1 zKD{|AHq?A}-m15@?9B4x%VCWi7u@K5?$mv5FTQc4=0F{L1RTbF?}IHlWuy?*P236v zeFO_w$=S>|pT_|l&mYqg`9aBu5soUs=bDaX2bH}YeIiYd9?Tq8LoI*<*{ zQnDXb7c^YKvq(%2FbB9HHGM<6IGMf`=a}rxKc89W3(;QQa#zENVm9>3lSg#fbM8-b zv4*M?H5TCWg@!sa8w#t7ZLM*;4iBSU-F{ns1mA!4n6#;(N@kh#Ut#^$?SIZhMw0i8 zJI_Ip9pW?-?;Y2^+Un@MdZ20_Q^T=x$7-~&7E(!zM7%I5C_>c-dJ#v56YxjtzZOe% zcjTuaH9}2ZWCTO=%yJ4z3`F;WP}1i(kXK;7*}TPiBm5*PQ?GrA3)^(E003JnQD6N> znK;$#r59W|K)U7}VuRnkHwydf(Dr3-RT=XAH(TLN2&bgoN177kG_9R#$2vEdG?|ww zt>U3CsK)}7%x2z;sa?dpKFo%B_*s~GFRj{{(r(>yyXp$`q*OFu`&%z&wU&G@1}RK& z*!`+ZZ`2vqikB1lR5<{(AwO0a`as>hF^rCZHBNBK3>fqBs(lwjE z``|6tY<>;`m9b4_8YvkigoI;7CiQ)E@F{Ibg}2-uVHI*z4BW$HEH4v&D$l?{S6uMVw+lKTA5>C1W zwKFPgg!mhK`hg&R4RMtYjJr3b=%s|xC+N@SQbpsaSUOX)QfcHoa`nzv$B zQcy5VdatiU2|5W4`yIMpzK{vq&3Vgqs|lG_S-o25)gdV@(^MNvXrhI8{ zDwRQ=^szFrDzDSRCm}QZBK3j{(okb4WGeAaNyPW-CZy}oI&CzgOV$^Iw_~;aR;d0h z4Ix9bOEFO=?v~uIvO^_eBcGD%Aus2S?4L=b2o)c+MSJTceZ18#p!R%lT$tI1(rfuz zGDvII3Xr}z4?U)bl}cminu=j1CtfwYZK;aPy1U3R(VswQ|GwHK{Z{WF0%bM5p*OE; zru5_3*I|v34F?c1zpIf>1Y@T@E~jK?|4uz z)CYLMr0LN$FzY-yAu6`NJuqe0Vx8+~^ZK=(#!)Kx3LhB~-flN@Vcy+*u zUlY%a3X=HOoO=AK>7jOFS?(draaWfXd^{|C4w567WNK+^{|4zmqlXDQ{{pH3@YtDYsP z;WHs2JWH8h(RWM#ImjO=(Y(T)Yoy~>UM3$-9*TY`U#>Cam->YDQr;JSvcd_LJC!B( z80JXO$&#(iC;Jn1i(IYpm{vyql9f~%-0oNJY4i{`_W&8>p zdg7ge z{Bi@^Z#cMW_0b#HsI(rJK9juLgu9NB=fu6{Tt#1e^*FHR4xw6Z0#pDf#lX_I$Ju;PE6bEDi`ob&|Flm` zLGUiZK!d!+M5|Y121+_kAk*NR!&vP6piS5(HO=rZXIcxL3r)jn;%C2)u^48r{;LDF z$z$2d&WJ9!z)NZOQC=B;6KYFP;zNtc>w7;YT+fnE$XE@~x>jex8t_Zck@q`ivh{nl z)p?hEA^C(9)KqN(fmNhlI9+)^2;q=TP!-B3ODZ`Njf~yC)e>l350jCNJXWOj_IV{L zl%cX!DR3ZtXOyu(_@D;`-1&XA#CVL5^c?fJr%RH>&HiOB@BVY|L7JWHs{MM2)Fkob zc;uH-tH-WmpVeE>eJyr(UpLsj>DufYvb!2{_~FNFMUcJe!Be}=wzHD6PO_HU>2j}x z1g!I*Pl~XKavxo?tng!6<`KKLiLb@i$d{X%$76-ym&P|XH#Qd2Ov8)_;|K3wo5-Ud z+`be;S@A$O#b@ar7>Fz2Lj<4c7wLSD{X`bbv}z%ZKMQMhO|pu zPu*)?u{*MJDcR5kSC*Xj3k&X+i`q0Pnu>O2s+6A2JHofAyco69C`8wVRgdabB@ZGy zo3O9G3D47#(@|mBv-n+~ghj=KNR}HNw$by9ZNWrQBY%|*`dzHwtwWN;y66r}cR^8A zQJQ(Dq~aM=-sdaJIzvpmhES)!B7J|S#`kTjndof&__)BJ+$Yiz6s@641~BAd{b)!H zY-@iV(wlmdLKjwupThmn6D@oMR=|idw(uz+iboV? zoTHz)M|oRm>kl6>f4dg>9U=I# ze|xmv8ciFf-a|jZN6XU{O38Fd?sp>F8ik^!NWGmA78W=&A?e1AiU*b)k8t51%O8zbUp@I(LMYpAA~U zBcyiAATvhk-31|}GTWb7@`}mm=3`l}fWQ}eytp8+j?`tD5sIIN$llDdBoB@X+1-hb zZEIVY)B1qcyA>aFRNm-?h ze;w-A6y{FATW0QQa*qLbB%!!E(4g$en%aF>fudyIB9lF?QSmDmDadjtG zS|-X~F|V(i@DTFVxx|{#8*_Jx2zD#^{~S}7?9ry$QMDnRA~*4+-UrE^miJ@;s}6PiO?8`H_W zD=sx4dh#g>{Hpz^MDdx(vazcM!7qOhE@ZHlMfEi@1u_5i&viaZ_MiLuXTr(5cdQ2r0@-ZQGH^zZl9aU7&Z z#1MMMMu$+PMKa1C7(qbkJpw})0f8|{OjJtf%t)1%L8OC#R1paz0sc}%se%QP3?fYu zO58%ooXh*1`#x)(nOA2$=RD7PUg*;0GVGme@9X-N&+q%~%1UgD<5alKkJT;z`YZqB zg#J0z>99b%iER5KyYAb%>k%F{s`wP<7^M6|JS#0+U>16aQV99A^dLJU|1SE(H9eTX zo4$uQ7rV(eFW-5qjx?L;wef2!bDtY)ys%yk0~N&E)t>L>y*)=2Im;8wcS%z9p2T*Y z&c)xV^2di&2Amc%@C8CJ?YfK_<$-iR^#RvZDLH*9N1!|$VpwmX`S_HqgW#Pl4*CSW zp!l4e`K5e=nqp?8Td9(Mogt(A-eO%^D5@$U0oh*T?uzTa?vq;k$zk`U$)1Vmy$ton zJ%_XVe}J>L!GTNOPp2?S_!94eyRrs}iR4y9N{_ZHUbS;tuL0%>H80r7^FRSNu}yaV zJ6hcbR}ZLTK;gT|?xPt|3_#^@4$lDHg)<*g{PEW|eryDh_uoQ{r~o6-weZvadOgfC zS*zgMgz9i)tiI5b^kylmug)e&k(ZAVh{XMoC1b-+W8w*PMzgEctC*FEesq9>;Vr}4 zn;+zu^^yX5Ly>X@8U6mTJqGHd+InTmjOJ)v^(t5fkl=S!$8OY2IBCUZDv74im`$BS z@KbBG3`Qc|q0YTy+mF?FR|W&FEph${up1)oX#>q$&;7C(ySWyssf?*CXxY>;pFnR1 zC_=3z$e$hnr8Oi8bG%0xn)~vT$A)a%g@O0!0-qPP+<=V~9 zN-vu5)_I)6*OjPK6?ZC<(>Lq&nxSh71`;VFPu6IwG0W2ftcb}KhTol1*ny@u#@bW{ zr?dKu;pk6e`V93gB=u>P=qm==UuZVH>G!H4reD4}{9RiTY>#D>iiDmxqD5zfJS_rki zMKsS(Yjd>ROf<7p7HO5vNTxj<$Z2X@x?3Yt;IBNq8wOmB#0fxHlpRRLBvIOc+vXMm zV1~X8E>ubPnIyoYQ)C`zFor?dn#Ld|*CVl{0W!$UgECCNo*Lh7fXBF^eAZ)lSrfts@NW=9dx2U*1@c7R~Oi`=2dVv|8 zWq+v`-8RNMS2v4kDkDwN)0%n=Gg9uls_HBp(clY)zrRg4b zMOK!Z*f7U^sq&|FXv_7*!b4F)j|LNnV|Xr%WHL2$EYL)u%W8WLEp&6;@=~pNn!&JRG7?)k^I9L{!f_6$7SjS!4WlG| zX>T|^wNue6=izPja7c9`-OrG)`&c2TDErY=xoWM=>9*Xb;n77Q7YUzvv7kOtN_c~5 z&05=7fXx;$$#m>GusA}!;LlHM`1G`M#s*MpMb(<<6QI{yM86+$6T>bfQW4xBr1j=n zG#UC?KQ0s|jXw`Iu8F}e+uxaWu%!*YtQsA;tq3wfNIuT{EHW7q7EGxDzH16dxC^V% z`k*~r-#K3`1HQIjvEeeix#t!)WmHk~*%ybUdtN`5CxF;lvk=R8UaHXUXB$0L>>0~a z-I$9z2S){uuK5-R->_JQu!F>}Y6Jt2x`1cwQ*~VyXD}5zP^vnOzH;W_o8fv-;hL~x zW_l4re*gO2@Aq7(0XN|veV)SaN#1z&cJsQ%pih+ChD2K5lvC4=eMF&s#{Tj%!xt78 z>*^}AW({>w{fiI85Qj4#e)3g0TV>NZ^kMB-$mJVpwquUGl2X#1)fKGX?aTjzy+D3^ z3Q9gXP(LWwaX?pHgl7fq0fgYcs~bG((dG{jC5a3P{tWn*i2P&WkPG=c5XEHyLh35< zIza1IiEk)xk+YcDzYfe%-pqAyiF2ki`$ch!w+rn6diS?(_zKl8(oiNhgb@;_n%fkc zgthm~SsG0kjgTsCL0V0nGHeXLJK(Dv_j84Fek->%(6;r2J-YLqf~+>xH$rO2`>kMF zxdSY@V$7c0TJEd~KQU$%Q6m=A{o7zTUqt>Cb16}uEYkl6VDGf%f6(6$=Q&QG(ddhh&+&^Gjp-CYpm4CP z^Cn0^`PJjF6H|)Q6ywl5L$sdG#fU{?!tj|I+9o3eQq?JuVm=YvGk4J(n66UxjcjVP zs&9Hz_@-;B*|7e2@YP6o?bT0L%IvDdGx~j73X9LD0Jqy)57uxGK)bm3z1(K$$x_Wc zpM-~u9X#C1uSVj5_(mP=A63jZ&~hgHS}#U<(*2F^~B zLXZ5?d+W~{YttKb+9gDjGmYUjs=tkFcHCz%lr%5dI&YL{I8}6ToofQ9UsU3@P&JYbF-J2j3Bp>d2ram#+@Dm zsN*7W4r#St#?xkn!rn@7bD*2RC*?LN1K6}Z3m5y;g}AE(`7v+nx#?B4(h-EIu%BYW+}93RMA47(m|KQ$@B%? zOElEr)PO%UVsWf0#?w}(;+npHN=_hY1Q)N9v%llqKu{ivh&9F4I#$_}+sd=3iw_)X z68Z<>cPczkG(WA*OQ!x-nZ{YGN<27{g<6|nVbV-bL2>M~-X1BAX%+iF{6a8Pq9Cwb zvIASjF=(c*&>*Sj0AaN2CKWUXM9@mdyZp&Xd==>C6(|LsP-r>OnlH0XrhRH73f``w znHp~S@`~!KY-6@WCiLl(G1^}Tj|RTGm|1giy2=*E|Iy7KZ6h6LwZm~8krWWlUVL-u zAy5|to})3wxS{Q4J7jSnZe*y;Sx?J|fF;E{>hOw0vul|0#yg>^vC}u{xNf3qx#i)z zBf4@M$y?W)O~iAqZqE9$ceHRK*y)JbU&S5v_JEgO1_x4N_7~ z556YI^30$NCM=7)yU`cAjxYnI22_f3&q?-Due|QUmn8hf3h47Wv))qKdo))LW{@n0 z3paa4rr!c!$-2Rn9ySMfAM1bM;7ajles(Sqyc%^a{v1tRzp0f~6!H9LUmdv^D_4K3 z+*?n7)htn`7Sb;?7(cC0HL5%bZ;{dCXfNzm%Fa$z86RJ*g+#un)u}r=Yt}#ctXP&t z4eUgPrEuHwWVQPInq7r*%Jqd}V}4%ThO5J6^i=ruxN^Rb8hg))^Ej~)C%e!wFm|_4 zvkf$|Y1~d|EEX7pH+HZs2SjhOzNB=c8iI_^0r~f|@IB1RYrFvD#pZvZmn!$LUE*WH z588yN-+0i*QXn5qmG*XtA8_frT$W59?HC<8duzZ>i5}pVVX02=!wPulj5J%d8%TIp;II1^u$pxm(g&HV)B8yr@Ni;n zp=K8HD3<>U3}pl7)AC+p13Km&xY(W}I6t@jhx%?)IX()MT0CJW7CJ4aNUE*3rU!R`sxbCPX+>wJ}Xw5NMGo|h`S`? zGF{W1Tpb+|vD*{Lfi zd&j>Nwc?&QQX|RToT6U8_RA*xMLgB#2~QDm@Lrjn=)GP>^;LF3i1uOyiOK-3lnRN; zjY%b{mlF*wANl@1o7N8o2kUJO5YA2<+=%%#XVvcYF%R+N8r7-VmoGF!a+OquUZ{2a zaxZn+i27e@_W!5ku>Kd}kpCNh-S+^o|YaO z*t$%`-0)f)f9a0=b22z?GK&8hJ=_3pAopywk`z ziX`t46Wb2lAQC~wDoEmv&GF9f{R~J|m;I_G!fOmLDDU9QH1Z{3-!!jeh;10g0+KzW z0IoW@{SL+s^Z&R8RTc=G?nUB5AOqH42i}G>KRILM;yj3i;lv?7@b#efI_CHN8}I1>Yc1?1z+c}A^Vh!s@%hk&i~|Iv z*Z-Fg=7an<|AR~gcq%cU_&3Xl*Z*+I2O;u*0j>W*wf_J7H^Mz)pEhu33_rx5yak9Y z1XJTCRY99gS_=h9jw;78f#=4!jlKK|ZNnf+1R>eB$hl|EukhxK_i-0HTc`AFZvJaZ zLnB7xl*`2RhBi@y%k3TAEuBeBsXsl5kdmIn2mb3GQ|zAjO80>; zGD#iGa3HnOXG{qpia~y~F7x8^pJOy`(g{CKZod~kKdxS0ba`s0+1`@ zeTRZ>!Fb1?@$Vz|qCjEEop&23Bi!`{38@Ha&yD!H5xkg?zv&s`mhMl;iAJ7m%id)I zU?*C$*8KxPF-cqkN67{ zeflp2#ebG~YrsH;7x**Q;N70!Pj!`W(<-6+!?u&45x%!K1`D-cJsPyT(@?ecf~~`3 znNL*#g|0uKd-4X3sRqrIe6txnFJBY4#oM~h6OI2u{Py0kX0l4qF;VJeWP0tSlf3bj zocl4Vs*WpD5%=)pjx~eKset5<);R^{X zW-w}qfm!1G3HRG01i_>)KxBU8*L<^H?BVs8(I05^Ii=LKHcU#2zu2?5(1o~tYfF;) zI3O?sbF>|6tvn5A(lEr5#G_?nLv&h-@_0iobIHBI%5lTMJ5lD<4co+!NrpkdpIs4p z#MTpuH5L_y>Nnwo_t?Kz*KW-)1qYJ?MKp|~Yo?0J4I=~Wmq#tXJi(5!1EZ)0|6G$V@QdnXc3+rYVpemNA z2@QLQcRo<-bxgQCE{a+RDox=>LcGCi z7e+T4R?uc2)j3uP8F}AM2At--7hCFP`BR&`VVxwI`Wy8Mnhi2v+k$=AU$1Gqrh7}~ zUcV*bTJ2Mni!^ZnJA%8Gp;IUuVqrtljm9h8w+`rH^jzZxK63O&1^w=()Ai}O%*9Hz^ z^BK{YIlDeC-xNaCK)OFcr}j*EHqcx&84jJ>Xlt;fn`%H921W!r9&B(ckbW+ddTZ(< zsd8oGjjvJY3r4e6sjSIh#QRGcm(Jb7eW6QxKh3nZ)U2^JlFRMj z_i7APalGSo{Z`v5gQE6MHO5lim2O-l-1d>$)s}+fSge zY-{F5Qa6Uv(&xPEol;|64i$Uxj3#-J4b~rnW%~Oc^?ctkxm{vyJ;9n5E6)=LMcloP-4W12aU4#l{x22U}w!ZQNH4l09zxjMG8!0XbuO{tWF74->btXvtK zrZbEq^{VcT*8TbPo*TgcmcSJG7yqeobkM$ElGgZ0RC>$Y(@vTe?a$6j8|SXn)-cZG zu|G!QJtLck*|8+5{@(jN3qB3m65dxd1|(p_c}5G%cyl&+;mg|1T1d?~^-I43#@OQN zUMz&*-T|S9UpQjrO31~UW%u{ph*FKvthuwuBeU~fIOhrTQjAzzTYHK|&jW?l;Cg2R ziTFO}@=WY1QY2#9JiYHCQw#6sk=9&LeAcdzo$DSMqkAp2QdWuiZaOxn#-~hO;85f> ztx1k_-XY<9)>gSp?(*W33>9jn$-&Z(QX{~0BuR->_S>JX*MFq@bY|wd|HdBz`gc#q z1Qwd0;GsvKmOSJ7zA6T6@+P$V84<{P`g>}i=h=7KR2^zzj-_wQf{C-{z+QO=$Ngs0 zANd0mF}`$`JmGbRsXWJJkRrIOaENobgEpUN03KFynu5NplLT+6tnJfBX{SUV}ff`Y;%q)sc!pRaMeT%jv?HM&V4?gB1;AK%#!#m z8U3nKm(VSqdZE?=>!B7>S#`cj7h;0OW9$ZM_Y?P1DGMdHP-$%d7HQ#Ta!7q|HB1I5 z2PoIFQWcKu7w*hUxujd6oNLrUx@*6pN34(3u;A0H9lXB?2mpk&O$0zkbvE5r1dOZi&#tJVGm z1(zQ!%IQV9`c?aGc6}}JqzDu&EZX)+z&%!7rI=lyg#~Z%q$qOrgZ!ez)P^BV@qUL= znd4Es>;89!!OON6M6IxzJ$Gp!NeN9|SY~dCv>XGonIc;TE-+6NKNxyq^@-u3 z*&t`?2F6S(7wuF>BRjioWe=Jid|(H(#r;xf{vSsDnvX|pF?Oe5HQ(i5Pk>MA9&z9S5+hzAmb|cLqOg6tGc#Qqqwnysksbm3F=olfAx8z z%8w7H5eLezUAUhSG)fi9F8SHQYfKco>N;|)N`=`Z{qYLTwM%c^-Z5%zw?W3p)c(DJ z@~~`yWB=7@g$x5FW!C0y=H!-$+$#V26)(mA8LR$Kn)2w~>fFoU%Vw`308r!eXii#C zJgvlHMa@to(d=mHwHKXy_B2FEt+vD33-?8r^P(X$<;SZ#@p$^E8!g2*D3q z50(n8tgL+6yEV);W`E~S?aE3)`$XLmH>Y!5WHd7B?=OT0g$2Hj5%jq*tC|&SqTH*a zEsgPX*>*HENIC(BXEWR{p8mKpncZIaGUklpUi;fP@<=u-Q@yzO!_73CXKjZqik;qX zC#YD6dtW@ASAK(O$9l$NokYajX0)roxl2CS*Sv)JHC5wsZhsohU{WCO$=fMbvLs_m9`l8?C z;^~sN1W4N%$D|tY>BDCj@1E#|PBV(to8F|)3uH6OWnRT*YE~LZTOSs2h8?J6rBE5q zpNwd8l2EIi=!ba#7mvR}bFP4es*d4`&K5UK8a5(CywGIXVqdvWll+&x_Pq-stQF9y z=$o(;Os=iA)}&73+#g(5GOkM)u4XOm3`wQ@bpV3|ay;MYP$NKxN<)ASeUQq}=IMdF z)AShLe?JrR%WaQ^@V*ThJQ^BiZ!O5r43ZImKj7Yd%yR+iAjA++CCh14%-9jULw9rj zAQJW?6j%vS%-Y$uB?~r|wD$X6pAZJ6Ct7Fxryi%h+myTa7?s=<8z{`!l6i;1%HJFL zqt;AR-Pu2vA!(pHtV0ZQ$d*p0p6^DTRjmXJ#7C`~L@G!k^#JgR%eZL5oOFNj5>Yo=-(5SF5e59{pHIdVf!$}3T5=31lP zh|aYM%;fLT4;hgAwNhX24 zqm8^v`G+M<2f7d*eT{z*=0M-*3IF#!J>1ej*xp4zMa-=Ib)bqrj${uPzAVS|88#C1 z^>;wuC>rGPwdUhHvKh80$R*D`9=bWkQ7A*t8RpIMo?2bq{4AO0L7mMomCiWRuh%@a z{CXs~`}@s8;5O%w74h=)lDDC!P562UF2ohLchOp$M6VtK!jd&&jq944Nn!nNm!QW^ zRn&-bbsK!w!$F6UrR347oYzS<2s@a1*n1J@v*m;rpA%*^oASM(&z4S2dG~SUwWl)g8MOf?hOt} zm9dCtWC)GB9+R!ZZEGmb*z{yFVobu%q0C1dYY{}!*^!~W8XeDisX#V4~@8ALiPl>(;( zA;s~kuXli>1`Msn@%UzG1-SLYIJ5p+o1Z=iab7;C$6bQ*2MXsiqu;7E5P=Gd$-dh8 zSBo959_yuz+O8}=835;v2zdKjl#|R88VWu>_*KcULSW2JIB_VVb7O5VV}L19W2kO% zwU*ITfIo{wq*SvzYujpkK3&MTWYH;hn)xmOTljH{Dd#29p)|1g)ca%u%SAkSWb4vd zlzdX}0((U(9Z-gM8dCe6`(3C$%MLY3398c#UgIRD9nf$EoV^%s^_yG^^1o}inra7A z4)76#Nerwzh|&V8TX^h(-Q1ytz&=ek+jacwz;&1?MC_Yyw_LYoU<5zivPB&y@Kylw$6c6Mk8VKx>vijxOsM3o zUvn#h^R$8DcGa6XGk9A?MXUDt@3kLAKCHd#i9eUat`h$x);ZSfM;hbP$4*tL6-PDA zkk&G9p~yr_!A_%o6I16YZeSVxDMgC?GAi{&B-%2WK206(oh%6vo2=M*M-j|Q_pNns zAiOjzn7Dp1%Ia9|{oJgfe|V)T`9m|rqeO=ObZdB$x5R#NwKEux(b^oe6yV7$ikM7x?7!J#gGv39O9%s}ZKlkLtjeRxy z3Kf@{oonX|r<^dc9^yt9&qoa$XGl#HFBzx4u+YuH7o(&iZBL2I92;wqs;3f zjR&jiMO?iIcDm=s<+zZ|oGPJ+3R3N&X7B}F9uP_aO0%E_bAAkYu8kS>8#Z zF2btfxp*?%7|i{opE399a!tohp1Q(Vt*(5YP`4Xf8QcHV%d-;RnT z*qGT*>kB_vd_L8tVRpHcxf%9kEj~$CFaWf0T&jI){pHS+Be*9^uDiWpb`tgb{S9kV zUN_j2TWYX^_R(KM?A}FwDbgO~Am9rTXx#$KlxC@Vj0F3oOTU!L>!o{1!um1%2HQ~a z3%S_PHTKG*uQlfzgB~&;J^BV){XL%I3Uf8sRq>iJ$SfiPAI>-j8{}eJ8heq)crNUX zyWI{Ub6E-97g9TYybM8L4V4c_83vzf~(+%F3!D#PJVc;im>qru(YCE+bKW zwBd3~9&dbBSvee()RJ^Ax6hc6a@fhU9j_h(_Y=z#!Et>>}+lao4odwv&2*a zu`!7+H-(0AOt^{cs(~?4yfQm8g-xbXr0^>2s0H=;R_s0d4XVO-O|Q^ujQ3dkFqAtR zncRjH3holwt&G=bTO1y&d)rS$m1GTfI-JSV-3uqN-&nbN%g`ge&=wL!NNedlhOVcA zB?uVDcc1$gjla}YuRFA(x?TOMXtYVH5I1}EgRXe|jt*}kJ*s+P+7fhZy-y+NUonFF zE{GR*8!UClnxHjrr<7vKT#&UY-RDO7hqg;j#^ZFxv_odbHIZM~q0+pU|Fo!I#zAqE zL0J#qGs0T|`vKw+yc~3hX?G7JZ~DVqJC54IU|$KMukd;i+kthxnHeqwRoQT0cL;K` zL9cN;J#yHfIm;A49o*_5V5T&R9A1C!K3}8H92VR9cPCLe+@}z%C^`xflPu3gczhC2**Bo zpJk7dsNo48WY~krpV8;b@oG@M&*Pw5s1$g-KgzG3)fk#C{)LO#R2%M3Df^B$#^5-4aj9 zvs!(NJIyhiMtRGFYau>_#uWM_UD=Xd4ipi=OrQW7%ml_`zRd(`V<#->^CYAIK^XF5 zq1ICtC<$b-MoqLAP`EtDK~cjKdoVHt1)R_rt4lh;_#e zyMXi@!`Ln06sC^a+LWthmA)misxh~Mfjr35nbZUX$$ZxQ52mNyLt+y@v6m8g%3K)~ zbu~QI_)u`+dwyAPsK8yGLA`5;qNwVuzFs@2;ujvuTK<85!3X(rGx~QyRZB7nUvBWoFY0$&iVm-oTmP;M*yxq>eKXld0OKrdLu3H&T!NvgoI1u zy%CP|MIX#$CJcVWsfSP3-nK0PkkD6xnkHB3oz(~{i|V7*{k0<4{}m6g zIDbDmx5&BCJ*PCXGtGu*@2cPagh%4dB|FFGOuy2ccD&4# zHFq=In`m}loBr`uwOR2C8*l7-0lA%v}u$QR1P$6}Pui*B<6({RCvqKSwG@`N6cJ-^=j8G=7eml;@e+)I$>0mP8 z6Ctf&d3Ruj{^#ruvFpt`rH2k#3-=ouel!vl>P$^-@J}CD+^Wc|vGMT+nul~o9tv(P zuKMPd{DY*xfd?Auzn(H?iu@{BDxBQ%8Nqcmw??MZKjKji!e-}674px@im-9&wyJr@ z^y~aooWan)w;>+=X(DEkxAjkZ@=g@D2eMqi-lMcF0b(do0r_llo03FOfYKezI#b`Q z?hcR^?2c-XlB56a(@L3)uAI@A7pCowNH)=kb-_bEq+s&JXw+AYnMHjl)gS?CG1#&9&-iJ$}VkqeOl^n{-O>UX|sU8jCzNX+Rn~$rv6PstBs~(VkNFYfoo$ zYDSOjFr&N;%MutsMd6EhdP6@>{h37m0#Fw|t1FAP2+kV3s)bWGMGCDtjhwNs6!7%^ z4$fAs2zrIf3VB4{>iehd=uP->{s>V}KPz$mIN=Q8C9zeqj+4=Iqz;>8%hhE z!#~t69;MaOjy4ro71Vd=P_Hzk@J^SCj-$

#{pgRQon~>C&@}I;y9UkV6TYB98M2pN`C;x3uH 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%0D~4 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

ny26x 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

@QFK2x62eFS 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�h9QecZ<;)byA z@xC|lE@C;^si=bXwf<1??uOaN*(LNrZFs%gq9SiX4Dm9WWY1t_1f!#Vfv}#ac0S%) z1Nq$V!b?j^1ewLbZUKPFM6{C@j3CJ*xXyb?nLjiU?z)v%CkEK~ySuv5(x{S0=B(+!@=$TS@by~ko7omU@&2Ka5nfdM z397Mi8s`zwo+4_cuCA^SizZV$o7$9>nN;+3b?Ks&-A7ny!gf{wb07omoyQ0Oa3ne* zqJQ{GguRl=qB@9?-@A)Ha}w{SCHswhbm~UGP!3+A0?>Nk*_I&`_5T~ zqC;J3X2Y&_~)T}wW^e>%MX)~kjS!!gM)dyehsiU zC*CW=rM8tu2p+A>^Z;_r-@9H$ZHg|Iw?VBhAPVBe2WJa;6PVYA^4zY8w!@h@sU|Ba6neO8$-MP(t|9^CbzQk0h45w2PsBt!2jQX|_y41KpCIW0HE?X%1e$Uie(YyXM8ZPLE^^QjbJ5muhI zwO}9=y#L|K>Cq2K^2Fqz_B5J4JOlykQDq{ukVNHj#{jl{1g%W*FVX|!S9~`N9+DH zKMKo&EB}UM{{zKQ@AkV;D5Qo^U8JqKucwEvMUhkKHHj+6sdB}5v2LCNjTF$di<u(%ZOg~fceb=-44`Ke_yxf0LZ~w4r5sD>&F5&vs-k#o^slQAqi(d&A zCp}Jbc1=2S0r*~5;UFQYHOEXhOhcFYZ84`ok;-MhkEG1sO+mkrEI;_F;G*+*-3*TL zl?;k_iV|o!?^qv*&K1Ubk$U~(or3O`ubON;FwuOxO{t9B>OnkD zQW4^f0VfnQ?L)j%RkvQh_dv$G+R1MvBIL623$!4M5 z54)1Of)1D3)-7yj_E0aUT^P?v$)f`fXEH7!PkO9kiL+mQE0zgx!}SXsYxhVpGg182 zziGaj9uN6e*(Q$0vg$chb0~V7ml}P1QN_77yT{-vJ=y5n5{RGV)>s@)N*e5y4jMaa zu(mQYsijWxJqN#LJCJ%8<-4JYHNVpEaP|Bl2ccoCV}DWe?Bn~tPFK^qV(Jv7H*noS zq7xGh<@0O$Fj5a~wEWAXe2?#^`Os_XKZXo)eA zf>q5ExELC~Lp&=m~xsL6TQZ=`Nz|mgV#R0Sy;mfB*mh literal 493745 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
@AfBIRTrVj2 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 diff --git a/scripts/GinanUI/docs/images/process_button.jpg b/scripts/GinanUI/docs/images/process_button.jpg index 118a6e154861553c3b0183e38fd6554168d245c4..c1a42db8eead3e96c43dd9237e508c88425b6558 100644 GIT binary patch literal 392416 zcmeFYXIN9+);1a+3(`cS*E|+_69GXCWGey!LZo*hBGLpzKmx=>={=8BrHT+jFG2tj z5+MP$AR=8rfg}RbBvA=V62g~ff9Jg4`Eh=nbH079_s?Fr*37(CvgVp&t~tjT_Zas) z_;j!YI%#QUVFo&M=n&`@_X9ehfc#An0e3+lYip1y2n0F~I&w%Fbd*~=#667<$^2K{ z?2t0(@V~DA!TnJi#4SO>+|!18{(aoyo`2u-ukZWb0U;5ZA-)lR>S|ul)IQIB(mcrI z@8|w+9e+3SztzCsHy^wO2_HXv{pcTu51j`6A$;ht@Sy`T2+ZyM(f`>tSBQTdhyFNx z|+dC%(D(Zy~*7~>N^ zr%O>_{4LtQB>R6RSls_7$^J{Q|0UNPNZ{}x?#nwY41$6 z`Zjo!J19CE{pbL+UBS`)U$xCQTAhdA=diX9K##zTivOy;9Dc=m40#779DsJm4nWfX zm#X@IZu!rM{b$1bXTAJKUHqSV^FP}1KgQz!A6r?U8BQ+LO441!V@_@C!IRt4k^GtV z9#a~+C5D2t^Q&<9XlStbrfg_lczjk;JBd zLydh#twYTvJ;|%W4{`#|%_gZyB)+B8(X=}YB_ZaL_LrNPt16t zszXixB^#`T*~zpJ>vOjOd#d?kHljml2`vwp4+I3nM{q`1d|`RjgWyCrv{D zOUb@Ie-GuJHNze0awA)X z;oJ`eBcmq>g1uCjJi>70vXI;wl&@P`f)tuEQ>yujo>V*jO@D7Ybw?|CPLD(Msc~78 zD41s2!Nn}PI)@Nx-9u@%qTjxyFrrb%8Y~@l$y6^jy_1uJGG7dA9Dt4r zbOBl~IrD}k9lbK6GG3g)!okg-6<5mF2u8`)lg6r^$k;Y|Ci$j|-e7`e16wPavexa; zp5Oj+xRFHVZ8&@3%QxPKBLQpjV*6bXL59#E_!TS}C67RDd(n5dtg-Ci*99I^kt&eO zRIS9q-M9PvHzpxgOHJZ{;v;G1H=t|S^9_++mKqV;1HaZuCp1-hhIl%9o`mSQT4&Jr=Soh$>iN`neYy&Ip~33bms}TggKjcU z0l&coxyh<2u}9! zxbXog!yUrQ+&jLbgW-bfXn`FxFZ;@Vb|t{7LBL5dGbvLMp>sUF#6zer0ZoX4w+pKB za#=>k>oe~7)^SJxWpT44{3czCxtkoRa%U!D|Mv7i$$ECo#Ckc{VVZ6uyi*q4=&dupv@D#PWBQ zJRV|-7`L-&Vxppw8?rwXpQAZN)Y6Q4q#ag|{_4m$00lvL*!ug~zhHBuLFr>1$1n{@ zBOsj0g8qTMpL`KSE{EViC;9i** zM*RFCyBukAW(7Tp1kETDH#R`M^Ev?pP|!(bN4ujLL8fgVi2>=*6x5&7J6gy5!-MDm zfB!@AG9EV6duiXtNG{v`i6d)0 zaCuMCB;D2y<&{>Oi#^_D`?lLO+M$Sa0190CqUzE~5>tm>v_Amxwf&F~`f^+6_0qX- z?66)+Sl;~z-;@&P&HefuGF4tWH=y^nmuE)8I^|AvEg^OZ4yeH631^XK_lr>HfN;u( zrT{896W*pzg3k_8wMasuK^rfCH%su0?njg_R^*(KMzgM?07I{#u^^yo!%HH6VbNrQ z9ZrFt{Kiq3zFOW z=4MDTBYu{Xk=7RVT714T$`t*lM4jB%K%fc=8~b#b~>8pxp&t%0DI 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

YTB9mnIwxq$-Q_MpNd)MUZ-=5exN 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

6VX@Uz7lRyM|qh9CM8^kaYnEbSum68}o5 z{Z3g3-TgKJI2z*{>>rTxR(ZNErOpht;|c+*-P>X(>ZYsJZ+)ID0G^Q0Pt=d8sS$0v z44D-72G!Ef1G9b1e#h4qM~YnNH~Me%`FUT67LymZ5I1j;O0hy4AwR3S%E-L<_8=9m zU*Q6CKo?2)ezrk+epwOyT<-d>vf!ux>6f4P3}}?&+^Y~uL=W_!&kekWXkKSQA0|9+ zNjf_GXRbM*#1%=~y?>Y!?S*A@Yk;T&-8slBQu^Q6d(WsQv$yTrv7xkxNG};>=p`yu z2xQa&Mi5YXkH8>J1Oy~XOhzf8XOyPYL5S24X`&bsA(T;+UIdhoL}`K~B5(;IKHGb( z_rvq7|NY$W`{n&KUtqDwx^iV-JA0q|Jdg8t%m_nk+~{6o-($p%DSRRzGF=Gsl^zqz zH~|e^8YNDBOdIdh?xi23dV!OO5HMk4?iUP{3P-HRJ4}XcR1Z_&zk^h8ub>B|*kZ2G zS)#F13`#6sy(PL0kR_Ntw+4|>yxsF1zCzty}4YUiw?3GjA5mAo$>x!?G)>0 zk6Hk&$2ct<|Gxwm_*@iU@$UCsnxvg3{O9-d^&E?R6Rh@2n>fnau7`j9PecBHe<1($ z-=B8=!FSxJuiZmzH!*j%Yy=;)gR$E4-yZ)rVwrE@U?^j7Go>IE{T|*ejWgzs4P;*7 zUzACyGejTsp4=%vGxjqzow2#K@BL!%XaD?dWAq^TW5N3sYHwrMQ~x}*XG~v$1h@4t zFCsaH>#d!CDf&v^zTT&b!}VVGIhvP_KYiDh>?3O7mt37fJ~(1SgG*`IA5M2n{7|=n zPm2OrTy;)SE!!YxItAt&pn+0W`Pc)erCsppD#J^E=H z{>R_ec#zb1?xK%!J;%o6I`y-(9>L*Bl(SRAbyco83u9$&Z^sF982(I&wtk*bMNoQq zYNcn1X?FhOlA~_1f$GBbQs%j#E+ku-Mvuy%zbeQr_mik48AHFKn3voD3Ap zLHx;-K%OQ6M~)<*Iw{#rw1KwEp=&Qf@DkPudoTgLk*F7M!rXbLAtAH12T0>ceUK%Z zxS8RWPdhK~-7|wRL~oD*_;uOhWC&V`CW}e$z8TbwRsgP{C8a^!Lbg4Tn}^!d%T4d3 zo#3Jpu_`1)sz90_kha-r8kflT5YG$@`Ng%Mg(@#ztTQ#XJp7(YZ>QGEn7SNwQaa=K zvD`_VbGuqr$MemXx=#{bQZR~fO1X}&bG4twg%V+mw;n>$zFu9a5x7pNDY+a2Qsu0!rpu&Z0zYd6H+L>^L$yOdd4X%|P@nPiD#$!#B2F zZrP90mCNcdd2^pTb>TK6%{#l1?RZWlL&=N<&k`KL{tUTsC_J z$WxnHX{5X_0nW`r^kqSK3y+>&Dzfr%vuiBtAhivhpKZ3HW`eWfx% zAO!Lgq$k|`E?e7N=rm88rMN+pfrj8oG%?Iwi({2(W!b$m=8z$r;bRjagFOQ>>(1e< ziH}fHCHb|dP%=mQNka%(skhV%H)^!Xvv%PyWVV<| zSbgqv2X1en^AOg%1YU%RM`ybN9v#R0FdHu(_QceJBt|Q&cE@DfXRSnxymaP0qv^%| zU0%RC0jbNI#M-yZWB68KDK4rhxt9Df~k7bM9>kM=_8 z?9DsYj5k57IL5#(OgRH5MTcrZ-6wTJ66$5E<#LFJJo;FrLJ)x=bJKjT{2|{Mimwb6 zsqw+w@v)x~h{>E6yty-FZfdJ*b57x+GKo!}HuD(AhWK$PFh~zB{z)Fa;>AO3ls4Ly z9xA>%RLa)EC~IQ(-8wMXOnI`n5s5MNvODXld-zkH=j)Auhl`7Q6v(7JTZuGMTCZy* zdNT`CV-V~Bv!Mq4$vQ9Q8S@S3P6jhL484$7u_URik5?T;22y%X)kQ)WKkkt*zcFFi zHc&c=I!^J;;Td8Yo3(8&bh22dhDwk44prLgZ{2|`ngjzQ3#eAta-g|SflI~Oi7=GS zxUf!U%8WeM_|8{QQTiDgsROF3c?Lyd`a0kv$xy6l#Q-OD0=V+`+PxPQSn`r_Nc8 z0Mbq&;Z>QCsF9D8kd|~8`*_TlsqB>=7tL2Do>ApaA}&?Vm0xAj=~oa!{NHFG=fwfJ zPnr%7&WKP9Mv0QwVb z4&PrV!rp}pHco%?^fvukXmN0-^{WGDju8C}WH??g&{76=Cz;^8A&-NH+%!t(Z46ie zJ8N@w_WS(Im}v(I{$;Khp<^MNP3b}iEzammyW+Ic(cEzIdTTOLcdx1RUGW0myC_%I zRts=67w*2qvR14a?Q#^n$!46DaN6UgO|lh9c3E5|s z7fE-kp0-Za81D6pS{2I5Q`!4?RKs7Tphxy4EAmTOO0}D0nxH?Y_VQbPxYoKpvj0%I z=w+GXuOo?j4*KI7V2W)!B-#iiY>LT0>V*OXpTJdd!5exY7%yVnB>pk-Cl+cCzB6bZ ze~D7OL5D0scQ}fr^yT3fi}xFdl}Xy0jprE-d$4}MdabjZ8_%9+;3YAu40(qv0C+7C z9;J%$R2-lXHeL)ASqr2IEankUCOQl+j?)N{-%MVghKXSOLzIh_a&(!?aq>8 zWUbg>Hxi+sYfG21;=`Jb7ejShv+TZ>DmOvv+DF%65xj;$q z>>M$qKG)nUM#@EzpS590)yVO7Q^%{+;*dc~A=}TM@|kj{EP>H~m}2upUvkLS6!a=8 z4+yDo!}hGGB5iVN2lk|}o{faQ#q?x^`aKPU$v1qgRnO|-L`4=IAAsfi?SwIy&BP9h z1pg%P#^d{N{9~K?%Kt+($p1dP&M!z-y}3^Pzg_H z&jw>l#oi+anTC1AHQw*N3jbM{!o8R8$tJ)1)F#B(4wvUJO3Zf(so~t4Q?MiN?LuaM z$6t;R51ly(^nz5I;RPTB?Y(|;K4HD^ALLnl;H}wWdxyivdHXWENoBY8HF;Qi=0^Qh z>!Txe>be@GE^oacw1&Gc4xyt zjraAM#vjpL@qx=_iOF7Q-D2b9>g1dtS8`zT>oFIPkwiaHkxCTPwW?rqg%VqZwS}TN z&w#Y^}ztHDNA{*g={q7 zJZhcQ@_XV|OlzDQb8=H+$pN~t{YNlf6stT-QEx6eW9tUqS-@hQqjTA=W4Hw1&3 z3UKBCuo6sD;_1@UvC(DN!^$$e2|{cz-@IbxEwF4pF&K-0z4HuknD9Uto~{a1ymO&r zKt%pQjE`qbxks-?#_{!~*@kAGyKqZn4DTvQ_5X$@rC+R$w1 z;hK|iQ%9xwO)#yd>6z3-6}D7SFN5<5`=@76*dcbWWo6THzb59jHARvrhTz z&we3RF4i`=J?AExjx2^p9DA$F8nOHQ_s_;n+wR`T$0Hr~Uw?V57g{Wj!TS+5+|tU= z7?fSCiCJ_?44FdAq>cQ=<+$R! z%|h>8Jb^Lm*u=rO5t9bXTUBlB#{wVpSI^@&O zhH?*-Z%~aH>$J*slR1eGRaF-$r&y;xIvuY#Uo8B=*ZUQ*u95Mbtl0C9CUfN(e{GfSVn0&?HI?C=rf*AQO^dh>fT3 zyjf`_`fmi%f{`D0tv(AE`e9T}wBh!q(tt{)hIwH^kE}}#n`IK2;z${8Z+D4=bK_&% z0r44+1z(x=HlSw>uL?bES-tcmA3mv7a2AjQzVDK?(1Bn*C8CfYca22>RVQgkrV}p~ z#CyY60pD_ouf$Z`&tokpCFVkF>lcgKGVDpnt(Dd{o8 zE2F|->3GEttwSwv1+3MGh3s3P*6$@4&=Xtfhp~2S_)m)t-0c@QId0^r0VuE8Z{Z0m za90|aKcjNUYaz1O;*(Pztl9UCB=g<#jXOJaI9@mo)d zh});w8;_f_yXMZZ6r)WutG$%qwdZus=bk^aQ9tIUJ+B>vS-RV8C7a=+>RS|ZWQTVp1@?IUr6xKm5h6$~ru@$@R$5eisK^sc3nquJhE zW+xfgeWy~O!Qe${sh7j82_jqON6nVzjtqd3RA|HInFg z;GNVq@U|r>S2!H?PUB^H0uR38!|{ph!tY1MOBV+P0_dnv7ebDI0WERP|MulvG>K^ZucJs{3kf#P6^rDsO?GNe#n8TwQ1eA-oA z!>_jQFNAJL&~gp>)Vjtngp}7uFU}olkoE2dGv-z7<0jCm(7=IEdufKG|#}iZc$neC>c!`4STH3dMO}1mFQ*}ni7}>R0 zUN+E83=IR8F;f9ij>SPv34=6!ti+H3B9$(lKfBqrJ&;I0RL}p3Z5FN^kyRo~WGe$G z0pTv@$;A1w(%!%LyU}7xZTnX8Gh4Q8K?xb(*)&2CHqUt?_~lN#+dVe31Dyhx3{-ut zK8J7zrwcsDdEUS^bhE=ef&pmlZW(0|p5i?XSuofiJp1dBel=hjEN1XfiS*kmKEkr0r}E&;o)L;8=DfY+5f;HQ*~jjz z9P%>aNO@*VB_YWaav#_&0IrvML{JreVkV>IAKxIK=R4a8V^t!!G&S=KS%Ee4x|t??uOGRsQlZj9S`x+oot50wjj zjjQ$&)3E+D_^_t!ZHPmjLP7q@v#QV%9Y~*DEl~12i(o{EVTzG~`zWdNS?DzUVGt%S z!IHL^-Aaz1!^NW>F1ZP02B``gZ;qLTdup!x$hePYU%cZW>8+al!;3GJzHf0Vf)GnT z!ap{#&P<;XgH$-MKLrXrS`yEumti5%&aF(L?qf3vrg|g}ny?8DmsFRkPi>n?pf)~P zr>loG(ihuX6Oa7k3f6L`nR*c@`3;G;TW+B_f^4=K&|(_1 z+TZyq@072n!~fg@R6r@xqOxK`zB?ooJ)6!_tE|RETQ#?iCztXR>;@xZyCV)E2&{Wv zh1yx?@WDH<3p)?77kO*$+|}*~m`~`O!kgU_v-3TDK!tIV+e6uxoc&05)E7mCJUFrK z4Fx?t8w%~F2;s#>Z{4kG`tK_hS!?C6TpdHK&rQ7J9A&3W7(0peD%SY}od0bN?onh4 zwDc=or2-MP4pPZ=i*GtxTe`;QyMka+$uInB>Y}q`woi;c3D9#v?$f+b?WB|VcsR=q zX@?4QdcXDhI8=ihFH+iPD`MSGGsIrtMs#Q5y?M!ZxjnF5P;FNUk{6d2``~M-gz5yL zVlcL1sF%Pu3t**S%`2uBTepgu@6U#+$BH*g|*+>Xp~EjpcRJBcbAPrY>({j}O*wZE zJS%Ff${$uc+nsxjYGH}?DcyJMjDMD-V<&2*OvZ=E4R_DI1!!b(lBt1w<`rdm4{Wi< zP?1lFf3r*&I2=56U<#}TbAUAIR+6!gLp=DGsN_ZOk>-N=h9=r#2 z7}2tW?sXLOw_3>2lWkY!Lp_~64d9|W=S^?5SCmdsFpUnXsEkr6AkhsQqPlTzIXH|X z&3JpP(05Q`I7!GeJnjO|j?D+z<^&{AHD-4yTktab6CQa2fSPCw2vv2zMlOiyOl$_& z0sn{0N=A4{>1ee4b&8I!f`qGF(v^;3(w#hcmlGbe_?2jNd-C~Me9&#i#~aBOksZ!1 zp<`XF$73^k6^o7xb7jB0QA|N(r$3k175McFlx(j&Yu-`-xucf2+gLM@2#D^%sX?06 zm|Eaf@qJfWNC7CaD|lirDl2nUJ0U06(O5d6t+dM_`3(>$c#TnAs-a`s7czAf7@+!m zFrfBrh^ghHmH>=jd*OwJ-oW*S3*GUej-3l^6wgD^Y>DnUoiA=eB1?_^GFM zvZ|bMuWIvTJ{^CwFix?j!IQZ2y%D>X1iQI(5cg*>MUfYI(j%;mCbq5{2r*J=aK8Nr zP73O^ZsJ{iRPdS33ctMR3kC9meg$OJ3Lb2VfBKP^dUA7dn9W#h_#fRATR*JM&*i*T zwh&_=eL`6kVuXj|EBL-pHE)DHkco6+{Z2t3z9J4lFn0&hr4rZ(d-Q5d_(?G@*S3ik zlx(m0deH-EQVi|)=Xtzo4aI^E^@-`4Wmr{akDYWPwbq_xi%Gc;PGdJ zn&E09qo+MEHA((H@^D5ZuiLrWv!2RS6i8y`J8{AzG-IqHkC1^3vJSrK8GquA27>-nlsDLmyW77=7{Q!1InB0Ig9Xthvm9QnF(#}Z zq$1^{<1 zCtH}rq4y;udx+BNMGE)%%ti}ed{t#Fl}^^Vg>(+{Z!b|eXxdP0?nR%<@4!p&5o{k7 z0Q&ReIHcU1Yv(a~@QR#q0UYZ-h&%FDt(5~B9SZcSSv$68Mg`*h^YIkelr^gswfr>3 z4$Uw&a=muWKVPV?^=Wz%1iUCan6k}qMa-w}3zoniX#8enCu%p4Bi>*+kNI=)2?7{o z3j~})EoLf4B)Qr>n(In9JG|@Yx_N{T&FiHawfIzZpy6XJluMUZ^YPNj z$c{@(j_tm|_<)Zl?_5=6O!>JrgD)2@OC7H%fs1I|3X`-i?{UskI{WZZIHBjvMM@F| zYky1*^pL)C!AC7e$-WywF)lrZ3{Q`i+0;j%f3j(wPw76TqkQ<{RxyIy|EM(4!klkf z+Cdjb9_3M3)@ew*ddGC}X`DP%&f4tOHD*Pm>R?edn6&xsHOQ>{WEfavXu81yRqn_9 zG()8z&!Nl`B5Nhiq0o1X95{i9*=%Tj{0d@jTiNj{Evdtwkt#BT&j@-j0P!fzJtuhI zvXRQ?_(Mm|u~NwJb4{^CM)+)_lY9J21y`T*+93rYjfflV=Nn1qaquI&i(52lT39-X zfVut&=^B^P$9s^o#BOiPSRC!XWZohiCU)>5reHAFbI>`!R@j5Ag)wc$)f%UDId=Hf zvZaq&B|e_KyvMk&abcwMmd`7Yk-aiKIbOZ~z=@)$B<^`c%f8*SI3g8y3O7)K0Ev@c z*5?MUEyt)dn#<^LD=>P1NTLVR_l78ojZ$OD|7;P`Xevv-5~Dy@13wg|5A4#%_oaur zI%1Z>?o-VkE-1@1j;}0#jn_^QnAI1l!6gZ`nXzGmwFF8=xBuf&pd`OoOK_+9s!IXE zJrI7$rZ{GXIv*GGCrde!&h+a$W`tbhoG|gWRNP%o=(^a&;$pnj^vLIZOuwEu**VL7 z8az=3awst5FP}!s(Nd`yJlPhCukP1SRGI4EcrQ1q^*T%G8 zhW_A5-;UV!5xi{-lmEpuW9zrAJkX6LOx%FUxQ~ zc^qtNYI%}3cP>v8QGc~5Rw|eHa_(*yHUCsmXosIPx@(E7zIVxn(%c)bF88@S#BRVx z@#lM?*TR;+++evK`r~-995vwe({n?0kH$=fHay~590?xPR>H8$HFi&mRPbMG9@2{j zmM;8&bM4_*1AP1k;x{|QO5yii*H^ypsw?B_(ZxOqJzvM)-*@CsjlXxN?fS1D+Mj^( zptR{~CT~yY1q{7gew-2#Uj5G3lJs^VGcW=%xvWQOD41JX+UmRD8iLUMtYV8HXZK}E z-L3rV%}2(%qRL;xY@Ny32C2{?#xTRB+cj6&(xtO#(eYxX)?d{JS{<7anrCoJdHErf zY>ve-GUJr-1ovx*Yu8x!#m)xmBxH8arMgJLKtX_i(lkjmge-#BlR4FZ8 z_^V$w%A`^Q5>#t=M``X?Y>av z!>VF0PGo31XBwMctIi~g2S-O=dsXPzs>{Iz?zn<&5zU##T^mep8m5;qV>Ci$hzXx2w z;YT9-&hBx|^*+yY%+ty{7AtjbxcpqjqJLFyc3y_Oy`Fc!-OES!p#EdC*viy~<_3sw z6=2n(sB`>o*5P{jVq^Pa&-I*&TE7#Aqpx+@89ge0^)ScD?w|kora!hb4z3IJ)fuGG zD12Q3*n!rvC}DzQR{s@s=P+D_wB` zVitNQN)R>r-(0=06hEj2E|>^01rabPk$MVj&Ci&EBeSS)Q*fTR@$y-q19jM_0b44Q z1tJQQrT=_&y8-%wqy~5uHsbp(V*&tWf?k`y->rfOBNG0DlSxq6IQo6p!^&+JJS&0= z!h@pN|L*!~^USXYa{#>4`1`IxhTted96xw94tx|7nBY2re>QXb(Dz+KPCGSpZYu=h zgnm=vf4;nA^y=2$S14|&0w8mO_~TGM0kvQZk`|psLjOhGJleC9f?uc>jG-Yfz6y8> zO4k4R@~O`@cXkH?@Mb0ms(u6nwv5uR3Lx%f+3)$jtGMhxKJ#+Hf4cr}@3sZEPZIg+ zpuo6>0Sr&pz?K+rwB}a+1U|~(fA`4$!<+&*#{X?fq5hpw|ILj3cSil6OXGiDrT(2! z|E^I#*1&()sDF1ou&MsL>-`%?{Rq?kjidgJ%>OI$|G&mj#r+9DMsgIAU^$4x_F*D6 zigqf)`63bQTVXw(4hdA3Ss0`~(cP}im{H>y5m;~-RO-TA-|QK9>%ewM`I?G6SBa7A zOt0$*t0$A*73iklDn2}QfI|d0i93h*unE2~dsWyQH^OYT$R}auJ8=3yw0@4S$~6`o zjGc`*RO2DRH|~i{2-S4CXYLoY%b)Um|@xQ){i;RI9Qzy;9C9@`Lj`|Eiv%qX(=v z)zWxG%zvehzwgq*L#I>(PPW?sfA#)3{*wk)gpw`L6LgnILHO-oATu^CosE}VLc@_K z0=a$Qh|pZgDEv75L%90`%RA-R=Q)lFx)sFWdA+qHlQuWh5-Q&Ft)7mpeqLUo;Pm(g z!_C`17IV6m6kZo1=uT}KVKuC-SNp|qXYaXwS-z!ZT6b$usH~`}@cPp8Fk>tE=qE=a z+!P!{ccyIj+~+h%mA*}uE>^UV&NQT$UvUj1_El+koi}K3xmx^-AOGympL{3oD`r=| zFN#0??tJOLj}pVDUyFi=xxXUFC{;h_H9rHst) z{l4o6_7cuyGNg1r|I|aiJxYwP$)cpzGn+mW*>G9x?-PcF@8MQJw<9-;PL+49u6~KH z3Ym~tFp`-Vx2FaG(~%R^$~Nmy?@5Kdv>PT9UUC)9vKRr87c62`v*FE(3&664cWbOIrehP~y5nB3#Hq%d?VTXeVNw z?f!%pmpM?jkp~DmTY$7pGKgPn=z+S^%k9RU;^ya$e ziI;fgv$ai~NDe28iVrxxaL&Ey{VpN_?+=u=z)=o$1b6ry{{mz^y9&<#qK2T#?kgAZ zr?O5dI|hg1^)zuyZN^&gG9Hk27ii)~v*8K4rrm#s0ogJ=ou&nFC1A>oHxK{)EPmye zB{@`6PzRcTGvN;O&@-6w>k+ceEb`gq66uL`uQw=%{8F)0#zYeGHx(y|WOAoW z*OmF>*BlN#{u<1#8YDlkI#P3{1OZ!CcausicaX8F*M5sM519>hC_(x0_wU@r2Lcrv zst46X>_R2q!@6<_9i@i_BcNMHh_}iL>ZZ#tlo;}Y5`)H(C&<_{+?iI;_y9$52Uu(j zu@h&`ok*aDk(Tz4u%wgNrF%my;P*Yfpwew8+cuwWw@^22D*oA^49U?T}%Z0xuJ`t}B_a^{<9 z;8<2gt80FGlBbEzOirNvjbs;Oi`M<%wyVvUdzC^uPYjQyS38LbH%B5}`tC$lE$XQ} ztSs!?-d$AY-Dw)jdk_#+jMNJh4SJSRP%UqGQZve|_vwI`een&36q;~^XA{FQ^$fH%=4^F8w&CR*sJxFZeEpr-O^ELb;^kcV(8 z7)m!Fhxu_(i8v{)6eu)NQL~?JIe0!FryYhW*}1vvw7W3|=M3H2hh$v8A_%C*sN@!H z(DXmRp%dw%e?S3I+q#%-KsP{7Np{@hdzP}4Ni`6hjZP9MhCZ>-8$#gry~9Q~C7c~M z6brH$r<#-sH4hwCSVWqWJq%`~=maNP4K-&m;Fl#!(;Js>WirO1YL~}!=xY59lh;Fh ziA`JVS5Z&j6w5XTBZK?JZuD$UnE-w(G zwq^RpB?(3uvrY0Q|2%WWzynhmKiUCnNWb1O}Ex$lE z5yqf+1^XUrX?}L^fFW6#*=-8?hHdvhsP0O?5g?O-G%E``F>NQmm=`{77~@15hQ;%EB=gD#gS1h)jO|;i==*csw!7qwX{D}Trigy7(@5O z9fH&WL>xUCru0 zA>CP6maiyxytVqtvuenQ*>jxv_7hF?>BJv*roykn#Gu-<6FLU%u5$-gBMf3kD(EMf zw;qL{d`b{5USoch(AOAn^@&>I_t}?;Z#p%f?GUC`O420NzocbL;28=J3f^oHmT~ zoC1E-`m-yJb4uF3j(-g+c5tRO+Gg5_{H}Vg5#-$mfQD798GR5mRV(9QQ0Ur=lD#_* zsR!BNzIcM0r+~yR#P7zev6va_h`pE*t3m2%GIeUBoRvQDWEhkhwr{Rp7}sHsJ$g(X zr3m_@UISE9dUCXUB)KoCtYEfL{w*rduBVyzPTegX)x7iEcSfqJHL33?A%j-GXgW53 z(6vbQx3Yu|WL9kGh3IboldoOll6&Jr@8(J+unUm7JNLP-d^=-8w?zkzSEm;Fs!Zu9 zX*pKf7zTKa#Gph3{rINM<+W{d?C%f*gts!Q8T1hC)fDAlN~T?)Ob&h5B2%0ugHh=2 zeQ`aV7@n#A96Ds*~SOubf)C)**V_4!^JK zG2@8+-5Lg)m#d$a<}%XZQrl%Bl@RlHo}>ihMwXDKO9=b$##l+9&)ofjp}O~`28)*# zFC-bu57+x2$C%zQI1-Fn5kB(e{H^o;wHJ4SL`wZm+#oa+@88MPxK!oxvg$&vh85Xn zENcCPWbHvej&;M%U$`UuQ@jeMB2EMA3wm9o_@{P?abipOBP|Yl77NBEk}Ci!?<(Jp zMcIQvbh-(Sj*Ko97!hu0J`K#2YvxOxy0$(4$`Z~xopVXQSfjfp z_G2btG|iQ@)-*)Z7D9vGiLXCA;xa=k#SV^cLa2FcK*&hmOafVaY=#X-Ia6iC0IdNFiDGW6if2bbNKl@Z6g9Kq8Jajw2M8>wF| zb8s#fV~;$Y(CbE4_C9M1x0bt2PEKUm0LXF>EFh)am8R0F_38^Br=Z>GQtk*qQW`C96jY2}7+0z8X$>g6NLZRaWJba8A!O9-Mb7G>_fUO6HRR?x zRyK;%ugAPv5*jy<&CDWKPKO>=ZJ|#~vgpenS;Pc%qjeWza-tK+o(0)F<1^4pX?i_o zvr9&vp3aX#fiNYdmZgN~+M3G^k5x~iYQ|Q1O}~3@4MI}S-ayi{&uPCK)zF=dVY|yq zdFuLQDSgMCx~(ObP12?EFW+y=2_B&UFGtop-?*HiOf6^D8Q9yghrF?c&cqURMCEb_ z1C~LyKQ+n#g1;Mi0iwTf8@oQ3Ag{XIA$hiVTS!XSrm*f^ew*q>cEzNnI_z<|#2qUR zj#r$bG}n9z9My8<w~Lsw^TM0epK8BUd6>> zMa&4)Mz_#+5pPwparx@gdZ^~F@2$ftCmk9cHi%~1_TP8)ZQr17tG&?&QtBYV>+M~` zt@z73l;z!@1nRh;DSC@|^)_V%u^a*AT=*#{#JqmM%$YuV{q0+i(kE*7O9Hz~r!0nQ zP#d^Hzw{lqe&PzRx9L1_IS(9D3$7Not**FL{eN(y{7)v9s6G*axJvs_3=`6GSn;ZY zvaO!-;DjrN^vUE+GSzTl^UnuYPU$&q!x@^_(mCk6t~}3vowToy%m9UDypzvQ_G+j<%R(R)z;2EV#G)=Ied+|0|vGf(Mz}gwX;1j$!D(ndto!JY_ zfq%dc53c|axC|RjumGDOv6HM|&(o17XJf2;rx3j+h7KZOTgjO@ zS?YAx2r>vTHN2HWI*aT8mQTH$oKC`9auv)IE0wQ${~C6`o}ZZF46$#3?-Mq+n9; z3gkj=aI@A}LHuI^H~z6Uw`qEdU}ER_PU{@V9|e8GPnJ%~JO`;X=Z>*0N=tU7<*O$u z$x$vUXW(w-D;T^X%X^%nsy!Z+<>!=K3A-7cCpRZvK}yS$tFs@Y$ETM0*wiKin7&n! zw(|yX?+Ung`J1Y&4Mo>L06KP(EcD_H9&+kM$%G4z^6j7oo-|s-7t*&K#fI~2&jD@q8smDK zLjvEdYUw6E!2l(SRT*4~X_=s&i>m?Dys-U(>5m6+C!5htd1c!crQ+J%c;0hs=${#F z`34V_aP1dU%sX_Jl00G~Ok20}lln!$xM0jl(ktCzd2%m3n0QXpl~iDTgyZ-m+({+x z7+It3M5a!HK8xxqoNIcmILt6FvR_0yR&n}TPQ!?c*4l9Gg~)O@om|;h2G{<%%p=)U zjGgPh(Jz#u!Jap5NHWNuc$zMgS-H>Q9Z48tsEre#Zb2x4@GV%USHztybSH{{mkW3d zxfl~;=ErFW!N>qlhV4rP7%#kN3qEN^3ku+>vxDy7M6rq!xIK{ZvOIW*>CI*$CfKl@ zRL(X`9CMHP#>dQMgnxSeCUNBxDXjEJ%lqh_n{EK>lg@%=;Pzvl&jzJoWq8{gui(-G zowp0L<73NM>-cJ{2{cf}-#r`y+g<2zXhB(OEWEjpp5UwX_-VH7Xu#P1zYP<^jd+-C%l+DW#pIpinh;2KUu+yoc1PKk!kd%QuH_dD_4yrR*sus zMlZYjVpT{%0ielMjI&MUO9&HugzS4BV9d)aFap5S3ajZinCZc0p zUO)=F5|F&+*2t|S=u+n0o)Roa%I}5;>{#p+q@ea8Wq;b6z&;)Yq`sYQ^+oWrcf?`- zu(Rlg7`GMa8!0Y<2gf{A1Az;%mh=2Y|1Y0!0LSNClKtV_cYazefd{7aDyFXCA3*K@ zKzQLrtEkGI=chaM?^TANp4u^s`8_^Jl{m)ksSo%#M&cXqc9(W@$87IXTooIn4 z11>`q|2mKP=X;83(+|+wPsWT)v)+=UJoU6#b2FC-(zEp6hIPI|>%l6cddg!cw{F&& z?3{bSeXM+!Uo{&)E~;vsT5dZXzPC8{GcGcATx_Drjx9(O z=c$gphfb4-tyESXT+->Ffb73mryJUzg-+)jh|q+5Og?jZdERWMoNx#&o(nrps`bk6`CDLMoS13@SV*(dU^{n4M5>s*u`$% z+*_**F+9Wb)@ss~mWV@`hzn1+Psrh%9j{KKHVcw}tUJO`ThmpFOCe5Kw)RjC@_lyN zS^xkWJZFgXRe~=vzSt2BtKhnvN<)rm|oYd-Z!rUY-otzbi4MdIxIaU;#8s;Bjf9f#- zDa>=1s>f(YZJLjsY1lRa$N{Gs>>+4z`vf+CH-gn1qNzayR%I7`57yxsK#NlS0Pi2# zW|dt;f3lCnzHLgI|F`?)ubyH=$HuS+E; z^vkfx5>!^fliOVN4IC84lVtrOg&)P?2&HxT=e+BipRIz!L3EScl% zW%a}C=z)-Z%k#GTY$b~PD*wEerPbm-+fFbv%~iLmzs-)A9ND-H>Lt5Cmu4?-6#Ek| zX!(6L_E+xw^m;_Hz>N2~kSEDPXJOruabZB+IRc5;jz1c~MzPvMx4Q~3!&oQjRMw77 z--Y4NLa8ghGoMu>R+O=t+s-qBarBe$(v(%|zS#jG%)~5{0ZW(>8jF!N)D7z$@?CJV zkRCL6zGI_wa~LL$UOZhwig$%H6FGP%=l zKG{7qll4U)@y}XXZcY3-lfjyXZ#b`9*Upioh%g5UTLp(h)tx3cCcaQ6W!S9@=00z1 zIOsTxa32Ls9_B_WWLAUK8Apac3U2lNrSQeg_109RF^9MhLtA5vix=dzJY1YnOCei{fiR5kz{GEGyDPq>7O&^#ufkNQY1&BGN=eKmx?%RZ8eAr72ZJ zzyL9{fKn160bW5sx)gx~0cny*aSBO1!*!l}_PYD7z0W?+J@`dH|81cFK@(M_rz#HB?qVy))sn?Awk@cz zcy1t5#MGsK9VUdS`73(a?dIepGt^SX`Srj=3ubZzzwHdvy+=};%-DKJaVQJP%MR82 z*wKow>Ph9?!|$E!uDDPEDY*CZk1il&DKG&S*DjLi0Y8Mqav*A+o>^nbIv2QiQLHDk z+W(-@lgZm^JF@4_Fl_V1^TiFGRBUDdKC*pjbWdUHLFU$3H!n-Wnj~#?6MZ>b1(WnI z6^GRIYwUxh%B~hIGPMxPMda#vtffw=9=g=&bxT1^2>q!YgR;=cr% zmG$E&cwrx^AiFf0t6YLvwfKNV-`^AeY#}0bP6UM0GW4!7AwA9u)*8-_1iDet_Pe2XTM!BP@K}KHc3tc9G5hM*mw3+0o z4l*6Ua;s%9rnBf6qZuHq?)Q2i4`YpXz`X~MT%(=*E-IW&>qtx;4|9a_N->VDTaPWb z;ZPv6w7vN#gKua^h*_Laiu(jO^81w*Hw$cLUM z3DtDKjkL8H<_()7od!M~a{D~^mBj0Aeo(LPMKQZs+X6X95v20l=`VAlFdL_`*Nf@R zDM!-JwAt={K(Bzih01nGpzOSmG8=*Zv6}|M%>xX(+jd{*#*wD6|9OQ%sugSf7pyiE zXC{De6=C)DD(3Cs?$|i?hv416Dvl_5{uKDtpMJoituuO-$$S&%Fdo4Jv2o<-_IL0A zK)?1M{F2GDvVTYJZ=VE~$+?`sB>3@Z(F2P(P0myT_UtrypU)#>qZ(GK^iqU30eR5xP)v}zN>B1_y!lvzq!aZ6o8`lZlaAI$2U@+472N?Gyp zCliX@5ZZS+ck1J2ekZwRt{zcM?82Ej;Z|$rzTdAX6>=OHGf($WeN>81v750G&rY5= zYH;@03-X#bBXE3vQw_47UJ2~r8}MG@gq$EG-Tin!T!AHGYs#4;u)g;-*^~838jyqy z4gHo8)F#QdZ1Pkh$*L~R=|vUFXRP@%OU?4kmXA?MUnohLk*$};(%5NJJshGDd8KkV z#Ld(4O~M**+0C;VR$Dn|Q`z_+U!h!W=`6E>@;YWxWjgb$=S`DcWtNV`4$ZJh>mo-{ z6Vm0Sy@PE`l^J$5&`NLva1FQJs94o7M1FpOq2I*HryX>TPX?b*bUs zh`NHNr`~I$UYUIxcCNTq>%L+`s#?jb+hdRN=2onPM0$d53!yErGC-86bTbZo8G93_c5#EAV~wEz*2h;R zpaYhuvrjp4Kd9EZPx#ieYaQ>Prkp38{G_w=9EW8#>+0*muA1%cZn9B9ZKy7hOkOEf zd>M|4LER0?b+PKcm+q4Ed??pTdgdhMWWDs$UUQ1!`iw(*I#X@*#c)+x(#*-);(e__ z>B{?#8(5u*o{=*y-rYS!$)L2&&N8GkGym2V92y#|e#gbdVr)mwr&59P?<@z4)ElE#C?T#-qt_V^ms_FOa=#W8K);l=U%kc6^yJp`xOz zbni`gb^^9rxk+V^XsE;7XO79{(61(-h8dP;O=1x9Wvtxvqv3Z;)$W$`C~V?*#YVev zLq@+LKsfA8j?Y(wh||9hZ)hH{WQmHr3;T>(YPkG>BBHuEU`?qSycOsXyV$?r(Ny!t zgwv$+)Oh%C*u8uH@^B`mnDxhrIS;Q&OzQK z7SF$wnhl0zy?(r?Aab{VZc***Tu1)!V`sGQcdcXZ%a8p{=bKA>Sm&c-X;$ANMo$GN z{aMx5F?~O+jM$T2h&q#}TD$0yEp>F?K#pr)(ug{1ut+A-4FNm=i)Xfjz*pomrxM-(NJOLI!MIFb%-aevxwW0aN8) zm-4Tt@~^q_ce>rbzCnP{`2WXs#T5_efWELes^N!MP3N!;2OgD7y-d6+FO|H~+_v)i z+T5^9A`fX3^3cS7Epz-&-=aNohn_ul`aIhXB^P*BK1ou1Ia_-;zQ|CboKP5_?9=+f zRe5>VQO-du{nn*jpC-F?R0fudHJUJ#~pIz~BLtMX3 zrJeUlVzIK6wF;`=N~4q)|L=`7m`pagV6M0CVZt*we)9pO%Pbg!P2<~AALMJr-(Zil z;RP@SZySo93_Ak+p}c)}47K!j#a@|g%Za+JyhPp?vc_LBF5lRNS1Mpz;m4=Yya)K{ z{3*7r=x8D<<+%r1PtaMfpRKbvAVInruFF+S@QT;Bh^c=#8cT) zV`KPu)Cw{^Y$P=yw~$}w@t1MN{Dg%1DVM!q-+`@`-v*}u11S_L_EI6li!7B z2NLMyc&a)m_)${hrYNE-w$q|XsCn)Q!y|rK_uOR%v05`ZNJ7wf?@{`FZ{3dAbtX&d zb^V)I=YS^P3f~c<&KzBKo_#NMB59bZxV!IgQP)(4|Q) zuyb5oG{eMHAH5Hrc$I7}>*N8|AAUD)NU|x6CqBl63mdi)DP2}2dQ>!4*Y9hdqMp3e zkoiZa!SZ-QJb~h>XZzG48GB`kT`x9oHxX#lbT}u7FMXACaw;E3-~Y5>=!?xf(Wc3B zd4c66`=NZJgV8(wQ($ux^56CWcXSjd;E$FulJwuwTsc22x@QSddwis|_W%aL$QR(u z)sUbX$I3?FjRmzXcGwM)xQO853tqouo<7-h_CrVg^d7m8IvIJew`l03>5BDC>i8wT z&;}dbhL^@Ee4*~(gvWu=XgR#E=&1f?BPg$pun+{QB2>~ltsFyH(Zk1vDQR#HlK*>dGcN}79eCrAflGNAxW*j7JQ+mQkaz5+2R$r-& zlyZyG$!mTlWkH)unniReU(d6riYyoOCiUCeJvbG%Dk=c`k-V zSG;lPL{6dl?Z6z{^4NLDBtBVP{`;!EVH)wBI|b%-YBHM@h#`SQneQg6awJqnXobO4x5y~ zhp1G#<3Ipv&3s!DCqZy%f=B__hT>(uGzD@7ZOh#$IX6MANPO*iKIi@-k?TZC1Ne!s$|#o_ybo;dZ+&UY^jR!JFyI%2E@lI~H>Dvx7{l zaOneiDm{6(4j>d9B2L~6Js#Cl1qVX>K}o8!KVlTswfEVRj0cM>PPcVZOp$UMn!Qt_ z1$?1V@MQXNfT;d33I`|#wMYj3;Z&_|a>26xwh89@TiPM&e#qZ}UH2$5@)=j>>4wH3 z;HH0tbc57hVQ?b0tP~QC>B#&rTQdm`nx{)SbNVbW-+o7MhayU20$}J{Z!|>5hfk!DaJCYb}*Uz3c zq6pp1LwFOiaMHoVIOc>r(BREQ#2F;%xg?ZgS`XA2)5Bw&?Xi`(IT@+s)_%XJbgyMa z)?&L;6zHORA|RF2WV{C%I;Q-`)N~+Slkk12R&Ygd+XEQK`Lc&QEk#zaY9-AnQS7fX z_8hBbuYi}RNhrtV;eEXEhg!7&q;tZk$VTc|$$go>rkXVHw0QZ5=|TkC202==`2#w; zeE>Y3D*?Czm^s84nyx~^>OoQL=k3F-^Q~LM&$0(mMj7EJ9+d)^?~pp8UPq0#f9al# zyJG6qYAWz@O+Lqn$bVdsHQ9dTMcK^+144vc^xerr?{1A}ZPvja+|6AYAI{_yD!QM@ z-&5<=y*tL-Ai}&}H^TjQd~n(jDaK-a+9Nke$s6;MzI~2&_kDG0S$}L#vyTTyHbI=A zx;YYBDs(kQ-E{s`4)_4ULiw-S2%d!JlYf*R(Py8NIIG5A7S6zPAVRs_*2><$3+CWa<8slT=m`gT5F3V-8!1cINE` z=1+moXjHv8Q{`gBU~wF?X=;C_y%kzwvrDq9Ud2kAP?>@7L_3D( z{V%-mUr*ZqCq{1np{v+`<|U@~0|!1<019gn;5u&Kz)ezNycc|+!^fr$a-tT z@1K+(2}MZzQuT&THR-<`Ti_oZg6}T%!5tWGI$wsy5Ly~;XUUh)SfU4BxSy!Yxti^3 zvrwEWAEE;Ak~f^TKG@Q)1$}?-yJ{6B zG;>}Sb!L{~d0N$ApP8~ril~iSj>=F*d8bi#`(6KaO}-GALc6|0 zsoNpAc6Tw}Q?QUDnfO08H1~2Zvqj_9DNsBSlSbzstYoJ?1WY-%-!zn31NTCR_J*Xe ztHxyueZHHtkA0)O%t?>qpG6d{yV%|<1K>RYT>9ZN++d<0@IMscM)HyYM($=U6wV%L zmDhi01gcn3C{6)g#F4Hfz^28*T}Xhy)ifo*MbC(+{uFQ<2??-psvpuJ1M}YL@u_0k zsLtG)v8Spo2R44EeaK$L8+$3bN6lP+le0y&MDE;(8#2#b@btYtgj%;3N*^pT=w=aL zcP4#0Yu(zE?PPv8srojo?Z*01>&cwFTdY{U)42+{{!G7XFS|t0V^4(T9NA^|ZuXhC#*gTb4rBSv8-D_U5ZjBP*+B;=T&206Icj31Cj8OtGzj0H!4G z8BWZY4cpv+!Z|79D7JpG23Y*s#DLlQ=ZH<>bl0J~{I0i3n%kn$To{Wix#aj5cvZ>I zQYrY7M1PlFVLye>DZ0r?94Ay|LINqV3j?NHLey;o4C^&rz4Ht6&;ci^>nYLGoxbM9 zCvA%4olvyp!5n&rsQvUxEXmTWp3pj{C>2k)GqaE|RMgC!GgvlfoYh^?GRW2Qb{use zqMAzGV+=#*h(n<-!5y>B0SZbL@!+Sx^}x}rO(b-dGqrh!U&-xp?dA5XjqNES)KCW9!pDzX) zcz!s|mTmbjQ~Osy7KkJ~#(hBPcQn#cPCL6}0#OaTg5XGIvL;;uV_oqzBr?zD-ci$< z!Qzpx*!{wt{vKKg;~aV#V|Y$`Is)QwO)Ho-pMdc~7m94=$)HcG3DXSUtP8Qa7A9 zR4POXmb)nhJh;;R=$T^kkI67RFBOO!Cg3UPSiEmRBCwITB^ozXJ(!JbD;TA*5X+o$ z$Z^w^4ODHSDh?08!md(^XQ+NuwT<>aCHEn> zx-BXySrv-ADRC^Y7rt(%IH_6U725H$ILu=eY_Z>T~OoZbzUlH>5p!AG^7%A@p9N> zkk>O{u@O-aeQE>zLt*#DY}Dm?i7#0VJ*m(9>h%t|hM$@G(hxuwUZtcqc@!_-`Pg}; zG4rTMOUSjE3cJ_Av1Ok>&YxHYp5rBD9w?jO!f*#WRaDvnL)k^bsx~BA+eoLKqH%or zb*e#Eu&}U=qkDgb;vpwi8n&`rHK@pteK!|Z_59hhUy7jrH&N36g*QNS7Vr;T{wa{& z4`#>r+f!Seu-}&0la-M)#~*)KU;aPjM*mHC^nd*~{%6F$1G(24Nv&}|0)YF;UAY2g z>pPXdm4@HN_kx-}6$#lixYX{LefLuUKE?k5vcxQ9?izmkGl17Bb~S9jg}*_}gSdD~ znS1gZ7|aj+DS$0t7d;I_V+8;0P$k!bweFt+t7&}6;8RPh0{?huR~kQ@#`}hEP4W74 zfBGMe{I_ece&0xL+W9{YOg)ACG51s8JGdyJvst0v|M-U^|KUo{e5JBQ|KZSoxYRkf zk;#AE)W1F{FjN1>toqmV`~UuTs#E2UUpC-7_+Vpa-!eCkO{cj2XK=qN@(%9DLs<1V_(*gR@a4Hs9R``wa+RKkUUb-he_QIiVQ=arSV>g9F zSq^r&Nc*CB=i3V->|@u{j~!ABY&09#-!)q1oY$EtbYN0KpH^den$#Y(NiS3V=qI+B zK9_rVKq2GKvg$Q0sXLS^=M>mJ)pcc6`$EgUw(G~27hBpx zCW>Q|Tnmq%ay&WN@BIPBF6YYu<->DqO}@Ah5M!LZ|4)W+pZMe(u=S&0$z+c{1P2LD zqnGr>ztiH*jZChV&#&H{>c!}9mpx0{_6VHfCD>s@@}#a zTPL+?Ttg5C{J`K_$-ktWe_sW?tC z++$b-xb>}nHZ-&x#g7JUbp@cI{R}aD`zSai3PdjSSKyQ^0vBY*KziHiSDQaN6$EuZ z(5C-vY^(Wi_z$Vd;JlmQ$aKN2ZlJ_{)f*3mc7SIAurM)bpu`Dgw zehQ2z|62Vn`1Mzm(z-UTN!tB~Mceog^8N?1;o8f%Sab6l6Gv6&DHd~RT7-7Zpi?5ry6yPVUvs$k@KBjvVKXrVsYCmhYz&h=O^tH)7HvR)Y z6S$nXt+P;%rv%aqqJ24Czy=R-Lv%NUWXZ&FEjUM6%6~LPPQwzZid0T29VUP&oBEx- z8cRLE)f(nY`rk9`Xwx`~VsE@6vU(F7BB%wWi-yO$S2AA=>yO+=GeiNOk}30`$r!Xp z_CONsqjtP!SPA{NctIcPF3zjs8O@~pT^!RG+*!Z6DN6m@RKi%u*!Ng0g00M4>5az9 z_=W)n3RP3sf)yy^r$;?J(4-%Nb=JsFed)Z^I6y~AJ@NV|B%X{|DSMs$#M{~MQDGKt zeuv_z6IVamSJ`xo5N%$m9xSq0)bZT?N3tubJhsI#8LqBHNq0@pEh z5H7|PO`z&>hH29z$G0?Doo3|BFA)T9vclq&C|BwQW+y%3d+T`%Qw}XDgyh{Cp&8#4 z%(;arXno|Tjb2oO4K6?KToq&?=$g?uarP=#64^rg?JM2~CIER)tFTQUG+92!jLe8W zH2RA#O_q`@xS2P=-7igHxgbTb!jN5qH(|x>itX#zt=_a2+jv;n1g!L`tIi!hE;W z6V~Y;O4=fFw)FYF9&I7XrLp2$M$Uh<-svies$ecN;UQH|dCvB2Z5NX&KdJ_${FZmc zg&4bBe9=6-Sn*O)`Hi9KBx=)3Dk`+*iWi`1-g4W0{OqNj79yGbF#wcXQRNgrgz34W zSxH(3_TMp~ymOl;Amy3VolxYaFh%JIuN>h66XD(jA~jJj`0WInA?^-l>TkGi{jmdy z&;0PUx{X}F#=a0O7GD0-q6xEb7E;Xple5dc8DDcuh2%+t4!H!R+FVqiW?@{rSNI8i!qSYd z&1~x+MO{=<{d&t#;nOB#KTU)3S7@0wlcqbPmRGz&RhV}+fHcz;??5t3#IU=2%eJQcVQb%exIrfRY0JxYsrj61H77kePcViOt@g1y)k%g8(;-SI2few>E2auyF1Z6LJ9h`rn=!73%viL2Z7f<6 zOiEW%46Dg;D`-Q=ER9S_==eV|Qo`KrV*Vb%Xt-U2*G#TGNwL%$9@~uH{*B+m7vuD{ zl1Eorv-9l%_!+_Wsj;HXXkG^QJO_wwFwnn2Va(D$0E;$y(vVH2BZVNc6XXnZ!K{%_M!KFO)b|d^9;%o($~}-RP9wO4tO|FRg6m= zr5f-C zZb3h4(q<-*p`m& z0+V!#FC8ho=y11)AxShNf|okf{jlMP33hp)XM6h7OfdED}>=8idh86cO9E=$$&FZnC3Lc3|BY zG|nn-wTZNJ#%fH@s{}JYMSymxE$fz-{2Qb2Ob?D^adN(OPM4HP;<{(Uj;f}ZA? zue~S^MM|j3s#ibHwh0Lib=dc<1czvSqPiYTRqEC!U`#A%+Z0QRF@FfAA-`iCw#Ide+JNR{h4 zvYw}Jk#!Y{2?a@Gf(&1P-5UjW4889adWt;Vz4Ib_u#kJ`-Zvkau!zm#P<(0c`M054 zb=z+2u;oz>NUntTGYg`pl$yl06`@rYJ_hU==fl7fRn|STvh#O#H!XRp6)l514uxH6 zg#4%RhnD1x^O7RcvyEf30-whf4Sb!hMyvJ=haX<6!i1sak{K7%t7LPnv=ge|2b@Gs zz5lkHm2jq_d|zz3x4~7s{kuxpPP@Y@)-M)s8q}X{cPgvNDvn~@NAHhrwW_`I5xYkr zHaJPjuL}D_xI_0H$2mFTs~uCdD&y9GKHU!Rt5k&H%w<0@szuM)by$K1x=XTEdqaA0TF8`bP` z7@Lm`36unW$=0OhdzmuV`o9P@4=ILq% z@K2Nshmvjv5r_;OU{c*KrYWUR$=pH0AFKKv5b zi$cfgf}|hSOCLYyFRRcRwsp&0ILc)BRqbfNXU?HaGO>eP_x!tY+3EwF3f7NP-x4^g zFg>*#xs8K%GGTEcsZl#ywtC-M(BjY%K>V?wjV7zR8jn7xyVQMVc$s@PifzG3=sYtD0XJokdk3XjuhC9DCoxjp3meIs*e zTKyiUXIG{BWq^cgzNKetSUYstkm4aXP-@fk!+ZU4yH%`L&QPou;m@*b+DckXcp?lH z`toWg`|NE`Ce+*ZH>S)u5c*E}uOY?C?CQhagu3d!r#Jy0IR^nf0q|N!!Ph%b?v>3@)YF?#{=#V@a z`=|4iWH(6OS8IQdY)tFnPbq0YK;~kshJ|Zn6S?QZnRR$!-|UiR<{`a-%k0u5cvvB1 zda;jx6f;6cc|}Xt>5VBTHide!L?V%q7CsuQ*QjnLCyOlJ7A+F{-wyRuFL&(T?))O9&0y(`wIjREN>fRVs#J_{;1Ws zQ^y83vN$rSd;XUHmpUk{uvL?C|B~s@#z(H$^N-1nj)Uq&CXKJp!gEgKhd!}-CA066 z2rt6~_#{5wv@1s*%65FOEqgN<`TYr2S2#|iI9V$)Oqwv(ic_%S zT;~56)k5rLuAJy~g^JlDOw)GQL0{>m@Rv}zF}pOjn8K;~#3M6|VEtIDY!M#auTFyQ zKi6Q#mO~%7*_pI(GyJx5VtapSQt09c-AfL!f8Joi3MOG?n^S&CG=brTxzY)*$-8w= zZHGf6(I!)AvY?KX(!tTQ;fUp6P{1K zd=2duydc+}jNKPAZlQ>4jw@2Hpe4Y6ljFcTltg%BN38AtQmC{9ayI>R+w9=db-&24tQnP?;zbGhGGnYIe_`AyMbpQu z${)$<4(PO51jgzfAKJdA^F-AC2ki0b{Bo8-ZK@R4V@Tt; z$w5pMOWk_WNCfgy{6Y?3(ph9VlO3s>H z&;Yy>6vF~wLzF{lnd`?T%TgEUURV3n0h}CWm8H>i*9DDysY#e`?!(I6)wunYvTuf} zH-|S5ibd#m=S75SIT=4F&!F$KY?soKtiIBkam7LDY6eQO*x}WEUTN$c(LEog@JFn8 z%88csUvVtrdB$s|ICYxENII9w=gQgx~$1SZ1fn zI&HwUI#nkPb1${*_<|Vg>fjqff!n?qi8iGjoWLlYgg;dmI?OILDcF2I+@w3*Y}z^{ zNvo}O(gEtwxPfdnkir5nZDdRlC$_j`V&0W~svw9X-+D-I^ZZ2-1Vd(Q@^J<}@Z6L* z2-vUja^a>d8bHddc(BglVO;Zp(5bN{y7r~}B|9TuKsUc%hW6ph{2j(L+X5`C*@JrD z`C75_tb%B`+MT+FH5ZJ@ly!f=>Z_u))9ZJZMCnh+M8{(Hd=K~`^()2J^w`RE4g{$u zRCw#^+Kyd^3F~i!no#WbIg;gHyH+P7tteOv21iaz5=QVK%@Jv}_VcV+2^ z)o0y(AzhbQ$1d+W-_7`T?DQpZoyVPvaTV`(@LC|pXPDq={kQ0G&rOg1bsoYIA_ZM_O0eGjuY3$efcH^uDrKm zb!T#Jc;UnMXA*Q+BXH%E?izU~MP2#9;j)jSD@k1<_G92nrQ<*<$IzB{0DYf~!KT1z z&D||C-H29LwRekC0M~Z=cPCejZL2)8m1uNebg?&VMhYT(`!b;b>Jdy<`@MP@BXM>o zRJ0x0*6_6+|6(EH81+7w&&phh;2C{FlNN|Wl&zp(c5jPxLttC#n5fA>lLjkL!spu( zu)7Ul4}-2%He(HPYg4D_0ob!V6b2QUQJz5$z|zS$;rMi1?U z-x>sX;G3bf6pjpm+QQoJ;-Ay#uW@l#(^K^N3~MS;cWLSnK)+zswv8dx)y;Swsa6zL zpJ1eqIkwPnvz(*JKpcQO&S>sk#0yb{ux76h9>qj;bePnPY~1|7byOeW!}{TlB|f+# zkB3e))KQl56-3nog;*OY*Qz8>et1e zAt;;fU2wy?pV*&#C%0=GM3%lREjvX?2em_S9n8~jLNx>Sn$w1Thn`ivMg`ptYP}Ym zT5hZg{pq-g82f>}jquhS8-!|RRzW%v5Fo>s){IieN<4?o%(RYu8d>%X@MnG0mD}i* z{^-uwpKYd5D_IF5ruUV#P>5pmWUZy-liZHe7woOEOXg`rE`pWGOVYnFfV& z3R*|ddx7kBq#1xt-TNYMnMKg0DY`j9`V4s(AtVR6&!4&*;7E~XgSGDhZZ(A~QP|sU zMkk@P(0~#`|9Y}1z!~brbD#)=h+O6TvtC2T%Y@WLG8CpKBr$7$w@%$I&e=k*%yBidtU^vh(mG}$v zj#I!uhyna8fJ<`i*ix(Uf^o}yMIZjoSj)gxpquH!tfkaP(Hj^A0i08Bo-Jf!vzAXZ zImn=Ia_JBc)DI_jLL(ft)?YQCDdjd2qHPQq031BEAz~%sx9TuLagHU2z5*WzsyoQP z!kF9vwqW0KmtJ+l3=&tS>W$e0GP#QxRa`KVsis*jOji)L_j4|-dBIHSx z{R~ICU9k{y+{6GfAqi26t+cEeW#S|=J02Gb4Xwbs0|L1OSBnh;6{pefHsB)-!h$IK zA^(@u;0{psy~b6~{Gsy+$)w~Lu+GD-LSp`5h&CQ#2A4AX?7qKbDg6* zpQ5oYHRXPMTiFTIAUc}HG)iT6ZKkm6m(PaKYBd=e%5I#g6tWIX*o8m5B{`C9?j$O* zSZ&o%kTA}CfePq|UgfIH+~_kBoj_w!T0sv%&S`N36_blNcfedX2&{y!n_6qabs&OT zvV4^*GTT(Yy+bbc?L}Hm@e`z!e7ROJDlr^)RK1h!B*!|*WIq|hAf6LyNv8W8V!a-= zSQiT4FbF=g)uwz(v1^IFvEcY#nJ`bvsyK8-__RH-TfIZ{>CBp9he!-5sr{OtC-ov! zxNU+Ppb6pqS5v9`cu!`bs%^D*9Q_$rph$U;oxBLyTFY;2Ec)VDVM*z&B=I9gk&C{Vv*HygWXJh{ypKr6BCkjn1?b#`I;kqxvUwD6vA8z>> zr1c};C~J%JAj8#Cyjv0csb3W>tXK ziv{W578f)sLbetB-4Iqazb8v8`0PUm4kI7H1-AupW3-x7`tSYROM*F?pO+N2n+?fK~S)6ruUPfZ0KZbpFJ`rh~*>?mLY`QSFg<7BS`A-CBF$n*Ev9 zMC*Z6=@Bx@-mkNw?AqOYqt^Zybz^6JdzR{)?E4xSbCMa3FDraEOWQ^@#uR;~{pNOLkQ{xIHzvTY4u^~KEiZaNxK29NxFs5o`+ET}lnsFG2nvrE1$qy|Y+8oxA-BVui z5ra2jj}SH@cUOO7jR-QPl-zuXyo5Q%?nBT!-^z6cRf;gEHRu^+;7dz2#+P@Nqc9@Kv&tN0pP4 zS9)Mr|pia+RZB7zB^bNmAAJ? zi!nW^DUz7!AJ=i;dr9?D{^U-)OM`6#ImhxjiYvYeFg(vffx)m9BX>~eVPE86Bo^+e-|&Y@ezk-f@o ztZ#m=-ylcrl8Rkm@lIvoH+>UqOKnHHRHAWJf{9xNrP(KuqKtzrb0HqKXS%g>+e0eT z#f$Sj?#RAZ^b+;A?2i$qiKw4aJKM=#%>80sx|yy)D7VZYXTO$@8eIseR}lKkJopax_kA z9YFwi4nO?IdY0mF5JtNLwv(y>70|CbEm%V{%B zXr}w!WI6uYN27>4S-LYtMn^@2-3)rq6kZH2%CMtf_h-4o#y#!?Z@y#tU7ujW;fD>` z=D9(zMxdj4TiY>lYjyJj$F*J$U6UGv@Ugr%;KZxIs7Jp8{1f zZBtv<2GzP+@4G9i#1}<>b}~+3y*Jrm8}|I$d#h6w)nl*SP$~PxqGJp{o-~~(j>%KK zYJM<&>H4HuaNwQgUb#+@he^13UkK?L)+2GbQ$PSz#p>C8`oBt0X8W_;X~ z6v!mww~!39m>=pkfdrFXn3Ag{1)4xvzOQ^yJz4m|NmEuL?BL?0Z@_7zoJd`2d68aT zneSM@Y>5;CldkF>!i?=XZ7$<`-xfh<-U)A$@pm^^*4r;)ayKl`V1W0Y2sFYEZ@=le z^WEF<$Iati_p0P{Z#gKdllH7G&qtG!81~V`Z)-hQGu*>WfTs#<6JV7dJ_N<(7okYl zXqzt+7F%$j2~ULlzB{oAQGDP?)rYkuqc9i8k!XZ#bJATX>)#H1KA9gj@1^G{PTnLIc|aB|sJcw|s^9b8@Mm_IWkdpQ;1{CM}%j z^(pJ3@waw2XA%N^nKb~tRv)vjaZ5k?*$1clglz+{7ZZ~}Z+fDvVTI6a!(oy-=S7Z`W4KK@6*HyhkXL>|i zxAs3T8`*r77UJ7rw;oNL_O+zpLXT$lY7wJC{d%)WsM_M}nTc|{+$G1&1xKR2^)q7d zRw{$0;72f7B7*&P61R}=DtRs*-^2wq{|OJ?zGw;dGrZZuA< z+}D4rBv!Y5ppfXcFbo?ty7$!A>pZ_yW3`g2&8wpM6htfSB{0AL0S_(pb%zby#u`U5 z{hN`@RXRcn>SDHiPb3|!;uwE#g~jntvF|lHFslTJKCtS)u0{K2DJ25$@A7xRQGKCJXci3EX zrFh!PIHVWKws?3alhdvTiSFKelKvYYpmIwn2G?dT%7!x+yF}%Y3MpIf+r^^o#BZxD zPH=l{L-|BP_vsLKRolCnT1_W{pD_I`B$wb0O0_3hZhjcoV?H59a=b>cxFPpJQ62dw z2XKG!LB&!y3M`P07rDO%a@(K^cD}x!ueszX;kt;H#KC;2X8~JJLzAh`kehvqrO9yB zYuLAG{!%4R1AXzkscFS+-t#EL%3039#UZ{pCJM>n&G;AW#2s0hlBUWoj-@+=cH`Nu}FBmc6X3=V0QS8 zY{#*3sWG3r~*=a1xDyJr~GH>RlVJT4V>Z&2mk#=XQ_ z+<~?cM=|=kf9G1k=B&`h+<#;5y`!4m*7aY@QbdG+^ct1krAZOVRs;kDq<119T?7Oq zN+d3NN0FjP5fB3eh)73jLSP9Z(tAlzN&rbzFbhKbP1d^Op1s#P=iI%|*yoNr#$Eow za7-hlOupY|zVGvXo}#R}vrW++=ZZ4iN^B}@67)31(g&d?s}WLEiTDJbH0+v#lhTa* zRHtj%+|=I`%pYY1gXdu)W+@b7mLn>ubnuCt4q=-Pan@xary0m|`LCXo_@F zT%T++`}zIZOv*%yj!22UtIBbWt0oTYmD+5g!qGdmK^c#OZj~_OS?$F&G+Wd(${)VY zKrz3qX~Bzi6RCFErV@D??#ffNcWMG(i%&%G9!#+-yY8p@B2(_NWJ00D>PWI^B1Y1* zWJY{>4zhbycilr)qUE3>(5J1|{u;7$2zM)G| zv7%L1(apv;LT6zN?oGm*&8XW50of~_)eV&GtV98EdO7TKzUM2spnh9sghUEQOjS3S1A3h7%Xyd#h7t?M)y@Y>2Gq2tmE zwI#=c=K9!YjUbS5?d^O?h-toiRQ`ERTYg=RoJFscvg4B}LP9D=b~47_EqAKUWNMF@ zV-lCJLPi}PZNn!r1=hI90*V{$6r5r*{HGRk5_ZyEkE+;#n(XPE>WOWGL=5y%Wp?;f zXWebaut;;olopT00(P1@p>Hwo9-P}32h$qXUr;g&=5e(LPNspdID z!0P%HYs_fCY(^xm3~KQq`x@}K&RV{4o_P271X}eIcVg%_~(xdsPs;_IQfe| zi1kp9!F4CuH4=TUpG~)@6t|sPg=_W(*_{|TnDExG8S%^Y6<2ZHb0Hpacn?ih?Z@Ki zl(wUocQV)E<4ScHoE^Wr?-Jh=Q`L;XFU7O8zU_62Cx*AXK!66>4jR@GW_)O`wT)5R zWTM;CDj{91?p-3h&afWkX*24%@5Bb&ZUL*$+Je6$i4z~hQyE%{7$8u5vhKaa_&j&; zc{E#=6h|`#wTONwb3uoQTFu@gH3&Q1mlnF0fLYa%8bf(2azJCX&?$5+|IfAUyle9; zrzmIEvh_m4?bMPAAQMQ-Vb$|VF@EO$JUR1j_V^o(>qkYbzR>3i=!%R)(W3I4<;xkfIJ6u4CmiX{UO z>LyCfIWecn%q-4U1?1#p0B+ zW48`1JaMW zY)^Hmq%4v=Mn7^o(m^ODG>*=+AcefDx@+e!G~Kb&7A2B>I>-KVo#B^PJ_`Zu`ghz7u7mpdOieCtsn`E3}4w zR2gJQ@as95D(8E_l?m3d9&$RI!j^(ye$LxdWSr@QV6HET;+t>16_XSy?fPosT*hJy z`f^__jiCyk47UZ17ZoCO-LXKBZZXU_19BdI-fP{)3<$19a1V)t;5Y=os@R}Etoobc zak5rwE9rb}w&NIEO(pqUHq2{SKl6D1=k}Vo4Ihf)0=8p59?IO}xO)yU&<)D3#igz7 zsS$DrkY^W1R8I^oh$|C*<3N|cT(Hp7bv{KFr_MWQScb@&HyHi)of0{j}!)39sK3>S@3Axa!=&#Eg)q6Uo`{F2C;9HPg zj%8Abh1Dm*gZ>qwlBTf3geFP)M&r#;KFe6y2^)+fZ*o8NTlK>(?F#{}@g1ZZyRpuJ zN$X63Cqi;Wsb2PwO*&)`1E9w9584IP<`d^m?ma^Kg?S>m+2SahS4Tlb+)?(&0dAxM zwf4)L1eU6TpF8`8b|k3884qF*hbT=fiVq4 zsHsQv7yP6hM42X;MIl{F5yf52XhK?=!Q%U8)I-BI_4&iLAL^cg85Q`6&Fc;08`!OI z82h{qw$zz?$D!n%_s!3jX2;dH^*wBPjX9G0&o-8;bW}8)#iKmHS=dgRq!bzyQflI< zypvm9t8^CcRxV|mXGaWtUz{s-t;D!wnIG`PMOmUiDx^`nbC&yqt{zRxvS>nu2qz>a z|1`=IzxJVnbat!S&f%6FVi2+JB>lyh!==s^SXePMLtZ>e7}Od7X-(o7 zq*rr0tsO(ZJOYjaY&3PJfRn3mNDFh&{e>R~Ad(M|qI->ROZ&HJEq)~aPp^ka&Euc_ zZ|2M`j<=~qOhI2Wb*G%i?VLmJ?w7yEYuG^>u+ z-S$$3`{vA*!y2^hD}C>k48$X?%ii>3{46r-&&`b978)Hcma+e&mQs>}Nk!zES_|n( zkH(ruzr9UPV=)ts{Ztu^v*;e_GO-D%e$q0`>+DMD<@3I_R??+;snXe&xRZ7me#Go3 z<%#wrQS#VGKgRRd0);b(6Ao6@q3t!432&L>RglA(#8NYkc&VdYvIW;PJ!=4gAQr|d83F=IK)bK@2{rVDqLV`)P z@=~Q_@=k`Vk+l-vyK{=17A@9BDwRT)@Xevu%ZHu?Te~}`yu{*lFpF6>ta*HVa5O}rQ7U5`)jtJsl&!J3^n3{ zZTFlstpOAX_?(^a=oOLEqjmG#D>}TCyj5efpB!AgMT7@ico+IP*MrHnTG2x@b5|Pf z44**rnre7k_q4d2_8w)B=FU|*Xxdo4z9$4T%0!;Wzqg~CoOqe%3v;k6xs-~eUXq!Zxf-uVT)f(#T_rx~A)n=E<@)@$o(dznfk5O%LANML> z+wrN9?{mUG%ZWx=wTvj#F)R4b<8?fuS8)=j^wB&` z2Ip0G8@bGp@(bB5(Ek3_p;Sq-RW-NIp1UH>-PabtXSh9NYI1EvO0J&IgZqnNtTILo zq^0eu_u*%rvI7r9j?h>Zp_7s%55}`XXB5ti%4AJ3+ki9ue42)*Y7zMZfcjoGeYSm< zYExVa$AQ#IycQVoh~F}i#c3gj9lZxj2y?~v?|=E;iA{~*r}6Ka(*(C4P~iC1iy)8v zE6Ewu9yKX_HdNf4uV3-%_kmznBDnX(GZUqFK9gl{XAL8MM)DtP3{gLEJ~RzMR~gS}*(DWr2;nXq@;w^gn|zR*Cv*o^!wm-6lGc&@MnS~J!^ zs^|J^GU{5_@Vh{(S0lcQUQfe)`BH5Yx;(kvBM}-#F*gU)2)6yQ#%rPOrfs4e$8gs$ zP>+d-w*|FvAcl5vk*$e}>X|>Rprh;?XEHi~UkeY2&uTl;L<=D8S*#oTFU~5gSpeDz zr{O4F@3})OjuuGH7xwcPwMl1cEcvIaQR6qNdYoELXObIDs&#JJyie z-7S+nCSy1}3Lp0RQ+&`Tv( zJD@ox`3xYUitQRRuUs$2Vji7&Ijj^^e& zI;8TlL}s}Z3jo4)Qmnhs)ipPnyG(c(urmhB~%9eGtS7Ww2#?EI>j44>6?FREMYz@kDh6V+{GA0Fh_(_E1B0y4JFhOdP<~e2%Z!9R- z6#thr6!m0ZSF@ALnYIyyb*w6aE{g5+yD$G}?1tS!mULw%3F9W~?xF*AMkjWT^}e8l z;TB3g)-=$ug$Z~APJt)Cn#QqvaaCK7Nixd}aOj7)#_p6z#hjQ2j>y=K9>r3MMPX8` zKNK|R>lUeeE1xW|j;sj?dtJq1W6npP5V<1U#OjB|S{hHr^JO%8yHnG4Z;^u-<67ez zKZ9($9G<2{Db;>m1~)n;WW((~6gSUCH+hMWfF7pHjVF?|;0Xc1tVikX?lT(M2$}AC z#xfgjKXh}mYHM2kYjgqo{JaY}dpswDY zIe+=mCz?KVW&NF@*x1C08j!!#5TAeARr%&oYlx4jQbsuu<3=V?HwdNORqg_fGNG%M z(b7G;TFH;Il~Z((5#H6Wy1F&IiEVYyNHx+jq2f{otlBy}vGD8?ji&efa0wkNpzKX6 zt)Gk}FY+21p@$1jqI?VZKsN6DAz&mrsD_Q6QwHN-w!}1?8HARGZ(a7^DNc0US# z0pVMn%B#vQa`Ltn=&~JZ*tXLDwf3VTWV?>?u<`qS0Hn;^b;eV|7j3}_jRzcD-!7(D zlIjYgzHLCdb9xB(k+X=yrh{sJ)9u_76F!fp=5^5EIxMou;Mj1H+VbZYeVwLKRU&x* z>0PB3&Fm!&-zUh>6FM>$@2c&{p?<_-^P%FD0aU$`okq7sSj;`PyP@`9#kGPny-epD z?>DkZzWdUmr}b-uD0kE+kTlyCh$nd&PucV-8{IYK<(JlHnJ=-)>9Kf8nw4(9QC{C# zv&7(KjG$^@og2X*mmA5wD@=w`fMX;NV710tNsuYgu6y&iHz?tiN4gSE7iF=r@(V0x zC+9A_tp3U2*BwwhQf15v=qpv|y^}b^x^}RXd1UOqgnj zZ&O0LP@o$e{*>&l0(MnLkO<~5-eEh2r5N`NuST%MS!8aRIO+~=Va_XZl8fdxog>LC z!aDDVl%Af032rr5s-gSMEsB3$>MJ6~bXN30p175|i3(Y(r)FJ$h0qpJcAD_z4n%|* zkb5<90l2Kg>uJPcvde%}neXi^(X)Qa8NP1RSAC$;!6V6{=_(`FzN_={ykHux%E=nY z*O4`YlO-{@W*z^9d62yrfDaHrUVTkb?~pfa_ktz29Uew9Q=tn1sX7X?2#n)M(Xg5< z@ZU1TJ}_ifb$+5m??4j1nQ^XW-2Ux4#5{*!+7wh@P4qsQBn9#7!=LoY z6+WBQWiejsn{ZXK#FrT5mg*|KD=HW%CAJBHbcZE|n#H%*W-b$&khq_hH^ zvQw;0aH=Cd7rSqlfq4hrvm~LmDkhf1!mZ>8mi#PPfv<9UH=VD#h58wvq|kg!#)9LT zWGvEia%T;9P3=&BE1-BP(my6K*1!Ka5Ru;AbewTL4%dcy2CF)h_*|j^RGqaNzBW! zZVeFL!>f-#S_7N=h0B>ne2Ld8^@~glrH9J+FBuw2D|o+A%^4L%F?iBIw1rf@7HAqa zbV2E_ivP5NHQsY2L3TvEptRs_z`Xbh>?<~n!Hfj@V?d#>g8&Kzr8YtWHF%ji&fso4 z1yCO`|H;Z41mtCW)c_!keD!?*$4(u-;G5aU0-A5fZ#)d(c~)U0N~X3`D)*BvuQx!+v!&`18sR z9;9VxzlTwlQ}(GOjLN{}Jrh|BmqJ%{(T^4x}&{&TDXG>!u;AIvr z1p)7>cECO-Wy>!Pwo>pGMj3qozUjdq2UrY1hzOUNFpB61QabF+|GdI@MP=H9sHD*~ z0iYj&!Z>LHS_=c%HDfEl>z9Ji96-@^r3kSGTE+A1s4uv*Kd)@X#lu$a=AwuLg8Sf@ zJqO~zj^r0Jy4rOZpt;}%X-@&pg|i1vv!O-(IFQBlpDk5rgO{oM4%7$O5c2>;LLO&B z4Z_k@i!)I1X|VmP3um)VbZTuuOnLI@x51= za*7d@Je**dV|MZZ< zyAS{PZrFUF*$#ZY&Sia2t$pVsFjAscfKk36Fi7UU6F%Q$r z021_L+OH;x8=$Ut2UuS#3MmThtZPhfwop%wa6R~sH(53S_*diUm%kbi_YOObyUa-E zsrt+8S|ScFyFR`7JhxlW&tHM-+;H;3*oc%Z!8+!I+VP3REx~KWmvYIY&kXAeO>;do zRUhAaJ1McP)a4dPGg9et!wlkGS6`5AyR2gbREK?~-&Y#ybC{aw1sgioW>tcF6@aAy z#c&=dhLbw`is3g_+CQ$`gOk4l$&j`$89aex$PlsJ=?9wO+KmEQD9{YxHWLE}njv8x zXog4on&Ef!)}NMa8}~_IJq$sm_TNZg`d>bWq@U_0Fc0dXoyY&qTzQC z*dLa5T7ha11*&0kUo`+G8Bh&e{E`geKQFy5Tp79Z;5%5&O#0 z04U4f7eHHl4BW4ySXnc!Fym2bYY zrHxFaUQGL(S*7w^ba)|cF`#^}&iB3Q>M;800@|X)@U1?3w5W4$aBfbrJJ%;^)pY-Y zX~{pM&01)`rQlBd_qOl19;tjEb9_$nxf*2Idw8U36sH)sq@RCS8vnfJ4Lhh`{OzZq z;)?j!`n@aUs?=y@t+OX8Dqh6e{KS3z%Be^;X=j&l+q#Xh*^LPhvKnq`e_K;S`b(Q> zNJj46%3C*bZmGBC+^G@PQ@)h=yDIsQ+w8ypZzt}_{;szmU(i68q{BX`w$}&jO*b%J z$8|K*)hk3cM;X_-EcO+_N=OA|)~7LV_9x#gBf zPU=hdnyjSzuSA6%+bhqM9*VyAzS6!sPbSc@x5VgiidLX)#Q-iZv)08n1TYf_TOQmgdQc zsScKtmjjEUVh%*45To4{PIWbj&1$1LG|sj0Yug-Utr|$bomT8k?;#}gYOBR0I~u(V zj*T8_Z{?2e88Q6s^o=O1Q*BnbJs$(}+DvmfPcf|lb~%94k5B-%9V8x!BAUg{ zDN}hPLloDIrMBe#cD)D=`bl>SeNdAEA=Pkl!L9bFbsmeJ(6CQ`TRZ&@4DY%xLb?Sp z)6i(taUF4_W$UoH*vL(W5DmqK{vkc)9zs(}Eul=`|5AliQ!n_98uCBGYD|O@?hE$t0M2V2Di+564V$3; zSU13j^4)@Bn;?e_3cc`4aKMrF=+Ctib*oFc2B%{+D)>KfH0fQhOoDMRj?-_@&R>YZ z5(c8%IdyoP$Yo+V&JA6tgEVx^&cc2lqN)J#1D zw=(a!{*g+)-BC*NZm%l$%PGb=pf--P*f(pFWo>U*y`JfYIxhE7s~H0ycYYi=cd{j- zWJ9=Y@7A~R(WbeF+cUWXS7!6Q^zI1#OYt~ITle<9z+KL`IG4-M;>s(#ddo2?G1k`> z4uC&rnGUtx*en118BNoRcsw(6HOgUdLaxT}Ozg?4hmYJjb@r#^MGdhqwNF7@OJB5! znugd?w{N%oQOEBq+?!D}%^CP2EfZ+AYkcT)A=lDWBdALoz7b0wt^a1|I~UJTLoK`pX|b9S@_nR$N!Ye2 zRr?`bI@Y)nLYgPEvaJ?plR~O%E}|9&j*xlQg>{5Q;~K_8r^8qmyHDELUD4)|EFgd} zZHhjYCWk?41h6pP!t1b!{0!hs^M*0Con0IEct+e+GWJ*RXww?0a>}BJatdQ(>4u@F zb(kgOWv#Or?3=G=5eBp!k+Th?-F_W_Ssb;m!!rjnh#qrOgZ-5e#-L{l7a@PywSMpz z{~0ydkDBZ}#(3{dk-M$Y4)rF`mZi&Cc5R$|_*6SetUbv6BWl~Iv!s9Nyrkjdvuw;s5s*JpwLZVbqJo&xkg{pFi&Fv<%WnKf~Y*XWL%?`hLDi(}cu%|rl|!ObVb z>cE3kv(iWd96k(I+L2uuf(LbxaHpUKo?4+JPGhmJp&I$Y_!uHIU1B?~Z~?{Soi9cy zpQIn8N~XxuujOpgMZ=U)IC=U0FL$n2YP*KguH0o=95bs6m1(-5-L4UY>5I$W zW|OE0>dQenWX_(Dmnm;Mjn79n*{FfT&?|D@O?^=>OT`kGJY}+18~O5k=n!y8i5P&^e3?Wd05opBj0A&3 z3^N4AHbZNviam;PZOoJcd^BYoe;-1C9!C**Xv`SeFg{-@jUek6d=GiP*lr${jOx_a zf%)_W@7@C;6z#jN?Hf@f_{oS5J9}~KzfuVPI@+|N`E9dCNsNkTl>=DBfMEmokdJ-jm&01O?tvK9JaT2CpRcP|}vT^?nz2ig+Eyoi(dMOfOs?}YXT z*L;2)5JAEvHz34H*+sS|p?NZ>n0yHBZWa9iEpD%@uoD*D{gm3%BXV;1h4CYW(^5oODOemd z4vg_D!+xIf8AEa|Kv|JG!-{J2Q4Fb3UicV#^z=xMSB-Ii*U4f_&P=NqemCH3kz+g0 z%>?s%;u^%~%Qy2zrdU%lKDc-Bk*DU3JfvzVam6ci%uI76h(M%Czx~kZnO%88Uel2? z8b4}ebvE?XnnuY}PirE-e)8!jBk#Uc+^0-DaZ|EZPV_rxRW_6g<#qv&cU`rUaD&Q#DAv;-z)7QPDfcHidt(XcSv? z(qoK;EJTQl%I&x4>t4;hojYADlkuv~9ezaMNrkCMvG0q$H2y^m+rtkmg5q`~v|`N? z-^n&w7WXCWY+Svdt-zz9Ee?5c3wR^>Up4Pf)VTFCEdZDPL0WJpj34FE9;H4nw5e@Q zg*(z7Eus$1MvO%8Q6lL^v>2w8h*N9Ol<7#*tZa^XIrlX2y9x z5V88RHcQb8j3>m|Pmi(@4L0;)HOR3Qhh{`gmtqM`@k*5Lu-fUj2AndDC$i7()Ve0U zuTJkamU&iM<|=ias?BlYmg9i*VEJpZ1}MR3X5O_X^l9CV5z6Pgd9_SeSeL6DKRKZO z9P{-27lFaU;>$P*LYB(h&USoNF72uvfGQ z;ORq)B_1t6Pjow+`U z7(&W89gjI4cr8YHSL|_aQ){}_tf6MF*_3rqsPFAB!`71GMtL$$84I@L<@M1Y2gEEp zQQwt*93b0cZCBfPe;oJ)uoA$hi8Nrm{IvXWP9F7EGZIY9&Ve$_H5JkA!`pXqtoMEf z)w`mgigX#Z@%8K`?g`ObGz?bO<6`H`^TUsRIUpiC0Sq7Pw3?1)_`2DyDqWKX23d~7 z7F^nQ)sg(Pg8QUnp>Qq)sx$vIEr#mC(rQU!A_T+-(*#XNTP~6uQ)KN@oev6!pxAvy zphMpdzVx07xtqm|x<;^!xj9yMygIpblteEZjUEbF(}u-`1Zmu}e%xGk9FeG6{R%BE z)x!~mA2+lrG&QF`W3ea^sd*{TyDOzg|ZEfwZe-kFeUfP@K0C(NLhSLl5`;Vx>%Yov-<*lQEXuE9hVoAFawxwp{WG5c8Te^!}5ts>qt zr1zew!ukE0;T!UlUXbZ!Ymv3>2;p26*i5P22msc#x$vHwJGQYc#>MvJDVG<$r#-`i zOYLS`ERzy$Cch$33^tarG|8@fKB{RMWv$~CQj2mUhw+Ffiip_C3-97RH+HsPSuePZ z+;)02G`ugxf*Pboo}SS|<4?0sPM7O@JX;DT+kJ{2AX{~Py)I%6pK#sF<63mES}J$( z%_(0z!sb19i!n9-WfNXb?44jrCIYxy?$gA6O1oXxuF-~RB*p|Be5^wuKl`CwjxN6%h$zF?9nfm zFJH5tjkmsL%zjXf?hB@|Z-5{0`ZnDuy9;bX)OrEQ=QPdoM79Hz(4KTpc-TO(Yt`K| z>Ker>O6?e*GEz$)5>T~P|5>mnS?txThX^?{SW>$%wI&%g8o^!}g&Y0Yk4T#O^hC$r zp+rbFk}*W+@odc(c@ap-aLCl6HLHnIRQAs7W&b#!57HpgpjRpy;=j%?jWr(b94Mu> zbAv&b4I)2+NYbxMpWN4XFll+3d#CbR?EuDM` zdGe}*4MvfEdfuZMs0yjn*Js`e$`+S5Yq9^b(xLqNbvnNtyYDe{AgO4}(aENQD!Z|lB0!R7Q=sIXsGPJN|lg4n2#@~L`bGLe`Ct2H(1mz~{oFAu~ljMVY1lryNky0GH z9l9IJ$Pu!m+9qMhsl564Iw*(B%m8L?twHN?TVW7pX3n_O1lb=ZjyLVrHFh2kZRhg4 z*OSmDCzX_&txvf!$9vud`S}pM8%!`{RI` zrymGymq9$Urp~<~nI)juwJ%m7En-;$5~kiaEGlx4r?6dq;r_P9XonT0Pl3=Qh|@EX6Z$-j5F!^GDSwx;+Dc1);(5+@{-AArg>Mb z+T<>;;zDyj@zve3xFz3f(&@T*bh6_ZH?PZ!JNinhQ{1`*fd#(5uqsLjXV=AjPn0Ws}NM-+Cj=XB4 zUh2}WV&>y#`KR{EVLqFn?u2UxXH5(ME`22h(5%MmbFy(DvPegfesK&%v?rhAaJ=Y_ z0^Pn{<1Td=CDvt9*UN{sWIPU5$+xl6p;XTpYF(`t zH9LuJ7omW{1qsq@h+EJj^+~XpHhBabcLz#|_p@|b%dyMGsr!||o!An`Pr~IynsANe(zRnA(-7m(1i5>1`&6b6x_IF^4 z9m9Rni^{)Nz-nWBCyt}6x_UUZtp#djY)jUQPne!jL$TqPtph*w5l@I5^*a*VbKNi8 z&P_&c;9we|C4^$1qMopAS*Xji7?0PMJDXWHUUI3W{C&M3t3_67`)&Xti7*GFd{3sk zQh2w0sPH)YX$r;+G$e zni`*<#z>>H=Dc*5QGzgVV&_46QQD*1L@q9*0dC*1HXeki^%znQy!Kcq6H>j57LM~F z6|g%_+OO%zj#eS{NDv-cLs!I^*5PlnFcW8kE*HsBfj-mP)IJkq4S^fkGWOgu!MI*K z`umo%TWfA);+k#IiaT`_%-rGZ)^DDUi^>a4CJb;KGtWGsj4@_0C(cktN`%X)M;sm! z^!e{tUn)Uf5aK?eCv+h+zVFKpe*{D(_3%NhCpn3HcRgqt#1a{5m)nIrq?5Y~%)Shj zvw{tz{7XKK6TAC{6Q512u(odDYqeRttU~4W-riwN8ynuA*f0LX9%yi;?e^ZwtrW>? zH1krtYq`&OjRNLH@1TRrw9_xu73;D3S3K?<;~zABRI5@dDR+>9h~kXPH-4tim&lp% zim#5ZyHZnqw`@J*8A@~o;m48~dpF$(ar3gMP|u-H(&lB{f;Q;z2CnRPjBL~&rC`th zB?TS-OGk=ydY=%7q3V#>SzMaj>)tgXb3K9VbVIS*92{IcVQ$=3C%X=quuj_+In?j4 zDP_DU=4&!C(N{{mW%2lqp*Y5WC4ID&wm5|xklqcs%x-mWg(zE{g_2=-&0_fq4`g)AMkl3s)_%0C8m4gPN^;C`ED z20GAm@dS@3hc#a2-A3k8*&EAPD2Ihk53lS>TS>gtn$ewLJ5+^b9Mu`P5@6m2gRS?) zB2t}99((X{CoVFMS!=A}mrV=6Y~{00e7*xpM6!akRcYfhi7a*5!r0�MZPsfeVC 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


G^DE`tb1W^hX5Wp}(+){qR&tp(J@u-I zn%cd!WCZWwLt>+UzMlB)UtP){h(0~99jFP5#P(lf-e&bC1Y)SGVd!9PkdRaWe5#te z2&O~YGy#Qye!h?fV9OUQpyF)VUuOHVv$0|uh}2RzC;Z+c@B}e2EIIC>U}XbG2ZI-0u@~uMW!RIMIzFDL z>i&K zi8G9`i5g4mte;%!CB#9owheOb2~;!3JvccBh16#J;p>P4+|!RhYTtAa9U_T2vC#Ke znZ!QKOlQ@y*ha3N43*T{GRY5@eR*~JU8okAV|A%LZ*#}5xGI&{E&J*lE%`M% zR}JFulEJo89$HT2Usjlz`(LB`r(GyoPGtG9Vqez^zvbZ?bwZNcYh)whOAbKXAMm*bS$*xssix5lv_MJ2=T zq0^NW6ZfZmJbmo;z6rl|-bYyaPM(b4lJld#7{(`3%toF`NTZAzHkMx*%l1^7>iE4+ zgczz0HRuZE&nyn^3byrE=Vce1mz|fYs^&_xzTpk8r3vy;G8&&l#*hphYf|dYNZ1S} z#kr_$#QcBRt-lAPE}CLDC!9->TECvakKsCyG`ouid*PJ%00i4w&||zDUW*dS&}1JQ z3qeao8Xk5k*ALZzNKt`-*fsZsbjC#s>fJ5GWW&?k(7B(pU%OhQ(KT5J()4(y-1kb^ zo+OVmn;|q)K2)sMjkfrWdmOSVX?VyY#s{p<90Xs)a^~kJ>7CZ>paiaG#bpao5=*J* z(Q>;rBQxZt{lU=5Qi}#oUTOU%O}OKNJU?X(AbSIH*0jma}b3=q4%A=E`P8 zqU|%jbLDu&I`|uU44PmlK@6C=$8nt5X3ZuvV-;5mPh^%OGd}~@>#FSk0-S;!mz%8T zpEsv|4VRmqcW%b1>2C%`=G!H`oNqeUaR_cudZ-keR!xh{C^azjP?a-@yZ1R08(L%& zz+Vk9snm2@$PEbh66TNe`W-WoXX`&Wuj6%HO;~c?Cs`~@UOI!4N)_!i;dA& zpI?bVNhv2VQJv-|R6mS`xX@Ahj0>Ch!u1&rE*j{1rEsG%t1h_?O0`L$lx7rNI=NK! znV3=8M*9J>YrW!(k&9gGX3V_c(Ul9uxy#i*epYRV#9aQqjdAgXkF;~gdH0EP)yO8| zmvoNj<`if6qGSgNNExe;|}wbmla?4OmlN#l?} z*N>n(ZBAPn9((ZS#F5&SYnGBVR*v^4KE6wnYIxXbo*<5@FsL5Oi!+TlN=~n_=@*pJ zjHXab+iVpRGyLTT9T`q(>EZo9s%Zu5cS%4jf_pIgLBdLJnfMZ zkR4P9ZiBb3D;K=Z=fA{lu?y~)$HbDYx*vv1yxgw$!BL6v1z2B3>6uR`V0&|*3^sDTqTBb4N8nU|jr%At$H94n624G4}tSu}A@$2XDH ztN(dFH$Y1LmEOuen)(hbJOb2)NL3JVWX~2D0F<+h`$)35XWw>U^Vx~D_!yvuMWjQN zS}1O?=A7v*mFR37r83*2LwWX=Z_Q1gbSqJUchBHnF!+d;_AY5xIj_mB>&6Z5JFd(Z z1mbE7PEyJGID2KPy6uG@clqTKa6 zFW^OUb$4GkUL`vTKj?9A*FGOITzU6N1NhKnq|TJJIzp9;UewIWJU9MnGvWcyi`q8} zsv^0E-f#W^b?SOt4jY>QmC9p9@X-Js)0cM3{)~5$B(IvfsXS1j?DT<78bEBl8--3>O9S`f3-tZ-{TOU#O#< ziestL6JtT4k%W-qMnmVd6^NDI;KFJBvc7$ls|GbXhX1D2fL8<6E#71!(kzs4@-6@& zyXNw&a5PDDm0G;o!q(yfr;LshV0<15Y!+k?jBo-jVRnJQ_>W2bvyW~3o{dh~L{xcoG+7IjSWBlcT>E^N#xqtI zo>$F9{>U2xp0`~D9)PTsCj~mz34Ol$hbBKzg;%3rs9DyT$!MQ{G=b3X;l=LuFnL|7 zCAd*+1z(j6I5f6=D@ZW)aYggB@{`^kw2$pvh`Jqrh1h)sstJV%@tT2D_N)M5NDhL& zg}C;BPa58-ma7i-vFr?bN>AkUXx#Fz9AK9mu@}V^F=q};{3x<>a%>pg*fYX)i>Y4D znepfXl2m`(x>7ytmuAM%x!Bo_|}Kzxq5aPlL5e7uPh> zbg0vmu0v-xSP`Rs) zlv*tZvIDacW3X*RVLE>-sVr~(8bAnw{GyY{xw_d#H?HIk?01gn*4nH2&WpJI?q|Tfmi!!-OlroSG-x-3+NYxRO!MmMxpwYF`b=>?OYwuXu*&hjZ9y%H_PR+ zwqrugM(|AO5$DHa-j^M!${nMfD;}*{9OAM8$t} zsz#)1&4t;X7w9#M8UONuc)-!~=H>bxPrE1u*U=5X9oW0zfEW(3t-NHu@kXGFD`u4W z*+fC4$vkjh#{2-H&i5L~yVfcDe2kouXLdg=6XV5w7qs!ZEmOpJy(U0LTQ}gLV^&W0 zoc{CKwGXPtYXgEd@Mtp-V|1iab|Pbr^mVa+yAL~9u;vZv*BEl_THU@F0Zp4uPm}IU&kpUj_EmW!KbqDXgzpB zqNZOpGt=xrhVH?GC114B#uB!IiH~bZG^~VAo{UcMqI`1;^6@l3f*3ptn%(3JMr|MG zdU1@qnFaG(eRdJuaWiEsk`!1lXH8!hSoIMYF+Wp2Ge8cN^RhS$6>jRWsNAE7sn&nm z?U^PeX>WWHTPXJ@hZIy9yFE-~`bPd>c?$T*6iWHajxdJ9ahSJxZ6OzWRW{}t zY)byM^kvEK>Vsm11zTw=T-@7{XwCZbXN^O@jniqfBRQC=F|w@5^H-{sP(rvulS=_> zAUj;hOXLgk88iXNNMKV-PjZZt31Zw^BX#S1I2afq_`wJ7&KWE_)w%GdRB5C`iv00o z?;$d|&-YqPnB@-4qZz2r<7Y&0t-}kGOSimD(>>6~v#<|n)$@%eA?_beh!HlmBoe5} zJ@XoVz?jDOacWYjgnR;{_N>fcT3H%>JnBM?fG%EutLa-ae+{YzD^`;0ymCTKO7s|b z1&xrn+dV;NYuV?Q2m!q;eG@mU+A;^Wx=XoC`#&R*E;T>_Ul8)y1w{CC5>!Q&P2UUy z73YSg&veto7lFRJ9o|n6=`*{5L#dBKe%U8Ij-PkiR-(*hr_l}s#IKyZF@f_PztTKj z;&Sik_jtxf!(+Hw7ZD#dIP_;aGD4CZlULo|tg9Q5CU^y{$&@~HMkB66SAH6$Db#f& zQ*~^`Qm?d2Pc*qMi9T5;&>+U*6%desWC7m&)PU@ zzuzaO7(oBpWSp*NbW`F6(8@S?v`e)CNa}vpG5le=wpF@enU8NYRHjQlA9V41j_DM! zQq8))zM=U5uZv9{h?MfziuyL(-}u1GYkhBs%cHgT!EtcmyIHsFlRj$H|D)z^T@pFZ zu&c%VtVozhdy9(vx9_7&_GRD7bue*5D;3Hh9qbU_ws?p4 z0@SiCWR`wmQ)7^O@K=GYJ6x#T>;UNL@FMKQJYz;Yp&KbqI5HJ7ZIx7QL3)C_^Hr~T zd*JvwW;k}LLoUOBboOFn#9nQtp{DI#k@Hvc^pAP{SYij+jaOQ|NDoh}8O^lu?W~Sx zRLkU@9>aNARxa8~Cnsx`3dNL(xL};9RvGJpZk1@1QNZa}>J!nPDXp1mrf)Mb$LnOQ zTGWv5Fc5+Sx$}P^NE|1=kTQqP7c60|3*x<-z;!^F)!Et$mjRnR-s0sWfE>rSx^-Q0 zAFYE}b#Z-t)7cpjMt2asNO(%?xcT04kN?KqcfK{5Mc-ORks9fpj3OPRS0Nc?009A| zH;I6BX(AFaBr3g+N>LCP#1MLKQW8i4jCAQmfg}RbBoT?P5Hk0j-@X6A{dDh_Jb=&h znw;!&&faUUwKhld?6obPHl|I*{;I6%l=|TM`&eX6m+FX!Lw5hfNSKaaS(Q>4{X~(~gl}hgGZdCI)ed)o&b}n*MQ`bX~MBO(9o)Z2eXQ=BnjwKLf|B znvccm`_%zOC``NGC6I(G`*pRMMT3=*Y060VQfh&E+4*wlvdpo9TO(zacki4Y^gexm@&mBPTiY zCem_upmY3Mk<_1?O2kCh9y!~VQr!UL*U^pmetYcyzD^n)%9Mxak77fklqQ^{{Jca$ zR^H*Du|`K93A>?aXYlgV1Odu`3zbC|ubt_O3`9yA72_MUwo}A3m zu5lyLN&riXq;ET6#tJmJG=RDFjL|JuTT>ZcS6FQt&i}qGHS9vbLBP`ihrU}Q0m&5& z1{r4eb%q3^n;TjK(pr{$iF5s5>K3I&hTQ|)z}wqKmw-=->h z2U+3eTUAZY-QSX^f3yGGG1Hu`y)O^wk)G~noQ~w%WN82jReUX!7fv<4Py14wIORrY>d9K)% zUB$5`9H&{WwXCJGlRQE(4U$=Y?WeD9iM1`Hhe%vhc2IX?{_`><4yxw5OBOjq~1pO&y1Ij(t@ zo~(F0PSsqJGaj2wcE-`|`)0`$jR%c_JtfV>D$)sMA}>(~o16ZNM^yxQyb-3)m*8)= z@DuFN*ddbH+I027I6F5m^~y0@eS|*q3GgLBA$t$Txzw{;p-G4SSuoYnDwf^Huon5Y z4xsdJ7!G7@#pP#_H5RscgTrN(hfGXovk;jj=hsn6QYMy>GBy_cDWh5m`LlG#h?2z> z*GhN&wOiQZ#KQeWyJKQc{m}akkt>{+p~Oh{dJa;@mawMljm5pKT>6iOSE_MVEo)%` zVt4kX_%5`cIqJ624{6KaRudkG{{L0{kF4uCy2etbAF$thN7W#coxp0yDAH(Vo7@K?hEl&X?Q?3dzk=<*C=1PW^^6N!v$_jQrZ`JSB*?k&+ zO>FN8|7>{;)e7UhZ#DY8>#>vXVo07#C%*EnDPLWCfw4sN=uH23^1-&61oGg|V(VM) zfV6#^c+%mIkG0(;iz16MxQb6fJQEgG{da#l4{NmAhd7CMf-e$j=PNcp)C$cQ<*cuQ z+M>U5-}{No?0$$dsgZWa{P$?w9TP zpE#@RS!E*ZMHcAYwR_jTOXJ`WOFQdJ8e%Nt_!{>JnWabAHJ|s@~KUr&1C)_W0)XyRRqvGGEGA2I14F9t=^y>?cwqBKNx_&n60z>607(peyi=SjJ zOu$=pi^O%UUDbbYE4)c(suN1AcLd1bIAT7oZqQtlfPwEp~(zkc3@y9{MR=Sb=Hr9zVrIns4P!v|mjO>KCFc{27k?=>2U zar^V9`M&TPyI{HIsRQlEAdQz6o$s@qlhl>hA1m(GsjcTapl5}Z?T^=tbT62MFw4lL~g;P zs2qn|u4#NW$}PXTs`k~PEN=iqAMyynh;DVh5p^;0$JQOEgGQR^EWfybzXL~41>-Ny z?4ZQ|-u@X2P1f0X|4fB&ep_Sy>x8v(za0IgvYhSZu!0=V$@mDHD6GA$&{Ec>Z4i-f zHs@tV*p%7*@jR`yeAV?$qGx@clYo6hdMj2}k@(O$F5;VROz2QJo_$1T{X64*a*IR-mG%!L5?4%m0(7xf#pC% zj;Eiv+2XC7+i(0t3WDBEImf;xMpmAi#wm^oW(08dRbGpDVV_Z^*oGCCe{;9cMrW!q zEbYa!v=d;wq@7@M!o$=!`kstW?*e7y>CC6A9jbUSlmS?Ur!0}Y&N9Zy zc6{hTBmE2*C(DE(-&xT1lnIBh{s8Ku-`U9*FV4OxnEBQtn(WtccV=1XaX4V)z|>@@ zC$J5X5awq(J~Q&sDkP09_7N|}vYoE=*%u@c1iK|eBf}{kpS|o$I$9a|PrVx_TQa+H z)lr<4gOSGe!4fDz_Dmm;p%+4W@co{i_Ldk+F37g2d=1nxcL&TmPG(x^2H&jZRMnHS zueA+Q;ERnc(p4Ym=*&`3q8h!QRp3;8$RT|7TC$OSnblk36v-&e9_yZ~{G%M3`uFy& zN-zWR%vIoAnneqMMO)Jq5Iw5`148cTNytp3^FPxFS-)ya?ELE%X&1X^L}~BP6<{$j?cJNxMem2r zdn9F3Pl9do6S6C7RQ$7cURtmNNcU}zyt$sGr8EVa*ycpu?;GNJgYFv1liZpShQ|?@ zsoy))6!u#TUY@ZH#>_vE8&>^o9c$zy9po({FD&gAXJZcJf>f?=?m%qNKo%3}sy0do`-`6Rx_k&l=5iv}bddQAW)5hM zsQcMHckLNdFseiatX>tI9qEjU;~Ym{TMc$6S{T!(kGb>jiBlM25$MKZHQZ~I-@hvf zIv25oWXa3Y4FCEXv#2uk1mZMW5U{p{LyXm^r~N8wc&Q;PoFMWT#i;KUE%bRN2~Ec9 zPIhmuP5a3H!UO$B5+R^KjU`T9kpeuZ#N5B@ZWovE0}sj%QHOLe3J|2VFvd2Q7uIF%h6f$yXYeQ~b5`M8Uv zpi~^ryZIB-Oh~CET|a{_st@5u1x$qxkuq8iN0X9qzh0a=Rh}r&aAgXLMbN`6c08zv z1z)Cg300qLB15|dWF9#n^Tw$eizYvKLn^15KCC=lf&6x$qEh>KfT5y+ z)LD@TV#eq(=VsfVLsA*C+I_y79a1tPj$5F+>iI^epjO3!=pq?UedF6$Wv?Ooik>x2 z$D1}bj;TzTD%&C#ui_;i{*fqv~3eu;6@UyUj%}ZeG#gq;&cphYMzy2`XFF~2m>e) zQo4B=N!x>XwHC_&4YK1j(Bi>wnR(q{DG|yV}wV&(! zP2rdEN6-S4 zIdYs%@X1cbaKo;kCnf5WKzpu&0*clc+N^$#IU5 zS!Rq)Ez;Vw*tNCRe3YftCa@gD0Nqb^hC!R@FThGKv^Ai21$6!cje(w(v8OR@|DMQ% z`-AxNCP*8iYW7Q()4JKI1Q9%JYnKvI2>5nPw;*^%DN5?nvfdS@ z7sFxgXD3N(u3OvifkB<22A1^eHCKs_A*XG|S#5YFY2h1$`<4Hz8e_#(74y0XAY3|F zNTabVokWXt5)QT}Q5u%jMeT%Nt^M%+i-OJfH^@@?&@2@vrRMH^Vs;GYUIZcO-MG`-%e3V&JM`!;%F|>%GJ7yp0r4oLmGmSus>ys6_ zB>}L9)1B)VU$VKLgBF!P*#a0K2$7Uc-(w2}u#`a`XW-gT68%1OHydyx&>IiJf$QK+ z%2gP{#IRI$Ip9mcQ4Gtfxzgg~be1)RApS+X@UShk5c$;O$}l}I8sC^Zo@V^#h;JIG z0(RlG0*rqu*Y1Qk<5Cdr%&-^Lrh;51-O=FxY;4oFkmSLhiXUotEvyI5mK59Z*e@rxk)28l|&;VNzc8X120Wnt)8UdZc>F$`taHi`_bSQ*51b%06 z=uezSrmRyhO`TufWZZrO6$9N%(pOSSAhgzO1$+FQ&iJ{ni{**sHqs+TV`ZiK34ZNI zkn~nj=;BY7pedVE_umtIJHYV~3I)QaiAUfYOlC_aQ(JN5J-`fv55QuE2nGk3wj(4^ z?hFhQ3fgz6VkE&ohpc0WAK7E4E$zfk5=Q=~^{f-}7Y$_Cb=n`>mW zpV7bP**Is&Iq>Gw8Vt{%P_nNbdLK(&Bj3U$^-fei?Iry~{bYi&fY1l|)?O{XUxr+y zs&?rRsf_2ydy`on9x3-f4GPDP%6VDksR-xV6P+Cy2C?&<9iJ3tX6~8mYaNcpuDl@7 z-R+jbnKv2vEKwJxIv{v-n{{IfC3*Banpp5BK?tU46HN)10uD(oz$i`aH{^yXy><`u z2t|hUA2Q3<-8bQ!HS+3Zt>uM5RmkEio2zbKN*M4c@f!zz5AQ8WhPUkPrXM+>7h(y0 zU=LJL0SxEhaVdC)PLV84f2Vb|nUWp<{5FtGc3;P00pIJ4xeTdaFtSCg3psd0(jE<-$W?_ok;E2Z1i?9MI{O19qa6A5i@298q?opk zl0)7pEr}F4g_poWYi?GbTYovMG+r$3r!>{~-48G-amOatlHHbXyL_)_^O_x3p(R~W ze;$LPgjLXh4Fdap5X?IhWqAHG&s;ps^kf+4xieE0($GS|G8Yjifi(8Y9}NHex5)hK znKiX+k?j|oMs>Nqn1BjovRg=(fxnhEyW=Z@ZW^BSUvFi#63zpfK_i;N$B)@`)`&A54#t()P6kd_BQWRJU%gsKcF&!ocUaA{>LndGEvZ2h zgFe+hA>P5%O$XN-M`vF71Xygb>@r6yfNs;|>dO~M3@-;B?rO3&)ARQ8wI9KE6mJ%g zoyrnM8(JD2T-9qCDO#U~|L0h{RhHK8=h%>&Yiuinzg(x!c@XWvpE-hW_G;gTg9XKa%oQN+=p1?h zZ3uWrW4sxHL}=5$CkE~K0hL>mZ(oEu*f1_Xr_Yh|7j1Fn79w{;Eo{1zRJH}u*1~G3 zp)W$`S3JGk7K8O-V$r1`;c?!WP?MsA+%No}7QNg)|2g5g_}OEmp0~e;e3?G}TLoiS zuqCXf<|=@f8>$X?Eq_I&)Lkgpr_2->vM2cjeI$P*I}bA&lY5K_+GSRc9(w5R&%A4OG^&#q$ywOnEE z{P+S1lqvQ(6AB@Hg&V$_&Ne*8Vpd;aKte`u{h|t+%Ys_6CTeW-_j_z)l~PHNMD+Xf+-?JBD%b`CPY8B%QZwlDy|sXfxm?5t7jHN zfG%2nDwu!R+5t)&yPyl$Z|jqId4wH?21zdA5$u;3PtLK9iGF-GkQnY_$N2>BlBH~>O8Hx zbeyHTtN)-@A)O2u`mziuQg3sOWwg^9JVRavNSS)5VLi^|533P3*fRdPUY!2I@5@ZN z5h~Q~IAhsr58)5)8qAIn=ZjpoSy$4EA!I(q(GaJ8N{5SJACgs={FSyfIp7;a+xA0W zpcraG?Xh9^ZbTJJk%l^P7QDN;!T3RL^P(W=usTbSW(B+izwoN#SAi!{UGx1Djkh2o zW=8u)y(r1}LL#+JU=RdE!EH6HLK!*Bp;@04c&Z1 zzIOrhb7nL>ioCXf+Xqk4-&7{?A|MSO^d(*WaxBOe92SG|pg*E@r+++WXj>9m(rx1@ z?fsb;W>2$>-qeBQ=I@PJv+BItD@zaOT$--ldtPNS+%I;YP_aU{AprUWB7$xQg2Ev9 z^s~>zf?3KC9Z)~T{#?Ra3ls7h^`_%&fgma&$xAq%^zR7~l%`34d1Dl9CFRgA-T3O| zmkhH4>1!BX0Atrat)u%M#A(~7Z8Edt5uCX<=`P6zB1wY$1unw|>B3%k>x_Po)qNyV zhv);`oxCFBpY?tmRZ?x1Ry9EhKm58bX5>VZco2N^4Lgyx&*PHr#vw90I617i8Uc4A zNAlfHKz16ahDkz6Dv;OSS{e5?sSKSpJLURU_I-2Dy6-f+N*#Dd#R91y@X}vGcgP0x z;C-><#F9k_=&N+~2ux}EG*JNztBu_f0hCCdh|x^ZMy8OPwe(s)*?z0wY+3E*tjPXt zP{gqkkFusnTe!EU6N~wP+yGv3`&8T(W_8vsby>fazCk1`aea2g(_7XYR*!NmL37MNtDEa&nu_;^RhxV} zyvWEfPWQF1(%M18qc+(E5d5Khy8CsaHXUmWllEzB7}>DfwogJ>FWf3}t*rM>DD@Ji zPhYTk02Z$xA#8A9Wodf=+K|r@_GNQg(Cm_S8R@Ipz1az%`X-VNrAlWf{y3+LNsR4T zZe_@>u9y8CxO^dv)>j}?ZreqLL+n6BHUt6$Glz(FJ9Z+Q1=&f)g@k5!7y`Ipi#@sq ztgKp)5uj1p9&i8#>^4Kc*KT31Z>4E4S#-48$N$V_@y9G>XMORk4cCnH#MFx?^}M45*WxEclT=w z>i8*Tb|yq0IWI@e>90PT3t>i%PRIa5fB9ljsPnss>35+C(baUA*^7<+VQs69d&62} z>U}qFl?hy~V~&>Foo3^+`sXSp$W#VmVg5Q*slq$R?-eUA39gK@G8hlA24#-Vz$>ZG z3w8A<5^$an%kqx)E>9aEaGZ7Ya0jr#v`vYb^uq zj)~l5Kstin{|PPH#R$*nzEbbHB?42NK$%5yb9-Q7z^A){PZz{XgRmw30?PTgwEH#) z4p2*WBahrrL6e}VV>Zl$Bk z8fdpC81X&lO(-zyj$s7D+C<9vBbJrL%lf9NvA>GXJ_!Eu3gygw(zu;lYPrbl^#u9; z$I7%sV{?xKB?`^GCU{&gy74^DK1cbN!4NWgx0|P_f~NE(C!&>-j(g*yF+a4`dQXqf z;Zd}^67|lO@1}L(;#i*OmQc_D(*4y32l6cjNH23>-|Rp7^WPKm`$urh)-K%)odkYB zd%~S@;1OcSmm&Bc=Q^<(#6LXPg1a#kHdxzpbF%$m-@HUI53z z@N(knZdDMUSsz?SD$9%|1Uq>xEp{mDY&+tZZZLh`#Nm#*#8~`To!?*HbXUduj`?lm zDQcGFNPu<0`JA97jwk)I8&#WA=;4LR&Q_&s7;;Sd4t(_;hVBlT$AJP$FsfO=Bk;9} zvC#)fUO9zQr`yzEK$=2&B{dy!23g$;Ds0_?=xivcS?-5j2HfZy7L(n))FP2z#xWJh zkUrQY09Osvsu~-HQ}!$ICA>2~4^N#w5aH|(>`$}sX4bzaz$`Rqm){I*-4x^#@T&Q1aIzTHMZL|p(#n>iVVIh z{Q1CR3w{d?lDFdM%|2_%+yI03lr`gWJN{hCXXPJXok%3%uaReXgkj?J4cUL_j*;_d zvEim0)%;KEjXtu+iFXW^^arCR$v(jj;E)oYe8I#)@9IjLAX(8IYwUz{BEg9(fW9cP z8JvpJ2G$m$Y%XsGj>-|=lD(Am9V5j0A0ON2tK%oOR`|SutC!m=zV60Q)gGJ9)m_4O z8R4txixBR4caP;QP|S?O0(skmUKggj5!L(wM-HMaeky3$-{-mk9yz7#F+@uYOGy!Z zAyDNl8Vu*=Qs5fOje^MBt?-b93kL`Ex0MK?pdg(CU0RPXp-76<-m3b# z8c@*hFkoI2f%K9as9_6~2!45EXo+1EeLHqYT0EIA{KA>ZsH9$mwcOGNDa(e6a9}x)^{X z(><1178BjF)ULR2#I#>~2vFiM5!&rbV^CKBOZg@wyls!A?;TXd!6rBUd9=su1fLm! zl4Zb|xs2r9kRu-S;))C$blMSTE8Y&CTM-UpbCK${WF#0S?4JAW?BAz#Jm4It8=%UY zz%@>dy8)}FhU&p3g7Ko$(HGm>&{C5dA^Dv(FEy(ZR%@ygLi{v_w(kPnW&sH0>f}dy zzSr7rzqk`IZ*a4R$B*Z-Yg0jM11Nf`s&E|9M8-ZSJ9iu-Iz>jt8sa4VyShTN}}GjT^zS(z{+ZY>i%W9Id#?DylwI+qS%gz z0p_IL1|)JteVRz{Bz@7rcbS*VZjCw7ku?Qwvs_{l2AI$i z8pAO05yeT=T6=?f!^!JHKmD%n6Q-kqJsy$LzwVak?xgv?tk-{`_->_lSyGYvDt9MHiL!KQ~AvYpL!^2i$H-t-X_aukXo?myN2_k=K# zC>9M#kr4++I9!~K{_N{Kd1u-ur0A5L7_i3{cx=ZX?0%mV{qT@C?0K@)kpFFVTmd zPp*$I)}Y6*E*&<+ArO;3416sm_28^PQ0&>~T&lw5rmq}(>0WNcXsuUk!rw>Cf@dPd z%{;FRHB0Df7}|0}o;-L-q=`UOABEln@AEW)!|r|KXhjNTS0SzTBe^5itzN>v`?jf6 z;if$zgT|e!KgfuWX}*@%N~HAc3rr=-9FpKxE=gc z@8R{lhs|38pRB`!tHZf3S)JE*0Z*RafWdwO-8Oqsh50*>4_0@4z$l}P8osN<@Sx!O zp;L8Dmp1Hc6<{dh~1#hmeDuN0d)vVDGq&fz5TeV+pWs13h1;(aMh>0eYsj!B3HHL zQcg3c_hv5H{ZOATW1rJM3TFRPBE~+2B>cCGpV89cD&QGw^y#tsAI=kBJ^EQa<4ebq}P-Rj?k;)%85SL8~KxXMw zD?eytj5l>3QM6N`a2y)B6L*dhAJsvNg89323BsusF1$yGd!@+v|9H>iCc#Q zP-^9BqpPa?DIH$}N7BZysC|;9eI8$?=ViD-4MSKHzNl5Rg}7y$v#<1+ps$f+Qw@$q`6C@6%zchIGb|A<|pVJ>AV{w>f&7 zmq$?gmD>fyIlEK>@A6WR#P((kO!K2EOqF%<{gfO+aN9^G`%#>f2sCmVK@SP&@2b^z z2d?~$>GLCm97C8!bGldBdXDq46D*rJN@cfxTvc0T^xvLx`Gd8hl+fv>8_u^LtM|bh z;#x(RHhj*fF6_IC`@0%9s}9}Yxm)R{qbU~LG-OaN)EsLV$MqM}PV>Twud|))32X(Vx}^jrRgzSY z{j7DV=Z~vYyPd*t5sQk2xcZ|Tn7&ipXBelM_m4C1zoGwGX^k1Qo5y$_C*4EKf^_tA zFclOmZ^Mh>50W{#@6$}D*%!BAnqBmjG?*|ljYck(W1LMs?ux=tKoYBqRo1raY^cLE zqX(U#<@pP59ELX;<&p-J4*&Od%osi}0X|u>Ha|a5D>Zl8JbmQ*AyO5!mXhRtcq9G;M=zRa&+wPHqI{jnE@$WU?+fGYcXi>RzS0L*K@E|*_VQH!L!Vztr zFvK};uYe@CBo&CuNePWUe*@!nJ7MQK^%L7vSOB;+z>m;}zy!jj(Vy^OZ}V9Qrq2>4e_fC?*v4lv8h1^(~!Q`sD^F{!VqvyU9PFOKOSve2kaqjEH2-aQaxCYqM{{j%<;OsuoE`yH22W}X?Vs~zb73KVIbPIK+l-FTX5;h=$ax`VUI<9_kL zPs+@Fa$v6C`(>%az95@-51cCk77FnhVBfwoc;yfTpp1^o!Bu+cfsLjBr0@gWfu;(6>ES=!2U3pWH&P5 zZI}Q+JBG=z2>XYyh&L}}fP?5>AB$_%Lws#n-bw!e@f--njq>-J273@7Bv}vEa7dVAf#9ULLR#>;XRhdFN#OxE`H*Y% z)1Tlia^p|>sG3sGiJi}x=%I+rAmSTvqy{MD>?LHboCXDw+;BimeJ3ZsAbFr<-htW6 z7*B%f1E)ATZo{c1JGd&AHegbTtQvHDHgkKumEMh4WN2@HeAF-34Qc1zdqoT37EZ| zCjCls>lY8xhPb;y&)b&>2e@THRmQ(MmMR-0JE+$`DVEeDPW8|B+KQ=%TT4r|6?;Il z`zV3b<{SHG$gUEv>ZArJ-;I7fl;usyf@%*n*JzIh(X?+A_b4}zy&E0BTC3qwaZVr0 zvPovQN>hl`%Bc|z1juTzDp~ZUZ0v@BwHuWEiO{mwyK8zB(+3y+uMc?$&FEHczSz23 zbcB4&yqbKIKF}P>lVDnp3?Vz`vnA$sd~?#{5I1_-vs@hAJPwlCoZw+{7R=V+U~KuJ zKNF^Q=3w0 zRgrZHTE*PZq-w8pYz|HPlWNmk>R@;14dVv(Z0$W8DJR#TkwT1DHT$HY;>jdT;_9zK z&a@FZn>(|9Pe@-DW~6jc4+S33-*nWN-H79n@wPsloCV#6E#d`ojRlhxC@w6?vT}eh z0Of?QRukGdh~wZ6;e!X-0V>X^w9i%>l)9IUx1mZ0{?o=DAywN=ac^xN_oGkb6Cc80 zj8Ayw28MHM2+fXDcawfxoE=lM;IU963T?!+5?GRj6Z^ft-u?BN=SKD2TutpU zkAc%`b3+N6w`!U)3VNI*kU?wK5cavxU|OVk+=&Us0E+P4#3Lp4XH0Xz zP9<> zjuA5vEs+BK&Q|Xkb}Z>Na3=sDOdCxJg%Dj9bCZ)$m?K+omIEle+BtY-T8VTYCKAr0 z+_0MxEgz*DH=}@Y5?W%K%j%R}#b)dSk6+){*h!e+l7*<%_T3`7Bo(r=a`XpCSrTQb z1JALSi)!Xo2gV(z!qo!Oj?5Se$+~8i@*lfxD5K8HQ!W#&uD3>OL2tbW`g+-sA#f51 zt*QtX+%;^I(P2b<2=-lbP_30a(|~5uZ)jQrmUB$ZmX9*D|_XTY}|0a>=i|`DKT*HXZ`8)B#zuJ;l^otE z`CO2A<^J!9(Uo0IM&bW($b7(?2t;E2_9Va`F2e8HEpSr_JL;wAA!m#TJa8oy&JSil zufpnd?0CE&VxF#F2~hTVWC>LdN8`S->*CBXIc`s6#ngBObG3aR_PJ;S>yRt~bUmn9 znUtRJ)ff^SP|e?sTE)!odA-M{-#mUDW_*RJ=0I}Kim&q0{f5Ja-24ia0qKMU*N$n0 zi;uS#*xZ8wF)^K6wClM`froX9{ZwSO$w>1Eulwt0)j9sW0b_X4V`G2I=YBa+8MX=< zeQQGZm))Pg`Cb!!k8sA&O3aA+xU!aK5i? zosdMI$8oR?udXcNw(bz;q%q<4b~e^H4t%1^aSr}JO}Q59B=}no1MFCex&sdMs(~>Y zWt_bI*_1?}x3ZLIp>S8m+4n)Tbjc+gPKipK4YW<+}UJTo9V~*yS17H_Ff(c^dl0H*mHe$7zl`ACYJ1%&g1V zx;cW)Dit3~&@jmOt}K=jej+lTgK=34c_UmPU|~5ZapaM+mQcg}QD8RDDZXFTWP@`! z87NK!VSSPis4^64K&FKiU&i~!0~~BV()16IL-iXbB7CQB76wQ0WLy4w!ZMjHe?P8- zyqGl#-}v{$jqsf#kHQ^~U&%Xv*+jC-^&{61eDKxTR9(0@OEH-_4lZ;7dJ5APzOzp^ zb(jKGQ65$e6xZxw>rT^?Sxz`7mW*oDpI(X)G62?z;3fb~bkv!G)A(g88Ha zZa#R?_!?ZjcjUX2!ud!A9)ICx{aioeDeeLXXZ_xdVs5sziqt^oQsowfoo$EA;QQrUw~DYI zoVh%wH->)szie*J40L*+^0BURs_N?u&dH$`5@cS6(}h{Je9qY%`_%gTqJ4Vg77DVu zCxOI)te?ib*VOE!&cSE*ST6MV-oq~hp&y{2Ilz_S^o780tXA&1B?F^>Ybbzcv7|8+ zg3vP1vL%s(t=KAAQjaLeh|P)hoIrSZ4j<&br(-AzsVp-{I?I~gP8m-@xrH&cu2M6j z`eejsy3KeByv?V)q`@rbM#pqnoJm<`joW3XTCNLE2Am?7?7JCaH6rpYO5W^R2bIKF z*Xx)@r@qyVr-!qG-1&|#uunyl3-(g<$HS zZvc;zg~WHT2kXOt_KaK*pRFl#;TIpOZ^S95X(qZy-!_=ZA3_MDoM_siM^=6BkmF>$ z%=^X}(0i@Rj&CK%2s>m+@n@K0DHXb@Es~Fui^nDqadrOFYBpU9TThFn?YaMvD=>sj zbBHv?uOis65Rhq({>BeW(xZ>IKGtUMr90M<5hd#Vq_>o5B-cr)u0 zqpG&>64^FgFV5xf@_O`n@y?AkMXzuo1KeSYPfpx5D!jBMWVa?>m_ z@Vddvr)N-)X_9gJx1Y^{MIArNuoT&Bl$7g>-4c}%nB6^ylbH$sW}GTF)jHf`1fMWb zr^Jv<1aIVWjY$J-Id325V ztBoE+Y{_s?TC>@ld}&VmCTGy)`$Ak0<(I+)WhgJ{OV zZ75YCRVP#H-xGH9-6R~}%h2**Bd507-zGL^C2Z<&I&B2|!LmU5*3Vd$k!_(!7sfXL zyAl#P?_OU2s61%u_NSo3=;e2f+{5XTlIcgAJG=6)cX!Ksy7I(6e)A6)OV81muM(DD z8!sS9#(%kalSq;ANF=)S4)F0hlsO0|xpqvJeXz<|GjzCFgfgwhdb!Q^&SpfHJ{|Oq z%z9U4g&b;abgW)w==zuA+}i{of@hq&arU-N8E-c09M;GAw`4A~fyy4e5E+xn76@;! zQ7&OXoy+EIJT(N2bTlu&{%i7I7cs$Tne5KmIb4u6xakWZ(codJz zdGR|@LJSMl$9K){*oP%)^QR^JPRaPNb@yO1%2pulQIf~&kNuN{%*yF3SvAM)i5wvn z2eKt-(UvP#l@{bgvVbTJUCs+i91XJ0)3!q1Bj^tMB}Ld4GNS|6XR4~Yzk^fOSAQu_ zg%to0=9BmF_Swu2-3_^6yE@~)vB&YEg!fPO+S?c+CDicq+cAgQBk+gO+-fT10^Wnq zoy{gKMz#5G_{*K@J5^!QEchf#6~$YQ6zyA#dFJ}h=;}6vCom5!;-9w@EYL_l=*ft+ z)IvOcd_nK^@NC8mR#vUiryYkLv2;uO8Nu|PGQOE1D z!b(PtL07MisT2wybYX4m5}MJXq)VR`^MaDbrWvhk!@RO-V+bytTnID(LN0 z;OH`;oTWX}?LsLWbzgD@;xKPnrg{Zt2fJ?ynAxkN&T}51S4+J1rPT8dMMkGUT?SXvi<)zn zoE?~r#Zdm_2cU4!%OFj&Ufhn?<5T4|yr{6Pnjs|;WHM)n$UYxvRd!8vAv%_3V3W!A zi-l!!_F3}Ud7^?g6XeGtr74MqR@#{;HA^M)JZ)}gA%?3_Q^qDq_}a^A+g50h73S>9 z_P-~DU~+-Qsto;SEl?;h*9#Q^+eAPJ29yj@Zfos>ysI2 zMhF|*aisi(EVJx93I&ab#dLGEmp9SU7DxHlKmI6zY(A8bkH>B<%BN%9NxootXqMSl zh}~?{`zqVs+%UECHfeHf_T01uZ%_9vlE8_Iw7HI?<8&%2@AImiTmO%1EGvhIZl&vn{7LG`sVZMAAfUA~Pr0 zI|6xq{HMXA%H>?oFnO#eNjg2vbuhL100ooJLRjUAz~$LPGV)V8duM@U(qVSuH?-K& zFk_I)PNncd$+7uQYGr4_zA#oYTEQ{0N%v5i)LqQ@G)l!A=ee+@r_nE5J_-ZqX*|QNRh!aLgx<7NAiODgAnC9`9nJ1lA8NNTXIgoQo?)0}@!c_3*I4qUL$oxax8GWPlMGLh@dDkYJEj{k-}A<0^~ zK5@H#ThshY-q5SpFJ5%Mcye_)*L?T-r`S`Ix1+`@Rs-BS$4`!GZD$eZ@ImiyO-)NV z-<`WWT>fFd{{H!ewcVX%;UoU&EA=p~s!XLPEGKMOCvZ(MCMijSSm4`)^%ApO%akp( z&t{+h$M6PJ6s=+U$6z_F^OC)nq6%^9%;H&+I`h#FsA3P{HJDgK*($`)oVR2qKR zKJn4E9fr0X9(}xN{*Xof=uPWmsUBtF;zvyV&pR5ciq12xzD~{aQyw-O7 zBh9~Kgp3rkD-N0}cdD{~*pD8oPFN;dDI{f>K-+u9OV0>#CWF{#jGQw~J5LwCSoZ@8 zRMiSXG;T|l2u18TaHWIIO??9=cZMbW;s#CsyiWJ=HWNpRTS^=5N#p&;cc%~SX}X{S z%bF=YdzzqeF$2ScR18RzOoU1d)t5!dc?LRd($9{+Iq`Ni!nN=0ohu45mMzz{wJpBo z%%{|ohKtezq;0874GuY$rE|^Yc}t&e+(L@E=a#kgPE;htbMd|O4%2=2=RPJqIpq?g^=!=kDpDtpWU4dL%QXioDco##SQ=G z;>Bd1EeKLz63d`nGC<$bHwH{FP|*}Xv%e^YK>KGqnUyRQUD-3_K5m*6S-fyKWO)btH>?u{6!rJZ~1IB*? z-f(ulvhLNXgIH+Id)GKfIudfWen^ram=cBj{4I&E-O~2!rS;fM(o)(x6a9@_)7J8H z*^BQd?`J{?K-Lk7BR;p-XB4ES&zaw8T2;&T6l(q!Gi(~G7mz$sQF6|fMba^liicS`!b5IO~ z3||_H0e<7G_mv&uU1UL%Q4pRziDwJqUY5Afln;|DZ-cQ?dbxGX_dhY%PF!eGREV#| zxWCnU$LXTIFWkYxZ1@pw{7b!(sfyampmWL9%D^2JsrI=ifd(PI0sdD`dV0M7<&XBW z$CM&j?F{Z$bfG;lkrY3mIxxp@AYGDv-k%X5W0!Gjll5MoDcjssC!5{c$vm4LW+IsV zF)GMM)u&l4)uC8ztlC7k!Y#E}tv~yP_T%cn{%oyP%Mxo%8PY3I{~gM?REPX^znv0D zQS=O=$bo=#s|?5zEXjwfH$n@|gtmzw6#0_aAkIpLc(2#b6P*Y)C25*+sPjOGa)Lx1 zPpaMR{`;?uq0y#8uUmUn<&{>x;Fsp{Go&5*ehwuFpZRj}%aJ`(5d3m^X+)AgvauTL z^_q=@=oeH4!Bxh)P6NtcN3OJY2A&<_6*|mKe!fdnjCx%%NJRLP%h@ky)MRc;?WxEl zWsy>LT%KR=9q)B0K4DsC^vdR0^@hXKGE+prx2wuK7Q-ARjVSEEiA@j1(`vbLbIbsg zus!4#>mj@9LtpJPY+|EA2JA~_^>e-#?B@uaICNdYL7?WafWQp_L4gC^2Op@SH_mK# z|1Y|FZ$D2%S24 zHS&Fg*~HUVW83$&zJ9Zr2+<1u>Yu<1dVrWD@`Yo#?JSGWAPoBF=KZ=Zb?jNLK5=O= zS=KqR^8m9%obIMM(I&eP7s`dPAv8*&+fK#PAg7PFx9Wl*q8OS}h>CM#?oo@Y6S$%0 ztJC@*BIz%&7z3WX;}3yzVfzh~uZ#HYYTPex1;5{4lg%tAp*(|P>$aDP)hMLW(AV{3KoAwtk6L0NCS}Ww{Rk~V) zdJ|pT=Vxc-e59$aH#f{ErMWw_pw1NeLc*G&T3@8+# zLbqBJxg4mHx(yY<-1&B8^s|WyQ);3j?`j*@A_MElfmH5bMpd)c8D*x%*NF)OoYuw}p4S;MugC_#Ls?kxQvDh6 zlwQY5^J1U!;kAiM8@%@PBt;x|0XM9u$sr{3^gw9ejv4&Y8tRD7-UI+ za;2?lBE)~>~>8Gs=w83u4CE-Wnt* zD7s@KPO__V{mglrA)Djt)&f?q)QzK5eql1@P1Uw@f+pTuI&jwNV%;aYnbqTDy`qnk z0p`UjLMK+2yT-+hoQdWR=WJqbYOhtEvvDcte;s>5=~BjJ%hqdV6_?2Uj=QUS7VmKk zL~|d51dUTXxu43rz=9ouQOOVImYdlWA>J)upZP6aYz;5Q7X_et?2FY{?i0x$BYn5A8A^0PTC`1)Xm1bKxowzjxLTGp_hY zt=kPm7!JEcr4SzuG~PCRzGvJ>G85%W=IB=sKg}^f{P}VpH-_+sJVO1nO`c!=i@tDZ z6agZNAXq`b4Ai|Y>t=A5+qq|Y=5S;tA)`wd2rx*DB8adk16SH4V3819mC2vnFQAc`_n@$Fqu&Wq&)}X`n(`q=LDWJ3wqQHUx~uddJFYQ zPuG<1!J1I+gT$xxXb^QFp>Z1`^9WqDf-W~YQMr=!Qep)fit5^lhwXbq`xW zpUvggTN)-BZF_tInQIed>oM%a`53k;TM?Dny)0c!fsu;X=XnUtkh*dD=(0$I0_o%Xbzi*o5<-&FQ0|k+SR4yY-X+Sn4+ZIEF~qth^Qd7A?hD zy#x4CA(htAL}8cGm^k92k?_sLQ`ebaPY!mV<${7DKqHqC^$!y3;|?o&R_d5RleNxq zsD`AlV0`5Ia#Wb;vm4u$G+=F9GHfhLeaS9@DIQak3R&P)vlq@v2Iez!kXlCO;w`!g(Es+|Vby}8G$)kdo=(;Hkqd%VA9(3D12`<-a+weW;CNj^92VAwc| zpD;RO;waRSQ?%Z4S?xDnzd!|Fa;al2z92cXS)@G4DNDAY| z9iGXFM({tz6C9v6A|l5GE+=Ru?j(JS6`sSHXf!MfOr%0QHj4hm}0 zB5hToi3si9p>c3@Hj3BL(>A<3Ae*1=1QWLsOs$jG5=vBltzmkE6@KCq^IgyY%W@9^ zTKOhWg1@EV1#u#{5&Qw10&bWO=lcDX9BK7J19ujS;;KCCw8u;#=4ExKuk$WVg5dlL znt^OcRaVXHpS%8~8n>X$H79?oqdLJ0F@C<4LYO(AR#N?7Lide;d}q3kQe3sw+SWN% zqv67pB`&6hHzNXIXEY4q$>)*BMm(*rMHWi(T#L zQfzbPNPKt1h{B^D=JyB@8!cV!cR6b|;+2jpWaR`7A=4UlL9hF zQ)EM1fdIFu$aPJpO=Rf#?i%3}T-_#aS}ObYtL_(zD^t2(>}ir-I?Y^(^ezyC67RYFT{Ck1kx}V^(LNug zvkg6*nJMeT zi|`b<2kF#kZLGjIBZu;xiI!ET zBhT}&_C3C&T2r-|9E&4ftyjIDPxYE>Wyoe_I-b8amp7H;arktJ$I(Nnecqr43Qkb? zi>fWA_%2GhamGX!?ObkNiM3J8QHvtItu$g(2HBP|CU+HB2taw7UUn2+s>w0!qvL1) zx(>852}v-nf8Wwn9vdZz=NWDawym!y4Ao;lfmSUXpxczNer!AlwO8q zx|e?B8T&a;OdHfRHaRz}!al)_2SxCjq`%vHHIvGpPV zm{opN9~i3=-zB>kSSGCd`XXN~P4Fx#H5(Q9757n|K>BLFZ|;C%22ThTGh|N`fVRQMGBi zaHjvlitJ;DGge26J{H^!G=EkzS@?{@r|I_WX*dvtFv-&uhUV}oZIs~jDuD`{eTqy# ziGdtW%1^xO<6R0oGXioy4tE~w2}H4m6f{9wzSp<=969hT7E}Oh!x1g750rG?$x6Fd zRd!|Kt8NCQw@`D+PB2+D?tQj#Zp7?5y+Et`b+0FH5-x!A2 z(y!M^J5i^ojw9N@+)V7&>Qt_*DizUHsWKV&XLv_(-=Vw-tE2nnS>d8FkLXt!ZBkMX znS2?R;#rcjuva|MLIQcbBSI#Z+A5TzItJ1lYuP4xv0=PnGO5#bPZ`~H00{MEQc;?Mq z0`JV1oz<;h+=GwK+H3cW^-lHlH(}ECwG2fZjl-(l*D$M$;#^@lW93iiWj2+-F;;F{mUY`c-I^zfibJa>XC7$H% z>sAJr6Fa10tmg~OzEwZ|;M^aObz%O|)xVdc3={}=zeP#Jo#X1)kwL%2%sNi9Bj<7^ z`F{9ws3<|vooANhHLm+YtJF2PCB~2AUvN(}@8=ZnP<(i`m-{?D{Q1H__%elaTZ*@U z+@Bxe|E0zYpkFf;in`-A@o7B4ZFJDr?b#{m;o89a7PD$kt{QFJvn=kMZa1lWv6mMw zU3}Ti=!;NJ%|!Vn*PG8l<07?4KUd#LXB*8{$gOJom5)|MPYh=GrRT_RkhA|T>k0zS zcmFfG2@%{6QeSq?)O;HhmvZb*WOFNvude?_+6oj~4XV>k6pm_*ku;Yf# z8GtsEoxV&cn4p02^|7Zo#9piLK<+^rRG6;@W{BX5+{v1mh1IkWwt^J3a3`w@D19IK z-pY2o*Z6(wmQUaH*Db;yJdyIH>D;&c`JR9$w9dQGL)m__k%lO7rxQ(4?wWtB`qX%% zM|L-@oXRsp*ahXs^dMV6!kn#+cOle;H z{Fq%QG{1wH=#=4B?J?UkDN8R9t*~xr{0_8Pt9c0`jJe0mONO81ne699s%Knog-BqW zS^ke%1R?CjiIC7p(B467bevkpE<5THBwLJ@VD^Moo%hf$=o;)Y_#S$bQ z(Sqs=O~C!kHQ4#aJ6kFQgmR-1`U=IOCWQ*ot z0n7QZz`K=Ge*$-_3?L7vH_kaT*jz(dX^c;^TYmZ>c_)>oI*)%W#K`NPt~y*5n!sU0 ztn^4iGHqI!Di51Fe+Z~E0*p#M-7cUM`R}R=d}~;fB6`=TRo-^>vUmE->*cm+ z%ut^Az|K8@{gii@V?c!{u7gH`4_U}Lb>>PpNH}2MCon<}1TKi~mulu z^EH(VoN|;=b;Ezhz*-ss?o^tZ-nPndGK$5#nu-5 z7YGZIz&{S0BJ*N^k$S8YN0by=4~R2G$y|#*&;+4t04#`DoZ;`LV-qLu>W;joi+nRz?J32kW)tw6Ub#auz*WQI3@5YNJ+ zufNf@C(1j)+a*|m;kUgl42Q#K72$@eA3ClPl&S27)~0I_zYIv2rK&E$vhaZedZfpf z^ppx&ci#8_NszQ|ZylLjeckf?vb?Y_G9L}`pFzB0;eJpUgWc>gR>2t1-jC)&KBK^V z=x{4H;LE{k42+f62TfU!*e|5`qf#g*_-C=_IM7~#*eV}B)};h`Ehhl#oFdu+bQ-S4 ze+%mQLub3DFEw&Y)3_EMaUL87VGjY!{mn^CHaWTbjIYZrmQ7cbfaXHMNhdgTZk>G` zDMcTdE88IeM2V4vR@gz0J}#7<)VnBG+4m@_1Wj8wGi9P+j4A5fEgWEmIQPQEIHj+v zF}PpntarfZ2NIO$^knhY%ix`b;A$Tb4%p~o$dcOWQjzFs$_=iN9?g|f>kS~M`6dml znTcsMi}!ZO(=>Xjy~8K9XAD2)2b&8*^86gp+Q2#aU?o4*Flm6H=xXJ3NGv3S6vJLc`^!md}bDtxObh?6zCis`>~|HE?hTn zhwGtITjR|vd^r*L($#G+Lh)opVjYC+NG$Tb^Z6fPMiTf?x8sa3{i~&{#{6B^OLXrG z!P94}vp+}=eoefP z>l1~Qss7ow_AS(U?S_CyF<$6omXJ{>IKP?c;Qj>r3-S?O6rAi(&`(_wK-}JC5C`_R zQqwqSIso};aUOePT&oOBho+iH?S*3yOU@}E_IdGm*9Cl!DNY2a|K>KyBZziAX1DB@ zVt?Vwj6MZOOBa!V%bW!v5~YYiadtL$ruUn+p->C1`*n~h9r)^7styM2$niiO4~3gz z9bRy^yhNvoQpPLsY;O93I$lgAv9%~iO13`!W%AgzOn2_aRG>i6#->^ncNQL#V^>5q zQ%GOJvJXl)IeKc0B!Z+SuB3vmqp>0H@WHfOPTfAw`x88Tnd$z=DLXhRDR*e1|XO0_HJhKmip#veJz{MpCp182tI8T^~NG}z8%U7Dk zB<-~97jHw8uj(#}n}l-$*b)Sgq|Z}t1n~Dc>&#HvbGU-%qE}lx6O1P01CMu|bWnEAOAW+hhA{70t0Otnv_;@b zBt&d=m%=;AS7>d;(6Lzhp-n($uZ;; z4g)K{I93;gF$`3?Z*1_Td;RT}>3$M-Y6pbV2LlTHxOAr>r<>2&F}}IpCwPU&N;D3m z;-2rI{`kTLE`%NmsOI%T0F}Q<4BwJ)>VPfhYhU+En=)qE zgE>MH{1nd&bd<%(@N8aBn*=U>JB~#a(J04oGJ%SxIP|t=&5{ilV7w=qFM) z(p_4g@SF@#`h#Z=5I|KBsvK8ng|!%uXyS#kLJ)j0RO)ouOj$5c#H2I@{SFcZd6&Ra zdOVs|7RaqC*g+jfg2Y&U%JQ1^evbEt@aqX$*T_fH9Q__tP~U~*`a9fmsul_H*fSbz zE=C^qcerq`PlqHbJka&}{{)!`5j+&Et&j*WkWy}&Gc*rhzt1!lmhUQ(Rmf0KhrfeQxW zPndXvcdgVX*?`2*7Ffo@LEsx3`t#iSTxP`|7}~F##17pdq4f_03EUXI#W}M}<`e2r zXDD}*?VR2vib1*Hj{yNpgVZinV5Ju!0>UJYoSjm>A90DJNUmSNxL=u43_S)sa-P`Q zS6kSAHm#R*A$Q{2HC|46TAh5R9od={mXEEH>8!TjEj=h^e~5NxpmC$y54hV1lPX-9 zBo?!{-@DKSOOD2&ki4)Rhqa~3tmu~=O6e?_QQ8P3j~#B*ip>&Md(!8t9m(}DGn2^m zZp3_cc%2?*6e>Cz6D2Ei7nL}uk`_+R4{&XV!|T0SEzYjJ|FJA4xSNdcp`$jEAoIff zFMs_IaLZfDfO5i}dF8YnFf4cl5?-b%fiu5CKQ8`L8SU05?&@aHoQHAen0w&)HGSK) zXzfRS?c=4(O0P>#HrinStV?fFK9&E~Hu)Li)NuXaD=86C?}vR3RPV+u4rWka4I_V3 z;hLhpbnM$Y4P~uj4-d{va?dFF(76|O#ZL=wFB_&J#gfRE^hn+x-7?(N#gf7^Vnv@R z9de5&%24&HjUvXg%MGg;TDDJK;>SS2A^u5T7#H%TXYU4|QK~&*@+)Gg1S*UV2%WRr zqb(i`abtnio(RBwPY+|TbeFe8P!F+=p=6#*1GDx)$fgMWti z8xSYmHLX`?#m(wiB?B<;Kw)PvluF8_HV>KGp zt0Q{*E45A!FOybWjZ5K%yGGBHq$e}I=|(oP8S-VS!`j<-Oxoh@8GT8sHwX5wmEHDq zGjuCHeXu;AH0yR z8GIMiegJ_mOv;tdKLl=+JuFmw#Z~v@3i7nbCwL|RSQ-9#Za)hjGIVL4#@FQFlcJ8| z`%p5iWwV*neO`hn886;BE-tAY<8`Y`oo7DAlimcJU8i)d?ajtirnEXeUP`{ILZeEa z@F(%DCl-%<>H2AC?+Oo_x8#?b2Tuy%c%jk}$36haz^Ctn8qw3nrtP#Ut{4X^>&bZW zv+Uq5*3Ed%x`rlMaaJ=%_8R=5|Mi{~L*9rM)jmhWIoU&%J|nMqit*%42U^`hsTX@B zzO0F%Hgj#6M8EHB97bblJ1`USCX`Y_#Vqm!4}HE9>zc6!j?Ih?`M$Ny=fvXa5&X0u z&8RZ?Qppi!P}sYOOlak{+V$t$<8M@bs+V<536nZyZHujapWFWyI;ZY}qi;FSvjfoF zyNW?~Lz~E75F7)hB7tMI1nI@cc}a~%y?18AUvUR4xyt1gYh(N&saTaB@=t-ypv3EO zj5tja99$B@1FJ7bFO`_NP0aVb3`het`6Dn8zEHxRJ4TA>%zz2IW25(j^WRfd|T&K?0smIr_6lHTy*_X=;Cd}S7vwWIeBE=~1Qja_TvCuA2 zvBY?0mbLL&N^CiM6+~G+qK@`X^b?(0!d~E@3fq6{nEgx!5YIr(KRwPP8UrPXwGUyF z0d>OQYM~(ci)Oe5Y~0nlD05%US|4tD1YiV$UIyW$EPP&REdR<2?2@GmadzOxiI}hgEM`QT@o|>iNS!9fGy6MS zm|-0n1A++^=I!qhoa=~#xFJyQ3l#k<%S9Z)9Ru2X7LV%@63b+v4AAJl6{P?Oy2SOp z#lUtdfxkGL*Som>DNORi(u32j6o~~iT(|H#@Q+tcGt--L(0Ka<7Uv#&2+7~&-OJ-LHs4$LKF{`G1~) z1ivKl6mf!Iy0`n~9QMMTx=XfXFpt;dd8TE$l}- zLs^SQ(XzOPTx$`x${IJ%Su?x>)n&~s;g3ff_%$_oTUtlz^*WJt&G-NbB_UuCu2_4U z95_a{lQ^Z+Y?s=Mc%mb((mNB>Tw#)?S6r?lWdauzOQ}?kN(ef!W?$^JW}9`57egK& z0U|&r=q!E)$N&OaFx{d2Sc&#s+VA+cn_&D(D+Lo_dEmrD^04?J@DF}8h|I0UgD50; z$bJ^?0tU*oNbNcaM6KAz@ffWuJbUW@+^1#>$t5YO_&@0oSTOoKe&_CdFlzNdS z!hXsG%7z@p-1C&Z{N+nYSEDx?UnTb{@b=S=v{l%@_$@=3Lm1Tg9wdyhB4Zk?0V?)H zo^B2{Rm;}-9uiu6LuV#vOUD7M;bJW7as91ok8kI=0YP2kM^k!jNs|xW0PPxmc7tI? z%F$+0=9w3Shc|+)gQ6N@GG(iTb-G!%oT-lGDLtTnXVCRt@AdIw1*V&jbfI+YL{~6S z$q4{;Yf*_B0aGDHE;`%3*`?R=$OA<=V`YF90NDIx>Ysms|`aMPVwvx%!Suiw6dU3;cZm4~E) zOh=|rRG{BG%az3Jpz&(8771(!SkrPkmUE=m+T^m5WvhiviE)2MkSFEK>9WRvzHjMM zWpbTY_k34nqaWolQQfb_odNU`Dh?&DN6wIXSw<_1S3Jx?reF;!5$SL!0A*@sZ10em zL*|Rt(`4M)_kogcheDnYgvO@sAbat&Ldw#!vaQ>Q?|J-#_|3Pq=h){(G_k{7kTmUl zSN|7ZLwog@BDmkYa!hd11*{7mk+*1a33Pn3iIZAQrRA%7rd6)!oxnF+6FpqzGaxGE z?uEF<{C;@@+HADQl9Ih9OHHE2Z}z5&h;AcTpRQHWSAE&4V%K^oDV=CAU~}wx{5^y) zZk+N9-)IfmPAB&w6*1_Y@Nsb64~btq+$D#Vh@-z$>0Olhq^Q7I>={wS8o;GEU5)oR zue#wEr!y8xI4jKk%2rU$51Kl1eJV}YXHI74H^x7oSrGhqsi5GaO#H*jZLPCdcX^-T zFh}l8@lF*KUY^GA4VUiEFRL4YYMmJb&5a%7YaDuqvzf+Wpl*4aM0lx`Zf=00{2+Kw zN#`0o(*Az$Pwv*8L5QfYs$YK8!*1`eNY0{Trufku?@vrm;}lq63OPCRjFgv4!U|lK zTh`_9AT<0hSQ8FD`EzHW)Wc3;BCs}n zg}ag(H6jM|nZMP8iDB|k98l9|{;0ZHAR4tX)3zD;WB=~=5kWW-R5oQt2Di}XKKxbkC+699iv*w ziRh_GznG#CuYSb6T{yX4iU@+tk=(gw_@i?c)X<;YL6DIY5xB=ve$5$YwI}OlSg{}v z;Kz9C9H&;M@OvnALHZ@PD>Zkws)*%Ns**(AtuNg8B$oD%mo1aEtzzJeBMN3!A3ed3 zcKi@nMgd2E2#j2+Nkk-t{XT@N?wyg>3tmia#wn3giG_alWHYIfWz4&2g#?<~C@CpZ zc->`IO|4F7=B2~)>x60f*PZJ%GomWJOaOf(mFYnfPhjHY1_0EdOI7y8mketUy9;q? zPJP4i&nHXIZ+|q-qE1k+7grqGjuO3Pm9*c`bpaHIK?#BJA~>Kn@@{tQ6ZvX9Sg1VY z1nzAX5J2A*IS(4&!{y;ZfEBoeIj&2F@T|GRc}w?(40>bh>R+%!A*(7^QO7e5(%M$8 zw%xf%_!kXXDknjc4jvIN!q>Wnc=)RyN$Q@=8a$6RH5#Qk^*R%cCmOV=W-_Vvy~Dx^ z1eeYb6WzcYpIE9lRxds3G#5|h$~ejwgbfE+9I{X_p^CZsN2id4HfiJ34)3*P37w{H zZ_^yZm-+JTYc3`>r)N6-M9j5x*J%SdAyB2{3>UISLRm4R9gDd)i=?+#Lra>QT69Z-iEG;Rq(>8#)D7>%=KgFppAP2cgHdk5R-ZC{q zzQ#B2=KZT7bWtInGX?JwmIIZZG-=C5cjd$$_V`N&PalxCmOl&=LrSG|+eidCQCXk^ zwr=j}6XBSkbz!e4($a!r+v(1=2*2+E5`J6ZGgmmv=#+tG;~5htgeLvw_wSZ!%Odd^ZPX|ReZR+J9=e)CVjq(;Ykb}J#k&#nF4OqFf za`3D6G*}`RUA^#5xfjH<{bO+Ghg5bo=uYR*aJ}~2X+!8=F- z&akZaUniyLjz}#k7|{9h97J;K2n6jG)l{TB9%X&$9&54Na28- zkJ5zDLSF!7PyzC$0}8JBWwXPjd2MwjBd}%a6vMkbuJ5v4o$-v@R%5=KL!culr-qun zCmYp3fFu)Iwfi^tuzqj{bLgqzfPK;f*So%!ZH@(ZSkLVlqk~}^IYGLg*ypBbzPCUE z&`hxP5o?=P5sP-3Gs*n^KKaYlB?aHU((}MoZZv!3A(*bK=v!>crR>2!fjVfoUvR_1 zoIGY<&rpCX@R*2oZ{YU*11|A{rq4PpZP9|{>gDY!#(|DqWsp`#6cKHP zi}`F)&DJ>q(r6N0Vs$Sv`7iD0OFFuDM3#%S4NbnmcC#B~zN#Ebp@u8T=6mdv1R3^s z6kN{@h{s^zr@K7u4|>hWE5temvQ*E#voa@Of;x*-Fc%fFDX=4 zQ`6+P8cx|i_uooiOss30uwgIPTv*2a;O_zN^pFtLg*VK2QZ`p9xT_6q*`l4zne=mN z-@yi6>QuKU*<_yXJW-T*+{MeX0DpWydGL;srFkBA}KR(%sdIq$u(?IQ1{+ZRXgPr0Pfln|v_O+(2iLaedE`oIer^J;c z_>Z1!eVt|3#Ktp+P#intt^t%c@I&AL<@+b+viS0z8MT=ELNPne_QE++)YKF#Y(g8`|A}MoeOTj3P{VEvy zpcfUyIU!w&YhF;K)Kw-~dhqBLSijotqjqTEnTm=~{E1)Y`_5}UlKWm6?Qfbfi;G^8x?W8 zbP;=ET)OHMCiM*qswFG$n=lNZ;6$2hdLvc|8K>&kLd;qw2)mg;az7gRJ8t)bW}3FF z=O2LB7kQKG-Z{aSJ+5&EjtFJ1j&VD%0i0L#9|8@fIUJHLkn;?<0LttW2#8~RmDN&_ zX`T_gh{=V~@W-$c95(H-8-VP^Npbp;O)gfV=aeg!2HwDGJHwx2oULCpzI=q%^hd{| zFMR$N{gNz`&sn~pJJ1~6>v|U|ljrAn{)%N{K<+&gb60!4((vtIYh(U6LVpM!7$g?80Y>7uUMnpgPIIK7p#+P<)KTK zwp2D$Pj;}`y!bV1btxqjs9(Jo}u^?unzirL64h66LCYnOT;e{EK0nW z5!bJ+!%vRuzP1q_ zpn!u+k{-V2D&o^S{3eVCCc{?BJ)#1rIbmCzk>my)qNoz<_PHmn^{(f9bUGaid^bIC zQZh-;YrMnrMYLerB#oL<6^OHV-g9$@aId*~t$LNV47heh%I+AmnCgg_w2@x|HgA4! z@w3umrZ+41he_9Joz5br_4vD_D_bOH2A~cl(?KBEzJ%`@0B2&gqbpP;Baq$t|iC}vp&g_Ww6s?Yj3!H{-9JI5__*4do{ zqZ0`5pZ1?^3q#{@GH)pX_suv`(d_&Rb=gQ?u`^fJ zdUT-1|HNwTSeHx18}l|fF#<`$Q7F7TjpUVGLnSH;Lg@J-!rk^vY=5iZ1ICh{h?i@r z&n=_nW8uC2Is z+Kb;puHbZ0xonG$DLt!2skMzE^fS*OeWy0bm*^53^eYm{6tRIi9)WE?Ps$z};AV$E zq4p`LZP11sDRb?e?q6|H3W1<4&vnH11*k`@eC^Tv|0D9^-y5|BYKVZaZH8HTbJ{!4HAS zI93u*LTcwIV8r%}V6G6rq25y*$;BsgG5b<@|AYPPLeHTI@k^y8@_9zR_8Gx&+k)vz-AbXBFzK3><q9nwpKi(iX>kq&dU-@o2y-UT@KH`^( z@LS=F-;?2Bn{SdU{_}3&rmh_k{8SOJZZFya;d|k;-v2)w5Hb1n^{wiluT=35+qv223$rEA6&gy=<%TR*_SPT6U$Or*b{{zHIANBjuo$`u@Jx4t?ZoXbwO^_V5VN-*Ak+{`?PWiAoyCnpIabKIX(p12 z5Lv^W2Oib{=x#;jQ4{s2ZUgwb^(l}DgVW|+1d7OkFO`dK%YJj5sy8uO+INl2IL%Pq zR&cl7(=Q>qd!jtu=LdGlzd~7g&jWW8v+hS#1+^Iz`d9j1ocCJYO{m>*o{APzXqtcT z=J70Ienjpk@`=W0$r!)Gl)147h+aNr{-^)H{|wplk3Izsa((+K9Q$u^6j|)WrPsK1 zW_0(^LDtSIu5h1))hhyZ?l*39&mt77%lVo<_xW*E5iD6R^cZHC{yEa{w$h{)mIMsPT z1e3h_7bH-*y6V<3-bHS4W}ba}yXD4{S?C~!aJ=JXtLsE%z8!TuyC_4*P+o*- z1G`o2qrF|zKTx}N_4Q)j78isODuQ!C5q_D52QtXZifumxu49n=1jP6I1^7*G0`DJQ zU?#u3kM9c_uzDki1R(h@e(n4Z0ex^;-5Y|}-oigOQTZWosf^b(NcrA?V4ddX?TaEd zp*i@?Bl{-!UJJ^$|Kj(CMgAG|_oRyb-da z-?g0|3}(TT=lI^>y81ty!wr1zWj1VA9>0uG1G9DFyBKgQ0)B0Xvgu9XnNM#*EOz6l z_$}2R0t0{Bbr&7vpN7fc--3yCo$t;+1hmV>`*{Dj2l_vRfFFXXK9)WuKNc~eC=Om1 zBp>CE;?01+05iZ(f_^9TQ@+RZOA)Lyi@VLCycuxz5NqYpM)`km%Jzlu8++izTbOOs0A|3!A0a z;Wf)06^}n^q7!kyf@hx9H{CY1$ce+0UCXjbWdGLjx^?sP)XIdr>*!fd|El)Db09%) zNO5e@GS25j3$nr)54 z@vfPV2Rj(&HWV!1T*FTfviT327J1^SVE3Ty%TbuTGL9u|*O<)fp|lWw2pECWiIFVg zKksL@j~zyQlG6l1>xN{0FkhfWkU#?Yi;A((qD1J z7cWZ92d?UFUfJmXd^OtN_YHYO$H7ZZJeg(`(Pnr&iF?VfeclqAHK=r#fdP9?gb$Y#=W=| z`9|sKRn6m8H}NO*=R?}S$JhB#r}=wre|cZlIfNr%rNJ_kH#P#O<|LT|n`~4Hw7Kl_ z3r-&Wue&=aQJ&wPBi6kgu=VDu#U$2l{EhYe*$tNbZP^N=doS(J4^v-sFHh;NdQX}d zM%C%Tw7y_@{vo+b>a-(i4CW`+ntcvtY5!^Ig&A{QrR@}^>LyE-`Jqu)!FXGhk%79E zWAvsfukz8G&1($Mg3?4(xlOdhF{xC~KCDOMA0-YA12XnmM>Q;W^gJ54HS3pjKdO$W zJB|#?g0UjYvr^}st;o`3U1B?hQW3?EGYz1gi%uftqRwB!gEzMD5^u-}sV@6ou)0zT|!p9`U zj`epDK268y_q{8u(x&L9**!hmELOheArUWUEk92%$d0VGA@W$!!zF#@UdBm9stZM` zk)&UKY-v@kb10EacR0Y07{}}6R8P+2De44=7QJ!9%Z3aoE~|t*ZZh2r4nHv5t2tH$ zp$bXP%)h5Df`B7nile&W272y+L&l#Nq(0MNA20+$cT@uSVBL!y9>b5jP zmbUevxMa`+3AYBj!k62UBe@;ZVUB429m^XTB#-N&38j&K?$Pd{=twU#+{Kbn$}ztO z{C23wfUl3jf*JEOju%HF#zI1jC4-1eOd zIj>SImm@nWf7Lwu#?6lEj&5h2T%XD}TkYJAn9c8qpZ7_mR^72;eGBm7h3!j6rFQM? zB-igN)nC`GDB0MEcG>$$M5`Ee=v0$i6m>X`YU?T%bAjalNE0tVp)lnT7 zTe2jLCC3{XSl!t5ovHJ!hAmkWEIwqVM%!U8Yl8CW{{v9Zh$z?#c3v8O7@qb!VkwKZgIO4H2ql8!>-8<4Abhibhwq)Axk| zzkY|?3w4U)qSkFSv|`_}yR%=^wRiW>U#PRxuD%45kpO?Rl2n_$B(G!g-GO83rp=&j zc>;MBgnkO28s#!Zp-ED%;y~XOyjvM z@J0@t-K!!-TTR+LM_IIp-4{$Ls^L=*vAD;)+`g9jQIKl5XGDW8Nl|P%mGC4d-}b(X zaP`+ftaICnSbkSes6 z`>x79FMn&Ky1!kVeEL}e(o#5u{84)AVFE78IM7&8fed-HuY^Jh=DIV&zhO1xd2Q0M zu@doPswtL6Ca__;SK;h{Yw+d3dB3S&C*98qU;l(k>axky919Oc&h8)h9ZSd?H+Ih* zn3{cELC%JK)LZsjIl0SWJ!)%iY;0~bQc~Ji`f@#k*Uww(zmNX4WQmVfM;GF@&D6FA zEQ#6%7viq1YfqXQsHC|SX5*!^-Le8&UcUJ}8BE}|BHkRhkVep+s2aGC5|WLVRV%+z z@u6bbNP4Bwtfz#$me7m6%^bF7qLRA>z(No31gzp+EqGj7N=s;tTI);gm0LK#2}8Ji zOGFruXX=VF$NEl8*mLyn%cU9L{kGJiK&MA;yKNq?Lc{I4&}h%t@&t-Ot&F}%QhEHq z0{(_gvF|+NeXYlpfv`gw-ID(~Wj@{USl)6y)RJhXx^4HsgoNVRoJ)}6k0+&*3~Hl6 zr-whBF}Gut?fX@C0Mo6*@;!J|EqnK3nkSup$>y`x|H!W-8yP0_2nu*+PeaG`DzdLL z1KZd3MF3sL+15H;^XYK0n$wRJ0?SLBWo%NoFH6|!&%4^Iop>3{Nxhj3ch=b09^fp{ z7HD>*BinM81c!?RnJta7XGU*3s8oY&*uEaeSD{RF7_YMKL~#(Fma%eB%Z2Ue|`_dlk3 zrlFRLSjQ)M1>+4yL?mI!M+ci{>VbdnxN?YK3ukdGx{j@JAHncjDHeqp(k+77?T_Q!g(63QD zixgC45=tyn?Bn=@6*$&43EX+7wvLdD{fq;58*ST^qFu zeA~nzC;GbiWyW|1w6KwRcu;j1{bu*Q8%gBOY)jUk)|+qc$u(>M%WZId>K<;u z0gUsZg*KlIC%}=^2@7x#!Gt8j^($RAJ6W-HTecQUz6E-%6}}H0eMMb}m7n_6@to3V z^x2QabGKGLfSr?_Jb0VpCqZ=v74jA}S0;-cEYpp{uin5+3dRN(Jt_#!b~M!`xXI1b z+^rzm;4RYabj^zGjEnE<%J|&%F;<$;RcrCdKbXOI^?!mf@k2x~^uq(@#`7GYi3g<1 zem0*(-W}Y2LN{cP5_U^1n8L}e_rtmziE7|7xhWbJg4%JISSAyEY|MM+55_M@-IoK+ zsb;my@j5XRRz!{RU!r{H8s;K5_O2W|-Fu?-B*L$x)z_*#axTtk;1CYV~3J-|JG*&x$Ke_iKMcq-?z7~t{s`iV>Ezm0tuR;2pWf8*z z2rKaR&_P~VW95h0%V2qR`Y*<&_sqJt7V3DE14pgBOdv@$qQ2j9bc8Ci(q%j5q;y_p z%MMw~@TjW@f~(O@*Dd2Bxy5X^!gSHlIs+lOmNIT@f{2m!px*y^lBbXH;9W6`9S9Vz zl>#^02TJ1#AgSS9=tQW98ZyNJmeDO5E=GiFSC{gFsfRv_1eZ;Ks1X#I=`^dp%58t6 zr1_G-w#`xWmpa05Sepa>q-Qt_ydwusO4sH4nn)*$uoKVyG@)-F%*~3L{H={F;|QkI zb+bU((eri%%2{c3;TU7{$4@G!55%DkwW_-kH?4|%=I!$5D=X&YZc^pvQi{+%A(JXE zJEtqAIq7q@>s)*PA7Yv7FmW37o{I@CNYKtFiR_DGR9G?xJO%03#i}z%L(q#Az|~_n zwsjWeeO1^pRXX;vSqKld$ z>hmo;{*-eJMi~u2y;UNP@t`<@I+faOsqyL<#lFr!fG3ezEbQ!5e7AXYxJ-PE_D65g z^o1Tg&~D18ETg9LnCfgqbxibJZN&lnQ7{^8&#`I9&Q{+4kg!!%*g%Pvsi z?K(OR7iuZ=oXWSNIxgq&hCG2cP?ynH9NnC&NgB8tZtZL5B+09hEjJ}>$#3~R<4S)} z3GM~sAJtkH2v~bt5|M9`Di`Gtrou*%F$$z(B#bkLNy&Cio?wP6Us34nkqawFieyZL z7Tpk8D^@r!jqPm($0c|`Xl;L)&Z=TSQ@R6~zNn>$HLu;Y)mD&GiNyPra3>BuIZ6ML zUV#KB@0C5FYpJC?ANq+q8YMcd%^9;~hudGu(XW@I^M}Sl;RUN#5Noe-r@Fz(;m-|> zVKNi~)PMQR8e)2ZpDaYPA?4&EnhzjPGywM)p+hkW3u?u8*tS($yj0%)>MdlTl0hEL zRNuA)DfCOd+SudSFNMf&-);s!zF4pMJg6gW_6n2j7(ckq4i<%eg{}F%i5h3-Kd{j# z)~3pSo~cPLIT!Z_;XphFv_ynIXgZmYp!Nt$cExtcDTfd;&4YDN3x#)K7LFb z)oXW)hPr^gJ?GZ>W=6e7pWm5`rS4w@vWz=Ztes)jU@%4B zY$4Dh>bCSY>+3S@mp&`D_OT16e^nG5<37h>qk-~cB>Ub;3FlhOz$Y%S@k1T8#9CZi z%z%gcFy)S^>!pcbUV=Qiiz*{+f{Ogb0r(PdbMs03RMLk}+mDr(wvHBxsmBtx_#G{e z#1}Ot8B2Wve{8w-;&azK6z=)Q-r|raI`U3D>dbO|;HoTbB`JP|!krxDH{l2(J-Skc z`=orrA;d0nb>o(Q;nl%MSltX#>Jcm8m8Tkmt)C4>r5>^6Ikm2Mg;&;j3!%Fjaw4DS z>FE<52OoYS#8Yq{Av2XF(#3t(dU?QWPNy#bvMfgKm1crxEYF^-CWqn9VfO6-FWR?g z8sZE_-;yz$fz`$L*ZOsy>-!6{GAJpr*z)Rop?pnPZ&&Z^ud{mx+?MxW?)rY-RX;kz z>|=2NF=if1=A;XLwbHLM^Lg)0&NQx_hwa7i8t5t(q*QW_slln#&Oux~kZL#+*v*Bm zQUzRSKWwJ!v1W_VWmePeBHL*(v9S`kS?FMM;+c2kM{_}1^-^QavY+RfT23wjan$iZ zQS4oYP@@&Yt`^czoFMIMb^P zGg-Dh6%EJ`5^(OM=MkV_sx-Z?NdYAi1G~qSUY|Q(4fP4O!niT|L%4>= zg$z}?%+UT>j1m{^1PdW)G^ z>#i*Fa{Bs5!ujxYT2XT<+;nIi!x!WCG{fh`%m~p~tNN7zuVP66<>By#$T@q_Yh>SemCi3|jDxbfB|NRZP2^)4h>2o<&|@F63-pg~3gj~{7fKKm(KoHWXl_eg%FxA8 z0{PH0H2-c&iLIG=y3hKX`heJ)y!p7`_x_4}w;dQS)>eN)tmQihKgF$;AcS$g&~#`M z8}vCu3>MaqE};O`-)6u%*z*|GewR~#CKb)Itr<}&)&jeP)nI0nm0^J8?Y5(~a?Qjq zX!bo=@~&C{&nj6*y%_(IRacM2(IA)2U%JMYgjHswslH(A0bl95`Nd@NHzy;b~52wiKqRG!*RMQ?@gpw{`agD-4XT&UZu(_$l=((U zI-SQpL6<+@t$H1PhtEakOo=J-tbv_>-_@6Uk2$_L-EeeP_I;93R_h%Dc}KVIDE_{= zo@;wt`Gdm~aeUP-W(jOvG{*kMblx98C4pvuK0eNq-cgJG-2|x%xUoUWjjNl)|77;jL@c2tj0slyw^CdsVM}R zWCD5^k_2TufUY!C(HXtMpn&M}TYkqoOv9mo$4FkbCO;jKP>`7jzeDrh3qaK%`sqP~3s-WV&xud(72u1^JB}*Wa+ZD8 zkNOJH2zeR^*RR`=lx$`wo)kSP$$Y(|b89KjhDv77rms_6gV{zYqbjYyt?Xb>DL~BixZ(@HlUy!tre|E@l`vq*de=`^8CxQe ziy$V#*0VI7j-oytyi4XUom$;|!CDVIp|P7@FDcB@cCvY-hO;ArGM30-P+UXU)(&r? zah}ySLl%U1j%$o2_7u={tc@YuXV?y9{(^XpwXO#cWDb0`#r}YF-p|%+fO9j0=6wF> zJAk%bxH?l`Pj4-*m~OTAZymc(b5cfdc;yD!DQ)lDJL7eX;hb* zLzf$4O=$#?xUr_%e$V-!H!eSEfAYB7!)IWdGF5Gv<4-=m80Ir%B1b-U&@zqznZ^pH z7S`I%ZHHRz`cLm~uX~>!&hGttDjoVYwgz%+{E@_IlB_Wt$~?R?pLl`~Tm(rZh&5?K zb^lOd3%o>BASVtB2=l*j|HKi&<4ga4PaPnCXWx8XyKy?}t%%H1t|wiUt43gzR1BWy zdX~>(Tl@6&uI~1iGng*|*Oy0EM9NRIn%ZW9-hOk|lEe7EAHSgxcy)~t9;_xyV+P}O z_IVSE?F@RaniKXH!eq7QtjhN1g8#{=6S2*)Gq2ORl;b;%x3KaaeT^4wbw9T?6Ylhg zSe<38RGyYCxDoug@kd+xu?%Nw^=A@ReXVqPg_XzLC&SVT))NyC_Q9erK>k>F3o5Ay zT8UibXVjd%^c#Q)8cvWM4O{>*9FxlJVH+mbQx4P{C5UGXHFR_@Bkk2 z4C}RqOOH_n?Qf-*-eXKCww-^y>-J*Q=z~N(LHK98#EG|c^c{Aw|cZp&4K6pAY|tJG9~Yg?8*8q_1+F8{Lb zw_E8w>1xCIJcbl23y@$8 zp_YtShhv~X>1*KMQ*;7Inm;W_B%@Ly`ozQcp*Zq=z<^9cCc_13=#<zHREKN9Sh7Fu947AzDBdX0cD z{%}d#c)XH$AuIBu=$i~)6-@HP@QtyrBOW5TkuYA-_u%&EKnXh}u3zNQw{3%TsC)4E z4FA&_1d(QQwfl!e(%a8`B1ySdSeAO#Oo!C;_fA zqiDm+ttJx}S2#i>GD-y4*%MtT#`8x!oB^S{IMls)?4AW#U&_9_Av64AeYQb4+{pX) z`J>chAI=J52-9ln zs%+Di^XofAQ#f&LMjf%|tT($WS}|?s9BCVJ-SCGdjf>(eLkHpMOi}qAR1{$1cnzj^ahM|s zmcDRqZL;(fOQs$$Wd(NOC zM;agxfzlo|I1bIYYOqtKuggl|*lET@%9 z+*9|)&wP2k;9pzOKIisw$l4^^J8|m=Wlx4m0RP-l-!Q5PJn8EKV_9b??NEM1;C?#d zQfmz<6DO=Ei9OYGQlTddln;CoVodcJ@9% zMI3a3_7O55u-Sf8TM(fkrbbLECx^z1_L6l*{Wi45R|MiHe>A*u(MWK&JT3mR_k439 zKHvSOWn>Re{_fP-*t)z<)e(87IHEOJ1Zws5i4{}a#JCk>NqJ<~UBeqYvgO9;7>^0n zSAIJ^=7%gxUsp1)U->ag+*IxBGIU~1_H>jRKV ze~(2|(aET$B>?7L0T^TUzH0>>>`Smw;0hZ|zb!Vre7?ENlr&i7t-<_Y7(j4DVV?Xj zS^V{dx>fi6ibiNxqLWM?UzCV4VFt=t#YBrZcFl`Y5Vh>yAyn-mU!)_r?7b!Dj z*K*nyu>?7$#1$LP$Rywb=cg%2I~m2}Z@{hfpo5wmwSoRU)_h2D1H#ohjs&98|E!c9hEEir1)d^!-^bb|a zT`3wZk+b&he3>B3*PM1+T+%snOr=9KD}hUI@LdL%+W66e(X+U#ny<(b@kH{0s=enD zR&I(vVH~VT#_Czx{<4Y8l~)d-?mA=1%A=ut8tSuy3nM=Br7SgEiLv}-a0WY|C-*9%qwWPs{`r5|G;;RR|7|zP|DV5cn&bN2mUWtKcIhG4K^b^V zRPrCW@f@SeItxrQ9M={T`vPFGeP=m8En)e9;bY}{$9I;oXPBq~s7N}@s3CJubf`K! zTFSQF(dfHag(%jRJDhf+`#Xb0#NQ!$>*TTUq^~HHify8kR%#L^^>mt5HPhKwEA89a zbbK=9VVzBaUZod=2x{}l(vu;Z-7fOVX}Mx*7P$}+xKwdZ9r#w+nk46#iBc!8j4OxK zBvM7KHyK}aPdjoa4pNDsXHB|W(B&sA{%Wu`sMDCpctLL^Rs_5KOkSx{VbCcxp;FZ-ap36L8T40WN}bF^qvoK(NJ#; zu#|f{?Q~l_b=xXBO`f_VyKx}*S>&-!!nrtQ`x4oWPh=s~w)MIr7kG>0V{($ZY{mHm zm#_8)iMq27-|Zhjz<9~UUeMXwe)3dL%9(93ucx+xJyl3STuCUTA$hj+1esIGmaJgr zFevsxZU0~$NjFyb4ap<9$5^_Gs;15F{J+cJmgdFLBs*#tKko$fi3IJc`eL-1P7N6) zGH3D@$ZJh+Ty3s}P%K71`B?J91Es)57Px^7udR}`H>h;}Y>ea*o!uwU)TAig0;TgK zJMLHefe$ga>czwgEb7uH$}-4s*c`r)EL)yJrYe80Q&5-t{_SjHjis;xqA^46Vd4P@ zNbq`*p{)?MU^7bqj8b`%*G#>BXGE|sAqH?fAewU#EHdK(#Ecj}`hT81=-Wf_)FnRu zUU$Zj@#8sdMy&^eT<~vkl(;n%z)RNoy`4D~QK`7aLCJ5flQG`GHoVCVs)W2Kr7M$K zQOW~r3?|-D1+-ol9JrQ_NtjjKE(yr9tbtT5*2NFbCul+pp>mVHR`_pL7_f515l*cg z5}a^<Zs!3q)Sb;F@l0|1B+u@@UGkA%2s7&McX>7 zD=@YYkMreOmgdRpFfdlj76lIIeb3)*an5#}lw$qhh=#v`vkWiu=ReHA!ePJFvx3yT zbgVj)HQQg%{bW8daTzTLpa+kd05{Lsy}GcIpN_4M(M)w04by(;k_hKsF??zVeS>!M z^JFa}r^+k;y`i#wc7uBJvPhha9N2e4rZ(dK%W}U@>(we!XfQvTt0r%$#7Lc>6~~o% zrH{IUmjp*_E+^>3{@pOKCcDlYd^jS%9!@p0k`kdc_~t6*%5bOW!0+)r@-Um_jN*JD z5^QS#q;Jm#oD|?ZOm*qms58Cd0Jur!1wOxa!9;)g3Tcn5mv`_yS*-%Jtj=W?4d z+3JU*o!|yuIsu5giIkl>!1h6_iQgb2qmH=bNDgQF*}Ty_YcZIr~VzJT@R5RaBtdGQwbfiq`0aCk2OMs?i#1_OhM(U)8Q_n35u8w&Mi`g6Mw={ ztFJwZ+v8AL@YZNqKFx=UDHQsXuKM6HD&LI|mvOP}e6OHj#(-^q)s&Eex>Kj@d|mvI z8>1N<4FxK~C>-sRl9dV$f#+ z^C2p6ZX`&(K|5FMbnX-^@q&TfuGy^wDX|;*ZlK-f9+I0ohk>7aEv1#BI-)otKjV5o{!vC#4-KD&23l=FwH^kJs`PH?ct(E_OxZcMQJgD2_Pb0cQ^=N*+wjJrWD7%f=K*{7g$Z4 zAn}m(X>l9yi*gK&LUzFilRBJd0GbX1 zD__hj*ciaF3j2F>2n?Yg+s`V|nD$((5C2;S`FeS4OMR%0SAnQhDl`fg{$+x%RKwPV z_Yx!gqlZYZzn&`JXM>i8_tgSJRQa{_l(%kccm+w1xb%pWF_r0f!{@`(WVal--r=RO zEQz=bU2aG4oKOBHQMTV2uP!naGbV7?R9`T@Zfv&^W8aDtN+@=^jSQ*CtVj6668fOu zOF__$-X6zM_SREf=vDQ_3Bto^imoIDb!T^5W_*1aal7|wJF_iO&fyhSpL#orJPJ1j zQRoX>!A7sQB`-$>*qUYg+|@KwH94tA`0hcdg;=3!oX^y^n`sqG_y_myD9Cm>GND+ zVMC>US7o~g_Z*P0yc-JYq84?@WY-0yoG0J6tLLkY(;tYdUd}1Y)%l9S)lRBn5f?sR zDcV;~kl{)iZ)^>IlPku1)4eLxYS0YtVDDl4b-?N^RVLw|vS$OdtNHNP;@SA5i7jdt zC1%iD?*d~u4(B`d9>LOJB<{{LkVC7@hI;~_e<)x93(iXfu);tj9i3b%qJ~cAa5vBO zBG|suecsWQWKFOzlOt-%AldaY=SyBd2lkU<_!xcUKI|$-DOQqNq8GQ1U0i-cIIJ0{c$o=7LViGX;Q2h;KQOq3ONyi9owj z(IT6o4=mriaI~lBC=q9$7@=t;tRu}YUHEO*wx-@MGct><_F;YJKJ19bIkeRUQysaL zmS@Sc+Xb~3wx6VR{%#ZEvVCDNDrDxv&`bUhe+dQY&=+paZ>Ew$(z+6~{1U%8ozuC5 zV(no`dbDn`);ROM_g#@_Cl|lm&%gsA(HZiw)6Wc`k7&YgD0p*>@0*0J*vsJag4YPh z#8CgmWGxbWl=)uP6zA$1+6$#RHQyXlzLNV%FGK9+_$>t&oviU$c&IM?xS?C6uUULFjBihA068}uTT4k1pld6}raJIAsZ6IKx*#3a3q5ny^H zvY~7HOPz}}t_<*d6`U`e318(OsoK$8&P>G$ttnc39^|JXAS4PdCFX4FY?y@S7?bb- zEFkoY7B*x~CAOfKvsh^}VUXmb;bg2n6Q)0_r-^;gFwMET!%=O&T%x=P53O_nO5|ae zcO>Oot=pJN1QNN*Wv6ZX>by*6+F8=M1e46n^N;M!5E7PZ!|URTX(L`~b;&t8c15$7 zwpVTqKOCesJ4ptW$!R+q=hu=?pLDszi^te}%m0IEXZ!R>{BcwsO)FMyLivhlqzgoC z{Fb<<6ogN%&O&*Naj9w}^{nlgjFI3sR*k?1o6xibVc7VV2TzYvxqz)=_SZfS6btco zIi3Voo=kDLb&u8AL9@Mrn+P7gt1(MBv0iShbN6fv1k3vlZdBnNBLu`B-(Kl`QNgyI zf%Ah)>{(2vZTnn&UK-qwT6)C?Z20>ae~<&7g6q>9y=y&@1I6-muE8E&>QoX3;$30giag3S}8bE*0{73?YoT*J3jJFBcT)i7cu+YO58??y2)5A9QxL zgXLA;p88(??yMN%M6t)41?duD35UFMbq&+FaPbjmpgTS8% z)+0?*4AO4-!xnduW6+HGscrZrg26&lHyLNzt2{YA{ z38NS+=!yFlw8Y$c6+R_076H)dsAUrCHIU`C_EDDx+mm8`8wOvUVn?&ZUdi{EMLL9n zxU>WaI?Y_m;Fqyy1k}Hw$pdhe8lOM!UDA16{`yAxdbYWtM9cKGo4kpjy{A-*3Lh3r zE^${9AF6!}QzmFrnTPB5PmGJoGp#v28I)D<)S$uawWi z3ryQLWBwX4b@*kFdg-qB#zMs`XZms`I+%F7_F~K>XDrxY6D{U^ zpvXU=AH0(7YHxF!XG#RyLOy?&wJGh1@AuG}5|DQfQm?V-A|ww{J3eJV`P0FICAg5k zqLcLlB_%n~kMz!^$BVHHeZC6m^Fi>vXTzDAnH+AAw=jtj#PYWQ`G~cme@`_dcgq>| z0lI@Rg3Kmm8;fcZahn1T!? z0^j1mK=*orbqpzvnC)rR0KjMJLl}O_6t|mnU!>Z&cdcq#;F(*am}9weq@aN~GS?$N zP^`wfvx(|Yh7E5BUH0G!0*7EoVTE&gc)8ZEX&Uzo1#I8X+KDUjokQ({qAVY~Fjy)_ z8{GTN`k^j$UuCqB9RW+`D%B8#F6sOrXE{*%6DGD_5;}+Q-;27#JlEEl7uzjNT^ZXK z2F(H89nH*$jDrz%s2FA#dA|;BPviGo{zWR2nKc9w2$_2VObrQ_Rhr>2DIIztfPLpL z06oz8T~ZUk(=&z0b%1++XX{WO6>{E}>9@Rh={OEw~2R(fx*X^ zLPU6=jzD>?fr+5p&iSez!7>*NlT_Hq{6V*`+eL=`z<45W0$xWeKWHN$bqbKt6I=bB!YJsj1bfw-Q7h;xfK2~lU)%7W?J$T zj30wKxIt-#lcacn=svl?vlz&#iJ5`681yij%>c1_>=R(RmMu8FFcMZ8yWBnq757E( zs(#l&tsnhh{lDfEIL#`0X8LSA(Yrc#^K5Bn9?}i5Tdx!hEa(EU3oR~BW8cNu7u{gsz6x_h1J3I!eJK;lLH+NO_jm!?=Tpa^t z`2ruXN_ngd@blymGrEXqj@X^A!m6HB;yg*uM1_ab4Q&CLwcGAASY~Tq+T|EkM(rof z7ND5uy{HEVf@!PVHwF{hU+=7PWACgf`q?dh|2rHavfX=Q#Y3_bF!W-&({f8`$g`MH zGR-z~7mH#njQu{VCxNM-8q&Mg#*}#)w#ql6&?`2}7OK~;sw7e!VURJkna$h+q4_vb ztCyoJft8jtWLf%Ht`0V6XRJirFbjG1#huX#+&p_SFX2#z*W<8P_@((#34(Vp@^`IV z`vlZ(C{GJDuFO(E+m(1%QUPrF6F%GjJ!Gj?8usfrHEp8NxLCIP^Dk`UNv$ryJU4Nw zwp)XB2l`g#`Py@uD}P*-NzV>qmZwvq&jRejfTW^07VuECnFs6pu{tPZf@R1Z|SV0;1 zUU5U(6tAz&dLE_p0;cWQVOkwAJ_Ud-Llj5o(drolwd}v^dmyXhd6Zvf>?)(JJNn;K zJWWx4#jf4@p=eF=K5!pFy_n0J9=+;RA~PeZ9iA9qcF%7?wJ6l-989vOLf*1OM?2#D z8aTB;_B|4sJlQk9 z^F3C`N!kR3m}<6Le;=)SWi6C9c$e^0%TLGoW%ig=SZ>78Yp-YLR-NdBmjoWvNx@RVY4=~f zx_$4$O#OzIg@;%6PhkpKwt4+W>YTbtwh#)MfyDY$>`~_EgMxhj z2q7e;`id{>t+?9GwXF$IB$}(26~zOFI(!om&u*93Tm!Nc{{8^p)#+G<^)^G z|KUT6AtanUJ!$J!r-CL`cNVaCoxzExBhvfM#DMR2ze=|zGju2uT@I8Ex`+ZfU_~HU zAjXRCX=Tc-m=c$2p%(FL-@%w0Z$8d{AXEE(fHSVB*sV@#HDq9GVP8+cPT9z3G95;EsB=$6>VSn;!9n z*zm?LZC-Jt)WLyzm@+Z7yb`KeZjgY=gNs*tyopG(Lqi&7>l}od?;D;e`X`bl2(L>% z>QT^>5i;&YTHYkY;p5+0k{KM0T;~LerTr7k)TZE?ngeN}ZEszEY*YF?`S>n7CX;sl8Pi8ki~R>OrB^WF%j&?YpdbyEE=+?Y)E)5F z1+qB&XNKGzB&DXydV83#q%U7+VC~-{FmZOSJ@{64XWj7>X17nEz_nu`;aW@3SaRbB z!F-QwVknLH=p_{nOK7CHq7gL;`V%s54|4^DGRZSyHn#N}#SsRj2 zy0x6_5Fbjt38#wcgeJNmYhAkj#qt zMoV{GNOY(m7JiZiZtzww$B1%9aLryBdRIBqsEeTSrB0Q`mD;+$B(*k7xfyfQkA;FR zK>68MX4x_|Y`uB-8LCH5(_9SsuX}4K9!%7*s7ovh!H?l`X8cG9>nfH+<*>cLDXS1L z*>?(5Z=z4JuLC>BCRkmdck8a3p-Qycc0r_oMg7HGv|&=Sf1yTyU){t;e$n+Nt##{LMf?vu6!rxbx`eoC zD%OowDuUx`Lta|g0n&x)e66*u&y8!_*}-8%(5l*?#St3&*4-|WPH`oY<;b3bG_R8R ziO>{`@hb_v92=D08*%v zLe5W^-rG_Xht|d2k-q?@dbIE`iXVGFZ~2kK5GjKAaZ{9{St35&9aU{Y_fymu9u_7z zgM1Dd)q>nRvo*ljE6~q*a@PDu4TxE)RGALak+5fTVW{$mJkM&F=MOvt511BkB=*Z)2B1N_A* zt*jHVDzNc!<^MIO{ZGOl@(of`pqEOUx{N6uh&jg)jw7){>6zj?Bh)?~02~Wo`KieV z&ekn^hBn@2Jxr;=UM@ypL9#2}W&HX)+mw)+?4B|??zHN(;%IW>{>t;!V`N;3uKJKG z~+@uuE4LeHkSVk_?`XRx*C(@*qIe8J$D zf5E@(ZpESO1YLHhsB-s>)yhM(H7?5ZQ{r^rdCZ=11!Dfe-rRpFR`q8!at+UIH*&NH zYTbw7OTO4LYXw+cxQQK1;l}a3o*}B(&o9Jv?!O!R`JHj{?VkDWts6b_cuKI-@`pji zR*E_D(hJhU!=hjnJY20jDLv5Ez)G}6w43#iWmbBNI2ArNx~e{3kBxS)_O>dP`@U^n zV{E1_YaK_NBiv-07fENA-IzC$?#$hJA0x$?fxzk3Nra&k;mM7t#p7v=zNBc{$)ly{ko}245hX&ZencEVod*A@{D> z*jU}kT3e@us*^pF6&fdV^OH&d=0NCOD41-ssZ4(D=OVojR(c*2dVe0Iq$O|`jngfP zT))qLIdBHcywy$eYg<0b7|rZnD>*iwYZV)zwtx}Z=YBO^uU zGiqD?b42aiuHrJAZ0{QA1;X&n)+NxRvt z>q9#X9hI0j=OlfxtyD3J|RQlQpUAqm*)tg;o_DLa~geqyZ-d_^`cYfjAZ^g^G3bG zU3OGC&O>(8SS8I8j1ub_sHAj-1XR4VMgML}sUrzsLMeI|7S&OFnC3eR-7uOn4=X^| zk?|v`rE5>nY5IWo@k+33^_EWd<;A1uU4BsQ7=h+vYMxK=lMDA*cuq8~kekgp^fEIq zx-t5}!{=T{myuT2ZBd`?SD|rRt)hPxU8kD8woFY8+pz@W=oep_4%EpG;I(0o!#;}) zc8qAII!7dQpQcZV8hA1yo@1S9f9FvoMHz)AR1*J=&aNM=R1_KIx3^=~#goKVNvr@VU<8zSZNN~T)Zw1yjG zS<8ix%?(sv5^oM!Sp8LP9h~Z$qiJ!;+BjYQ?)f^0uxz|{XU^514+)nzjleW`6sXex zj&AC}v$CD5+pXUg)AZyp?WmJHN0$0xSe?8X<6QCa@1@Jv=oT5nmMuUmnt5)Py1qCt z5++|WHenEO8ODF_^@Q3tpG<1l0)63~@$&Mryw5OQRiRKMlO}54CidQ{AD&WjUR}uh zleLQuCYzQsN9v5^j#i4EbS?&K^hE1kx-DGGbv=KLm|iUMuz(d-{*(}x?W=7+ z&>}xzo+EqDSR$Vu%nhBBP2y5&|vAJPHaVG$4bTfZzr~yzlRvx^>R?o$vm0 z>r~xar}`hY%7o3{?|Ro>@3WruJP?{k0IUSA;AqE=hYukrxTBzgCyZX)_Z{KR&0t|m zWN-kR+X4Dq-#Xsqf1BfK5kM6)$m;-dH$FFh@M%Bcb@dSR5L~&AzTH;h;OBO+O%HJV zhz5f+Q<(&Qy$OFtz7-^`g2)94awi{jFN22h!b3++wO6=(^PleisexCnyq`8wA*{jhJ^1# z2M^ck)f22*TN<~Qp*we&sa=BtAzuc#*q4}s`N0-$iA%4i1|EldRTX3vOj}YF` zrj`Jv9h^x3w>Amh3_31gqSOPmt$u1J9Go;6JoNZ$IO2cH1Bm8Hb%1`)@((^h?t4>z z>IYxG`+s=Q%iFU8JK&r?-^wF^t8S{@0dHDCG!4j0{on%>u6a)|8PZ#eXfT-T11;x6 z@C{!5O6*=VKX;tK_Wi+!Se-50$^9>H2sTypb&&)_T4i?#p5I>Vx8CJNbU;AUs$whJ ziTf4}m|(O*b_ZCjwI6(tG>NcLo3noI#>OaE!VGQ)`IaAV2Al&;&|Dd?>R^F+m;Q^m zvHuT`O`i}oPbjAFgb2$Zihx%QY7FSj{cLsmhLvectF_vT7cYuW-M)SMW?g7G>t9kuj*I7ZK~6j&@x55y zU%bQ6ojrp!0>8C5bar_jNv}u&l#jY5c>0_$75)h(9`y}=2s-ua5Z5f8^;!Qb>qhe9 z4DYdTLZ{8#UY6_e+c&<(blwgmO~3a$Bf$$yojqy}_XyP;;o=8x7Jba0LC7<;h zSH2e8Z1OAA66s5~jLuZcpcU?J48)NU5)LX!G4U!-)*^0_m|u?qPrnNx-xlSWE4@ZN zu9;PC@<-fhXB{0(tUSznt5x8$l*7I5d5=mgnJlD;dwM?NvsQP&N4xWVtG)2myehPG zn9S&I^O5eB<8z%vHCK|Z8ilkbX!AmP#2VD8YFb0};$ArYS$p++;3NHj# z2Rz^7VL-CaCJC{;4Yt8y5SVX4SRxuC{>v{L6S~Y<(K}m!T0v_gY#jUNtN%Qve?sD) zo%0`4%s*M;pJe)<-a7w;#6KbNPe}YzH~mvy{@-=@KN<0#jQCGR{3j#+Z^?)kt;GO5 z6p23#I5nuQuNgo1WM`PN;LIkpk^?j#3*XU3Jy{%Zf!MHX^TKKfzX~Aa9*=!X9a(eRd zxL>FZsl-7ox=?Ci8?m>>sic6t#H(1_DFF6J?3Iddr{{pw0UtomzD-0B#;*MGgYQoQ zw<-%L#Gmb8{c?4A|7QRQMhX<}+wJhg8upDRm%s$+;Pw#UW&sF309k1HNK_z~%K7}8$^otIu!c~6xIMKxMiu( z?xTnHj{}Du8UzrVe<73!^NnDExudA1&%lo1fBNblgf2J}xw8q{g|zp;KnO9uFE#>) zz~Bhs8$V}~CuD^HW)mj(D*z!EhoyBae*wS45rE~q75L|p|3^RAPPRQ)s&yWf+!2JH zsoIXBvMU%hxY#{_InxaZw1c(Nmjgr}&~Dj-oQ6%O zWx(~AZvJHm%xQW4833cNZZvSwrAuC=qB@dRr^to-VXFgDs)s4{G^w>%2I3Znq~bf1 z|FM417d~H?qf1+ov(mG2tbDldw&sXUb3v|pXn3ZaDE_WznR~6ZtL!Dr21M;Ndzrg~ zAwVL5z@tQahgG=yzLaoUj4KY?#S2irvc=^os9{w+Z4byD)883z}7-zxZe=$UkQV|9mJe1 z9aXUVuoYa*LV%Lq0eeIUL$BCetOxMF3HSlJAeQ?;N_&G5<9VY7r3m#8dp3tat_EBY#44`{LjL+pg0tuF9d!eE2onfz@3?~c!|*AG6|=ZKx}Y2d-85jHfy)d6$T0{osn zb3A@8!bUF@TeTlKfGAJl9nJyG7u2@~9`O=k^Q$CyN`P_nHxgW)8HJ7I;hH;Cu?+td=GKZg+L2u99e<|&`mI0!mHqIr%V zXAbg7&i)G`R>&Tx5V86w&^c=fX!DIv*tSPbDlV9LM}?s3#j&f1y|dkay{C6Hu)P?J z9bD)Pi`kL)Ya2NBu3;*o$nV!DFFkHrjD>6VeJIto8$lv(3GRl&4!-L7lTW)#TQf``l`*x}tD*dv0+O$Q` zeIEDz$PolryfKu* zQ8<0wYo?nZ!8M7h_V>-l{ zm^9{Aq-l0!AW{OG;!_qWqodw-+bbvyk=0OPHz#?lC+5qy4)R;x#k zop5Uj+$nLtnbrQ->#cuSYVX9_$DD{vf93VN4$ZjUkTNv=b%FOi7$2f`joG6 zNPg@U&0`}?r***0O-1!5v}n8Pe1%YW@ty1kRo=dx(ZPSdVdVc^?BM?vHa>ggYIhWq zYJ0bDGtHI3GURSohdCO@T&q`Ti%+deB{@&#AHHqTcb|6s(U?k&GpO@=0}Nu4-Fix0 zH`~jlYXVmnz0RqHpoO1pdKDYgC}g>LL~Pp3=A0A)VyxT*huyk?4Km#z4Or6L3|pA5^Dc>`}Q$$P4b+rxhU3!7Xae#S|_QtsvW z6IMe}5i^{%kXf^(YpoR=F~8{@Sfl;Ez_-89y#^_e+I^vmOT-_~I%j(>UP&)PZnso5 zg((Yv>PEg-pin4s5gSph|5VURu20-Yif!B&Nll78$DUGJDiBb%#J-q6`Dwos%GopF z_0NfMJz_8%)$JSTB*ejQ=xKhYJv}D@p+I0-Kn*&)ae_cQ=1>O_OJe=eF=>UV0h+w% zsaaSK9W8r|Q}L!>wbS|lyMLP$#w18wo~|dQ8J||-!91G`t-_S+zrDKI*NBrrr@jqel#h!Qt}^VdzM0~# zwso#VpUz??Fnh5U9&~0*o3Lr{AE-V9qjwR^7;}f<&BLM1*H)Wity*CvlbxY*!ZXIS zrJ;ALPW)+ac&#|c{aoH5t`>w`aCQrLZq@-x)X=YoF`(|Xws`LgRk#-Sp!chI>S907 zan;&J`^)PBo6tYaK%*?XlH1kcI-(hXFkyv8*3O^_krAPL8+I?BVTJElT}S8igf@0N zS|p>=22bW)zJomQ@S>q^aCgW}ynm9%8vS^I_67QRR;Is3R-xoPn=F)BWmjNk>YX%b z-dlx~wGpCEMYzkrVEZ|rIfmUq&*Zb?Q|c233@nlj>kp3)o;21BQio7_UAm{3kpYVE zo}upGm?prP1|Ev)57^P$w}(0+$opnYbf>chGqh??57gg|h~U8#AZ@E(xKNSC)0qGx z$naFW1?Snsw;y~8zSxCs>tEO#{Xk;m@TfjlkHCx)qu*%p(XvFOR&zY7mZ9vmoxP{$ z)SWWv7uj*zfV$?QUhdz$6B?FY?`@AJX zo~IF<?<1S zm+0}RNqHAi!rmqQL7%K=cv-o`Wb|{qMHR)Z!eo~}AXAAx)rv#6VIIC0kJU_bc79vEG$C8Q=C9OW=^`}lJco8 zf>OKDV`#Gz3@1jj7Z#QtvP95~U>m4}179fYiv9_AcD&u}aX)hgEsw40MEq=h6zj&k zk*(XTtiHO?t#B^mL`O>gr|~{cb8N+D%_S()TAXlYlvH@0h|JA~8TV1E3a{;lu&$bL zUMNRkBl|=$dP3TIv6)c{PoGK{8??QY#`$=cA1V|Z>s5QeBrh!Aqr2T?+{)b^d8ZX- zY-9<&uuD7%y~LjL6g02P_7au}zE|S}@1hZPZ*?;-vyh(%NZ@&-%0deB-pw860T&9{ zx#vq+WZw8(bJ9A2ziA)S)A}+ed#gf(`x6v@hdpWYycw$J*dsZOv)l_D^#mqZDc|>J zIBuP$0Kp-ZsR3C~#7{ZWm#3eWaM`F59)-0CkG7hQ>9$EwqZLJ7I+jEB6$|kGXtlD` zv>NJ74e?PK?tXfRDw7oOMbuQ{=vP}H6% zH;`kW-EQ$1Cy0aqyD)<%0*$jJ&$CHMR>5~T3O!(swn7+ZnX&+81;KxZb?({@CgMaY z-($($Xa%eAd4vEqg)yr(!3}=&0ehP#{!!7Md!FKSuyBFxac#BFtZSm?_rZvzO%IJs zlCb}g#hvRC$v?$kZR1*7XI}Nn6p0L#9_n%He6fVxVO?9dv$VJ#{QG=O>AbdkiMP5$ zzD6#{Zf;p7N%=nJt>qs5wV{q4&!nG?*8;!T*V8;S-&~^}oUTtkLNs`kGZ{Pn(qmb_i%C z+(}MKHaDhj>eHq-q(hsPhZ5!=;+$Dwqq<=n^(>-az$|?S?)P5Z0d<1ev94|YH9Rdz z*V$6OV*G=@e9)%Wf{sVFj92DT=9i&R|pJ&;3-uRROv~suRzypbl3Fh!IXBJg|F#g z3ajZEW)%IpClL@;(`K#5xdu1%x|43QvK-d=H8$^_e{SWz!eplRlY@BVG>%~X5fss) zw@lQEdCSW3S>DHU&JJg@k)G1Af)`x3-ihznTp3wPnJNJfEfgQ6J74TTiZtdGhOYtY2T$jc_2VDr=K; z4fjC5t8eW+KALvFJ~NS&kndNbLkpFQoX~f#-3viVYR%WWzZvafO#Gd`Jy|KQ(7wrE z6jKo0b+bV9Xy?*{1tt2bWTpY9Dto|iefp-e&UlrA2PvuFz{?&fixONJF4JT!CgmnP z`oZUj*TqThSMU_ElH2(lkL5T0LQb5?l(@O6!CxORd5sImjPDBQ^*N5%0)<|YHeJDZ zEjT>_R}9B%PQ(+AL?5#n2e(rE0du7Y7GjNt~|)6?kk(Qn=n_m?v4WivwJ z*Ouhcr*L8t%NAeY2Nc>?-3=gJTDCv(z#W19cwS-oJ^J;TyII;Vq&3^6 zwA+8K@$6x3DqZVl#fr@g0<}*2H+p8>GCT9`F39tmXx)ljL1$H#O;=l)N?u;WxB|rX9BXdua zaCA*cTJBMTQ>trpijD(A+6b;%?G^INtQ|`PQg?G)JsQM7Rgu zX>%Z@&oJU)we!Pn4YSUP&Y-Jf&m*M;n>XHN@Vk6?PCwtZXxK;0?4eyH+MkY(O}YoB zM}a!IAVs8PNrIf(6>7Xu*Qd)%(B~akv7DoS{k=kfr;YCw*|S8XBQ8^BLI=-6zfjen z`t8@ZyRQ?TFDC{=CQriG7AoX1bK-~=D~E-TIy8mr_oD!yF9hA_*(DN*UsIYcvFFlM zM?!hHwRDnb5Lv6YI>twivZe2*ki`tKIV0l&*zMT#vXzyDhvn=vf@b zwLpg-Eh~^sO6wY9s61!YDQmeH8|oU-JQnm7S?N>4Hhs$p^>_aYDYbiQ`3C5Q z(}hai=~i~fO~M0T=N66`NUe_j`GYSAXR;^rNkwLeC+Y=UT?JB`zfK!&Zo5OR9M`$+ z%N&#CE~F?_xPWH(^KYkeWD}aA#V~k@;rNe2Eam#aB)pK?T+UlbHFjTJ8E-dwC9l$63Yv_h_COc2(0*$G4$;*Lh01-kt&DyuEcy8GU z80vtpE~A|;mYnbBqQkF?=Rdje?EO>U%<%HC&u?hnbFYf^Kj{K zm^{$OJ;v_&Y*YiJ?d}AEIaQos!6?Mvz_IVbgcSmDRU&qkrIU5N$EK;7 z-MpQ)usq%#9uMVQK&h8S4(j!5WE8f%VSkCCHy@J^-ia7~*C1b@Ba~5PvE){t+;vfV zNf7tECbiPFMWx(G1bHCGy&+EDV*Oa*(oW>b^X{=$Gf7659eUudm2Szr24P#lKS=o_ zl>yn|_L823FPucIEb}k3)E)+M-dDq5yOJE#d_lrIs5hAv^a?qglnB%L_5~=gF5(B@ zPaR={qPSZLEEOU+!F)J#8*qlRdgz2~p78|L5F5?feoZszA!S%RvoWF<%vxE@@8G*3zm)&Fh}a$=$YSxAm@Jas;uf9-2rI zbI;rbVm&|Z`yy8+|iH)44p6+#DNUl0uJ0(BVM|SJd zjnv+gA15mmMfAamyE`16ZSA)4D6nyau&{ac`x@QgD1%t1FTnYMEe5=bH*y}T=0 z#YA%qtO!q_IVPfePzLH_p%S?^!U@dMIdQ#q?;B4qQ-vP54u5TjQvignK{@ku4gE)a zxe&bP;#!DYT4*d|P_St6WX@frwqXPRe4Q^M$g*9+gG*sn2#^3$O8`R-FUMJ-U^;IpQwv zYpAXZ6rU!8DV$Y#04Q4UM)=;@pV=aFpU(o!pAbUdvs+W)2O`WGIHSpSH5C$v-VN%) zMg%Qd1dDVU$B8W5ui|Qgap|wJXqa5Y4ZO)lJAtF&%R&DhCCMbOxP`l+0|EvS3no|3 z|Fx-LuKP;F?Q|E59C*?@Sys~Lc{j~`8fx!tu}ro`iaZ?Zp^GQeC$fDtJ>NBW5o!ZZ zy1sGk(*YB}9`E9BF8S0>lp1PFFYDeNEBz zX7mKL!}Ad(z57B;BEgfiUqV&>6(|Pd)66=x^bnyH>4k*G#~l)g=<8$FS}w9)P|8gb ziP0gzV2yLG;RjUskUwG57rN%e5YMa}*t^T!#Xpw|-@%|Ko)&)zSKKIgjh$b!H|hxv z$s}8u>bC@=#FDPmmir==3&uN#suG&x3tTK*j@L3mD9U-kN>wTJAADfQBs^3|yf_F~ z+cquvmi<2Nr29(HlRz!zTIkVj(VIy=Hy<~QFoKoX&wJd+sdSSyZ_I$Zfz*hs3={qyF^;Hx=2VkZ+&CFV4v{~8rjn8-?Ey`tL`9kg*+q6AX-@fQV z=NNrrumPLC$$J~aAT*yDDL~ts5Yzrnr~E?NgOZ-v3QrZMdSVWt z(-=MCNz4x&2klIZYAJ`SQtDlzjSC#vf8*(e~g@GJd1{ksGd3~Esg^dG8 z2W09kd&X@rGA&J2!8$oMjYdBjHF1_jLTS~j*Iv%#q*+&+ z$6uJgr+P7K;@RrWc&U2&$U6zIxsQ(6_oD+1QnHqev8+f_^=5|!1G)DbK}LSmr;4WZ z(YMdOl^e-tGeVlH+0C_!SG!_FbmxSUOK#$1EVCuy9?x$G1qOObhYysVoKg_)CGP34 zTem~NB&pj1j2{AN>i}uu(ireB+wHj5aXHJ336ySp-GS^Y^*{uj8CM)xt_vVH1?&S) zHY%n0^RHZwR~g;At*LcePOsfpCuH!)vrik@kH!Hxz1lvZT-2M3&+F9rPv%P(u<;?Z zW>wexTWvmDoclFf*1r&wyrz*t#fuNRP+ksuw>VWv!~*8Y904adQhc~H=AiIbWro*> z0Pn+2sg3I@@kupj>lLscs^xB!>AIkmFr7|oaj}O(vEVeIE$1^;7l0DJV!&EMp;7zu zqq1k&q;&vWAenpqH|W-i`w584mkMdElhd!83mPgfgN~oO|1mWEdvSTm6K~9r&#H{f zvP&EF*|=W(lGl&f{_YcALMAa?gYXKJlLQzwFaq++^w59EFKd z8eOq0ofaiM!rTwv&AdEOn0tA8;6W|1eZ;h)X6j?=(?<_4Nn<>cZtbK~yo1|~dM0Wz z=uYBW#Z=`><{ye5b;YvOEOQ5!GqAP!Y8tx24~QCBvDno330C{5a`@_dBhRb3(UtKpq$(_R1HhtSj4tZV-vp$`FZWEoW3Pe7Z|2A^hx&{ZP9BlX3*>qwG2d z6lvKxN#B6s0v#{K9;dd}uD$GC@v$ojmkL_;nb<0eb#Kqz^qy?a^7S2yS9V-|W`PfO zl>VC8MKiaQe$G=M6?xR;kZlCqTT}}q? z%!{eF8QJfyz1a7@<0R%oHLdo~WR=?aJAy4QnM$L@tuoC+%OZt=a<$@7a!^BCPhy`Y zQ+sLZ{ZO*EZh{&>lnyS9p@u4q|3@R?|JVN#7^i|p`vc|uM~L+`LNIdQ9nqR}M}AL% zt31ln!U;kd#I^EYhI0~3qBE=|CvYLmGK}-{@>9-kOjH8bfxtvd`Cy8}7;`Bo9_)5> zGQdX&mrMGJsK+A$1lW2b(3P3)$?{)-+?6bTvZ6^~J$U2cK)7(LMc>-sk&G@{xp&b> zF>N1J3~N?5x7cRe_Q1FOmmhp8 zh`%2ZXzid;70Z)e<_1JVZUlBUpffy1v%eq&3vLQ}y$|*W2DgJDR%+g$o;9~^m9tCK zv3c*a9e;VC{CK#UYtvT8kSB9z;*I?Q1)QXP?iab~ldR?(j}woGu3l-wHJ_ua+%dFj zg^~wxPi#n^zH^T%@*Fz4I`$;2rGD_OzTYR4Kg~fWmOJ;N6DH;qjLpBsJ^4Gw5%PX) z!|Ydem}qi}l9>5*f@)y>@@vS#pzLagl*$dLvX<*K^spVtgbVjP>H#k~5!O_@;@)pS zPd;bAgb+IS4%=PFdAOuwwEH^JMEFL-_R%gU(KSM2;K{aI?Hu}K*I8?BG;H=%_k~;5 zmwUFd1&GLle*_v*>VSNPA@DogN@G@~xf7;2MeWY|4nbFeg2eaOrjF|`!sPW(y2L#Z zTU^Z+)0XeQx8lp1vW0|{TgdsEN1@38{hzyW37dy&2`-fP-55JnoH)MQYVQe zw!`b7LA1f@tp0?t$RU9S;KsLg=ghHJnFX;$BAdX>im6gTbU}DtPMR{o5<7BZmw~=wp{b`l3SvhqhV>VuAQn_Vx_!; zmM0^KY$KLLcXghvR+S7OTFTuzxm4rR#B?bQv9N=8lV^E{d3_)VIxf#iVF3bOafqrE zF?*6@MjK2~u>z+sNhhiE;ob;Mq`#A{s7D6MV_Pr)o*J2Rua+&*^Et&L1g6eHMow?!o@y!Ry0v;McU zkBM?L=ccSXWk^ckwT>{vXDhtX-YNdVYffuZ@8|_}yvih+@0wg@n3~||ZoNV*rO&SJ zg`P_kR!#cXgSV{H*bi7@sZ?2LZ^1MR;GZox6DW`s%?BZRtWWU9hXJJj45+c3o$EFW zI5^tT@TFPPWFNVAO^grQf^7b@8&DZsO}O-VLci&I$EXaOya%*V05Kxg=_DiQq?ceb z;RaGMvy)kw$zYy*PzH3N03$`4uR>@LQJLm7}4{pao$}v=OnxX1W}I3O`^kmP{YXF^RN0-h56tJdpjZ>Z?b+ zXAIHNEN|&i2|_(3os0CW*EYVk{-`<9Ho`pew4k|FcQejTRov6~Dik3Vz9dnD7Ei4= zzfgHLPtCJAoR)9y7@LV^0Rp8Fs=H$s(400F*nnmUC-3UC?Po4iIbrl@e%z^jVn@i= zOlw`}Az+Yp2&~5;Q&dhuStd(&S#U{*6AJj|r$Ba68hZxbE~`97xb%vHPCzq?BX1Z^ zGZf!N>sj$E{SMIbOUJF~r(#HVdqS_(XgHP~EL?0FkHqT*X@^{>)He5V^}slq!1PSC z*5uwkeFq$@(23QnEW`EWVy}1lKb>#BIhkyx^!Kx(aOTR=M%UT;n`bZFE7P34o)F=h zP8a|Z-T&zxwmN)Ap2jJMp@zPy$m@TL0;BW}FLU3QeV$!*d08-Uxj9DWP4}^UENZ%do53VXiRdfQ#*3vBT=?y=NPaW8s|`W zi5=WFt_C3Vt?oaA%-94VN{S29xQkP^&cf8$FkvdtghTV%E3)3{I6{iG;AHzv3Z*P8 z_{l)@iDBI7J2GWIP3N_ZsZ1ZKZb^2~5AvdjKw$?H7)x^PbkoXvZ$^?L1JtWkf368! z@#q?&xs^E(!akAGyO^JBc4{X`2kZWLR<6kjKq%hpyL$5qGPNhvyyzku;EsN=-2v$`!J;>lLP^dL*rs zbm#{&^N)~NBuRH-TD=lX>`7oqQkI9SdAi3X4#C@(* zl(ZwTe<%zFUAPBGpIAbd4-2vT(^~|)1O^zLsv9{xdGZ2!{|I3x=HKf7h2y&~fYs6e zd|!ao69d~naH#@v2J5nXe+O_h|8qq8Rq>AD&-~y!^RR~}b+Kb-7RHfj%i;b09JE!z zVPf+yZWSQgL_nYvJB#M|;X!CDZsDI^0E+q@ptAb&9XKuvoTuXYVy#H4(2y&cw9*(vqybNh{-W76;2O6XYSp3*+975d9hm~U%c9UJ=C1l}8zbYl1zP zvT}iZA*iunWu(TqT;pIUQ{Y6|^O^U}&<>_qOuDV0{+2N@@vo5@&oa{qNmv}oL}q-` z?&*V(PdPl1iJu9bmk_~2w-WZw@NdDMPj=6T&#|vea;uTs|N6m4*am5R!WWuDr%c`> z1~i+0>@M^9Bja}Sk+$mf+}8yy4(LY+Jbf(RM@svxns#3JSZ>yODO29~=}hx%Vbly6 zF=m?n*VO;eT%*M9=TpTY`-QpB{(Giec@D4e35F^NrE&DX+j3;?lCWeJDgox#+6diP z=)dhUdLt=i7&fxU$7wr z59^bF_o$BV-T*-Gy<+s6K^Ytz$|6B%2H<%m@pPcu+X>(kW%Z;aePc1P0F3E1%3VTu z52u5Ml$jGMvv!_FWPW|%IH|YD>q{P);5_PpiHk{XOaf={P|Ks&9Nn@UCG&#EpO}e; zzKXTmAEeeWWg;pykS1?j9%WojtYK+&ySChqy-<=K?Q+Gz*ZCAdd;FXIx*EIc*Zpd$ z0oRl*mietiA!1uak1d^m2AbDs-k;ccTN=ZRcb zvT2pvUjO5qvbArwSt&qoy^223aWwi{NpuGAptGL`k}#q41=H8;Q>+`Q?Pm2jBxJ); zK~CGh`N1d9!4!t72!ZUiH_5l*N3lW-aolf1O(i)$WBC~crg$J|I$c)x((B%Gm-od@ zZMhH5N@|+@o|G;NxUlPuDqk_HLF?WIivhG;@X7oJIg63qa*6hsD`ht)-mosR+j@;L zCj8BR%dG{LD$Cb-idpx#xyC;mud+{Ow`E=l|9rJ*+B`DK_}NtWSm$Jc{KZY7jrj(X zMdZ;ZysMLI(F_=*F-MO+%o}e-i*VIg6c{#TUT+|2&wgqODqi|dC$LMfH&~Q)4m+Wn zY7CqNpvLo!L!wFBFHExdX|vj`@0qW){n5;dtZxY++x`KkKAs&MsOs8r#*vH$f<5c5 zzHkvO4@@VyW>%)v6i)POUiua@Wr;j@MWWjJCFl_<#A{t(fW8x69dxN)!S2x`+t6kO zM#nqtvMdHuF@G2NQR{Thx(BBZvZu}kpp$wW0=$IJJ)2s$KJIRCp6H78$>RWXgEuI8 z5E<`)S_uOlu@y|QPJ{q{5U}rusOGCPFuS%(JmgGSdfan&kV?^L@PV>WCatB6qb}16dvN`w?sbQ z8GLe0*6w^&7Q-RXGs;(k>{HvxG&uSAQ_#t&+UIl^jG|AH*!DTo<5UfP8|fVq+LJeo zIAEo-XT5@#WiKwL_hjPLv9B(S;i8ChP^>o~GYEGaF!8+|4Y`+V6i*8YWt~Mxaow6Q zgG#>Plea!6@_?>(xsr3(zbr|qQ!6G3@1E@>tFE^F#?qclGUmh)lPPvB{^@15F7los zXWO+*`yQuu~6EOxlY_W{4FT)M}~Qd?YY z%@XK;8`e0%9-Jk@$#k3LVKPfFakPr5>C(A?-v*(orb0wweyBzbZ;{gEGh z%_jZ`pYgbl{5CIv9S7_%&}NsMTcIjXP@=5#m^SqgAd4TllyfcwiyO2TPopzckFYpW zC!f`lU%GX9knBukoAw=8B`T!}tq{OH$@@6LQ^lH{;Yb%$D)B@(t(iO( zU+9$A19$d#f7w6{hNUNB;^8KnM0At2tJV+`wi6O53Tlw^_9Q8}2j?$hOP6IG0zc%V zQnURNDQQ`v=y2_r<>x8wIkl`=8Lug(fmvj1=UHeSD z^eREN{q#b|Pji?@dg>!z#1vKnU}HG5%DGjl(OA=4W0)ZJ?&ou!n1cCdZQM`|#gruB zr&d#6eD0Hdk{a@^?bxi2-Kkb5dIjr@R=H*=m}rmUHfj!!52|QRT;@Y8;Y4Zjq z+DmPv>XLkm&cl_dz>nEl!hqqqjlF!f*?7(Fwa?I>Pwe8CU5x{^C<$wyO!o_TCh)uQ z6{!nnK-Q5S&PiLcZ-GecM{8(~Y0muXP-lJyUJtrC|0-IsZvl~R%{LT}xxE+V#DdfB z@G}Aq-Zjp;z7D0n|D@2*$es)6+#DipwZoejpra#%oEcf}q8pTkFK$+f;vyHu<2^SC7`GTr^Ubr$}@=a4)l=XbM^2 z<)<5x`m|=)C2TN%SML#_^AsN5$FAsBprl&CW1=|4NHB@QXDyF2V~alIXfRK6EGdk# zQ!Mq$dI-bH&I+SM_)zFbmGEIKfp%>gLIcVMICJ|BSB}GH{D+q26vMe~bzgNl2ZdZ( zP6^@8HEx*+ehX6)HV^)}QTPirMD5hYlT*M8%E}gJuVx7s%J3i}SI7NsU45Y*o>3L> zT1lA@;v|yKs_BiZrLQ#%Z2FPZdNminr|ezVG3r^q8D(_{CN}6MuXIi=#lzxH;?5}g z43{55GAmS8D~`6?b5uPhj0wrGgE*mh4veLXmo0Qb%CAl1@apX4dringkm(&)q0id% z08UsY&X>6_$&=7?LXLl%6AVXLR-`{QMu>w~3xoL)-6)+w2fT6l)S9yHws&-CZF#(qd^&xD`OLgM;MAUJ(h;jm z;jA^!D%bP$eU!-WDNQ}BhI|7FqSKL-PTK73)8la?WJ`0eSQba_mNXtmX~SXmPOX?) zA7{^HJObWL5zz^A2f3%`zy8eq4H_nLgE?Y}i<}Xz1qa4Z6#LmM3(Pu^+#z3f_F%Vy z`l}F@n27gflBb$sa4++b^}R_}SB@8;i!8A?k4UQp;X_7}-maa2B%+wK$X6pNSN;>K&Hd*h8F=(bGwmJnzo8%Ll2MSFM``LMH zgPw7ZC-nV5`qgIKX-7}S{N@Me$m_6G^IEND0lOC8^dz65vU65|e97LzFv&ypZjUTf zOsh=`L?2Xov##N;5bkx2koyz67v+>ll4TwYCfU6D>%C6aarStilWcPLNPWS=lRzV3 zYYh>5rr_Sc&k^e{{=|6$3Hw%tEA;9-JF6#+s*WGt4eL_AwKP5GGYkrg#%&w~s-}fQ z&6H08@-|fw3Ue9R4_IhfTTIm;E8`UGDB2f_b<8G+9U3!9yJdjo>i^X25PDtjO;Uv6)nV*7(C|SE@Q_{O!&Q~T>0;JyA5sP&vi)D~MQx0Ke zfqiBxYp)0=$s|nkcT$f+(esqFIZ6BpTUJLpS`-&dfxdQvaT>KJm~B&Qv9UNn(-dt0 zJsq_8nx|!SigNrNSr+f%BRVVGpzw9(hQ?{8nrYIA(N*KBS@&s+<&)Y13XWJZe{%Yztzf5V63cE9mMJ2qJwA)CQK;4bw(TfbWSYVuD{h4lIi+XrD;UGp4lZ5(?_YoLU@l_|l%IiX1#_`Zrp zM2a!t5I2Z}`@yHU1gUbKgXU>@61$JS3(LfbL~|71OwLIh<1DszDMxpgtG42-D;)>!cct;AKt4D~>i^~T6&8^f$~(c2!n`ub0=bIiHAhCVS> zx_5jYUguBQble~!t~`@WIwv4=m8x-Q!V-d(r!+5C1=L%`TPfBQyfjyM$cPLTEEF4l zGxAPnd9#eLzG@t?^x@3?C+;LAt44U8y)jcom+oGvM0HDNwhu~%CGM8t&`SsL2~hO5 z-iTNt;<6J`4x)HALk;s3C7cg*lWp_sa8Lv94Rn_Ud*5N-&S~v28)v<`cgNv#CHs=) z9ZF*G2u1HwN!K)^31x`3<$v$=4ocD9&GvX`Be8ZdHd98{gccO;O4hW|>eh zi`cJN=c!IX(F>?9-`BUkci(cJWB`-^+e(wbsY3<}gJRq>lQ@${I3=iY{#Pib1^{6a zpKsHqRZ3W|?hr0ORcv6^;lk-ItAX4)t<^?xM%QPLZ>}sCX^)@GtI-}Uhabrg4wjX3 z&AYlYAy^Q2x5lOHR$lD_i=DsX&Tt3T#jbB0f<7%o1ga3qifvA87+$XHN|(%gkCFGc`7i&j49HFa_(Z*=cZb> z3GA<*53&%MEehX%=NaPMUP4i91PXe{q$F4TWO7>>_^xDeZ2~z0%$~%m;dKh!S`LT) z<2{{-rF)EjVUBXep9H)ZJswg#{a)Yu)uvL25{0i($t{=OXVkY*)OO-;&Wpz}*Jx)p z&1q#8y3&O3fV!1o;^jSuo`)(|{D1EXEtx-jFkMETuYag z^cCuAhKYjtZEy^{4PBES#|V`27Do!06vMw_CfM9{V`K~v)FP`p?4 zH-GDs=DQY2mRp)y#FXxZtI`%P)CAD{X*Egpy4J@t*8*dT!UswUVDbr+R2oaGZ6H7V zcCSfJA9-aGdVG=#W^f!kd8OuAi7?G zJDe37X%}NUyU|`!=+3I03#b%3DwM?0*ux+v{xA0aE3T>Z4gZCmaTKW$={2Jap!6aT zFeIalFjAG?BQT*WAfQ1*q5`4APo+x{5hH{U>1BXO0%W9j5DO$o2VDWdC4|gg^B%lM zd!Oxn_CEwZ`Gl;j^*r};-`DlMVuE+W=t3XY=R$pgGKcgEZ&=oCm&ype_P$&&07sY= z1TVDO9JSKtDB4tBoMyGl-4^T6IP{l2=f|y&d9^eZ70YdlNBS&m*8~P!9?(sUDxgO^ zVVCEP<<>RnD_$%deY7Bi?qTfdGR4agM~~o<;mx;RDDFq zH5ba{+aL=gstr6jOB$ErQfXEw9i3Pdod^`vv`8t&L^eLFe(N?6dac|>#zEp?@AZ|! zWjQ0;K={c#IIIxsZcEc2eBD%;k|}77^KQ7%Z+OB6CIqm?2K6Ql+5+mf^Tg0kr}ni0 zr#(9`WRWg}6PoW~a+D4Oe3)6A3zHR@dVOwj>vQn3Gw_=_X<~WRfQu)ei^)9 z+sTO+bC3%q&Q1q0P$Jv4>XUc%P4i#^Py}XOta`FXgct`wQA(|{{F{08A0Wbbf7!s0 zY#*y1ChVX(s4+=?P?=UdrR#UmwRgv_VtI5Rs-Rd=9~T-~yAc$p3-f#ZnwGpjt!~88 zm@QVbNzPDpJr8_^XLfV+a`>H)F{U4yvo1nTJa$wr{}SSqk1P4{S`&AKgoeaQcHt?WdHOAX%rZ*DRR zmVyz7`kO~RnBTJ`lZ1Pmr$PD|_rW>%Gw#D*XC00qrB!5{Tch=;DQ`y8nU{m)@-9F5j7ZBZJ{#0V zlfbq~NBnOgQj|G2K`p@YTo_Z6JM!*AvL-#IH$)iCF!9}XcZat{ht~l5ra4f?D%!y- zk9I&E#NWXdUn#(c|Prh4ACQFrIL0zg#?^Lb`{a7Xk*&tKYU%c{wx$Ld-V7Ni& zO!pN>7ySlm{sI`5s(C3UGFITB|hMa2Xovg~{#hu-M8_{?C7YQT@A~n<(bdtekg77V;2+-nY-ZbaFVBP+O(Z`gN-V zMNAu5_gkN!ItdCHodwDy&8F&b#YRX~?_{Oq-u^5#oQ8Wl=}Ib9C>LmYT`(vu@6lr@ zLXdCBlhLXAU#((Xj=p`RSuA<8OcuyE>mXny&l;vSzB0}bWaVG?RfrDMqHM?!QSzv>(g=qwt1JTRP9Uf(jiGb z3zUI5Ga;&6zZBUjucl*g_;J7AR$XieQfs@0ZeE^Ian6~^xfT9igBes9h_xJZi6@zy z?PEuMtAfU8QuZad@gBcbDBd>_g{O^T(&mq#18E}f*F9&Tc|5np0w6OY<`ldRi~0KN zEdU7T=(KRCmu7y4b{IjPC3u6~(+pk=Vng}6`}q$#g0NLMSkEVQE_UT%4EOoEMIT?U z{c*f1xZN=$_;kAe+=5SNPHXZ{Zs-5e_hr!PhYj|nw)EX6Vcw8F6#2VrUyq_UQ36n@G@*FoV?AmYTbUeBeBs5YGoTKzkNZJhs_b#0|l4o0P34+cZss%(C; ze|hGmMJapTtumAPu-o4NA8sh(dP*a4gAnhw7T9@!APmEWo6zsGow>`|P(4qOIxK=r z8<<~s3c&GXHazXqFW?=HsLd7b?Ivzozg<9|vidaP7|&*+$;Xm0!tN_Lr6j}fm2Ylq z>!KGXipQ6JQq=pgEG+YY-9b=ttrF9$$|OG-k0M)BuPn{l>X=B^ouayy!bPh5xH;Gn z*A74R;R^Ku>cHu~OI@gpYQG$V5Bb_05m)t6O1UD&X5=9doTJSN}>ho zMQZzwFz2DgOz6Ek;z{rPsYYtxN}sa)cm)0m`!LX<-e)O&C=#b=uSPP6fH?@{t+e&& zN{>@4MDrp)Nx-s)>Y7&BAH(A{PImiCYaTUScszV=qPm_)o6PVtk9=ouqLfsb(tXjt znxp?C&@Hih;-+lI&4A)%%uw^U^8Tc+(?ne4k2F9ehA6C7~P zKQedCN}VDvRn_N6Ngg2=jrVh{n}l*-7vR-Y#Q(Q~Gv!3J7Heyv{PHFTqE1z2_hAdd zZ-1*tx~j$Gi8aIIpho|NZs%V12BfGSWkr5DdTz+jTcoq`oNEtf4f}&{mBAbxSY6Zz z0NxdAUYAzO6E-Tv{J7(joTbIP5V9C?au(-i&At7AJ!?cszj5Ir_rsovuOYy@qML7= zz_Hmfu^HWrRl;0ulUU35e4z{n*4J-&5`)ns9$Ix^bsE*|UisAKn1iU8XTkd9>u)NK zF_kioRO}^Dw{piWd8(XUl~WI!;>MVHzKDT&HVIBt>6*x0T%fpAI7St}>N9x7mLHAG zsj_^r=3JRlX(4XeDWGm8eyK?wx>w1LxqqI!SR7Ay#*05pz$*cZd&9tdH~JXJ?D>xV ziFZ+_i5dz&+3`mV)uM+F1Kb!-I|&1eho2hMN-Bfzx_oI`Ky<)3hj;87(l1X8lPf-e z?iM$0&oxn}zCU@g5=XdW0a*@QBgqL%dFmT_xpGhw-dfgrG^tYS4@05HJ2<8zG zEm%_lvyK}KT>`%87fOdc%)2I#ly@d>7b#K?N!EnMdu9gpT9H^Sk(u*^s;o-Vpq_h; zok+wKpO()7;(9*Ud*2k+?;&8^*64ln@6z{f92OxRxD~Eo3WN)SNP7DYTf&Q9AE1AM z^6TJm9PAANF-1iw%z{B)Tw)gC48(sRNZ~EUw6BlXAhB#axGlg>1^PZ=BtrL_D+xx~ zuvsvAv;7M~`PVmr?)c_rQGZRBpHEAV%K2nHrGI<(8Q0UQVbDth3* z4F9d1&mJQBjCYxY$V)>`a##;6?p_%C0CsZi`y7uTITNe9C5(aDP}cI>OFDaBJ~>Zt zs7UB@>|-fxF1nU@*EbuA7P2Yb6SRDPgLV5Zvr-+C92F6iQhdaQ^NQ0k%ugB~SrQT{ z0~@2g&O1@98m+SI(5c*W>?qJB>y7`K!&6vBw~aVPs7|stM`I!iDwq+TV7QAG%0wWY z$sD$aDsMOdJf?`aqKvREm)w!(SKUY|k}p=T<;vGpA=;yDDh?D7d)rLnU&}-f zsL7m|2Va+^MJW0jH+iFA!WzB^*xR^uJd>_~qG+OS@VaZ8Jo%?b2@OG&B!MugG829NP9gA6dY&haXF= z-V%~+{}wrg6`JxB#Pv#z-a00EGsA)U)@1B z^I3-pEez#j-0Z!4C>cxm0<#QAy#ZY-NCGK1v$wLB57{Le_)>6)qyu_PLw>YjIsj$A z16Bci!M|U{!H;%0LzWm!5Wg3s)rKku?af01)YrE`i#O1)eSC+`4ubHL;@WhehR8PK zf8dWFmhBN470^4-ptm!d=gZCT73TRTwg5b&w^R{A?+HL+PzQh57{Z2sxrx4MM&=hX z;LnKLkpA+O`kwkBBv6}$1L=^&65`}0TJXhT;I;YP2nU z>_(%<(Cizl{~qBk?dgKQ(>ahZ^jA7`B{u1x9a0#giqd#j=ikBK!GQ!K1M1N{h5q^cDRkbv37ItzBcS@qzB*646V69=K?kuDGQ2+_G^fmA*s)E~1NY_bgy1Ov(P=IC z`C421qsPT(dQVKa^PVWU=9+QewkH3|IhI5{F-$V>5Q|6{Du38xd4){svpMm4_glm} z=ciXXVQUQw-?uCdbRc`k4$m4;hrYe!E;%ldC#lXB*mB_B*?TcTGqN-6-oMi=O1ylS zMYsT7npx1A@l2Qv@x)^k=#av!kA8}$xiB@UR&>BLbK9J5zI`inE-B|0l%E#MD!j^E z+`g&G-gm!idh<#d)Uc)t=UhK6Z|ZAN7}&Z=S11Z9^c5Sr)UkG5+3m^Fld8jXhN-cM zem}xO_n&&+41&3QVX0{y63k@l<*Z~5ZriSq>K+a0N9WoSOjOv&e~+khkQJo5SpKxa z#t&mL(=03m1VfVZKO61v?86HGa<_$s5b^xqdcM!y7;< zQc7lX8;VNrz%(<5fZi@cZ?MltoO4)5oqpdZ%v~mmU*SGvye&OAC65KR+bTTMU-m4MYLVlpCq&;4yZqNX1HdH{w41CY&%PgRijn^fpsQ( zT3J1rTd*w>rl`lIO^1 z*?T8#3_83DsK2SycTa=<4#g5b^Z}W@Wp(^?c0@|oPtg2`KKt{)o(b24Cuy+x zR(sxDc=tE3k`pl-&A5Y+FQ17eX3AT2d%Z=OgcU&}%hMcfd0luYQSk zNaHbcS#DT833}#h4DvLphbnxZJ}Gw+kemK5V(}p@v`lOlt&IO~+z5jtEnHx7EsAG3 zw!#hC{CZ%=?}jV$%(;9c~5>A`ufTo-Sw=dHCLsS?cK)Y4|m?tt>KjZ{L+l*!!mQMOy~*V z!hM!#S)}76gC;Ws-dIH(bL?S1PEA=T7iiiEb*^PeMy|a1m-y^Dq-v1t{ zlX3d@$OI&y*BmAs#b2I4$$^_;o|A5{7wcwFE-%rjh7hwC<>Nj3iFNxm*7L8d6^92w zf4(1*-nQocHh$)!`bS)R;lizs?Iv%+nNsOoe0#IJRA`GlVa~l+)x9seMf*J4lE9lw z3sIX0hUmz}6uqH(A;=D7Wa|@-3bK%L%>1p=Wh_fU&eD-AyyN`1P_cTuRW2bfm9oD^MJzG!Z3>i8B9mXwGD(*J4 zG@lAY%=z~ds621GHL&lk$GJ#(1 zQ6`i$zSP!K)W7uYW3`SsxwBDI`F~60jn%}z`Udnf3{437(`Eli^b4S;qr77>5?(@l=h^)3XU;&`5s3ufSXlV z`EGzsDKX@jFgl|>xi3>+dW4~rjqffs>YVrF<9YE=(!3BcZLTYw14~0UvU)M8X5UGL zUd;CS>?Vl&<*PsS?f4Z=yX#o2uDHdkPiwXY~;7Vl*+Mpd1aGQ z@2%{S{tqrejkOT65;=61LkW_Li8Q_GcPT5t_k4W|vnjsTP%!b$S*O0K5-HbOd7QP& zd}r#L6({C&5xeWxzQDS{Tg3#oLg#;iayYl%V!@TP!P8z6d45YN!>XmDPu}=f2Q1-L zWn3%I&crTR!<*s4NFQ!(pWhF@}k{sxWZnwf@ugF4+JDR zh$^aDx80QT|En(hm|0FRw2|1j`D%jMkb;OWq|GkGOWfgFvG1gJ8A8R0d8~sx?@!z()KOunF+7c`qF4tVaz1ZQ#4%1c{HnSrqBmcM|Mk}9N3tV1U zo8HGR)wufN=L7%jnE9B_{L94vg?x+c!K0Had*gDE181G1TJKIG2$e?6)_nV1q1oPZ z?Xw>$3|!Vnsia(MNdIuELOwUluNpJmO3EX$zua>mA)bi4CA@NEET=VNQkl*idC8rQ z@3L#oB_fhjB4z`IT6E!L21g~+Jz}$1S-vvd2WgJ9IjjfO?*(!5_u|3$r~@mI>^k#} zmI4P{$`YFCG9509K4Dkeree(%TtSbjSuk&-=k6hI>s5u_%SHebddK8U*qoItZrcS)>6dYA3D*u9a43zqTia-_>5BWDJsqnNX2u^uLhOVP{)Lt7CaGoD8Z z+p{&C^^@fgR1Zlr3;VcG9|5)rqqWiNBgPImp1)8g+WpdNRas%hqQy_?c@7UMwXljV$gcEC3t_vZ0;ww&M-#HVEYFuHD&|z|5{b7vbougb3*qGfSZ}Lw@rAdCmX12LIzOVV3x`1Ap+0CaYnh16><>+x57YP5hr%A_9vN!=jP&u(WYDVJza8 zmyXwM9x1&|v{LPnp1APdVkH1fPvGYG!juY@aP7uXRn`?*XYvh-=W>3lK$u>(1}OG! z>30$*+{}?JB;5O>n2lKx8bleq_P(EJ;H zVawPt4iozDPvnU1=lKT0*3*gG#$UWY$02N44{p_{sb#sO4MdJpEo&4j%%0G$4I3;a za*cj$SPR+RV#N9&;&YW8g5+|+gyI0brkxDskhCQEZ-M1!9m$s-CsquZ;k?le<$|re zXfhNw-?^feO{Fh*%zl&Im zlLB=#tlf+Mcs^O7vFrU;$%Orjq7bTlnDcZdd<=2SmacDk~rfN<`1!?`iN2Ps{`UuRO~# zD`2k<_{u7kySK(u0%$f~8(Jyt(zhuXXrnnvgZ#?nwNQcg%hmX!R!@8H_PBfV=zLdkOf$p~f7{i(Q+;@*RsfdTuWzcRq0@!Q>}CV9 zbM}rexw6m^RWO|_=+n_*;E6k)AYoYf z6e>U%)y&0Ue^*`DH7Bavcy*QQwZ}=JvFAqercR%2E}Ol@pBlyRjHi%>H9T~gGnh)_ z{oDf4m@T+QyuViGz9)7Va)a2(Js8qlUKP6yX?SaAgK!L(VM2hYu@4YUH`^6>1Uw4f z)Iq|{AXa7nm|w7!l7oJRVpL26z5$)VHf1~=-p(*a3p^Oo@T*WwqGo0(7(y_o8H!~z zt9#V_dm2tlg4uxz%Vu6>vR}rj_* zl$Cc;Nn|WWweki8EJ*=by&MYR5g5%EI!!F+-GaQ6n!dc>CLj-~Fn=tHcX^V^hldih zbG-3J+>wk9sYTtNf=iLWN_sgk{`L+9j9?Pb+}o+d5cTBE#($4U1$*x9CVe(G`QMs+ zZSIdY-*E7bTGiuP4sG zP%@Zq6blKN%*1JfSj~Yi4l?|)`372#Cggv zWGDrX2zb^iW9)f14qx&v9$4UPm;ldltgne{!&KJg#_nZv4Q8&jOk7WgFvVYMk(Tp9 zl|Xz~`d-v?oI~H8{l2CJg#qoGeQ;=5K0V!`)^5J{xC@Sg|41Xl@~-POEv7L2%9Cqe zzwWkn_Fk+0cJ7MxlU~LtXKwCl<>snCH;S5GZs}BR-EnrZ#55#zXh#bxR1of~fh#i7 zkLv4_TC^umQK}uwRqy9KTgvxaAJ0)q?OsqNb#qGL$B=eH4R5YjCLcIC9ll04Vpvf7 zTxjPl)To-+y8t>Js4enO%^Mz=@TF40--&G02v6nQ-pCg8T%fl#I5P((2lx1v<`xIK zd^NPx^nhTpd)jQJ!*?)ClNr?;vNJNz$xvLMWCr3pK0Mlsrn($Lv%$afJ>i-*4b345mYw;Qm9Z1eSqxp-_)A^Ge2fvp{!N^F>}+>GQ8?B3ns z3&q!jUBd@X=$?0&6J{?ba}5`XnFNzy8%XOgEl+#1b?-_i_~2RazCa3Ii7V{rkfeNm zv`Z5Q$-<@|5T9%DC4sEE3ZGiKqI^vr>U7cY#5Sp;DzeWCsUsnvC4|F^!4&fS%6Bt7 zi}l=jvG@TAQVG__m1?(G=iXs=%(v1iu`0bc{@Q4kT1V(@Kd=nRa4zvinNE~AY@+V@ z0riQM%tEYInR?YG`I2+4w~ogpl2~kxlsDE)QrQ?+I7U8u=yhO97(>Z}@N(Xt;~h2& zL>atI6Spsa?@v4|mV1i`E*fD@5rBY_C_7G|L1~abp!J2{`%f9(IL>Y<27_`y#5T*<_{N zc<-gjx~o)c{fCE^>3kul8lRA|hKY@R%+|3u3jRdrVVQiyFTwLozLXdI!7fDoVJYt- zn=&M{e6V+Sk}nND)`fu-U*LPvd5WEb_ZW|Om>sc*m}ljElH4J;jebGvglQB)tyZP% zL2|N#LgC2ysw}E}?la2daQz2+r=rOiKgaXuCRq!0t*smlN3!66L<%)~*?s?UPba!* z2fkSp2cP!pUuB=ZUzrrM+TIg8u9e94RXc}R%6j5k-7Oy;%F>~& z@&3l#{2PUcheh`fpW$`(kCpXwsxUD?6)|MXf&G;cf9DVGzeh4+N0jDfc_Ee40mGAKPQJZ%r4&NOvwaIhry-fB$`j`<+UBZ-eh1l=qQu>L$&pL@v7lBW8OQ9{@ArQ)$tG!Gt?w0JketLRWESm!ZrO*=O4P(8f2l@ zLA+#WjgDBZh^umvt)gDcD+mjBwc>&MU47?4dP_8hx&(etTV_FSN{Y-w)-XvKqWf-J z$An;?lp4hNs*5WcAt) zeEKPYy|U$ThYd?EVkLC=afZVB%+w0G-`N^Gl}VlBo5@p`jGajGb?P!Lw5McxA9}dUa|ctM7R-} z>hBV6evPPeCo?VcluNEmQ7v=Lrm82))=bjSH|P)e8ZBU|bj88B&>0)<#9|N=mW5W<(xnG$ z`!r&t!+ZsxMRu9^pZoJ<2wJq!?hYHOLoij~f#+lm)GjJD;F=_T&fTK3)n>wbGvtZO zL(y6Z8kt(EC!hzBSal~0Kb&wp?Gk7o5woP$yKy7iwo}}zqR@aDH6H!c1lER zJN0^~pI$=+ZI2&zFr#(ZtfA*>e`IU>6aY#2GYD{17S<#0cve6PHMt6-Pu99=lkYMZ zkX4o9F&N@nQ5=7lWTIpv@rC#c%Fv7V+cfgVjT#UISL7kUss#$v*@w7;Jh8ctGszLV z5d!mJ?J}ub%fL+9vxX@&Tb>IIW~|uRFff_Xb-HU5Z}Va-Roa)BIaQ`7R`~?(r;mcKj*hqufEtCjNTpHiK5btaA5#u@G*P8#?dd1_WxPMrHcFO*z zGhIF@J^sEX3L3kgobue>ZtqJ~+nii+`-$|%U;S9#sW7p*#Zv$wy<6WYmb-1TCq!~*HruuyHhWhl^j*HRK=|GZfaf3j5RZ8iZCshtI zSpz$^zA~jz-JAy723QJ%T?ZDQ|EtPh)6A&KzDc7WXAN#1_krl|Hf9W`!OKZQb+cwM zD#_HhPJ*N%J%p`OqI!Dwf?-<0-PsSyr#cqT`T1!~a&P9HNp4_`F;`5NeMCI_8@zpw z6D#)6Eq&>bjPJl?F{1lVo(HPp-~x`k7s@rR0wOR_#E2QB?|l%_rHixSe0``oiqvOg z?tfANuGY=*Cw*m6`lmT zut~YLziBL+9#ag2pBq#a(OPA0%!V5q*Pg=l@b$70>{R^s2%=o^ zw}32)(F2dk$TIg#r1z_994*O6xnb#3y_XuhDl?%q3n?5SU?G)0s1Kp%qTc19B~lNd z6osbJGN9}In<5j21L^y1lnemxb;#&KBwqq67I9tBiIw5CP?k9_LQuqOar2=@pu$JU z;zJj*ta!POf&;E?H;A>XuBGywt@T|0Zt}a;{j4OhhFACiuL0fe$sDq8TCZ85<68}u zf?2_OY<=r8?!&SyRGL1aS$CWZjLXuLv5YM@YYbeq%>C1e;dk1iRIV14`w4y$xWymu zH^hznWS{qQrPjciiq!JlMZMj~m{n({D|5WhzrrLr7s09YeZh^QIeN3+-8Es&zdLxN zY;YrjjoJLp6}Swvq{YBfe1*UYc9{}k^tLi$GB*1s-XFlHa`wHiFg%hgmJV3Gk?s=c z7`xGQr708U17#JVw0*ic<|>T+q|YYJX15zEaZeVlvo||bm=1zY8<4N^oL`lFo+doI zw<_L7>A@fnTU>`IYS{lIp+69b_@Hy)=|%zGRoSS@Ey>D6t-<@RC};f~ewBp;smG;f zjFL1^&(o^VvV_Vw|5YOrV>|d98mYTcCXlE3+AUrJ_+wxIdX z`T64@c|r7h3Q7!b-T_{#;Yk9L80oCSTAY_BXc59`J--AdEb4-8Zqty7*_?ZPhXv_m z`Pv~6<{_IgWP_R3srd~EN+Bq_ht#c&^Y4z<5B?U`;Vi9IYO*1_X&Wu?z8R}EToOJY zn6m&y=@m}&u;7=_PXFA}GL|n<{Nvn0@aICLo*uJ?c63v+!Pa}#xqD>2Nlz-$`PP0L z)|>v5lLm#vTsG~xVQpkkUEqP8peiy`5DAi8M@EP9O4&+XNr=;M^jUxUpAbg&Tyk$V z6so`$>tsj#%u{PjXAd{j;0Ah_y%@nRVMyYP&LW(~ZE%jaLAfqnnss3IqC?VMS~g#q zob}Wrof#Ffj6z1vg76CS?Dsd7u8Ryn&45$Znp z+pS`{HaW-7pvWER9Of5{jR7P-nqnt|C%UI8DJ=huYgHM8`m-69UuE77d}$^{ zE)0|#vUODucM`~?6bItI7X}#K1vgd7(`iLElCKU#7)@~;02i+8^PqdW{K0?$52f%; zrMs*-2zo?>O_-vAU-#}z#bRU$!ze?jQiEm^flon{;T1CI#PAGCMTWe>{|Q);x}e~# z6?QExmW!HT)3SCie7wy#V4&1MlV}ct9B<;|aU<`jz)I(-x3_+b=bp2Y32if1Ocr+u z^myE}c&ivC-z8Kkqt~b9*&C?4?p_3%a`dO_pgYJj8|K=vIwv@Q8mxw>lr^toJDa0Z zID%KHxl6IHop-{WU)T3=B4>qK&n-m$uNH7OauZBqj&%n^<;EzDD%!pB9^ zR@+^u)Io`Nyo=l$c~3dQKP|$c2k!4_YGbDKJZJ8`MBeqNNV0XOfR?$&yPIlRr=%cG z$N4%_WC#)KMmh>*y9<~7v98VN`xKdmmz)5r~vDMe)&N+r`wQlfF56O6uV%|QB`&s3c=@%4y0v6k2_0aBQ>nvTVwBD=CWsjRtq)L-Z51Gq_7QM*h#wFfT zB08rhpV#G1R5~`rysyX%|zf_J43 zd<12K%5XZJIOMEvRGm4ch(+xj;tA*j&!^lKNQPynKK$BKWL&|a3^}f_jQQudCrK=u znV9zolwRdwiFJOnyGCyPR0`yNb1j9<9vn-l{p#2xqN9Is>t4dDW3-uMLJTp*4V+O8j|X1Ocy4n&Ka2WK`M&|g!vOH z^4UP)&13A>vbM(Z`KxN=0}NhkeD~|aQUfSFC7R=w%<}+b_$Tj090%|Df(OsQvIU`c ztJ3W*;9A(NGmmYPzj6gRc1MAia19}0b-I@T(PtOd4JUWV#~*2QQoLV$FGh_8y2 zla{YvYTsyH!s$Oz|C-W`JHT{ER$U(5!y^J9_}8`9 z!=)yMeVo&&*Y+pXJvEGSf=4rTA);=Ln6CD+!?Elhwmz<1?BruA=BNe40vLA6@%ghl z#!wM!VlR=YQQZ(*?s)YDd*7Twm~T%`>CypJSnVI@xBe=HgHZ7wz*H9P8byawo&G$0 z9xLkB(_WHS!HJLNz_;M{fO}qD+{>jcH;&>$9mH@E?Cc|AdOhpr8msDx&~VSNSC>(gR994=(MJ^j z^{T`5OjF2rj$y}yl%j~H|H|2=DgCL})_RpTv;Kx>H4q;hW2(AGf%P`smawIy}-1_*-BY^5N_nM4K~Gmvil<^m^PwMAYnQ3>2FNG%G|N; z>hrg>(oSCas|_=S{v#&){R&^)&cd2IlZZMw_YUtnjRjS2a3NgVzelokjYf|1EP$0a z6mw;kCGaI-;T~KJB)S7G^lVl#(zF`y`u8M{xLC!zSi7bf$HoGdPvh=YjQsfM<<@^| z)0TUx$FJNI0+!v$=wXNUzW}7T_$x_+dZx=7%|7Qkj@jB{6Nh%vq&5ab*0+O9Sq;U? zHwusrs*3ORnPbdrOb$6YPxx34WO>4#n5Zc7do3sCm%H4ic8U~bFFq9Fx1B+_{K#$K zoQ0h10`YadwL8{6>sr1OGyW@lD;DUQXBzM%8bB$|DmqY;F1WrAZI1WfF9w#F^uFUc z)!=^zW_k)chys1bK|~j}{^N3=(|+xpZk zk*sE!*{ObmHFnnsH>=_qRH*1Q9aw)NjM9%ly}pSp{V;+oD22*Au*2Y5n77elRP9D| zGU3E{Q>Vm&Nh)9YgMF7WbmKM7!`98Rd(Yl@kyLXN=|I5|HrKB~0ti{xR$GMuvSnPL zuH5~Ys0if}vmCBV=;HdKYC%BMY_TuaMk%v5AX+Ql8vMYN!ALlXr}X-V&Fnp*pn`We zQU7BxVs?;X0{WF&$_mWtM#L zS;i#WUT=S8ab!!MJ(4!3OfJX4+1~Ra)Q)Iwge&-+>$OFI*t>~iNGQI`?e*WU-SMY| za5fB!Zj2}%(LR$_31lZ4nQ-Z;jmup7mqqhE=u?-E7v*7890v?Gl^s(1xp6n(6qmPp zUj?6ZJ5!uQbJ>*`!ITongX$Tp2g%k#u|LAYE+w7Nm^2t{5OymQ&A(oC^}Sqiphpt& z1~O3PeaC<}1isE)vV7PV*gAMjF;+y)@I31hq@vE#$%wWcf8HBF;b@LX6a~8X=c=c( zAgs~B`r=+E7__MEu-E924)yzEX*jRF=imU_A%jwhHwWK8!yWYnjLB?sCr)5_$a8v1 zhZSH5X}LI=sC9IziS&0vS`yFX7TlVIOA{tPgg*!q^3d_J5_o+598^N-iaE$QsU?PS zoB>Cc9{}2VxpcO))Kb_$<2h?YQSS4KRocA&)i}_BBNm!jrKB3*a*99?jB}}pn`k9II{WUz)T4W z$oq5*3e1>41rqo2C!bsd1Riu~KgZqao<_ktz!2cVqH5;wBl7CB>%PrA__UYVJJ(g` zSG{5Ok}Q#CAWJzK0uap~dc8$mzR*z3xrQ_QBgvmKUL2PH4@^x~Be z7m8`LrR3zIj_W6$hFxV(b)YP~Zi}~7hKpLpQe0_{ zC1#<9JucLgu=g`GNAf2kj2Mm<;t2v@vY+!{pc6;ic%PU8Og->!DON}(*df@?SRgTT#6C4qd?LiLwYEIX)^2~v1*Ejvekz-^F0pBhKQF%$t zsl<KV~`ARbt?7^lG?$JJi>UiwD zI5^`ClJ5W#&H$m|*r%rzAq0u$QEh^7Fb!KC?5k8{eq;A%8Q z`{zO){Qa^lt=eh8U=AUZK6E<^4BoKr+;+n>mYa zA{d0CBo8Y)+_(aJd0aSa{sCmj^jH)wvGGn{xJ?Z>unU6*;!rS`vCVVby~|x(!lMH; zE*+w7;Qcryx|b#*bdes__{(*TGff|TPHx7~)2gtb?B{JJvP?W>KqayF zkdSMJVoH`83kogY|usGNv1~Imp{(QoXwWDOpnfQwaxlUn8aS#b338-KsCB!QLt~g)=}H~=n~4E~ zyL6{2Yj^j>NYhx=2js#_8PRg=Am5~L7i(PcAEAexF9|bUiVm5cP+n-*LST9nNB0QN z`mh*z8F*?9e9eNayjv1%I@H&Aw+S671vj;IsU3eJf5&5=uc5>n>D-xA%Svj<-P(ls z+RNB@bgGdi79=%S=KBR-%M}W3PjV@#aW2)BG5e9g(NeNK9)X;YFx&1~Zi+&LHmTS* zW8I|O1YB?RECi8yTAZ2U5brW7*X&Ei8d6HDJ@;55!vglOd#snKBxD+>TykQppO&6T zajwdnU`*9;WmjFR%;HF9i0nqZ=z%ZPu9SlouQ0y$*S&n6hQoWf`ymzmIs5?5`wc$# zpHYi*|KB5z0yhpc|AAJwD9DxN#qxbUbdI{?}=E>@N{}+4j9o6L8_6xFYNR5b8fouy!TIkJ~yy^x7gebj7Kx$Ax zK!OIM()->jMHI3TW9R{?VkD3RvK18RiV7szs5D7b@DW0s`#tlmGw=JIvu3TCbLPw+ zGYBqL{$M@Nlic@xUBByBdV)6dEnApQOB!n`S9LXpm+4@WZO3HMQuyYnJ8b!neu{xI zv6vf)(uVvzVzQ5b)(<;?k;kdl3o(M!1~f;axpPv8;9(^K@K+hWG1vbrvWwXb`vs2) zd?c`_t_#F}17vN-flB9+k;dz+G3ImgFGGh-ggy1FU@}rGK>8RU3+q^WrVi`fVvY@X z40>(KL{Ch-jN*K}3l_%o6RuU7MZf-}xxnnB^r}(+hac_cX?-V3(3S%e6wi*BY%&I> zdg(=#WLzJ|)LfykH}q2dtvNl;qq?=`L`l7Iq(Z2;(m3vYn33B+cC=U~Q12y^Lzlf?7j zA43ML%vI4TG;+BT|0?{u&PwfqN>0ZI=HOdmpmWbu^kS`unHY zw|mDoj@c5D*ZcmDq^tj~xaYqo`1v1v4d^ZS7pcOB==Ebi#h!p0oAia=+Y9%D;o^~^ zts>&*Ir>^jkL4NhjqLxbHu^;rINej5a&F^TU6ONz|hdyNk_Wha>-iHu?BNZ0RZPUM2mujj7=T_t#~ zm;Rx7{MUq?nODvyQYTV>pE(fTqlkCt_fKRdJX(D7(%xyOn}m}^m7jd+I6gmhzmyeM zha>Q|87*pU)P{%WJQyGMyOkS9?DO}!H^u3Z<2D^)0HcJVF#B6h@N_0`Qgg0u%KM$7 zivH=?vIfP2?&HStm&v*Je~kN)bmJnyHBi{p4GUr}7V=JgNfK_=ZyX*opS?zJohgL_ zY8pxhfb{*uy*_U-{86|9gx)k9oO9i(I5;81@JKRI2K5oXKgIfwp?#g+B7TXSzD(xA zBqBXaN<^rqk7+$mUL`!ieoZYMYh|k$Xy$X(Flp9-SRFg^&XUl_Me<><*K}&F&Y94v z3&UM1PQ_muFG(u;i{D%?`8uW%8KAXSxPv^u#^-%NpCjFQ3 znmPk6DwogRj9YU|s2igj_y~4|Fd-|C3<6>b_2k4uMfA&EcWM^LW}!4&fp|Jtz&r72 zOx1g;o-Kbuxl16ive`N5L1g)S!^jNYlGUR>qTSgwwuW=q*I#co^7!VFxtuZaQKT1T zDbNrk-Wo0VUT7bnf+QxPJ^wN(C_F|P*NE|*1UB`%rYEO&|E`0}d%IM|%{3EK(eya8 zYbUV^ZA+JjNCR}KFE5R_NR*HClJU#d)7|?_qSXnqvhMt@sdR=;kic6w(4afvXh^Xz zX-IiM(!age>AQv`H%EZkeqPP5?A73x#m9yF&8hi?AidaPTQQPuJ;XO^s48NA@Tk!S z=9Kl>Zfwu=sH+Zkj*3oTe`3sNkA5@Q-mgl^GG95$4Ai^jmB$brq>q|Q9g||+gi^UP zV}V8gnD}hKYo0tjV%W5Dp*>-&$v3l$|K#D3`qYusS12*Qb}mXr7_?O()D&!T zELj15>$ZG0lfDP^aFKKG^?1ls-BCl--f4dbz5eKN*90;M45r{RpQDA&T#O=)zRz4j zc!0OM??pUr?uk-s<`>4%3On{XQZ`AAZ9W(o^eg4}kJjz_Sq8%aNMBF@aiiv9-*|?4 z$*CPXefW~0=8&;BjsEMv3EIp-Z)9D=)Fi&uU@#V2@06)K*5^eIq&9O;Yx#H`?f=_6 zJd2V;PGdG)JY@WwoK@>vX`^=XkMmHpVanZe+8IyPw6tv)9^Q^ZctK;i2tM^qn^TlY zZ?(Kei~^1(+eE`N(tMq*Vvx^@eZ*!u!~Dll2MG~V@P3p$R0ZPTN>s_Kg|eLjv&h&e z&^W=<6Nrj<$xUWQrCMu8+Ud4eq60p{-yU5ETk^@*-WwFxg_O0(gu$0v323p9_T-}<~|8`R^euL0t&d&1b|>- zvI5Pa6g10kD}*(p(=1r+f4ZIbo%!D7BXjmmH#R-tm<=O9n?<a9IWFa_z~y(K$YTDj{aiopyComLLK{fxH~PD~33KC^l(7DYsdOWI{<; z_06JM*I@xpv3cy~`cJXI60B#F+$--~Fh&V-ZCCMNGKxCt?O9B|NKY=a&kLlMNqj&a ztq`E3WL&*TF<8W3#wuhr#?9MCV@$XHIv+z^ezi--!3y23Xtk;pUOqLQ!9^d|TmJ|Y zkWcuqfmu1=%X1hy&d2o54AGs#ljq&P%x7Xf3N<>kl=Hu9F}Oy9d+Ig`jGK%G4;!oJWihO%EyJxR zsW72F1mh9kuvvjJkU;~q3#I_+erNR{AzOhd11sO7*iWp(`*GQM2?}Yx5Rr?SmIsGS z%(exQ4*z8_*)}B#Wn)MsK6DVzNzmk<@1`lP&t$>EUTYkDp%+?~l+7H5AsapF1B-PA z+*_k0dsN9g1af&v9b)nX)cg6Dlc%6zcir3A|zaFX&=z84sNJ(n?= z=x>~SI@Ya!q~^WVaWdc!k5fGJ>(ADzHlDZ`Tf18nF|~?WvE*C!Vl{|3>a>$H$XZaB zpDXN~qvw=cvRB*&(%hiC)l4Al|3_xZzFPgTf;7+eRwvrQqQt41UFtja0Xy>*hk=k3o=z;Aa7w>bJTLbLkrw~#KZg1wxRM9CE8E>~bJE+g0_E`CCu5gd=S zAf}T&>Fd#gro!!V7%djpsI66UE$%fj{KmjZ^Lm#;m@b#XB;AGLnpGGq=xkL$i6csLXgVw~0ddveq5nKC*uM-jlkKS^2X5P9?@Ji;$Sh^O%W$|td zV;{oVF&b98f4DWW+%lsffvQSm*ix7LLb^&}C4=ft`>(TKvF0CRVE`{YOfE(Kc7TN^ zC~8aGVD^Rm(_7$pNbRe}8-v>UwK)UqMeCD80(`!VS^%*9R4N;1vbUFocGX!8{S-6i zENdCwd;xgvK*#~9Is1n?fVrn`nSK))$(H354Mol^oFS{ZAmD5IyI@Lr)zDpRBeo5* zyuyd~!dt#yqeTKMakOgU7S;y}}dlpf@@-0YndayUGobN@#W87KkPrj%p+!xWrsKp-L#rn#iBjLqg#4&pXUD3mG zw!f9;$VTf<0pX43-C-&$`=iM!t-xNj@lZdkvSC*Buu0-kSh z&Rh>I?T`P?oa#{&F|jf;Cm+1K?6iOPhqf=+P>&B*4W1tM234E4Tm22g7VMfXq}AHA zP{7_!nu-X=4<$6?e#sl8Tw70!`$3iAw7xuz^750vmi$2XRpGV_WoJlMIZyM_&=7v7enPWnTYwh{i4&8L+Ql!q zyJ=2{=m8*}uP~B6hSI^!$U;SPq%>k1JdJi}6Creh?#`_wIYZxrHl2iEa>Odyi?dlx zCs^|g+=k<2l?G$w zyzhAA*9*cFn-JTrCjmy7wb7$kVS`imEsmfUL6x_&IgYU z8d&fg$E#?SD*6{a5t9Jyj}z+gwU>DyrvRAGZWCH%c|cQ}+l663GG+D{zy>qUiZ9xT zZ>i2uG6f%g!W|k^q~bVTNQ+A4jHxq|=FX{~dA%Durn8s~PF@ zs4W{A!YdhM?rn%&RCc@WkX0kC*d0sjtB8Xp>8{6l)QK(^6y1W!7sCKN>Q}RK` zxDJs^JsQh`IM-Mnyih-2o44u_nz=;6s7g=e@pQLjF9KSk@CN3RAv#wZFSIq`|^4&^TZOUl$^NqSZ**g4S z$v0r4gZyC8*lzMlaRy7NB;Gkj|B~fOCj;~5(0U}Tl;!($wvPxW1PcuFHjkzF+(Q=-{KtGX5{nY!B2ITf8PE-z*wQ-WFk2`w&KVLOFN_XY>=_{ zypw`!p^v1MTBsv3!Ro3~VfBsrH1}Kmu`gUS|8C3;9DS%tk`L($c{7&Y{B1AGNj>et z2nFdOjnZ(};~7I&%HE;&0h$_U;Dxr_7Y+$n$xo_NIfW4qKG84v|1(-5TDDm4ps{v=d}8NpD*F zH`tlx=nQx#q0(fl3Q4Son5P7teK9IfJOd45@ z=QXIIddnj&L7+?zNn^Wj^hZA|K}!L42KE;<=hJrByRN+($@aT~O{Kpho-gurkcNly zmtuj)D2-CUdTwrHB~*l|=TLUf(cgsVghX2p6w0hd*8!wIx|oj z&?Y+;Uk>=Q;)1OFMw$|5X;uk8z++UZPSR|}(}miUeF4B@POJ3PBU;gM{#u%o>dcaF zweLd5!{6lJRV5C;C2kjbRWFeE82Vc{2pGD`k-7Z!EY!bg^oF!|vAl@obm8J_oNxHR z#F%#GTc!y4N@#4>v*+=M;TlYqT?1X-80CItl|K`BP;(krkcb%0FcI#hfH9gIs^4y> z5Qhw?j1H?KO6GNB|g6jBaxB6I6^7s&TmyXKd?s0pn98HEoUjUEWrC`mB2lMF+n&(m2j|FUJ zDq^b=1)~E$rngc|;x=N4ffCO?uSbmF01^3vy`bRuWn*!AuEXI zwnIS7F5XP!%)a?4wvHM>`ppeXYBTmDayKyjBuJ+;j~<$bP?#0^3f>TR5==-;04ON{ z2ugv@-}MwwjAikZfxuk??ZUMO{L(`6qX97t->2GsI z+sDJXv-mwp{m%<5ua#NM#aXN1IhZ@l(* zwrOfXT4wj@Gae%L14hxKcQG>OTD;3!hFsGj$}c%XeA7yW&@V#~NG&OG;3UT}_SQ#* zUTbv3tCp#R?I}@2XSaVRt|-kFrQZ_n;A8sHSwtzbq72oScQ$_$#zHcUZ$4@0{F6u6 zAPoIeh~~2yvwI-7{_<6!_KdFJz7<0~|8m45jQB{MjR1B^{%5N25B38xbAQ3Z&vXZjM0inFGiR`LuPfMHG2L68S9o(v~;22*Ij1oN+&70eRt=%}Y+oPo`Vj?#E zqYdHCMNGlal1&0=&1?6pG7VLQiJc2|~A65xv z=9I#F5ppJrYtCj~z_5JHJg*S@SCTkQ6i&yuFr{W`46og*sG-^-z+C@Upp=QU&#Em8 ziEXYrJNGG6&G;V2c#N7+rO%XL-Tv}jJc|*m=UQw1sZD9oZSGLKnyq;;ClGdxs@>0&rFJyt_64=*n(5J;9X#q? z3-nPiai>k!4$b*-(|i{UzV^R3#`uFm^9_5o3XaEwd<<_|Z>gnj(`gu`P5%Rlk)>-Qjg&a5niz)lGRn*3he_lK&P zSFmZKLvZ8fNaH1s~4z7bC*n$r^vg&>3f3tT>iGGD)52Pt@ZJi=FFoAM>5hAyH#!H6WtSU zF(|P1IK`=VXX>uScIp3yJK@%Uu2w%q(qqBB@R01&%c~y@`8C0tuuw-m`CDOD zLK%XE36-t-5jb7_10UjUqn(4=MF{4vw{@0(uAH`e%pV-+cB$zUDe@bsg*4~jXv8UCaq_f%#>ExF$r{a`KjIX4A}W}r)32M86zObrJwU5Zqv5#2`E?o*F#tVI(x0Y!tv`F+QjFJYj;*2jLQ~B zk{70lLzCQSPo*q$yTB?!pF#PB(>0wbY4lSpG$9Tda)VPgQk&=fc%sMv>0j@f%XsXS zek8aavmMY)sWRX9&JCG$)hqmdrr*5;wv($Q8*8Dhu1i`$zIpFInZGpFN85L#yDjt< z_kHMEr@f5d8_p+;c@=s^Sp@f5@>-GKJW3Gfi!Z0lA%MBb-0(mJ(Q7hQg&;3r5!*iJ z@tOVI6vqBlC1~K-vDCwm{Qz2(yLF#%l0PsiBhIoZ%0|jiAW7zWG?c;vH36X8*eDh? zL9Kr9>27N7)9%L~_Ld}Le@ze|_Gb5E6)Yb8gS?$u6P<+O+{ zZnbBow#-Vb`9kpgSF``yJ(9w5<(~fv)c+682L4z0UH<>xmj55}w!|z=qr+!G@x4_o z(v84M5>$ws71>SKF(HO~EWW?eh(;fysmx)wL-LFbb|I3;TUDN2@D1y%_l2;1fzo`@ zW3Kc0Pa9gDjqiLG9{EK08n!gNdmUMNg^|DL*6;OH*E?EPvB^?Bk2O`D-ZvMU;2+|q zP%sc2b(X;~5>z-Q6#Luy#ui^`i?DNT^u4XUx7@>M+_eJG*aDRheL*#&wOILlb_nhy zEWM9oG#=#I^G_z96{z*9T*$t+F6ReQ@}?%xdwOJrvJ-2=yYT4s<4~i3zJ6P&8NIxUod!sy z+Men=lOdB7laj||pzZ_J|RbZ?hE7VJIWS)YM+Gi+8J4(!IF1*2N^l`enYZqdeqSx?ggb+t>7qdZKl^pY{+IbEoy9wk%lSw zL`+XU=BjVE8%;b~p?lQ8$#cpq#pY!))%>VVcpbLK<2`()!NB_rs~b!6zOrVtsw8Rt zE@ruISh7-U-{Pg0-U&;G7n;u1Zjyplh>2@t?acMckCXdCJxvm<8&__Jo@hJ2@YUBn ziqdH9_fc}g(s8Q@jVrjyBFfX?RiZ(3+r?Jy>{eAPQRR_nB-gV zbe6TUcbF+3mHJBu3DfelCzGh)yI|}T9+{X>_zLKe|D15#+wT^IkMOL|sywK%wwtTt z7~6QlBjie4qg}$HU8A<9%_WM}%Oe90UWX?SmdM}4`cikhS7pu z?=>y^)HHW@fh1M#Y+IJ)OONkK0~koFXr+_y#!X@n)5=$umjqd?*}bXeLL*S&u}9W zqHwY4grg03-at2);IFD+g=e=qdKB>W9C|KD7uDm&Y=hF)jkik7=+jPKZGxSZR4!F| zv7>xAcePzYq#k9ntNQ+eSC9CUmePR7DXGCCwM^sIOzicN@Z5U`t`|x2y54XjUs`3O zln3L5mQuXM!kJMRzHkG-)@!*ht3N~`B+{(Ai%AI9@KU1SadtbAAtuwbWhGD(8 z+SM?h-fs1|2MuH3ag*zD^Dh?X%O)@iFV;@$AF=DO=}{~I;ehnA_VuDZI;2fmDHe1N zz+35=$YbC@KM$P8H(f#C^vrI^S^&;$36yRmR)U7Hpvw$U5ZT{=#?Kql^K6@>X>#aN z3)8cO1h)pf?<@;Z4Z)d}2Lz_R&Xh={OWGbtEv@!sPVLBDmfN5}rQuWiGf(S_iW&OO zg!uFyp=;h}sad3s&cmYC%yczMPL=9C^A_(bfZ4dw4uXp{sLhQzUKOf|?;YDpG~907 z++fv>G&-6oEIude-sXv0IUw@tmtg85fDx+Dw%0^rVdlhibQ=My5tC{G-I`0M%OZdk zq(Wr5Rz0`T(vBb23i=5d2*xV4sS=dti?nc)sV1XqSE-o=eCmnu1iB<{X1hSMq@HTa z!(BBnEt2uAG(M-99<#UgG+m+mT%d+Y<4UuYnytT~MXURGg;F}zuFZHKZd3PLO0mN@ zS^0!(!0S4NSaVZJ@4vP@AA00~tZV^QXLMbmb+=dT4F`acQF04aTdM=p>Q7u$tD~6x zN&b?O0@q%S-wfy%96bYRBbKR~_WgoVhmkgtTohg6Fa#HvqqHL{;ZtiD;KyIJzdzaQ z%(>33H`wnxg*^FZ#Iy?~o@^gl8#Vo*h~hJB{(%xIz2Um`rRkGsEhvhSsX4mEWlq&* z;k(W@@ra?Gcz1yj#jWHLlj5W89IrgSHQc;T@7@@_#k`7%Uy?MbSFur>Tz_s-BfmlJ4pJFWZ?&$DG z-Q$1KpsM@R_}~DiUd7hPNy|=wKfdX$L#C77(fSARJ86#&+q6yYZ8|o7qxV(Cl|(^d zoVTO7QPX`Em_Wz89;;Lzt*al1cLjj~>$%9A?VC0v@9MO_Ns|J(^iM&_p=-H(kWds~ zePU+vL6p9oI^#_K?TIVM#!c^d!be-5U;cv!vhR%eRsJkzy-{G=uP9O()#_}!+*!G? zzVYek@gT}u^Ran)K#gOd?5RoSt@T++{wVJ}hiHFnUyT(?7yfPE5>eKht^ERqvoT%f)Y^+5B|} zC#6!Gvw)xbEjEhm8%2GT&WGy0+&h4X8}HFD4jeVT;d*QS;)|q1>jqXT(9K_Z|I&~> zy#3uaf~$$?tGV!33DoXu`X_2M%dUy39KLl;?6bq1BY70g|iPzS-THf?dVo4SjQYR5|El zFIs*LmR*S)NmyF47x?>L{9|raHe#Cg6@PimcQSnJ;@Y7P_8DEe?Y`fdeQf<1-ceA# z;lYPeN@c?m82R*CU90jv>~Wwg3Xb9|F&?VYjLOPaVY$_Q64*D~h;cF;vlYv$Im-+- zPW}K#Q1Y3a7Q8pl=#Ia!d2`oaCpwh&Hk&=#c)j6GaM5T~^Hl6PBx6^oC+=HfDr56H z>W{jgV%v$FJmMmmI1kL+IUcEWppHK|M=hLf130NjUZ^vU451K!$f{scNeLH(MKQs^;nW zWm!u~CVwDgDNK2J5T+(8|BGsCKR3?A`wba5D45o&j3#>EFCi^E5+jd%ndJ3YWf~TW zOWg%F(%cr0W^aE5wN}HyI1gipHsF3_t{Lx$Lu5FXb*~BbHMdmhFydIxMrx{bp3nXc z=l9dsTyTeZzlgF<9mc|t@|(wn2Eg0tLQMb0$6iEXcM@ZGKagHqX3vif7Z@U? zc$;r8$osTRBJ|Ay&?jPm{WO4R_4p6Tnh*07ZZ7)5%hx4uDjzv7RO$OMa}bX-bPmk4 zC=8LN%B2BX@@YdoncTV>52o%nO8&)tEoG-Y<&FBLT-;l%QxP(G)kj<#6(cJJ^!>5x zDj_X*KEvg%Rf@}(ong+Rn^jo7Ukk&|N1EHI~N%csLdT7>vQCP)W4j1QkH%1u=lT7r~d3Bqx*&yo@T;1Vm< znh#@bo#bj4nFZKvj0n9H?>@jEWtLk|ku&OTlkIoDy?uJ>M;zy(WTWR(eZ{k0MkT5} zhorJ=Z}fjKWq{-sUB^PLbmKMS@n+@nt}Fc7Osce&))OYTW|HBx4s4i?*pK}b^S4^u z7yCLtFga^*foB9o2P#?(X?aOIM;n^#Y0O|X$msWUpi1EKS@rfHMkt$kwmP?OlAO(TMem)3f@e2su|L9zkO#ICfMjsKAJ^+T`od}sN@`rB)5jrQOO@nX=J)LJh3>~l zyuo#+qYR)YbF06+^AS39j3%sjVdy2p_5ztr#*FfKf?26+XIsyujz)`HwigxWXclk- zR`4Z%7xl0^6KZKPj!oL89@S-2ec{R*vGodtw?pi_ql@6?+4&zGBhMtvTY05d1X(>P zYjlY-t)*gU0$fmgGW$j_QO^+B&t#81hw5G@|j)2 zgCZ9EU+<;^z8$qwc(@D5Ai<1({U#8nC&Z**(Jn9$Dd8=F6T;jp42zlv-}~?tJICAr zerl3%R_1#aQi(&|9bu^&*2twQEOsNZ1JE62jd~8R68CS;zPnJsk(KPlNZ9rGSmv^s za&Ftxs&Zcll!rXj4u2YBaf7m|aw{D1x(c|FYA<-Ud#ss2A(BJR@y@-yfRTo&3O)p> z1)N4**vOUwZq&cALwmyn5k%$#;n&rW% z>hce?&*`0DPt<4iI?3k_rDU4QorLKJ_?t@y!i}gI-d&u?NfukevmNOXje;u#W~jEs zmfabBAD5&y$>bSZAwiZz5v3IP6B=bINtEc@$x9)frPbo%8Qe?DD6J-$;1*z!6CJ2p zOt4Vx(Ux*j@JturJ^c8yBIQm|otMaGR;1wdUSWY)g9M=E36ij9i2kGb3!QsVP`V|H z{t7Q9eg&|d&^Ttxohodl3w5dQy?Z1@FF|G;9N0u4R&1{VW#3ORxl|)O+6j;WU}>{E z+UdLS`ye!@>B+I@U{D5^18aDeftI_F*~!BljZCD&@Y>9o9Zzl!GqYSkKfL!1rqM6b zQ>cJ4)AnN0s=?| zo@SxiB){bC?V0n6< z%BONs`#=2@Q`8oSGlsLui}F?pCOsxCd~^=&fJITwqAJd3dMT^dBI)5vPGErQ3?4RZ z!iuHuI``#WDz4x!f%j=tfZs1CXt>~bZBGwVwRq2))9WKnyDz02L= zaL+UA3htK~aWU#)DleUWpZ_6}-(NJmI8jwvr|jS8x;}1nr_csuIxU5clQV0Ye*|hp znFnc{|710zP^As2|2Ma_hxNg8W?MUe+?q2}B#>YKo&SCLDUT>iNSPEK z;;ur!(Xia7HcbB!8mz)|Je>M%y5u`uF3c-kmcr?eE#$GH&*I^`F@jL^&GHG`Tz~>gdYn(C(~K@Q8N5 zh?r|hzU-9SKmQ{wMyiY{cju&xO)7(o_qwMS0<4ZkYHBxi9GetjZ(r`CC_A@xf7Q_D zE#L336u$FB_sU1wA#GNspXndwtcf96#hRto0#V*x}h3=lo2Rb}mM34(P!Z9}Y zlF%HKZ9rFAR}2oyB)}r~_-=a@z6g`}DfWu;Qw-6H5Je*~P&O?Tm{S)C+4EQ-g8 z|LL60MUQL914~eh2pfhKzJ?3r@Pnc(_>ZFJ^dIRE_TM&uegD4x(f=pQzgy?0*cm)V zl!5+{a)D36v~lLclFA!(@OG_g{+L zlo9)lGzRh85m4hV4+3)kcF{qE3h@;{)s266{S-4IN&V-#Yx925nmCxbeR2b~%x_A6 zidl#Ye+vZHSH%{Ee4&bhP)h&p8}Of=KkPp}emiuq<`>RQOm4@kAAgM=beJ3LNXgUx z{qG;BUyFAIYWL2#h#i)mTBP)n-pq18uGsQclsJ~)alj(MVV_0hyvO>C3XN+ZUT@$o z+GN8wzb8*BJk@vcxUd|dUJx~E(o+USwMeUeKZ_&1zH+&>sp;M{Dx+c6`(y50&+gul z0z#NLEaUz%*-xST!@eU&953aE47|TP&lbn z!Ap1I?hZETuJUHx>{q#D`Bz>E{1LqUBN%CVrn2cUjsUiz&YyLFVuE;9w3F3%&zYE9 z>}~?43D;SEInR8()}n$_v=jQyO4TGejBrYxnOEQ=51kxYHNPN^8DHD)1cZALCDU2b zRw36~65Ir5;AS*ICazE3DxC?0Gr)q^V;@KaJ-s= zzTLqJok68P=8Rfuli8JfilduIX14>T^SXUWzzeFcn-?Qgv|mRBKJi;mQ(0p#w+m>l z;PofiFL%&ywr_z#_`73& z#JPCo`~}_88Ek!bSLLska@$ zee3?yW9<Ojb#T-(Qq4jC>+{t=TCw+IXC?Vl;-SAk!@C`Lj*r)&cs5>14s*KBobQrMtamDJ z2TlYAHtt7WHay)Z+~fcC;w9SMn0L%qj5&T6K~{X{wZUeqQ!dK>vOd>VeeR&O? zy)O9Fa|kN2&pi)aL&~kcION^~rI1_k6w#hWOQ!EYW7R_EM*j-^20K57m&^O@R{u$+ zAuLEOgrf25CVr$31{@^1WpSaq`&F$I=M{koe8$IRgGjEf1_dfjl z?I$L;o}-?WMS4`JmCkRE8ZcU)^=!C@dqocDpRB^jJ9k@kovAR-`}4iDef#})Fc$%( zzeo<++P1CqGJQyhn2?PVx%fQ9&4mljZ?n?!-(%Juze;<(2kqGtOl9GS7kf7 zPwggOI@=68-Z*BsUq`#6>q+6&C6X~^S!XL=zU->iR=kSS_LBq z3-?PGt6p||<@Hd*6a~nJtp1t_-gr05>OGsEdYx(ud#L2#&A{BIhYE0WV|=<&(~QL5bsQLD$wXh<^ zM7q$FDzu~v<=)Og)grrn#AR8MsFDT0A6qKS!x3L6Vzx}v(fgGJ6V!;ivxEoX{A&8*44vZ-UOGm60dO1UexP2n`Y60XT$I=Xz0oE5y14KlQ2K_@ zIeWl%aZ&o#6M({Q=5GNk@kT1~K9TWu1SInfE@S!E ziL4^gaUysaZ;1SIypqTk3sun{p&y|+yTHvP{S-S42mF>pBt8|*ISoWn;36_C0Y&LO z_)~F!em49K1NmJ+3zJjwM0*hbbawg+v55vQ#`2hL;CE0U?6X|AU$+@*jdn|CY{oK^Jl9Kdyn0KTO!b5b-nSrHZm4{yWb)oigy)YnDBf!Oz6a? zb7hOG@FgkQ0YyxdR*WRn>h_q=&c@nJ1dj-hUwAm{ztElWz*5l?Zt3}Lsq5?jC(4bS z(--FLb$zJWJ3F2u=(5Mc@(OfotvtxCg&-n{4LpH-y9lX%WgMgAN}t@m4^~KEKIKM! z;kPp2v+m3gqY1saxHe-eeHU$* z*P8qsb)e{V{JJ}|#Tm{f?M4P|`V-FZi?W5rg0GyS!ZqxEf(CSwk7I+6FX0yuu&`Rt z13S(|WLl&uZ~fV06iJdtX+n;(>{h65X46NY-4~!JB1*$#$vyWfjfs08#Fx*HZy(yK zxbyegV}Z3@+)Xczkd2^vwiY4~)ZD?AN9)jQcS`vLi>Y#J9$#)%4mb@XwHfuQ7tLCc z+{zF-a#HV?GPkJ0@Zyij*gc`phWmmY-hWt|HK=mE-hLNHzsamB`yRzhW(`(9cDWjmKD?wi_6+KWC<&w}rx#c+xwAQ(IKkO0#^ zJ5A{YGM~Ju{?y(4kNvao1)?l!k2fCcD6qfQHY^i?-6PVDvT2-H`P^7{GKPYmJ^M@m!<68j_%dFczfw-UMeSIvWGb9%>K`sO7umgU;p8G-+B2yD!$b03 z`{uJ*?(6O;73UW9cQhl!T`G278xXjJyGT_&i26VXWx8_IHr0J5D;&DJ@-u??2@#{k z`WlLO8|8B4h~V(N`kbwv?yVj`Y{6u&qclf*j(Q6N1+&b8lk1UN#YhDr-_#van3G9K zJt!JMw-T3I;C;@f-0sv-Rp14~-{i7;^PWoew+t&@=VGLxcy2{$0djj?fUocjwr*p($R?{ww_K_)jq}WBfA8Ei?b? z>4I~nHP4O&*XDB@9d2Nuo{xLNL^A)n+_p4yZ?@L<`<98OU5Zn?k2t3DyU@_jfM1XJQ zrt16S(5>RjQ-T>b2VQ{M5rN%)fo96XZWEe8Jb_*y6td}rS7J|7`>K`lXqp1klMuWX z@8>dgp&c$8)lJE!p((Q@hU%6Q*fXY96Vm2(j154&4!&?VAdpz0o@*tLC{!?()cL(@uh5wOBE#@r12dlr~H+#m@xMpxS?0+&WX7I(7xf$;QJ z2h9y#bZDzmv_mvZdfTJ6b)Ps_*|Tlyk5t7sz62%6OW@@VCC;f3;M`dWWx~lnA*=_< zu8qGl^DbBY;Ho!}wWo0W5PgeWwyRHxxKb&1_LwwLTA(DsCGS34<=NrUkHle$zUGWq zNG432X3Mh@Cbg1_PYtU0nl=J>$wljFw6n{Qg%GIAc0ST+ zF_|J84Ed>`aKZKS-b1U~S*FETMp_5L;)Wgxk@FQH)c|C4|FICJ{4O{yc8do2f!o^& zkP<2FEFp~Z7d-;5gx5e%o38&YsBGbF7KstiP@(|-8x*h^k@{R?$5v%g4q#U2!SX=^ zW0sw203@{fLM&GbF7qD0IL7SJ9&Hy$%k_PiS_p3BmD>ObqB_T62ct z%I?jole%XHt%j^hGrD>@Y>I9CN4SQ2sFlHw8U`vg8g%El^SNC8w{m$5Cm3>PB=>-e zvagxWSu*T(Ej@;K1LSr(@JQf5<^)nU{{hwaO_G|mSw(LU9MA^rhe8;s+Xb`PLN}n) zs^ufVe!3>W-auLllGqzqW>LDLhSDhQEC5fKzDg`~&U9gY;?=A5QNO=kn6VsBKud^h zCcB_PGjIlVZM3r3`*Y`L&OYrxr|bqO{Bq?yE9`dXR}@FMTW@eHZA{MGRlyiQ@f6U< zQ65z<|7cEB+~y7F?k+caL+}(+%Fba|^LUgAr#7}QrLbYi<-vP@yA#cjjaj5)2}}y9 zF6}IBW^CF&!4k~|q|Oo_QCL^udl#_k4XFtHDrcZ-(@gZdQj!j-)Da~4yL#wy#0b(G z`nq?~+`~J90Cc1bFs6V~1R-;_Ga201AM^ep(9R@S3tR>VDu0sTdtVSpa11QSUm`S{BflG<5qSzNkkGF2ZGj{E8EB) z22)?H(F2{`iJg@L>jO(y`iPWwWz)E@n@9(#oC7zw61S2{<93`Dyx4P71;xH$N>jAG z=iVRk{uF0vE{b!EY-LmVGM<{*K(Vr)jcu2({bJ|p;y4nu4ppN5iW8o^>Biz&x>W1OnlQT|JF9x9iUTQS0(R6MPpvzZWh+ zQ5kUHCFb9sj{JOQ%Nkm>A5FCu62^(qF>k)};LGuQ3Fj&jhv5Xhtp=nM|ETjs>R$Y8 z;Ar$1d(x(pIXit61B|wdXx6*BI;V@$kO6bY(EZ)Nj~O;r1)xt)UeE?GRM{+a0kQFr z{sRw6Vm&N6jq3t?&T*3}{&=Rk#GU2I(kH3h{-7-Elocqmi|S9xC}mdVZICACb-(eu z8bG$gt_d}C3uBbY`Lwk&Re^Upp&6e){AvKujnWa#fL0=j`2=x2@YrY~ znGYzueC@gQjKq{VxHLY`1tM{l^w0$&i&r2#l;;WIc*8JgzZ0L5MRVfZ#qPy><71p? z6NDr+#qK}+N-}vrA^{#Y3IItQ==X}ik=FhKV>35jJZBO`v(Ih32Ase%ua>!%YzLLm z>joE853V#wZ#+}dgc)kB7@kvGG-#yk<=o&YuUVhX@+`q*U0O^Q->*NbPM9Qt^)e_r2(4> zHgh$5+F-J?X?kJf?+vf4ZwS?Qi)_r8f!CStyFWnF_3t;j$iY8JYxX~WTc9Ct!*XMv zGdQVHH~LcG{eLS#r&a=^@q?-o;vPK3sfaA z@k7Wgx#5-i(0hPp`1bk$Kb8!Rvwv_!+!nZWxQ<5$XEHtxiW1G>ZwCYU9gX2s zdjLpCBdmK}>jFk4edDQZp6CU8?4H2P z`f!WJb1QhLgk!@o>fw-O?yPQ+Zp&BiRoSj;1uvy#DDg~Ra8&TIO3CDhKG_9o29cOs zQo0kye-tOW+%7)ie$Tz`!TjNSxLS}E8>2}8CDgE9H?O~AW5gV>&x zlPVtBO=V#AFHJj_<2Trz(A7=*$nPix!S}3RrxZ8O^276J;uNUURW)>?O^>or{^9|j z{uT7(GGtJnO@T=O926-yR-Zsyd_J}|U=~D3(yuT+x$t5kS5dNAI8N~mVQZCdRC|fuuP^mnwZx?!B=haLN`>^fy2>4p z9w;Wh_VuVkwfs$vY!3gT)UdM9e2auqhDc}l^nOf6_y0!Rdqy>tzWu_^ILgqB^iFJu zgeKB4B!6W90qIp*L54!k37{Y#y{JIKh|(mH;ub>Y z+;h%(&v~A;-mmX^KOih%vA4V2_jO&r_BpikXV)NedO`dP`^Xu`u^M}|*$`#Va6~5Gb z_PGxUh^nmO6S$RJ#L~p=ABQw7KsuCGvFh0#c7yZNoHBEQMRXv;RDg+YqVjY;XLjku z4afZg^(>U67L@eOC-P4{S)?-1GCX! zeOm08${g(*@8?2zJGg?S%tg8M;KgU#%YA|w3>W4k*+xRq)Z1Lc@`ysB5mg|m_tUsh z;OwWz6(PbGk{d5{%w{kDMr!jt0GKj1q52XrRd0?_39KEqu~ z8tORCAjJ7q0V%D+hHb0B*i}wq*$d%FOo=O4+H7=1QyBKtZbW&>{Z@FJ=uU2IK-F^b z&o9R!G!4FjZOU%^CNe_5Xgg`U@J$#tCLl7DmHbun*7~iJnK3cRr>y>ZEbdX{<4Rmj zGqRM)><^Rcjdhkv=)Y^Ulyi|l2(_LrR_;{v>;4dMpML$>8{C~@1*L*d`i;>qh=zs(+=%4`b)b~og%CoSx&juN zG79Mf=av_jzPR;{mnC}OQR=|?IGvobe;Q(N`rIK+u2~6-;gX{bI>%&Bq7cViH3 zBCNw-9}%}hclD<<_29EXu=_M+z9ilqc;6XwV_2c|lB9V-{u!POh)#3myzHJ0>22XW zxtP|Cf^&ySA^h_yG&(HBSAdI7Z0=OvbmvTb+MjHC8r=Gw;|<;0nPm4a(VlGl*Y((Y zliejjMC-r3ePxR?q5IYc&oHD9YrfTy6}gUv^HJW|5*K}MO5!%ApZ0yqGdou9*-F;{49h=>G3t(9&IkJmfxgdsqS&(}QVT&)p!=778&Ec(p|z zXVwN0C5?+&&`zV>_zuDZo^QuWSa8;qWjUYe!^&^iSz_MUb{9|IeAc@CMedXS0+r7C z8e!8S!s&U=EN0u5@Qn*bziu5XkEaAC2aK|`N{)^v;_~(T?|R!m>*sFWo|eg3Lh5D` zg*E9K3YqXj$yp-r$i6@Yn^W!IFr68RXrREIh~~Z1c#yiM`}+1E;^D&cYb+u;d9ZPJ zyUD)ZG9{LLc}kYskQ?+aU*ejYLlMHI%<|A51Dr6*z=a_Km9Gtb&hTOJv zumEe*JtLD#M>>v|Efy=q^I0cU91WOBrTp~_L>g63<0f&*tkvs~(4z<+y56TN4pCW6u7TEw!s_yB zBNgS~Q-sU&lG~=&hj)BHg3ilL8N`ACMwLI=k^!NKHZ9Ed%YqWg3iL(z{2y4_}@J9U>0)U|8!onBp++reb@f7|x-h(g9;?iV8pZ~v%+ z)%40<4s9u!Saz+01)zfNkiVP%i{bzGt$iN&(F3TRIRC>RK<#pyCEO#=2lxQG{_!UO z@t^NK?E>@r|5mUz6Q~`kfEEzSYXC%^bTnHj41|FGb71p0Ao7I$zZ~Pne>;RMfoTHJ ze1H)wnf(jrFMdr0Oo9Kq7mx6}0GuyM`_}g_oDZaS$q@j~2M2sh1aSUf-$yCH6*9=* zcgFBK2t28>{a66zD-b?q27q7j1CxjLjY02I3FPXB%WFQzd$~k z|NA*A{}$>C74&KU?e@Y~H^Ak1_a4w0?`re?LB^FgIJb)g-s=Di??dbe2F$e>Si*!p zI0-NT@AgDb&4J5N+Q#=-!ti?G|NRc^3yrp{-=(*=CE@K^8G&w`&nbB02!ARrhG}x7 zEUIj^;K+-z)kt|_cI}th))M_retr!$a%boJ?7cGoutT46|33QRy{+WPN$RJHnmuox zZAVwJ*ROh}hIZnY+T)6Eny=2xJpTRR8I{ibfrsD1mUQj!T>Inn5f1}0x{0X^Kf8AtlN%Fja2Fqrb{ z(HwtU?da@6m&G$5O(IU^W;?yu-QIKJkI)p*L7_*1#-puoK3Tqv8LH%sGy0-d6J#*! zmLFL0CEDQey@I%mzn~b#Y+M$LdIYOuYxtj%2L8y$7N_qajVPyEyADn^iJd8w~76^TGuf~yiFf!f&dd$i? z7*wo9Ja71NS>2`6hCY$O}b*@oT?J!csf9P!HoZ_f`sQav3F_L6tBxAXi- zAhu?1SlH)XW%Wqq{%%fZi%Ep!ir>d*_d1d*yHF|GF=v?)Az0G`+Q$G~p_Yu)df20g z=3Rh!-PzYDaTJ#>61vUMSE)1EJ6OmI#vGpM zU+wEsol9hkB(&wJV0%>zmZcX(ZRVLj;ea+eNtVb2`z0%dT^ z=qR<(BW0AJ&XAJVc;S9@5lg%+H8yfSDEv@4vz*h-5TCA(Z zxEdTFr(2WEm?AsForMeRXQvp>i8IB{vj5UpJ##Mr zqeL9s%ombPmBKEZ%;>K|;P5_Iod0I_$!+gW+)ho$f{Y)jXVb=;o}mx5axc}E#CEMU;DsHgdawmj($*-l};85FxL(T3s+~b_Q z5_Z%g#|3>9=(mVv3((WX;>oFAi5pX?xAfJ|w~dF(wIpNg0S{*t9*zV&gWhnm9XK2J!5WW4cgq}|{Q!|1 z_w2J!>R(Wb??UVSL5Pc}@?v*E&rn?*i~2t16+w6_Q~(EK3A~z@#L|S;I>NZ{9$;-sohaP_Ff~cYFNcx67vyd9F#l{wq#zmKSvN znl6vQQU}jIzufJbi7<-PkVc;ys#)|;&C_%(bw})0L~MR0(E?y;bDB^>1m`6~rsPn> zhQbBu#L0r|xqJ5fw{5MclP|fN-OVH6=wEP|urw;G1dglzwh>UmJE1H%iM+sm68vI4 zrUU0!Di3!$K~xwT_-QoU?slK zC;5uFO}1eoI*@v#L=G}YAm;Aem@ebRX{rHKHy#|l;Z?bX& z0tpn%*`mvMEP_*d5#XkGc6DD3)fp{K6sxa3&cKefAl<}WzASK$*2xRi%gDG7m71N* zJNLBb+KSUFr-3RrFvjuiIw|+q<*kx2OKrR=o3)rgG1H=$YzIv+*jHC3=+#o{#@8xY zsJKzIKYI4OHxwbzV*~ri1NQ42tN2R9>& z87ct>bFDy+>|O(3I8bj?LZNoVDffwWO}!#_>(0)tPSu?W{#&k0cM*XvMFG`;P!@}{ zuFIKUE8#qj!f^g1Fw8Odo1OfbO|bb(W$&r-k8VKTzL=fJ>?#7?4A33E{&S%124Qwj z?`@b-=BXXIqMKR*0`k+|B}qC_w~jPrV6R7YA&kADmuk4mMb6f}vY>fsz+Pz)%xX+-lvshv8M3yq^&PrIW3es2ges%0EFr9cmAc2tNLRb0@d3wmt zgji1(*tIGfd*+(Ek%}xxuwmf@qPkQ@rn&?pYU!kcTh1pTV}clqD_7ol`Gr&F;fOFJ z?>@nVflAjpGnrpm4aRT7?)EuQ^4PZ{!fye}OX%!*CSQwNly#qfw2c&AC&8Xd<{!b% zDRAfe2!G@&pMr}c(Ucpr0E-q5pFcVmTykV_9dd%oz)aJtf> z!+ox6qMvgyJV{}`I3b09kPHHHE4X0DN_?)m-#ggP$xVe(BLta;QrIR850A^fm%y)Dryj zI&4jTDAt4(WS-nRjSG@G_hBym+=s4a&Sr$$$hO$Z=Vr8oZ;L@kcp^Mw}s*fEGdpk+x@Qody!Pm}})cGUK^lI{4$(fD==%&B(1e6N-_waI%&%gUU2hI%5n3oO3yQ(rU#P+@f z{Bd|f9DKz@D`l}HInESH!m?j(9Kprdb1jp@vm}<45523^BOHSAFTw|2m1~TIoD-+_@cHq zaq4|>KXYrKnBHh#!0{Bto7XQ#TCrgVp}zl2b{N*LdfF}}w>4p-hq5-7Y800Ps6V}3 z?o&wS&y-ylA^N4zT_{PEe1>*iDkx>iq_QiEHG$~P?j`54ZNX2n)8nOS-Tr*cnLOW` z>%r%&tgkplX$CdaArC7UP%;^=b;#a4sSY1^_n+jOzxBu)6?R_htkakm^b$=bCwIq0 z#v^~)Qwc5+L80&w<2=zl^Ev1|YbrJFAY{XUAGwJ#!t1?5+WHYd1S9(il)C5(<%aDU zLnSucSaMDYtX6BwnF4g{A|t1pqAD=vxbW8zv6d2aOtb3RDr@5~F95QS*+b(!UP889 zGj9mZHa*vOX}=t)Th6l_(a%bfokz`DuX z<=#w*#YZT)?U7{cWj`^3L1IOpppEfxbs!Wp{iS{4tkj+Kq5v(UmPa-+NcBPgN8{nx z#k|u=R@eN5T<(0oU*3t7y7|J!Fz>t=faL5+Sm!rf$;RCghST7b*r)80$+OP}s@~y} z{xmyBmftw!3^Q>qTSpA&;a3rc|L)E4CnZ*Qht!)D-*s$~C&4w@TsQ_GIFu;<%2=EPoQP5ap3(Y?z?xQu9(}KL zF%&eqil4aBIr#JJ%DQcZbthTm1w!R=Ly4c{i{|9Vq4CU`bj0J zyu)|}zfzwdF^Fo;p#pQ>*-z71X5-C!8LB<{8?&2t^=(hB>Q;9R z)0QST{>t){Y-XccPm)GDz}mNyE9G8W-t*!FQ9 ztb3O}FP1aR)Q0iE=qEwxTaKM_;3p5XerdPXzEFj!!>kVp?aL__iOkt+UQ- zJzXALI~1(Ne>b@Djwn7I<3i3L+bBfJU-6Z%S8g@bTN>ud#d<4g*!d{x_6*28nJ9Km zD19Shppbt^qqR`iWLl)!b>d!wUKx?;z#Mop?@Q&ly4=#^7WY(cNgJ8#0meFg#o!ix>EG)%OgC0E`wHaWL-bKNePNV&gU# z$~qI_a52+Du5ie?sE>YV4DLH$C@Pdai0S^`PN0XvEz2QGhyBuRQFTVK-u_>wxLp}6 z8*~=omyIsb?gi~6PZ0Ek*DlBFKvtaoxg}ArZq$L%<~sAMjqyH*7d=noB4X_1pMO0Q zz8Rf!?j|xoB=_36%ceK&lwA>lnD^7xu!9*jBEMtpvRS)OZ6Fd=Wi9(wIJMVxcTnTR zSH^-7Ad+ROBYO}{Lq?IXqVcjMW{l7kl&+|!w^in=UYvldy=spW#YR}Zc&^JN4{SY#I}U66Rur$y#W8Ci(R;uhY#q+YTKVTd@Hfr4yQ*0devKWia`8lUiRA9EL1cd} z)*1I!S}XG~E>pB*>dT@j@kC}|M$Wgj-_ACxvCoEoCid7U<=F_EZ0~KVGFqzGpAvID zjcT=z+)ldL<o6+78EHyGmn6+tQiFG2hm8c@5Z$N6X?y)F>q+G6+ z;_hT9=3oXeYD(ziDrrc|yG%;s%}B*3k3#P71geb&h4lIvr!=K>pO)Agu&sXg_f39( zsWs9@UJ_S+CPrz@zDjG8LZGrGmqB z^VO$1057Iz6uY6vg>2Z@vsq~IOX2H5lB2VW7bc%R1GB~V2X|&bGZGx*<@GTHj2bm{ zz1z9^w6vCCA>7NI!U_Hv{&2fR+v$|Mezmrow1uIUoK2f?zKqw$AooajPyOK{uvGRJT zAd%ji=jS9@<;?V~4;0$sdc>71y059#K=wcs$$8HTsmn@3#?NL+~ycv_$p3Bd!fsWXmH}$d^ zqe82g_cFiHxXQIiET_z23Z;na+i`;(6CE%4iXl4spmh+5FR5N%gi%)1j zLHV|vt`>A!mn=lU#A03tfmYHc~xC{c!`5E8Gwf12ZC_ zoiVnsd#6av|Jif?(~7U1C!~?N{a2pr!)N@^}P)x z_;1X@E+?>yzSbqKeq4bX@Sqxk--B+D3 zGi=2<RS=$!im{F=eo-KW#O%G!}&T zl`+O@3S4q;9x}n$R{wM4NBrZ06I(&&w7ylIMLR}d02G@OY-={gbU#xE{Rmm0+YRm9!y(Hh%pMQBQg z>fQ<7uTv;Fp26s?zoBO!KDA2)e|W!we~!V`wc>tGs7L(@d4|qxfO)-i_^Ovu%E$LXZqQvy{qn;~Mq|qmSaUUbzKV+<=FS1Wf6zBc_9}Y{5Bu*i2A^ z@2pOI@4%C@-GP9Ys7EIDTIY#<>W~qk>bu4!g11XpFn@wwXpSsS3+H}&3%EhIer^$Y z^N!(&`{Dmgm%1Hf9Y>VVVYM6K4Nh112&gg(?UQ?dFMQZDM1x(s^PxWPLf(K8v(n`i zLpZ(IAB5E%oL#bW336eMRDg{hl?f&6A$Y%z@g<;E!mkW&niW*SS=@2hF9fCZuow;q zHw-!VIyoiGMxK8gggpZCN*MHlK+v(_NZlrM4DXUn*1?bS_}{o?!ESuT@vYT?UzZAl z+)9jiG5R2H*z4`N^TNz$gAQES|TdkgF-Y~jldINWmu`_4P%_45#FD!;Q zU*<|bj$~1VZnRF#eovDO3WKgO+@D;WIyu%=2x)T%7TV~98AI0LvPF!5VUKpQ?}7cs zt`j_G4k3PvkY-}}2UX8&P@P44RfW{Ag8*)N7mPdPX(?TDtFud_2>&QQ3hdyDN#`(W zLqiXvj14_pCA?7xY}~zvf4VE`h1?&q!) zGhtU&gB(%0?#lQrP%KGPCU5f|y9sDBfv++eer2pGeh3%&6RDgF%tGpAbW4le-y$Ze zY&3^-u&hb1i#m0rfmH@fenQnL6Vb%*(}C-LAvAnnhp|m%SjC;?ka)k1eY#2g%W~fN z#t!ahMv*Gha}#oQnDCFM$)&$^3u>Do`#hkv}-P2r67Sbw;fcaxPk@Ph-?zwZ6Z zh!(_HA6Hpj;E$4{tdps^m-QxLYCQwzz+_13kAcY$golZgF0v~lXr@S+L}Ixn)6G_Y z6kXQ5rP;U8U{n$yPW%OqXB8Pt9$cA3w@fi?ge@R{_^WxTfjxsaoV&h|mEnB~ zG;%dg%gTVpHM|53ge^93^WceRaehdf;KdEt4aZsRD#w{G=D6_D=!T)mp`jO%G3-^~ zsl4sn+n;wN@q^A|DddSN`S6+!CEPW1+o~l@WT*=+w{87kU{c(5QzNg2sI3<)m=Sf_ z_c_JL4~iPlb`5);daL~I_spHUHNF|fe$R4(Zhy;-`eYO|?f&Rmu`Vpl11}w3S&Q;= za%Pwr_6-w%49^Dc{KnPpR&RUpZmaIv1|v=!3fMch3YUy94P^R?jl&r<@i-JuFS}>8 zbUESD!=4rb>_f1;YMS3W?dIT+=+QB&F-@LNX{b!O8F#qd3PP@B+$wy8BfPk(UXg;Oq6YQJCELKKI zjJ2o*bT&V+<@%Orl`Q$l3NCTpe)dwjNWM&!>$|csb%wFh%*ELqsY#?yyynX3!`DSD z;IK7rc*D4k$K~s~a;X$~NISryR$5)mo+5KZz9zBTp)@&M2N!p=#xOaRIbMoM&6k_{ zL|@Vm$a_cilwfIK+RD6y6Us%EsvG{Z+ z$33G(8;-vM0-5&ylh#`hk+@s;Jpr%7wpYMy{s(N$Ot|#ya^7c$Ck!-f8!Z`(4K&So z)9|fD$@FV%6Z`x6W6s{r{m|6Od1?NyxC$TD9=JUJ7%v=hmtkzAw?`&Mgc9deprX?bm z-+Rn3k@aYTdg$>~m8=W_&y_DiD zlXCK}pLjsV8Xw2=?MAkrux%@u|re8F&WvuJ4?)=%(qTxLq zy42Zh`kscby%T4bjJcL;a<->dT367sBJ#(^-2lzJvapH|rcHy`7|rx=9`jd%+(J)D zG>dl@lPUI*lpyK1uLnb8{q9BtM2K0f2Nnp5TWr}U$LVwI!F+_J(8;0E*R@%bZ9#L0 zmt67?i7kq87{R+%t#%o41(LU{^aw|S5R+YkqdZksh`j|ztE3F;F7v0aC+?oot#AI7 zD~3T`{0qsU3c3Fr2=Oz`I77I0P1mI4WmN+3?kvUV(H)cIp>%Ir)6%M+4st8kq~*li z&t0g5%oD!Xv83*inv5&AOu*`)$T&w|s1tF~kvi*vb>7YNcYeRXY0g!o7rCz;+b=#R z!C<3a{_(2UBQ$h3fxR*9z7yI7bw+VMzY66}(F;Nu)c0u%C2J*%>zKYc6bGK>%r;2k zMmkSvP(ZMf&7i`<_dhg25}>v)gB7zkXu~j>pfJ_-#v%scF0mJ!hJrQiKW!wJwDtAC zQqe7xcr;d99!$cRbK+14mu3!iF2LgB&Omi+xHuHqEgzT5E)rlyDhqPrC^gtkY_V+P zcqwO__}HNIDTEq2lsPwq)$>YfB+hnOp6cfQ{K}#p>q{1)XWI5|tzN89Uyac9?t}lq zG)rWExiFyBubOl1izBc=ORRHW4L$qmt*>&i;ENdJR^3w`2kAj|in;R`)U6z;&)sqx^VdEc1n)WpD9wY`pM>EQ9 z$Oq$1-?hNxZOXeEKqEvl!DQhrS(smN#LtY~?`e1)PM;&!;4xRbmoLNF|I{+kmV)$K znEz#^OJ?M2I6<6nBS_kc)rrTJ{N_vO{!c{g-367BZrh;Y#i5KNe*|+?FTGns$;OSf z1BFOJu{viXix*Ij`>Lq`=Co>nDp_I!m4|owGiSeMSI&RwIs=78un7Xg6o}xgGfegh z>MIl0Iz>k23z*18`4t~bI{tXcqu>EGnUYGi7e1m^^-D)FnvYC7dXz$1kISt$C4D?%!W6J6#dkyL|l>}9Vw z5w&Dr`ym|4tm}osIaN+W2uP98FxB_+F;X)8qs%M$rN@h3@EC&>c8MrhG{xAMpOzV~ zl;xgrOEUbpeN4@RY&S9pXK;^`;nY`AR@*1Cm{~_5r=0;i5bzxG>J*F`caqR;9X_Az zIm~#H$Z=nnVu=caB(JVhxDDGz4sAWqPr8kj22VzbjdZBO>7j}Fvn6Zat8g|f!Yi8S zl^bs;Seo$ID__+yDqgK}rAul;yS|Q!no(lNFe8E&wR2gV>Cm;;Q?Ft`zJ^<7fZ|G$ z@l_CvlHpJz|3b=o!r!Uzh7)7)Ht>VG=I>Vg%VHjkh-ICH?RiOH6t>@X)2 z9?q$^HP?*_6{{Cw$@=+$&+#-tE7zUvCK0Xk1x7a!WQ+_68oRLnkZ%M%g-QEB1PczT z&YvZE*MZZ~o>2m@mxtKmvs{bZGD@;O5E309A7<+Kafg|$p1a?%b`SZGCgo9o;la7JKAt9fA11yZP4I;ml~%y zfu$5k_eC~vrn-lZLI>G!(${005>m@+%`FUxCR#d*yns$qU`);$0_7E)q=)C?y3{fy z1d!712~}xT_XjCyNuJF=Zd}*X)i77AkB{$jPGemA)|1d1;|Y=xz_3D#c*59=;ovdI z!J&=0MBN`fSId&wmxgK^m)kwoXmZ2(BN#vs7j^Dot$Yp- zvXhJx$fumQ8u`tZxU zl~#kcDYy2o%>@LKh>7pBjheqkw(T3EwO?UoF)onI!bW@Lu-@C8F1h?oyW;|7b(ye}@$>BD=l6Xs zy^bCxk2H{BVTD}W?JGTv49$f4)chu+*h1D^Nz#@3+8sx>e~RhiV!g5wCF#3|xBv+U`%%CW($Bw#m; zo4*`FV3RU{3)=g+8@t4plxZ{3p)%oM!!n2FceLiuBQ42mC^}$R#HSCSd(Lm9$Ws`h z(l?xa@XFb&ZDJL`f8-!Pu00)P!i6z^hZ?x&*(Knqfs;_`*>n?94@_o7S!)b$OPvN(Kt6uYt?ce90!rM<#fXc;GuuBYA z#^}=6e~Q#*Q=OEUv@qxZ58=;_bwtE)Rxfc3lOw2yg95L_fBWZvb%=l8J=#$~ zt`#0&!NqCmdizR%=mnfU+MD;u!#v45^G*;ca?#dnVen(`lUiQHetDO6@T@+yMyDjm367kmzCdI<>9H?G z`r5fCV|2gUQGY|$Wf4^q38iK!H^Rcp6qVsHWC&h76P>hN8=&E4kQb<^?|u21RM4^$vj6)+K?~NU%t=4!??)X?QmC`84M)2jddUx$;4a+=51|?S zCIU4t5nt-rQOV}e3Ou_W-+dZ1TagxZx=4TNLFL?X3I^OqA{6#jomzE#u~Thscg>K+W08yVf54~R3)~*>p;vT*EMEbPaOp8S z1haUURu%LPM{|ZMiq*jM!`5lcj`Q`8zk)oolHz1aA;%cjfTn^uXE;Uc_k8v*dGc=5 zPuSc0NhYQ_=}6@zK-S5fv$b zf@9YrDc{<;b83HnC$Cf_(j6V=a=3*tQRSH)L+u31RT#)kEY#ew-Rn1RFwp!FB z-SyHP_a_d8uI56i;frrP3)QT3lA=A55Ju7U;r_lliK`A2&kAK5F^j~HH&v_#gp+fQ zYanYzsx&n5c2XnEiN!N@>GA(ZOZ|UU)&Ku|wGZH?_**N=majIXfC?SF#|?4ns|BRT z`)xbuHKnejU<^)Z?%05?%mGPOqD?4I9S+&i+R)9k!2J?VC8&jifi=)j8xRCUfDeF7 z#Gi+AY(JX4hLqS8{^%ZhN4qEXuEQp}mEX6Y&_)N`)2yBRBJe7nXOwVK0Cth&4{pWO z&gY%{H4sL{mxA*&3DA{EaPNj_9H7?XScWFBvwp}r0w~Ocup4tUE`^TyrdjvT0lx|K z*3i-YgZ~`((|-Q~x&i&woe%DLA_lk;M*eFpluV$5SF9ON$e-Zn7Z3k9FShvH(% zH^9iRRNYbC?+48Tobzv84}KZg3yHxX$NBA045yyJDyA(Bf*)i67hyqzG&x|26+L_@fGZ5QX+9 zfmFiDB+xs+>F9##YA9cFo_9WyFW5`yMx#g2tdKAN9N>Q1(T4s*V}n0@j0P?UpvKuE zh5tElg35E4pMlT7ISB;%%YP0$gmE_cV#APo38#X<2IokB0?JdsW$QNLqXBJa=^%fJ z_T6Le){*x*z;Fn?uX;2t%Mqg-`|STAj$G83eI=KIT@|D0kiKkHW&jGcp{Vc-Q z1=@CAmm#>DhXGRA4{pBy{N8izeL#sH|B3(fe|sQ-^B_Em^$*%5Zzp`&iMAweQ>9nq zj!o8uE6M!lT_9(@zLZeub0OkRb(=3@szblj%Ur25m)STFQ|l#i>=N@~`*D8d@N?1$ z)=jEJaoFk5{NJw_z#gzSFTaJEYlNme<~N;7j0QcW2b2o~OXZNZ-gm z>W$rPDNMdLQSkepZzMUtEhp?6if}EDgjM+18?qEP)!8?zTcRHY8E0B%ls;alxu#}y zkql^9iYp^EPDPe$pXKjnXV`SlT9Mb^G5x}D-l+2jGhSUcQuJ1J7R?+8gOCFUlamlF zXI#U>9)T`Y-#*Yc*Hd2-(Pl?Brem!&H4C<>Dd+=T=kapQBP{^gJOqqK)Sht_^L231 z-`VzzELli;%qMT?%;}eD7B9FK8DvJaRj}wpbDP@lo6Tb07fzKrc??8@agpbQibbX> zh$+P7II3EC)F&tw#7E);fgHt15z!)ESebRh9@mmqgga)lL1nBNA*4um~QQ^ z+r3GpE2v{WR$IcN8240xv90$X!}LOYw$i-bCkKw_TaOp?8z*Iqqy`vuk2>dEUF|Qw zQKc{A>EbUpk#TBm#X3h-aNOZ#Vt|}=zg2s>s=gy#ynuYjttQ<&*W^~Y8X{NT{^5~2 z>+qaUH`;TL3vb$~u}54kfmbfX3Y?TV>%G0qz+b_RI6GkY2oUeA)KjC>Y(`tx@zL7m zbsOh*b@~i8p*IjvYvB;?ZHd)T4upnKsdYodXWvgmT7oK})S4EEq8ZEOHukvi3 zFwv_5$^y>}gQ`)AY?m9p%AiDxT~erL^`|^VO<^m@wY;$-&k?Kk626GE^-w#3I8l~xAN(S z<4(0f;Q7>h;cxPQ?Bwn)Jr`*Yn zOuvOxW7P#Sfw?X{I?Q|=Y0t)nr>Vc*g2O!Y8tT5bRO{D23HtqlX}^qjk7x6j3$Are zlGy&1e|;`r-(lwrqSYq1brYrSeVVoykN#l3E=dTK|{50M+2 zBy-5KttmcdKUdYMpvLJ#&c{o4^#>KWTdt3jP)2_jTw)Oo^RD>#r=A%pwmNlB=s|C) z@cEZVtE+`|j~+NRVR5do>{kn?!gAp7Z*1+9-Rv)0({}pb434dfIXNJe<9|N2=g*Ya zzYqQG;Y8b0Gxhlv!i?okIpC7Av=0T-nlOFqGQGYi`38=5VhbUmL`-j90ylm`+NN@q zLiZH?OgcV+x6t!3&HLwo8^5o)gFn<5(BARw>haY)*|#c~o6GEH+tTud2)3g7D3DOP zlr$z;e`t*BFItByZhXdCMaIZ%|^Wbq-{3v)UY|z*EC)UFhs8w^C9Kk?F*|<_rkmXU3CmUUaNE{lzKAWrZv+_4h}k{*f}* zb-R1q*=a6})B+9}+}@YOb1hv}mg5?dTGT%(U^pAe;R7FKeBNzmn6PbZ&8#Q&GOUF| z%r1}DYCX-H-Ra$#6Rz<}{+oz<_*(#&#Ui#?o*C8=RW7MTCe0N2oRy2#+#J=zi)UJ@ zbG&SCzFl>!BUK?l9Av2*LJO?^xh4;sL25*)zMRS#Yu${gPB}I8ipN>LR94pgdBu*9 zh1eK&WCBVA@6L^6V1xi33(6jQt}tK?cVMU>3#nwf_3TPP-_G|my*lNM3nTv=Xbc}n zi?wv-zZ=)&cl#p^BYj;vs!rPCE#M-{mJ+_1%C0|5(}O3HRJ~?h!;i1!TA7c3t}l|k zgDI#EpIEB(5iwAeT342VVZ^I^Tz4dc+;-eZ&2eKhz212h6PAO)7dCk&#g1MK`kX3C zmLQ*XB)G4;VRZ!Zw3p5}>41{8ml&iB)R?jQrjlqoPOGEK4)#@j<@(d(aC@THM4Q1# zM}no1#qEkuQcmSTLxqYDi!M2Y`+GX1;m0!MuAM1|=n2G?+2vS)5S@ zW!bh)>D8>CUUcAmPY#FlLk{{h5c$GUT3aD^t=n72w_=?RJsfZz`+BUiu{Z`>_8`fq z-_=jfd?@3JW1Zw!F5+FADWbu1tVXy#=#F(*d%L^f#jp(He)06+3*%%p^U8^eYP;+r zg9*wZw_NL6j<*n?Sm3>T=+V-^0SyMq}#Lr2{y%sDPK=bV#sEw3@#>h!FIY4lV&>L*?V6jL444$tBX z0Yn7VQi^j$M%I1dpM}B};UX&q==f6;3mjhDxry-oV2j3=V?6cKoe{xLRg-VANS8u< zmqhhLMb}2?A2_{!2)e5pSO(O3JCPa`q4CeZvV+ZLofy`R+18yNFUEAI>FA> z6~YSE4oTjpftK942JC2lD|F|wi|2}>pQZm*ST&NUYSNS%Mv=94#+tYM-STB#G!BOM zhK8%>zhDHqr12IIwI1skHPK?Kz@o+@Z5Qj@?M9Q{N(VZF%t7snp!|E$xR)#8*?U?(F z3|NxYNkVt)u8bAATI8rW)%*|g-t(*Jb$k2O?LtJrh)8csk=}bTkgY61X%Rx`5CKCK z0RasXiJ}l{SV~7AA_78yfPjEP0x6(?^sWL)1eCH&R9IgnWS#FG<2i4B`?j^!;!_argV+858?Qs+wBU zb-w@k^&f3-pqXhQ>(s0hwMMls*Sp4DH+jIGuGZ|7yHNYsS$nG9zQ)n4ezY(W0irb< zXdWAgdRJGII`;O^u4_D1gU(Pj+@o+NL^ zJE=MQ_-U16lW)StTeg)=DtM%g^U2$%wyqJ|*YO$_#+3FJFs#G6Fg&PLs@@%`bY z--}+1-egvBZUPSftD-o=UCUJT9c;iiJu`+i{5~K~}bb}iKb=hFOnD;mvlYl zW%C-~66Y<+5!xuvLf<$>vbTMF1uXbeL-NJ*JQNv^-AnQOeoC{06=}Kz+iu85ihB5s#*v`Mi7- z3%~seOitE_q#WkiR&f7jSl>5)N(!n1Cciu3>9;#J%^#Aq7w03rB#S0@j!T+*oz^bA zZN#|aj;wb$`K5s*uKlMs{t~U?0%E>%+vahdZ^87>B!BIx!fne=LpobKXf?a;e24QH zHO*nkqlhA9*>|*Y2HZ2h2*HAG^-1)jb1aGAE(@%<~?8U zfB1>Drld~eu2L6C4!kftRG1_fS#Fmu<`88UH)RA8+|X)n2-^&lQ6fWFpH;i(Ko2zQ zJyD$57*+I2seQsfN=6=CF>QVI#Gu}0zXC~0?E10BsG&+7ad*pbcT#47&SZJ)k4=w+ z@ablbdj0t(k1y^OuHMtn%TIr3S8_gPUeLlN-De_-^lN;*y{G9j4_eK_-I1H_^!jtw zGnx~T9o`7{LTeX~vdgz@?=*qSon#cZ=yfBQ#Nw;m$|8bz6ZhT;u(3D>;GKIX56>^@=Hn>HbwHYXvn#pp>Ta1o!`Wa278(2iy5gzyRk^sJ%n~MwTHa`+PHoz>x1N@3O4ppA#ob~--(JnBA~rkWijH@ z?`^YqJoRP5OvIckwZo6}(4amaoj=;DSdF`Q%Ke^XemZ>SM9L+Q*LU~vm5o$iV= z;Xx}T*T#*Bsw~p&xH?5>p@VgjXT7!?;&M)va+2ru>n6FHll8WdZl4~J+@^CaZ@4A| zS6NN(5 z*jE2aZ~TP`SU64rdxbli$wq>Lzt{a#(Uen5zI+=z&C5c*E^SBU#1b(x#BJ&ncxme@ z&|aBx=pZQ01Z$4W?PvMNb`L}iB-tLrH2erhlCoD6U#mQhGdQEF-Ohpw7hTZ~J-HFQ z8Kjy;zl5M$cc=ckKPTZO@}O@_DU+<7@P%uRU@IjaJyE|Cs5lxPTd6AUcYL~_CZkHw zxjOHET|rn39f_H(PD{5C+9^+w{MkTW1P6}bbku+vYM`);ReCvryH1t=u!xP>ukCT! zJBc~#hTr{nmv`}QDYu7m)GxE+>>Y>QbP&A>3ybzu$)Jc8{{fIzVN9>+AoeUZ%m%V& z;r?jOF)_rq@Ye74nlBoKMBvHl_tV}uE|DBK4NHh*=qc1d?CNN@fXQ$B%IUY{mSi8 z4(l#6==;%$ntLQMyV*)f34}~;-#`JSt!T|^&5e+=?OLf|%<2(q6Z;Ah{Tviw9etM{ z)O)OwG^YpOYgcJ^KdZivE0EfA+LHoVlP(-^hd?}p3kPX-rr;Vc0XLt=ao9e{rY>r@ zO!w%qx_|t0Ad3iTC#N>;{lPy7I+`O%_p0an_;K9s>i9^RD z?w_A>sDhe7q1=wRu2-_UWEuKTLNwf>vEh!VT(ci>m2c*izF~j7@Zy?T+jVX3x_BBX zES=%O*?M7GqgJ@?-k>bN1tr(GDm^A5^F7MV>(#rB-OjF7+tZfH?V(FoFGl1&7 z6u~4;6pLezrJ}?Hrb`jTR%$=lW@n{mvs3LtU?m58ZJ( zn-J#P*jm{2ScqBb{~Xkik4dGIXx|w~5O5T>HZKv3d zWT!@A4*dc6uwCHbiF?`2f#p$-@Bc{+9eeK(2-qcYPs5G^Ck#MaxYA&Mg+5Mn0gLVe z=nYGOSUawM9gk?&+dcJ|6%8_u>{u7Kch16Oy@5)O2iNu9#$11J%g-VW%?gn*!+u^0 zs?YnCWpXeloxQavo4H!5hP9WPrMojimgH*`)qG|N(i9M>q6W2N26GFdZUk-ENjg9> z>MUvL2KsEV_o7}WW{*{B7_hF{qtn@9_R8MWDuVZChX-;Kvh~h`FB$m4d%E%PJAI#V z))1iG9@pNLZOI;KuGFr$ZTg}|U*&$+O@EiNFq6?uS2-JOt<@bx7hLoBpp&Sglu%i6 z5_&$z_Vn|OscOZ^X0x$_4mvDHe;*|K3$iAwK8>+nuJh;$_s?OpP)TE`Hr6Y(=_usr zrhS5-#@c9rtvONreHld(|L4GOJir0Wm-DU5!-Xy{-eUf9K(fayC%kBjdA>5{@#@SA-4~di?aASd6vW&Y>b3#+3Fqcup)m)5F}6x(ihlU*wQLsr zU)U2x^Is?m7;1;$EZ+g-13~cMR?qg}Pdww+`9TlBfUS~>Qa(Kkb$8!3+XEkQ9-FLf z5opM@go-$Kf~W)vT=s_eK`JSV*hk2Ew#mg$Q*3b46E^o`IJv+piFH=e=82>FAbms`K`3*N;G7yIk6sawjc+FW0>FTlH9%t$3R=`T}%{41d&)bM(18Ph;iCg` zwyL~9IA~cu3`g7*e)2C$BM`&+7{kI5K*|$%Abi8UDo=BJIUBx5f&6n*J@99XoBx_+ zi(4S`&&~e+YO+J&o%FZx#9Vbf$H{L4HogM`$t0aO!O0Q0XzbaCH{K%N7-tn)X>8Ru zb_(qceaM@iDyWd=$QN3jvd%Koa6N{|)t=0%f%U60dj42gIf_v8I{4 zf;)&wPqy(pH`)H0d}1-8?B>I!&+NYks_(y93WG|k;xWk^^Zwb^WAXkeC_FvX@NNB7 z(=Y5eZ~p<}Zm68wKrk2O$3&N0oUOEwf*UX$ngPj8#TC ziW@Hm5!@=-VD=trT#YysL!V1IHk$}J6j>ISCSFmOQT6)89beIR4(NFnYC+=djg(Vl znw6d+$ztS%;_Kr1mB>(U4W`Mim6E^x2`k)87}oiDP}{|z@AAuT^?{OfxG|m9aXY2P zJ8b&Xy29s!xf;1-F>m8_Te$_|!7uf?Pex5+OcL1Ck2NT8fM zb5OTFumH{92kj$f*pnb>54;rgVbZv7zo-#^QPli_J%LCmPx4}ZKT*8rR0#L)-TeJx zzEPdZK|sZUJ6lJ7V|yZHJZ^)c!J}q8C2$xNV;($1-*hv1+Yw|Nf@#oO>yQ}M$Fp`* zep`no2UdUTLoDAKFT@VG=-OhssyF7x8m@$x2}pzKHNMrfMo?W5pX-0gVdGon>5AJp zBx$>4d_5IfPBI=daekfE`X_s2w^AeR#;DQ=&l1%fDp?n(=ujCdXD&-S`6THz|WA0Io3&x56 zN`TCRa$OP7azy70ZoO;9OwnF>WkHcVVMg#6ZCT!wtcVrv29dm2BrlI)a57S+Q*Z>x zM?b;b2Yn=Iqq)y7uyKbYC`!qXU9Y7mXwcY}gfxArH=n*8wH%rbJPW~tl8hL{FnF15 z>)NZT#tngv0F3nyRnMYBlG-2?W~$u8*T+Uak$3X8A()XNk@|*L2*v;>#b>pqYs;nR zQ*1s-)R)5bYTKB8mc#3*&+T-{b`tlPp=Ob~)&eiEc>a&0`sDW4tv240 z6I>a?0sjxb*_r^ID`O8jmKENUnRg^v_}q@X1M2rzdP5LXJ2rve2g+{Z<5*pKrd{m| zMDN$d?oM~Co^;7PvitP5vrRO8g&znp7kIw~DWip^jBCG5xBS6|a0P05$U~+Cv_UI)x4&Q-2Xfjng3=?}-qww!2 z*w%+O$y|1hG?G?&OutSP6h*Wh=Ox5qRGQbil|@40ujz{}tj^Cjm=bM;MY5T2aYawt zf*D6||K6#QNQ<&H0NROA zeH#@VR1ymMeL~T9y`4!y=`^pw5Z-*FjkY&b&C1m^{uB62KJ;H#XZ5eKd(=qKyA2zJ zoy3JhAlQ=tlb5>3T(X=?9FqrAjLEdG3YanaFIOtbayE3Lj>;Xy*Ux_mah>{WTYAj3 zyV9zu{bA^PXud*cqF9@1-9376e6tE`ged8oL-M4JRt5wX9`pS0q&1%w6cjL#r%kp_ z*w3}@;ifsZbL3|%jgp%0=nl#}c+>Sbvu#9O`I*+_z*K!%P+jJle?vpRZm4#Lycx;9 zftH+PC*k`b$o-{?Xdu$C9cTGpAEpDw1vLzrGB;(G>6O zeT(*WJeOkleku04DL7yHA~2uf^iG3Q+-z|>C;2uIYm|4scX~&3_|49?19FNoT(=lj zxnk^3)MBhncZI19jQ8V$d%*0)V{#Y5{1K11Oj-BhX`Up>x6pZmV0&pYO(f`xV;Q62 z+b6;YtCFyV^%I}`%}`n2x2TfDwGQJ(GkDXQY_VgLShdAyoD|6&^T9aR+8bNhq>PH* z4$CB;*DiZTLe>CHpdxGrw0%9G^1JvxAb@pae|bNPQx^oGX0{&OH0u<>8u`p(kX)0{dR2?n88 zcn7H#UoJY)3%wqa#`GF)>DqeHIGpiaTW(1k>r#2S>JiA?_lO%Yno;sCt?*B@JU2_u zrCl-H$m;vBFkO_uKSdWTbvr5V zuogfb2et5cS7yRi7kh#yT?5ib#s*M}Apx}jd>VP;*# zvsHJ8OmxX=#cd--K#r@b`MX%}4?`8Qmy1jwV3Mfqp+nkT<^DXyr8&t5Rd_mEfjQkT zF#dn&RcgsOx5<2M13XS17Oj%DYmK{W3*~zQW_w2hFR=5(B5uk{t<#B;f^munZxHk^ z0k8Xx`_Mo~58FT`5Nq67W)os}-*x)O$Ft0`AB#30^LBf(1JM^APJqK&v?t5IG%P#Y zq*<~^x>7+Hq3@k@Uu(E+YtYE2pylKy^tTs{9L-8`TxcU28)|Fm3pnc<&iA-Ld{s8Z zBUKhXFjQ!gF-s99GsEy;a_ZMSVu5B2Ml4$KWl}=?(XNP4l}%}3qZ;JIyU3NG;wxc< zbmJOFz+VZs=Jj7i0=MS?UY(*84Xo;Z88tj_@nFjD{(K*xbI%+bGX59z5_flw=GnPq z3(Rmqd`->DSUTk_(DI9IzxXn<0e}nClx=v@kLm`jm#SEMIuFX&Ukujso4}goQyG=d z2K=K+lve0~(;HEWFv>?2zjH;k{_;ZqiM2?Octqd$eF4g6<%dS7YX0Bx8{9 zUA`1LXVJgfbG9s$@5jLS!z5Nh%7X;eD7g|Rkw=~*yzW2+rEFxIfA3zz@WG5hWPi}i z?e-f#-Qp^)(c*_Aa2Ee{?|fEauQMS^g1)8S_RIN7d*(n9PS_8iGF22)PV?b2rk}U3 z64_t*r$D}$3_&1?aiA&N7I}x^PGW5*p$aQUwu}2;<+K4IZm)ULz4afz7zZvTZKfj} z@Bm)vLEk5=)uWk84OLdoM&fr}X@!IMr(J^vb&s!lqjs@WBeHvxeiNRtR)`c5lbMZh zqwCUo;!L^wKgqww{=7UmH)>f2brNPmU1;s~Xm5U~b+ds?{|>jy`EN-`bEq6r+e6w! zMp56lVJ3%{UzI`1@D{VC&w{@d*nfS{<-APT0V?`68PLSy4qP*ZWyssVW{^!?3{sSV&AxxbT;Jldoxa6kBUdf6$}v{3EdErjPHo z>|T!)9UF`L;FRx0awJNvd4C=)77I2W^?z?f_j+f@4=Q5CI};K##mp|H)M8W;(!ExSM!`j?sUkg3`lw5*C2WxY$A5tg_1FqTXg&Gh3bD#@d zT8ORf@UJb88#`JbTvdc5+n*35Q~&4lVTw7(2*CO8zY-YY`fb0eqkyXc2LG{M31ebb z-n6&n_ft;5)BZUi+yie0Q0$`O+L99r2AQC?nOj38bWk%MbY>Y`|C*REZRYn{B)21W zSdzYD8Dq}oYaIPF1K>0X1`3`v{^k%!DcjheYU~qgVN73|0Np{-@^CX7E8_kJasHcf!(aLvQ&At_0x4y6(!KXsk;YI$4 zp|>tw?!hq6t)CM)y=xlRC2u?kTT}U;m+CK2hW{HU<~QQ|`@2{1gW#6KY)^rjLxkv= z`k^43i>~)~Q76aP`%(#dPX5+|X;`mgZLHTi6_Zi6%I%#K9ZG>8GIaTusxON7|7x_q z@aN^eHO$PPXfs^fjq*9OgrK68lbd$h!#t}rM=)+yw%-~P@v2b8w0;tlcz9<`)Zs}y z9y{=KAy!R>;lnh`9=y^LI9nTCvS;l+z>Wy2vf8sQ)OK1X$AMc+6x<2 z`JYdutvKMqo+U7b+OMO)qIPleP&KaT%3x*!T)!XQmT#L6uh4*Y*GvXZ*#~L56Q-wbUv#`vG2TX6S|gunaxv z=Fud6z1vU=ZlOdGd5wPJ+lE!;X<0RVmDU*KKHbxu8DiwYO)wl@fcnuvnz5PSv5CJ| z>R1~;UxaDZY!mybb;iUw>YWi_Z7HS>u@o?Jui<8mY=_dY_Qsgo35FPdd+XZMHMihG z(6AYvdo=(~!2V}vY6$$~hOt~9a)~UNZE>zL7?u2xZw3&Xfz3Ya!BmQ7q_WCfPc+!C zvSIY+P?P7I@>iF1xs-b>JxS)0@|>xGZ20Zb`;C4eYx7p@+CK+ercEbo8pbRVb*brf zc|~4+_-|Y4S6WQlEQ8{#Tn|F+{ZNvb{ZoTMQSNnqqM1)xOPpP$J6p-tU6DVMj7&ej zYF9$(*P@wj!%IleoPei1yGT?~l5`p(9uCWK?HWbkXewfpR0YVPuh6sg5KW#-((IR@?o z)|_IkOsesVcs1~lMLe;AS}69#mX%K!q`6#u)c46OjOG&ny(O{kvx_KVfsa81ZMupc znb`Vsq&4x|hUIf~Nuy$mWnI;G(Y7kYs*c7k6a^uK%O+|bd(c+L^hZwe5{)ib-6!)`0|g_v z!`GWaQz2p>zO*^!JX~4;?lVsKzi<6bB-q6cL1_y+f9s%4Dg-pWIw(vN+gPp8SpPi(8b)qe@MTPr>pr(|6|4cxbW zltUKwGGq>yYW&qbS#i7lubJ*AA2>ZRYNT~AZDqMhj(-+RWO%V(47L51jUVrzE~4y{ zXj_smOZQB%i7z5j(JwQ_glK<7zi!RX0j)^<}_x7 zWmDSa>|8PZ5CVN7`?{;?b9UrZos5?Gr|Hv$@1y_vIJV)RFX<=uXjOLPkM2$Oiyo?E zV5GJ-lEl(N)~m_Z$bNTqznOI@@a-8~ZHLsl@{|ADp0lP_#Suv3`dt|Jz`hsm`1a5l z2;jhXdUQ}*t5vu!0s3Zejej z3s`-WFn*BLic~&LQ4r4|A9%=IR=|G5-dt-`^|WlkFM|=K;yDc3<893Y!J$duqm z0A#k)*$9EW9h)i)J~$SzM^SChe5slIcvjPej%ZO7P*=BkDH*+@ch+^f=NwB>|%igXdkQl=YVAy7~1mX&S5NW_=^S|bW|P2#26N+ z%Kseoso*7I7rHK7fFI0x_f2=S*1_GMGFgMo--Ah6cj#OQR(()zSU@Fy2J{BIqh^n$DIJt zYpC1=)DgZ77uDY+L!0{r%8U|`Ko|+MX5QKFz%?&m&&|R*DQZC5MXu1xhfgsv4q2Nt z`5YOG8((l~$X^r(dcliw^#D9MyD6u>;4<4c$py6M2XTtL*ooJ!pA|XZp&M;I-*BCP z@+^oCE4#u$8PsXAPB~Jvb7LmkY=38jJZEdNKz3o{O&6M#IT}&fbbFp}aby)xRF^LF zsUIgOKr+eq6W3kR`yetvHiOs^ zSP0qLs|7YWGU;TBIv)x|b0rzzqdJNAuO$wfngfmD*c|(2kWr-dAyWNS$BBGOi3UhJn!3@e#%#wi$#&h@rb@nuOFpsbPa_RS%lvh)(6+D%`Ks6w- z*?IiSBB3xLCOQEw6$v_!Qn}|2*Nd0`eRFR1;aEsqx~lrSh)+o!iu%zRq_W}k*lzm( zP0zvc-R=UDt!f27Foa}q&FWdpd|A>>8AJLwIel05RY4r^!8{~q0U`lE^pLeV^J~{7y(+!$3K&X-X)xpLl-pWJX4bh|ik*xt zh)rx*EBtOS^)6)Bl^c_F0j%KF`=vWEY0Kd55f*||6M4I9&gT76OuBWSC#rB@m_ zu?x*QXTR64V>F?!iE6Ytf;3Tba=^N^kM`17PJr|~c-Lb!Z8&yX%L(5apB@9QPJ-IR z{No-mCezi^W%i5-h`rYMJ%f25xsPJ7Pc(%c3lBUz2Tfw*fHTih^e1e8-&EFeIlRpF zV#K7Qq`zWsQVhB}XW^L%q~xzsk+&a3SsUQZl=SzUANl;qJ7)LnjuV9G@C;kgF`ZbX2 zuVwg;QcD+`pPu2O)-2))*U}4MG>r! zLf;+XGB2frFIB+-nz^R-Gno&k)cKW>beL&_)tfkaz3 zckf0QsJ(tVZ1YDP(s(OCzXbUd>zZ#_I2vuyN@q1!27H8H26Y^_aHZuJIlr zGL!pAXDkye4ET0xj;$i^*0#uF~^{5r;dT17z-By;-H#^^;~TOnhGI7eOSmMmAY5Hr#4iU|MB9`^A=-BJAbv!X0Em zFwb!0#cIw_tEq;U@B>0f`XF01V}Ol4vQ~2Olj*nTp8%~8)?LEU+8EF8q^x?yUxYX) z5_8_P)uVyk(uG--Ei1hla+fjHk7Oc-cs`->uV{$<>-+6ciAF$p_ul~GDd-JqJGWoZ zVYKJV$Hf51Z4&nUv~!U(D6CBp{qid;(^=&t7>cr9fn6O9g{*8Z0YWO1C_#B!@aKx z;$Jt+oGDaGTdg~%{VjGshDY7vaNGV3h}>aYru_EL0q}6N@0U)bA8oDEJyfKs$>>J! zga!8M!cW-eop5KhmH>LhX14yEN|CoR}UjaGgaH9Ob^-rG~8#W#2yY`*KtGVm?cXc-Ktju<0V|9yEk~ z$7?{Ih9OWZ9l0+m<(mqFT4XPV7NYHh;hCr0+|o6~b^Y5u*hG3KdX~o@Ez$P)_G&&e z( z#f?!-WkJRbC2}khhlDQR`V{G>n;a~&Pxsq_Ea84j8B`IzCOCyn1}k^k9`q6?Miyi8 zZvfH+*zKbCi4+i8B(UIJ&s%|Hs&ETFVDbkl^#D@_%Oknw9dWuFd;!-pCX6*Nn{;Z86cnPR!I@b2VBhu|%tM|{j%g*g(5dabLpYq8=Ji|XNw^$v}?2dxBAP-D%X=d;(Nr1 zbX5ATrDMuauXD%bP*gH9gFy~%wS-Q91QYXA9{@d|A1apvr( ziL;O{-IV?xAEAjjN~Msa6Z|<;wxL7n+8)HZh3s%<=*!rC=$J{*1??_>Gk<*@ozd`> zmI+qpd4httuDl<3W$=NR3|k9$_L2dGr?kw3XFlo#@6B-3y+Ap@3rvucuPtQ5 z@$$t?m_%I;U+yW`SevX=xK6QRvN|9Vn5=IodKspXtdiA_tllU4L2?FW2j@nNFusYO zCqa0Y<|-g&?v_rlAgcADP3uQJA|{w#1DvQ=K1E?A?C;d(wRyhb&)P%cnd@~0?xg#4 zbUW87R6zy-$!v0x(53G=D3z^sbzceD?;tQ|;;ZeYK40!z?b4nx-l7WI>DAopU!mTL zv6aE-uyORS^VuLTzRyNI224ig~_}}>NsVrM&52CF9r`)ZN%hY&vkK; z)QpZhesp<*fq+{e^~k=0__di8d$jgnWh}ln z7_@9V7?&niGee)IdknRH9}aMpWw^c!aIc9psw=jG=tgzux+=%kh}=(r`C;St zEU`M{l!KAVr}9=Dc5l(MV;1l%ID>jfu&~L_%QVnn;1)%h(JS>mUfeYKuS_r8Z#(yD z!Td=MDtbkv2ej2mI32ssCXtrkYVXV*eKlH%){XXIsYtGTUo8eX z2}P*1de>*b&Ehr&U8l$|uw0{f`q!*W7GgNcgOpj5$+nzeTL;?9nDvhjbGsZ%U6p&U z**cW1B3q4rwf)*PF(eTxRjiq>y0qu#LtgA;S9zxPg>X#;ZN)*SoHl;`!7DY_*&*)I z0E<1F&%VOj_iOn&fYvjYoEro62U~Vg`7rugv}cB~pGE z&VcRj+;8t{q5_Xh>4OXqRy2fu>!q)jH7ui+=UKfD5H`OB_iP<=%Aq0NR5))cWHD9? z+kS>7ZhA0XD{rO0qmXou$v2;9Hg8rD)h%n5auUzViJC3Y@v3rRMR+mnJ7z{(3N<;O z9n|{~HCb=EaC-C`Q*;nyHl?2K1DB~pFdc*yJvPE5=xfw~{yoqT2DeD_M_xlaw+Wm4 zkVd60qVZdK+`rkdyRa}kFpTCXsSLLAUoF%BgRM+qICvW(;3a6)=r|H%ZM)1YSz;|roL%@nj|a>DkKcsjcm0ijxewoD5&0L;No z;%{08HG+5#jQtQ1j6cMDAJj3}hI7LPtO?a29C!xmJx&6g(Gb&ZPv!D8qM!U{XO))E z#nA)B!I}Tryc2#AfvS_uPiC<&G=!~`)CH|pz}MpouWc%1?26j1F?{Do{%FJMYd{{< z2Ns>K)%m^PTSLc}P>)l}Dg=2s0xC8A5TxiTI2V0vvc*^ftmk!I<%?WWt2`+_53fYL zFY=C*EwA+fL4APh$>;0M&9N=s<+geb8K;n}HY^PpCz~@+i7Z7E#|6YaDB!@Tl-n<* zNbnQ(%M7UKcM4wnBx;oCyg)eO*IZsqqKeX{tpXs#-PmI_?98Yu z8eWIQ%>0#|oNTK0vyoSfb12A&V6Am8 z;)lF|JM6q%>T!w=*5W?{lz$E=MEqLk|GuQKXEQ(q?s)mBj%Z(r460wBAM!2@j@$Xd z!7cjNPYql#ZdB7fTc?<4VU2NINc2Y=EDaVlpOxGSIiJ{S7Uz9=?AxMGx{M?O--3+w zFa$t6t1w90JO%z)=8OltFr}+I-Ep!bwqc4CGmY~vs_caCr+KrvCC%-q;|@QPG=n{D1}&_ClWDRM6~?ueq5)cf|9+nENUqbOR;y?&;D- zrPBS&-0hv3kLwv757{J?q~9VCxJ)Njnr(-)c(ne+9|?)tn+CkhM!stWDU$4qu7X%T zQHUb+qx^KB!a|SUg^b4PKn!2~)QV0`TAi%Z+u?Y}((96$hSMuG`lsGhKiW(2Jy9vt zxU4%O=ybKru~nCPR$V+)Xsw4xgSz<2rRFoP#D3nN=gDm0xzI1A48?w;Hw*bO4 zwv+ZOu$q7Z?-DkK=Nq=)MiB=#8Q;DHn)6IHtiR^$z(s*(aW9%gc%^xaGMLa1Lmv|b ztZ^s(K3l|QHzm_}z5>a)(zGF?X{$TU@mY)^*%Y;Btx{6x46+w=m{+1JehsOXEf~Tr zNbx*O9Nqd>y+x)5SLZE1bzpG%^(9w~K6;mfJ?o)t+T>eqS7b>JNp1LxN6nVMA*Qiy zL&f)9?2JZQ(KTKvD5W`0lK;uP?OGH;zZU!Gx`RvIsmg`-w}vPtl#n8t};Y6j99M%iz#wOnRg3%hIWQ_Elw>*|Ds|J2&a{ zGMSves%C%e!)U+6b8Cq;Damtx7(eE&fo0b6L+B~ajV)VYxl-#HbPn0tyIk2o0`XW1 zAx&v2^`JQkm!fw9u9@p-46Mm{bceJ3S6Y)6iINj+=wZL&EA=aFgO67iOk1Wm&|SCP zn6r$aSlNuAQ^mtlif42*S-hzE;QC-gz#lC)NlJfGwO6%gB^X<0*>-XvUI3j%U36Hf zV~j}|Y%f3K+j9+=uS<61I$T7Z_wzc2-`R0+ba-0IX)cb|6uDrw&_SY#!}VJ^Fo`dM z(=$*7@yEcou_$JZKxR%E{V3Q3Djj#Po=}aidK^0n`8~m~OM9AI5GU&oYJx{$9Vtyv z+S7H6f2Vknok&{c(VP&ukf<@KjCwaXRi6!2_sJdRbzxsi`Zfz^zev$cm+iSxUexLvE~O2PBMN|}f6py}J z2b=@V131A+9K*>^N!>s+WwKHqTq6v$0|S*7+?Tm4e&k#u%&{@nG9%ZCUIs~T&n^IZ zS(;G2AVpifPJ5o&Gg~EoN%Kaxt8#m*)Fw(Mm$}xhACbiju_9ZS9z&qc4BvThk2nZT6uV~B5r1?(BdOh_$K?o1)6Gfve&0&l2X*E2g9B19jw%z} zC3SX^OAsSVI-Dt`WT>~;Mjfb(hh zyI7_p(!L_l19xJ~KsD~)saUPXjr6Z{P#OOY<-omJQskRhZtYUk%hrQ4efw{SGY5qY~IfzTMwNzxmx396G^w8@6bS0F3y`Cq0R~#4+;gm6XN-xi^58Q9=`1C+Hy$Tm+p-H?l6{*ja z#@x_WHaxvjlXqc^@mS?VZ51iPR(HH=2JF6~9xLU0f^AqMT$J#u;`-^4*(m7M=dLf$ z9t`w;B^4ReQj!teGSuvs-gmy)C4UtFW0vGR{dDz2gR6_L%-C*q+Ejs?(LuT5JBhIj zv;*Y4Yzd3&y&-BOm`?M*Dcvk1I~#?P2Dy51sZI9>LLvsrzd)tU*l{J~5BnM{csjfv zRLf^^IK{O0G0IW6w%ql+XMogx9`7kU(^xROIK7Kf<{KTK_F~BbHp-m_w0#Tu@^9;e zn5?(SVfs}Ki+b&g)Z*$7DY71+K2rXJ5+$J!V-kL(E|<=JVf~|JS_A*)^Qx1IgX(a# zeM6;&WbvSI=~@CNHBI;Cp}kvD6=B_lB3FTto6@y@K3>Nshd!fAWLFc6tP(VXwc?H` zH)}{7?XiP$_Kf}Qd=tZ8CBznL!!?G`^y|$shTyOy@B)2C2Shi|4f7Je!>3f$S@h%%y@o<2U2NH8kIitYNa6u-I`Z-uIYtOkv!WCPmnU}TruGYx?@kA_w|TS zOWjaN`irfbDpHO`m(ptrJwbDsTfNolOc&8;lm}#aADz}3s5Q6LeXo$#KT#QU{z0n; zw<~J~spk1W(6pc3w4-!>b2pnyPOZ(F;t;c`VbtRQY6UA|dNW01w#Vx^xVAO|rur)n zmidt`JsuR80)J2?um)A(zrr7*cpkS2RV!a1i%XkHeIjtMD_84&*U?B_`n z-Pfir=UmfIzw~Vl926-Ds{Luy?Z3hHG{;!EmRFaq7?;xspt#^wez7v51X^caT{>B_ ztqO;ftkgIn6{Du;p(Q>mn{$0^meh{oGQ|Fdx8jhgjy>MyHZry(M_)rCy?!r`1zV^F z!8fUt-}z^`Dsv{#k3rzQZlIr(B9v0U z-O=bjX!X@0B51Bu&5mP^FSd&>Euc$7gU!6(oTJ4gu8>6jx7?wDH)k~M|+)ar` zX$*|cchQZ~4YaB<=mWXfYq6Dsa`|JMC5=e2=Gwz2`a{-QG1$mLe{9@82d)b~SYPiT zVcl_((0Jg*-~AwP#`YlA40zAev8#khVa{)I)+)I7?b~>s`FA+)q_y}K4Vb3CdMp~} zHxPpj%O5a!A1*b^EIWDI*RuI*-rMh(O(p`6fdf(M&v7h~DX0$#!=C$tFzot3<>cmV z``jnX8=bcwm_OWjbzfZL-&0MxdS;@VB=O&s>;u$i2ROd7XzK96yNs16w#K&MjAsO4 z)TD9Iquzt&R#z5k*=XbFVO;)tF*qo#@0)I*hJriALL!T~CYu=?`JJs3%)?|2tbxfk zlA`#8|BJmh3u-ET+kUleMaIYwW=JavGJ}8&M)GfIK^cM!2{Q;ZQxE|GjSv%+dG1yN z$k>PhLkIyGMIe%d&@#vvCI?7RMwLVbmk`q5>U!U*@8CPxwRi2>`{1ogQIv)vi)1~| z{oMC;{jO#Odh^qdG@X~BdJhB^n8nDMSEk3l+;djNhAL?8{Y4)?-@E@K7vceU~Jno7mnkDhn6J>M&{h57>b2dY{F z|4iZ1vTc=m`DZJNTEN5XT(puVl%M(*7d199$qF>#w|xte!QD&<70ZO%0Z09xErUy= zS{09*ztfQL@p&2_s%rz)ACLji*0Iejn`o$=SV`B`)A=NB`bd-aM@`L|%(GJNq^KQh zB{@6ontPL#`+1~$0-2<$iBc9*X2Z#9@ae}!@5relh-}W#$~kL7d)>n@?{b+4N0PS} z==QYws41yo_ubWlPh-VqF35Ht5Uliz)C584^zgHOBJm3T(hD$R<`q4x0h<8ESMSCi z!4D)yWPGEi%^PQ3rGn7w8@#s(JT)LP3J>86cN%-@Fs1rH&!@!KutS)x&$)n)tI6Lh zh5o_6^0-n;%JD{8S@GuY6hRy8rfeZ2bV=&DV)LbR^#O4YG1qk!2BQJ_)8o3_zKNRr z447dq&a=a<^(m!34VkU$J?0wlXZ;`y!fJJmbT`(N7Jng+>mX zdSPFyO2s6aqSlbv8{wHr?kRXTw0u?1hCVgDm9Gz>KhGvhV=>Tds3hTFf zXn+BJvX230xowkPm%vtz8xUJfH+}vz5{h{cv zU?vAlYsfH$0>+*;##u4nMr9+n=S%0JW+r{-z|7AsT6$7VWN8KIqhd!(Wa)HGY*@Wt zzb3int&5$h6&$bA@bbFvRvk(4p~Red5uuTs;e{B1ID z1-=#%pJWCfI5qgR+$iiJ@11rjHI=#iFir34<*&{xV^f@mi{P_oSUdiKO5<0# z)53_qbh5gY>Sm+w1Ggh*s${*chu!rlQj*Lp|Dg%7>{~If(rK*@lE2#*UZU!ayRPc) z1ij-nQomIFt0&35DCW+f={JFF(SfF#}9eJ3(Q!%czGpBFB#X85pFQ->XKP5U$M4IW?Qxu4AsE?ZP&iO&?wVl++`;)Fm=6T@oxKOj`Y&RN zba_#@Upkn~FW5U*Y6?b@iYE&mwLdB1z5lIROi}B=L(gIIvU#(&GVkQ?*kQ`StR3Qo zJ#_mSjf{Q{E0lkq#nWAxY9e^#I~PiO$rc5FDMyEvP0{Quz<8-AA!qn=8D6ditgyDY zXSvlmqo=xOR2(*@!Ug81x{Zt_rHq1dyq)1sB>*5CJG=A8PpEC^)WCajTy=(ngZo9a7Lx!Qe9gA<#NbZD zjJuw#gVS*EkY}BwZtM3D6#gqp%4ZZn#EX~R`y3l3B{Qi-(~tPG+1w3Y3xVb_z-xIk zU8`m@EJ$kcRc;6j-mGeaFo%rO=rFuC?(`%sCPg5@>??hvs!^AnbTLMIx;xiJ2RX-G zI6{b6FP*Ls%ZAITiH^`@=hnJNpUZ+9v4l&_leMSOd_6$p`iBx{dr2`>%{w1tY1YpbbPi-O7He)- zZ{eg5b8Ar3j^55PFmZI-znIHC3{`~(#`tA27EP|UFv0+5?L!4H=?jmZkHY`A-T42z z?;umIvmHwZs~Gg#LGrjT-lppMyCZxD=4O7CL~HZ~xFNsJA86yfjqazbB#xx8$6dmI z-y_o_&OkDDkm)8J->A6)^ot?PEI@aO{H zohCzIoahii3(Ee@hdpd8Jhs56!D$%?em#P_A5>)^_U3YjP@jH;?OXfB%6r6iXS~zGFTatRz<+~N=4c|Cap!=D`gzQPgb>t* z^A?!54t_Eg$yEUkjX13*^G1Iz`rx$q#mwn<3V;&7a1qg0mHO@=s6##kGOc3;#v)c> zI%21tfLRxs6DIi$lfFR|<<&&ovS*EB4t_BI zq}`6>ZFT*)S7PdGY~{Qw&2p@Z$R6Yk&^*=W_PrSz?dfQ4!oRAAdrHyc%x|}?zaorP zK);C1|2L>H_wG5n=<28(pL8+jOuE{aCYw*^ zpB-(AA;cEWzZ&8xfw|j$IIl0=DFXea83ssLV0V2N{z8`y+KpZ+?28Fv&3|Vi)IdGl z%f*%P)=j{^Emj#Q*c8c9b&yT`jF!Ec_t86tC^1pN(zF3iK4cr?ova+Yovdv0qgP+t zKJzmn>lZMT7wdQdSS zu^^JAWx?j?|8n3XU7WU`0N}7#q3&)hf(rw_Qo!w4ey?VU4vu%E-x8v4)rg=osRUlh z45GDLO=%nP8Gc4-JA<;lSspbOE4>Ay1VQ#55<|YIcg*59b`e?wyRNj~XJHXTTh0`< zPxX7TM$BEfrWV*6n2H$HU(0>a4DxKM0%O(oI?zPi#zqW}(6(`D=X(>iH03IR#;MsO zKTOdpp-1Zx=B+;4_jY7$S9v+@UcrxjUpQ=pKZs2Y0B$bDW=bOpubTV0X8p5oA0c8h zyV8I!k8_x;$RmH+p_|lxJ;#SHLp++R?V!&*=i~;)4axo&+w8 ze#sBB0c#b;c!gd<%^k+&IAuMLv@j>JJA>=UcE7uf$*2KH+7Jbq6laBTREQ($*py&B z9+V|J_S_6HEqRHi7z74qv%ru-vS%49w7F#7gt=sj9sIQGkJM4htV3pK_e3G7$>v{8+xsma5DdD#$JsL&E7V@)vEK6JG6xw{nWAR9thC5LHV1#h8W+>Y>_yA z^gCDyEim3XxsAbL_+D8+nvAt%S3x#yVRN&A*yLNMzsw0?0!aUkdGazPg22oDo#Xyx z#y|7YqZU)=jcH$ z;7J|0_F|>;<;!Ow33&=-Me=41EBVaRZ&mrhE?o!@&$7o)cYM;NeyaUpTVrP_8W(YD zQa^NX$l-+7D)jAi8~7h=@B+dSJ}7)o_BI_0EQutdcCX^jjV+FK|0<|_H?9Sw@+Wy8 z-qAtJ&VraN7~>WMbnx+#8?l*Hitqq|K6in+DTzBLsOy(LWN5!K0%q}S%5Mak&K&o< zC_GQaOs?(Vis)i)s%^o!)rIL7nHuQ>p-ZkG(QvjtYIaY;LMsKNUZh7d=ye zP(sGDLO2+TtotMKnGdR-)oJA0`Fim$riV_xCpN{Wq2(G~GO-SJC&`%?-70;4T{Mv? z_~{bXG4^2EdlHP|_I}qR5TwbZi>A9ksqDW5GNl0)LJI50rvD5NZNS+9kzkxH6oB&Y z_koaC;l-q2@I`L^jil?KT`8ERcMCiCPl;0qKoP@s_r#8wXM?-xX5H*QgGoq`>~ zK%O{$@3=mXuC9NxnrtCz;hnX!n>2q71`*#~^5B;aTH)ZKMd!>=y;APrrQNKFq z4(f#{8r7nT&fCvQwbvS%_PZWP_iTE~I*%smxaq2atIpJL{i`+~)T{V!U!C7Qu1BKG z{9om(b|zaFgq?oVJiFtmkFIuA%1MepQiG;iOVc09IG0-5`N;gBVm z@9o>-RBZI6@rK$i;xBjF#FI3RiIi2NB-n-US($BmZ)l7*e$yN!sKu6M{0$ z#0qN8Rcg%#uVhdhACthni0nvtU+(d~v_jcJM}-n#_53YvQ=b1xMrQ~e6xic$*}|Ia zccVI*R-M3r97z9f?PSD=1RT_8X186;Jt(IpS>(g|*Z zR6I(pT+cCD1(e5nt`A=F=aA9qKIdP_T!re{2XVf$M(1~5sIFv)%>8g0dsQ`n#ggm1 zOG7B|mX`^X-CC+R7IPGSF?1C*+YC|TQFLyZ>Gi`RCjnt7mrFBK*1+$ zZHx^)J9(mLjEXMWAG|hI9uyD+X-VcZcb1m>sDvh{pS_}uF!ev1S`d}TA9d1RHRQ}1njlE z2kS8cqYG?66-xcH?=tuxggI?*ekugKgJMKeqWKolsOaxq%k8A^uSMfw!Z$Ow2=XRC zxxHU5joA(4J+f{9hurgD3pq;_1NsG#&w_8~>EDX_{aMJK5YvS~gQweVWV_bkz%7hf>;Dc z1ukSgldJQ|m|wgYPOQO#!_JSpPhR6Ez*(R1w*V#H_v~JyQJ(Pu>Et0m0Y(4 z{}ygP>CGJWD{_KX9w{FUlLJKpx0L*IAV>TFpU+fkaO#i12GibST(iSG-6bo0kFRo9 zd`&Kc(4ahsH9%{)WoTmkk%vHoxLmKitfPe0n-jif%+T_BR~5(Z4b+40FM#0OAyNi8 zl?S)5nbjMWPwRKhXtEHLTydQa%dN|)&S!ple2Ld= zSZm=&!QxwEaEvByYe;8BQ+4{tby#a7Ex?Z={0(q~!=BLdL9yyHBdtQFZ$>fb%saF; z!(Y?X%w+AH?kfEq?92T)MnlN+WWresqVesnYFxX*_1CrhIrA`N<8!aKoBE84!LpvUP`oMF#G)@lq%BLo(&_I6K zcd!j2-R3GMw5tkC?CRhz+};Y3#ey1W#wMul3%jsWC_E8pIMt1y1z`#s{Z6!2Dz@Kg z9a?_wS7yBYw2jKMm+2ZrAyqQ99kOV-gKHimVfF<|@>wss+fhUbYurgrg~87o!Eu%E zpy)$IIx6aN%)JDKjq}D*2@)u?oN?ZK3$2Q)C}zp>8bs^J=P?P9V054uWi9Zf zM|{f%L*}DF6%u3#rhsh$PauFJoqHUx6BKh@XA$j$CQ(1=mrCH)W#ctK6Z9?0uDY;_|b=8@G9c;D_%! z>pS1HK=*Pb=;(g*i_mL>ZMX8Tuxm9tPK%kaFTH2EQ(RJFqm}ih);u$}H25{!g+Njb zPNjGeGC;Unn#qP`Cf{H=(Q_&fKj&w%e&CM)8+{_f>BL)VOwq{>SJ{!p!mORsZQNM- zRgva+@RWIg9V40$bt70~`_IO;iSBw3@R4t?&uTbrCY#nj!<`mjRiSYu{wVk|Rm#Oc zBYDAxayM!9aukYur&1fJyGya=qE8Hg?23s8Z@F;8{>8{plUclW4r6JZD^Tt>ypmI( zBk2cCt8*_-@+VWk5~IPYF3`EunMWkpm@koQp5+#L{!^jz=Lf)NL%tfFg!~)@j4Pntcqn zr2SZ$$C?B(6yD*s3da~Rm&vQGoclkV8lte-cG90JA;($4m=J+Q^IV43Zp21O_b4nY z9u*JL7ETSB&US+a5w3kI4c$`QRDG^;ikIlcAC=8bw0&L`+?>eA`g*G$(s&;$mNvvs zte>H6U6GMD7-_P)a#n?BYL$2X!ntAt0hAJ=y3L^=>$ZZpw7e?GUQl$}ztDo{mzK2K zqllykjHJgnG(R@C7lPd!s5%rYJS&h0lAen!-CD`m0~w73Bj=*)!+n4u?wo7;5Jtjj3e zAyjHPAF4N2jmGMg1IffycNV7(?hFml1%iVh>L>$kf`eq{fSsiJRoUMs`#~Ll+^K%J zrcte$>4>1UrhsXumQ!P=MzUY*5qBUyQ{LZCq#=J+?veoX^lT&$m-mK>WaI*g0t zcQ9#(-r_X)nR&*-0}1@^zX3X7u_U2fF_%^lo9L?M^cVvU9=_$?OeDuzfO{fPIn=M{ zOV1*-w{~=K(Cd>wPBkpR!bTxd@XoLij}iTqIF>7%<@_V2SOKJZ|`*URn4uuFcG>4 zpwv-@%hg@qDpvafwEI_Hz?qAa|4L7loOmvNteutY#7}m=@mDg0=WjL+NF@gr)NkBvTI6zx5CX6{h3P0boJ|olf#19 zPW$#yC&`SuhgK&W2CXoX>dl($D&uckRMF)3cLgxANex;EA zT&0u{31?N#R?$!`soJ)&-~$+Me@}30^B&?)t$HO^D(&}@&LATTBrHyj zgaHr=!5aobE3ZKIZ3JonBVr(Bc+XY}`+ED&l%Ih)UhTj2dcL-cHbTxDSP9^FFoLA~ zv3AU2gtX8QJWxlKhIdfCH!4p6`DAKFSt$3DrBBmD(I;cX{hei|VA(INAjk>AMCo1{ zj5lw77%m%s$aFDIx%{kNt4UH*iAr#wOxl+nD8+3^!$wv#3?3^D=<8$Tlf8rQG?zK+ zOYs)ir>EHAR+w35e6WaidFkPj2~hWM#h!3sNio=O*YQ&7NEqCy60?M3dlx6{EDJyt zANLbxw|_ygb>WWNYE@ey3z6ZQ$%Ls2V}r6SZ}dVc;C9^LMOPKvInWJZ4E$!O&Hr~i zqy!keSyOF%ro)N}WnS;-YHw>?(}Ya6>A$|wB(jh4Txw_}!Cl1T=tlA?`J%D@Mcs&! zQk8Hm1;L-gB%8S~^%L;k#P#q?1z~>D24+n3aH#q%j9EX)yHrynyyWI(%mlBq0qK`U zx-%sB$`u-389kW6M`Q(x@O6rRfxBEh(cs1F5i=pb8ic|yh(2E4SszbIq z82UlHkRJI+H1k2G#N)P<`Nh z;kl`AhE9IdF|Ds%2;7C-D_7xX>lY#`wQ^Z5$9>ZfgN8RvmWJCaB@Yx2WYiBy7kL$E z8KA6EReXE>e621lsy`Km`I`$$PIw(Wn9j133?#x)G8pd?PTJ$D4nO9b`QG4y5j}zb ziTvT!nd(xPxX&^Q3E-7p8(wc16?auq*9C0gGs#~1sA&4!; zjf=Fve6$%xRR$eW#dYY5O}_>dqd>9irqIv0u-k)zea;>sS%SmFC7PPX0S3DFs6df& zD7|_OolC+xFjbB6t0U*}6?JRk#;<9y^oRAUH9T9z4DH&}@U!mNu99T$iy#4VSw|_* z$_5%eLrSgjf~Hb!lx?tiXnlEgLorv#Ryk5j_Tye#a!avctduFS>CYEV*<|-V15d#h z1{a$mdAHh2!#&@?96Z{BII6?E=4i=t1&Ye$j+DSkMIzk7nw_Sgv~`gmyL}HpEYjvS z`sw@d$A!uOkvHV3igRieY-Ynz{FbG6x%^l+f$ja8NVIBfdbi|~+F8HFp#Cc0g3yv1 z6P!ecMxCw&F~BVW34WF>Q4;}cMV8S*>Uci5Y?aKs2#Lp?v7R1W3wg4r1Mcy`y^YPp zqaILqQ|9GWhIh`pR~6R0dV4I5GEtX-DpD=i{jCohoHs-Uqo1uxD{OqKIEps%T;b`X zA)$A$ndxCkdW-aWIBi8jvC6;tx#Xf5r~^?v;W9 zF#-dPHw3^~g2*2O%r80p!o`|`}gi{-45Z2rWHyUyWe4j2rH+r0TTkCNRNif`a2(C+k4F@}`x zBsJZuRFjuFfdSo_dT3Hsx;L7l!a+ziw?+@iI%G$>RrnutZjnV6%3KBqE?CvhQt!E7 z!K@ATZ?5T}Rky7g)Db%fU3UW|%ETwHDx8fpJ^$H<1zVO_ltq=?MzY0&UI_p9(q0CX%fn8K3tYf&uJSGHok1i2$$W!ah1eU{ ztFPeJCf6Skb(Gg4=e+m8nc`hBOi|Z@P)TV!X1YQBWhe!x+kV6`c&|4YIPuTE?Kt4; zjjJEL^>rh|&Y^Axmmh&ZhX{RL^e-jXe=8f zkNVZ(pnH!Gs!A`WO*5+3^L3O@z-N5VU53Yt%S|P!M#utiP|k2qh#Hw>PNb_|jX7Rk ze)(DHMa%2=X2B?J3H|c*|B8A%c|gcqU(T&v_1(-7Lb#(!xc{^O7Z(fVfJx>&qyTTQ zE<0dY#{>-oO7*2HxsUy*uz-ohdlPf`f#`Z5*VPun|MX#to(+#p3SRsK3+U+(QD2$) zS{nsq4^zhaL!!8UEw5fC+c#=ccFou7i6_TW?@!K$=#Nz&nrWpTBnxlc53|bqYRU{N z!F2jUo6SC;;)y-^644E{AVoSNX0K8+AMiq4w~N~S4L?4w^hvFD198ZlUO0cX`caha;qh)K!TQXAq9*8a4Lqg!OU`$e zuO;)A*F}&q%u_4O+~lvEo9I3eCa5$QX3BoM%ik1x*pRAHwis9Lj-0maJ>OLhF+0q4*?zXKAahJJqJsdW!5+L_Nv5gr6r${7G@K_5Fir z{$Mf=44;FZSZ>?(5`Zzyn|u)2rQEHkndJKA)sec8!i4$g8UnKT9LuSwJ6zp z=h(jU)GCTMy1IVyoO^+M8lUbzQh_^b)6&04`gpVVkpRFMsxwG751NRWskBEl=pUh= zDYj`V~ehc&SJDs=z$*foWXFrFpEj8zA zc}Gp>X2_86M_-H&KOI(R_MNCHU|o)Ga8WnBfowFYkYf1Y;&XLJ0wtXzq?Tv(REWtB z$WsL#Wf9i4HWjL4Ui1I0{t;2mNfKeKz*_9)=N8dA!HjxxcwX7!J^I42j!1?EmD21F6inJ}@s zYUsYa2oX+sdW-S(lx{UAS#er0Te#d$+JH|+_KEowHCc*8M04)D6pW>*@49CTj zD;8~An60MPJ+K_gH#4rz$6W4$yl8|D!Jk_1vTqi^*mPw=RDkhfEcjY8D-Z8I>OFun znObUZd(Mw(6Z#h9E=j8myfdT=yz;h;p`5FrR`OQgDCy8sdjm3K;jp@}$@#MzSBrZGCWjP;Vn(j#El_;K_kJ z3WKH(nPMC0W+T-HrJn23in#IE`tny*(+SogCqw>uD0iMwlXR{@0E(O;DnB)243DeTn%Li=ElE4>=H>mXwK z!E+Ay&O8eG2?TV_%lQHXW>?H~GmkFEjA#Hxy*rx58;?~5jGN2Kj>I8*jnXLRs-~K7 zhR$Wcbph+f{21oGJ0x+(U*ka^!er;I-4SU0# zFX|wBV>^)d7zBwo8(OG|{uRf5Zde+vus}zKZxv=85?|kDnZ{&SYFp{uqh+~on?EqU zS0H!wF?bSr5b4PAz0+r)dCIEXR>s@eIUY+VcN-~s>NOxwgquH^8G5Ign%PF(T3612 zHsN2L+8NRNhPkwoe!&`>ek+B7X9Tr=&aYYb-5X7XYu$W2i#78DGDB}vM+5^ZH0p;AM`7#P%y~@1>LYiEp7hca%qCZjgY3P`o*XaO33OI%@MlF z6iX$SglOr>-K*bl5OYl8X6Bv9qH21NliU;1!bYVOPg5aO_deb_x2LRuG6AwF&QEx+ z`}oz@d!+rf)&TmZdQtKpyw|6isP$j-Ed?&O&RBl@Q*d>Ig@D4(aHD#a0roD}a3CA` ztPV(7qQ406V0FC%8|09;*ylc+Zph-E884%ThsfIAiAZl~+zJS@RhtC{cIEt}{Vq)X zo{1jcI&~pC!AA_x* z;!mbUk9gcF$t$#CEMwnPHU{L}tPDbX#$#<1D)mUZ#*tIB^zAXS{bOBEik+;Z2a|WQ zf2P`*4@$tEFcun7^UK`;0JKdhHX}lI_ zsvbzUfT;^l2RQfue{vUo0y>z1S^~uuu1ka;e<7`*+q*p(P2r9ZE=@d^T{ni6E}oiE z4rw;8$-2q*`*TQ4^}&aHQsGFHCoMhwiq0vjV^wo)J%?;{0$G7GpZ`E}c^UTOblAf= zZd@Db{Gu6d(2DFqRzJ>vrY*0LH+(|MRg0wSQ4o+@txQgt?Q)e)LYeof(7J6QASYC0 zjB^#lrnd&TvJetNGcKsyvg0jeo4aP&xUx6rb_Xhz@1p@X{zvRKm_}ASUz{m2b*PCH z8B|ypOV-l3Bhh}7I9G10R&SXM*iS=k{8e4 z&Z*UcILPLUMrth6NTa#rPp0*?nkFRsgyrh&VqTQMX1Bamj|`)Z7Dhj^oEU*7MY`3U+gkTbS6J?a&=OtehIkbNcW}`HHRsG1 zn!oU8m}J^O9*j*t3vFVGWu!Dg^StF}(eHZY7J zNxKHb?pg{j11($-pAvYO|2aR2yJzOsJ#P5fVp9`@khy%%={{c~aosUA;G2jf+)sHXOVt{aqZQnUxQbZS-a zL8OK1*5&m<__x(TM+=O-pmyFPsud}JFmGUL+gn{*N5$(k*W}%(__@YobI!*^N z-`9X8!xCn)!r+8{iu3skNQF@A^CWKDwga z%p)VyGE>=lS35YSfiE45%bqlGNHWf^UxPD3*N4A0`VXyl*4-{<=6PSSV|L}_JHYZc z))7$A-!NsNVJ$GwFGpjR(e`5zyj!CT-R|pjb=!kFnQa8s7nMrSRqaz#V64|=F8I&V zI&9xV%~Xg?zy`WkZ4!*@_~qG*@fE62jrZdl++?mXAU7ibZfglae8M57pLSh+95pj= zX}c}%3ps;1^`7Q2$2;l8MCC<&9cPWvGAYXF8u#*K5PKU_9FpLyZD!1xpx)yoCItFk zZBv)}p^wU=@FG*3ZEDaNn!Q?(EL4CLQuTqrDw%lFVIF4WHR%Ow{ywk@530tV0@Xxb z?p*?%yGgOxszEv5V7XOdI0t@}=!h|7y|gx+2T{Th)LJ1hOwgfkh6nyLlbG^JGGHoc zL1S%t$F{S*%l7ehS5Zx!@7u^`K*d4cYANnsfebbo`^@0HlDdH)o&-N`YKWZD$w^O^ zXR;}|G}S56#fzS)SSO?5U<0_$Z8pQZ&4(LmV2B-(YZ5$YhR9TyZ|KS9k^JV!DJR)T z9NBEych|#bFB5-!t?B^IRFL2*P-4=RHbgqW3QY)U0-_foIrM{~W6@o;)LQ0ZZj9ne z-{vAL2d^_FBv7!aAbInaB^bVW7)bEwooID((Pz)xaL0P}+t@xD-y_}L5y=}A8086O zg$J(;iJyDG@d^?<*RBQeeH`Ihd5?_5`v3MJ9l|&lnDt0vaCcH`y@dZ-i{61@UfKL}uHW zJuT;H^95z>j2*|o!uSXf$lwj0p(_B_HCzTx4b?f;9#a-7th#wS__oG-o^ZT3tT&jk zf9grS)vuw^jKsJC_aGmNxJS*XRqKN<-LJ~mCdkF1Tr?FI4rW3v3S=w%kwF=x`~mJ7 z!*i-G=s+sXK`D=$c7MN* zA}$JmD~#T-%)Tk_>@c5peQg$!2>M>~`?@eRPJQ2?Rn94p%4})va-_{)@T}_5hy>#rcelnN`CNGAR=6!!e=Fkm)!_k7g{X{H6>#fbK z!c6l83Bb}Tm_NU}BrdSc7SI;2cJL=fP>}9+61Sg*{Tt^$f!BJ6GqiEY!1-Bjd*!NQ zUyO1s?(Vt^)NKNZbwLY$5YwS4eH8YiDk+l{Y=X@xls|ti!x;7}FV4z$a^(Xli_N_c zy8T?(jmPdLMY0no|Dd;+S=cDN3n)ODUSdr#J$7ofs$^Zo#8LgP(r#5*L^nPa`0>V6xC|Vl!mQ78WUj2yA=6D3TGQ&p5+S3Nsi#{W@6S4R>Ou!10I7 zn|+A>l||aMMrkHAvuby$0b0U46A`A4mPyoa2#|@5$=K;3#2ijhEpIV+Zj#3VZ_!E1W(4L0*H?4Gd$O&Y3S@5MY}$W^-|W4`QKeSPcT z{#B|)g~%gcZhr8?6xH+$ZKQzuVC%fHKXo|Hy!^`JX8Gy@CL_^sRN_nGmE|_@MYc5U zWzwT!9MFPBBIK^n_-6#uC;g@>o6Jn-CHP`uWJx4%kDLU7LVOyxy4fpUvwH= zJ#^or%{g3}Q`_tv8Q88db(eZLf&Jynn?bV*>o9=hUMXjtegS?W$?Eb6cZJaW@&MaN z?g=!>#*Nkbr0af~!jH%If1K*==C6E&?V^B3E*NP9H@zpFeMf)@0(5W1@Mu{GDL5nn z(Z4A@zxsWKE^Y1?tBRfcPZbMH2x^&0+@(nZ3C!m8(z^W1ySPf3_8Bh+&Pc(vk*A$w z)j36Bw+qzd?@&sEo8{QS94ULBbEr^1(`wYzc2b;q*tu>DDEstIzE*=mK1y6J$~`$! zkqm?pmyP8!Xz3sZcjI7o5+7)YwVdK})>4e49D9xL5l}VmrsSZaz(KPQ*MG?LzL}7$@A$o!ThaI)=uhsAK^3VhWLwF2M3~@FYipAuWhat`NTyszD zJS%dNvOPw1OpLc^w!*l_GsemV#PIUCPTaXVwCA_F`=RT>WL|~JIjE_+UD~C@jZs;3 zSEQgkMJ>8hZIK_Ta9!TT#2&@q+XU}+%flkF12ntePu^j#404Ao;r+&5YhiChUBmam z8n1rpLtQ4>{Rs7>qnm4~HQv^9l~W+50`laaB}qWFG8)!qsO9GxzT}vPR}Z;2MoU0f ziak;v2*zsA-eD+@vLFMm*#$6dEi9UrrfT`Ix$dl}y!R}yvA9R@6)1ENM?)3AU1UeOzxsoT*|FG_s>4RB%QvmxZO$-48`CcE)evBy7+My@)K!kzWMp>EdnzX@SJbSUATL+V(b&$+i>llmLXJ?L zf(>QRHI2KS9{ZM^HD;B99T0ikFQC8ixwO&Bt}Bv5Rh)M{0ywfKJtd>H0;A*uq)%^8 z`+Q1LPNbDyj(lJ8`KWh}cX{3Z)S5y{4g;xN;>q+Hxcp@YWimn1J=ayFrSWTE`TYBY z(%2#f^8=VyYyINAv9yPDX}C&(q<(b<`yAGXsZvNq7HC43d`&Bq2T_+l=nlM1U1@O` zf_^Uq#es7-Uclr;(%2xL_HzornDm_%dhG_S-nia{tbWu-8i?9Ohz3<}39GH+-Bku9e3Xl2zA;0orpi{vsYg>})we5$?4$SdwA`}6*^OVEoheAGAJQ=hO z*ME(gzkjI%k7J>(x-s1I1WA{Av)v}BI0{86Z-EJ5cc6hZ)MRWvbHhop- zwxk~`i;)9B){-y*bQ!ueuFgY??nwC}?&7SuPSOcHeDxDddoM)bEDyl?FZspfu`j)t zd1=CVy)$!UIcV-7Qnhr2noZSojqxJ--Ah+O6Rn)i; zy?p%X0N^=~RG5KR?nwPMn%QePBb0lm2&95l%iGahZE)yNCmrn$+* zI%pyE2dQp|5CSlj>A>o|Yfi5ED)NhMy;Zk`|8+CtqGJV$jgnace|_J^(+wt_J`q+HDj_D{;-Mtf zq)=peMa0SHyN5j+cw~mVhXGCf3CP^RCYNL_-we32A}wX0lhyEaN2S+TixSwT7yn?* z-nvL8(fGvBh?mr}XUz&cFa@>)WW&wAW>txae!<_YvX)p;}UF>V_yVM4pGdM4~ z&j7E*xmV)8y=bO`znN;$L+E>F1Qgas3b2{yMQ>s=@rO9SG?!h<(9bd?$^BNYf=?kX zdpm2M&d{r{@!rx6*2*qFiKZPaV0~yNBOkmcS)m3l3#>3^ndTS{$tLb<`~&oC_kHs| zRE27%%~zs z{O>8^zDKwJ|M1;`^#!qi_Ps0+jl;H+=*@Madf015;s5zh-N|6IEMf@p(Y2DW9t+WY z3;CgA7PPAYrh16}ir4)@gnraKx_1@qAMK~VFB3X}X`WhKR}r;pzN--U#Zq{mkWJV= zjsru{I4!$gUSA0?!b_hr!ka=7B`#u1DKqGc{ri9ReZK_$f1{NsZIxDNJNw_x4u}Bp zf9-F@8BcTxVkKA9=2l02x2YxLme2UIl{6Xja{ZrJy0?qP`5WR_N`_k_9>GCL#yFE0U`|)|G zd9N7E$1tyFg>$qepM8Y~!TGc8G5%lhoz%v=kSD*$j^)jeMYM>2_I=ZOh2YQSgW+#t z_eD?nD|?VHu0oqd!jGF=;^!(b`cCzqegBnx#~=uMYxV+pkR90-7;ps~m3_Gl4zW8E zL^)FTL49!QTLX z?T3~0nJxktKnv=b|0{r29DF@Hg~C{$zg7u#(E%vwvTIcVO`8u!|8BRYBsUb&)EFG7mM)Y94i zi@o=ZYAXN#eVK6-l_tHDQADZ&0#XDr$^Zihk=}`jbP*8Hh#^rap))E?T7HNTAwcM$ zMgmEIQJT~sD5OXS$yUJ)gn0Mdb?>?7u5})q^Wd!WTareSIJ$&4U%eT`4&D?^(f8vwRecK^#b}T@3I)&bN89rUhq&v zzG3tQZ1V(#hW}+|-^|&7?XZd@$-3veCjROszRdsriodx8QJg!6aznAzs_9q?4yb25Hd9JeM z=32jTazPX0NH=}WR+@#Cx(_sy8}6ifdl2uxZJgBej?$b!l6Tt`64u^jhis}Jo{V+u zvX=XxJNl9mJ#7@74Ovx)Y-~#0S|MW36{QU^<^x&x0qONcFp&L8lD=zG#mV`V;TL@{ zz`A}JFUiw?x?(1n{?GgG-oHOp0h1k{8CDB2uU7T~dYpYB-G(%bb|$>()BNke##>CbbE~ z+E$=gsY;hVTCO0PYA-J;DOB`%D=Dve`!Ymh6+Wrwbt_LaIrOLYi6lL?YNz=B3@UP3e zHZ3etx)1)rjo!A!D)a+s;8bbS^9W>6G6H134reyDHhGb+Y4o!7r!V0TWED6}R{M(l z9k|SD4zo}7G&|~@WPVO1UfZTDGASfg>DsD;ti3b`idi@6cXXo%MeMnkE%GiL1rvl- zP87!CU1`ok07Nh~d0%hiHDh8X6>5{u!lg=k6ezf@u=T}>yT-un?J+3!anlhjtwtlj zUw{)v5Jg`eKy0URlc6qdrMVF+g$pGM(npS>VAKs(^fC1eN@z69j-xGd45cvq)xw^N zJ@_f&*X_j*%(iQ}ixgAs;VRk(Cxwb%3sq7hgmeaCO>K_GH|?aFeZR>I2+kPRm%E*j zt9cb_pAA4{o4XNP5uPclH>q{u)UxB_z8MDSKLOWzUlHdZwMPi?i{2p~+(+p1MQ-nI zx(mxr@T+a)lwP&@ozxtybduI|3Yasxwv*Rtv^g_3;s@Sl!|#u9=fW_*8Pl*w!P~6< zdx-4QNH;JEKv0c6OC~$|cF@j(4>pbi##!dpY?uV^qKaWNR&=>3a!w3r0nKK93fN^) z=fo%DqqEkU8@%t6eAkS^Ua|{KLyq;DwRLqk9D9UosmyejMq3^n&DLvvx9nD3I3Va$ zc+|@_h2WHpS`PV;rtpCJzMlB}HJIV1xqpY;>41(ub zLa}RA@mMbnb}{z^ehOl~P$HlV5Da9!H53CcU^}p^KQWV}J*RyVUjn;M0qr}cd0Neo zszUW2=*L}WKCPdpt!u!SK%Vy+*`6C&{{=F<{uKC}xm=$HxrFM1!{XQ;R>d*YnjsU& zZl@CND(eZm|2ew~@ncJWx+W>KXf6It{R_6{3)jnwxmx5H6LPyjyO45rcM#xq=gNMA zu1-}RjTy0L3yTs9bTH_nJu3gpwPs_7c=1`yXaRg|GmXM^&Iw|D?2>P5mQL8c1&=c!b^re?sI_Y#O;3kCVFB>-Nyv2qXdw>t&ZT>M~078 zD%>O#k9S}B*!U=!8o0`O!RUEUV^k|-t@(>>SNuDw+xdX{#)17(z_=ej+a(QY67pKm zkQp8Fxhb;!89W``WJ^`hZoisM%7Sz6qp*C5ta>571Z*QxANmSy9xsI_21D4$fh7E_ z)#us|3tocxK{sWs_!2G9wzH{wKJ#7G=I;ulHTJOKTP3##HC*Tc1z~nK_fAe8v46ba zJ$$VNEtA*;=Msycbe0e?>Gd$ol6ZklN{qAxu6ef&5vXJ&{njI!<@so<%K067J`9xI zhD1aux_tRH{^`x_BAy2J!F;PaRcuGmvLEW=d-8PiKtBoqtr7oeN%+6%LL}a4%Fb`l zb^~*kNGw|uEDJHkZX+i3Rr;a$3nJYV`6bM4w;|Sd&v@qQPl3Dk znEBE@Rb9xcNxyqtYnSrc`mPUu{5u~3YQobYSK2*w*GBM%ZaU^5f-6v++zRbYo_8yh z=@%-tzC%LY*ravLkk(mA+*wZr+l+*IA?hpZc2ey!R$?Rm8Ia-vE{@Y4`uX`Sk7KU5 z4QLH4K|vMXflqt+OK|1zlM-hFL3SY*CnKWChXNo>Cex&alfy9O$sSDGoe>sxY+7{G&W5kD@~zH zqkroFtDh&O*n>Y}ZULy%0t7${!1IrB^EeVOa5A+#Z$mATFb$UUa|CHw$OBMIba8-2 zInb)XH}*jrPQn5JPikpM^nozG%u7I~Dk|aWnrx9mTFVPQk|B*zgo4x|Fj+cvqW%Fj zcukA;zQR~(zwnoCV5Vqx<0OPA9I^LTAT^iIr_Mgvgi}U-J|pEdG{21 zEDdt_0s$jHGFx|jgS)q#02Jjlbe(oIz8`G}OG_-G*}ONmBJgw&xcBqnui9H!o2eCw zqvW9QH~{80o}k@U>dF1AB5v2vIzSq!-K;5OuCfEp#IN49i#-I(Bphbz8*-c3N=Ei= zD~pf1sjV?CbcA?1o!z95y6qsJ)eG@5UnKx0b=E#z3DESyO2pxaQ=PPyyk*eem-8E^ zeTqv=EhE$VuQU}O^?H{dnq6(X>Yb}AnEJV)x`?G_D+JL5td68qTW!6Dyu)1A4TD}w z4e)l2F;y&m9EIq?oC24Kj?A9|lKfGtUYT9>)UNaB6GcpZHJ8S0fhE84#PNlBW?UJZ zIb@bX8%46|c`%gix9C~O^}Maj= z_X+yd{Wpn|5eQ)wY{|m+NQey$$-CvAgvQm|uKXQZYm}rK&Awz z)x%<4%sm)b1DU}IKl;0MXK`Mj1y|h_6uP6kajwQAbAs_+#595Xo`hpRmx_hf3IDcV> z{sN&-)A^G-t+f-S88=B#yHCHWo>`MtS_wg9HP~8=dTWm*R5&{}T685TT5{v&yKiM9 zYVK3snJ6!IEVO1oX~joSQG*8|Wp`(V{rA;Aqd@z*8mG(72`ki8Gyaqb+KljHxN0wQ z`D+BFMW(U}eY|tLa{q5KmYH;$IYjtDx2i1wv8>q*q23C0u5M0)D%YtPZC8itVBabr z^8QHfn?VOCL-*&KSOpZGCc~GXKudydXdc zOBHVvmKo3B3xe1^PcUn{6nO+f*4!tc0J2>qyIhc!3mw9F#-<@u^s*EgJG0@qN!x?y zT(RV{Q}aQLC_|`aY?ileH1y>S_f0VFU5p8`7Gh`FcnRaAX>z7y4=utaOWSPv)mV3~ z;i?J${7RtqDB)s?=Jyc!sh|?_5NFMmj=jG40duFscD2|n9(eiO zqbW-;v)(@EXgnlgN)?Wzk7ftq`UfOEP`h4Fx`KD_aDEDa8foQ#wnyu@c@%e(J)g^0 zjDR2DIdgT{zx`{G4A;(6LEivwWz_Lp5!tWA(ywETR$)i#4L8Ns=0t$5Qr17;Bfa^u zk$m|g>Wn6LgMs^qwBW&t6GjlY=0sMY%qdA3^pMjoxyWF5+mjesAyVfc2-;pM{k z)^QQCDl2niH%*$YH(f&|M1YrG>%Uz=h$F?*m)^yNv#X1PJ3BpzE^_OlC%ito?lzn= z$&`B2T5#CaUd!@&i;`R8G!JH^5!j-&g8X22c z=LbT?b9X{&ez?|$kQ1lbO^-Fg^<_$UFX?e-L$*!4k|sJMj(1(AJQ{ z=7FU$ck^G~JXc2~GwPAjnM0617k+FFTC%ojwXK}XUv|oWF+3S&=I#O|GfscB2}bBvX2(ao zfA_*l}ky8s?H*%oyav~FcMctTU=-pnVKF#e#KXn8dl$=>80 zH`~g~rG)6>jG=CSe6-XE$$>lHE7LJ21vF$efaxfFH{@~ic=hIKzzPSN$saR(y>Zsj z;W8-tnqQUXwe+OVNHYXB`=m&`F6tvrOC?ImU z>%f8Z-C9yI&5h85I5(*IzB)B0Y(T_8+gm4QQV)!nP%E-B>0O$raj){phSUpIhW#8s z?s{<8L?5e$)6{v%@gs5ZQo^<-gN{Z^xsd=jL*T^HBKlYWu?AYR7pW-W-AcmuI2M)NzmMUr*TW&-o8CD zj~;?jV%K{)=ncSIFjd}x+zD11|DSH>fwTR>MrQidjt4!g<%`MXM@%NG5Yo3ZQzCVz zqawGvKm(wkh1{@UkK{lxMqMveUe;mg6*8l|gLn5F!uvTz*;heZ=4N)6(u8>uoW3c| zI}PaY&rHa*KQ^W-GC==35hQlb-$SfD;)cxEabWRf#f5vReihFp44_-vwI%PxBsHh{ z@B!J}k+bV9r|UH*h%W9L7YlS6QmUL%D($OorrO^SwGYT-UmuQdYK78Y^{=85&5f;Q zT&fNxcQ>4*0p?|aPWgf9Wli4!nZi>>p^jI}YKC>i(jfEZ734M@bgo68f^H^#*bKaA z9VC!G2b+D(uI}4B#5>K+>&?;a=Ax9ZTPpF6Ab+jSHn+IVBq^@Vod%uN`f;ALaqH{m z;ti;@=%b&YEaQDMAR(m)*v+^mXOuZWWG!V;t#n!IG#p3ioUx*TPR>GEC2``oA@UVe_|r!*H$hLz|8v&_ag>SY?Y z&$l?(^p?M^R-ydD!|w5(pc+we&)DaXMIcsY$AFYayK;Tj7t;WJk0u_~b8mcsKl-ui?I( zYoF{=pW=o7bIAi)J1-7rJ~xI-@_!G5u1|CzD{tli{e6TB*d>;MKZ5q(^NpO-21OF8 zcn)9?J30+3ei|dlvz)Y)DGy?X5N?OEKLt5+J*tdzFeg8tPMD^p?&pxglGh7%T>bLF zIJGJV*^7n0mYd0aw77mcLa!#kkaMv;C}k*L@4fq-7#HfIH%3st$gM}m!mqYVOh~64 zg&>YOzl=R~+qmc*RNNfVrU!SHN!wk_uBEoSKBy_W^2ulTF)=f_+nw~FZ>)Ftjnarv zI{oq>E2}!aUIBjzodhm1M=}FopfZz!!wYX=)4Gm<@=R!gt83i`$kH|VCnI-xnB!m; zBzB8iGh6J4V&Vm+pFd|*Xmz%|&T@FKWB9g2tkr8e+~e!>^5}0Ci74~aI){RhCe&BJ zAOQc6*?#u9wq!a{?eVA=y2*CUsJ5?!dO16M+>P@aNABCV))E$d(TnT>K{Y%IV34iZ zYdu)lLg|#G$YFMimY0Iu%or*{s@lbUCAd=q9;w-P^g;ZD(yA#x3!I1Qf)2oW`cDC6 z0`Q|-OeKH^hd{A`OjuTh9=9LYWf@i?miZl#%|B#m(5kSMVjh*iRrDKM?^2F5Q_n+N z5&TgHkWj=K`a;+eV&XLBWPR_mthk*~KewBgTErX#FQ&sPnW^-gvtAw-nU7)#VbBB#=7C4`#&L;Pfk@rHZDG=EZ-()xwS+z|6fiuMQ2 zgUPIq3b}31!fwwU1d7ty5Wk|5y9>=W+9tYwAFqlQSd;Bi9w%F?4OiCA`Uxe4@FF@i zW2G7I5=Mnz9~7oY7Ti5(e&}4qnZk29cP8l$@>{FldV{ptYmD+sHrn!;eQp(&?PhO$ zif5i=Q(D#hIW7%NH6=l-kbka1a)EOHYN$K0%yk!GULPTb>81 zGt9AjcDxf47|}>e1BQ8274Hm)eX4w(s-lP#s!rpbuI9m;9#+2J`YS=~*hhabqs>B> zW#8A}e2*mTrY{BMtQZIuEo?1h^m6p2F;xXiQeZN)D?VK(2!5xJ-Wk#ek*rQFmt#kM zOA7W#S(1+*9ceK)x}HG7wtdnSbvo_`z@GVuwqi3^)_|`+s55CmM#9g zl>l|I`hs4t8o}DR5fGIZX)B1swe((mqjA?VA||EU)M2DDiyl}LVi@N3nNY$EEaY(B z9=VH_(g)3l4Wmuoxz*=Fu=ss~tP^qDa%gC@#-j|93y|Q<>Y2Va*}kZ=-~QbHPnSv< zR?^ZKWN>b!P@pAjU@cFS(ONp6u5c*tKPX(!{IRx^pfkr&h~1GIgb)dn-90hFLL6RG zFq&BddTQSWvE}PF;2M$CBH?RsPzcP;?rK~&6L@(`0p`_PLpzw)?>X3H5x%`NW zd(6w=qjIKGm)&FYmoK9}utROis(vgiZ4@x!avTuv zxXnLSp4i`yY>}mvLMy&k#+jiE0vOHC^4&a&VpucKf0`qh*mZ6HfKlCe0GjHiEBJ3e zIYoGZ77V~o#0)5XGwCBh0kCmr*+w~)NO3Dk;dzr>3Df5%$|H=zhYOVAy02(m)sy;o zc8Ae@B^KuH&P7G!cdjgcNHvq6FNeyJcMG&yBc035wqAr3 z^DwF++4Tz0l-&H5@ev%|wdX1zmxzB#k)Yhb3iIq5_n()#fwt^{dWY@%02CJx{GWg4 z>(XRh4k8(TxD6?Tc&Z5?Q!G{1kOv^oicS+qBCPmCO+A*Sj~wB-agFBcgU^*#gE;HS zR%NqIt0}k{@j;PTuvE+rMy624xw60naxc~gom@6qbdL*8d_*@ZAQgKM10u+)nl*Rj zzXeW&pUK<88E-BB zvEK7?*bg$9w#Qw4V!Ne+pbS$=|Wh+!i~=@4zze&3|>|t3fmIhumsN6F0Kq zZ_7KT$hU+16?+nvQa=S&KkO5UJCr=i=ei-v7h7nHod&yEG}4ahP3+za>?%VEdokX# zAAkM-?K*?=m_c|;e>#Loj?PY0@4*X!ueFANQ$X(0X`VK7=-LNw5Zkl+r84P7se?(q03?H&p)kwf5?%6WjeVk_ zt`r&xd@114x=Zq?x-(eT{=bCoPm+E76Qkzm>(HM2#gI`@k6SR;^o(c1t!6jo~*F8jdgWbXrtYDgy{U@)+YxRM0PF>@e5uf|xs^ z=PkMe;|8z$5&{e{H3gHsY?V_4h1SM*r6d=L6b18H&X4sLw%GjuSuhAtcLbksOF2+P zP4;Q_9t;PK0beMh!U#`IEXv@k1cZBFEVwppEK+90Z=fd-*`uPz{SP3RmY`j)+K&|> z8@_`2;aD+<4ahKq`Zil830nKA`*=$;{s6vZe|~*-4=y(IASv_`=nWWbXYW^=Tkl=s zndEI(fv((J3{D3`s9Wwj0E#e0j03pv`+OK?_T2oD4PCS}VFn!!RNwDX0fpG7XHXm@ z#IYl4#FNB)&`wj|YHaY^nYpsErdKq$Z~SIWaCuiA6kG7NwwFe>K%D@oZ>E4~c-gp1 zAL2|EEv~Z2UTy~OQe8GSSarWU_;GJ=aTyJ^Blr}35`=2useDUts0xMMz>8qyP^I0L zV!%iSye-}VyABuUUG4yK8295h*YDQbi(p;(ACtRPPCwpAv@CkzwSxa}J|U~#V)J`1 znGcyXHbIRJ>PQwvloBykq?~6*>rB@A(*5)3Pm%h}Z(|gU&?xGuOBj!WGbsMucO8thhgE!Yt84G3(=%4Lo zHLk(w(N2a}mVBi>T&R=G>uc$at&I~On>qMv3HHtBNPz0}+dlY> zdQM(?iRbzT33Z-jgX4~kuyJ(VS)&S6*NIix0O1J|`3_U;-mL%$@BnM`7>>dfOQ~m0 zo{3hYNvFHD_?;0FaS+ewW;gRN=S-o}$b(AXgC({H5rUbtnYx&**lDwAbibfHJE@h~ z)Jni*$2_E8RguUd6-@Sf);I`dSMo`Fmzv$B?VIl``WJJWj#YYo+@&{bfd`8gzY^@- zG_J;Wsws@SvoU|5LqKCT_I{Vb^G?5J+e|B50v+#zbYs?GE=b zTLedSJisB$<9MW0j0Tv>CZ#6IW@6jo?JPfW=6?fkQ!TXt%jEqGm1lg_cK+ad^V=+6 zh^Fr_bYkA-4S#a)4F1KZx#?ApDeP!buNbKDV||FN?67xkemiB#+;dMKZ4Oo0D5$mV ziYdyqmG9BHf1_MEjCBHMM205`)aRBnv1zaH$)~%7-&Uc5*fKaEh;99YnwPD>pstxD z;Ey5aQFraSCV2=9?%lxnU=v!};Sx!#{F=F|XNFpCeuOzOqZ12z;!F+hjA&EwM~Eel z=z%(B|HR(;c#|g@WvfSBZ2RU{;q=_jJ~p8;ZJ-mcY*V2MbNwZsD-%ZpOE6iT3i)@`D7mI}N-qSK(hb%G6$qHyXp0fqD9e%>9CYI5~Hr)}UB@vYan zH|B<Q*YC7!qD|9m>E3uz3m1Kw&(~R&v{zqJL-8sBK;2z@GcU zO*(7BBdC~B7^G0P6TwnCamX@eM?@fH$^I^NcDT7Z$yqjJ^HlnM`x92u)$@3e_-)Cs*qN ztm)&!4B6f*EP2cxZlQ=3&H)T-*_sO=+T(z1Muh@uD~+(h;>KfJZx$fsaTSN!4d}v< zt5R)!zYN6Qi~Yb5UDPMJKDs>ctwFWEF!*JHed`Nznqq42LVl1-D;xhU+B!i6_218Q zVeb5X0FrM@wxz{;grUW2?Zj12nTmF>{&65x$q^oz=do@ni@>)npje?N4cO_dnx6vD z6O$&r3r}6K{Jr;+`t_<~Q>E~RE7FY6kg0M-f5ZUKCn{!6ioRQ7Wl=a*5^miWn&S;|1M;{B*!@)ata|sWycCQAG~<00O8rH59sF@?7s?b! zxBPv-++1`2F$?*tBLP+Q*ZYlDlI#jhlq_4zyKtWrm7qy>c_p1z`5fJMK(BWsJ)Fr( z&keV)J{r1{20KH8oXC^eBR2~!wj)zWSv}0Js~=7bg=Rt&H+xhGYSp{mj-zj)6L9po zXF8R!TQ>qFW~RpJP)#(0i^(c?AF<{Pn@C_ij9ps=$$*B;63rF*0 zE0x93c0o+M6snY^p8drPNmWY*;NXK#@ z7r_==FAChd%liwYJYI_Ae$xrfb`=g`PDB z!G5-Edh5I(cz}vI1@vbnJW)|rrSiqzCmgr2N@XInBCW}Y*8}VP6;QRsa-LqP5BhHI$pSxe z&41xg(kxGQaii(@gQyPHX4d!KjwAyg)JW6NxE=igD9tBZWfePRaB z&Uoh-`P4<&yREXD;*T3SvbZR+VMrsx3r#za+#Bs9waO%30Z{nAmq}NEUo!>%zc`uy zsaGOc@VIa+4LXMy`}n{N8Iz{~Wy4n~_67A>_}+P5lAHB`d$s=&IR6U*x~e3x?{4u0 zpvuA4p65@2HFF+@v~c5hyU-6ab|+iVZ=uKt2Sx9bk48_n+iv|3X$Nor9@ReQP;l-0a=r(zCqWm8DJI8L6@+FKUoDCq0NK#Q<4 zw*1{&H*7t^oZbMcyq z&(Mq}PF&{f!syrcj9Cp*{UJMQTJ9~vMt)iZr#I?8SvfvHwd;(v6JE#d+Wh&lAhAqD zfx!-uI;Zf?1=N){c*bwe~hnc+c2Pr8et>T>RShhQ4UU{Cjrka zbA#AQ+tbgCJ+?h({!}1Tjz4dIaLv)`uUFZ&(Kqu%hB_Z9>3&T>Jlm8C)S9Gm^yL1! z8usF~YqwS_ao9P9W8++SUc^=Gh>Z^;yGi0hUs?xp3dBEU9C4w$RVmqo6qrrMOtM_h z=9qy#`4RR7;We}a8C4nOW`9507L`Mt!|z$=Ej*>}GTho8e1$M(z8`OhH`}+YKT13OR1inU?^VSEv{D=|{||bCo}l z(vd#cW41NEcHGCT>CDA>kI2$C^8HcIfs*qXs@L3S=)WMRx{d+yWT$sGp`Kn5LXDU` z#K~vJtP&em-d@$bTpocLE7!cZT9qH}<`UEF^y~-xA=#OkiBXAFyZ%@Vx>6%qe1a7W z*K4Ly|ITo+(xXmYR za|0Q`2&*E?ID-sn72KhJmyFhixASYDiMCvr&jeqVJ2BHx&m{eV_637qKwMBy8}K&M zVPHfF4Po~46zRJVGEnTunhWo&8C3FX^}n^`fcMKwkA2yC^SZU4k%F8bL!{Se=cTsE zOYUC&GV|-JiRyG>$>KEmoTMR1r)U+T%}ldauIf4WkCi?8+9He-e9#?K+b^D8pVj@j zOtH+&@RR98EF1k=xBqHr7S*j9mwP~MpdvK2$~B!+9MmZ1XMJ5%%%r+ta*(^Fi8bHa zm#L;g`>Q{R4JQfk4E9qnr@{ja0MGR*;0#slSF{&+e$N(d(gZ$~z0W_7mVa^uw0pKf zY1i$Wm*V}E5npbw!Amm)=`*!nP;UO2g>-J8exS3N&l;v;zw#JqD&;wV; z;`*h|+MFZKX$Fc~oegqtD@&cqG{$H)37Q;&>*|C>URxiD7^LOeeO1f$K-wT2F9M^^ zsRPp0=|*B=U|ay>y1CjjEY*rl`~YinLGJ8{W8hvsUZTbQw%Rlm#>$;s*+TREnvmt(* z2$D^q4^Tcli|jf%@vq!U$q#fqx4xi!P z0)rRG-Cf;dlIW-5997IXT)GQ}4wxj{aq8jJ+o$g^qj9jqXr(Rz;C9~TCPtyZKHO5V zkxMDJ%8c>C*YEotc`{XaG|fOdogl0el#wQTdXRhPMyT&y=kGs_Lzutv0Wm^DNT)xT?QWlKi3f><7Q%p8|e-S^faD zyq@Y{S8?b4xd$6a4Lt4r=h!Ro5A*DRH<27M(?JA#v0}u7VN~wm@`YH&dfe^)biwmr4qldQX_>Fd=vj<6fu}W+ zZHw8>s{q|Kzww5&zMRq_3y7ElBfC);HLMIaNQ?I*u(o_;5TxB zuS-H$h=G&js~zky~XJ*AIz_Umt$1c&;+zttQ6Ua~+q0 zIe;0a$ernu0JHu8#h#<=@CD4?GOrQUatW82?^f^I(>2MEwaT6?T#ffs2q!YV7#BKB6#qA-8UVla}@`UJh`gp-v&Cstduhbx;l#7 zdzqaSp&qY)E;gJJr!7uTa{@%Gi0RbJ1Ye=d3eP93#!;G67hE#CM@L#%f=f7G6QidY12qfM`qHaY zRQH~*pk&2oq&=_~YFQsC7d@%n|j>eBxc$v6$m zxE@7Ts|J7k0f_Wx@m0V$2V7ql>^<7LVc!3n%SdCJ27_oOH)!6>Q@-wW=i(bP=X%<7 zE$XACzpdI(zV<}5(wcm3y_pGG^yqWr!W=ErG_3|j?I94WTo#YO0kQRvQ3uL5gY;Wx z*9FC{hB>{igoGO!2w9ze9e2I&#L}{y#b%mXdq9ZgaxO6OwyiaQZk@Ryle#6-78f%oNg5_O9! zcYQ=Mmt;p1qIOzp^q8v_{KXEN;+S`&tg&kMAUeMMI1#D$BmZQ9pM}=n+u)rBY~3KK@*d;w*$!sJjt?t6}`%S2n}X|i!OGE(J4XQ_QldkJ5|P(xS9x_RfFWTRRKkA2&bTWqRVwVKC^y%Y=XUf{8u%cDy*i`7*IXZ<#g)+Kh}%tKi@k?hdS+5XVpE*PLzjWe9Cd%7?P zHm4m>9c(!oAL=Wg%oeIF|N<-wvqUAG)xZNqswxcg^g{E|KYQK#Ru$&%e$L6oH zR6-qeh#9n3rYYQF^lL>(gO2@8`+MZJK6v~Y?-HoH_a``u*e{NzM36F(V&v#O_=@Fk zU{Yu;&pq?_Gt`RZ8Cy6`CW5RUxkJIU z3V*vjzPydsEDCP>W>jJ(NjR9lfSsAfM{f942|7Abr4#^GA@)g1ENR2GmEWyH;6L$}u>z%JR&9g>IL@DoldxYd(L}QUts~ zV+OR4D$10*i>91UuCFa+R3uU2J^3^p3SownyZs*Rz zWr)`Ec9DF(B-Yx}-mS^9U;CZ@PN9FsBQGtmCL|$NF1w-S-P8poc43^A_ ze8}E6QI+1{{J2E0&Pmj;8EtbRrEa!&tiTT;u~0n7(0N*ORWCn+8DT5-pdN8HH%_?z zGgzQy3IX`iG@+`oJaN17r$BHX4hobKOI3i=M?PpF{(U00a40iEm$;Pmaj_iCnPtbl zKft@JCE5|5H#b)v(VM3LcCbaE3A@k%cD@Ys>ndMI>LZ>7F@DMY2lev`9+g|*aVyBisG4&95bkKem$Y4t!Sb* zDBwhccWRm_s_e({swaGtRZB%cChs|j^_l!G5@|om^A5gKgYxy5h$pTo8`EFiDz6P# zPJ~L#xXp$unGEmdrm63rY;DP}#tAPU%(^wc8DDyMW+OBW{t=rAYx%*`!Q=3UyObi3 zEw@NaM0TR*x-x+8#U6!+MvHvpU7AF@LgSe^1#7q1+OCB3xYR^Ox)B6JGpl$(5hJ1R zupw^&C&{*VW-+VU0lQC79@@@`iVK%UJ<3tS#5uVI>l|{=V4@}KZ5kvceWW{SzqoWv z0eK>s5DvWXO4Gy&vzBeyv{B>UcO}f7wjV-i&Y`7hyLB%}AJ2Huzt}l!NU%?h@FE*& zzGsOl4WM%4mvw9;3Qu*NS4^V^)x0M-r7XJBWo6-VBH_ZW$bnehWcib77Wp74K_j&)-%`Iy`|IRpl+N%;#tsLy>HGZE`m zGSM_ng51QNnMNF)msg>L;g{LrL0W-&?qLfbaxSS$nM9r~Fh6a#r==_Xcf*Msg#mHl zOM1HLv1lU&th*N!EiPA`+v7$u^HM-{26CmLI8t{XmANt)=OAXuin%Yw#?g?VdRI9c zK3z>$(c+fl@5963f)UO<6|U|Elxw%=2(6;g*5LZ?zdU$p5c?N68C*XXHf7d4jSd8# zun?kPGHqUZqqTU;mm(ag5S^mh%0<5%v8+a%9pWN{oZkEvjdfx{ZZpbsiMuxWym z+8ZqIE<7b2D;PGHA{uJ1wIq52(l(3{NxKptR!ded&@z$AP6xp-<}F zJ|au0XvbKB|1wfo7xVi(O40gduFxIzv3N~Oolo;tB3%Nbm2y!2C(gN&1-m(+4FLlG46MJXXtAZNXOc=sR7$aT@P{fRNBa z_SrJuo~vcbNFp=V-tFZl)AxfhCTNmE0~V;rEvd<-Z=#=!F~#?{{_1K6d;CfH&pQti~JNgInPG! zXTXkPx32RiCwcSz^Itte=6|R{oBSxhZ_Q%x9=?R{Pr$b#bK#X{PzF%@e+!O5EdS?! z;`l{>uqbq8Ulu;|G|%ywRdoDXv_;NF&eYZeC;{oEe(TiGNz@}*39Ey2$y1wW*oU8R zN{*jA8{{zzLJOL#Lk0ipzEG*+)elG5n}5uX*vAqVo;O?57`HBUY45bA9g( zHIDTxn)rB;4GHqE5?se(DLO2T&f)Su%N~`R+JxIXzj-#kSB9CfJpdQEZz8YS_uH>` z{}xNlJ(MV1mRQlo?M;I1?)BoopM#J>N*zB1ibskd6N0)5XeiD0RR}s6A3pL3H10j9%S~7MSs*64mhMo_ld9UECR?2D##317Q z6kyh)b#4Fuo1pQJGoW?xdx(8>R-W`zz!(;frG;ZBp}X_|)O+pm0R!^3eq_Oyqkak$ znnwQ=(8uwt8lW$%63)M7faKq>gzEEYW6;+G?OstHR4i)azJaZ6%3$9^Wdfa>^ZXz& z5a*}(Q{W<&_fH6g_c3V{GGY*Z3b;Z0rwfCsj*+ZHIAcx+`j;JiuLTOP4+e;K8uL>i z=keb|*qzS3D!!rvzlOvQfb)+ssNb<9viDB`t7u-+0Cp!E&Q^|z-aqnF;M;NND8I%2 zu;raA+IL0r$XK2^ufZz=er)!)a5c3MR`S5gK)`sKghAG~ z?8pA{m$^TZYu-AU8v15AYI5SV9*)j?x%Jsg_)k0?_c0uYN5h$Ok$Z1E`9knLwbi1p zPd3}MM`q6Ozux@yNy8>QL@d`>R-)jtl>DiOA5(v^iTS_Sd(Wt*(zxAQ$5Eu2L3$`r z5s)qdQjE!rj52}{>75KPbZH6_AS6l)ov{E)%OFCe8EJyFKoVf2h*A|5NFpLlvQ=;^ zA#?6I&vTyhuJyj_tn=|bYn?BC@Jq-t^0WN|{tseg9e9uy8TzDD7{595{U z-YuC=maaJ6u63%>vb+EO4b6P?iS^}M;X@9$A{;8Hg^cvP3yG&ov_<1?u(C(AgS0NVrP`*x4{mypC_6Kc8%UP7=R z>Tl>tg}THm#_EYyun7+(8NxE4#w0%0AMQUS(H>6m7+M3{=(;(t+%zqq;5DH#(M_c#ojOivHz5LB+C<@`Uk@ z=@~edgZdHnyfCpAQ-&Ox6Hipxw@;UTblm#mZ?p8Op{7f9YAhR(TZ^z)o49r}T^Dok zcJO#?t>>)MyWAr5T50*Ggl^BE(ZE-8;Z#5WoM%@gTmrJv6nuFZ{Zp~EwZ`jo@U_3_QOk$pajaAwu=r(yN^6tsUVPX{F#mZ{$I z{3x<&22{Fou>8PJ{XaHUy|eli^2s-U@;EK1IP7G5EA{UE8RH<4L_2-SYTnWEkJ8zW zH2n$MvC){Doydq2IR$jlfe_;=Iga|#Dp5_*zSa%L(g4u`s5C%sVvCwfR@!9b7SmD# zyZH3v9u$n{EG4(hQ|1vMB^TW^(|}f6*bsNauN1$TzA6uLHso`N0d;d>s_HYXKn*tJ!%KW@hf+m@#K|Nbw+CQ#s$3&}63K=3#@r+T^r^~o-fv2_Zx+&e#W z9T&BAUZO3(zXc`P9`aLD7}Sz}R!r)SC)fm`{=W)w`gCu0xvrt^}e<9xfS65ti9kshhC4?%CzH00p>X|wov#zn> z#YmsVX(ayL5OL{JWs5t1RLthegP$k5!rqq<7Jn;ORME_ze%j=9H7VzN-Ver$fc6tI zRKHVZ;pBS^P^xvTT^wun&q|e++-&ja^uffJFA7dy|1R{mxN&cVnPxU#z2aQw5nal& zD~(k6Z01;V>RD8Bj>=-9CU^7uV{9Nj`Pwd`!ueeiR4JIQ`G)7cN3*7P&-2~*08l?O z0F%=I6x_@lQ0<-?1FyM^Ru=Wk-ZJ0{IVl3@!d8pwq=)~~Jb^3WKWLtEWB~Jo(*(c# zv+I|;SfPwR`P&={k^`{OYt0OSMlbpE--1f|)EEptnfgT?6yt;3F(KamKR?arzdns6 zJTh~D{9G;$AR%5Ngz>1`vEQHkOB>}o{s(Oo6uy8q%9V#icJ}=NDpvd4e|9Yq$ZQWl z4*lU7XbDPo|FdgM?Nc7Z70W5^5hFhbKYI}>8~ZKEN^nMa=$~DGjet^L44_Rn5OB7a zIgrJ;&kLo0$9{W9vY%O50zA|{+<)*;p`icZp=RLOs4t4Qz}G)#`p>R1aC=FG0Vt#R zDR7N0feV7pAF|l-0$o5TtOd$^ywHmTiuuJ&6eJF(2vbgw1;++J>D`6p>P0Q>><%Ks zw%5R4edC)IzV2UU>t5`CAY1#X0NE-$O#X@dJP-$z?F#e4IEvuxLuK$s>uvy6(Ib@L z6ZY8Z<`to0-2!b#l>99kZU$d(lFT*$pjQcSr}8U7r|}Gkt^Oas*`ELYo2mTY-|YYX zX8+@<{=d)J|ITw(FC6)2*AGY1r>giSBR6s4Ljzbj!aW%;uQxx-sD(PJ{+WK1p`O1> zj1H$g*||k{bJyD&FO@gDj=%6^6Zi2;7bpm*SwJ&*Yk@43UaJ)PHZ+zpwhqQ$e*?)N@d=G&*u>3!(&JNn|3hVvh1Ece%N z@)GSzS8P;nU7kp#>9`KI1wRZ5*eUD2wL0;}pjlO877a))y(U48CZ!EC^Z4uSn^ZS;6jY#_L<#ZP)+j#e4Wo7 zf5y~0(R9omODioD_K>ZwN2* zd!MMw#lgvqDUb&FRZDw{_RH{MH&f zkOeg^rXRfxj?;yFGT(6&GjzE}Y^SKpQ?K6jL|F2#q)RW5kg~p(fVq#Yfk2GiKx^(H;R0`_RZ`x8>cwj z&HL&KooAw(!oH^%vXTxo!Xqx)IVZXvmTS~6;ef|S^@y&?b(I!zH%F z0di@5fNNO&{`|`0vnBR3k&&?n2M-)Ay_HV?lAk=CC{c8Tc*RvT^Vy=MsB4DHc?to2 zGz@psZ3N?O*G+V~SEFg+RO>=_EWfvvUnqG7%N9867RUF5wp$kvG4{yTnnl#Cb3kT; znPstY7Sd~s_V{O0OE^-b9wWxJXzqtm;VT4GYpE)K}b-9 zmx%xl2Jx|!9zB@OuVj87%OPIj^Q>TJfBqIqF}Md+Y;b^(-3P)Oa<4#SuUif?#&1p8 zNXqpuqbPh44jjx%4WySOiAfVWlIS@Y1fAha=&L782)+(@Ypr2P|r6tPZXWIl)5 zbL9*DcIc1m*y95ZZs@BbQfKlJzO#dl5%({DpIUaJA_jHRy!5p9>kg8 zS5;9nOjpj|+)t+4#l+JRs$QSpbgEF;erC50a?T)5WsL-1tfAz^W{$`bUF==;M^C&- zFEhPfmBC#2G*ABn!HOAsmBRC>d1%XlK~|o-&n&Qf8Vux~;dw$ctPMo)tSfUqQ=TN= z%+Jr+jFbwS)1E+MtCrh73C{4d=g&S^DQx?`_i>HhMn;1%2t{#gpAe>Y?X;k!6ZsSD z@96m-H@Dz!9_m#}FSTi)6_V`H_aHM7h*XSnn9r^*{!E53Iqii&H`}EdlKF1HB7;x- zxTAarG5hmxd_Df<%`#^}jAr@wZBT+rjRIl^a2Ju331H~IP<<~PEm<{M8+_HGh+<+unKSQxp=;8T^>u*fFlC%% zH`v$5CFJi(<6Odkc&VJLVN?hsa)OSO(WqH;_d)0lEWYeI(Z>yboBz1mjz*5AX znR9Fq@PN(`aw2OS_p;nxy_e<7YI7caBk%dcy|Pl*_N*zpxj#ziT;i)UES-G2x)QIF z&mJoGR(4Ts@Q7w}8qLr>SD3$JB-?iiNZ41av#7L<9u=Qu;bBN~PzARY@#0Ial{^0# zH8C2ZS&=0)Di)sJ>z@8=TjVA&fK#2%_Q-7ES511{vkiGTCfm(>y%WNTgpc9U??Y_W zQ{bUhy9iZ*;u;&;xa}e^7)K)@pVyq~G)}&h2{omqknftgz9Ezs{4$C5<>+{$z}TX} zxW@P`uCMrQ%Xjb1>57__)jFFii|I$K;OKY z8yah*-EOUT)jzr1TbCu7I&vlC_r@=uy-d*DhjQik{DE&T-{}8xX;zWs3urPkoS6cg zOx;u;Hwv!rJWiE%j1396L-Y<=jBnKiSPj{XUeNCN^tyf@X@a?$p5oWOjqxaJm0ap| zs%X!T0>_yy=Y=w7lFUhcwqFw%zjZbxpcF9}IFb96g-XNx)XtY{t{@C^yqDNIItH>V zUWuM13&}_!CIY?9ybS7m2j2#kn{a*%VT!m2q-}8dvFyR75ZB_(=*MFD-@H< z$>_O;3rX6>O8ncbstNvNLmLn6o#f zVWQNLli;Qd-rYTFQrWEN2(qPk7JEzz*)EjXA{eYG|M4IRP(h4trE59ol#8IOyJ|aN zuX8A=H1{AH(QGG+=$pi+aK8>1WLelQQ3O~H{?(^3o+fKsQgd+rfEpB0iD`z^I7{hh zy(Au<68IGlXLIs@BrsSQHAt1t(Tnrpx23J2?YC@oT=`pVHOu;kCtD-H*~{4VmLM{C zHE7{n9csWJliExH-CQ7$1`~fn$$NLH&Z1b^pc!O=$gk%l1r+7XhV@J<76G71a|PVa z#Q6-5X9eU3XEmBRt2i+$levPp9&PtluVF-bC8BQecKbiO4&82SIhTy5J% z)}u#Fu1b3faI;($3jmyHD4NZ5)7AZ~d{PWVm?>T`yQ+{N`x*JET%%0_vgqf8b~*V{ zxX33yacNJ3FIJ@wub!(i1M9D*x&>(XWL2y~IabL=w`Q}nZf`Gvw`Bw`(N=scri=|z zXN%GWCY-UH8S0*Tu*64Ylf{SuysvPX@|?nN7=;hf!LB|slR`as^axaV9kY=x++8Sn zZYbQ+sd<7o(Q^7~xX~2)3fO6h%n&W1Jz&0gu*--)gX7O<5OuZ#Vfq&9h3{0CJvOt2 zzHT5DLYBCshZd>v^!R{L?C5;-sEE@s8b_bShs=27_B5-vJ}$YB^Htd#(|6R}0m9bt z0ZvrAN95sW(eC$aT^ll^xMJ=P!)(-tYPh7%Jhna4|HR7xvo4=gFW;|9u0zLDo!u<= zS}G5i%TGnO@?VzPX(}PnhjDu;H0wgSgEd*4?*(R$yA~dS%g1QEGUOC>2W?#UyZYUU zTELv@D7!SPDjT=0OnNTYqd!4ZC|BZNr6tt_`y7RIUxT);I4FHu`-u$+Cp7 zt#UY%&*EaQb@}r@4+?*PC$|6a7I@5jNs`7xk*TCZ1cKlIBy8iK8NjDC5%2>(d-?r4 zY>WnfraufXvz+h;&{B){tpB`})*p@L$A)q*zfsq9C_Ml47dz?+T1HK-`{Hj80%bqU z(68GMJ4>iv2;7(RV0w^S^WJP0zHrhtZ++l*_)Pi90$tUx{D$P%_LNz_D(leDLe!qr zBFTvYt$;5<=lvnDNX)}3?dQ@c_xLTm0>{O=Z0fC5)T0e{gV91su&E;%>-sfx)&-bej6|k|-5^?+tt!oPId=cWVA-e5L z#hOrAxu$OXxPCp;^T1kW3TK8S`tsjDJEZ~yHx#D(msbGz_iDruDR*F1=lu~|4=3Ihgo`=8Je-%QYwQrRgP?8y+^&eK|l6_mNL3L z&f-?xjh;b0nqN0T<)Aee!mxYbNVdmP?nh!Q4Zh0jqso&cfRpX>DpsNkdxc9!!I2Ko zObY4HYR`WD*KD*F=e6t9CRvn_&9-pO{JpvG*)LV*le%(Clg5#+v0xg-8uk43F(Akq zv3=zDk_AhHV+X?kD3UgC3a1Jexk0o+gOuX0eRn>t6MbodWBk+UH#i2ngA>?s-{sR8 z9K@u_sKUivo6=YP))Sp`@udwc`MDr#$;enzeslBc)nag=oH9c z(!TYuS$Dig)g7a>@=~CymRc^Cr|Nzix>dPC`D8{G8XeZ9?=18092R-8|xh zt7{=jGM1imFtk{NjZ2@?=Eu&k@Q5B-WDVSQ9^91aXzw~$-fLpw;)_j5xo3JxY}c=| zz_69iN^oxY*c}@}!+k+z^=QzN8GZ&o3N$7^3Q?=%gT(lUD`C~4LU|}MT@b>}-zOZE zto?vLcnFT?uI7ucCUi4WmLSc6sV7hx?RxCMguu6A_;4v)=_R?T8ww39X%9)HpDi-PjJi&=()+WC}# zG%iW`q_|F9Avw%XJ%{PYavgc(*avD&moY;VHHUbNnnr(;%TFxMiA5h{xac(}y0+}n zy)tF}BLxw9l{RS@-*J)%(Q+CiKQHi4pJyT?uhqBedH&Yc4Vkhx(gA-%BxCdRJ{7s7 z%VWJgKSKB%W4tQSvcxK%op5+^@H*OrYxw*394T*ws?SoV{W-LCwZDj1Sd=%P8aF2j z#pP}?WN{C?;Rw7OVVmhO*f&P$SlkXaG+?7d1xKbah|nI5=NR4DkXhSjrR9LVFn|@s z)wqw*Ldp+~w^9)yGYN8yAN**!>AtsFlGY}dXQxiUL9!kxY+tR((OQQQ9bb@8O_FIPh*?TkQ7>Nt@;?!Xmbuu&U?AAT%++(bMxev za68^_Tlfqt-!T`*MX@EZTvFR#!si~3pQuyV{WBOtTM##j<9DWE!4-X1JcO7Kgyd|WYL0e%n^`7+}VNeuU*H5ak8G-jpkNT7xVUr zr;cbA%;e!*MKfp?j9Di_iJDtv9k~U1ccvT-weR%{)s^VU*01bq zC&o$oMVkp+^s}D9n1}I}vgvg=1Wvm^afbW%4C^9mrYyipdhPhj1hWg_@dG)AVz)oz zBWtJLz}j=4?VupR5r^P%CP>3^b3feaZ&*n%P5%~^styB~gDaf9sZ$i^vU#eaDuRdDIYkao_8Km$zWxq2^}2&#j}SlO{f z6{HvB=C3INN9giWA7fXKb_k&1bNJMLa713=NZM>=@t?ImTrNUxLR4?8$-0yPRG?z*rn?ot|;@|3ncWWubC`Z-|>kEVj(tGdiLQ3l80Uj|KuU@pC>W8qD*ACx@HiTmK+}A+qf52T&XgfKQ-bX8DnNS>icSo>AI$W}s0zF1s8YY6dH?*HD3& z*&6N^(){4xA>5#xfv)dv`=34jp+KR-$w-81U+E!p`o7l1L5E7#uxu8~q3-TtHY&GV zmTUOrY~6xC3ubKrMiIy0dXEYeQ|#SS2RUqTH3x@Jlh5-9`*EqN=6n?@3w50=j+TW) z*a@RW8C|kmmB?R<`bnq~d#J1}v&BphkXX;2HL1=*^cc z*PeZ_QTDjN1g~h4DV$_pWKR55b;f+oNYqN}*-nvF>awL$YPz0lu8$fk$y3qd<)ZT+ zZa%6!ExUXDg$Z@*=4`^&Y`rKU4d~0@%g>f)bf3he2O3mO61mK zOlQ!N3*m{q!d>GSRe`}&ORfmlfX&F9m#&12=cM>^`CPq7=A6ZZK(F%UaybIh=xkVR zA}9^W7dg6xU}VR?NXKz;>)j$s3rhp^12Bq-{i#Qmc!4hq=I>x~EFDQyr-#j=D8xYO z0l}3D0;^Y?E5j#e6Qy{bASE71>BddO!|<|%e9P&zuCogW`DKe4ipl7i=~F7Eo|Io9 zx$KXDVe;w)y2uCoVa4piL>q*K@fGEB@~?geP1S=%IOj}(m_lrZd(P*~a|Ew}^8xn5 z&`0*4^DnV#-z(nA~t>J2v3;nD1Y(&p6kPfGb=<6=R1ZQOCx4LsYI~u7FjFAPuXCpG%Ii4ZYTQT`J_`(j zF-ohmv}+>SymcHOLzroc}=( zkRJF5#$Mqh1^qfM6oXNmu`Clr#*9#XhG_UNe2H}`pF-tl5%T5+StMybBL^e`ZD*j( zx!#@wg*`|!Ahv|0Qe3E~sjx?6z@9Uq3i3H2Mit~&os5ZMZW zpF*0h&|EfW3 zt=?G2$1l207Oxe*Z!#|P8g#H!?4cc%e7w{U)DEMU;c5WA+NsCtyTf~4Q=>JA6Z}E6`(xsUZt$Bqwy?S z=27OkcoI@!nbX)#>?u@2r=d^!irl`)=J4C8d&sYXcx&Jm7nsNKm+U86H)Mzrlh`0V zd8?^b93ljn13VyKDml?f3!QbgIJcG(>zliISjpovv41r3*-vYA`WmbYXBxscDJkTI zzsgl`@*r4)JJZ{3IfyJu0k^#yIW#}rBl5aXhsN?2XO$oI#`YDX%OxQ+lEI41Oc=}| zsz=@jK_bqN3)HKhaBx4p9;?QCuXIee&$dAQxw>|VVs0J?na;a#<+D_u|2rLh)Y74D0_^jSh*-f)z5eQ;tl>iIKmPRJrG2&7o%CVUK4QJFm|!v{p2GBVyApYZve_?cy%YxZ9kZ-NnZQB z9w`+43_ZjmgwKjpMT?kZDPr{YFR=gM>`oDQqy%SRt3>V?;;jHX*>f0ES7lYT%#e-^ z5At&B(&B%%pEf!D>xT|BQZuWH$_aR93;n?U@D;PPZAzNLiW6}VY9WBeChtdyj`CAD zU)KvN$GF{i?(~g&1kHX`1jrixXV+FH)L)eRFeZEBN4FIuHn$a}D6ph36AZG#yW*q6 zYU+z4N&*)A8+`hs2!?l_9qscqD>191RID8*s7jV?e*friKDcZB+^S9bLBsf8n~_tY4s5QO zreel$aDe&EG@`6TM{e*hJauzFOjRa}t8$*pzf-DCG`>8Rg?8RPMvUV}ZjBT(Qd<(c zf%eVUbRdi&MeyWmvT(}qna`XCdaf}r)x`B21z#>lAk9PkM8Nf1+Ce?E5Ke>RZ~TGg zy46{q>WIUW#+?C;J&EL)3G$^#iicS%oK#Ib2*se9JBT6>wYPI)&w1$9nIi6VML3U| z>4K7Pr7Av!varcfgg~s6X6_f};)}Z6euvm)$YRj?_KM#zjy9*McB!Mfl?sd|7i%Pcj@yiiFzZ6v8slGE5Y z;2V_F@B1mjdSXizE|Fi`fv~)`%vS1;@UKKn8*K1!xkr3jc!a3lGA;02VC2k+%?J+# z3y(Ipb;AYzbPw;g^e;OHc`S@mLy6)B;<4E*WN-w zTvW0zM9D{=2H+lKQCgQlI1elSLB2y+k2y@h47|2}+-dQ+o3?yzEA|_Giv(|QH(s&0 zXF#wFri?S{ipT9Cy7G55L*C`Iq)Gsc0uCy7orZ&ox%~0Q}BNIC2o#`Z3LP z>sssM8NDy7WoL#RA7w4sc7CXFk>WfvVL8x7O9Rmcu6tPp4wYiU!Sm8WIl{yOE{pRRHjm%_ z`9opHU|y?=jWu+Jfc+J6D&G$ea@qtk23-6#qB;k+dzC6i+AHwlld}1^0kA^IiNR$d zMc7J@VFurlEj&Fz(jxfx;-xmn_JT^*Dzg%oLX|S^#LEbjp&-`V$X?88J~8vab!^rq zdH>50AJs=$&nu8`tg={_o%;P(qd-zbZbJK;laAMi_;<_#ylm3l6vmFzZL*w>D<}t` zot3=^{uyTDZ*0-8rR>V3rHlQm@|ey8?;Kfv zRmv&`Yhvy#55Tlf`BLaoygp(T*vL&Sn5?~K5ybOAN^*&44}+>(+=aK54Y%@Lw-U#J z{^OTvj2!HF5vGPi%aKAe!jdH)OA#K$f0!5Vl3bu)$DDvmDjV98yTbXOT_!g{OSK<9 zT?I#c=E|p|jkv?3d-`kWA1vf$sE->;83-`NA-nDXIbIiZ- zW7h2Z@eRtsxS610NL1OpSN?+9BPv#x$!KDq+ zeDb6X>Pmg16-KTe$#cwU*c`h?UdTnYPT%FwUlsB28AN&hYdn8&fT~Iwb-7AKkTeN# zTMzm3*SY+!>xSI7;w-9ID=Gslo6stJMjuro7AH=)xyqiC&hHl@;oaNk2s9ow#dt%u zwxRxo&`-{cRc>gnd;9rt~c$YcFE?5+EWmZ|YLd>5zHp z*0)Mqm!@OH8R@Dj@O3a-78NA%XZj4}JYK+L433l#rb$in0N7soPoTnena1@R&cl+7-yR7&o9q~ z8FRG7Zy`fZ4*vBPXdHO_o^M*rmS=UN5R zKgkjG&vFT_grU~sH!5Uj}zN!_I;^X^BbqibA|qC!}04}`N?C? z-A3A^6}4{>u`ZRBSrs@@N&)et{zKo4%ECoq9|mv-O19_V*(9WecO|G67Jvr zRiFv0VRJUat{MF1bDtrgk&p{~N>GdLZ&oj0jj6Bgz=hcZy38xPeIboyDbuOyY&JPCYt)&5L0S+z4S8~Og?g@E2_rMzVtreRp zV* zz6Ia!-lfFBDt~y)*pD`B@FXNUj5C6=bIDv(N|zq+;;i=^{iOk5?b9f!>JX0ApyTpF zfQseNRSAy)lMNEt3MyeK#)Q0oqjoD0PM=G3y&lwWwr2M`?K(%>%xuv-5@dSQjXw#7 zyln9X4Y^Otv?pnQ`d+cqYGAuvQ1_yye73`U&l#3Y9tdep27T{v}+xG2k&oMg7J-Z>}xbJ#Jk4Urge5V~N=bc*N3BuTx z8ECqgSW3CvBsOeJoHU*gIcV?$!I4`|<&EWAfG4=y(Yq7Y;u>TMRe;P&GLE^0jHDnk zTEovRF+tFtJAcp`a%qU)X@tbjK&ow#;fW$A&t~RnJhXQ;uJpO>5;kDm{97Wj{Zi|q z*#*og$-cb%VOHDW@6GC06un7@*b5=`Z9Cq1iH_<3m&N^roFr<$7|_k1^w_} zspm17T~8Wg2s4Jgf4HrEMP$&!bLQ=e3kiqopOyFj7b0U%{;-tL*)zR=mb&v0RiFjXhxUH!st(b3^%Fs)*K)Q8|3y#!;9QgWNA1OOq3+I&GF~s z=_@`*nqkRk=xq#MF4X5x59MN5x8+%Q3>xI=mvLUk+$~%I(-Sxz1ok0bdEm!_zn^8x z%{qjaZi#;DqpTjL(`ACJ24W<&c7V>99mwx8s)6u6nlA=@gHyZT_(@~MV~BA#9r6$ibt&L$UTYt zE6k%P-Q|zJc@j4^$TYXb3->gR?{bZg=JzfRMGcqXs7ZjltU`~|@ zl>L;|vhpI$BZg1kgGZR19g<>l)@sk?ggmuc`K;jE_)4Dgyl=W!*UpnOe<0x78*RU+ zcIz*nyVP}^FC^)np*!4O<=(4x$hEGU-S(h%=AM71ud|Z>dJs&Hgs8I(A>;!XB_Yd4 z0S1INF_DGbcThhk@};~Dydfjhg7p?o&C7?*l1ggsqgvKT>XSrV?Mg>OUS0Jvi)~k= z)esyfVt2Bw^%G;=74qD&*r`OHCqtowgQylpde0G4W@NhR!6yFc`QH4rwmI=z{a6X1 zH0;R{h{p2%CWpAS4kzvLnCv>yc5~$h5%Xj+W>tylXxUT##?q8(C7zKU#x{v=G3Vj) z3Aa>=#-s}TKA-QZlj?Wtva@%U%w^4_DW6pQJ&00s-L6RA`K-g%^V?Aq*>Lvl)d1i&h9RLNjRv5ZbC!bq2oSggHRP~DL z(<|GiL<5-0Bg2{^sU~_yhWmUF5N-`$PsGEo>ItZGFIvdbgi31=OhV6}GlWPqlgX1e zay~5hpDe4hM98)I~nMBKH$KmfgA%v!4D}M zk^B|}a@K7YjvEYn0JFHc^EqFX%wrln9XkQx^cdfiZB9IOvLb%ptvXL{T#~MZU((I- z6<$XV%DnItdwH=yEp;%^%uY3bKdu!AnunRplRy{OM1XCeV;RwDd?mAGqChV)@kPm#AChzIe zc?j0>C*`At!>Zxr8D4tZ-mw7{$HC%1Y$aboa#cLVnC)&CjWPjNC6#i)1)M2DmCXks zJvxv)E1NO9^b4d~_1D}O2bI=ygg?*JvteQsptLs!wjLK34d_HF(=)oxFN_}fe%9>; z>A;8bBa>fV$0jG8d$tufc_b!yA*pOX;DEedwUNCZwmLU|Vql`dM*5cty5q?_1C?`5 zk0$KvG9EN*F{{L4)j}cCP_)luY!tZ)iUm7C#S8i`xGaLvH){924XAUY3nS=(rc##^xBkuq;u{% zIM%umzw)cz=57oah|T%TdJR|1zZQf+3}(ZjutHp1Z!3S#avkO3R=QdgeXETf6H*mTWZQEVWf7uDLWVBD1oYK0H+%z1P7=}KmbL{Y+ z$$OLbZ2J)Z;N#XspyJOwY-&u>l{3?rLjeDiFxDS_%B^vHt^PF+O;Tx`=+OujDp&+I z)F#nc7{J}UEj-rPF)4k1GIzR_9C_uwM?;sxn*{UI#AnrVF;_}YYnzwvk;d=NZb)5< zkMKtu-}WtDbg0>$UwbojiOEu0=W;7 zjBWnPng@PBP%Q$1FI7^gP2lxYr7(yPY>Q?_;1obX=Ea0k0)5Ek2A3-0=Jvq{ zF=<>h6Wd7^4J$tm8Dwm1s;9VsO|m` ze>|D+>nNc}SxN1*l~0WXbEBUGfJQNDf;Hsaw8qeOQ#L;Crc1Iv7ggtI%;d>wR0rkN zq=4@eqTR-N|NP!^z_%bElTzA79IYyJWiDLtFg66OV#BfLBUdCYH4~lB`+XXjZPC8S zTrBt$zxeXfzI_U7x_q;Gm4ugF3~85dc>!PM*PbpgGUhCHS}=!S3Osl61fmNDS&v9h zu}Xq}!{4vX=C84WI2%CZa~fElM?)hiJ=zn(-Go)vZ29%rh83Y&V@vrn$y3Z1!5t6l zl=P|h>qeuMd%{fDpYTH`cvtJV-3S&+R-QAExh)C;8BX)jvtI>AI%xT=qmK5lJJ(#4awk^@Eld!GJ2JH^s#jW-)o%=JO?bX5@sHR&~u zr#Q9oM<3m2NCu1dFYULkH@X*|{=Igl!FBifi&f>%`xi; zAw`)GkURL^snN~i;D|P)J!qYW6}dg+rhk&@dz?`3tbAI`yg>VQ?K{H9n7Vq5reV6s zYxCb-n@hItjaTqzdgoIT=GTq*dpI~Iel~fS=QOa&Azu?na`LYMzTemyPoC0XqSI~3 zZDSdv7b5lVE|d%dt&G7IBBjeVmV*w`uIOw+j@s^cEnb3cupuJL!q*2T#)rj)0W()Up>Em1G508|q z$)e>{^ZZj|2tlSaD^av@W29lFD|QGf@0%+3zUB9+ww+q*&$F5moaN?9^EB7Opb2hK zKlVE62jM}D0v=G6YpykL@o9LmE^|KBd76mBbn5bVrV+#VhklKBEM6krfZg_Za=9Ys_~!xLKvPNWZ=@_R57sZ|giX0vGkycC_v^oCw<)yVohe7A6 z2&-Z9^WjdQr1(})|ZsGbH7Us!k|(*!Uua1Y51lhFbD{mm;BdixSPU` zL=sKmq-`W1kv-+SCH>nBrn+)**+k!Z*xzQF91OJ8K7G6=o7uLJ13rhde=WjIsXZxZ z^(1JdyJN0`VY0!iQ(NS5%uxb;pyk`shCtot|2outA-b-l)}shC(G(XZ=TmLEp!OE!-1TjZ;wxj zqzNYn{oxMx`%&)cc$XMHd?6x{Qm9cbVos=alaSkUbhzx&Rp(>&{Vr^@tc31y2R2VL zqq5vNi#gRBCG@`I2SgK1YbZ&l;plIVz3)1tYxf)>=(3b_BYgkV)$@u7yBp}9r)}W}J2ap61ux?j`f0GzgD|Jn6}^Ci&l0t2K6bQpLY??fk2s2n+=M2iQh1kh zzI8(m4qAFm-L#0?iDw8)4eFG`kuP)5AA)1TA9Nw+b%)n>_j#;25w4mB??JbTvfs zNYou&{8nDHr%9de>6p?-ZpyOz_0Jn~Y$R=FKfgY2ai{pt#DP-9b#C;lKqFMLaOCd~ ze|+)JWIe9T8|1A{lE$^It1dZ5`adNnh?UFT=C#z?N&<7~RmS28a+An5IDIvRz()EV zyYQC&?E-b}x)5YniT<;zz76VO+%+U`xKX$FH~h1Uc9iT2)H84R)GbNNe|Fja`p>S5 zvpS{A|3#Q#Eh{D`kDRGZ9vO*}*?sdodY8!2@?G?`J#eW9Z)RZDc65tUy?k}{VQUh7 zG*L30TJ^GJ_AP6c5JPx4ciNQsxto#IWfT99K=Rb{XCbXpjX`KUN#jMV9+r(%y_>{Y zyV(<0dVMU!!9MY3aI!>ZdIyyQ{%h~aE zk*?oj#ftq?qnxuIEyn`l(>%Tev!omm66*1;xnehSd|h82OLTXV`8p$#YujH-6gY-wy3_s-CirD5<6Gqls7_k5zZJHqEZCq1itZ)QUdsalSHA z8er#;`&-B5)Y2eDn&P?huLi7LqHiV`uT8vIai-gWbVD2%!g_XVvv@!wl{qg;Z+)Fu zGJ0^B8+486yl|>JaQvAYr?X?cq0909vSX;+R4(jMwq~t2QC`oDk z+tm3uO{zN>hdI`1M?ZL9GZcF8R#pkk{+FR4yVA+XVVy|4Xg2GdG#gZ|1n1j4>(~#@ zRmhw7YliOoY7J;#uC5)wVjm8^&|-ku{77)av#5p!H5Tazw6~`-?ynEX>9#OVlA^$h z>sh8|-80!BIK}y}DTzIQ%X=oUIXU=CF7mXi>v+rHl)>!W(^yFyt|_E{biL*B$PzNz zvE~@_V4Yn~z{yHQm%7ol8ZGOmQ*}?VLAIFqPs0Tm*U(hW|Hj^X2Q|6A>%Xq$LZlh# zoh(HJLX)O|G1Tr$`?>Gy`drT5xlG8@t0bp>@rZ)PatCD4 z*rffoGeKyEq!mFe3NSU6YiS6MnFkQ_-R!Sq)`8xM;Q12C31emTEAu#~;PMSw73In3 zkeEy6At2k?<~H(@{dBZ)kd8XC!1`5Zd(xUyw%v@%m}dUar+%BTc!K=Uxx9PMMyi?` z9aH6U4o#S|(^c!{6>3iAU&V{mv^3BDWgacuWMB|%fmRmCOa3aDZo7o znu`2}llM5Z*n1-)rGJO&yFA!?a43&J3y+iB2r=m3fCp)gDHVCFN#dANOU1iDa zvPDnn+}3LjIYIM@jh^~uoT)pE1Rj*nFK*br*YdHUvR03mb++DD8xtofIOifgr=pqG zgOHp*t8H?~au-G+HnjoPGuE^PtE)W*x0;29iZ-nz^B~cF<^-h7`ZU?ZtiIfoFs#r> zly^-uH8wTZ#h6r%C_qw#=Yi@dc^44S1s5U!7ud@nz8X;e8!Os_FSCCne}Dfm(0gt- z#5}5{e(HOsxlaLacXF6G5E#vPglxPKLt2n2++KwdfcJ*)Ay@H8wo(K zRWg}q7M{Cy;TBaqw_?V{?}78Crj@u)fa##QxX+5|pp`yq$lmhof|aFXWJqK{czEFb z&`X4m72EH9P#@@LWM$@0UYT?Z4ganB6%A@ogV1({3@WAlwIL_&BGg~uZ(?JZz#cQm(O`X{MpB%nU=Nor^R7+92JuO)Q)v(QJmG}@v#ho?|H{s@Y!!v>?KaHh*%Au{XQ(J!)v zf(!QC_5)KGQ=vDq#$5^!9i3U!jXzpDZV>`3ROU)sO27*in^I*qWR%k6-pu-S)p7HR zb#%!|GAJ&0MOxv>k3T;(8@X0@oTNjdRTKy|O&FHcna>W*LLJfT=FMG2)lNkL!u1(N zq%mDX>&h%xTH`qYTJ@g2lmsL>T*4#R#CRT@%%uQI#2KBY;-fTQ#VN|}N4)oJXn@CU zz?g0|#psxczGVLOrU$vUmP~9far0nhzI}wSwyij2mh<40L#~=L!TM6UaMZHqn8Rd( zs-|_t3z5y^ht+wSQ;#>znyanyAYooZ1XLq{j&sl5usN3&@zhbG`!N8& z;Xp6>BTG#(4a<&45iduVLyu$d$Kq6jR5aK)*qNrMK>7ZPOZ<-}_J@VmWFWBeRN)WH z2dJsZXxl3l?G1+1jOD!L`k;hxJ=sJLjBAaJNwRN2eI80?@B6ZQ>AQ~H`{i5L2&0bA zBMDK_hX|$WYLH+$a>e$2fA;KVtf$l3UfesEPis+K#IJ`hy^Hu;Kbv3=D0WlbA~^qf z+$q+03QC=dPAwdGh!coCUkpfMFuq4Q4rNS`z=jOw;dg-Zj~~mBBvO z_r|b^qwP^nMzM9+T4R%mJUh$d2cY0V_K9K!o^NC&XN!^Nlfh0-|{pk9B$k(>Q^L6`{Ex zeSi|R|1-UoC}(C9k)eFwHB);$my(1g2Sz_!|(Wk6ktEO=OiVkwAAZl68kdC7Z!yRSPUYe&J(F$@D1-aZM7fJ|A}@d#gepnIkd2Pox6MUuU38xc{r0`>j_=;suG835mGa1w^5MPe;18M{$aKKAM)ww#u9*r8q5Mt`+Lzq zt~tLN{GOWqKflx&0|18M!|*STCHRd{kjh8UPjy4|fikc;@&63h+|HB!qH^jG@E!O5 z((~yB&-U*l4XR8>KDl(EBb)pC1zrw56~A`|rwQ2W8V}svckp2RpyvzxhiraLSm3T~ zGJ4zU)89vaTm`;gXTneTOv#45{r3S1#DV{RdcusOd?MZ1t3*ugXH?=?LA6Kw)49DV z3#CaJx6FBH&4BhDj=g9a$6m72xxD`iV96q&T2v~6CTg5BJuXtonnT4`V4Na_Ty){B zp=Je>w8-+5a+@xNv}ppWC}_H{Ys)OsIU{fCE@mS;65K@WuRo$x9q#gW!6JKLe~#Zbt#Urph|-%UT=?KiQGj3RVC6$dCfN z13stnJHSI*4F}#1P(U}X2ipCI5>`40XU{$aaA1NRc$y6lfCQIK|9wPf95@nfCw1y( z?| zaAEl~rthV@UeiNEe)AXa4GxhyKQ~bk=0%s%uLvHP*WR%ksvwxI%B_z%Y!`8&S2QoY z&Mmfj|KNT5yeLtNC`T>vESOG^a7sAmajReRcDdZNwOYW9ysUJ-1dwikpBSveGp2t0 zeI(ocqRV0VGyKF|Ltrc&jNc9bbd>>1-}QR&Of?YS{Zsey-T+^04p{qoZ@~ShVsZ{H zOYXt}ei#b_w0O`z?eJd!f$=>7pu^M5>1bCfdXf7gx8i;7i;xx|U~=PqOv~==FKJFT z`ZoG$P8rv0Up{?hts`OkM}8`JD11PH7NC`jh*C6 zTe)-jlUDgd^Cxz^?WJt$HS^LR$$hZA9kgH@Wcc~Q+>d{G1jWg7PP|}c%6#3SmV$VZ z{-L!PSa?Ip4izue30@xmbyNTSplRDQJ-1<}5Ka%7tjsJDqT*z4S{bf_2xz<>>Jn zSX_v=H&fUoIhB&qJBW)Up+Tv=2%(fRK{ZRni5eRWX~-kBvK;&;{+iDDX~bbQpa>5+ zKQ#3B5r^ic!!p=WgiI-E!!T$e?-^VIdhS~YzS=uTp|kZz{p+TC7qY8^V7Q@eos}U2 z;5T6IUtQ0A4{MK8*QGfV%oA_t7!Teu&r@)%Vv<%pt@I#?SNzt^i%-}Y&>_QO4pO8U z*TW1Sx#2?aqh$zkz@ZDZt8UhomPNK{R(Eb%Q8zxn;#|At7P9bR7h)57-^S5>f1a(# zO#VXTyx+^`&iZ56*~{lE7KONYjvjp<)O+aFFM|g2keqZDtay1#g1RwHRT1R|^)#T< zp_fDcAp;-vINU9~2J?p1jy27YoZkX4B1%;dSJs`+>k5b}5_!+|!8vUGO zdRo+Z>UB<$WrnA{$3&2{;a~2q>S(a2n%Ud^pFV&)em1IBfKEkCi?)8R%`NBf6Kp-#pButg-!us|I2I$dBWVq>!Z||lyzV-3X zPv8)ocoyPuxBLLh81RSv##QS+JG^{R2r9s&i21(wh#uf@Tl))tFzEK$S+7Q3)sA%s z0xyK&S9Y7KB;-yu+xr`hS;Eo{`ePV(64XHzgw`ARJX@1a zQtBtz#hGEV7aWgcZ*DSvqym7RlsGj$ZGv}|kg1iENgSW~dAGM~QUTOw(bc9nXtY^Ms{u z`cJyss%~vnAkMI8TzWXWXk$EieRXDIDkI#pPKUYn3_59l9Z1`pr$H}OKZq>Jp#`5% zrA~~l6fzCcJUkwFrPa@{jfnACDj6o(XXyb_r{t%HHRmYF!?31}Lp0b$UMWE10m_-y z@wRZcC)5b^4!#%8xsdh!B8T0rqett8amxVhV8!beb_g+}`}fgGE`kPb#wP&TZ@ioA z^O@C)-0I~%_XXXCDi3O*RSjjMqcuHBkAXZ5{95 z*i%FG>9R0+>L=#`mn4;p{EI?;SlnF617WGK`b22dwzn}%sc)=kIj!F%Usa#JTr*E+ zRm~m#i=F)@^xgcjz&sT#ehd7|_i-TyU^)}57Y`^jg>e@-TC6|z{yw784394rglcgV z83l>a-^76w`u)WQ0(N?UuQ$tNtEX0QqoWx$c$pT8Sm~qhdIFpCD6h*uwHRBmw(Nn_ zsIGfnZ1<$N)0i0CtHFDWak-D!p#d6-WgTK9bc_@Y)c^Eu0ZxMcWo^=Z@kywA`PiM1 zGSAh*(K?;LmHWE7B`2ajugUHDdV`by3ZBjLwmMy@WlCM$9+5ril%*waaxL6sMA@eO z{P}!|77jc?&oP(3_V{;BD1eE=GBmvWfNQSV!XaPWzp*`l`=>`K|Gn`X5O zs{q7MWq+2wNZxzV9(M~!wC(ZYzN^Ms1&<4JwE$s%B3}ioWzT)UK45;M4eP{AQ(-6A z&53*xc{I>3oCQ4b1O2G3)drSNESdvrC1V@u-KXc8#R9#$@6M<;*lH=lGV+t)V#PPx z^NnpPeSAHo40uHG6uN7|sr-N@ja6jz^!+S9CB416YaGL(b8YWz$j6=NGy9dNJL^q! zahm|9(7=xJ%j1kw&!_2YZMAWJNi;vr?TG>H*J620&3Vt8K2Volm*JY__HYw`%t3wF z>E>Wb3NKoZ>SGNv!Iliu#0M&QfSYJeKpdmQKKMNYiXB80nK>aGsm}_ zgL@8c0*G-xX{A>Ar`N;p$3!g(8WQrD{uc7d6lW~v=8!z$1}6`BdtMr`De_r0eqN4;C?luKisv_t5L#8Ol zSKk(0q`Y8%z0@JmA2A^Kl({2p!uw4PeU6e^uKja4?C&GKC9;x9Zy@*Geyw;_{VsP$ zX&g*Y`gYWIL)TMR@gzGJn=eru{m7Z(esNeuL_6<_-}cBQ;U;XXJn#nQny@}!=ODwQ z!=+%alivXDtbG1EPd>0?3q$QmIHw%u{FnCv^!b$TU*pD>l%Vh$?CS8|GtPxClWa)` z&eE5|XpSn&H<5yK;req_?K$p`j9+)%b)DhMapRZ0drm@yqYh8+{J|;ynjTc30?FZ= z&(~A$M-sD$kH_?}YF=h6(Q)0#e05pv*8;_^R5xmXWU=?{pjElsCC$R)f>29Kg{W{t zs-FfUY%CBt$04TKo#)J->0qinD&~SDr6)n?8vOc#TA$rhc4ZzOdTa zV)hT#e1b9h7c5X}FM!$h*#bfL3f*cLhq3hTOY==)u!{%7B%HoK1yEk?GuX8qXF3K_ zo4agmi*43^uGV=EB-PyX5Ot8~4t9$UhpMJA-P6cc(HmCA+X)l>Cmu)q_IjJITVCK_&+UXcS`{n7CBs1CG$Hd&4Pdlg_4BUZ!+aSRVti9g zpy9xINuS{Ltdg9sI<&-}s|F!rfw@@eSYTOOibBlsii%^WcxTzIz;; zBcBF%^Y96aF!qoBmAUAeE`$wdul2xsb3vUR63cvV&lK|l2(ExoClP*(C(l5q`l`I3 zE_}y}cWOSkSGj>6N5*&*waTZCG?)+zSsE+cTDbViu0geUF$Djv{VP(N0!ohdPjMUgMH**`)OpA8F zeo(`16|4u#;Mq#BxRP1#96$opm#&}8b6hyo+Y8_ZE`t>?r~6q7T`hfKyWf({Dg_%%Q~++S^K{03x)rbKbz z?*_vTJ)B66(g@vR_ncKvBj&@bqjMuB<$})wpXW!SPt)A^Q>-rqsl>#-S%R}ZHQ@UW z^7#!HiiJQT*LRhh?;mCBF^EYzJj^mW4gRXTlmSlR zpFGUOd2y2I@K=lEWpEZuWug;6sa!dH+4&2wvorZ!b?b%SvcJZi#|GMRS|3Hf+r1PD zY<6jJr>tu?6fD;{vPrvoLJQb}-u;#*+!Y_`R~Z2)Bva|VWODRQobo`cxyP6XW7`|% zhX6lJs9BZf7zLC)tycYayFflU|cjw)+7l5Wv0N`W=tvs`PFV%MaQYLPKbk+%^NvqNRRgrMCBVbiZ*X~(0< zWodnGe0!|xV@W1{pb|EPQ#%{&jh z1)0%*){z@Nd&}=LbA75$ySq+Ak8*LAoI!e=@0U*TlFg_af2Svg6FPixCkh=87W>LS zwk}(u$(>|h+ei_^@k%yMqa zG#yChG*US|Ro?i(6nBA4ui1?IofksUt+dW0C6D~x*m+wYxg96|Cg54s@X7N0o45-~ zH3t?ZB?=~gO^yWiMMv!K8fvTP#6lWI^rga^4HY748^Gq=93B1)AuCxdpq^T%JGR4f z^U=7r;oSG>e$NbMiiwIW@t%_u$!AtAldgrg#pq*$-aYOI#9mOh6N!j}G7gC5E5P02 z!~?qH15++y0A|8{0My`1hb7Pub~Zyc5qFt021vD7qlh=~W2|hdBxbKvMz32Hn{3Z@ zXXuGzhv^-l#5j3wI!(o3z7~2Wl!qj9%fH0zegs~x4=^rga6CZLo7Lynpk&!E&PqkP z^f|bORadM)pLQWqv(&{Mn$#RO<@065^OqYUdl?viwUlAa>k%V?N`_pMFuIb1Pcog! zjr@J=71|H!3xf@HECQr7_&}YnXOuWb=yHzIi=6<)z>p4 zJ0I?#71}zY452E9pu8#Sjhq@6`4qa#8wN-I0gme0V9WvhM~!xIV1b9j2Bkn;@BRC8 z5=I-<_hF#-!^s+-X2Ok0*Mf#h{2ZZWh2u~FM(u+*>Mng)>QH&vL7zI=2kmyPSq^{8 z>-EKH%agCME{MO zi@U7ecWer#_8FBv&V0@jC{4C!6kGHw^dW~N4=x+OZ1 zgaDh%!;aPBOfdq`KimLA8Vmn>ICgxI2sQy=&ICyln;P zc6mesFQGwkZ~i`VOdElKhsPD%W zvA%k#Xh{INkq!HW8_3?H9yrbNbo>}d4zYJBvqY6!gRjJv+R4C_vcJeq@dey}dnLMb zp!iGP6wBMkjH{$jc1VOsYx(P&RNt@eXL7LBdEsL%YR+#adROu^t_RQWf5I&5%Pq8J zZ)w{f?Gfy|k5pQy!(=dvj+x1&y%XJJnAX4bmVGrGv0&o8nlCG6p|@Wr>}{Ei{V+tf zJFg->EREBZ{KZE6O@A}~1AIXiSf=A)+MeFr&Ay&rzQcdPhSHYUcJN0%Cjs~P51Knz zL3JV;FS+gxeg!zqjcGCcBDvOrY0B4ul%5;#M{}jpJXHqeWZak_vxjC1IPl)RW+L7!rP(gy z)288D#q7`lU-beTPHSqZ(>yM)8jGff1$CcH|AW(r{jv98I!*a2)#qMQ62KjiIo1Ms3JAsn;9t_X)$#-lMnvsz z>&x3;lp;`_@B-J7b8=t8O>i+qP>Q&%ha2b0M?ZQAGRQ zvY{S{b;`|nC+&N&_Oudba-_j^`-|JrZ|DWv-crH3?qggya3qB%bRek82*<;6z8Owv zHi|4l?*SCe7}mHLSCCdJ!b31Y5}P}K2Zat(%YWZb0;d}X1MCqj5@*QtxoP!y$Bvzx zEF*q1PMFM=zo~jOZCGE+fPP&@GP%Cp!4Dw~wSweh3jM;lMc$EXjh!!GU}fx_==!ca^ak#{bt|Np&@`x-fVU&P6Xep4XAU` zsf&_q0wp8v5++7qE!9};;$GO4k%&$Vwp-txr3ny|mBIZnbMZt>A?$V8hFN8Hw9Y_^ zahD6d^d={O!t9Ei|I5cZT$Ih_xk*q?az<5jD86~OQGL$CWlG*!?1MgptV5S0c|hFC zq-f4qW4^B51Bn*%dh2(Xl*>&LE;wB)ZE!tVz%GhN&C$&1P>VXX69)63z79ggEy7i}#z4Dzg^es7@VE z?LKz+sthE1V|}z>^f#*HvBd5T;6WAKP-f^+VBRUkI~C04 zqXA1+U#n0Vwr=}i8}_>V5m{;Nz;Zd*QIOwwt??~GP1}6$ew;)U5vE+ZoSNkYeJ$=# z1Y|?W=CBSceNcqk_S){^)lh3&1^IrNk`qZPbuJ0y6k^WJcOf`)Vmwjw?gayKHp#-Y z?=k~&{g%JMx4NsOBtpJ_#QsT2!L{|PS&C=#_0;HbbGQh$?3ZkI_s(8t2m8mDOs1GQ z_+9W`64#&onx=3sB~F(=A$u2QHW8cio~w)b3n&{()|dYQPv|LCl@!~BOINb zQFtew6`EBl2F$bLTN*b}1?fC@c1|B(p5vH=^8q5MHx%S^=<_Pt(|qMkv-&CHk0<7l zbL6kz>GPpR_MwjP$SFPe`5?BZJxa+G8V`^)!Zn$n{i^)|#+w_GnK&BOo__*MfZB1Q zIVNxtlaK_=$ZuIFiw=t=juKLfV_b;tN)C6b1K%qB5KK&R_c~UOY>!y-OUR8BHZ>S- zc>4uZPo1U)Y#R34N@w(4t6~HuB#9`d4>GNp8<5Gv!5Nr1?=%<825t;{tq%_7Pb`5t zm4jK}w~7NmSXJ6(CSHj5ABSaef}0Do*;|S%0j?hFy^iAm`dE{WNMDTN@I5k(bp;TB zR=q=Q79MNHvm0$^qm>>1nC=m)hQH!0c@H*lMmGTO5YDnBuuZtBzMkwZCi?#Dph3p@ zW0~Ilb$({Udiiz@w&I1Ib4dSG4`Cy=XB40_+J)-!=7GBwA>Yb5BU0P`wi~R@&joxS$bR{Q4p)g&jhhBH zi{gdiG+%*iGcLuP=_sT&ZuwT>XRL%q5)sGkW;sE4eeZIt$b0@XN z1AEVgV?0g=3p)y??k@Ili{-ZxEWba$b@yX^UL;PE)s zgWu!k3YW5A^0$^`jh?~uyCXy=BF!5Tm`G z2WHcMZ~~JRE`>Ld5l$VmMzLZD8ftCLC)T4=P3g|Xga(t8b|yFQ{OAtkEmCtjKhW`f zZ@^nkKUlNP)tX0{CJZH_vvALxs?SuOhLzaN_Ny=SmG6f8`h+dDk{jWJ+O7<%s7S4RDOSj1W)M-vVKd8mOJ1RGYxb_O$9cxe&6HkrR;daFIP^O5 zJh;v!$^ZvxvmdU&3uhykS$WI{7d*J3b%PkD-hvjRi7(YT`^`91((4`0mYc`GXT=H5 z)y07iA1_l;0b5xO7#8JC_0M+p9!9%SYk0Y@Jpr=v(+aLd$*^gpWRX((XDN?IYLFgp zS!>z7j18CJjd{Aiess7#6~JU|T;sS5%nZb~-8nOixha?NAWnWb+)+H0Srk|wPMxAT zQ=T$TSr`*-1w{q-qP0OMZ|av|(0YVNMDuvEyB>L$*DZ%K3H@*p|F(dEL;nK%b&2Q5 zjvjxwOO9o=eu*byvzH5!qDob;7nnaX`ARt4H1u)}xAqoZGER*b!Odhirl0_z*z?Yd z!OMD5San7+6(o$)<hpUu5ns`@oesykFQ}3o#h&{$V867=JBnwPBWI~rNf%_zDS5VrZ>E_0&;NLZGsfZA z9zmfd6ldQB&qVFjq(HQ+#zYcW)=?;}7a{#*_!q#70C=yt&s+)F9v^g+tPerJKGQg! zfU{-Pid9dd_*^FO!y;t9r&A3}i#_s)a;w&~Ydmf@sP`VX9-*xMe?$%i6 zpO0NigPobc!5PD`8ZZd<>=Mgpr=sUXCxYR`A}b=N@g>4L_*tGeVQcM$gUMfEH`-jp zG7|K6gZ(y#FA|HPbH#SU7e;C<7EET}%u^@H=1uj$80Pb;l%c$K)Pwt+^T%e_T?RF4 zWmMB&>8g<*7JG}Hn+?0KqrI2Br-OVrWbhM7NFf&cxL2*%&XI6BXh zt8)Oy%J#yW5E%t~2!Lz>Klyn&Zn#^D-TDYI*!y4RNX4vC#~PbDvq8_pS~!9|-&Qxw!6UYqBe zVMX?mfoLUJN2yYAYz|^F>JY)`CX=`zI$QB$pv9}^2N(Lx&`EzEG2D3dp;h)FNz-*? za~b2%;zqEQ+}bd?7S`C`*`KM9*APt*y$h3O*OxtWMV2LCtsSKwk6!9jO#*Ui3j9fa zWrx|K+MkDwif!5;ZQe!=67*|fxvyrOjkae69DjM{x9P7h#cB_K=51GRg8ow7kPjm^ z^6UU%fF4h!Y4)EJyaiwUy^kUboz@N7aQ^#9DA(Wp;6fi-00UE*$JsMK7Roe}1~2U0 z%wv&{Z62ULs!dQ}OP?_N#UDq>U(WOOeZKo;rkCwzSjp7-Cjqd9@_6#)S$ZeZdXjQ^ zTsg%9XABi7PbMXjl#r;lD%XC5yj7+LL*r+(`s1iok{{=4HNWi3nv1Lr*(4TvhFKUn zm31r^7%VESv%-{`G5DKIRj7>Wfm`#H<@H>5r=kB7sCfUCgZjXW0i@UK14K3cSnD2e z3Z1n$z&iaue9b)@%}4wUJWSmgKeT5qzc2gy$eGn(Kp)Tz20~p=sKK0HcE$I>$xHuJ z>*xeDVvYfMt)Uz}eqVMXe7^-Bw80Nu{`OPLF!bOF@PFPB<-cTa@~?a-VN&g|8Gwo+9qzO8$1;a1eHxI`wlH08llC46lQZTIGthZ zmdTV?cvxJt`2E&LMz&Llhe*wRcM+-e7LW4iA3#@z(sw`pjT6OD>?uleVqI?GH+KfjjRtx~7Ha2>YX4Z3;7N}?q5}&uW1%tH9AeUx;s*; zhC-@BqA^3$M3c5b&9mtR>9eO43`@lv&hyy z&!^t$G?vK>EfYEB^=<2ZsEgx)qDX1e{WF*RTxj0Pkh)A?2+gIoM*AYcMZiYd?KDza zZX#->P_ufh(KYXE`$wxk%SWaz5LqQ=&1xwGs!4T|+GUnMssz@w4mHA@N$gz~e_>Gv;Ceex8!N*udD+Ll5bU1*79ztK4~B++?bM1dwh2zTzTp&xB-J*U zPDNwPyNsPh3|0Xu0@-ZB*?KJRifbm*q!mbi-AKzb`<4{=Ma!m1(~Un{@Tvw1JuJpf zlMV|8O|Oy;IwsTa6dk^+8n$4Y^~C){2A!uaI3_lKlf=U5Fr^7zWTkhoukc*+5@=(= zDrZ?tWop|Vw&})hDX&6#z2nB)we+NUDW)Hu4Swwrdiv>twcCvwBK%VU@L=cUeL5)A zMk)wdepuK=*0_Fp%{*EYu%bs&r5Qz^hpZt_9Ii%K*8^d*uU+0w_u*>{_q#Cj1goCC zimpu5GmOS{%yi8^e%noAAslRs>U%aiesbu%f_Yvjib4oAt^cWvt2z(#L10>?|!w z2j?PHGr9fdGEEo2D3cN3sF~{xJd#G$v10}aPoHA&=c5nBco(?(ob+Y2MIw>+JJ*q; z$0GAnL!`ep2C$djlxT297oP+gc7}c2xVtDf)ofj>LwIT`q51WxMg{hx)3DYrWV8tB zDsd~AqikkG8Qy}dG!PvN=U3KBZj{Fc2QMys@wcT9&2Gd(l=PjOy-Z`xfKVgX6?=8v zD*+B}_7xv%Us!+5UVGY8Mmfrp=k{_g(ow`maf&z%ZXQRZe_yS6ceR-T+;CaCiZ*~V z2qY}NU+*ZMBQduGZD)*QMM5q*y>6QRMtt3vre*uSCe|w{>wbA=4!b+;&j!a-O>M)y zyM53ONc>(yE(z7TSI`(YrJqY$@a6fdD^>u5+mz;%y>BA?8n^wSA_g#CS#a6gi2Anm z`)AIYosBz-wS6a$>D5@>Us879YlDb)8sG{ zX-+%?i8XDz8R1mgNOHivYHC*(^2&D#ndkURCWd9HCk8WDoK@zEf>)86X1PDt92YLT z4!v9fVH_$QV}RwQ7Cf)2Uw(6mRc2Cy$cpJeT^1vy`@Y10hu8Gm}xxGI^RO9C1gV|k7`s3LbljRVY&V1kK6pan&->&Bp9I^t<8l7^&)5DUGnrfP7bAm=I^Q-uG zH-B9JI`x&hvD&{s#~RunVg=g{Uu?V4($Un>`lPI_rM>mJ^DW)q^Hem;@+7WQxFL`M zzkB1fGM43ODgGu7kgG)zbd4bc_l$D2=f)a?M$`6{#d8Uc^!2Ht^%*9~h2-Fzus&`a zR-`U7Q*JV><(%*ZkVXYP$SK3`+wkrow@Pe+o>r7z`fn!gxnU$c?M z--A3!PY8<5vOy^z=tGU=F5)NTND!$S1jwy3(%L2yvQt@2O|+?jge78}gDNmXHW8IG zGu}SqYy6(rO2G8C)p@~h`C|5o;0Y`oIcE$8VdAu2AZGqibx_u2T4WbmlKtwsI@a$M z_7?xUG(bA#4G?3_*L^aX5VP1v9afrgd7Yml!C=mf}CKO$X zRkSGRTQr`*=`o9g(G6^T65~M*5HWTk2ATJ&O$13Omdr4W`Ev(=v{H+27LIvM5klwc2w$uvIR@;pyZ7Bc^WV37oIt5Glx zmmu02tc&4v~j^y~mhXE%MK6AvvWx*ErSLgx`B%>%z9`A%u#>{ngWq&xGm_xoZH$5vaLXNQiN@mfeyVtK_1*oUIVmq}Daa z!Id;DmQD6GhFF!CL&Bn7J=YvFE{8ZLgsM527>^Xf3kwe?>Pr79YvDjy3jhof9MIeh z^sWQ&{sxNN-azJqxX-|HaI&0F1P&W%KtC}B-*^4*Bh~l*K4Ji@AtG>*%^&93|NURE z;H%0Wy7c@k0Djn$i$-@kUc4N7T{Y|dkNk1f=h|C0@8VlN4m{nlP%S!h>(4uHgwH{G zSdwR6E}ewmN845IN1E)8S-=Twd;0;B~o45XbEE4>gJa=jCkw0r(8fU;Rp}?AD zQdy2EF}?+4#Gl-pK3~Zh-S0aU!L6CMI@S`S?PYzM(rnXh@8x<1xve_MWtmSJmd72k z3R2!VCh$PT;a~4R25?0b)g+ZlJ)ztIG3bLUtZ<|HhW$?cXBlTz0EpgXZl0aJ+Funj zMNiZDvSWtcCoVq?gkFAr7_#zH<`pbwtZYO3sik@NXNgi^p1#!f(h1&GvXYXt z-Cal>C?V{AoR5uTzHuXTSdrd_>(MFGM2SozB=I{p2a(d#qkL%8sApgZp z^p%sds`F2;c@j1zqBHb)aJ#=dq;Q%0UMzpb2Myft*^oXgr%#G2*#Z@p%Y zkNMgFZR!DIvkM@?&^j(;ez%9yG+B;P+#0$&=@^lL7hKAUg5MJt2;sg^6Jax!8|X6PP|Tqw&HUM#Im1LoM31NRMkh0355A6-Uy$r_+B^ z&eMtF0y-V@ZDnn>Myi&BUHH?41S(4dp*OH>0BDNq zvAkiyFNbx)WSeM=e-PDG>Ffuua0f~Q%$RrSu&7&Pqr{M_93IMvr}rrGjz&i^DH1&7 zG&GP=Y{)zV7dMJs0yL~LlYEH}I4F>2)XdC0%~xC!Mq&3u0o21PSsToLPJ9@mBkFsy z?GOkab{W%RYOXkuvdc31ufCZan7F#1Y15Wr3DtqTjcHbQsDvMd%wi%|O#_tf{7Mk& z4AK6BZ4@q7h(@LiYcUFR{me{6ZF{E&TzaqjSf=Nzv`CmNK*&IFIPGXEDLE%t;Q36i zzp9f}rp?J3w3zVUN0jH+zYU;)`BKC*&gH-pr^_`cRm5Ea#_tZc+2S93fLGJfBiJdf z7i;O!cd*8#aP9Gb}L{kBGOp?m!i5{lL6wZ-=^7Z9iY2e7b2(JCyzkFqeF@49_ z!LHGidb43Dm|5m)qV(-N;R(Y~VItvNws9Y8@u*ND-DIXj^+-e8UydU2earP+oQk>( zi9x!qmPx->&n+o@e&T#l@d+H1GkmtZ52Tl9eTZ3+jtKJPHAH<_r-`JLfHlaD;M87b zgK@+6uo}r!tb6jCo5o?K&yf4EocTS}VNuhP6n_pa(k)8tUjpF}hdED|`|io2C7}0! zu5p|Ux0UfguwMZbj|(==@Kxlxvr7Q=N^(k*9@oaGRC3*|prA)W8)sR$uxX~>Hf3yL z^gi?Iuwl{JV5Q1#1?lBSV>>~fDo6Fn$1RTUcsuAY&OP&X$+Tvj6H&}aV7EaXE`pMK zS>Zt?!uh8?KDdd1QXw}?79yfdfk0I4!t9gKZfW&hVlHx!6u3>FjwFiep2p%{Hbdjo z1(W*b1}3Ss4r)wa@GsA1sd0Yp8+v_u??8-JnvXgFHYb0FXT#;TU=qAoZaX{sDn4mZ zpKX~>0wC8Gz3KiT3{YCBBF`93{U*5qjA?%KiMd>z(b1tqZBib0OW1z`ZXs zZgWp^`#ML($4e-W_4y#?Ut;8dv+SFP_fyzz1C0ydD|N zA60*7YdGW!BZYnSGj&^wx;0%UnoqEq&a-)vVfdjWDK?=7ViJVpM6shHKG;LrM#kzC zO5Br4yBQY;Y{efBxX|K!-0N^)t};h(xw}g}v0G97F$HJ6y52IU08ZPfz(5SqwS48ep}amziX zqPARYUUv_9d{KhTltF!EjMuL*pUsv-zL&e@qn#7^BRe59<|MCe|^PaFDA6Z7IUwu#$HWtG;O^DZ~w_Z}dBZfGR8) zo&7QJ5bjqh!<}dL48*>Efar}W?faHkqRSPk#5e;W;75lgyXbf)>^)X~5sx)@pH-zfST z0AC~q1-=C1^s_F0Gv zO_H>`Rz1AQb7jI$oNLR{=(GhBT@NQhYK^AG1S#~<=EeiWo*TE-AHYB^IW&v1N=5)cLBP5UKbBnqrOgEt)ngi8Ckj+%>0}3qZqf! zDih{ml4tHJc4MZ&uskITq&MJ?6uMTAt+fQ_Ypv@E#r*~N7jT#p#rFu@K$@BFi)ySb zP33&cJT#Q!&Qzy`p0Iq0U2>a?3jM9Oikrhy&%){axvrwdDIQO5e%*7NtL`>)yEBmW z0A$y}(M|pn&AkiXvY2$2O)S@>wy1+_q8g;w&8OU&%_4|toda*$Ypg$P!U2=b;u%gsVw5uYkEv+K~ zKm5BhU5u?MYTu?ct$p7$WLm${+G5{HQ9DIZQ6baX_nF!i8P$j_LJ6%BB?(iiYFBNM zsGT}#Nl%H)edd00Ke%77|D*pSygU=BUF!8_YFEdh>PTMIzj0Dnl-MEkBeXb;nju|BvC< zZZQM?pWDc)lQeQh%dAwZ7+>q<>Ll~;`da&|(5ly|)cMx*mJ+=lU6PC>q|lc-U0*bE zOecHQ8Jhg)wRL70=W-1C@(N=K@NEZh=nnM&ecDt!{P<`R{OPTVq)&ye-tQ+ z;q`#|#DJm!3-TSSD6tw@>kk^gXP^q31=Ky!GCo%5t^MfdDt}U4tF+6jYy#kB^87{v z!$Q8jmn0qPZob94kLaY`u8dmEIf%+doZ>2Agk~^^r<`k3de%Wu8}Tm3k70`%tT6;M zX*gc6j%sL9-~8lqJ7YXu4w&a9ncusU253=;o~5SpUP~T ze=!T$tnF#j)M3uY;9Q4-=*jEC9*G!$Xk1m1=bH0HY0gk80}l@p35 zZ*Z#COC*iP*kG0fXEgh!dpfiDVV>v+^IDU?^1_-Va^kfPstq**J*zg6rP0N1#dA~Q zh-W;*M@V6`^neo@NhJ(p&;7>x6obfQ;s(7)S)P0v58+Pni7dlcu8YQxp^xIs{+KS+ zEEsY|xiQyrm-BV6P7q1)>Oo%y-wu5ZQP`eGuu1G*%_C7YTTIm6Cia>AfU|RZNxSdA zCyq?jE_qngT*mv}uy2@Fd4BV${)1s7##$R1Y7+5Q7x-;fu3JNeVyyU}F0<@X^UToY z8nJ3cWu}NP-R4IPg-AZm#)g`j)4t1zPQgVOyZ+1%jInY0EK4q%g<9s4fkkYF2{wBN zBTYoFQJJ$PD<8(wd&)96x=h<^riS#xQrrrE14fo@>%T|mxzYA6ew1kD8&K91-_(0g z(2?q|Rc>?LGW+kwcl4DFxGN98=N(LEyTltkUj<%^JNnw^MTi!<^;P*|ZWS*Wn=LP8 z)^iI~(C%uN6>uT~d{ylo)ZzDwozXFPSNBFINB4NUJIxQ%h+j*R9aj1wJHuaKIHOP$ z>>rZjnNZWio|@nAoXc97;woV-vE=$f8Hn>+_g(WDg;@qrS>t#?e4*$zil1ZM6kd6~ zFq5LZQK?Y}YP) zMQu_!p<=L#7+1%r`4RRyV>kBL*6CZ_)r9XlNKj5?KWsWLfe|B&5Y|Cr!NlyLqW z?}ynA{E;r8$0~WoiHBb@L7Pm`MtObpE?8=L&+|<-Z8n9K8kli~p?%Lq@e*I#d z4fj0_EIuha2aYoBN*M3Wh7A=z1(n;^rIlO%)Q`08qMNRS$UB?Z+7;iY(`L7i4oovV)GB^^&&#Jt4o%6$PT`sC+Z6cXv`` zINlSzh^HUJdNTSLs@Y~gVWffaOucGDt8N?}iiTyAxR;?SK3`b?U&3x|S@aAoos*jB zA7ABMEnACg^4I!W99jsL}>lSfU@I z{)mDj8CV%mkTdx1HE8u$tCZ09GSPh$RQl6>howBo(9@YJAQ?YENh-4|9 z^>>YMPkh^tNE33b)P8@$(TEYBv#RsZOgbZ-V9~NYQWZKzs!`p-38c_bote4*{XJ7~ zamKc+;Z5NCAW}4JVLjJO74s{gn6XdfS?NkmVj|PZ76{pxsFiV8h*S)V^4L$!GZ6m; ze|kr1`YXv~_4#k`zm4ggUeJwTM#(XXzN-aBBG)*fYix%XKeM{9c^T;mrV~hHr(w!uf4x@ zi;#nyw-o1P;2m7^{-(H+dZ2An|2$$voQ}x%l>@}{doLt05WJhHPQ%QUlN_fP6jnc# zbQ;|><%1NOpXdAzj8m%-L-$9#IsaopmMMh#YYC`cqr)oh_zBqkjF)oX(H-!2Rp4yDUbl~~g)0!;u-A>II ze_&W0DJ;7UjHlIHfV8!%2)eXp)&g_^qnyAfv!V+3`(Urk41n=JdZ8{Ys62%Xd}FNP z0ki$X7ZA2T zKK6D^HW$enZ8V8&m|_xVQQ26kp7)+BF#n_odB-alVQ zEswaPY0%I_H*`F&^&{o-Q&A%;e9Cn`dq~FDT)BVjGlRWNdf&ldKv^D=R7ig(GM}UP zH!5Xl3WET6QaRXV%~Krbcb$6+FJD36?^US$9cxAeP{W5&+3@(~tj7(so{_s}Kq$8}WO0?*DR;G`uh4nl56C9w!Y6fIUE)SBSMHUqHv6e)E7 zfTv<+uR`GRr<06NizIf+ z5>@WfXc$8a{n2n%+c~C6y*#GawB!=+6ob>+Wsu>Q*DPbR;aM-1n4;dRZs;cBs#ipv zY}s;h+-jy8XGja>QJL%MgDqmAe||ntb#8RTORhYxDOC{qYw!`(f#fkY!~kZ(lWtBB zWb_jKa@nG&4uo9z0!5lT4izhEqe(+tA<*Y(XpKfMmSj zwi$ip>f}B|l1HY-FUf`X6w+a7Y+uQ)3GT%WsqSp9d>B+3eSN&(A|yVkB4tAk)%Pi9 z%NT0}W(mu5JM_>jm;EWgeNs&mA0%<6;lD%FsOp}g8uhh*$O0uWwc5nJmy)|q_P!^E z4|8T2-H7#9vLhO~5G3uCCr3JNICzQsCAm{x_xyo@Vh|6ho?T%9pR@-fAQT;d{5vqCGGi1(WocdQnLJL?oSaT-oEZS+v>?hV-l6jWo{swXdiaRINcV1Fw7i6aDBGZ5LH+}c29A=KLD32dQB zSB1f^@*<(S=*47wVX$K#8G)Vrr00++1rzDCSSt|P$#TnvTRsJ28B3XQQ6eFp1^F?}n5#2z z?chu6^NtH1b8eHKN0e4Y*fn%zeEWH&>4D+Xa32$L=v0lEWN`qz2VMTw%2}Z>jiGkF zsiDO=SkgZJd{Igy{IW);(sW%q&4rLngc{hloN67TA;b@)Jq^99Q=$(MBQDGJ@qtbD zcWdPG!(76K&NcEPcu1t)m?Js#%U6hw^s-&vX7oD4wN?fvj`0IJ?13`qu)&;T5otFW z$yWxZ%t;|8g%2sJ=z_f=r!Xm8j>fItcNp!zA!xsNrrxpPaKd*Y0}`jCieg9gM(YX& zR!NeX=#MFU^#Q4Md^v>f!AY9i;B;}AdF7*Kspnz4j6g>tf<;xkN-ov2d5b$dW=1F& z?mc_i$mSV^N3gKj@o_yc6RV;hzTAgb{yM{s-*mjoo*<~`eezaQnNDLpzcKgY4COJf zx07)6Kd^(*^%pDnDsU-({UOGZ5hV$Z56%gLM+^#%iI4yj7&Bk`0#=U3Pk}H;Rx+*- z9vZV;2D~LDF#A*o7o}znl22L|4ExTgsmIv{SWav1)1WQ@l@g^D?Q)w-VcG+4$!c~N z^ZANv%T2Uj**#TxE1VWHN%NaM>v+@O=e|nr^Do&sFK`3w^+8{;XIL4G zVeZP=5{-5icKK~)=u?c!i-~>pJHt%HLJ}F5B_;+vxAILN&}G-3O^~50X_=hx6q$5x z(J)=FVh`>RnpF3pr+i0Nc_nlPx)UMQX--VuR%!1J8vIQIRx z@TPc0)OUy6#xFTF|LG$7p6)V%R_-${kSYE@StJ}L4fMb9Q@> z`|E5ZdFw zAYE^k63?W;_=E|0+)b0Q5oG*5a1=-_Y#=E?3ctzS|>3I zPhr%6pme6`dGv1|(d)y9bV7D7Qna;>(J$off$pZ>zqy_fS~i^@);8p)m|kbDNb8M= zL3{WGnw!;H3l+P#D0qyV|MrV(eVb_bwGuUIji}BhbK|XO;EbEnn~jn4&9}5W+hd2; z5|dud3$MxF^Ey?Z=0WkN69rrq1?`@)jMT2U#7sxGRU0DyQr%n1S!%=5 zWMNGGvOg%Yq3purLIA~1W_8m{!Je z*W7=(R)4XS|J?cx%fXo-)mE)+c0Zw^?Ba8lu~|SG{z0=BzbgVY(j4r(sS+=H-#AiW zO1x->#%#Q+%xD~zO|3RG$u=)-mGWNdugAS|Ik2cW66H=x)fX|;qqygYC$G1$Iv0%! ze}~Kk{Y=uJ=1G(^Hp4ANs}0O=3HLgV zL~MTe_92IHXUu-(7*53X3!`hOzhec%Yar;)!+l78^BPY1nFUct;~`7^*$-5=6czHM z{?bqA$Fv?-LU6qo*iUV(94q;Fc=>76f~l$l<|80PZ%gZ*AE*IAkcV&U4P1`hA`WemKO?_O77{Sv=)Dqx{3lq+;K%FV|->#(6l7 zWUzlFD$iF7jDdQ{6Bfp)OHycsLEjUggE+1KmraTmAeNoL$WMZTEb*i~lWJ0?exC?U zPTc@1Of?RTOl%li{$#M0sP_Wym5^_ftdEk;fd1?AnoIpv{bEHk(!90Gt8`=Nj6QPc zL|q(pu+48FS$_u&iNR{VcrRO$Cnb=_L`yML2|1=_)lqFS0 z-%PoJi30YhL`Q7aq8Q6Cm6&oKb8#-kXrt2NCGeQqL!x@&G7tYfk(;9AwE!X20ph)$)M{WBsqoQ`hggl;}GQsp9mQN9!bO{z2nlfKK{6p7Br?1W);xT+x9Wv@h zFRs-G=8yW>JsH0B3>_rVBheK9j9}q0Bu7ErbQ*1fUp^_FP4m+^lxzufQ!O>=es=gp z`U6~DCiZi>`|6JrRZ+g;wigAFYW=5O(~W~_KHYv>6Nq@*bZi0;cKVKtuGe!%aA&!f zhgnnzdLj-Pejx*$T`y!V7m9;PqZRDIBw%!C!EG2Oj}Zl`q%sFa`_r|dM`Phs<#2ju z0?V0=lj0aRdM<29)#LG=KGuYVjk5VsBdW>#f{_(EZ*294t5Y?TQ0i2mjtyM*h=+eT znLX&3em(omD!hjA{p{9h$wD+;POvQx#!)+@^QfuFXJ&IY>{@O%2{KI ztqc!4LtMzgsnPr-pU4})xhVkRlh~XVcZ`pbXfnc>UG9^Ajg_Y7`f zK?{zhSs^o7_vVbcT2v5sczSWvvu#ShG4A-z(AzC!hxdo~TaQ9L`|!Q>SGuS680L|h z&=ts!)u}b#qH!@Fb6KNA#zJ1yDrGi3!W3v~MsI4^~cB^wisdysg%JV}Ls+5kLs%xf+R$MZ9tL$X(hUw%DiGPk z&fU9g^^?}}^AAYmgfByDM(}PSDT%F7ff`GV3)P9&V(YBcJ;o3Fc{Bs1N}BvxlAVpv z`cS}B3Vd@eMV$h-!K&t^}Yj*_yQk4LE;vB2PiA1;~1XeSjcq4r2Mh z5B4mRjYVZ}kGQd@10ZSn{K!H}?(hs(2JF8IY6A&&W%gY)wn3UA8(r<-;M);{iB&R7 z1YTy(OImPjSTLAWYyRyjnFc4CGtB{0gg0nEAF`<5_|@1f{%4Ap zV}Y3aKXX*3lDX)C@ig_=KduDJPFq2WsKK?+c&Tz5TjNolESgFze(&obUee`97^M~D zJu)N>V^3~7ZuAth5$En;Ly+%ZF5}X~4i6{C2YF#b+sHh`LM0*lWN5cZ!LG{pS0(~o zWd??AmXQGl&pI{_t7+`Z<8{ylGp+FfA*+#3RjUr?A3ED?5*IzK)vKRA%6c)RDw*A^ z5(h!-E{o_;nJWIOZ_oQ#NaTB%eMhs`oAZ_G&8aM`iKIq z0C>G6=0T}!D#14xXYM9`5XqgAyRd+@a8D;`g6tV4zPnHC9syRUEV0AEmlk!c! z+!)EszqfRxPkxc8wD$b|H^L}Vluxux;^Soc{pVqwTTCq@KFHe8Y(H|l6zdvGWw1oG zz#D-&Lrg^rcPsbMfF}FFnH~D=`8P7!O{DfxRSlZ`U_e`OlS;ocovCdEzX*}(Bov`C z8B3wUK}%7U7cEK*W#<}I5!X_fU@py`vqO4{2wlpA7%(0y`#?}W#1kzWunn*#SHQ0> zj~7r>fW3nF+_t$#lw63JfNrMZ1SmrDTV~=cx$@TMn_m8e2cD~A)oTs*xRqaRkReJI81C%8W)|eK?3IUzr)(nY3e%1Zp>Ku<O^xnQ&CaC40d`KcwTuvJRqDgtJ5VeE5JwVeW`s&FcUe6lC&1e&b$Pd z6A?{&HAkNw3?Wns z8BF5ai=iD)l)xP^$dy*3^CYIQ%P9_l?z2G%u1RFCDDa#XIIEyUb!*&-`G)Hp*Lq%c z$9Lsn9n^66b(-p@YDY3VBSIa!mL6g*U4Y1 zYw4F*$I%CElN(ds$)Dx8F~+l(B=4x*nt?k`pshZzA;T7)fQG%2ll5bwM0L=I+m78Y zp+)%ehhz({ei2)ysY0`4h2`nofm>UC?JlZ8Mmf`MVVN^cBVF>aOEPxBD*VFj?wDp6 z+M>%Zn>tY|bKTqQWW}0$i^kb*IeyieEBtx%NjgJ$aujHz1^8fzju~=&o{o(fBdd_z z>|sq*{%7KWOizJIy@Di?w_wPx&grMJm3B1tK?CW3Uk7te{2xl)e*VAk+r#bw2)G~6 z-)VVV9kl~pXqqzFKOPSHlc;Y9VL&SE^kpMWVFV0{3ayC?$cUiyZy z1+WmB;PGx0?Qky}LZ}6mdD;qKCn@|b}w;>guYIcQq$BsK;NmK+yx%3>X8$0;*nblol81g&1uEmGap z;1|TR; za?@`HW7B9+?J-@uH@)`w>6TK1ogjB_0;QH5{a=t1N^{D8K6!MK^K-{B9uba8#RJxd%SGfe}m zCy1IFk*9a}d4CQ2kx8x5VPR8;df^I8k}%pGI+^d|QZe>$A&Zgg>Yi(=RNgydntNisXg*+OgE@IZm*QQKFGr+|7PJow4 z23~EUUS24ZHbH0Vv{2BT6o+)0L-T`XoZna6uD6+?QUT(poRuLzF=P9|*+!+ngK&K1 zU|!QCjrnzBvf1QCinNdgk#F9x!ZlyujH>K4B0Pv+lNO+D9B<`Oq9*H(wM0lm_d7vV z_UQ2wi0NLq0Am-$WX6x4dnMnUkckM6lF`gGyQH~ObU8n< zWjn#dGE*PN!!e&UgK!M4kQ)B*;6IWkjEp_IJ&A_?z`hb38^Cf`;pl%H2#2@&omyCk zl}eFc1QCNN7XVlq2`5Fq;kbefRek(f?@Qdtv|%R3^zGe^5xiANL(oUvvgrXKnBYiIDw<};vfEz$Czw#J+~z85uKYG%m1H?k5VmOH%&z&2_gd28kDmW9!%nyIHF#EWXqX2v%w~jFiPjjzt;JUOA73b9=e;u%MJsqu zK;^~#8TS>3ma^}=QTKj97f~sS&}WCGnTZ2|h1q`tYY$pOe06gW;vt7!CG`ua%^Jmg z{cY7OeP^%s%~{%VQ_NXiodQ9%8gj&1;vEOuV^3pOe%Zmq8kdqlqsjvJk{YVgILkOC zMvd7ts@oE2)0J_78O>^}2z)^*+0hQqjQJ4{ce@;){rZ~>-`KWh%TQvCqFF(}!?)4X zFQUJ`Zd!iU6n8g0trkw@F|n35o~VvU=KB%6)lc06758?mS%qHURVIoj3`a(!rU)-# zETDg!hfwyE9Lz*XLsp+mnva|NaXvPPAGsg`VYJO;k$8?W5S7uZTaW$`FQLY<1gNxj zbk8<*EL@|o9^*DcUqC+@XOXT$*+Lw(w9Org6YkND&kTKVWxef>41NM0(eL{ZDKA-w zK^7>_bS0neD?H3k`>a}TvRJyUBPXwfqR^s}7TTyQM z!*7kO{``k9#L=t{thi593W)Yrc<@G>Y(z-kT04&yuv0yX(kMV?4l-FTEQzYK7c=}^ zA@ivARPJ#&02PBBsiGlH5%gr*YEV~r(y+IYS^dvi`&i@5_m}`Vid7=aPgyG`*VKlVI`UMCqZ-GSuoh0rJLe~ zKFO{=#+!*OqLb`FkE3gx7%&{mkmud5`5C}}|HDiT{65fKBLQe;bIc)BwlJtkoimf2 z+u!U&@q(H3galv3Ik<6sUsqu>I%93cv%ll{bp4~%z7W>|zi)5|2l~s_>ih^?T4L2` zWF~A#cU0%VI*3$P0(iU z)`;jaZOrL@(^~U66)Aotf&0&+cyscNlD)KQ|6Kbz-tOLFYGWoXTglL_uocJo1r}Rw z%U{JrKLfKNX2SOIOGF3^LTq#>4kPlguqdt&blA@glFo8$0k=H3E%1_QhhI*L#F(G0 zCWV^`yZ~D3FHzdaQ$;kf(5R>LTW)MzNZGZi6NPr2U^iV(gM})9TeqOchbW3HST4tp zDSIsvg<_#{^oiCqxl42UUYXxC^i2bNW?JtY*dpz#hklTv?hsy-aDz(<^>L?}+rXk< zv45<}K}VS6y?AT!Y{KOd8>-@9aQmBRk9(Tccm2bhUO}w@%`UVioI8!dCHuOBy`E0? zD4SvRyH&$YRrG61SN|j#P37JC)^K|sBNtoY7h1oPiZ2gBYSZ6Q?b&faxp(mN#$d@W z7RA{5aZqV#AR7^mTDowKQ}7HW1*(xi6>V&97V1t zG+<7EB>+VgnQhWdM=fX$Q>0jgU27JVsY%~1%yPqt?WV|waUqdV9!$Ccd|FD?%STbQ zuM)uraLW~9IDOF!tZPM6X^V2eCvH*Fa-YteP+|c-f z?jZIoR}4EC%0dn-{meND#Ii9UlsV;7;EF*)D#jdm?8-vD!liM=KtBjyY|cGrS}C8p z12=~ZWOHox5@<=%R~J}>E#zb*r8vGsn2 zJ4`Kmn~oV*sI^K9^KXw~maEx$x4-zT^*;0LU#{3K5r`~uSy>j+&_GBQg39@WUM zhX5?0vnapG-->L>Ut2!an%QjnruD*=Tk$u3jlAY#d80q$Oy#xqx^bw3!Ja4Z z+Z`z-k+^3=`G@iuB^&RUeB1@1iSGwhlEr_0x4SC6u6$1jXM(DTN-df&rW-aMCf@kv*K=1-{rt=4 zbBU*f22RE4AMK8>E9`4>`5ydxLeVcCs>0M{Lx%dRr z=fGNB`h%mtd>SM`Gt9gBT24t|KN9&H0Zc8k(5^Csmv9^KM0cM>y**SaLH2Xd~`o^!_eP1;Gm`R+4y zY4kyKr9&ECaxl7X7e6|7Ai;4xsq@-MghwV4uA!I#p3DSewFp^txnUlqZcv`%8g(3Y ztyjgqczdWs|3bW}3zxP?&8AE58+6VDc6yw=poG1apbA433;i2lTnG++7r46v$PMgdiiL4JR;Akkoq)n+!ROwxtvSZZ6@{BhCV7@uEnR4|=0)-r1!gHS-gyS_pSJwkXvo%+tA+rLw?VZN2>h31-4bUL6veNHyX2Hx{}J`Z_Y1J&HBo@ z6PWi#H9&XEBSb@|9eAoR#ypNK5&n#kIIK2jN?CZ z{K1z@qBXRY6TG9L)@uk9InKaQe&G$^-8t&Qce?r&nrBwmwByoX2 zt-HL&3GW~Tv#Mn8Z~5Bu7%ba4_8(wh=cDJKpRS4b`-C&mUvB0! zm#;qm$NIy>;TNym!Cq4}3sL96ul~1=$yJ<>W-(>&mbtLkF-G#cCO^y)h9!2!Ppi2a zsz>qEumo*JPs*GLe^A+&PIsl++M%-ae*8dn5; zxzb07pV3jf36*U`buaeubgvU0{CBV-K?*Y_rgX0x5!+`TXB z@@KnqB5maS%7)S|js%C9N!{yow4Js0Caf(Vhpsn`%w8dn~)U0%wnk$`x< z|DKQmC%(Y7nYh&NJ(-0V7ly1kQ<3T};tZw+0ML@rV`g@g?(orl+w8X`xZ7U1(&LqU zMRqQ5uY`#c-Npe>Ht!i1&sY-O^c1UxE@RuS&%nJzMwH;E4aZTfIgD~Eu27rfFmd4H zQ-6ETAMyg`#yr__P_yqUl(E0o;P^Vk>9x{oI8Q-b+ea6<%VF_fLI3Twsl-`>u3!oK zn33bW_V;Y#-tKvZ)^yX`VgT)_r&W&r3;wlZobfn0;Y9s&t8V@Yd+M4?n^8ooyUfcA z1wIbUA00QDvp36{w8jW1*&KF!cv6Hj%e`W@){?r(JihSQ3N4_CkYA^G*Occ=79-ExZzzS_ZEBe{KC)*~9?3(t_sCfUt_L&3z z&_`i&tl-`76@(0kqb*)!1yjc#9`0rW^K5XW)!j z6d%}4O}NP2yUq%#!;-?)v8~}fr5!QNTPAq=``rOcBWlYCKK`IbKi2!_k!Ui6LN2!- zRrQP3>ri>0j**kgKq)iYS#Pw_Hu}G~wtU@WXpv){w|Ixm7_~op9drI`lk?NI=ObwE zv0$S&>QD(+C3$n2KKFWa6^uwx5UDuwoR3c%407+8(V7np*qWjF-Tf#hoZrmt2c;Pd zXnPFJg?+5h@X>DRH=ER(ZAa?Fv;Z3s%b1wh zaW#Ux8+^s)p1k~ViOg5HsX&KVTe;2KG6SE1swcCmZ8;x!NSf0=GRWNon26ts8?_Ti3QdQ~F?$mK~Mt$Ief|L5M#*l(J#Ei-+ zmN0cCrO~xYLF(**@v-%QoEd1l(w~nK!Z@%3n0rIW_tb%!iy##X0dOc{pyl!mE4j3! zDco0SCSKXEw+AVYzKA^Ki?&AAjN46eT%Mp6hI=}-)rgUdShhsm(fU%#`!3JDTu#(V zp*Z)o{4>ow@}4yKb&qNDb=y}EBnC!4LDxA??LUr;I#QW~o<_-DQ(4H}b5QMMg%$Y( zn$!D%BG7S;CNQ>)9fZgvI7!+eyp5`k!7xyXHae{NDaSKAP{0Uk+OvJzZE^g~1MLsT^sYjI?jJ>ffnI5!7fx%T;MCZE3)Sl&cqdp~vtY4RNX0n$=IQQHGjhx|a=V3E+MCUogM1 zf@y`&q3+nxIbFxP^o78>ic#s|NPYTzNFFMS4G4l?_-~k_`_*lBi>)Q?b$tqxi|l_- ziPd?1p^|k8en+Q@Q0B-Gs8gf*EBVVw>x_215f_dr@N<$b^;eK|9$;Q5TQ9$%!XZaL z|HqjY_@h8Xwro@+m2_Y%m#kKnt_u}?xj2ore~hs(PP*1Okbo;yP@29H#X3LQ2=E6m{TBZB)ZX&l`=uyf+re^>rerVo)`Z7>$S^ z<>4gFcsabF^hziO5&MKYZfMfEc$!sGQqUO6I{Q`d+T4w)&JQq=@O979QRi-;=C8ju zr8LtC-4pxA)^?L|+p4Ph*AA~(M_ppHCH63T<@^drR$bzn%Mn<9zi%zSUC10B7tMS7 z4L-$N2?+|$>~f4jV5y}}y4?*o(jO3+;~dTDkSO3b9bJ?&^toes=bPHA2~z5CFvjQ4 z^@F=PlQoJzW!9D6HqLO%AGCk7C*y*7DeXu+ZKc2I_y#DCu*ImgON`7L1aaE&&*vi{`0 zGt&Y+nzs-_d-}QY*>QW~U?$Xe){2AjYg~gV!M>I*iZTm3Se@irvo))_YsKX5kHu(s zoH;4_SKxDR3dPG@8U?c!M2Zv)xZ;)84mO9hNfkkwI;(UwU!5nVsuInkhK;*TvupG< zVc!J`=X%90FjJQvkMYKDwQ*FtR zySM2Xz)1Sow{YupSs`*~6lz}Q`-|noAY{e~sye*m3UWu~5GiEZ z?D_WuyKyRxh+q>YMf-1(se0%{jGsM6c7?&MM=QxkJh;;VFN8;79;CXgoO0{eU{3ayGZQ z|NS@wugD>Q=|I@l8j9?T4wDB%#vja5bikWT>5@=O&ZQ+@%#ClLmy26vXw*LW9p?8- zk7VzPBOs2R0Mw?cncL3~`El}59ddba-4={GxLlbOevfi#Dqi{+HE77L%qVO?ZBb72 zcg*T-#9i4F#txeP?E#i(wj5L=oXHb<&m#PKpFP|)(ZxL0LE8{iN5kQFT+H*HM`gXx zm9h1#fRz5%p~2_Fmp22NO=e=NL_^lvOZm`Se~q~_Lj%55 zEffu`ePw89|5J_W7POKO_|kuF72!Mx`Lg*`^403J@i~Okxiu)>K#z2lNt*fTqPfAh zlDH4@or{kFlWlhLaq1V!1x_f~51m0n_9^sx@<1UP`D*F(zNS1n!22O07bWp|iZF}u zY2cv2sH9qCa+7qv$yaHJ%lv(I4(m3k#cZA zJy-rZFg%c=&MM^SS>Tury~<}^lF*M9mmpYK+DUdgq})Ym{5`|5ZuZ8{1JfF#deI}# zuJipmB~rGs$%2Un#RcS`BN)K0jl$?^smWv_>da?JImPXBW3@(3t?lpcT+|aaXq%!o z>4#|~PHT^TgTFksV?-351Nwble=E=%Vy={%>$$s_BbZhdHN5Ydi=7Fcb)_ODD+&(Z z95HQFG9qM&w!e0vqFm+gpx-WjS@^pu-RI31`M%(ru?M3fW66$@PZv7EgQrHViSX*e zKOb2+T3Lk}6hC=d{OBI^tv*GI3rax9d0NX1cx=R;avwzD&@{~8i zuZ|9AJzBg~L{|%4UxW6Tw(?DGZ^Y!R)Ne96lyAl8)e{_-dZ}~&4}0(V)zrSe{pxZd z(u|bQB}-WfgpPD0d6Xq62uKMXBCr4nC?KE_Veic<{n%>5f@jHhhQ7|)B}i}Pat0chr&-+JHI^|^?i1{O|Z4`YfeN9FP}h{dC? z`E8`=7>+39q`k1Q~x}s&-j0Oh>&pFg@Mdv>Lu>MCeX^9|ISZ9NQ-nYJ^ zU!wUg=;W$tyu$E?<3}`$b~u3m6~=dsCi65}>$%n>!gCC&=osWl~@e&)dzcSmS z*6#8BR+2s>S_y6X#(3KL{$DYrp{m~5a$7!u_UdBV@4({SvR!WT38!0wX3g?MrL{AM zPHBl`-u>KD_)7E_Y)v#=wLL&kTi6XGCyHkM+|wOQSUK7uD!;pPHU-qQ(+SgNkR3Dm z9ox%|agYCB4G-ii@Jt|9l8W=xxoknv*6_~)KS4}Z82IN^NC&pqXB_zdp- zSr*Rmq@bQ~HL}&bmXy5<7iI{*LqS z8ZU7!!BfS-@XaV)d=;cgE`_&p5yhoRUy&Rk8r3?TEu zLQ{L+FLg#;55LQ;9mYr&hB{Z^)yoxlc1G1I?<-ApMyplerer#@6+@RzFUn!;a)tA+c0_Dr^_PT0w-M6chhxk%JO^nOEd3EmC;LknwV0B{O`c);)2TI!4 zGMh2o{>$8jk>bd*S;2$;0kr~F7*y2kB~vm7+@wb4lAUGKJ;HmZ_lyK)H^vcPCh$vFEun8kY&mk6OST&rqq0V^)wkg%-bRqx=zQoMMTNw0mmxmc+ zj0uvu`C)ev7JpJS{R#9dHV6~I6WLmF&u>5^FZvz01?5y~3P`L93+_MK`HKRByF95O z38CTGMgbTWA$64RSwsbL&Wto79B*@VdVa$uuQ`vjeuUXgno6lv$&s><)oZ(r%b=3j z02jzai-zG$|sBW|m#Fxl=NqKgIo``iuf17HRS5e|%@{^^Z zhnR9GyX}5lalopEkL|H-uu@FS^Fc}Xq@$#zW5=6@`|MJ|@L;|D$Bi2+4JA}AvaH9K zJaT{Tsf6W&wJVFHo}?eCQS6BG+jf{jonxc%b#{Yyb`Pr66323GwzI@ROY zS-LCJot*cgk87-)Ju^sM3HlN4hyUyA^0&JHtnc|?GZ`4;uyd~<&hm$N3gFokasEcg ztjgx{!@HUSqW-ELCEN@|i!F{-87V)e<{<3@O zG1phafg{856_`PiqBvvFbf7MHX_l8%<8?TVn9OonwoJT7P6HWa1`0=)Mr#+rC;-Ve z6fA7HKMxkQ1XoZ%RvbRDHSy3%VED58lF+oRdqe~UGh3<{(MkY*nN=bMPB5jHgjS_I z8~8HbYIJ4O&q;D}x!1ZiPywJ)u;FJXXA79e*J)`mozz~_J^JaIm{=}>3&GWVEWO=k)gtq8H}K7))CIF-9=H2%7|nB z$IS~`*lvB`I8A2W#^)g}+?M=sjC)*D#nyQr)0OJk!Oc zV3esme>1BysEE-t%*2uh&wpQEf2DPy&RjhCvroK9eY`e8Of2)|*z1^Qtr1SHj5A~2 zLJh@^$s+?-kePhA*jLYq9rCBf^RI9<9RSSL*6o?9|!liiUfB zMJo!FGwF38xCi_>Vh5*iGE^b{?IWQNpOB0<#n2#zty0LhQ(MX7wD7eof>b;;)jY8( z-9`nl_yZ^+Va5BbuhM24G&!H^M3AZY!#6k^In*~#F54XI=p5d>V%#(J15^tC+X!ud z3vT@CNuT8xRp&Q2?#*R?R=znw$|YxGS0)Ts{R6cQBmQXa{9qU1X2krAitWt(qZxP? z-#p#nr(#!xh2vD%8?o5(D=M?vUVWj!g}ScG9=)y%#EZS|5U+hH#AIT6J_KUBPtVLO zC0!%!SQ=@yma|g-8i)g=d&2(gGg-0leZ>DD_#W4uFlm93C53V>-+v%{So&m^;vBuhX?Ra(i&V1X}=$1#_pv}(tICGLsM4yR&0pp8#aS+-p zdVe!e)$k+g3~MCkJ{v_sL$$~9%p3}rJV+{b@zoNe4ly9+x}0bD`C(sGYc!)Eiv|Ii zg~0kOaT~kFDG(mp_M+$AdWn>c0!1FYvwW9qn_-XLOeQKt;U`Ju*9Z1%dLZ+dGbCe;REoY;ar|pn# z?XfQ1HmA%oT$OO>30y~L#4PmJu&lG)UNab{d6L-H*> zyI;x%TGR{7d+lIvn@Q>Hn2(Y`)IFkgr1)QCFu4&$cBglC9Xod(z5)MX?N94x7vN94 z;kjhYvCl7H_F7#j7-1gO#=?UZc?Ji0vdc8JRw>0wTl z(LaH%(aUD6&KKs2GZRRm?Z+R=Klh9{?T~2v76A2g&!BJjb1C#JLfskbUNVh%(;B3q87=4oqx>yhGp%NbY~_xg2Ry|E`C z>*Z$?YU<52$!DIbmU>dy`P1BGyGl7-8PB4`iHP6@Ek`9u{&m72_*PeMa2ih1ZFIqK z&~F@@X3kK$Z^6npu1gYLehlF%fKT<=7>`hKp@RFpV7~?D%3D(aI$VH+*^j!clBqIM zni6A612%$Fn+-5@8XhbbUHQ}yLRqrW6y@!<6`-(;WXcop#(LQ+`tbeFh|QWjil=3H z5_mv+s-XKXZ#%+3^5&E9z{+3Bd3P!ejoBf(L3P2+3CkYZd@l_S&rbP9@o?IK@EDSF z%D}=H=%+8xPj{(6k)10QjT*Apq45i|TGrIe24QLsIB)^qZ~fA7~lpXtn$N z4Zi|4JiAH)lpN7ra&W!Gf^;W-3i6PIjY`34iZ6Im1K-L~>bBNa^wu|FZVBioA_$B{ z|JdzmKH3&^S{Iw~Fz&3WqClhG*h#otO;&0w;(QXttwBA$!n!%WXxY<6%KrW@6HYPI zV)bXXN!TxiF|I^}0_z zTj~~1g^4?lXjfdo`^rHi25jAnjsUv+d68Uv*G^-PiZBvL;&qBlE`#RqDwfm9+30Ml z@I0qMon_7`uvGZVXKvPAGxgEbMP^VQ%BSQz%de1p(L+x0ZUf7+-y z`=MoT+RFji(h$v5QswC5<%?8R;{w?r!2|VvB0^nP@0hyB*AI9@gPJ^|o#kr-C8hj) zxo+`-zUMnPGsI)tt)UTmHeTt(tXC$|8H(g7hBZ*Gcsiy3@5nrP1QrO+@cx+Wa&3(0NG!g~b;-C7JfvTXcz&>sVtzlm&SFDs zm#NqI&L5n5u~_v4IJO_#^}N#FQ9MwgIkv)*{{d{rA3NzaNA=t1D3w;NZg&I)dg9X< zK>{;fSH=iQl1%T>MET@mf{onrujCJ|>%|}TmrU~ymwnvwyeXNX%_%;$?m@PftQ{r= zf_xdBQL1mlc@Yd;t9u=;w9dfr!=JQ=5%Pj%PT$=h4w0a`@mn5xwqw-~NvCGLgRl$_ zd<04x4TXmVhGzl88{tY|*Yi+BrT#?xkAK0_4fqzh(ZQV==O%cdPI58kg=m(r%O-%_ zthrOHB$ezD8!45<4p~=+LS2+W)l*pE;@E3Nm3n(KX#;)N8n^ae?&tr4TDZvE@d?&; zqezqaH!@8rh_lw6%3j4z#rz$I>_(}w9{2k@em_n?vI*c-3PVZCmrJu&{$St6K9j3u zzid#1X(9{%DRdT0r3kMiJi=7M_~DuHNLl*?o{TL!&`5BDdE1?9ku5sDtZ_szpV{T~ z7|3C6=Y1)t_I?j!IPwQ6HGrRQ&&UQv3JqQI)gQ_=h~GJRamt`x|K}dcu9xw|(i@rn zhDBZst`W3F`qYJEi1uPd8@8+$BqQI|u0mR>CbhxyiDJb$dZEVgdhNQ-?N?mmb>>uI zosBv=qdc@=iwbqory%T3s1-DzJm~IJFZl86P)pppKRHr6rD2ZDIYo%15 z!PYxA2tWAar=HAj^#B<^E)MaRR9ey5ss${mXhorM3CmrA$am?399S0pDk#Z_pHcT) zF#kFonZu#UEup71v~83+Q=BGin#Q9MRurGpagPHD=YHw)yKv;HcgJ-KiVcGRH*^M0(t58SpfhgIf;q)EMv_}igaZ>DPlYuxw zL~4F$p&l`G`Z=~vVJXP-d=g{s877(JU{uodGAJSl{^Q)xay-gA#HOhkxOs>wS8x?Hg486FNC<{2g{1^!yXGq`WaqP#$=3(t(=^&)Ky@AKqwU~wt@%}ta%0p=~B}K>nasmRD%*X zJQ;Uu7IF}G>>1xHqsyxX|ElNkFzXvrlRL0>a1r*DdIu3Od)O+vk;akae+80%^m$fl zWnAojk$?E$Vbyt;V(q9+W$OJE*a&*JhihlV(!@E&z=hFVFhxfC;H|P)b2X@^a@W~& z^Q9B&8n6@W@oiROGZlf-+b?HQ69~riel$oljTj{QIE~LXo}#1|A9OLuSM)LAd^=Ov zq!6_8j}{iQ%EKXFQJuzb!^JntMnZMsE+%|Z`Jn`aK!ge>Us|(SkAXG;WGi+8=S~J( zw(2Hmn1VFbuq;8F@K_|LB98eK6k^C?Pxh_D(w?sa-%j5nWZ)IYTTiYYHOzR|SXB3Z z#=P3R`_YVfn$njWyFFOvg23e$&Vm~wi1#39(Y1eFy4a@ovjWCN=Z&%DN}$Ewz;1*` zB)91+^YhIL-$TrC%BEGARdO!^5!+dW@|ev>G)T5m2w_viKq~~sm8vI}sPnfKO7FfN z**VW&Z*hd`2(M1>4K`K?k^G*fry=thY8=aZu7RR;|a_5!uuKtu_8wC$tfD>KK%>Nb9%=r(>ztJ}BdH$LvRCzJ}R#K!yirFy)aVxJ`D9Jb3`c9?0&kiG9lwbd_Nx`n>tYnkX> zHXKhGC)?3ZfdvHzqu67;{sU zf70X67f1m|dX5e?dN2F7KRgPgunc*()->1zO5hB(c$_$yeLv6-vmThGM<5RER<%U9 zsK$7je zd1tr5j9+3ut3I)AQ{B)+8~2V42p(jGaNK3RBpj8J`^Jc>n@6n2{f(8SHBs8m73k2j zoDZKghz=-Z>0$A$4uCYf_O=oIcIYJ@4kXPwo%93cE8^@*n<<2*K$D5rcnaiH13zAh z4)8rh`vrt_)1aXJ&xk$@&dDFo9#6Ifcn-N1FmDta*1Xqq_Xi`6oOZ9E)Vrv~gjqmS z`hv+*)XV`s?Ck>`k6vdFK43^4e?4J&@!FQgsO3@%Rr(Jy!s%pPOoOUxp5+6)81I9= z-W9!5iKd=GIrNa`wj%|}OfS}@2wnuIZU8#4`QWR)ai0|(8sglwWJkoJ$abkj!v4oDEQfP zr(0J~xJ|V#5IFJzw*#h*121ME7~g;fA($h!%l=Ic>x!d)Zx66FAZN1ONcJ|bTGk?5 zB#;sCXQr_NQij{S8%cG*sLBj;Ee~_GJito#FO$kW+!YdRa~td5(>fVY5xP`yA?kLO zLBf5WNp{ii&s51PI=oOH*Rmq`C~1Xa=Rwk@%|p1z)ig+Mm#jb@+iK z=QkJ&Ul0NNX|;eFy{g3`9TCTQqvSG0)#RtAiRX8n<$mwF5=#Z+67Eg|4*iD%PqLc$ zAHZDjCsmKZzD3op`>%O7aLu}{%Mw4?+4FP!inlSzKb6(s1Qs8(Fq z__Y-p=$XqZ^0x^{?hP_3y{&ElgE$lh1n%dRP5Vy6bM&zYJ4X!-N@{MC5d%>XHom@i ziDy@-YPwkW_O(W6HWdt7<$+n_s8|#QG*E5L+}U1R-6Wpob=z~N7}3d3vG&|(CM+K& zBeD@4_#d}dB^;JigX# zVnT`+=x~XCgk+>92bP$1yL>>=TbhQ53kfLK+)(h$wiU!!}EM1 zaXe5Kybp8arvm9drr$R|8Zt|Yy{5|8YgN1L5KnNZmlF}=MD!0AsB@#OjS5*k^umD3 zn|olIvoZE0x4Ec1RGn_b9%ZrW6QrY#WY=Vo0uR+bM@}FQO+?qblZ%6v5kL3na&Ndx zsJDn~RsPu)i+cJYs!~bZPQY-1<@CtThy_+87RD-L#-CjxAl>ors-(FiUAlal10c?Q zLAX;E{W4lvxKDsiHG}1CsTMGY+?C1MnQ%xG6GG-2q**?!b z&nE@)Kan0s-0(%sXB3&a*bHogH->*JuX`3*(vl-lEU$*08s8rCcBjmSz>cZ9Dert3 z1J(QICV#UoIMiL-Pb`TU9AivLDUz6Y$pz`of7EfBvDv6tVsH8FGho9}!|zO`?7Ts) zHlio@3e)?7qPR85$BoWdHjR@uKqnD>)3x5aqESS*3QLddhoayvC&3F&JDIP90_3Yf zs%YPRQUqERVJnE^fYAZbIjRR=+~RbCxRp4J7VP%~y)uyoISs(| z=(NQrGc!Y{w(>xt(BT?_^X|95w}KAw0r{l9!JCBwpX*BUNp!EODUzGAULd^Dyj`xI zltu7m>|E{kKdWjEL~NG&aLP>JIQRXkGgEpdyA$na4n62&kIX8LNnTQhBua zmu_u_6f~7;SA0UrnTXSBqGY8X?TU48taE(G?-GsBBzmCuAzHJjhKRj@UE{G+@M5Cj zPm05B4Hn!dSyw|E$g=WycE+l}CalV(`Xltw?J($Rco0d1J>ocGZnI zOF_X(1OMTczhEuR6qb1x8_p_Af5?2qYD>vUXf)NlKNT%hezeI!MN=do?r}b>jm+xiMF_o?l zJ=xqibusVf29{km@SX^;h@;#Vus(P{r(hzclKp*Y7-bZkG(g1`OvuFD%qwtc#;GU^@{^RSP{soar4xrmv|XhG02nd#PT2v74yq&&Q-&qX$qir%|(KQj&I-wc6ziD$j~ ze(i#1fc5Brz~>lT#avU$U6(OTcc0AIA1hMrk(bS=MB8Dd#ka!b6y}ohRr4V~+*HVsme>VUDM9Kq@nWQQuW2;r~yg21ldguhSVzzW)V0LmjI zYnZ0|51<5=g7D*7f>U;DZ7X#c7X-@YKLY#uRBxng7D!_o;sdPxWWpIXr$*a$;B0p# z^Q}0{^F5Rl@*=rb82 z1K`FFYe3Vf9T5NF8cCC|F~A0|Z^iJVK>qIBW(Vspkt$F&<;S1THkEPoMni#hbQy1w+$~?XEKbxlPv{Pq4QhkFh6km= zT3JOm)DsZLWw}P5#+L3=Qt4Cir+QTL&PBVVB2GVAd~Rm4Em`cYo`0xDuP4uNrStRV z`a%%Vu2Rvo&iZD%p;8VplMG_T5zfc+tVbAAWCz0FJ<;@J3-Dq#kOtC%t~RC2Hs%Nj zc2@{=Wb6LYM>w>g2_Oq>xk%=XZUKbZ5I#GU-TE*mBZn(psV>;CE@AA1F}P0Us;@iR z6QR_saaxfayyM^27t4X*JdpH{6N+P@mqC% z`1%($OR7)T70p}qd!uIY2r68Tf>5YbvwRb`jik|u((g}Jr!&H^?KP)$c7pTeWuRxk z;4(yQU8k=pro)P$Ptd^Yf#9Py%Ex6e+Ct@@LfE7kOdZQ+s;2g+Ole-xSfiJVnb+U$YYz z*sxp{!Swms>OOt}7nvf29R$S{fiRKFN;gn;K?_ zgGap`TMn2^hK6DSA*1#6!c*oov&hUU$#8*qn&}&ubC>z{Y6Uyn@aG;Pb+?CvV&A7M z2OE2n5dB5CxcNSp1I?YsvZxVu*yqE&Ty6JCo2P_Tm6U?1SVUo^rYvfN_}2noN$n!z z5bbwtcsBOu9u(0}9^ub#4b5W&Yk~BxiH5++y^c#BV9d;OOYH5ij#g2; z@WhWmtSVUU<3uypl!Y=c1Rbj?e0N5m5||T!xNXQ}j^dRu6#nP_Qx+Vr%pM)#F&G5Q zpaR~rz}n67Z7rAP&SAVE7Q%SG2@1~CqPYZV%s@Cdjth>=mR&}sdnPaNAhWB_y*R|_ z^9L}~+(ojv)3C9>{)nTzyX+?7te9K7d7hcQQ6t#qec)Q;VEJ~6=v#lhHU^?P%$ViZ zRie<45{H_Xqu}i|{IjEkWM@|JCykWXMxA8$-Z7R3C7UrDJPDD?Y{;ahRXa2!wvdH< z;Ko)T-~28IcE{p*M=$yimc*m3ybtHD^OxE0*sKaup+T2GDGRRyFu08mxkD;ASPsV; zC}65mQ#aR?x<40%i1%I5Vr=I(JX*8})EwEYkk}+hEmiGaZhAsf=A#m)`@ec`qfSWE z_7(Cp6qR2q=+3>pzTYYgA`bTk)kv;2js^webINCI-b3Jpl;_P9lnY@~w;rI(>AIoQZkRJqrI3_P<7fsyyDcMTP9imEx=et*ZjT1N{GhW^1 zobQt2p1Q?)UQC>ghD6fj%~tA0r7lyjxViMf(iiW``6PVpqWQNj&$8G}ZBa6?)9eO~fPV5gcr!R~KIo?!A?)B{8O zR7!&>gAEt#jyWoA`d$khEC+)r5l{;sPb&I*3*Tk+M(iwQ?QP&^WJY^pch$=LY*iNR z;O342*oEBAYv^D>4ha3hQg1i9FERGnXp|{v7>WzPx^u6$a2y>696w(7^Lv3soX zKZ{;GvCDY$;abk5#3r;P0uQ(pkD(Z4b*lN+1K+2l+?R6?&dtUsgxkNnr5Y`jk%kQQ z%(G6INc3pFS_49O11)Utbk57z8&qeI)2gLO7L>}l#$uBq>&^@BUJM+*aK&2igtFdo ze{RsI=)5ZkLm)ZZyz6KaCFmogD&#pUKlezq!jjMj8WH+@5OQ8Ei1VHTc?@1$HKE%C zUS|n*7^fA%=W#=+U@#*GwqK~6K6APU2z?UKBg0?KNEeztS`r;bjhppyW$eAXv$+G? zy1Q(1p3%9T2GMfM_16uTv65D(gaT5|YfZfuGI`|Ei@kl8?>2c3dFuT&ugQJ)G7Lgg zy*EWuXYw$KHsU;%s&O^qp!jrHd`p>I|1#%V+1)qV?s@9wRuco-LGb<_xq{Z3l)`yK z@+dWznC4NP$Lgc4SJmUtI}f`;`IYmtqN3TEtSU+HX1iCU3kp1nOSvxDzAmij!`L6Z zg8YqW&{5ByNx#zN`cKd{a+5P8jg>k*hBFh-NqBK8j^VzP*j`b+yd6-GZ@LrdJ*>|Y zqDd* z=4fH9qa4}cVj?@ab7m%$|4bdEFqt*CH5rrc&@V0XNX21Rf$~a$>EP}GAM39!<2L&Q zNalO%85rAH^f8*;@e+KR{lI zIkfW8WR3AAc)9*vWC!8Uqsk?_iF&!onX~uatQt;vnt=74ahKh$wl5;VqpAcqJcXQz ztsC0sXjz?+cR_v5ap}7VCYCxFv$kX0XbNfurs43|E93LWCp8rIHsE6Mtkwrp7;3%H8gk2rTBLF39 zWkai0d@CW0TlFj8xD_j~NEeM|d$Ih=gM|VUQaae9)ksrS&NfcNDMXx}#RUERtiX=CKX&IvZjn#uDEUGC z(btjdmlU;(y%Awb#w2wHR2|L?squrQFhYz4EL2^~1t-HRrF#DJ7RY%eZdIR45?JuW zOI)s$9^F7@YKY~`n%}Eb17v2`6mVx!xEZ;))3vw@f=Ln&meupSfL5>~k^><0SF;fD z#j>-FcR4N@l^Xo{WHYH~dF+r#&O2IYcMtp0Vk2Rf+HTFxHO>K^VvuuBq>GA0YCgQX z*{qJ&^cJtAmOjv=T=t-@ZOMM`otx<=ptcfe#j1tPMU|RzltH7pf=#u&&{VAIgQ&_U zatiB^Iu5vz*^1@9iM29|Vwf>T=x&VB;>fI;dqF1OLyRvn`;{fUhz>@z3zI}4Lud)i z&FUJaW%1p4Hy98(+KsRcAVeVN`~(6L&UvvWiyxg)L|)FKZtPsYwd@!quwZ~Ze5MT~$GLNqQ#zO;o^?JKU`(aJ-)N9J; z&D!(hRAjXEv*P1D@F%*mtFdtvK6a>&Cr>AEv04SOh0XD?@-GMTt=nDD^3G;W@zpwi ztKhZZufXzr6W<$SDg6TEuDUXUx{G0NEp3M_l`wRZ|lcjEjfgt6TBlp!cE5dx$U(U=Z- z#^dQoU%R`+h4!-O4N#-@?@}_D3O}-syRLy7wETcSny#tjD+eO`i0O0Q7=uGByFw#x zOst2|+uN4*du?TK`g*2DUyHPKldzmiMy27$QF;gW7sHE{AeM6zP^J8<-u+8)bcg!p z&Qde$x2f}b@$(M3pNWbekBPTFJ_y-IuRpc_KmHQ-pFjMc^7#L}od1lR|7~9VXLkHA=8^x*j{nS#|ICj6Y^?wD z*zw=DJbo|c6NC@eR%OA;l;00k!cz54m+p2eKU^rQwB^gU$k+r~J&Q;=8zct2B-*ra z)(%CM!Ll|DlY8JJYnwEQx7Y$_{$SmNpAE@+^rF){4=oi^&Zc((9{gY5jZVDdml_!FiYO z08jxs8{|R0GL^*v*;Et+_I>sd zUReO3)Hc|jUbW+gY)imX@dLDG8pGwSu1FpV#DSzwR7&4<8|c{8`mXbkJ9_aSH3sMw zq7xH(M~35R8KPhK$1B3O-q^DfcRrJky=mC!h%KQX#pS+UbgPiW zR#Co=){c{4A!*eaH)6k`P03ce@ex<{u!Dt=gcTzBB{h?C8m|9O~=oG<%&k{ zflvO;^^ewGHT&p}r1qXicaTice*=O4{|fLAc@F_ByhQG>e~}(P_7ax$ zaaU_ZG83RbnJr?|zQv%o2heJ@`*!~LzxwC?JCXzb|NkFB1jvR{@^%wA`}##2jp2HO zgn;P4@fFi6Y8P5^2X53ZJtvNPTHj8qw=Fe@HkeQUbbxKBm)*S_WdoDV1=CD|v^`nD z%_wpZe>&=v&J;7)7&@=&art5mm`dr}hPjt#?LqEyCtKMa%DI28zdO+qW7ce0*4hN% zPQiJhGwZkp#V)*c)cXX5#Oqtv5w$L~eGramTMX5L0}?N@FJGTZ?} zfz1!P>g0=%nuWy8k}MlozKX|hYL6GxzhBmnpDf*2PG}P# zGZF?4_%3}K)qP(Hw=B0gGMNvPwU=FipQ$*1ks>)9_+G|VEuAb`IH!$b@U961AtnO? z4R-^6J%i}+I z-2qE4%h%jnI@|p0s(F$0b%=ZhaXldsd8bDXcN(a8EOeg2K|ndhYPas}4C8GN9Cz-y zXkx?^1kEDE#B*?3vk?hvnqK4JN64$x5e%iZ(pI|nA9nYNUUg}2ERSE-xBD`dSoMtI zsOI<0+cKE%Ex}#7_26jXt#Wt@wFh+CL)_^C`9dwh<9}ISpWX<}GwM^i>7}j9V$2(2}&o9hZ^- zlfA-Ds%15R*@#$mMU9FJ&K7FfWJjq~hC4ZvIZ3oDpI49M>I7A*OqReaFv^Lpx#4aN zI8TFagaJe%y~g=OLsnmiF{+jmgS~Ld`ayXhyiMI)wa9lfVyvWiY9_HtDF2@Qu5E@9 z4P2a2wb_H8NQ5v83h;+^9y|iAiZYSh{JYiIle`;DowuNH-o9^(2D6a^tJ*dXN!ZWt z-h0zP3%@D#;4GFPZTIxxxR1ii_oyETBG6i`~RK)39&gUM$wtlRh#i(`OX&on^#A&;q&6e;1( z0jwK8PUD9@8Gz|CcvCcPFFy_BFw6lQ{dqPdD^O(^cZ}hfT*u9mmUs;`;X)8YWH z!-#(63mRra#gQ&-R@?~0(pehw-TXXw9(>&2> zb7+gOl~>WwS9Bxf_BGT_-*GH_=2@RR<5F{*Q4!%r7AfU58DSTYQz7A7AM-ZtK!3Yr z*FVX@PT^_40sjGe|PBRsYCFX{FMHvv(My_wXEYg^;B zAx#N&XG{gAp-9U|N&giiBBrpH@@S!qmbrP-N$Jekmjoxb@2{`7d)_TQURc+fKh1Ho ztg$bSc>HI!^4+G7VIak6#iWi^jm9qi!zc=hwoOjC&b&Dl=roqC+Pxi??U-JK&JL(!))IoYBsFI!F zpvHtGTc#zQ)rnPul?un!DllD2-%U%bC+S*Duo_vHrLWXSq`*GW*8?zEAI- zb*`c0zM)#{h2OT5_Z~j*2LE0t1)StY7yR6#h*RR{(7mj~s_L-}*UqH2ysJ0$TU{WR z-vw6OY6MD{?>_KZ2*H9#h5xydP5jYH;D4Z%84j(8F)G~hE z1o$hewx3YRW`>xo*r-XRF?t8vHDv?a_bY&gLFi5A$2_&pzAtXsghDrgS9UCv4-x}> zih_+TyPRR-sf-}L71%n?VsV#k|79~-aAglRU^bU0NDf8tn8JCt*xcavNI3$htj7#I zmVqax5*X+T`hFWd0%IAzC2#3c{`lF*1Lik(8Z3hfO3 zH$k~}NVDt!5GU)XS0whJ3mRHbxnH^NX>~d?n0%?F>#VP(HIUh*uYTp6y|_CxN>8`z zj~Wo2e6ouF2CWLVsU3gr87QC=ggw*+-Pvy|>$6qzLLC8wO~|7uCcsi=BsOLaN6bj! ztZs9vGLZbXE|B<;>E-JH6nKnoxJWpHM#Sd{?O7b8%=w6VED1e<^9kK@ty_49zx!m_ zH|={z#{v_$K?kfm5vOnr%Y03v{G(4GGR}>vJ;%G%e<#~Qv-365ecW1Oyc63NE;i&> zSaNiNb%z;)PpQ5YR&hZ%C+>$Uh|nk-zkAloV(HtTj}rAfVKQg1Q<>Wp65Lpo1~|-@ zRe#*ziJF9J0W`2!UdgveWt8Dnft;TbsZe<69SOqsSilARkP|;Dew@Y0Oc27WvOz(~ z09YB0urVI}djx05gNXt2r?bDz{2>5){|O-9jD?pLTzwdc&$<<&L9NCV-wRmm2x>I# zK5rQRHnd_@`l}u+qf5Ua?`BZ*_iKOm;6X=6<}u5^+^tzGwtoy*;#u z7i^B_!AG1;V&=;I>Z7y#14_CqCZDck8})ItL-^j=M$F)*2P+3PA5Qa(EI$}r@sr2} zQ>EeVDE>sWUXqw>^UGXWI?i# zhuThAulcs~y%<9WSXbZmH6KhOy*gOU)ero#4VM0gai=&xtXBV=M4YZ)EH?SHxb^e{ zM)7&D(2|pTP_F%?(gV=H*&3cfv~FQu>Rtk#^Fg6S>!qjP++}n7f-$y`lwJYZpvB70&JavAnYg(KUOs>)?3qc#esy8&SXmt%Mp zSqtI^%X&0p)6~^oYoHmMO~!qQo<>~>9UeJI@QJ-_)XSYq8I0Tk@rg1xXVrY&>2VNy zh_F)yIS1uDp$Lp`G{Z&y+*1u|Uks2EU>w*st%i_}e9C4xIdW(WWaiI3FdO6m-+YKy zlHE2VgVPw>7)qN$%M-^zp_A0oKd?8L$U}%*agaQma^-&DCJCtHiDVZx^{ow6fU@mn z=c&eep{9Ou(fr2Ta`W|ycZ2%!%~7+tE7#+zG4{joGg2SFPz=Pa`~Dy@l< z`~mU=N%C24t*5tg@Tnqa{{^6wRm3kkA(q5hQkL{4&yw={ooTf3LXn8tehK6rI8{b)|r`dv`zI|1_XQfb0Yp%%EZEbTl3y7^%G#IJa5 zkmJBn%KxoBg;jMB=hc9<4^TW|Hdtl0m2*qKCUCJsU)?F;2}VK{9nqn$;1nAY8-3!e z%C+n!8x8)G@YL#pmtmz(bS1JfTB`$#wSMJTe(XC>D$zL;Qy%KvpwnljgGyaQrNYm+ z+98=eM*V_>CQBhjo6fDZyyakKG`;*4d`@r?gbxx-J0+ya?}=T{4ABCQ)q_3w{8z8DZ_ z$f#6)Ia=)nCKzqhXbUsA&W+(p$!6L^97q#j++%RF z#sEaZ!#zcCGADKuGeVzxrhh(&UlcoC`dqo+!>H35q&?i^#$wCff)@|P9443lz!yBQ zNA$HDLeuG^aZE3wGa(uFZ_CH0s&~4x(2m}dv<%;=G+dlG6LjaIm4)J0K!XB-c|eFn zrmnSJIg)VOo#DHc!*!8#A%hI&JS>fl*B;&skVlWKw(a2itd6vIHBC}i)`AMd)A>Kr zVo`zzzTU#s;3oMR=`h6?;QDxR`^|yirlRl+R;WkhZL|t_WdaZ$m-y4q4c`UTO(b85 z$P#Gf@E_nbOd13JF(6*BO{a$#Ew!JJ2z+v|t|phkmQQ`NJnY>C^*N*bL4C;{np)(5 z_O5Y!H##o_Asgu!02I%kL5uwH^57TTB!Jr-gcekA09yzK1#9IYFY88UfSMxY>S2x= zXv5I}{0te9-Gts%61HPCg5SvCqFI(*Aw*hITUGWwUrhirWXCtmzcjXz5Fq&t^v}bW z!gQmW5fXH7hteYW1K~FDLgjr*8C${$^j5djsOuR|gydn>Yh=|=MVbFXMBqN=a&6-Rx<1AOQ9rAUC@Pt<%ZCegpJ9vDsXJ|;-{)4Zzk~eD!!mg0Y_)*y5 z#-2S+f*WiNExtW{=im?+aLIh}B8~6dUMVjK&l4RPg5-6nR*LZt7VwnrGm!68;{#6! z%vL{_P(Qo{?EDUEttxqm{u%R_GE5(SeWL5CmV6T9bG*^pNMb1$eknHp(aYf5`2j`2 zb#^NEiC#bS9gHi(SL(Wcjg>6_;L-I5&pKX^5NqXWUo!ggGxTeHfd3@)YnjIh^<&m% zvC~%LuUl}xp8|9Cz|haqGx}Za%H@dW886hL)z3W^gnt{Gi|!op6(|>`AsWML?K}`2 z5e5T(d^F4EAka{QJ39WS;P7A@6_j=fj=yMJvep1!i6pIeTd{1rAh%)e3IgMfNvv2) z6`DPXNK7w^qhfRHuQ>NxHQ}IOL@@0A$eVTFXO6vLD%q@IvaKvm!##yu@J1J|VDkJy z@za%Ks%_1~9=D%B!E{r)d`@*Z+RU z@58G&H7#c?#uq64Qq1>aP2<5MDXfsE!VVc%55{;!)b$8QdGy|N(wSl(&>#`4b4hT* zlQKA!W)Sb5AzpabcER?IsIK->jYHrl ztt0-=51P(#MZOM%p`UyH?UA;Phz-fA-a$|eMGxX=-He&6C2-l4SZ|6%V1d@?ivt__=5NU#Y=@J4i>DQ3egTONoIfO7b+wbHDq+$BRea`PYd)){ACIeMEkhDJC$jgnsaqfE1Tl1UL|V z5;_Xr={x~&LWsTS|GGOb&4cR2I$}%s4VqoS|AX%hXuSIWWZZ(kb1uUJ0TBitd4kWd zXRU6ZY8vZ6KYpKg#&gr%8($X}9}UY}|9s&0o?WiD`SDGzgVdGuuE&9~p>JkZsyqaY ztA^U2NEjXaScP`QYO{7Zbll${Q{mj9>fuL*teStfMq4k!{|1RpDfIFVW-^U^&j%{w3GJ|E zMRM!T6Z9Wi#M!4;=td1r2Q68x_t;xsrkPP`ErPcsvW76eIK8pCtY?KR8q@7-^wZ+G z?$;Y$OgJhX>mrxpm8uZEY8pTIGpokIH3C|2%pxWBN@9p~1J(UK^La~*r3GwFbW(Jb z(7gpc>U73ac?x1V_?b_42+Dx|EE3DWVvOi6OrCzHRZ*RF(uRsdy=Hzw^8KpSB}U^V zHr#vn{0js>Mn>3QiQmfE_rxlgDSmJuZ{H8TZBO0^p{a)}sW(SSBrD+u2v1X2*0zsg zc~Obzry;B6b=+fcBc#Y79C!!6(a>{+3h3E-C!fPz5v&CB4wGw4_YndU0V~z^REAri zhg%YCY5s>s^yPN+oYo1Mvrh$g(t-Qn$Y6SzU|giywicjrW*cr>vjdwX=@xP~wfpz$Oc1rluu7@M*2#-m`C(nIFe&9YRIvY= zuY=-~4b-3!b-4TET~q9N*As84LAUDCE3&D_P;x!27!#KiGmY0zJKTKRfod-c+hjfn zK#>LPs;#Cjh-p_&Lu96?2;7OTkIbOO?9qLsgm5lZCI@=#N-o_kWwXDy;p<}A*@ytO z#WNKJyt+?Fw#V$dHIDNRkrKG3$ea1W*M^|h`LHnEYd6SypegL)E3g*wPCP7=%yl0= zd#xSp5mqN=f(%$^&~nqTXl2u>tg01&z2jGdPk{;50t*RH%|+)p=OL9IViKkKN=lp-KTJj-xahYn zLI@$af;uAx1@S5g^>8fx%8W_#D9VigQ5AE#jlE@mu#lDDC^1%^I9IRT7a~2>yB_{b zQ$V94H)u3gJ;*m$?+CLaw(8#5i@op8U+}Wg8K@a8RYCl@;5wgLVJVl^?NOJ}@9)Qm zUX^Xnk?oBbxl>p1K@X(~X^j)0MVxdZteU;HjOQ{=O1M2nrIoRSwRaan% zEtw-Ac(apH1D5rcsNG=dxS-F@rXwXOA&47f0r-0)ODhA}LZJx}vnWjysp>ohu6NEX z3rV}?iHeGeW$8o5Ca%|U)tHIG7*SN%LgTDi7Km7HR)WttWw8$so0>wdw?s`6SyyPpOex+zU>VvMg@7^LQ~58q9X`z<$JX$Q zaLDPgI0_;Hx&IO}V}>6tAuy&zbQkGbiWHVmos#7XL)~{YPkBYePRLx2{F{j3zD6(f z-sm?3>RoK`!4MCV?uAJLf)(>Feu5sLT`RG&Ji#&^>I-A6uS^K3ON#SnR=G&=c04mS za3XhNlzn91al0vs!5wDBE}kYkj{LU*HWcM@1QZ;keXVq^oyrf9-aNN)JQ&;2>iMKi z{FwD#woHm>0bpSdayE8y@!H&=oeDw-u(_Z}uC|ae(NCREsjP}HYX=3mzpy`4(b9s9 zIzyfVOG%W<1K14H`s<@v)OQPUXwOUjX7^PM`mNvoTIK!;ZV_mw4W&rU;-_cX7pqnc z*h&ll#wD=k*iWNC7Ytq$XT?UOHIw#ZXRcvjPbvR{BPbVkk9+Gd*S`T<_(sm$dGXcv zaZ^ASYOZCL+XjTx`4)Nd%ytvID8g7$R;(|o!DPm<$AxM4VoyU$U~-C_99=#>_v6?` zmdMpn=+y|D3|_C`Wt#vV!QTW`DOO(p~_(_-2m zvrf2np-u@m-PD1%WG*Ntg`|=sEDjBPVl<3KW4Zpib@DGnl05reOHff?3)td3p)l|` zH1Aa5jlyP|s=)l50@tjl4^!&=K7`FEvir#ra0$~7-6fm%;I!Ij@&TwI8zsV=-HmN> zE;X*qbsXt1Vc9!>cm4fC^Iw|O+vpUc7;kJ=0v&-!$FQv&Gm-lN_YPPQzxCG{0*-8y zB#_0i5dTDJyl`V%my6sXcDSJFj;T$4+(T?)SClC1LgkblPB&$!=A9l)D ze&kcg9J`WxE^Hp&dM4ugLR_#%+~(y~)!TF)Ck(@OMNWG-!O36|62gYi39X15JW)81 zqYOzUH9JnGvXFG*jVWX%N{TJ2aP4pU>*L>LXL8v@ra%VyD9kb2)?eafsXS#pLK; zG<{a-{f@XQl{dz+qY1Me<@Sw22HLmE_YURkduh{-43VZ{!@Bo7ZLeH70M2;tN$OP& zCGyYU!*rPscKoWwglhKzZMn?Yu(`j=mjI{M#tq+6E>QL&InWKdN|g6S8Tt za+q-SwiKb$h9^eo)WHAL$tGI1?-ZdFGhZMf&L>eGOJHx8s%d1?A+*8W!We;NfyrnHn=Y(5hvgJw2wYM1;r%Vj}taZEH zx&w7J<$6rx^99uFQo85wRLD=&on}REiUv7&Ue(uW&kDNw?n&4DtO%_+oMjwwg5=;_ zcXw`stezadu$k=pLeNp84@*f~zbX-ZmzyB$FCeA=wB2%&6o`nKAHSED;o*aHiQLd~TxyK+BCl2}03wv@pv?5{^@@Ad| zFi88b2w!L*r6lBmk1Q{XjtW2+o~X>1UlB}*&(c|oaP-lrdA?Z!5?<)Dx};*vLthZm0{EKEU4AxNlr;cLBRzMVo4sA89SM8Y5#7Adhx9@DjNq+-BHqTE?y{4cWx$ zxQ4!wR`s;w53}86I##_yP@#>c$fl^uq^QWy+wIWf_(yr_M;qVy8enFlrYCqpo!duw z{gejLlI>93ZaA3{HFe-S>*eYMn0djoBArO$lV)TZ*?1@}K@=hL$wGPb(%@ddSuSc6 zC&H|A|K8KBDwiqpEqd#nu`#-^bBmOM#rRvOm*oJK9=L z2Q;O5q|;jzMCI5`nQYIRb{sL={9$a?k;2$cR*12>=&_Kz=ypuV?ZMJg*+;UE+^+XG z-b*p#t6sqF4X8b<7j-Qqbfm7kIHVI^!iK{gi6{DFQ6!|hMnLUw<((K}(<}GhhId=! zS(EC!AEm?Q-}PHu!Dv*uKMZs4jjhqWw78u-rv+>LT-H26CBnzn=xdW0&R1Ay+adxj zMG4c|4cv#TJEZ0?lSQ1HP*4FKlU_kX?=_%+D2$IR<2QqohDJUq{WfZG%FI5<^;$Hx<=hK*sQiZD-s8co*a_ zyiM~z#-5)@!fSBNLAbU8WLAQhqrk);&Y@w`tYVk8 z-O@w!;qEhC!*%y2M?0NhOx?LT21$NVx-jo}NW3Elu`Q`{QvTNh*Sb6KjdT*~LP%0o zL14Kh(&reBwr_pK!s%okN+W!zR5zw`0_=3Yl$I#2q#94KYFmu^dmH@gwjFP5MhH%T zOg+`>HM!!C;8>OxJ>eP+3U@jcTh*2oX(5R<>h9?jA%vKd%R`V^a+bFj?b_Q$nbr-Z zas|9_N-)?!T^PW#(~|QEJYR1@32ayNUbx2*07@~Ctsm6$3LzVg-h+#Tr0jPpK}Ub8 z8=O}&h0|htqZwmE4JoYtKS-55%N^rAChLO30f_qp)~*wptP{a&FzJ|PmE<}~a1?S`R`~{FHj^we#0`Wz zXr+h7xR#1fwu17qko!7}=IsA?VVL~H2Xor6;GpR#UP;`erFGBQ?#NpBS9opP3>UWp z9vsF5MlcMih*Mz^Qrjp8D2xZsjX>x#D~byWiL1n>cFqcSI5F)Bj&D~kMrB2zx`Pu4JvQ7<~F_Yd9K*#UbYsd}y*)uA`y|k3J8* z50`o#lE`(b4|fN?cX=Q4Yoi{8AMn8og1i3<>I9Rx3;Ys6V0>ujN-$T&skb^AW<&wN zi5^~QewaxuJeFNrQh|+=?3F(GY0E9Asn$DeoG+oYSHx=F3_B-v;KG;QhP&sZkkBCC zcwW34aB%I%CThK@HobHLWU@nJ>UE`Y7u=4sg7)QwMLVbooj5aK65ygko0CFCw`jZZ zVkPc*R590nj+sC1OxzkQ{$tWgPxWz?$I_Z^UFY5KyTyhUdgVbf5Kd=*g$KXOZDW}L zzi`t2#!Hlj=W2cC_y4C1@PB9l{}21Io0~*ol+B7+?8Qm%JmM-rBXb|#RH2i}d%_e? zz|WXk0-?d{Bfj7imDqXp7?2@$4(10nDL=@c>}w!@%2&Qoe_RQX)a~3o`f4m{3A@Q;I(vE>!z0mk zK7y&;9fs%F&C5d-*>yK768qcg))zW92p^W%48X} ztj&WeR>i#tCE`a*HK2k-3sd|cQU+(uj-WfvY4P#;%LGyTx1v%hp=)Uts(>YTaH0c2 zczg;$FA@py9Bo1D37dLCmf>Af6F$j-)o1x_+_cft9g47$E}aoRT9ICx8?b>Y(|ujz zvRLA4A%~>Zp2+vf1?=gor-Nj2lr;Opg7tO3$a^6pO}{C5=Y@YUhKJ_VGjqzVk$caD zb!;nl5BHo~bibHEpP)h-c8VT~M``0Em*t2PRQFedn!uD0GD-cK!0zMiyNt4A*T^9x zcr(ZYcv<{V*+Dd;2yX$4K^}9&41?LJU_Yznxwa&9|X70?9cJqe8b7iE}1gK@v9iw~@7P%h$9P_vFXy4e`XS38p0-4`}+tcC!Nx zAA5((ZIQ1gqc~QWBBu%i_dGkAVPBx706j`U_=31GAOsu?XCAiRos=w5;9i|S-mCUD zw|L!dE<+E8XuaT@nfY{|iDX1x^{*qAok&3v%7Ji+e|LeUcF5X8@10a$Gg0jn&gk&kjEAY>|7Z9%mS33@~)7)WA=2)Y|2 zUnvN#$fFPNB2N%jffP8ob7jb7n6Cq+qk2$Fh*M?s2!?X2bu=RH|&-CA4!>|co+ z5yzy(bl4tqkY0&AzbIy^KlVH0)A%6PQI7$-rkg)lyC;RtPm&GE7%PdL6ij-ay2XJ! z_0nYd8b$BE$Mp(5?A{W$8~wVto+G4m2jmoTa`RDwq7uE6RbuolgQQb+(xFwiRJk%P zg*M)ea@Q^FLVxOGYH<&4zuJ0K!46@C^bAhz_Jpjv5s3sT0;B3RgRmb<>*VP`**!OS z`*6`aIqE36ZDUyP*ES20v9EHNlnIO+#%+kJ!hSwA#x-FNPq9{Juo$Yv-WTyfyx0i( zR*e^$W3D>($qKJvOG7yXoqSMP6nHV}TM=N`=>gwEomLf#&ftTpfIX&SyVQ;oHPfyX z7HI3T-T!iHGYK-ON9$LoQZLTIvnj?~UfvIW@HMhGdxV0eSMW$g(yQK!t{2}=EMsw^ zS5A$Vswouwv8f4Ec4!VxMe7rZF}n(}i@LmLSLUHX*7wyo)=L#m7l6qegqNAbbi4-6 z9wM#wG3&It2nXaiFClytb5MZy7Ac7iTpUJ+&8F?2;`RFA<%%{(N#4>+cbZT=hBRjy1B$Ox6e-W#sx&!MWzgw$wXea=IcbyERODQq z?>5+YpxU&3>6xaJtS&X6frxN2PUtz~3e~>#j>zNA zF`NjYBrM83EdQ;O6K&CJ;Yy)f9Ay05nTCIkC32qblzyFsRY|LA(1z`Euq;ew&dp|^ z!x6ie{FUKrOmkZr@9>C)3~z+Y2hGwVqgcqK4l$M*2@x*f$6mps+MzrC5|GIJovjs) zl&oRZdCCyp`PeB zy9EjY^!7DFqm6fc{ng~G_bwJ$OQqB$_p1i#%#4W0dJ=<>ABgW}IT<@;XhzA58f;w& zqdDYZJh1gJ-D#r)Ic5-~$Qro4Y>!nz(2NZZ&V=B>8&jn0Cmj)$ezQ1d*omDxr;;CRfWRsNCIu$11IG40Lp(!=w2WvIr5CQ;+H=a$c58(}*`G@|4! z$5u%FyIS>apsouW%~ukQPgHeLri6TkL7&A-0;dT2-gy^zlLT=OOyEVa z1+4rsrU;sjSBDUZmq=+-NV?X3Pi)Am)+rLbZ0~Z@67TriW_xkp@$)SagPk^v&fyfH z9k-AEV{GEy5R}}FxZ%f8yE?~nmb4IGc?aKA(wh^QMYWc(T^bEaBzYh(g5DD0HKjQb z8P!GS+G{1ewP}Ny8>NbGVr8+vKX+|t!G=f`o?GWC`pEP?Y=8y(^r~!Lsy5NxT`y+c z3W#6=x?r`|k}Z?OJ*dTrg##cDPUS?0;I{867A6NH){K~p^fY6{s!O1V-h3I&zXURqN@55ET2 zCH_7R4QJO8G+Le<{T!fppeQGUufQE}DOmo^e=Ck^}*k=^X~On225bq7rL;Ozchx6tv$N=I>rHs#$@ zXPL<2M2%*` zt|k1>-~=Pdn8yDyam?-*&{rsisHkLivS;k6U+~MG#fqm=Dib@;EmvDPlm>brPTtY^ z)(|CVsa;|Uq~Efw%6Y19zvP>VIhRJ+JbX4D+a*JkI_Fzl{COe19WbM5-S9tiSZUXV= z5UhHpF<`ztzeSsPHAcN=6CGz>yoeF;a)>69nc)XAKW05F&U-Mn3ZWAIoP$%3Rwni3 zoj4Z_Zy9$v)Sa@OqDtf31W$?=wAWz7WJqDhe|`KqRt0GN9uZ-c!E~Gnb9O3~I$nBW zqM0HTR%!}x*pA8C*j&GkOoz8${jRavI)T|b&Vv1Np@|SZH0>E?O(!27j{GLHU0t`T zt`U;YSz^gui}%GJB2NF#2w^s;>^_Qpb=~peE_UOq!C!NUF5?uJ0b@#{9SYa>eO50YSD`VJULrlHHqhs=Ixu1 z@KW813c{KmsRIo%a}}u-sqqomCssju zLBsTOwQjXQj#VRl-cUBKQ36y`th~{$NT6CJMF@OB1eZ0D7^fx8jo&H!!52}MzLiQJ zO!Aky-AA|3Z(`48;}jT}Jz5!GUuymS;zcBZ##4X_XfJ(eGsnho7IBei>)U_@I~rBb z7%|wZS+qF-bOB&3tpV|Q0gxBmY<6e8k*5bJ?REnQdQ(Jul_oJkoq58>QQQDnJJu5X&>Gtwk~(o?(1Zp`C>jk5|w)jUz0*7$SdH%_ssSvFE47_Ha1o z(4gLvAAA`);=N5*bpYW)T=msQ7)2D2HE@>_u@p%vQFl9kK~Kh8|04IONlg2bJ}F|S zzg8l)K<*~(Y)v#rHCaCKXy+gA^=xFww*HmYKBfar9c$WyjkoJg8q^Gm-#b^COr3ux zd`xyM)*>pbAmFJf7PZEC!8wqO@&>`bK&OJ~diQJ(L6Hy~B?ikeBU8!~!XEXoNNKVv zL{QEuO#tB*ZY;o7+AqMXlZGP-xhOb`6R!U%5kj$G)OEG(F)h{dO z+otwMd#dm8Ny`S+@m3vbh)G8&(8mpgJ1S%WqcoLd>QLXr*J}i}63b&XYTJ<4WrW=h{*oX%+Q zBF7fak2S=P+a`AhP{#KLfs|yk>L|T~hDd*jdoKM%#3Q-#TX=hxof^=Ekx7;!+g00F z6RKFmzjX*SQ<9WYJ>X-k!5oVta3F)CDB|;b9F)?;KnP>Rg`MFk57t607`6S-g*L|QUarMxhxCM^DEk;leSO0Sg{HIoOs5o# zT%h7YyHe#*Mb=2?8UH1tLJ~(ZTev{BZeXRs`*Z$f_w1;!pMF7c3)0&ImB0?#u=!C( z2B0goq;lx2i`+ELXuVC`*1!h(z$4pgps3k20g?}Zke}-X0WenP%sx1ws`(;Z#6p0X z*+wrx^vFgfUV4Q60)|#B)DUkr-0|Bb1)V5^%pKW5_x6T{vTf6glp9F)6y}>fVIBIx z$98|wM_-cEW#s%MsMB_fS_zx%kKznvVqE4y3dZs!9y3dVs?Dj+?y?MG~C4K;k ztA1OX(j8E>udzCr?m}nkcxE_fn?fK>Fgs+lD#%V`X;!l9M1QEeMJ>?6&0PH^HReu>y72UuMqfD;HDV{Fcu|)jIUQu(Zx?Y*+?6ydx zk95t|qJ|$?xPA_7yjZ(a;=yl?C~)~yAP|Fk`o8U$uR)rZ|8A+Wg%&9e$8JN|J+_q5 zAbt8=Q07w_h(8tWZ&OQuD)n6&>tsL&Lx`U5FEyE>$0~``C<(6j&V7)&9-P{s?Lw?f zGl(gKr$DJ0HFwYhR5)CKP2aXYmOzs=>e3Rye)kG%#bUZH6B*T-T#bj}x4Z#Y*Zvxf z!p`yze;Te`OE^LJ$6>64t{|9=9ZuQ3@a_BqIG3yeJ(T14Q@cS0b zJoMSYe?;L1b?(Huilpwb@Mfre@5n1FBtN97rOtd$GGrFQH7KJSUKR?Brj?3a-#YSh zLb3<6+ttt2KpUL5`4+7LV%aoT+8C*z`*xMEVSvnn9;uLMS;pa1x$NFeQ1W?YE%W>NnvWu^>Qu6+2@x8x4=WS%kGxbr*~1)H%tvlTvs38= zA)FUD^1Oo)J*9%9Bfjh$(zY)w*++ZMbqGqOdwZlB_{q^EOOM<x zRBbfxmQ1hK2G~yiX=@4Bj$acvi}f&O7RK**6HWeVr>W9|C7!;&R{iaZ?yE(8J>el{ zHRH2Oc&V8wJ&<{$(p3MwlDvZHXh5I4VsK1nM_5saiB&j^FO|%EZsg4YE%8TKDTW5k1;OEt zNngMBlj`|vD$G=_VZn|IhTB2lN|3BbQtT4D7XsJwBa=z;$8eH|)i2oJW3j)~BLp+3 zmSVzMjSs8ml;r(9hv?fjIVp;*dWe;UM&}ZX4$M9%UoE|*-n6K&a7 zu9M|(Zew_1EXIAOf-H;EzGlo7V>o7uFZ(Meo*8Ohm9y!f4B?b&d|`{(&aIwwuEYc1 z`g=@_Sh#n7u0(#BzW5{!cKR=)79mf{04o35dv5vo8f)!t=Pu{Yw|#mz3%`77{%(Pr zmvp%rp6BLMQdA!uh|f3Fu7B*-4;&;<0r%q)H!I@>9I|UOMNXY&o$4DNG#cZ&v|#*X zLYclWncEepcJ6*7{M6*_ov$?fpVhVP^XKozMBW%QcKZOHg zu77&4Lx1pLu#UWx+0DRvgbir|-E>ZC3w-2)r7HL__ay_y{KG+Vh(~6Z?TAp;dq8n- zK^vre` z_w<2$taZFCD@)^x7Rp{@r`dV`$&S`PKY3rueb6eHt)9OcOhnd&@8PAI4_Df74Y^N;jLNqF zFz#n%K%-dYf}&pIGKchoZ#*8}@g;KQ1_)Pb!1*u)SkAq4=DC=2D&x0L&CWRd;$rY& zaitULX0e=Weo8z#Z1(5<<8SzWqLgjex#~=o24+{uoGjH-$n0{-S{;-I^aa&!-KL0p zR$(>+wN=4GJBRNCs0MAidtI+R{-$0?t202=LF!|k9q5dg>6JRY-h1YP(do(BhlAgK ze$ejt%innwFSU64Kj`tU&Hmt+Q*nFkHmX`)M*9brO2w-qGC9k7~|NWN#zL)=gi2gl${=IDc zd%gVkM)AMh4*3X@%#L`NKwKI2MNe4_Q3gY&6+LdXMHL+M94wq}dSNWxW5Tx(djIcK zEPyT9`WxTtzeCf5J`cLAFq?LSm1{rvuJHfhd(r|uC;kiT>ptS!{{Q?!yJ!A>mih0( zkNy45{Qvs73@$itX%B8E{NS6mLH)z;e2h>3GdA?5{&J(V#}LHu-`zNJplU<-v;%z@Y7Mak}FQlPIdiaZKv4eYmvs z2L1HxGqtPG>7j4&Km`{g8Aae+ka-gQFx^UKPAH4NYR>|E(6QyPr*trc_;_inMd^obe9(z&#l z@#NzNRk3Pk?Z>S9yj`TvX0)<~Me3?G3z5YGA;-_0OrM>~OC(r1d2p4Vjc&YVGBQk5Ix(ETR-}d=rsmEn*U053Z|%1}upt?s3Acf82Q@B?H4b_b><O2Up*&d>~2fL{39 zjPdWg!}KyW!VVM6)acd*%#OwMPt+E5QR`c-Ea3}^b+WlV0Cl7HDoC#)u>#QS^K~iX zP5bmJJP`g^KsV3>vf1`xb2|e&YfxXP&R>YX?B><&nKfd_T&WN-tU1ec6r;a;vPViQ z-=Z``SX4{RRpsv6_(xJY;OS7WIYVd0z_QXS2Ir5W6_+`EbAw#*5o@R?3#SXLa>)k> zooHMPW9?lzP`FGZ8R#z30p42=yuwb2rv7X;P$7*RPCY%YPnkjh6D+PJq}FMn3VT6U z2f?*w&CtV?j$$a+!3XftEVGP;$ibVzTD4drYk)$hBx812Xe{|3NCnZp3@Qdi*i!{Z#4(p0MM0LJ zQxOdrC3f&bQs7aR#u+gP;@;tfRW#$MOREIiVKa-`w5^T4gly}al&AtWPf0|2!}ZnT zW^JXT#$Ov2K0Ru0V%`;7$?Zz%-H-{08H=@ZmpYLxa1XG#Y>L;b9rXQ=jV9h_$F~Na zd~!_o&z|{B;l{={F`IVxKQ?7adOq#%t=E&vONd2SBk~udt6e?Mi>lUXy^-C~{9E?v z=Pj6q%)uWDwKzVE|0!JY5Zj1I38&o1#hJq|Sj5aNn+UxAP9gp$>^5tnYgQU-&pT*Y zzBJJ~E7Y7VaI&5K?Mov|O$6Z%?B*j* zfZwlL7faVy)JVAx@?45}d>>#CGX|edX|@`AdLO8Bu2+-@$|!eFx|%QhqW|-}MX#-t z`bg^2^qDt#>LC&=$XF9eY|gw*2ma#cwDZOfNb_gbdEc>Uvbn<^a3d5NZ0`a@9>Mwh zp_pBiaInk)NLuHh6j&Z+SIil+L<)lU6CBZv78mF)OWdmJa?AwP)vp*KT-=8Dt6UhEqugvVv;~6RWWf2n9Hdd>Cs+#UE=QzTNXeA%%W6lqLVkojw=c;X(72 zO6!f*ugV%Y4oOLP)TZ{WPr+Ap@=%7R$=+ds7d!03O}bPJ_Q_m6QYr7M&4o``Bhy|v zRT!U?$q`CxQrA@N$dlKwqa?5UZkP?|jLw_6k*;Uy3SaOOrU}`Qf0AkORYZuV)6`Ga zB73%W%Ao@8{xZ%00H+XB03c(A#GdGs!lR$T*_9Ed6FJT3DXmwELU05N4KjH@bA6y? z`c+BF97W-8Npm)Vj;&;ST*rk)RlyUSm~pZRPA4*oHuCFZ?4rYPi}`MkF?O}7YpL0k z2km6O&y9Yd`_uF+Hhp!b?`alIqj%$cY=1)4Xn4TIC-~Sq%nj48jp9`W9fP}FWK=;W zQPuwK0-gEkTr|7dyHri;&$HS?RW=VBB_N!eD#Uz#uptBOQw`Ki=TG*&4{e__zwmJ(~bk&XzaPt?IlIHW7z-RR=94>ps=DK%zK zB;tZ1DWbo?su5K<QuOiK zL;v@ohC{qQE80AmUTP+**`h%WGrgR91-P?CsN|Y|bZ;{>bed9!gOiUv8$A>@W3XZ0 zaq*#}a87Q|r`g6e?wx^H9^DTl5FL5ar048yjaLiz=EFU?<|sE+nYivg8 z;NWoS#5OyoOf|;Y#%`+_KY-!q@~o9optFt-RS7zTa<%wNVlD*T4VrY{Z88|+l@mz>SRlNlOt)$=WZds} z$|29d^xbpUFsfQ%OL$ATOGPSexGt^E*s0Q_XJZ7gDHv7%fkp%M`GT>n%sIleECK-0 zG}suBR1MaeGvSBG5NxBqmS^OgW+Upq3HbuMrT<=jP&^X!YEHu5!u> zoaqc@Jx`da6?fnvbEuY&wB#=qlOF~+%PZtLC)F_LR6U=|*rWb9;a0uZz2V2N+R*!_li`_flw5S5AuxhJntHAzz z<(h1MkEIJGDq3M`Bff*{%m4K{wtc|PK;FNT*>Q{=!Ylxd6gMe9eI8*)GK+<6l~Y zZqipol_vT??3jvXPLlrjlDjL~dXR0#*&<#Iz zurZd#SUMYaPQC%^9-}*TInze<6pvKp&p)e2XEbFgB28#+JwaG(ut~m}LRMe(T#O7( z@Ayc{5osG^0F4yL%n_fSt7a{`&^j!smO>aoj5rJ?x$qd<pvKj=#LL3(x`|uH$*5P4uoz=+5XA#cKetF}YCaJ>n?|d<$>{h)j9cgUP z=7l5DD@8)r-#~wo3eFvN(5YUnW%I)F+s_3g(a&@r+91OJr7e=4OZy0~NJ#|4 z{S-si69Iwevr}FrvYQuTv*{n3$)vl?DsQL694U)e!LA|6q|EYks>7LNEb9}i;T>Vo z>|e&WoV}YxN+N_0W^Ea*R6`Vo^~!hAT!=t_PQ2bB1z9o?orqM-ZVP3uHq>3Kz$s%y ziFqzz_Fh8n37t`Wt6{(ynS+oixS$8imkaX?)Yoa|bsw5VyMcI>soUWY=aY1?@EKk} zjlSqPTg`mB1zPERZc+!4IrJw6IOPKp6*pfwld|c~6=|i1-*b8~*{q^)J^2Y}vg0*|2@8H|4r7}o1rDnR-wgM?6AAx;NwcdGl z=Nqt?$nR*&bMWs}J4wR&*2`hyw`+&MzbJxLI;CIg2jB63|G$6Vmw!Jm z|2xfxY~*AaCBq(W)8haKX;KDr0BBE-oM9 z!mi9+CXY6+iH2)Da%7ol=uvYcW;EDujQgun8l>aWNw78 z;%bdpR@900i@&P9emH&YY;37&e~dHrElYlS+9q6o4wDvfwp{CCNx5u$2VOC=`h@NK zs=-y|59KoEh{1#q4i=UOs92g9pV?LX-YcwaB3h8^$GUe|&&Rt@-~Up~lJ<+Pms0(| z6{`Hv`y}o6fNce!KSS*#;}N{hixldr90v$LlOgEA@^3Fkxd99fCFakHA|qru*nj(% z=N-crxER(g2-A%Tf-q^g9nuzxd^FU%^HD#b`FPmmQy;t>2=*|-i33$cL)Y|Uh_ zOTK%usYD^&LecXoik;|Qg%K|ps&syMv_SvF8<(8*(`Kb)%_`YH-n~C2JZ&-%>ROvt zE|ubIuWo6W}kp~T?e@{n#&-m|3)Bbm)g8!d>hA~=> z(67gvC2)p`|M}Z>W7Ge<7wGOP4jx`(txeKcC%H~+5OWQ9U>tYjJlK3qkY8z4Ld6fh zKwJRqHKul&q#%c`;5A9S|7gQI$6TfQV4ajv(tPH22xE;-rf(vY!e{{r$>HS*bg zZ@$HxyC?QWzE@!YhTYgMcuxD>vw(=Y4=U-@fLi@R+}D7*`l7^3khHp=QD1srldx#m zjVEN3VL<-5Pjd~@&!d7ogfh#mUMi2+Tw+ayf8vmm$`rVM><}770cXHWFryW4kj==> zzOtJZdIkPXqhIO)TF?(?3CBa4_Lj5*VO!k=A_ZwyFW3_&n{8jZi$vJV+RxPO4%3J? zFWE`W81mZ**^PQiS&Np?6K*mnmBdi<19M$T9%@}J6`Xd}yM^ly*8W)PyJy2Z{oJ@l zdde|ZBBhF0nOcX;$wLilbpHXvJ(Z1K!DyMp+DmKJVoqv?g&dL)_X>0+iMN~Uy8{q@ zX0%+a)*LzqzaRd=*CkuBT3V%&p>9xibDVJCe1}HlegDoUK4FH>gSeQ39luO*O>@#~ z{QORbRFs&0xAD0)I*M}7vc%Sy#0gukJ)SpSxe$^+Qrg%#w;?Z~{z5LJBEq{~Ww%wn zY{eCa;sdA68XkVw*PijUtf@BRm7^Nn0WIN6euUQQUrZ{y>fAH$b@@bP$ZGVRl9fXI z*ftsmzUc}RIt-|`NC);pEvf1TSq`6Lj_bVao?f@CC|4cLh}mF zXfE6P`^lp1U%aOy^0(sNlm}J6I~5E1CF>;Q>TdL}PnGg^o4o1+gc=g;`Tpld>GQq~ zE#qHu=}hghLVJs=+T#;;|HlpcHmw`OK7&m6*N0sa7;3XANPc}vn#CblkAa+=?m;%! zXI9`&CeF1H$$M~mKtU2dOGS#JPEJq`d_yEoCDhetGYGrjKo5wJNZyb2U|DD2bQm9u zEFs5igCcW}u5{pE{t2WCsmbU4m1MS;o}~n&4m6!WUo?3XnVfBqIuPr9Y4gOwy-FFU zN`ILg3*+K*T`nnF(>vj+4FPhmdJw{Dmnv@3f~8TE)jo~Rg%+JSJ(RMCY4Jv%_GDte z-rm4ySTLaaT993EwQOA4=OUlyETtJwde;MY@1@IIni&w z4n4q@D(t3vJJO?)N;P1eIYNeoZewb<)BB}a8Jr_iOXA_yM3y?Kxz5aGjH|&EjOs9p zc@(-H=22GadX6$p7)REDR;-=#A~+h z@F6~B3U}ukr4xl`L`&VQg?NM3O8wDZtu8hNFC2H@3u@|{!DN^7f2o0Gn1AxpcBD99X`DR~ypzk%B&wRVUQ-KZN&f zQ8+@+fdM z+@n_AuI60Kfm-QMYe8WHQ?abTMC!sjdD%j@QgN-p&;?h$tTrLlnPE>{lTKyPf>>8j zv#+*+0(OA8$%ez6c8)>_?m<$w?Dwuouvey`gUcqb(Fo1xv`bML-X8R|tQnaRyv4f+ zic~#M4<`jxbvmZum7uB{UkIUUYl*T(X)W6bh42~Fvkn-;rZGR%a!;j9yBBsxiq3hl zXX-ZFd~++Tu;)j9di;N}_uf%WZfm{m{l@std&W3t|HDWj z?U{LI=DhFg`d!2L-v(Y_-X8MLrukmt%Ju{#APRpj{qxvskJH9nejief#46?<_tXos zLwU&=wPQxdlT9<+UF2-@Dy~C$=^~lq)$-TWMR`7+`;3UE)oOh*-7NPqs5Bn&oQkhgz5E)cf`RCyYwwO;D z`^MZpo6RAb1?L*2N>3%<1U|jX!x^5|0_FBGfxZXN8wKd`Aks1ftpjtkh#*Vih#ejK zT$D#N7vnbyQeiVn?9XP(_vT9)a#`SG77sVmrByK90jAuyHK))+BC9)0B6=SPlp#g> zPF(1x^RBIo>a}G*cZqSt;3`fC@^K#~wwgR5#BR&l&&?gr* zTeLs&MCzo?oFfNJT#|!J{{*85aW}o_7^?hC`e@$7Qf8YOt;#||=wX*vOO`BGD#Z@K z`ky38q0#&a95#J>I7c24nN z0%a};Q+4h<2x|#yZc}y~r+|Lk=h>6?$$oYoV&u?8F`4Q+Pf@#yK(^01zhXIpb)c)p ziQpOrqUaaQF18nvk-S(#8Y$X2I~uD#$J=~jEkH{($$nZFEr3by%r)FhsC~{lF@!KI zUus-Au$!E}x?X0;0tFn3Da#-1u1CIeC=UW%=hxWglRa%0Ow|acSO=ct%R?1q1Eqq; zCX4KaJWUzO#WR$p+&WsK7bYz?V6v-)(4#vKms_`C^h@q$RE}icuYp4SbqCY^bss1?nk~JfVg#oa` z`om3FOs)f!_|W|X;3e^E(^V;|yn~?#`4Y@vXQVchKyi52=0sB#4`U2GrGJ8V>2-Aw z@Gic66;N=ECN*v4TPdg$Wd1;RUm~zw3V`%wD&UOFZ57K z7#%!Diz|sqQ51FwGE!()0=3dMbJLm8o(ISP zTyz1)ehKorayYr;0COGee7wGMe2}1qx2DFibd?t#&`F7rD$PvcO8r{EIDoP|gJ~$9 zzB#0byGrJ<&v&$2BOlQA;YP!oF3Lu$&L(B;rof@h4Z3$iCSIPvZP971v0O_WZiN>oX|@=n-qlcbHw(XKFL(7x0z zdx#j{V^5{~fxew9tT9E9KMrrU8^|DZ4}MVG4jBtWC6G9Zpl?iK zIsJuBl8T5B>NvY0mg>RSth`#QMtIbTf;nf(Q??><@^e1re0pD}aqR8e9;LTEXX=ib zoJlizL+pkB+qXFJqRo=FndXR~Nk2D(Jv5PiX}0$(Lz;#>Hej7m`%S4tW?tS*C^e%* z=F7ay*YT-$Yx_&G7mcsU^7epCcl%~HW&X#}aVFmn?u(IGh5CshT&N4RAIHo)Lk_MO7Y%pWvr zenpVy5QkzlA!NUE^ok?ta@XOTTmaOp&kK~iK!$uY`$thw`wV!dJRsLSj~eS`ft}C4 zKc(S-Faz7=1gPf1g8+`r0p7P6Kx|6@#I^+zAfE}#^MA!r|NH4J6-p4}+W%=04xxbG zdhs_LRT@CH`2l2`00+qDk^kBNAnC`L@cl!77D6_laJlHa+kyrh>VJ1W;@PKSL1*jN zh#t1!Ea}@U{2!zCfA6T(yME^=A0e&uf9Kew-A5XNuo+ZMvMFYtyJX30Q1$xAQeq`Zo+ ziS9*HKh^1mjD>nAXT*%mHzuo)(}5Q2FE>>yiO;+C?W8bX*XU{Pj*E5Z?95mEwg{E< zRRt5pew|BX|BgZ@7c#P;N_MPy2q^eulUR3KRxm}`Vr$1Q*Q zzw8ee*IeMYSlrY)d(!HkFIjSN{qteqf(nQJhM@R+8XU*pkJtbISAW{`0N)<4n(Xxi zHL97tX4QQ!V)7`ivz7Gq$#;(TJM1rDc6aih3**3*#T@^qH}a2x`+pj^iDgxmK z2q_SEz)u{NOrkk2H^L9#Za(eTrfW~KP~deTaYm{UYThF^|d z2wZbNHnbIZY-&HQ|6Tpmnw4^Z*XK;pkv}k`3;AZ3Vsvg3j+(*tp4^YH>3^9=TrPB? zUQ^pt3uljRf9G(lSiX1~9eCdbV4l+i%q(q?OkthAp+&5YG z>2K=AJUfQsqLen*?kq}Pk0fOIT= z)Z@XuS%NEeB{2i?UP5ZNktCD?)x)16mQo&9`8!2%K%;QJhExgvnLX+pn8?xvALJnP zi2>hUe!6XuHbY-$9qXasjsp2=OFep0kbD~($s|396p4H%B?0v_&tN!b<0z>T*h?L$ zb2G^--71z*R3}LQD^L3*+kNy~I8GQ&?l?0ZxY>MH+8`6YYC^BIeF0rrr|QekCh2?W z*u@^4|EQZitD%RrGb%VGik%a9*h32*e5#sa#pf>W=r?u)1^=x8E`jFO)$&u{&ZNDz zgGK~n8cZ7)%?V=cOTXi;jXT{}A|GFT6tO1R8+)p1iN17oTIAr9d0pJmiLUDrxUc!> zvT2_E$_@dH51YrFnZ8{C1v2jS=!L&t7r;=qA27LM>I>uSTP>oPp0nCfk+Qx8iVSuX zvyS$t$=rs_J`CX*&U0Pj;Z!2$>+JEnu(&om{L-XU@*Iq()z@8PsO@8E!<9($__wu~ zyE%9C0Abafue5jxNEOC3BxTT-IL#zd3S6Q)FCD8ziN#WV&h{>wCdtzjJ>-0J5_DZ# z>+~!;y)k_JJhfdOOr5sl>QCyI#>%s<5*|ck1-fHgOG|_5u6P^9lqAL~a{YcyMzD({6;^nJ-G^gXA_0L;iQ%5fD70ZnXUDS4X@SRp4k}w)U$p)m z(pLg?_&r8gRXog=-~vId#nqU4{3DJ%V*pI0d3Ajnz9nP6Ej*Axu(o#ak51r$8f^ z3G_S(gvoo}uuqYNB@I^6G2t+|`MRP(l#oFlrc$Qsl1O~zgV)#8#+G|i&e`4QO$VOi zkL!=%FNlD7I-44W^v+kD%LdcP;32F76i0)9(4Nz#wrDm-sz3=RjA^nx`x?J815?sF z^?$0}e*}NsAz2UIn*|)Kh+K!R6B59U41$sH+i^9aT`&E4*@&L|)4f5D*ZVHFl1EHr422PjMrc`A5Zh(-U_ zuW=Jq+jsVDq$&*ZL_0)&KpqN(KLBdHYSwv>3g_R!&k%`6fJC(uEM&IJ{<98A_Q+$* zNaysK*w0J)$angRELF&f;YrzFaAZm)>Sag89oXiJFNY9t>#>u)MAnvH8w10=9~Zn@D~+DN-hCe%ct%*o{5x6wILM zWnR(RjW!uQe2Kn&%d=%`g0=`gDAE7Y7ALtwkZGLEx`>C6ol@cxZD@M+-LJ~pKy?=r z8gL2CJk)@b(>ISzeeNqfaW@4Y@r(V}>YLTxIpqA>-}&!X1IcH54+|l(ZT{vL9C`ZP z%U|Dc{?Yb^^Yod!*L_AEzBr{w&z?=%Ih(9AnuP-Tto#wY!eczo*4ZoR@Z1r~Kz;k9 z=E@+T1}QZ7S>_P}L)l?P@PO1_wd4lLK7AVNdGT;txy=BOM%&rf+Ygr;6`Zy65c$#@ zl;nl?c?2bH8|_!JPKMJeVZxDb(e>If>uo+YhO|_!517Q+CTgMN@H6;v(dIZNmqiqkJObM)+b@IMgK55G+kG3p^vZe>T*jKWO5&CWSH-s;<~MwK_Wg?s&yP z%XxE>_3|YY!sNAPWXB_L1PrV@oPB_C2T%CSR$*3W$87ZxxiJp*V@woVrGbYhAZP0>g9Id65C8jwjd_!EBJ}4P%3U{Sw_gH1~ zSoJY5Sa*#_L2Z{(3WPfpbhPwz59$l$Ur~XHI0LT#M+3TPrrO3^*-Jm^&KAXXd7jAU(L4?JUk1<0(V32V=JwUbFb5^F9d+pS z27NA$dTj-S#MX+s>boSff*Kf2@#_GZi0SB~_aF0=rMtZs^sI4wKr&{^6jps6 ziQGe_<-7laS70d`b93wZ-U|ettKLSYo91&FeC1S#|`MDi3wK6bYE<>WBi_2 zE^VEZZ|c};7lbLZqFNG-3jYif+BAOqFZ+`J(gx|L;*EOY?Nd5yq==heb<+mMeSG!; zK1Qf&p4BBAB^+Ai!2jI7vF*bA)zl7DaG}c(VrgIaPpdoC1movZ+;e5j{)72>8iuFd z54<^}VfeEdU)gKT+ubW?ZgJujIgFP;vugvSL0H`ThJKA^pwJHs-$x#Qw`ukX-9jJiXbKZ|?G zwFeSAW!W!hx_5zvkNE9M;pzkScaAmC`lxDRc95Rb;?^At_YQ;Ens5f^2-XFlF1pQs z31o)<y|jkFYR$p#Y?f7WaPjJUN7%yFj3Q zx_V<8q`kuVprNV3Ym`)P1)EizJ*R_jlM*bJ>9 z+-N3R0kY_Hij-{Q$d_u`1PihIiKeccqwQRF6pJaNc8Is+=%FvULOvXT_4JH z)|xkR-;zc1%`08-F`qtCBW06UHtJuHo|h--n*T?KQ+M(G$=|``^>{ca`L34QR)%-` z=Zg1t8*bQ{lvslvEdgU;b^kc&>5<>PYAbN9>a@*h8@q@e4XxNx8#3G49=K`-?5X|6U+$B_-tCO@D+cq zAyd``W>8nU&SjshkQ_1+l^V>Lp@V&0RHVjG$7$9{C}u7-27Q#J69|Zr2q=)=k9*D5 zc=yz1q-OKJVSV6njHl)BR=?7+xJ41JWcsPZXa4d0d*NQloPZEb6lMJPO8eY$@i34| zUbI?KW?^OL8$u@3l|3KM(_JEC)7rqGIy23$(0Jk%eoq?p;V#iBm)5&&L(nYFwTYe+ zBbzzCkvA+&*G~pCwY7LaV?qH(l)eteWxI4AkJVyU_KXWGx$8kB+INm*U=P*|OwiXH zrn@O$8^Jm;IW3qMni3Jl9>+fCD)jhN`AuYfZZ*mhR#Q?&5c4Ya%!lwcFykGNB42Q- zng{&~Z~ZFYFQwhos$SM+EwZw|1sVG6C8#8Ae!f*_<^{cXk~N6-?X-@zJ?$Unr(01| z{K+txJ!~ggyih0cE_-5hYGHT%oCv>aHF|0Wc5%;ah|ss$6ax~oU{ivfQim8#6xc!b zIJ~|oT3;NJa2R1-oGpwi5CN7I<6jxtQCn-W=s+P~=b4x`=@Lxo$gd1Gu@qDEl$sk^ zQoOXC-RQh`t~NmPZoIb8hIybugO7b?#AvzRsBf#Szv=BvXWNpf^6cJxh2)kIg3>|1 zW|6}UB2kq#d=s^K&zQF5-TBT|gu}ztI(F6O1`7Fp8BEREjAgrrt_`w$Zaku87QVeY zxtf(-74X%2$%Dcm4b%x{WO2m4tZObk7DOWG~?7hQi`U_}#asJGF@Xe&Sjg6V}B?&lRcQi_sKL^OKH4i>Vd` za-1)}HSr(kZguiB`c~7%d-mszGyMkbh`Pya_^_zyt+hNlau<17VL&bAi z{sfVG#C&?>i6ZJZzrK};%Ghm8E~Y}O+(_fkYKwelvx2-_yI+QI_|^D9E>uUJk4GEP78gUb&e@SNYIpk2~PQmOiQ(O)SKALHMqFR+75+DB%X76 z((1H4u5s>oH92YV+ZeHpNKZysNQgvHgI4`$weJz$=p?+-(AR5f5wXHGFp0Qa_5i64 z)YZoERc`_YeHo}ZT%tZFHUL1b3lICUrAFJ(voK-fxf5`6rgUjZ1npJ6#ku?}ev3h~ zvHJVg{>N^?)ty&_!$pCTG3wQ~zVdQ<7*8|82yGL08X>IsQ$nA*Xn3x+MI)y~bmfCC z4{uUk&5{GzzS6*NsWl|c{DL`C>iD%_$Hg4F&hxO~b)W)jv;F#Xj6GbG9P4Q&hFjBY zuU8+X#V0nj7uz({Bk_N*5m1Nf1NK?yKr3jZN3{hq11V^+hJec-mJ1naQ$G?RrI@JL z`aOOBD_S8GO7R+FCAbdmH&;jzA>{;4KXF&RqO9qXWx3+oUc?-u2>G1ptOArly`Uw zw&G}Y3IcSD?+v7!7kWgcWM}VWdVdor?#cV zGVZ)q3n2yt$eVr(Iy`oA9_ndtv&ZFzD!D8|@m5~F)`Zo0IRlN`wsZ1Exe4iQv^LeA zS%%JP9e-Ct+5ETkq}um#UV+Q+y%`+SLs6d3|dbTqpd`7HyeErM`VAn&e71XwUQ zTM+r<a&@r1hssrfy!Ps6%mL#0XgN0hhU-k==^sMI}yM>WXVK+cA(vdGljl$EQ6J24(PCR zaj`DW?3R%>KvSKjv10&4^57A~?;O@}Rxb|HLH^^D|2K@eS6E@<3}5}LqT(574^5-;AbP+>RAa`sGi&XwzZSFzMr?cfw>w zaDqtZhQTBp@4BYjwc)AmNy%&xXZNCj1GpQZ8!`pMH=dh+H7a|RpBa8$LFM*a4jGcP zzj%S1=kiFog_FI2QL!|)mV3i+o~v6;ZhJwtIU28BLQ_GTmgv>?GgE9Ac^;!+2K{7H zlk=LZljHs8!;m+@SMopZj&lB!Cg0e%OuvHhYUjrJ?MzvlteqxAUiCf2$?f*cz0+HF zHTRRnZHfJ>3W1mKhtkaq zDBV(l(yar(?@k9!LLlO~36$7he*?Yc<`8xQU;1~BBh4_jJI3uEfu-R9giXi5-E%*b zO{!(Ue%Ktvjs|KR33U?d8FKuV;Xxs!>7win?oMCe>ie`|7=@0m?s43DdNuhC;u2(-MHC~ z`_egUw;sZN3qKK1l)JF_I%H~Us_V?gp#Ce`jiQI5zrRr$F_UR7KW=rZ?#=0!&rfAt zBuao*J+=U27wXrl){E0@-jjP$QKRt5!|<~GtPX8X_wyFY-6q{u0jA2DBNqLdTjm$U@0Q*R zPD`^+v`$LP@Dd3-Gd5y=W5l_%{syRf?#lE1y;}#v{1ed(!fkKvw@31`Un37Kf=odb z+}e!r3TaXtO~ys#P zu=9Fi*vw(bm^v+UkD4RGcXb-6->;VAEirAGbqd!`lshwz;*BjO#CMG)_*tX~C;L_C z@5n0L+((jA54PDc`ySEAk%B?8M}xb=_j0cJUWW{~_$rbkfGfcJem;FM_Ki-sYPtQ9 zBn`Z?eZTcCDpw6f?K!!z6v4 z&#S_B4g55q0HJS3Rgc!t7Z@xN9jLN5=@JXA)jg*zprmQ9P~)^!5i#&{j45t1 z=hmURQ2cI@;r)xyum8)WUH_!j`ggU9|1DR4>V&4)9);VWhToWh`In17b^f!^?I*Sd zj#K{-)*O&3q(74mM;^V=YTrKBe$RqwU+3Xj1NC(xVWF2pah#BuD{~?-?7nArp#aO6 z2JkB3X78}lwDu6!Q7!mUOyZTglo3>>y-$8oEUF4On>DQs1u!p|;69uDabVZS(98l#i+oI=wHx+)h^V_TXETd2P(=d_3rVmEBzw zcWT%8wvHaoDFn|G-x|714u<>MsMA)Di+tI*B~MGr7O^rqRsdHW2>E!(CAG^Y%%4_f zP$R(|U+tdhYUhV>wmT{QBzyI=MrI@6dEAa1Z$cj3DvTvD;#ivXW1;XUVRXIWdg2y( z(qY?kD3a$R_Sh)a439b6N4JRIy99)NqBlE!#$;1$AQE~6tI*^w38h!`cAWPAbnLQ& z^>CQKziL~@!N?Ejy1*os?w&CO??xYKGX&&5PYCQ@4~$N*e`bk88meouv(?Bs64l&+ z3UAczL?`PjG$zgsCg^jaXdn*o3R63&0Zb4dLTC6R2Yz45b@)wFO!Iw=e!CdyXEMbjr=Aa)1&Z>>^+sALRH4^XAIc7oKV1&aBu#q zJuML7xGHr9>hrAfBXNh$aD)Gi>zX-?(V*L4&4xpj%^Vq86BIXGSEIY^(C~!)(3e}A zYi8yxul7bLg^fL{BS2LJnq>6ANnV-}A$+z30&Cg>9~lm>i68ty9eYiY22$<>iXjwu zEuH;mktZx@I-wW%Yq4`wj;>}0!@suxGqrf#)Q)*VpJP|2dH(zVI)j7c6%}< zvB-GHTJ(w%CbC1JI_$v!_A>qB!>}R?m^z`;$;cslAxHn#*9wg;8lz=EMyJZ0XO!tQ zF{&O(PFg}7QfY8);!m!yTPTTh=<;A)pavg0o98KB@5?llIzwwK$Z|mm#8+olH2bwg zhPa$~M7B!4`{W8)NKN$SlxFYC$u^TzRxT8=r@{(_ikS4BZEr@?L*a?JTbcKnycQD( zvAMwGkOnO}Qv4N!D#D~wX9Om?BIThRy6Ry_oBSAa{t_cKUW?yvg&KKscr5@we9Ket zLT9XeBx65?cKT2*VM}}KIBPsSLz}5M|~yeL0~CFybPhA@4up>R-2ep z=Cz=3&9a+QL<>1$!fhtP%tOo>#t&4&`p6*81t+`HAjui0K{n zl$Ex*s6{m@&(t3`K*y{QeWVZ!YwixI#`vlyoKB+pLi@iqDR85gjh@mYw7 z<&}+Tw>Z&*`mjPDT>V5(mLMaAH%~~Il9<}j^?_0l%7H;hVg1B3 zdp)heubWVuyqHEXvf2j>&G z`xs=ekfD>{Y3ESe;h;hm<$jQ%y$V!g2R0@;PO!U?M@W7qY@x`J$W!U`Zql9uRvD0} z(88b4SaZmqrus9>8X{G>vwj6cx(nJy@AP3eoR4JBO57_v()2J430o>qY?~mSSW|OU zTG2^niro^_noUYqq*Pdz_aqiwXtMt`4j`HR?tw0rT_9v*+2 z_Q&H&wS6W8F!x%iA5z`)ya=mWVS5+QY%n4}{Q@b%qN|ZUVf!s}`z>FjA#b3?l3|je zkX7(oB$S^_O5y79#afVrub}HLVO3H5PAsihIz2E}*k(`j@U_E_;)z9;AT zwL|*t=h12tQ(aBW-Ns{7RNp(qA&E-sqo0E>I-GN!s( zgW!yy;j*2gT#*k4G9nugw*(VwnFIqV3a3#aug{a!0$p!KO`^3UpVa+a%7NN%k-QRU zSX7o)ZSp6D{}80!-KzQpz~Oyf0w8Yw|=*;zkl z4~2=E6Uy!i&~V$Y4|S}E!~2;M4vd}nP(?*_loSuckU&9-vouCSP3rSGUF&vpb$DRN zo>YWreqgXc@T_;C+~ zpu9HMTj$!3h<7bQccrFFBFs2}36FpF;(d~Zl#n7V zy-;7gv9>anXi;p-fZ7nFWpirjAq6lYp7&06Ri9hycJp?Ax&)NlN+jM#y9*NBi9idL zXmN~?SR@v?C=^#|zK5_76hvh;!bHpsMBgfXrsGYM{1q&}krTFHXa2Q95mo`L4bU7e zev+c6sHuN=?98Lb>5_3Sj6bC(hLWt`NEtI;9f>X6llso_=E?+e)euZyo1j>qun#A1 z79PF!CB4z=k-vH2gc{FEU7f#0at&dgt$eOI@KCxhVudfCSh1UOZFR4*cy+gU7fzh{ zse=!~Z^uDBjE&jUhg6kMHZ7_VYCpB&ga}xHb8shDc340LiPlMbIqwV{Zo;DI8Q{eMWEC&v@8y*>z{xCA}U`h`nbf%4p8a^cF-r{ejQ%l-C(0cM)F= zd_~j&@sPlwEMC6aFvuD6e*Ou9B$!wbKKO7T2;*c2xIMj*6v1?*+PNi94c8Ko&A30W zsbJ!vetY2?#d05jK76OeCRETpNUkrD3K$n!C{B!Jv!^`?6;e^m5x^2Wk{(DuU+r%_ z?8U(99|&+UW8{BoN^D5we9yYr4m~J_Zrj{1!`OeCZFvZPcW;f8It{Fh4{O=)(BfN9 z`3?1tEx8|pc9_FE-CvzQn$XN`W(g_!KS33+1IzZ#)S={aJC~VpENL(e#y(W`&XE}p zQw)&mlV~1lQ`PVkU|wtl{0T= z_kqytvSkcnyg?yRwldqGn1{^x;=rzB#PM4Q1;3X%4W_2kB2-O()51D@!Jin!l-l6S z0b9oLulgr2xm(N^-Ns__^AXb)AQ8)K|}h5{rUg&Yka$}hZw ze}WZ8VEq);rLU1lpT^@c-W1Dmt;F-X-VnBs_d4@JM@)&II33bu%No;jLRXy5`5syq zj$1}UvTOBC9mpYlUiZjB8y12YnA#zQSw2skTsJ~JYAh7g7lk;xJC2O4{|V)U5THrm z5I`OdUFWz&J8^06yd{Ve#d6IOkGVq{Ho5n?==zT<(K6M+t4t%01UDgO~Iz}$lcpP+0xF|`3jF)u?_MAp$pY=rdGbqWu@N# zpL}($E#En82)K!--#M1ZyB!aIq|W-TCm~;obP*3>Z$h$k)m5a>=Q|-zetKccDDcBC z4!LhQWCi$iN@))jwbZdcGD=&v&)dJMcd5K!Y%zLsb5H;Zv3bXGDEh3oot<(H(~7|i z9*n~$)I9rmV}jbp&0V6GT;i;A)2?*W(z^87)K0}kzkuwK&ao~F(N%M-jFjE6OsxJf zoj0AWw$`_zYaPux{TAiMGKSsf^^(69Dq^zPhJ#0O?*+j|a+rH%lf>o$`m=-QA@GGe z$el?W2kdrm*Fl!VbN6WoIot7=F3-9|Fr>%5Q>oetlz>Q7Srf(%OU7NXaLqX-|Cw9= zvnA*7D3)rNO7gR%-~F6>lChWOV5eaT{k4utt{X}fDGuyGH-n52xw)0bBI$?<9p})K zhZ+)7P8ClN6Zi)M1*6|Ep0I=vmD)sbAnR$LOow|Hvn@?V6C1SAA`Sw&gyK=g=(DC6 zlhsHcT<0tF*Bs;r&V69H5(Isaz`6VI|HOcae*1*9Q-#`(wg(dVG-Txq+!qXL?@$p4 ze}0ZD3lJIzjR``-*m5j=sN9#HI1>l5Zdo?4huHgb$e3w0bA1#0bqf4wB-}q-oGTG4 zU*qUz7z6?`i`ph5Ao`;y6sz_@B@AuLp?Y^+0r>izAkc3O08e3sb9G0JpeimUMvLB`VuI#DSa zq>p`qX0l|}GA~>I0o%`W8msFfh;t^CmiwkJLOq@=wxqcI7FKP%A~kLmg$zVZP0Y@$ zax!k=;&I0o*`JuVUhNl^uw)@r$?{Prh(O0B+?& zs^&V+(nOZ!MXwt0i5aQUSaWs+sR6zQ5=6JD&>K1`1uls&2D{-;;a*u!OFx|1jud7X z$5bu0J~d=$Kd5)AAtGP2Nf+IJxm2wzzPw>I+91(yL+y|r(*kAQRyL^ur_M|rRuyuY zoNZR*+|s*C+4I*VSk%aGE_TjOl*i(IRc_dI4~neG_l~LADkvjA&fvpWz5jSQQx>c} z91fHd;|S+%$5bfRl`FaX>RE;GdUhqX&G${zz=n#S-3du|u9(k3K;6O25V`_CzR+wk zX}o5lRg*M0|RP^9|QWqt8}T+)f2h z*>d^Y)`UCdR&mM-Ry*=!brblS&(9DLIf^nCc%u;rnhJcjL#%II>6{rQ!X3mqD~!bG z*mv8PM3SyW`@w375}WiI!TFl7nr zj@ssp-bL~?CWg;Y(wj^0Q74_TVJCO(MP`Ku^SHv9;e7E;FP{2^bYIhBNmbK?+Cs+m z#jc!l9+W(r$A5zL+lP)5G>w~y$UZfv0rMQ1m)wBkO^V{%8`pw#J|apEzZs&wt2FOb z2YGD7&C6gxaTV8zVuKxFr$MBoiRXQ(^jXxT+3Q^MdXNU7FVqPzQ8OQ^8n?OVXv#%g za7dXS38v*{urN8zCes(bbGQLO%giLGL1^F2EGU^B6ob}T><&Se6Nr&er6Z#wRj{X- zcdBPmkERcd;m6yQ>G{H!vo=s|jwKDvvHthUYC`uNOvXa@p7x(cztg&RexH|mSBPEm zY-RFR3Et0PTpRu_@5E-zz}G>qDEdd$?QI^!3-%DX!to|ONhos>_Gz~6h+~OpH_n=< zt7}J0u2zOaTbqyfQ#wS0dnTat&s&8!svO;~W036VfX>20BXl@}*L`wQMZ5IeL&8JIz$}t+< zk>}aPv;s|9jT&X&^Oyc0=#2qS7$dn=H&*D}b9UXss-j1PgW9We=rl*am#Fvll|pa9 zz>p*(li1q(l69FGn3mVNJ^a?xYqD{@&9Q2+K4jfZyx3U68y&n#maI%ST{a! zlQ7{hEc0^gX0_@s8@ZDyrv>6N0Kw2Xx)?8Jnrt$hk)beBeNdL$ut9vZ+%Dm+QME#t z5aDn`GWG)Bl@m(lJUR)tb_nhn3Y{AUw(}UcKf-t6YMV1|2|?`EVL6ENR?!PHUN z=b4SK${~EWy9V=6EuAO?WjnQ`?Kn)ZjET!4;x!Fb%i*`vrTf_>WuIK#-3Asz>)w93 zJE7~EA!kW`hmR!>mBdm!mdMF`7kGm31~KBnmITve1wYND5yAodVFUG~YZ=$lOipAn zMU(9OK;hEweV(CjYi8v{x!zdC0Q&f{UAeqP$bB#QbGt8|H>m%If#sY8!cD^weKBa& z-+9ylR=lidJ{^bCs)`KV4t8^WKizZZg_ra7ltt77pUYGI!e339XNFH*luewdPWN$K zO%&Vuc%ZzyvP3~6+3}uf*o^_pyz&9Pnp)BmisXi!Vz0Wl{kK-gGmTu7!2_76%gpeHY{eD!5vF@o zxD>t!$_9bHh)M9(gkiA?!iBm??<;;3=+6U z3V3Dm_3D?cD!FO3X)(@r9tvT;qlrCV2lAb7XDAq$bO&YN&(J5qe#eZGV3pRr=x4iZ zP_3(EaZty$L}#?b8n$#dvs8RD}Q1G(7hVn6<1!tyDduKBi35qN3_f$kn| zor_11&g4rg*w_-HyLxl;xw}ia%MkYxGQ}S!n_4$44X9^GUQgF@7ryTIidr@D$X>=8 zR9_rFir37$YsC2KRjO>K*cDk9D>NyNCM}A6GBsh3&VYI6*OO!VQoevl(14so(r@7z zg(kV@^A%|^>;|Uu25sSKun@H=7)5{-=+h|v5B)+QK)FY`BS)fy`tohnna5AqineCd zBzo9fe1XgFgMtU}e1Ca?DR+pry^xmV*A`NKygYJE`b@@!!MI=JVp^p21j!@)IV6Jub!DDf`(X!LbpEFoS{T1Vm zxjF6^Z3M*RD>h!!eVoh{aE+|bsTJrdlAZAHOC6klz zb}hEnC6etID^kq+btVIv6dMP}1_7k$Vc}mfR`fx(<;466peYi#1msUJAU7go!8ODY z8~`=x{s1-2u#W=;6yP-B0Hy8tKT+BM6+My1d1F_ZL*hxT}q<#Je zI*IGA=%oMndVs*A14vR|aV%L-*xq;zNJfms{X>g5$Oh<{evpiQFq%Ldz+V|nPCpn; zEId%E#vKJvDA3A_hGzZ-g#rtKXCK!A6e8KHm)1yov` zZ-5-OP~x8$O+XGNkq_Ro1&~|;NYf(VPj#aH%AaET0NI59*AyVCmAv=^n}lQw&f)%s zO$uR0g^*bCuW>(ESAT^;$^V`2ru2jF7HKu~9}eRW0@V@RyIVkv5u*e9!JjGwfF^*X z5Bndaw5qtFjekvHyp#B6%dK9pT{1pcU#Ap1#FvcMK^j98K2tZwdV2i(^uIhlM zP3xO6&=em5s<3AWpey5MlKzI)`p1arE5xr^tX*AyK#erY_@ zTDTTYb2By{)dc5>VZ$GhpS;3-7Vnq#q7>IGO}KLASx>hEKh@p6)%~e2FZH)dc_^Nm zc~Z`zl)pPT<4i}T5ax~M*l4;>?;{gWM|}&DF8h z5qIOYY?j1JaP~iZ6WQ};sPdkHz$OxyHNVOO9TSmNirl{No#Pb%w~aePpU?u<_)6;% zlQSjOxAW54fzd9%W~yO2J7B6(e>YRhG+)o^RkDsjo@+yZfr9+2GeocIG>6ZrAd~S~ z9b}olJqxw$@!~qKko<{{NJmQ9Q;f!@J!|akkw`g~$|#Xg&lsep@=apV%)H0WpUfn+ zaqkP{hx8}zhs_ejo!@_2mJ%CPS^uSA&;>k@PU69&&Z$nNvQaMEogllac>fu0>n7Al z8u+*uuQ4sg6ill9cEmTaPaO$r-|~Ghn;pA3zB%zZlu&FLA+~GS8rz$qknHC=o-IA> zv!97EpKXe9*S*i*k(?(>AN(2Yge9*RGC2?@v&6H4qjBioN(aVVZ25TCpSsh>FgMrZ zLU`(n#5LaDR_amdY1Mwtl#iUh9n9yNumq^ zl6aQAckh4yckgrVf9uq(TmQLMSrirGmwfA6>s{~ru4iCuv}2>>4*q$k&Hd*GSN2OI zL{R#ak>B50m7`SJ8({i>-Q?9#$Fk6y_ywuRsmC68JBIz+*r8qH zfIMdj={Z}Cz=^T~$}f$!&3S`l_XRPE04Vm1ywys1x(zF@&W`w}3laxrpDO?=H9-ffEVu{^V|=oru|6YX{{S z-=y`7qy8wV10%SPsRQQgI=vPBH<#D( zjUGv$mmb8j!pJzY-fdiUk`2Z{6l1Z-_%DU&!?X4wH<;&%%L}KpGR~RE#XtfQD3|8V zLc%IiwECdfZtiO_9oubP<)$V#@hG^1QAZS)eNC<)NqalGCz%3o}L9{f*}$G%A#B$;yJS ze+Sqt3u#c{t&tk%@AkLBMc8(}KWSU~`KkUsh4n;Pp4#?~nZAb(z3CZ_M>$zHRo@j* z11*x3XtX>n=xZ+rK&SoT$++i0z;i!3m_-Fp7tjJ~RIQyn-lX7pA9`#aU4bRvvw@Gn{VUC?c+$3ypEsFc@zTzvAA(u*v-UaR#0+#f!XN>^M?V5U)U zGA0J7)a~#6pKdjMtLn2$Y_*wGfeZa%$CGA)c(2sBd;EPs23=hAhGz>({PnZ(324jG zfM&JPFb>v!bC&eD2KG*;uPQ@Fa2lG_Q&o2(Pf^mN@K%LVy;MlXS<43*C+aMc4gG9W zUs?+%g2qXJfjF7V$LNUDbUQ?y;|B|Q7o!gu?pf_2-Nkt1xWh3=sr9*bo$66#tZR>! zN1sTCk3l^Wnp&QV_Bs42+@jzZ5w`tT8Ey=r!rO51-*|R%r_K}(`25HTyWXm)>7X zLw>ps5GAic_`rQv&bk}THh9p!WvuubSDST5_pu*W8Le`c=1@bbxe&Mnp^#$la%pqt zhcR;g4KclSuQ)Mnz1&6y-JMj+s877MrebW_lBdI*-sGSaSv5@P4A33f!*&BBvh4aA zC)~teW={AHcTv5sHj6`5Sq6j%j%?Vt&2LqtmCkSIXPc3p_^;pG5|3Y1;aHv=t(~+q z8zPopgXbHZm>09rqS6O#Z1It)vd~KA7J6L2UWSx* zae*@z=jFF$(VFyBB2)40q6tXLZ79Q$h1j(d#w8DZJ!E_g9(j253xIZKAnh7teYn(~ z;87vTG;uhUer)D?g;aO3IttLr2pA_&NNK`n@PNaBoymvqJ5tr0dX}NMe00W2VFH_o z+dK0jk)M$@iS@hd7e3RKX zIcLc*KeC%=+*bR^Y%23X^npdH^o>wK<-pS%-(43>g{}7njklAIR1ROpRT3Ok9s&3d z#(*Qq4%#yGRXN5Cy&ZZ_sxY2{fMkRSdJ6VOht8Ynl!-nFF>_b7wo0K`3W+9`Wk&kv zh2GA$#jO{)-YK6v#x1r%p2z(B|LExGzuB9EF<_^7=*wvah`d6%fBKy#_{Kk!D6t8g znp{&YY4#YmP{|UCu`d{E^3v=KH)J&1mQ7Ry_j# zu_8i}X8Q^q*K&y6d(4#WN^A-h@~yQW+oTh&Jb$6Qor7t^^TPN4Vj#)eLb)Ar8deZ>GBa=q&JB@24xDP^to}+&D37( zW;DyA8I--TYGAo!0BPj!m7P7d7zT>eQ@~-Y8@pKvryXVlarVK#Lc!7FSANE;NKhCG zx&jmvXwj;EuU5fcb{2Yn z{o^|L%-%boC>4*wehL9|g*^&>AYv9jr?M_hZZ5%ulRJ1(SF=Npr!*ODT!r-wd!v}w?4B8_MhoJ$eW^)IU<9=8dE{A71F zNYyFy+BR%a`IMu)erk3wH{?O-^&W29xbb!($ttV7dtJgxb=l=`kG+dZ(FEU4G&VMtm_IrnskTJpyx z7x3AZ-Rg7t7%eZVG*mp0b{;QjRovxR>*^*N*$2Ngcn6noP)6|14DA==*NScO^2Ymi zNAg*0!Pf--d1*m4{$>8es{H?H{`^?H{}GvgM9v>G|Np~nYk6^ctabgw1ssAE6Bvdn zZl9X^O4c58wLJJ!spZXmjm4cibuLQo@4Nowf&A5rJuHz#s<>i$XK`7bpbyd(dCXK? zsdLjztvS9J71J_&BwuD$sqkoi|oH!35AhTMV45ogW6#Wvn0#GXdm#kNGRe$N_wmSN60EeI% zEJ!#&ZuK4EFdb3i??n6y;jrvE(iBS1^_O=2JHnyPwXv@5ZwLoV#%OHqtM3)=ohSZz zu}(gN(|bLqvK>zcm9Mo z=qCY~a^IiuhGiM+o0LaIB1!<>ko?h{->gEN04MlJ5Pc0UUSCosq;@!3#6ln*O$AoC z>ba$tf5VqhNg(^-W$XV5Fp2zJSmM$27r>-0&ILeJ!iocf{thr1zV>-!8IG-4LnJ}P^sGz-;0M?Urd5uJx#;A3 zo8G@V59@im8G41B*<7l-(UOQM*3&=ULM@1j;b>W))ztIh0%$e)erjvQEy}4yoP)D}or1M^ zX|rQD{3-Uz@tKGfq44-=m?;A(044(=^G}&FA}X-rwHEZNY-a4!SYHXkC^c z-=E!>C5|1fqbi;|5BBn4AY>YOC!Uv&5_`g`F5@vv>yc7PE34T zkj#sFZWn0%vP?c1Uu^R|sfv(9u*2{(p`z5ZX#a-X3^OPFwu2yYSe{D2c z&ft#NK0Zdg%5M5+AoO3N4gaUSHp31Cbx!|w_3p06m(a_f71^HsYqDCUX4*8N0CiGNupHP5Q}v`RMjZwgPKE+8Qlp zatzf>ZpF8mfyy<`+VC6`V#J))XhhYToXH)?NRprRXTUCz_vmT zZ)(zna7!QLvxb4e!I_N~J^<*J>^ocpiDMN&&4Td>-3I1Kp>9WA?uW(*UUMRc7kS<# z8u?jHw8m-(nbnpU^oiQbevgk9`?=`WHv670g0SIFbW}mi^(Fh`>n~v43EEA&kEd$a z<}X)1%pQ7GXn2ZXg7vewv0x^0Pa_5Rxx=H=*pjSNX6lT1N53%II%=jr9;Wt;ZO`zf z1V!;PZnha6&!D^e1PP&n+T^6O&H%<&5V=`t0MC?BDfB;%cY9lxtNY&7r7D;P$GBzvZPXH;~_rE!1Hkny*2)0`I=$1>q zk7lkfG>r)kN?VFXwO!=g(-C!2j=3u8_L9rf!qB06_mdxSwOrA%EPM##-f*Hj+AfN^ zk>t$^y}Ed-A@m4WKlMzIU~6}=k+W!;ovns@;F+&uhd39R{kPE}O!zu7l@`Ag|(CUrWX$VS@_WVBG^5&lyh;M^d3z2`RwFG4_hth`TG)}C*NHq>peie+ zTRnEke;`vpIx%0Bc$`eTVoM$_gfE|~myR#f_j;S>Tsz1n+%Jb8(S(Z;!v&#K^pD=u`^gQ+# zWUX9%5S1u}zQx*PeB)UU;@~ky(SppCrFmK^FDiiMhOI@C)3#;%83-5Fm1Y@6UPcki zU*q=k`KKiE_@#lBT10d&6CA)36lscaPiq7sh>d#FssB4uWtH(>@h)!Nh4{$6B(~=| z+9V*p?+aT_UpC_-Q8*17V4v(q)pUL|i;`&|9_Q6fm>yY6yQ$AXw6 z1HXh#ncfMgt`e+X+R9F}MKzalEbltrfUj1vMMV=7jF{^n!!^LF;YSCYk=029YpChrFs<5PZ$SKBT4aLi?2?YM^Uya zaP+!SwtSI)c1+>(y3#BA=ii*mP98a{?-QBac2RR&mvP_X9$cRS(x!HMyoU@t^KCai zk?iGdwm&hchgr6u*;D1V>0`HanYkKZ-!bzFCk~lmpx7P(2uc0r;0r1pA2x3UmOq)E^hNv~YaG zvPf5RN&xG}5MSy9A;+6Fx^2w!!Pz8~8 zJc{h}wT-}vB4=(XJjR;f%lsMwXJd|%vV2DSLrR?AO**>6)a51j*wLgOMbk59or}GP zN-qyD(hFizq&^pk#Y#hBh)C(a67MmoV8F?C&@#-GG9XPklAZD;2{0dV4T@t4S*tr= z@Y=rQsx>9wbS0|)P+@#>aK_>#rgOQTlqjv#i)oEIXJ({Zy_KPfZ2-9Y(akgpk_U5w z1%Ew(qyTkl_5oHs6&u??bMAb~Hf4&Fu@ay1c8|ypi}VaaEt%JV!{QaGyZ%}@?KXlQ zf6N4WWcKtd$-TTudfSq%&g$5{%)ZJgS(C*e$5&|Pt*H}yXGQ=TF^Y125h+Nza)Km- zLVDD*M4qva4DT+u`2>BcIY`WnrBCsI#I+*O+?{W0FMR$yN?y;_doPRvk0@#sqbX0Nz!JZ>0*h0F%s3Tw#)dqrTjM{N9x|pp zcJ;VXoxigb=|Q&Q5*_&LK0edH4k>VxVv?SijU{g zwh0zw(-$@MjOHf|)}FqLM^Jc?CmZes8r%ufH7o6aSb}K7?uB0=#RKo`aCjVAXC`$Yd;gnjs=iD_ zd|f(IXe9ydP=Xq@VMQ=SETdje?_DKA)H+h~2iS%YsCth>ZwSP?R6$dtDYskLq(gvb z(lgDlnG`n*zroQk=e#h1__+k;mRFnZD#Go~-?p4E4-gEgeiqEh+jHs4@Tmr~#Md!A zXs(7)yYB^LtVB-(cKqQr{eoON^M-f7ov;MeAm~^xu(f>HWbCGfqRzu+zc}xGA#?hi z8Fa#-%|2fl<&Q)}{ZT0?7eUK&e{^zo_{DAs7X#&ayZlqNI4Muot!Bjq2WkqrTi7-a zDtydbs)}WFL(4k5)l%5npoR`yHpGU)i1);&_crsO6*y1V0%ix;`k~Lz`poIub0pTx zsJ@)gTRqaxZb%fo#l^lxRy|^|aT!UzJ~2OaIZx>2TaA?qMcIC?>xy*oIJPf+$(WWSH7)TmXlO*qkk{T|I<76N#k*gu7azK@_N1g{42RM;B$5l39?2M zVfmV0s1x!s9po3wT7RB(d~K|z;f0$_fYCMlDEbtgE0L)o?14Pr8O%OG3I7ZcO6m!S zFf`Ka$=sRAcclAWzF8f%+_NCHP*qgQU|R38Zk2O`M3{r=LbFt`qL{frY(C#3UsU;a zoB={M;kEaw@zbq#`Q2aNTYEnCk*O;kcs)~?gp%S;y*dY_2Bn(pM?12d*M-^EEN`X& zm6Bc9SLIuzmpz$`0<`kXn#z}qwhxQNC}(qM+?s&Z@eOO-xthh-b9!1bXLBxl4Du!wWL`$=Jhto6 z)JaRZ^=J)q2w3viX4Mj{lPi&9L-Sp_OoO;(U)PDQ++P{1;W{!8@)Zea^I;8ZraBm1fbgjw!D}CD&+o|&g zbf|6(!dF{px8PSbHWh9`IjJtb+=nm(QU{1r#A{;L4Zz(lh+T|CMw7nS(6LKr0rF&s zUCSW-R|-tlHy(j+JRh*hKpeqD9`Nn1e_d{J`Ns1gbQjdpfSkMUUp-mm#5FC7rfJh)@a2XJ^>NKR7AEG%5m@Q&r|%Yjg9;sCy@FGW6&(V7P((FVb+oBBqhh;NEIYZP zj4t;rLrhq~NO8yVRG$x^m6#Cn)L}+e zjBggziTugr$dwJcDW^~uF1j!g7Izn*JNNiUwdbi<){e>#vEej#v2LsL)4LLS7d_q4 zj*3S4Nv%zD5bJ0lqF`slY#r?_KHoa?G0p4KCFUBgigKRpQ~RZ-->CPf>7rrY-n`w} z+1<@6>Yc^22d?+1i!0;`UXwqHnHIsl0VZKu4P9ykPJz_uN()!++| zJ3i1PT+XVoW!6e1zMlq!v-vdby!m?r$fe?(cN^=KsJXp&Nq`+$9nEvtplOC?5=gwR-~Ipw!? zTYo1hJ~ELHmDE1*Uh0On`GJY(38&cFW$P`KV};og9~w|%KRs}M`%G{FvM^EuDx3~* zQik>Y9!Y1imheT3U_k)P0%mghfF9tV?lqBZgvK|kvaGxUgYwyjh5_p5S-03rI-HjU zrL1$c;?57=a1}BeB}w3SxfYMCaBt1r3x9b_ML0U(MmUYQF=+~Vq+CrNoIFI`)1%dcek)>LbRh~ zM$5(Ed7leS4(O>E^k;*cjW`=`ppV?F;{~#G9@GSviiH!EUCT}jub-X zbUE69Ih&?IR?=l*jqBi>Fcjw2fB8*hON^&jGB90!wRAzqV&d#8eYA6gKsdAZBCz_*Uw}ua%%2nz!p$$CgM7Ui zG9GYV2adTWmEFA~n&KJ-fYGg8qeZuZjv!#7Ux!%lz6QtfT2rk>;P+ zDvfst%lP41s4UQN8hssfdtxo;BIoIXGe#Q~)B)WO`_z-1<+9c`e&gUH6ccvg*!i-Q z)|nCc9eFd0SPHCS(&aksYG0n8%u`)0-9k$oZ)~QxWLgNN^m@Z8O9jlGPfZ<%dx|^C z_*)ig87~B_^=4|W;x$_l6hS?U^CkPl{|E{9zWN1K8WI!am)KKXD(Q2xb-a1M^?^?z z!-9Cl0^2&luRG#PSP(`(6?@M_15gKvt*Jbp>=r$Yn0c>)sJ$X)8lv|D&2D;U5I+aW z2?T0)SjV17nshx+$`mlxK-4w9YR(o2@Oy@MLb?dHH_TpE08k&1cV#71XvCluX+jX1 z6FJ4M{egTFhA)jqBE!Ye`jyN=vRNw3(L)MIPXv_t-xOQ8rncH0(Mg3I{wWCG6X2!! zNFnUrYpR&vWA9BXw8w>vllFHEXYXk!1%A%LY{^$`MsGv%BrNg0=HtIsh z$I1i25=|?LE%cBFUDvN-Zr*O0H7xY7AS!iL8N9Hgc=>lfIFM6pgRZ6w;bqjNLbpDv zXSci|0#Vl#?ruzHp5Or5_1Vd7pD9!aEi0y0$dM*=q6JLnDN-?7nh8(Vec=sf#G!&{ zA2%qnI+Xh0>FHB9IPkU&INuUm1X=myz^(<55EeG^0i9aLj+Fqp_ z84eY?Dl>r&NuA%D99D^P8fC`I;N%CEgX*tLT`x{f<%_1HS3RJM!_O+UfxbMf5BGfi zK!|Qtsc6CH(bu%%A<8M-9t(RvYAF9Hf_V=8a^(R}KfO+aqI9Ix~$vpSyNb zMqnqOUKyRRez=}_Ez3zI;^vOK<0Ijxer-uz*obHE*gl6oKMKDDNkmq=gXwXECCTWR zA+_XcSTpg_Xmh!Y87PpUg2WI4uVG+rX!oWhyQp(4-%bzF-H6FMM3<2zRm&>KBtDC!50*i51tv zBc<1}4g7}}>{>_hPCLwFyhHH!y)X2_6#Q@wJq%Qnw_E+8XQjj4rPLZ3%x*)qTWeJhlT<(sLnkb0%_$+< z>fF%@((6E-h@VQ!+ZAGHs!RF*~T9<}VLGw2f$rQ?1RYnf?> z%e6RJXT#M70wjL&@ZgQFdKqm1`f74WWWpDZ!@VKS=o_UG=Lna>UYI>NA6H#qC%KHL z5Kg7|hlibgo1%L9ELGXI+i{;Ck*`Mt86-lJBytHT7yQQA*&JgDmxF#^r7m~_i zD6YaD_jWe#gy|U>WDlv#-nc?nqG{GrQ}B+N+Nm9+YNsVocccPE0r!p;oES=kzB|r) z#!9~}?+B}{2ncy`>qD7*ty{>bCjIh&WoqWzIw6H$8FNW&?-IY?n)w;UOuYvnbLBt& z69232vMs%PfC#rRnJh+P#&JANHj%~1X|Q2WGtP!F^^^3<8eh&0u}=~^w}shfYSNsB ziAO?>x%sL_?x~M&UjNd6By(Qn54WA#eL77YLgXps(rd9$!x_~HH(1rG=kk?HM^*b{ zgNd3g)GCW-!D}C*Xhzq5ZYvK{HTD->-aC*d_e$u?HE4H;j2+cljx?erX)b3Gt0;V@ z#BSV?Y#kdyF|=0XbCry}F_+jfL}9e6V+J9DjiOEhDfzo#dKRMYL0#AhUMeyg4e^`l z4%*9>0Q4{s7RiNqlVSyNWppg>!24w#f1q%u7!`p42B$N<0oDw0G66v`Q6D(k+#E$a zN|=tmkq?wcQsZj3RYZNW1Be4b<8iKUR{Qs1Th!~|!i&H_t`t#%nf?v4iwRF$2_)#c zi_kuo_!Z4h?^z=_*$rKGwS-i%&onT4MzVA1;Zm5V&z)*?LtYPb)SbJgc#Oi7@wOCy z+<$0B^>IRpH_PZ@>BF2s;fG9w%tbj7{!_2cMS8pB%9KHnl1b53c7<8zDGvF!b73UN zoswQbF%g5752E=_yVC6X*=9WkwiR$$L6Cae#J*;X#_8q3MdR}kyp{`z#Gh#krUJ*# zJ7`(pMzr3Pq_laJaIH|I>sL8Xo2BNRCRQjxx3N-9JD&Pw-ts9Z2{6%PU7+Lk&bwf6 zgy|F&v*zZZu*tox0|Wg|!;&{9wP(W%V!7<36Hb{k@r$e64k}{#EF+D}&jiqCp|_+f z+ZwVgTPv@2XpKirAzPn#=QZ~juhJ@zLcn>T>F#|kKjy<_o$>T7fv z32el^GPhD$hxFO_pcx1!6}b<$iP@RP8PD7>4`Lwcrk~exqNI0WBU8K z^yEfEX5p=`<1E(};Lw&gA{)?QVmOjt_m_09Lt~?>Yp=QOP>?Q32o+%YT^8e$)b5f` z-r?51xpbwEn`XS?kG%XB1&{BGu~-YYvv4>n6@ux@FuA-iQqpaa9=VW~Z0Gw&$Y{I_ zgqpg~3q_)ss8YEC)STwGlsWX-Y)|c+odknE``~nc+QQ)0h-cz@Xe^(4Yv~v}>~ir% z#@b?+?)bJk`1+FYtBB-0X%>_LCu6^(0&Y$%xMVE$`%-}&d#I3!)X6^~3)^se zRu$9BesHFSi2%X=z<7&pi2G!l%qVWmWB;4xajYL847ebt{H8<)fkr^y#`g=-R>V<{ zw=AQY?>#J?>XvQ?0$e478@`;Rj3KATX&VovbtH=YO&8!NLS6%m_$ zk)-mcn+{hU{D;E>aU$(+8f1 z{*+@ba}*}P8V`3@FYyv?^+T4um8uih`@38JOKu1Mjd2J2Anns%1%WEfG^e)UKYo3( zZ{I)e9Kyu2gqY$Wr=nL80&Lt&(u(KxZ^^Ppsx}A5+rmPe|+@di`cHMs^BjPxTp4$m?M znO}R7G-xuAAsq?(3{gkX`K}CeYl8BdWU5s9M?dpNrwY%w1n0>3tVoX&hpV;$_xPX) zU7Me0h85ZtF4rL?EGfH>UoJY4{ft-*lEm*cWd489kom}1%F%ytXhB%)8(jOrq5Z*n z{>KE_0Zf>({xeVg9WfeLx3c6;?S2($qQmn29&cA8?W~_inac@+Q&@Qc%q#Nkha>ve_=Atut7SxqL=d`?=u^yrp;VJD$zu!mf}$f#YUaZ*Q^ zNT=4ztH=5!lbo;WhM+oIoy*S!k6m#h*c#kYh9bEGNGbMFCa>AsCJie8XT1{vR_zF>YKs+iE0-o=;L=BI4c zsTxZ)Pv{2M;;r|W=N~hB_R*2xpVBUpb18i&(9lC|oQRA==_pXMhpP-Agkj1^;nGp0 zxQnQwlzMQ9GDzy|m5wS6;+6ERx)^8As^FKQJDLyA;{@5i=@I-@;s(NG6;@11*&}eH z2!o1>t3h6k&e{ZR^HBWjnrDHtN#RFP5B!7=rnN2hb=H*sb~<_M^GnlUs;`!l17vUUv+Z@8N zugC051gu4(k|*gAdRx!oK*1q;C)(%aK^f>i6j6SReo9_GzeWDdePnvZI`U6>g*)1R z$t$pe{#ncc`$Nou$&dOW=I}#)3l(Q!otaGp`pTX$e=P(Jy1Tvk z1S4na(4b~#h-VPZU5D&+v*BpB3cp(2p7IsPDVo7Vg!DV?@eyRlEn6lWp00e7s-0wy zcTCT@LNCyhs{LqfoqJ|h`9^7RZ-YaLg=q1RO_^DtQDroZPSx0Fc4M~cCxt0-2P^v z5sWYk-qEbgSV_VhTWmIDViUL;tnKzemYSaYO#i-)ig{oK*ev!*PL6@O6JEY>>*c@_ z?5KKKX~2FLw*?pW`nuSN*XG9x$l8VuDp^6Hh)YtFTbuw;A`A+c~t%OFQh z&@sd%M$jE?%%}@VFX<44sbq>dA2u9N z8Ems{r3H9uTj(uboTnAPZR^-&`>Zla-0Ysp80S)k(fxlf%`%$*FWM{+{U72i|4TU? zdm`4aKkE4N8U$a$=P;$GW~ildaF)5}^EHW`zuK7O7delYy_7zgw;<7Su%@^Zno+02 zgvWb}i^g{OJuk-#nkaRd_#tEs+_AT`-3OKBL>TWc7pgjj+9*7ZW*VH9ys$J0+hsVu zwCO7zn0*WP63Yl0ss0X&x;u{P&O3-Y-MH8=y{u8*w4**=+K!WLVl-8Ih|w7BbN$Zq zishHD`&2}@Lc^ff(828>Z3H8?x{=alUl-OEXk{am(Z?l7VaLK-!%}Da2p1YM6ozaQ zujk~HKd{(3k~$DPcFW+Lv7ow~TwknIimLHmzvua8$@11YB5BvrmC0Vez5A^(5VvsX z^yRDA9OyDQ*;6EJgQJS^0n8it)^oJ0`M-G$Ih!Si?F?zht~)Trxddh$r->s1XqaM{ z6y*9vnDjTE(J*pc_YJ2mC@JQ^e|XyL;Kl-{ZEVbRRmUBy7j`cyYyHeVW0k$S=pXf>ZcCitCi;Q^Kq;@A5@C*|+Qy|g#)UU zvkz1(UwXxYc12r*_&bfyY$5t%OMzbV)`paiOCsX|&HG2u?o_A<)*9tShYK>e`|g=P zW_%VoSg`$~-{23%n(_d}LLgJ`D_ZZYQ%~tgvPORrKE6kJC>=n;j@c$!vURqA0~G*K zvXL}ccN-J}^Pxe+b#|?ljs*#^?Ryy)FmQ!}`1AnBt|nMtaJqKhp4Z-MOm(Q!A6ggS zd>1v-uULvC(*)mXmMPhPom#2 z$j3UUI;x`XhZ0&w@g7;)XS;F=tr6oR_#R-hZszIkuGMqwXsbOUdo_Bx9Ua-CqSbu!mywBA=UlrZlgp81}bs&s8s4F zf0Z{Tu>Zylh5srS^My~lW2BAhDFT}_?%3hKhT>18__QV7#ET^kpVHl#r(OzHPtJ_*=@zFtX~ zc%D#kCA*%oasWB+(wskw_A(bt^% z$RsRhcD&c)P|qj(-WnLj*ER*FE_S{EhEc9izLBqF;&&>iv`hH<@UzDw8^8zytqnk* zM_Aqf;xZ*YgO;61?&qa${1lA)>Ec&aj|iMin~#Kt$RF3)agckIfdW3WOnGth9Wtl= zZxF3Tl`S-zE)hYKmjT><>N%1d%OD`cbG}QTJyQP0W8U=@OLMsn-%_dxVjlq~nK3vbiyzca%@;KnMdW_OH zp0}wp5cU~V(l?%r@56)qy2ZIm2m2=;^BOLB5U9KkuIqBj*QWUcNaI_;g(!Lp|5_tO z>^}v2hVkDcB65-?-EllqJUcZeOuBna5eQBntzb0*!D*o1%JEi5s&#PsxAB6tu&Sft>ezxbR1Net%9oV_ACA*r_Q(;PaxC@sW=YQ2?UfG zD%1yX1e_9&)sX}OT!2_Zn3}xXknuj!jaEC#0NDngL@^bQk3Qf}^E~O9;ipn)^Tt8B zJ?EpeQKHEDHS_>}@A(isGwpV* z=DK+TJDkMh3NH*fpS`5HB8m`Lx5h2+w`O?Ip8$sLS0FnB zPO2{k-OUsKzBc!EaK%XMBe(;#2w?vPPQzRMKpvwpMtTlYq+<_Y1F-?%HAT8cEeFT_ zd8HC0Dp;SBbJ!~!{4z5#b!h|n{i+nw7jHO7fR^TAq5#wNm>!5Rru!b4doSPm65~xC zTUlZUVh*;>_>XK=K*W1vO0s)`|i~0$C9Pq8Wa4>lRiAxKWs4y`dZxaMZ#^x_N^jMBN$%q85rE?pz1{1%iMc z!~U7Q7lchKVke@~83f)8JeSuLL}nYXL)-+RPZ``*tThy9T_T99t8iKYygHSeF-IeD zH7Wo;?-PRqCO}*oc*us>`Q6YeICl?b7j{))^aFlO6+7282;8thK}S3GZ@(mzX@eUF zG1uZN6C8z#k4j=!Q5bMP-$ zor&Nkf-^H}8VJCfgNqzv2&=e%so)z=VK|HUjVEa_nY0CigSbNd0JLbVky|I@mcSFg z3%!Hn@YiiBtqVXmztn!?d3^=TN`%wYzi$_(-LQ;K@;4s#{2Dhej&1L|4#r}ji48`+ zZLJ;2k%JPjj4xQ0q6X(6c^!;p3*DrAK8UwFo;tfXco@Bp2lY;AA|{Ef#b5{n1p zDk{lI$F36LVA?VxL$W|h5VweA!*E>w?r%J2G&u?2woMt}!}5=lj+(T1ed954#Ic0H zBoPLxq|@K`*RoWuqyZMFtD2Ao!MG+SbGzVMPPjy{9GYK%s}zvei2t*7@&I=cq*^!? z1ba7l0`Udh!z&>3aOePeLJk}p<=~L>pRhk>;g4DPV;261g+F59k68F)NB*%R|Hun} zSGsgg}Lt8myu&-Fq`P8MwF09Y= zvIt0S$=pKD&jvMQA}eZ|2_e;zMz9iWi(c$=IPKs!9?+t<+e%$`f|`$gCl-}R5X-kC zwvj|nP8MSUI*(xJ)127q*tt|Kz^^RK@00D_9C`5jA|_3 z1|1_!02QDCQXLjRrs_<{oC3}xd}QMv+lVn$_H<3hM^fb+`w?OZsL=S-Z^N+*MT`vW zRYv9s(MJrT;H>jP^R)ECV6N4@cE=BR#JfvX;lD{WA12lm?7dO4ZBeIaVqs6U76*!h z2Oa=asLAg+YWIWnQ}Yahodhmot69ELY$Q`7=0&LLR-cYEC-*)mI;4Q#r_G(M&tCCu zvl66IZ`L^z=%VwIhl*tUI%ZTfp5PH$qET{;_ym6N&mOQbt!a=eqGrcMIb)|mm0|G& zVoB5my|r$8U_T)S-B_Rl9%3=?z+x|)syz&!i;3fGfokqUDbH%dR|M-^9b%K}`Hcrt z0pC=>gBWV`UJc3Buer_Wr<&*wg^9ipz zCjGNZU&K!LKmPc6a@JBIW`wb|D*_hxm&3v6<+4s5}4h+#?e^+h?B!d%m9Ay|d8ysM0{J zhNvY(`FGn5w6{2!%q58-lzkp*eJoZhxARnNEqBM30rx{xWNw z4Q~Ubm*CyQd2ylCR2i0HduO;}6wH$vByNtcRVs$Z!cIP0?7Xyb*sR{NeW2p=$T;5F zN3*<5@Tt$_^*wj8exsW+VseXcpsOsn(e zauM>gf1X+#Me02>V8848g$mtnI~nDxtB=Kxy^Soi-qRhjxrFjM)aMCX_LUq#y4>>= zv~3w|^**5D=sYnt5gw*wOLV7J9pDzmw$A>XobJ6gOW^60>>9B(91?N`rd3HSp zX+kLl*`_j;5^iEA&FaFEOCH*E9UI>2Q!qGZ@4+jOMV}u?_XBxtG+hN(umYja`r9Lfm#8*F6tm0= zfXfw|Y7|9$WXi{Xy^mmm)-xPUO-o0GKK6Zx-mRhDQ+q~Qhhkpeqm>6w!5{mo3`?`%b2^n0tHGJRm)#F!b1HXg1$15@Sh zW$B5t4^3PJnDj$KFdc=mVh{BKS}x=~lP}(7#a+MQ2$B)IXyj&O`Y9ysAGdH%WH~dklIu8f{f?}gv=eF$x|2q; z^wv2lE_O|W_Z=$eJbYZ6NYM~Oed)IeAehX5AWbI`k&@KDklO@{dm7NRf!wQ($QUc9 z_TeH@tzT*F;hvy%A$8dv%uT#p7D&p|IE#H#5&W z-E@s|AG-p6FF@+Iqjc55N`v$E=k94pD>*q*Vw<+ka&gWv%5~;GaGFiV);guUJHra3 z@iDU!tdqiMvdC7h8e{EVJwx7xRX~%CtXo$6wPqN`dq56Et>_@yO>&vqS@qfzu0&ox z7wfv4kr5?R@BKH7u4Tx!fgnWDr9p!3wQi%!77b+d1ihYCg*{_BTdbBjIVTI!V=`py z51FMt&yKOaY4%KIAjLw9VEa4!2rbO+_!Fk2{z!GQv5dEyYDnEjC-EpkblJVFDfj=; z-nU0Xx%YkRZns5cHaSbvPURSi$sw5?MMlV(Arlg2(j;VJn08^D?c|ixY-ySt#t>4% z#0;JslG7*>Gm|r!DW<{9^jxj?S$Fq(cK2HE^So=l>wWImf7iN(Yp&}zzw3Mcd_EeJ z<2wT+J&?$H8)tIwq82dj7=Ko|B9XX${&XxR*5}6tYs=qF*Y_iFbymh2(7bCP2pdY< z!JmM%2o2pp`}hDYJ6+sIbrBmn&lW0Xto2T8FsLFBXHD84J6N|!cE!8%c zzn*dxrE*!fq$E=8riPKM$;!Gy^#57 zihmW$SLQ^CeaYY>aifuHq^^Wg_d+?#*pq-3LqgNu znI^B=}Mv2t9k#Qd% zc#c_eeTbmjm1cTG{==^0hfy>hJf~_@z9Kj#rdj)!(gfP1w#&7!9`2iWQj%Hw2?pI) z!$b4dSIc2n)3jUw>}#o_^(YH9)S>BEqNV5^a@myj*{{a92O>*l9@i_)_n)`7mnO#1 z*>eF;BTirI@<_GAp0@eqlyO)qeAXpLTRI^^{|1PEY(D3S19ulR%prVNwv> z$P}|}+|QHNH?b$U+8#qvB(CJ=R)W$hSjiJZYHiF-iFmZCYE3_8dblG#gaws2S!G+% z5dZOGJ!WN=IS}DBW&%l2kam{-<8|DHZ{qf>7Ry}Q(c_hapoEgtaIXGUpKg%*E<}F% zA(@J8PH9MwMCOzZc;skVQi(OFfKj2@{^6}lZO;DvC>{1 z1ac~rLt+w#X~UJXtTLtu80-0~IgYkY6p3Sh85v_Q-xf)GW1TZP5nDcf7}_^t7D?vY zF9Xti0;2$~iY*^q={3p^Jk2S-^N7FIyLL$6$Xw_>#M7E?HI5_ZUYN3XBlo2gnGOZ{`PyS7hlAlcx}kL6 zgNgI)P8c0~ZSmA1vtw%FJ3Gi8ZuzM(>8|!wYG7A4(NB9-#I351Rqd^Zc{F0+#`)R$ zoSfZCl6&=j>>Jj@*y4-1oaf98e2d1cGrtd3!;k0OZ+im-sMa?&&WK(Ws||_{@JV(I z!)CSi;+_4XEquQ@kv?B)eVkJ7MV9>R!)UUO(eY8r1k3QlXpwLxp0+}=k9|2%COK5j zu6`SivhbN<)I_|OPmWW632#wlA$W?Sh!XREVk{j|zm=3T>CbFZ>tZ?x{k zYekf5z&zlXfV5`MgIXBar&emErFeR=isB-t>Q*PE9DD@uZh!GyEy?_v4HLo6*96{O zP6n-@FJ(7>gcsT0bet^#u@x%MfK_yuh(N?ZjzfPD;%TS@b>9yU83#y(-{ z1(E?C+qoQ$$y8NyisU@G`Q?eDB?Q@#Z8}^uWx1=^h1p|=p^TsFog3-l^waFRv%4S_ z0g9t83j=9qp-^BwnEvRA$bw_9t0?B;vHj-zo^TPV;T|i7d|Ur$=J<~DckMXT zlqJYlF{SfuA%frs);p@GKWBvcqswN`bsHWDUN7GRg=R7+By&9onE$XmcG0HsbAs6=ykBoeN5V zP`7*Y0p&O#4M0l*P*k724m;XU$M{#ra?zb9XS&ndi-S=n{Oxf4c_xHBc z^qStuYRbZ5v1A2T$QP@Y1&2V z1r#kV#zGhZxsrDaqd6oF#WRJKn|h_n%%p1GC`b7^fkQfLYkT|MQg|>nvnoK}+FQ^>f z+P1*}Pc*%o|5=F4nsAK*e#TNF4CDO_jzXaioL&74qL zh{|eF>Q|4km|muhHtN7?@aWwRyNsPH%l)ni+yYjuE$X-{8ombG17wJaFC62&FCK{q zLzAcKs%uJ3yLV^J*w+Q0>k1uy)L2+IHxLD0EMcaMJFrF)o9ret0DWUKBTnPz z7v?g#Orv&OI&Pc!FZ_=HabmI2V10;t*IgDc4GEUS*tQZTp9p9?!2;2K5(7xX>6R=Pmf+{l?`HQ}O2*5hdNucRFMW=PdHW zA|98&9a3>B?Y>Ey_Asm1ZTgz71<_v(Vu#kvZAfxRZjC89^2YJ*J61D_fsxf8B*QZ8 zwnt6}SakZ;iU)WLN(!}pzM#M3r{6mND3{ts3NOn46irdTG(2(_RV#5&38n=Lwjmmq zX}nYq&?xILsB7@HVQ0Y+x8?!jTiwfoGk#e!XR6YETdWO8#l|60!V@9ivP&ekA_=^uWTo=#*9E zEJk1C!Akk7a6UpHZ6LZ5D4OjPtwxCnC;tNh2n9eMlPtvAQ9?XmZ^MfLM8U8f_elod zI9GI*#KZ}U)NfH&ov|U5ndJv~!5?exfL=XV=n_a;-`J3&PH8^f5cP=5eid72=R6Ww zhC|o30giPHC)CKVT_L-*jkawMBwQ?;{)o`J)G_xUVlDHSbM^&{dKJh-P7ohg0W*#Y z&4z_$&NODR@|!-a+D(Kwd?xW|F)}ULv4=$cga;0LFd-`e>nHi~t)3GC3+SSc-X!j4 zGi%l>gIWxSWgJK*%^SDDEFHex*uuv$uL1{wnt8XZT}WgCX@BhVI`Kz=BH|XloJ9324my z0fa*Kh+$G1^paQIiiay>G^-BrNsn0f4tp+kmlqrP8r}U?6{p%DD*bfwC-H z3JEI-2-vb95UoI62SF;-H^P8#Cr|{xhXUUj^!@fhn>W9?@|)Xc^M&2CHk+pMe~^>v zA;{voGlWfF#g>{~Mkr)-Y&S0$JE7M%@##!Ka3G-ahwv^&T$-9BV0M5}NKKful2V^gvEvJ8nCbf#&BfucAf!ad<4^1#|(# z(-T-NFJ&x3S1IaUxO(biT>WF}lHQ{j|9SAJCyvpaJEAWd6v_jr|2`lVdb1(wMe}06 z#X?Li=wD9($aFqPbS4%cczo=P$E`ZvhQ7iP@dBdJfV->5_;wor_6b&rDvg<@_)9 zSiZ|hxScx<{+_}dzt+LFW7MhIZ&(l4Ej%q&DNwbwYs`7Y8(?Y5T}($s=Uq%b72)RQ zwEbslH8>f;p+h-2=YcXX5V<6{0xk1}?%PWMIIxb&bOg?NPTi1>DOkdBa&UBZ_lD8k z4>uEWaiAy(LwJ-Z*OVl> z%xhX0CreX2&(Tk74avbHhroJfb=TgN&U0j!inVQTyVS0wphx5=h_Uk>D+k{ zrE-!rg(n8r`UY@8Tgx!i$?3c52?7PqU8cg#77a{br%|yKKiZe|vd+K4vTE)V%Exe| z9wdjscM^Uv^Q<~~f2=;CxUnG#k{E8Ms~Ns5ITr;-nr6ZAE5IB0{k0==jLYxE`rquC zvx0=0Tsf4ZE?J{Xgolr7tsIexQ(IEg0@(Dchsxbc@I{KlkBZzk=1ep8TvAqi_cK(t zAX~>g0G|Vv=gb#rWjmK9(FVy*-szAU#VC)aQ~JX-zmT=`AI)`sad=DUbLc>fUT3#Q zWpt>5Uli};hfa<2#9N1LeFCyYX8z5c--_*?<)*dxDNw{@@#9{#D`3S(m*3`r?H z>B|Vv3ir1K2}yv&Rb6LW>XBWnBi^;i?e3|Huvle>goW)6OQ3#u3@42XvZW-;!<$EvM6!YdU&Z2+ShgYi zL9*BjgDX^}G0bPW!JN}vtzE@`hu4>y4AbpB@~bcj^Lsc~ zWSOwTjp4IGc8C!^^1%dO(y}h z+g!MNyjqL!PpoON5;x0@XW9r4&XHj0?Zo8SG4no*9L#^Uyd>H^SaK9uyKqjJiF(ui zH2;k5VJh*vaXwX|1c<$6IhP~>d{9qN1Grt@g9{!_=n-H*$w5?~-r?T(c!utBz1Btx z{nn*znDo)5^#b%U=dRc5Zc&MY_WFb4PNF`dgG6BD;{EL9GQksmG)uREN%;v-R*_4q z%GJ%_stWe6PxZc2xQ28iwdU7%)B-iy0J~i)^3@U_t1hMk?mZ{+{pBt4??(Sk*-i9- z`giA2PckE)K0gLZE6M9ed|p;fp!r`7KLT`8Np;oFa!gab`Ym_6!j}xK-xbbV+YGf0 zx4LA$_kg`A+yb~&OKG;V#eS`NqXC4#S z;pp{delGZ-hk9bu5tgq}g8yCb9Mo}Y1K+_u?qzu&*^*~N@t0=>?|b@0l=a>7)ffJ6 zFP-ef@k!97!MgkOV7E>8&N@K5tF;FGp1FY1|-0yO;0}4 z6O=;UD%A=BuAaX;Ta>lB7A!6+z{W3#?Jr?*^h5h=8e2arRQBE7Y}40m(~66xg?j=P zLnG#%u$^qWlG6|&dxM5CQBSRnyBw!!?vyzCaEW2QGttaST>N|+(sq>js26_jtSDra zFzVhBMea+KAEC8u=Kw=jtGGDv$t!7-OFPaoN;osO%)~~88OZ@pIM1kDsZxqJO2KD; z-E#(dbwUAEtTnWH!V*6G5u*9=L;h>vWwiN+IOJ8RYcQ+K^;*Tw5UiBC!cw4VEuGP= z?OUT1zTjG>=}H(vUf|qmJKakIS?|Ep22!uC1P`R&xf@sg`C+LYGxjN`tI*$GHXzS8 zR8a@Zw3jp-K6^z)Avr;pq*q6`m3AY0+Sg41(b2K@a>D!dCqQlQr2#!xb0vW`zXHvf zo?d4&pOCn_&vN4$8-8aGMI0K@t$S`_rpiW(d+pmyS#C_ktwH5Bga@nvfu54LHn$CI6uJmKsT9G`LGXG#>zqvu$GkZ*sMV)^_ znG^Y}Dana!W2-S3=j)bx;Gm_n^O&FhU~*X;#r^KvE;9DuX&neMTN9oZJVexVFI9A` zoPibo3ZACGgbzgObH#i3bIiHr@MfgLsPZS86BmHB)sv0KF_|aaMqGv?w3i%cxg2l! z*la`buPNS)@Q|3yE(|*Su>G=KvdYDa;Xp0%`+egdlU8Ahpulan+8FWJV>0@{0&6+* zbfvO20FgUqny*%4D6FvJLN$b_;J!7kNHrUlBFk<1ygo)_w3%7n&34Droq3QllP6=T zv!5M5J{qck9d;(W8Hlc$*=*QhN;^%LY0X|NgbdbVOPjdJ89KH9^_jv)`T$KyLPZ=p+$*(yn_do{TD+J=l?|a?zV? zvBx08r?f(eT6sZ}4_SY*!#VoIn{`z=e@jr=DqEd*`Ghj=RjG)vSHI;sS2Z`$YzJqo z9V&%A%_RK9KPA{Za#;|feskr78nez${AK|y|6viEY{ZJquE1PUDYD-YbHjXpH+lYg z{`-1g%EbJ7Y$=3{JB|Auc;_xh2ReTlpd_s?d9t9RNL$56PHmm?jIty;^Igz}aaV%20=&vd&I;zj zHJ-oQ>7I7hyU2enbGXF->D~yUXGqTN-Nn(nEjYr}0(w!xRbD(ZWml{U6qJ#`Ys`Ka zk7CZP;$%>!DMZ$MuJghd(V-UZp@zzdBh+WZv2P(mU%-Rt?-{{EM_0`OqH{jcRB`=Y zk;YJAxhZD-Db`IMlh<{{X$EuoiqDI}Q$Ua1ISi=Tllb{FUUrf*=UxlIH_YI>2#I=z zAnB^RkX~}7Dfv|rnOxwYTM+xJ*y{R!$klwnjUDG5;UhM}uzIg!Wd!h%rWoe36ehY8 z(1G^Sp1{LN_`0Gi=g~HtFUeR)2r43s1?WIFwyrePaIX_}IHw=BULU#Y@lti=YNwe3 z)Z0Cyh$FJ2=fN<0KI_t^F))urzq!}+4kyx1JJX1uw#SZH2(#c3@;34_q>Y#JO2!U> z4_B`hz*{J_o6B+2LtFP)X1wGo{cLdTrIr&hnSSw2*#tW*{aTGZ`Ev?9>irP^s zvj94Ihp-|C{B1gJGIFsSpf=RvnnHhY5t>MSdF~Dn_DHbAMe-MLYqz`CpP#4|Db z>PjTPo)w4I1_O70l68v<(JSoomeurG&3FILVtRrlBtRpw*E zA}GMU-XZK8Qq1eD?)K&K?Ou2+p3;9j`L1?LQn5qIs~iQet+cf~=c%%*mY=Gr%M@Jk zY3l$F;qk()o#~tvDu){Ao_FpTnot5NhwHuPO2 z2weq{IVNKg{~}tmMc$HvjLNAk={-yoE@zbDS%ln4>P`>LEnDcW;Pv!^a=~xhpDVV0 z6}vJ%3&(2fY$a@E;_-QcL(a*it`TN% z!*l@|<5KloWy!Z^qWwg`wAxv$yt)Bxc>NT2%+owDzUv4-KCP9u!xEhC{RRfn9_bFY z%BpboVK`O-LOXU7Dmx9Plh+h}_+XD$sC;!-VjI?s^MuTOXr~R#8qxtB18fjiJOL{Q zqM?`cBwDMmyN8=>A1t)&9Wmdhml1MBhg_dzW}=gS?3wRmuP2VpMXz+9MEf49oCnC4 z$;yg_XZcU>dAoOuX4*$UpVrfF+6=dys!8aUEZm-^oX@@&d1KV!f2aS#0j!F zF72Or*Rj94=e|w%KD`;@ENrd;5HD};ga2pOz+5OSgihuYI54137D@jSE6H(a*Bi5? z73z97_oySYu&wqxTZMX`zLj}h` z$PWBN&PPRK)NK~EVr-Vh)1Pj3nal8(+N!}AwCm+PXAz0JB8= z>9cTm)O#T^U;P&L1POzJH8ONB>x6gjNONO#p1pP6BKokALtW0&bmnNsfczP?WzGJBxOU5)?*U~P0yvOT_3++^;S?rHxU8qhN2to zX4ZLr2C=`gyx9hQpWltivvu483ulZ+*V2RY`~nm^j?(=@-{kZ22U7hNoGSB^;oIb1 zW0>Dy;NqOJs)Z;@QbaR?4xd`;Ad*p|MZB5{q|r6A5u?!@V#ML8rE&UW1DgXQ3I;Yh z>5Dx*^h~>ebKjxk|34g|=ECgIQWQwj<5sQUn#CLi%!BizPjblhuPbz?{763q*ofak zYJ>T!4BVoMf~eTATnzdoB4b^09>G@y08pK%H+5gd(u?;!;Z)`y9tw%5q~Cwv=M(He zI9PJN1bxF(nJ3-JOTDJ_@&1cDe$;gcGGoH&gMt|N~_V$!3$(iyhe^*k|9MNgJOXeSJC9zL7Nk)`PpBR1eT<`kS4}m z8m zD(vOV)>>{clW`G{MWAMkNZJqhIJdBo^Q zV=)1cLdI_Ae7QA69Y)_^R8hirl+|~iYmBY>(ila4BpkV4I0K_Hf`Q(Ic^d{%>3l^_ zM0VOuGBc`AaXk??H(VysKh3)qZ`0mh_R`3>gQ&zTKkWc=stes+Vo0=#V3jB`iZp#> z$clp`#i7tJSfNaIsY>krAVdv8Ae%xniXwlE=T`6n2OkWZIqIb`6Z9m5`h1xbrFV1q zGfmt;not-0cJ#aflaK^a+1=p65bcFy{GEn%<@8o}6cq5;&k$pcuk=$j254{R+?#$5t%Wy1&F&EmRAyFcZ25FY0)Wle02{TVO^0bI+;kH1%8448d%>Ncz$SGOT( zG@-e?m#aV@O(>}V|AakB<=e49;Mwa@uke_h*!=|9P}9LkTzGO|^5>Tci?L+KlZj-6LbJ>|FLLo)j80I+w2d}H{C;sfR;9tse7 zM63#RT(^sYftFD(72wkVA+`WRW~6WAAFo=d#ALC}kN#y=Ll7ZMq)z7h7zm47bl(Vk z`6RZ(cH}xC!Eou)NL#+b?++NOJDeY(*3VDJN0-fyK5V|vk9A2Ovl@b^U<^0TAM-!a zKJWb!_cza&{4YGMo8N__pa4fp;snQPBE^oadL124{Y9i?HanhfU+KX%9EO!=^*r3=jTwBO={zocp)TW5?xls%e}F z`o!bwB`4;)rD}}QMEkK92K?%uB%_WOxC~x+9V?DUBvmj*u(I+xd!nmhr{sz`v-dAOnUocKU2 z==m_fR>Ra3F$z2j7T+IXEE)DKWq`(l_PX5xy^U>`%H;*mh(`O_={=8BrHT+jFG2tj z5+MP$AR=8rfg}RbBvA=V62g~ff9Jg4`Eh=nbH079_s?Fr*37(CvgVp&t~tjT_Zas) z_;j!YI%#QUVFo&M=n&`@_X9ehfc#An0e3+lYip1y2n0F~I&w%Fbd*~=#667<$^2K{ z?2t0(@V~DA!TnJi#4SO>+|!18{(aoyo`2u-ukZWb0U;5ZA-)lR>S|ul)IQIB(mcrI z@8|w+9e+3SztzCsHy^wO2_HXv{pcTu51j`6A$;ht@Sy`T2+ZyM(f`>tSBQTdhyFNx z|+dC%(D(Zy~*7~>N^ zr%O>_{4LtQB>R6RSls_7$^J{Q|0UNPNZ{}x?#nwY41$6 z`Zjo!J19CE{pbL+UBS`)U$xCQTAhdA=diX9K##zTivOy;9Dc=m40#779DsJm4nWfX zm#X@IZu!rM{b$1bXTAJKUHqSV^FP}1KgQz!A6r?U8BQ+LO441!V@_@C!IRt4k^GtV z9#a~+C5D2t^Q&<9XlStbrfg_lczjk;JBd zLydh#twYTvJ;|%W4{`#|%_gZyB)+B8(X=}YB_ZaL_LrNPt16t zszXixB^#`T*~zpJ>vOjOd#d?kHljml2`vwp4+I3nM{q`1d|`RjgWyCrv{D zOUb@Ie-GuJHNze0awA)X z;oJ`eBcmq>g1uCjJi>70vXI;wl&@P`f)tuEQ>yujo>V*jO@D7Ybw?|CPLD(Msc~78 zD41s2!Nn}PI)@Nx-9u@%qTjxyFrrb%8Y~@l$y6^jy_1uJGG7dA9Dt4r zbOBl~IrD}k9lbK6GG3g)!okg-6<5mF2u8`)lg6r^$k;Y|Ci$j|-e7`e16wPavexa; zp5Oj+xRFHVZ8&@3%QxPKBLQpjV*6bXL59#E_!TS}C67RDd(n5dtg-Ci*99I^kt&eO zRIS9q-M9PvHzpxgOHJZ{;v;G1H=t|S^9_++mKqV;1HaZuCp1-hhIl%9o`mSQT4&Jr=Soh$>iN`neYy&Ip~33bms}TggKjcU z0l&coxyh<2u}9! zxbXog!yUrQ+&jLbgW-bfXn`FxFZ;@Vb|t{7LBL5dGbvLMp>sUF#6zer0ZoX4w+pKB za#=>k>oe~7)^SJxWpT44{3czCxtkoRa%U!D|Mv7i$$ECo#Ckc{VVZ6uyi*q4=&dupv@D#PWBQ zJRV|-7`L-&Vxppw8?rwXpQAZN)Y6Q4q#ag|{_4m$00lvL*!ug~zhHBuLFr>1$1n{@ zBOsj0g8qTMpL`KSE{EViC;9i** zM*RFCyBukAW(7Tp1kETDH#R`M^Ev?pP|!(bN4ujLL8fgVi2>=*6x5&7J6gy5!-MDm zfB!@AG9EV6duiXtNG{v`i6d)0 zaCuMCB;D2y<&{>Oi#^_D`?lLO+M$Sa0190CqUzE~5>tm>v_Amxwf&F~`f^+6_0qX- z?66)+Sl;~z-;@&P&HefuGF4tWH=y^nmuE)8I^|AvEg^OZ4yeH631^XK_lr>HfN;u( zrT{896W*pzg3k_8wMasuK^rfCH%su0?njg_R^*(KMzgM?07I{#u^^yo!%HH6VbNrQ z9ZrFt{Kiq3zFOW z=4MDTBYu{Xk=7RVT714T$`t*lM4jB%K%fc=8~b#b~>8pxp&t%0DI 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

MTkGNpDQ&`Eh{#>-73-M}jduxd%~ta>JF(Wwjb^ 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 literal 372231 zcmeFZcUV(f*Do5k1*s7M>Eu_rF~m65(I3UBB(# zvv;4senBB&=zx|3u-|s=-u>I2-Fx@$*#jMY3)&CcBfj_GVg1wlBpiGNjzmfxzjLo_ zzp`axx0K^BaMZx>TD+jpA!!*|ITckkbq!5JqZ7s^re5 z&gf6_)57P)rR5dQx9>kTHn+f^zy6YI7i{-`sO-O#OB|Bx zw>^7y?-BS*u3f*yLd$OPJ$n!9?>l(fLBKas;>htk`z0;!l{Iz?DjPTgQhwKlg$^Ax zWT|le6764-{XY{d{{NL^{~_4_Dc3YiWcM!U;q4ZOAz}P)+$i>T#BVsi9T;N^gKnc* z2Srv)^_JtpCnmmojZtGdgY4fnubwiS{9r$MxSSaj>> ztTTK$g9|&bavZO02L=>_#2wg>E{#M3RoNhiV7w{;J{Gm?vwsdouzR01w%e~IUhh$l7$~MY*L6;cj zaf0kB^eXiF*V^nM6I+Imms{b)>!k%;hjio1ab}0z^^d02E)C7Ma{V=(Nrp3rU!54w zRUt<#<-9~HuHmED^tn}9@~jjev6B5H1XG!~13Q2>u2_}}q#n8#MSdT0EZA+@?QRRB zz3mx)w52$+@#W^5fUMY`E*(e~^$zPT@v@yBGdNaq6t~q~_`)tET|NH|4towr&OVSw z+B&cH;alIQZ~N8_J|F3ry5&8Z@^q6wj-0K|Wyxth?4PQZlCnWJEo2*6YdX7_+E`kQ z4BCEO9%FR49?8Tg2`qx{xQM? z_NnpO6lc;BAZ6{qf_7l3SP@$A4oq%&2eyx(TK5P%#aZ9X0o^U&SiCwI!#O_c@NA-) zChxxFvx_6ZM5g|dric0WDCv)eM{wbh91n8?O2`gOAiAhTFF$d`FH&~EEV`(i{!>@l z{LQ62%)9mnSFRh27x2}OuZADj+S?S*|KX1zO+<3))>eF< zPTHZVl>47zqR!81z2X>^?iPQ5OYbq?i_wF-ws?t{ytwn-$F%$NhQ`>hI| z@hfX5E0gKgrv|<~oUa-#qyL1<1SyB=DsP@G!-*BS`n3CE z|2 zm9>v|VDa}>NU|M9)D@CAEnsMx#!BgaVM~Nr6WK%W%;tND(p|cE6(FMf)OEcBgn=12 z=OcNlO9>ppc5sjx=8@!&!PkFf-tHXJF+XpmCZ7DKLG8#hp%(2?4OX$WjMJah-+Q{0 z50{Gsc+e&8ZaVS@*b4iU@;x5}aShVw9ivD4qdsV_T6X#WlQZGbqllZL3uGjzm`uDp zbE1;|?!#*xt5Rw6I(zsUOGx({<5J#tp$A=xJ&^}X%wI?|rsDc9NBQCs;+u3e_&K5A zClJflvE7V-gu)Q$P`5P4*2ogz{BfTn(53*cBd=(q#P$1yJgx!fDRO#i(~pDgBTjv( zk2pUOkCejDYYA_6U_#oDJ3af~$AVjryPvpU#)|!rApWS)xW?{6u+-Vgyz;`&GG40w zHcTz4{ELwf#njBpNf!aaB+2a0(PROwUjK%TW5ch%o70682mSLWnV-g*vWok}zD;+; zt@Ib|>aOX%>)T{P-tZb#WJUby65QdjJ}B- z?Fm4>`}qHpf$1qTdr)i@g)UKD0{FH`Lk6-cuFrIz$SY!TWo%@#J`pmZ^z+J(UVkLQvt7}nbYmH#YSjhKOP^^-)2?o0!e0Hu5#JxF- zw~*KEaiK5Zs%1}lD&H-Q zVXf;D#3v+N;{C+UV9}wu< zQj$O_(B_J!*AodRa0T>2A|v}{iT z5ZN+NN$hcBg+*Ne)60kvyr!OC`ySU+8PN)?I`L=2)yq?Q&>dhz%C+K6!{xS{=b2B! z3Ik=m6}pNSQ8MO|V}NEPV?MH(;*u9&XJs+yMCj>u@(7eTUUPRdvNw`o-_tcvYc6F} z_({Q&WPdCsQl{fLX*?LHUApBe9!{PlG&zYU(^*<5Y)2lbh4`YkeTm;|0iWa_1iw3j zXE{+Q-fiUE{T-Mv5^`j+CfiHzaU`%Hne(1qPbwpfScs2tRanHdCfw*BBX|`S#c1eG zm;A(fmkN%`a?3WijeT;4efk#5bOU(^v%(kr(WE{H#F!*Mk&suQ>-~vK(O^YTEepxK zGE&fwZ!2v|Zi$JSZ1o|DtgIlEROHp(@jn|}F1!6=#wZwh(WJ5$UN@L#1@r41Dw7i% zxo!`FKoOEK3RmdR+n3yUZUE8eg(ZQ=8=o_8_nOCXzeWOHl zPwq>N&d$jSWCo9Q8hLx$>P`w@o6h_7U79EsL zS?{|^np!+tFi%awJ8+8TpS2)w<9F3|>-DO49llHw=N_4rz>8MkYR)tR)Z4lp7Bku% zX%FH!OxM@TBYF6FI0I*Kur7Br&&1E4^w~t4j=24@PvUNgNd4np->1bRwogf9WA#R3x}lihqdPttw=pieeXKx28QZuprr$B#LkIeTq=DI>f!zE~WvNF0>FW&UZIn4K1R?m>t9z z+P8`ov_RnCeR4anm$Twv&F1gC!j_?=_Q`Z3y)4o}t`QK_t#pi|QZoC6!lF)J8`>lS zUuNS8YM}&8z^4)LXT#~(M1l&(CzbWC!+S0w&5Rn4rq16|t=8!AC{Z7EFLw1vrCL6L z@5TyeGbSp}q+T^Y@;yN0kg~Xlw3zE4=ZA(bj%-57zdB>EXCf?lAY>s1z`e0o6lz{| ze696rNbrnFd2)@=RFa4lRz$@MZIj7X$)CivJC~}RqA$qEy~_v^ThKZ_)DV;Nl6`#o zMv{W7G<;hCI~2sQf4{{>#{Uq8r@6@?*VZ}2`SqUJcT~O*m9yJ}GkceKNiQASl$~KA zhqvS9hS7q;u1(G*`UrqYoJn>{c8A{F$52O(_ieC)uLM%qdcs`abh^)84w+7rngT;k zNjr}vnd#;mi_491WV}uYr06&6yNg}9E-kO5GVj%Q8^{(+D@RoO1HjO==^rW?uQ;+# z6bGf2(9Sii(9>}qfu89DjgW&ah;ruqOp*K4A=L0-OF;^MB9ft?R~YHzArh!mj(gJ; zbNoYn9qKuLNbq(YDib4bBY$kKE*X9hdna_Mwz`A)wA{$Kt&M*i{&79Mm*d(Lb1O(9b zWBU$k7Cg%r#?GFtdAHHOJKdeSw&bumRf}U%ce(bfPtad?AyTV8-D8{1t@s6COfLcJ zD(Pr*QUjU1HU1uX=YHMz*_m-!_1Xm4mj8c(ORIU!& z7Awv@GhtXXBz$IGC)nJ0Z_=~OsM^rh%>vB$rZc71$|-)ZVIz35p96Bg>y)`_)~amG zD7;Z}DRwB)99wqI9*>f7>8UQR&p$j|a>a0kwSa1|tNHF5IouyP0|^^cjRydZEJAI+;J z29TzReDMe{m^ke@C$P4@0~74qoaG+I0-YAe@n)b6v>}D7jGRIM_jX`CI?&f0*j+9X zS_^QMAsFhPmyz#@Q^-*MYySHYi`h@aV2_`(NUqfmEcXeYxdYq0hyWaic$cZ*(J!z# zfu31V-F{7&)7KX#-7_0cYK5=e;Uusl(vZzNFqRw`1GH}DgZiA^eS{-?#_$GQJQVrP zM;st!#zY)|@RKPe#E6l1tP_7|^s7a8`Ep@0IcCAb!)pjZ;!h#IMPdP)*=?wGcV~aC z>VX;ouvK&*JU0+!|gy=ce*#G?xDk zjQ%^$ny=Wq1KU5#HQ#~p56DOSr9YO+wj0-Ah-(0U-*K8p+JT8q^0N6w|2pg_q`~_{ zx(d;c*t@&~OQJz~wdei=!SO?~s+Xssz1NrdaXbagQA{;lp$aqE&nd~^r`cwDQgrS{$?_{Y6CyAPDWQQ7@ z?!&eLwpc15=ef~BkyHzKzm-+C<=jFn@&3jdzGfUHz`7MGO`r!w0< z{kaK~_(>(J*v$@h#-N}|Eoi8zNPj7NWpH$vB)oyz-c=KVg_2=r|MsJr7CtCk@d-C;%&OE^|=X5e(w=v#|8+4CvWz6lI#Nx`RZH|4Rr+N}tQbtXk6&oJYcA^n`FU+X+MY z)l5C7mX@*T<@#Ec`>*-a!Y=~T*fO6yi9iu?%wPwmM%=#NRALsRf^s4YzRviFIbN)+ z;aIgi_ISlH%orV>iD@pL4>pU@wB$D3kF%;gr+F`NasPNc*;POHakZ1nVHeBCb{gF- zWc1^V`aIOtlD4u#ZSwFb>SpvvhhjPY|>hZoZsA2yumj=DrB9 zkc<-}o{&WnF^mv-zvQsgj-?MNJWD8R%`lhp4-iP^o}bpeA5(YY$MOWh-uv&0*23hJ zxM{c)SEE9A%f7BC{*doMTpL$Y{g981-H`m+P(YwheJDJLiwJBOVDa+xR)2IRM0b{& z@_akOkU{;g(!2De_`~w9JFsBJ%^g@5Wx$$A+-CvDTiFZsafDe&I#$Vg&Z)*Y-ib-r z1JKeWy8E!eVEJ5KH0To3sR`n6t3IL=MiGJ`edi7ZIRJx{swLyn>v=b$f_2tGJKBou z4lIYpd*v~n5qXfR$;k}%Yk1djNYlly+EyZ=uRTIBvHo+#s&8X`rdoQL!|VLRBTrT> z@%I{S+9j7A%Hj;GTzmY~9V@rnqa$SmO)rLyBA8R<4xwhD}R`71lwD0?rCu-)@ZaVB++=h>~dr&M&@T&L2@{gp3^XWirI>1o4C z|EM}MvUvI?4uQ%aewqIdR0nqPs%vj&l*1L4SMoG=@BUIPpuO%r?j~benN0a6B>6RuqOZ_sLxz)D}){&|TN);>8#Os8z zNN$*Amr@c2Wu!iu8~L?sFIT)1&`aP;`*0ONw^(3^^|g$p==l;U_7#E&QS&dm1jY%7 z+3A(8-^REImTYti6lWyI!1sh)KY=MojEMHOc)duE-MrpfXqfMI2>7!I@wX058KY>Q zRd6Po`ZbI$(%D`W9GM%nr_QULk{j4YIsK}`JP!}Kmj0^~l^e0PsNSi{tI&^Lxe4^O z4=D<6zh!oyl~>(U(lhEC;o@mf52^c-%d1!38aJ)J*=wJU5U>!(-vF#CfuZ?=9$E@Q zmM_0*EEhA;2sM%2cL#zArMu-?CbEh9C>0-8d?Y!9g4)Z*lX5=f(9o*oQEzu!l{{Xv z^z{KLhW?+=Ad`J!2UZotNAJM4RQ%1NS5UcRv_zh4dvkz^m1CvDDCO)}#dLV_N4b_@ zQ|3tYigVJ>prc=nG*3HcsF_&RN|`lgR7yD(QiQ6d4hExz>day!1EQ;)62A=WZ@D)& zdxx}#uP_b%*2h}!o=qy<^AvPo)!pnS3Wu4?1KT}5(k)=<+`8n)%ab!|(4?;O!|n)E zZyy-Si0x7Yc%M7Va508o^xWFtHiu?fPO!s{znYtb?D2bk8R_TA9oUDw7d5U<6h{|L zR7{m`!}ya$HM8ee;j!!uP3}JhrBe=jxCZ^e#aHJLZR-b;T zqA(=gcjfPPufch_YB-*}SHzGLMenuLG*rv3+sKGsVop?=2M}l33wx#S)@{EYjM~cV ztaCBjkV2J?N~F+P`UZ;y7Rthjk@*s$K5n0DQhHt=$XCj=){OQ#vdq-goC&Jt|A~DX z{$f5m87t93o4UCfJ7IB@D>-a_l0{0u9%#YFlSE_S3izYIV#4R=Z9qW^Ul#Xtoo*01 z^V_hwUSw{T+h~- zQQZzF)&RV>>2j=v)^Ic8fPKiXXW5mw!g;!q+;fgt3HjsusZ}T3%`*j#$)D|1yX!c# zzjyOLJQJ!}I5U8ZdXe3}>R4{-Qi-l{jX8{}Sa2*>!}VOtW#<+}xPB;;yB0Q@d6}&& zP^)}5NptM5kA9ry+p<)KL#A`vysbE<@O}~|4O8B2A)=%<-VtuD%(^pwib%(}#c#|? zi|$529hHOut|t-eL)z66H^PW(r0Mp8Xjeu{70V%zsCJoqM&7_=wH`RRz(7Eeq__U>zo(z>BPU@8$ zB|Anp+AE@>$eB@O;|#Kzh*OEiV5LUKADG%jbR{ZJqrVg=UQ}<wJkQq_!rAw~TouK$Q1##-fJ z1|}%zq6{^c_WS6#9J_WcaXGh21uvGlbMSV$gjpn6D2kyzXR942Sg~L)VC6{BKs%NfIA?lw4WfG`250P#kju%S_MyBr%6> zD=C86bMVwcL?Tye`{We3$VSq`v{4PiWRfUk0d%Rl_VBDE5}uv zuu$fnc$&cII_9nQ(hVX0Ls7tP4DV1K;&Aqe&q}@-=?SqXYzKB>h+DD)`-)m*I3(*D zBrBIzgv>Ym%)7jeYINa%Hlvi3Ubd+kA_9|3acr)M`e>=2$G)#8>WVvSWkSGQptB%H z#$3uQyc7X{;JeI>F+E@V0a?tugj?*O4Xc zd!*O~^$;Edl43Xpz4LRE-C=5*F`x#kENBi2vG9g~_3bV({J{~f%lsx3UT$||#Vin@ ztyS~zhTdHZqp=pf18R3W9HQ#}nE8hsx@g1tZ^ov6`a$hkuM=X^urvR9@MWrW`8wN8OYodeo#h#jL!g`+8NHzBUA&Tl+*G zdl!dB=Szz!SZT>;mWUXtkJLR3l+6#qNEwLqE2c7H^SYtv`tMpaI{6xE|KBY%?0-54 zwyu@%_jx~e*NmIMe;UWTJL=(liHKjx#7|IYf9-<64X?k)Qjf&GJxBg+5dE&WaP{xg z@$G*%;=c!E|JKC+2u=U3iGOS2-*)1EfC>NB#J@H1Kh2^_H#no4XkI=s1P-31u_||9 zfu!4rW^3+0c3|&`KoYU%2WSkevLT!u!d7#Lmxw*qkgw7TFltpav5Kd!;{nQh$ zH$Mwn{BL$Hs59v9k_ILdn|V&2rN4gl(=8O=Hp>Ukk2Dtv+v5Ko2K)|jgM@(a zhinLU*n!yr1f zQsDN>uHBHoM&wIm%YshbG$0==I0pnJ5m_1>v3soV>9@4bjCPGuRwM{tN2cBOxG*J1#z)mG+}rx|b-fz0do?^xo{h;Fj=A*uYKoqDxmd8e zbs@@pG^g2LzU79^(&LthOEJyPlE*##lTB3%|45U$w~+7Q;h$wP?>KZci=lZ$UHdCT zv+C$S_u_LnH|JZ|rsgBWaYLJWG~VMb1kQe*#;}JXU%Knez7|eNQY%ALH{t*oYwsD5 ze!gW~+enyrz@`${WX0K6z-qij#^qq%>LT1n4u|Oq*P%!2v&34?3XN;HkrSdaLi{F_ zYL`Y6ax%yRGT*v9ZN5>wpEtLh|6G$+DTvC@yilrl-;taYv)of>qfSw;diDM2&$1gP z&AE?fG7%^+ib*)Y$%y@qv+gCxbDS}*mEroae9P>r%a;b#?@YbD+N^3-SUhLk1;TLaAf9 zlmUwGn2Xu{+>L_0B7GA3QBQ&s-GySy(7Bz}b(+u9HdO3a-j>^-D;5Q>SsEQF4*hPH zJ1^sHy(QEY%F9DuuA&8#k}(CDWWcHkm}hiJg6SLymRfd)M6J)%sz05N1ijhm>w;kQ z&^bN}$FcR*YJ7st3S&MJYavbqtYR_c%m~*2fuXq7n;y!($ zI0#kiygWvBEGDBXO?%0*J&x(?<)=hWXeR3x)ufQjB^Oa{87y@dvYK4(ic_(_3HqRG zZjhA9^Z)|o;I;Vszq82yRTlYw>$Z&U(}9OwP6q~>2*F+*ErspAZx3_RnWyf>g|gk^ z&HaH@X5po{$%KwutcU|Rz1~9er$c)%t;rou6(5)4z7`#w7&#Lqgbj|Jbgk3rXtbBf z?QlGrR;w!{cGX2i-6<-KqJA13nGjlfA(3o{Mj1yYQ1+_ck4nS84*XoEhStv=yTp=x z)pNXrq#a-+lqDYi>Xl`<<`+xXCcY_hu5$ry8$%0-THqsnpR z-U;3#hO!B%vi2@VLFzfCa0hHv-%8+nm((*73T~w5yHf| z#|YrUdL~h+%NPt|`_R~(Zgci)eSqq`1CY)&8RPDvzN4mg?5@MxO%faM`anvLh1?|8 zCi{;ZmQhNkg&O#tzEz0G;M!0?BqMg9`a>Xpd=_wkPX&J8ybjK9BME=6p|B_iE3_G70ej zT&SvFbQrT6L?W{oEPtE%(9bw?I#g5QGgx_U{0)U&(DJ0rQ8I+BlKk@dXs5N%1CQ?K z-%dL|O{DpCoPug3uHrPqLQdKrk`+W83^zoN-H?VoEIO!aF^}~_jHMKO`|*0s}|@7BBmh=d2f1Jzkr`__giDS)@; z({;`;BEhIN8jy>@#X3A|f7|lKvq$xpyS703k5kId9TRvBUYTa_BEwbg@|fULgM@`3 zb6K++G47wh4}N*thE-<-9ZL^&toW8-L(O#*oGNXl(M35?n?5rYK}R2#Jw0{4AY*y_ zO|bc@V8R88w_Cn$F~|9^h+9*Vj9-nf3+g#4&)HYzCe{~yAw4R}2Eyx?%ePTDWA@M& zVU9h7NzoC4!Pq9_UgEp$?TB6s@(X!xDD@r&r1j=c7G6(%jLTttEn z`&w2Bro?>HZMw3hq%dB)2&^3ub>046z~6rdm}S|gU5UX?+s|e9BJXtR0;&l>f6r`_ z&d2O-WCB44G-lgNf~1}cm-#2hxUt(-!CfbA)VC1RzaY{d0YBPPl5%lAJFs)Z(Y%m8 z&#~GKErbwG;Clvr|MR%wCC6F_ZLO_L?QfJhAEtRAH#gGVY_vGQQtA^Kbs=~VCFb=Z zC-s*VHXVQ3#Eo)RTXDa4t%Yw&@7$^zMebU@gtV1-ZYVm@D})*R?d*W%2jJdz3((IB zq7&o!g2My_sGb4|Jz|^$eRx1AlV!jE@+L+p{Zcsj{?|>`l{LRqm9DXfz|tL<^H{j~ zd!GG;=g(U|+iVIfdr6NLCeMT9;iU>EV*65ohd-KD0Ntjl%X0zf!xE5+~y zRf=oN;V}yi_E+g8=N-*H{ZH&nZc6AS) zByT))a`8_}*nB{?c}0J(ZDeHjHQO*i+Qn%zxRY9+Wqi{U|$2Ngl=d(73qzH=xEC8u#8t zZrY);@-5pX-lZwarwGUSuVw-7hBxf}zSS#}KzHQ|LABxOWHelK#s`N*j~R*Yi9KX|{a9_I z`Jxto`gKm<0@1nqGh8}lYq@sc#j*|aE9KmCEG@HU-;LDM4oO~Ca+x+g^{R=Q+P$@8 z1n=QPVxxb)p7`xwUCJMbK0U7;s0oY2_FrS(X7wfnVyLTO=wNP;kW>JCs+zk9rbF5^ z0fm8nzK{lB%NH!5;%wPpX8W?Uv0@vD)KWMn{N5w*1Tir#JmJYQ;-C@bi@6Qe2ltE4 zbd7s4&DG`Xx!PR`3cELjrVl78@lC$!1&q#MWdlbCgBM=07wKbV*prz$KAx!R{*R_? zy>Rzefo(BuH)u1FCfsYdD@p;W?&rmh)aP>CANmDf9GA26ZtHM~GmNo` z8cXY}pIquC#6hvP4RY=YR5QmtI5`J})MotQ>xcu~(~m%E-*gZiB8fS%(DzuG#6HYS zXVtRVV4Lg~8$SbRieBM|vb2QbDH!qI zdH=hm((u~q@yf&umDJiY$q$!(d3F0;s1}%Gb*VjXbH}f^DwWtR`|2Al`87IM4dU>U z!M0K!T2AF(R+yRlU!(h{T_{>kWcjgTU)Ku1<>4B2LXz8SWFz8B4nW-G@(L{!_~Y2$ z`clLAid7k_93AL?7N>|+4%D_OJyE2Xj%KlCJ*6otLVr=1R1_;SH~)3Gz`g8lOYPkPIDbQtHk~*bFAcxu|W# z{D0Z4zXzl)nqoI6oJ)~fzn;L4;X05syNd>U;gtCR1lwBBW4s(*ixSGvWFH#~K}$s% z9(F3%57mH3QGtQjHTQ*d#zhP2-7Umq!_(Z*xu3INyIQ2tHCYJK^mwM+_e$BGB#$$j zAv9AyRIJvGw)l;E9I`5Dc*r8g2dvH<1Yg8*=I1Bro!0E21g>YrWeZUfOR4D5a=SGn zGvucI!O+Q4iv~_!Y5gWmxZ||Kv0%b)6WY`4@7C6|tdr?e(OU&fkLK@%H?HB@fDLuG z!FgM^{E_OXTWDPR`~2e`_1@t=5nJuvAF1-P0ng3FkP4;p0uTLMC3fGfsWf+0buV-` zvdVD_kC5`oRCM&(I6@6=`K5o><}h}s?+cW{6VNAiAEWurrkQPZ*M%}>rMgaWPXmOS z*hk>vd0sJIo<);hwh)=Dm9f56wlbs3p=EU`;E;~v(LcHUr(B163b*bq49A?jIe_pu zB-feuF~j^hK3w`xZbJ(z^~rj_Cp_-m4bSLC!?7w;EstL3&-PY1W}$N&lh9j%8Njz- zBXs+wOR;wy($|66dX)NgDCfRwfi_9Ij<Z9L zmz$npwWJ<8@t4SaRMcSu9IlI)jo*LE)P+rIKIzhiYbC88t8hZaHBG-F1Zd$wMn6rW)xjIxm5L;m{HkA z`vJ0Rz2c0Ki(Knw%)H>yl?%nW%hf-AR&9sGT>id|aq)$Zv~$OK_la}W$R^^KbdKld z6lgnVC&4D(-ax)nW;%if^Tf0+?PbC~U@~5}UZ;h2cUt9Z=NvD{5=>y%^piw`zu}K@ z4wc=i0&7q};>5JqbXfn?`u$B|G0m7@7Z%r8s;3UQ5p`&_)*{O6pOv>sJ_|Rme&Xlz}LY0eN)Xd5}H~wie;sMW#+BXZTBDsg& zZ~g&w>Uvxb8=C-?%40?F(Eu@(FLhbYKF!>w0v`m#CU8x*t`-C9YFKw7@o6JI%re4#8gcw*h%%t~~Ynv}hir?6#>UAv3E zVT1eYTxBCfn27EX=bw49-@bJO%9*s|WL*;@^BTYm7X|bBY8Se1h;Oi8sH2^VW2w>; zV?m*jgplG!L+7;>h?U;p!fE}ozI~Oe1~oc{|EAP{R|C~8-ee=vER=BaE&w6B=JKp? zG)Z)oVEDX^)0!4d-M?&44xZ8BM8q4KK589nxf#5%uZ<&BanHTto9EeBv%WCBhgjKU zx=XhM!!=2>ElU+=E_rl1UrkCxN$*&RT-?b)6KyfQ1EWtjadBB&Hb|>1Y4N+{^g1gD zJA28RPwO4jz$7c-YEK9m1zoR`PG|aF*7E*7k(~bmduj5!1mqQojX}+I!~22RENV*O z;KOY@yhsY;S4nAh7-#pqH9b4!84@1-;)`WKOOwSv#=8`_STLvd^0R|puO!{f2EN`d z)Gbg*-gX}|Za(CYGg=_KCks{v)p6wkVo$a>c#3Pv?zCrM zd>#sH7Gw~NZ~`u2c7ee7k4gQrk8S*(jZWD_RC#qYSqqd{OQ$eg`+S$iGgcR#SItHK z$QuKmw_OAtfUK1#1v=IVeZKmKCO=SxSEFC3S=O1!XrF&Hfza>a#qRbnd0na{xKV5c zUzH3vG`4&zNHFzrMf0`tlinV*kL_HDx*dOo*nI`6355vpnt@dItN>w14uZagxb}cg z8s4dvs}AR@#rdl zGCe&r^}#C+>)6|&-8fw4h%<}PaHvUr(pe`bRa5=6%v#(m+*Z`JDL1hk0ZQtqICHMC-|f5O&{O#eMyvgZHin z=}aWNL(0F#CR96C0*o8#l}ow%W9ewTx7)c!+ZQLEe_NWr`aCU9gSAQ**EG^}sMD0L zLubYvUw|AnOktj;d)l>;CrTCb7-_G!Zf-w9So($ zIs>bRmh4#G=SF^w8&4&A4Tb8|>g4a=3tVMD4G=+XvT zAy-g>e|$O8V~CxdMA~JpQ-K?0lnNy{wAyx_!uwW(MZG@z0E-lg_q2@^8@v`FjZFJT z2c5V)jSEzv@8yopp*MvmGKJn2XfI8csF*m^2?lGr1PI-0 z3fE8`p(HRy$U@^)gPCRxnJC?-o4TE*p>ny(4osKj7sP}2i={@wPEfalu?eMO(5Smh z^Q9{CyGgRhxiW$RVEsiS5=fb|XOQ-BwIB*_e7Ly)@N1GiKuhJu5Lquo#ea0FMx<-a zh1s4L=rxNO|MG!&z|r&O<@z2^yC?7!I+mykx%dMxcu;W|aBaL_ws< zJaAve`~afP_ZrB%)+zgZjGU5Zc0Vl>aVnI1x$ve`X{1An{PAP&Au_qo z_gYMtUYEr3$d;+8Ptju6qSsHyj>OzfxE?$7E>02{@4XOq!R+8(yazaf?^cZ*rjgYw8 zJwaz{+2@xC0lh4J6E~~cG6%N0OSw$@KO>PYH9!Gh5c1gtMEG2#oUUhdQ{o2D$~btmOSJ(=>VDQS{9(GbRk~rBk8di%lMgl=9b#`ZnC(_`u6+eQ$`%qqX=56!c!&1_)UqvP zmVRMVV~~6BSAnfNT&Uda0O;xPBJ9LGV@5oo8!1jWG8Hmyl~ip(dV;(2Rj+w_;P^Ub zICiQ-F2jIy_F`kiUTvnKrtMyl^H=lqk9qxAVh7ocS6aPD4^ONa&9w3Dtd3_?%jBIN z!+BX&F4{^bCu^1p#gvJ-V4SE{8S8>>m1vYv!0A`&6VaY2t(j`3Z!tw82)R6Bm z5P}4`^M4^o94EezGKbC=EMct+;=P-|bwHTa+1d-20h>JD;^iZN9LKl1bzO2Ft%F!~ zaeaN$*%=W=cM!cucuMQI`QCC5fu{e1yYGB!GK;>oj3PDCI~hefNUuUN$^ZfaN^cSY z>C!|bVn|eaAC;mYFo+@a-lQau1Q_Ykivmdmq)8$YUm;}fJHLDXgZt^;FL?l;=QTOm z=bXLQUTf{yYg;^ROq+`RRaw<3^}+S`vB;V()e#Yg?EcBwJW>_gsu%U|*4-uK&4y%B!7;MJJ_;wYL zPG07sD5N}a<(m{x&g?qqZ{%4_SpY@oisX>DG$#d#fC;HO*l#Ud5MIqyu(3b zjgCGNc0-*&=`6=-m20CVdZqg$@FrZT*)u-Y`7|9x9(*oA{lvh?bTA)O%3Q-6=7v3&GV!oMzxVp zfK`$EH0@H6mE)F68CULw(Q{U{1|M(+D+gBZ?WBP1z7igkBo&i_;YT_AjfD0VbAQx@ z3LxA2*-A62KkWE`@INL)-*rv5#sxS}%RL(-5{DKQ3LdAY+Uq!Nzc{(SO;z*`vck)^ zs+yd;zdu`VFBD{2d@I4Q$}uwG5l)e)A5vhS;k0ypr_8+V;=8~JtbLE$=WDqV_bcrm z+S=uvx6i2+`m$5>0;F9;v$|M+fR}P7VKv8#i_yQ4@IYFHSpihOUG(BM173piBnmX4 z76m~T5-lGGgfnER`J@%7WdQ%D{x!OewpE(@A}7fLU*VW_arr}+Uaj);T(K*=iepVU zPP1Ca={FKVIRCopsbcX~XT2P>qFGhz??1W&Y+t^i8MFsEQsS{$UbEU#;`e95#TUluAz~>rqr*i3+M4w8AylDKE_tq2@73yimbJ@~f0GD0s z!I?4qon@nI6>QvGmN|N#r9;yfsq)!WD-0>t{W`8NutBfn{IU@3Vk-S=z{(Y+<|jqG zk9D^Cru%!-o8e-q?uk6UZuuO_5V~!SNTA;=0ow?DC4l_k&I)|jlmSW{1iM{UxiO+h zhraB0D20#RDs@2bRFR@Vc5Yzmm1DO02z}-g;7fu+_8yFLsb{xBlMel}V5*~4EW3|kE%I$0KzOucMTtOe`a1Y%KUwMzs?1XX%a+C5tPrmG1g$ zx3I^Fh5L(k$Hbocq4ymkS2!<2iIML09HfpdVNKT?i+fwS^dAkcRO75#*1`hB?(9qP zU1&dZ)NP|5(w4uiCOi=R|Eu^PS=V!PjipRKV88c{szD|@fz^;#NIF6|xESOyF`$FR zlJwf$7vinb@P3#o-6Emel#EcE>It|pd+?b1SYpUkJ=*%QwRMX8U)ZA!TOG_} zlzC{PvN8ltPyVnfOl?*NA*NfDY73_ZAs^6=#`!xQV*xnQV z+435y6~=krYV>>8V<+FmkUW=8eC1nHzPk1TV~Oa|nf~$QgKaelG@@BVZi)@Zd4aT4zYUnJ7bS8RT$6`C>1SziUUMStbK z_Y;}f{SaqTBkhj)@x35lwi2@OtfXT@vfui1*rDYAQNy3~JpP&XKw6*d&XK4d-d%+0 z7b*D6O!Q`Ye1Lrpq4ZC!xaIHO^7!Bv%G8}v&*?d?9ER=z{yq3e)*D zb?N9>n=}Xi>K;A5L}*cO8UAWqq`#XlQf%=$PPj$O^io0`+sh79B5AFbtll&JYVHu% z*lRwwJ}`U8=2-A{+MYgK7kp88*e`QGd|{>JQ=34W$^KDWFQtbtt69fv6G)zEge`#} zeU$aq!LJRdpF{pf#lKHwOniPB{%33G*B2gby(-ys{cP3+hRRhif=YT9KgnE}fVb)v ziR)Uss{h_rc$3b?MVAFPE)_0?xV(SHYd%I5s}G&DmYn|>R&zNlR4(n2gw0f$ll-QS zB8fk_B6o9+G~h1Yi23+&3g>{rM%wx0zaVuibmPZa2yHu}-A9v<$3ytNxyS zwb+3 zIp%~*L@OMiEG}J|#_p)N!Tn(Nn66v{$Daz$f|XW+KmF{5W;h*-47v=7+=59_IS#j6 z)A($ZTYhy_?W;ps-T;O^SE-NtvgN!jWp9)esKYR2acW!#$TM-L5csp z{WBJtth4d{nF`_jw#NL|32WtkIr>XwIor!&1v#FR@ewvrSbJNcrL0ZcAR^yv&dZFj zDYN_Id0K1vs_UCX&-y$k0sDybR;;ebJ8J!@D&96wGg!HiM^%Yld-Pd{<9 z#alVI-}s3X1ihPbj(tsxtUNc3Qyde_2;l6iycY4oKBG*r4J$7H=5C>l&QxPq+KXpt zC%||~JHh6JhpBP&K|$l9RVqA_%>^*t1hPK z%+GXuX5^z)NE%!0BVLSUJ6-FuFGwN?c1wmvhEqH~d)b$Cv@-IadN)qCWOn7Mqc|%E zBaQ8YB~XIwnLZ#xFNE~q`#nAFEisl{kZn`>8mMLN4w!YE%(T)CzFEtuswZb(Ya67% z7aLimt3J@tnWdmaHF`g*z^VF>L-^{oWFz}BtGC1{l2MpF);(AGM>#h2@9kTaUCxI~Mf2I+#e$|%P`PVJdE_Tm|(%zvfz+z(ByEmtc-VdAiNXn+3 z1l!~%WLMUx_-F0Bv|tC2?%N)Db3IE-X$my4&569Kb-Iag7?W%h=u6JrZ+BvG!X@` z^;Y2lapARXgL2qkZo8Pt)mkPoNq+BLbiPQFvaa>RH+Nw=(Dmyj;-$@zz;#_(2aTiNLsW_Z> z^Cza6kWx#!egq%vf+`+PM!q+~=Kw?KE*^NmhHt%?KDMKYfH#<#J`UPJa3J!_nfH*IVj zQ<*TywO2bb9Mb9J0j#pYVUCPQ=ASgfYZ<}&K99VrbmMA#Im!ykHv%|p?G8EK67=Af zT#BbbtSTmvEybRM(_;{+Fd6n-n}k9}wUX$8Rvf>PaHbotUSDKxm>;fP5oUTKiTg;%XBEovONcdoJZ7y{%ep7Dov+HDkaN zP}Xm~ZjY(4{+Lx&wNN-SLypK(NZ+Jtyd1>T3Tx&@yt(?U_F8dhp0(&}KiB!8?ntdN zXD1B+q6#HBu&Q+ubzsZTw2^ z7y8GlTCehel(lcLY2xljWpcUk_wPXk7SJDMNU=L83jpam#%pxLGX-Hl+>kVy(>&FhQr#= zPLkGKx3=K}gE~VEEa}&4t`Z$XPTP#L+VD!!!Z!%_EB{wD#)_*d=5-N3xOA|PMq^nz zi5BT39BfabG%Tx&+6li}`{Df;1)J}0kfrjWSt?FS&E4_7D(q?!H4HiuiR9sv=&DRl z$K_G>JI^~+QT^<5nhqU{Bz{!+D6^)H&i;F1Xc0qq%s$dfCHzQd8i5qoCo6PI0$>lP zJJ&D1WOF?SEh>Mq1u#GmA}O1`#}*1;DT6-Fz_p(w`hDnbHsD5}Hy(ro*TI{Vt1yO% zVX5qLz?Xod7?xFYrNznVENcou{EK+uVOwY+@~Ov_VR~LPzA<+^&G^p|-!xDK?80jW z82?nR-3f8Vr6AmyVK1sp1-VSRqrv~#*rsnG$%8!=Kh*GAST!zu^@wwoWte4}n%!K# zQ#HeU)P%JDm}my4P2DG<0k$IS6q~#PVy+-G0y>4$-7$;dOxKy{PzZAf{LbRgpE!?9 zS*Ko_I={Thxcvqy2D+D|ucVYfXsy`__V_uS@pE4n%M;6Oq(_X#%1ZSU{MwHo>8+yB z#h)xeQ#PmWzbE*1fa4<+3WQG+kH9yW%$7{1w&KWpfEfrMfW-_E3=S}DM@XRD85kxM zwC_^INP>S3S;r7Rvd7qy?0@KaD?9L3aPxtp`GuB$Pv|E_%zO{$?AGgDjrzV{3$CGoEW4A!zI;(RA2Mw&N$e-gs!8K{T2;TtBT%qWEQz?`URo+Kair$TfZ_ z(PQ+oZ(Ua3BI@f6<(I% zacwE1J`pi0ALVm7OzmKt&(kh-uUn}$&}F~I;nOe=qJzK#UtPu|B2I&OS6wXTzs}O? z#=yr_45tT>KZw`uJkG0S3tWwSr;x^$L+OIeTw{+&@bRgCq0FbINQ-joUDTy<@x`yF zDQ#tZMM@nLs&$kpY;(TNAs^=;MI*dlbxM1fLi$xAaaRllXL<>g4Xi~s*T`r;qkqq{ zan6u);LWEs7@k3)WM4b(qApBzK=9}`>&6sH^5}OovEWaF5KPl1ni4Jr9FkmsQJUIs$PH6^?H=e6iVW#L zWR|VFZ^AiiTKXO7Z#1i_z9;l)M z7|y}tQt%9&B3YXLPU~tjB|HB4Z6KNKzK+ELzSkLZ8E8%SU_rZ(O5|hGtb2dAjC9vj z3zTcg^-@${h3#LgK`w7)ipJ}o0viwLf>c|jURp=^k*Kg$n;wprUhW-VnOq-FqAJ-P zLAPCNz>7O!WQ$lAa`1+vJsLcbs|s@>i7mnif^*n(_6JHvIr8flaW7d&F>N0uhrCl- z5-D;DFM);D+^jyg{&HApyja{%X{ztLA7E7Cj!mv5yDi^#`CiZFH9M|COS+=|JO)Jx ztDpfJ1orzNn0F@1@cd_Y3!9h82T-QC0Tsw(w~#Iae=Tix$5#a1G(73Q-pXnvoCh?6Ml^+!p{LNpFka9(wy+m- z9&;D8NJ2Cdl3NhT1pZp}7Q6ER#;d1k*7yRAa5@mr_0p}GKp(@Yo<|wXO(V;QdiV?P zUmVhI7Kp*plN%qb5obCaj4QL944ke;V9u|}7_5`?ngC@Rw&0CzX(j;6-_?W{Z46VyJha{4GD|%+yD9K->Pn!-5k)Xaxyp6{f?j z((z#P-r5v8`B~)r4M~Qz&Inxyc&tUckqk*_j#wZ|hLR;ctl1hhB4b8&LkA`H(_|0+JJwuM zv_1|0&#`u^EUn+qu^~6t*j5IAxlW(+AlidJa|GY))xHe}3yJ}mD?r@QIrIYB5b%!1 zcryfv(58P+4BGJnDz_%zz6f=&VO)MrpCjil+TzMBMDB)K*mNhUYzw5Vh1F6+Uxd!D zczU@l2J6MdqDw=< zv-SgZ<@Lu8%_G&iWN&=C#mTJFw92dZqlR?Kv7?sL8I@H(imE7|UB?P)xx(K0@dXkn zQ|xml6hit6H+(gnZFr2utiHm4gpA($MHM!e1+`>R5_Ik)hp4AZB*hDVN1EC(Wb(!6 z->Rw70o3firBQCHsqQn8zBCgBQ$&hHba`z}h<4x!7E3dq%nK@Qo|bLZ^yvFB-wm3R=g{lUOpM&;dSlQC_v~9`xGKLk$9V9&TzNtE z=gN_eEhZL+CS%Rf#60C%G`xj7NL>R8fLG={H%yd&l}G;5n5+4K@dNJDWQY<0GU*DGd@`H^$iH!1%#yB0da1<>xRmg8Kl&T!JQ|EmYGkNW@5-n#&c0TE z($aHw5HS@U4SICiCVjpfEveY@>-S@;<5!r~r|jR3^9kN1OW91z39y-;iZ)^V+})(` zMqLA{K{IsG#0Qz~YG7{`muzhF_f=}GV6RB*Zc=@m!fR@+we#$*u^GeEd0KbrI7@d| z|3R%nIvFtZWf@YW-sT$1Xs0)LhP(`rGWAfydYs80RwHh(W&Cr!IQ@m+mzi=SRH)r? z#na|7rAb;uA~)1$b5>UAx{024i~{bB&#s_D{X6Xz&D7t?T5ZVG1P?G zW5e#A;Z?`42&*82m+k>cXzN@_!Jk06 z6;efaz^m?z5D<;M)I4CU0Nv$foF?KqfU+Pz@$+hH#jnc(o%KWoxEje>~_vubjEU|?tP<7|46qx@Ad)r`IjEE#Do00=KCiaZ$U)NjP{Ls zQIhe6L~5PDAP9(p+iF;aGIEwfvpy-xHTJbLCUL-_|43?%L)jG-8brMdrbX`)_B&-{ zT=FMIWZ&E|$TE1tl@ymU5K$uFH(9E>aq^pni(|xrDbCCge5hO~=^+K~zGLmvB7k-xDGzO_Toe#wglK%AsAl@zu*O8D<62 z*D$;Q#;$!@NB2F5)3#6BWM;=BICF2(U6Kt%k_7n+T!szOg}w0B8T}xu`$(h?(FeFY zc}2!Q>-{*Yq}nX4YJw7e_;p>($cZNLAo%7Rb|P(`$0gm3Lu7Vva#(RS0`5eP@-jflZ28~Ag{f(GVX0s89Hlr%Jr}8`{tf?-)VT2I`EE)1yVuarN4ykkPYa;`(nq5 zC5sTySLx~zn9}rVq5>FJ8@nX}D3Lr7qnV9u~c{Z_%*vf9mAk^S4Ch+`!l zWlfQ`aBoj17V`nQ0leh)skkl7>a1PrvVJRlgGgB9W^+T2yiq~NFIc)&n=$T~ot4K} zpm^A-X-Y@S#eC{V$chLm21uv>H0_>JTiD%cwT8s^x>?AAwamQRmy_(S=0_v=J$I@TB_?bFyWvSGJvpMLpB{zF_kJ zEM7rE*x_j#TvXhJp3C-{@1aQF?dvpz0S+yV| zK%=xh-~bHRZH9iY-NIboO4DGn=xR4icKX3^eLVie^g)p|u|VY$(t%n+gomUXGg6Uwt$e!i*f9kO7AN^2MT1=XVj)??MxztLZSa7aRM-+EyL+hPBAl`)=MU z6S!Q*94)sy&BkZ-&s9v2sSL!z{B^2Qg?EtOD^^|-Tp4F&FdkqH${e48S5luB>grJ> zdV(Mc_bXZ4X4-!w_-6x(0Xs*lOJIKEsvT%_Bi@?f60f5!6lerbd2r;`S_ax36S>QP zbOgQs6I!&35uVX~rQUT*1g1EFGK=Kq_Q1q|Pj>~ME{K-~VN3i4l=E?E_iYdypqA`L z9=V}{CP7ojY?ukl(elC3hi;R|>Y&4QTmbg#Py7W&dG}&=N^2YXj$P3ywNu{_Z&p`Zbz`>PKQ`>O(cEmB=VEVj?!yR>rvG}n%zrVccu8Q{^^V`T%)GW!7 z0PBMDIYCPtPx@y!sy3(4!wZ$2txDH0V>{sGTcxQedo z0IUd<+W`DJy@YiMPS3`KY=g^{S%!r4LH&sCwc0S50WYsTev{JE6R%0Iq3kx0T{BhT;%!^G(uvj5N>Bj?d#!%a7; z`JdJsePoXl?-(rU4@OOreS#gpAtgNdf{BCP)s-|svZ6WG*a_)Gf)iH&eNkdFI2EN0 ztSv;@T;2>El_S0-dnxNXMu_!4KDN(S$4_jn@OcAQFSl2G-HoBDJvN=IyM*sD!dKH5 zA>8xs9?M&xm>Gu!^0o)PE=+eLs`&$s97I|CRM4`&&vgSla!T1_h?W?Zk|O#-pvqe` z7|zY5z%`T`1(CU1;UNhZ4i4yVD-l9LK{^Mzv>snV!3bJt(!*0nv&j$$Aw7(*s$dLT z1~Y{30URlSR#1ewcPjFy>YQRUIIKgq7P0+m(J)gyirSok(@4_S>G#>ZRrPf>prGGj zz`P~`=_NN%!xktJ{PM=qyap&cW4dKkeCzdh%08cTE{~d2(KX!*QX(#elpw!pe6{jq zPUNskv2xuRZxx>a(sz~zNJ}zD8G_?+&ivQZQK#*Z)77A4LYwaRVBr;YF#t!Vdn~go zCc0&*U2)-vX}|Umpu}M!wA+`)psoOx@=Zv1+a62bJE)3-O>X@2Xph+mJ~IL(%YZX; z8OggLM?C1o6&X0_v?I<|yd6BZA{@r%BGqllNH9#;J@?z$zfbFUz&TJiK$SOvYn&Q) z16EB9)q_g}<3*>VFSfU#r6xB*@;hr@YE~z#)>J2i_-PDn-vzqO0uaj8$&d7WueIHN zaVKKl;ARhxAJ1jirh?W6Q1nz);W(m+jD1jc?l?wtij0gk#7X*hdnXUZh42>kDZ4%N zwymH09@LEv$gFnYwHMlW8m-AcIN3*&OD>l7)p#G~;_lV=@h}OxpFd~>NydY;@4n9% zz6W~?rq)wBmaIo~1+O_w;2sxnag00kEJA1-a~iLJOeV{c7hx~*@*YNQYkY-sp<*hl zcV5~vq7RaK9_()&R{vV*M9{5EfQ#Y1*?>GQ)fmGlrco`(ki{5g9Z(+{>Brz;W&s@+ z!80o9G4HiQH9NN{mdd*xW)G&6M7?dhIBw5?mDK{({mXK5>Z-eW+vHP3u^kZu%t^Zo zlyLzKZoQH@JDcm|ku}P_=_4xSC=^57f2#ZM31K8rEE^E*p5Hg{XQxB;URC{OC){CF#LBaJy#n97m ziEha%l=a+$4>0kqWkLLuu^|?D1pyEgQsgJ=?y)Y1YFD9L@gXWjRw3KSj9YQf!cW77 zf?cY6=Rwv`^jdyodF1Q$c_aQ@BLf~h?sR~-xu{N&r^QU3g7_vq&XN-?C@kbGTKjkdcc>~|I5oSZP?c;zK#yuBbi4>JXMv9Qx>b`*BsbTa{TA&}og}s!w_Qa<#5Ru4>DroMuk% z&0Mnkp*~;6KBs>a%>JiDjC~48_-`3Mqo)a?=(8-y^aI!AogNJ6%_1WXI8hP51seU? zsh3Y@=vbF5ZVbqrpJ1tb2QUqEcD32(Z4lQR+8aQj%A|-Ql|ODEE}Im9%+je=e$dDm zZ|Xj#C`Z~?X7W)w`y@;IJibiN%W#7lhOj1lQLARlf#e;zKN`iQ6FgO)-cM1Gf~Ztm zbE|*wfIMBHJA?yz8)QNYWLFRbNlXBfBanRFr^8ka>5L&mq_>`Xx|`8%bM!VZkD&A` zw+o7McBus3<)t8r?adgN=0{bSD(m9=DLI7TwvkNsqc|xMXyi769um;sRjcm~T=^T* z=SK)RhA@rhbg#7a9Oq*vST=E#%5MF*sz_oNql=?}InQwTdup z_?%B&*mo88cQtNS9lF1Bx6)5XQ!Kb?$e>)PIo2?a>o1Zw<3~hCw^WEvh%dVAT9V+A zZFSK-(w3Mq@YU!?y1K#}peu-p9 zP^@M&zjdJ5kO9@P>B&i_#S?f~I zA6Kb%JB8sQ78MI|^+z`_eW$w5Fitb?A7|iyL;thV8Z&4&kMTTCx`&np>FDQRDkxaq zh8M#hBy)1#rFNP-%rW*^t4e5O6r49JfR8~$R z^QcR==s(ahbmGz=*e5l^^cllfpT=kIMSN7jqUJ`T*a(#MZ zaOZ78qRuhm&-e71-6Id6a1caJjJ@ka=*VEuQicBQd2}Vf`dVQ7ye2p`lrn{p%PaNX zT63cBog{-}36T;Dxv?^X$yImfjQ}1;&wVMJuwsC+avs9t+}DW_th>%}4Zf8JO9{M{ zsQeQ9W!+JkSZ8hbJ1(QlJTq2TJJA0XDAGEe=Gv*d@if!IK?Cb_2WOSX{o;Y2l$rbF zz+Aug%TkAZK{oFmI9CKL6yh_$zI|u#${`3q86B5{tM(XN#osZM1ehxLgE<sWCE^r&;=Y?_PhC(x zO{1GWF!aVGyRA~ud&|BW-c+4QvL3AAkTAyr!AWt2wBU8mT+z#t!UJydA=m1sKfzn% z#-H?2HKm>tJD)SrLlK!l#5dqb4N%D0OUPU~4GJW=;eeX@PELM7@<7SF1GASgo&?he zPH}YHhEq#+a8)dAz@!pcHR$+k=Jt9ky&JE{(BA(3N<%tfsSPxg| z*D=7Q^<1z7Y(37!E3k(Peh#QW7ky2EG6td_!GBPMZ~*Keq)gqGdJ!adAMErrO1uJT zy8(uRpxQyYc&PCOou4r;wq`jzC? zFCL~1ad(5Bw=WS6aLaYwek6;ltlmX>NO_JC&hQ39#W zH}=nvT_s-CNexiG8~u7H%bSt~)gEfD(H;$=Y2PUBQEni6H#&Z`R>P&@oIaLilgw_F zrVy!>QzIG(kkw#Svgk|M*bM<|Hz@lPp=Gak*Yqf+4=(&)AMy~I(XHHkv30lT2>FEoxq zQtT5G-|Fv$t9=XG!_RnYPIr&I6%#}HQ57IJi}jPDY&EDi^kSa$RlVq^Hl@<4BI^{i zin*al)n4h?9Gdng)uy@B!S2u-#trP*+Iu!qPOd*Ag&41D_DMs;;3Ot~{>8LTg5yvCrZGAd93%U(k#0%sa3nnX2Tv(E2+A5iU%p3*44f`7v_{@+$ za-7CrM6g8T9r5&m+KP~={>M~nus`eyT%khx#zg_=aN(`UwnnPQIWU_?g3UH3Oxt3h zMAYj)@o0~fT0V{;KzEfPWr$E3`RZHc+Y!YdpM)szZm9m9DQ@N-twa)Ps*3!;5Gu98 zOE@Wc@4s2$PRf$Oy81_(NbTMlU<`x~=xlp8d&-9=_IrQ5`|C5$jq1C(n%ZL?1FN4o z4h(3OHN(8;h7vY!)ih-k^f*Z%gVwAe>~o*Nv`F)~6BCR96ydvxM@sC^nC5_;O1dPC z1B4)B`KoEJ!440?C4JBZ{W~}-?C-_EVo64L_V~bF226?(kla$FFxXj)#ky}AB`|^( zldA7C4-;%)Wg+^r1iIAJbrr~FTpr@R zIPN^2Ski0YP5?ldHkuL&A-XK)CMTgVN4DTB2T*pkbMVTv66ronB%DXNVK*gO zK1w%kMgij_w8S)*)hWA*&DaMXzrL@rlQ6+03sI}>yG3+KDr9Hn=ns&xB+60;o?|Z; z)y%67j5|(+s|BPTnK2ZSb zYuF~E!-)70?7QZmS}S+P*>%Un==?}TRMFQ#z2VJkc<8z9$I4Me|3{e|>7>U2N^x!0 zue}>y86TZYSua)HRxf>4_R1mIxZ!@;D~e`QV&LG<`qSx2(jNzmjq)xkIlNKwxghb% z{ofO#E4!ME!vEor`G7YOh{XEsNq|3Ggx|GW;HDCG)JxGr&KMDR;7Tf-AIyMWh1KcU z@pwVRJYByMpzQO=5~?1K#(ibi#hGDp+@8pasqqTtYWqIybI}IYAz1?GdQh`6DLvt< zF(f#kn!g*hikaW@dXG=PdHg!e_zG3cf#jYQU*)Cy4TlZ6`4uVy(g_K!9n%UIA8#+P zxd#JcVmh~I*K?Nw59<{BsmN@Tk>(Lz_t(*?bNqP&#_*!Y#{QPi{c@r*Y!x*6)`ada zyFY*Py(an|;f$e`m=X8Mm$Id;+;#`c+2L>C>ca?GCi}>!=u|W|RHl<^L^n!UA~DPihW;)n*ZB=xxM#ZP zNxVKioPyT;Td|%r-A&EYZ z<6s+JU0K3y-676NW5Vt2Y^-q{_(YfE9Q=QpaxK%QLcXl%Y5BH1v&c;A}sR(;Rm`BG1s7S(meQa|D}J zDn6E=VUY1%Su7*`L}We(NiY8_)gy}436T-w*2>mWing-eq0H8F>4gQ z@$ZQn;X6kjg*zUHn@4f!6C8c3$RNrl8Hhdu_My3l*Z zbg74EBFTHrh4)&kr`b(JFQ=;YcZKbPO`7r?GZ&kf$b%r4&>cM_d$gHg<`;kK$LDLy)*i=(n1CyiOKyJ% zEZts2PBBf}-#`0<^VD_!Oj-oz$(+>!b~1eRZw%d1GJL6!SqH8|EPKisBV7u>gO1Li z%o-S<>q%XhgiYENOsd`@h73t6Hi-Wto~+3-qu)cHPP_;_=u~w{rHqTbQ>v<^&I?Z^ z=I$+idH>l6Zxs16#V}Vi@9vvhq}MGPFLUti%8&B=O#9tx@Q(D4#d4ia9VH5XGqgz# zBui?~+lo?Cp|7ZQb%kQV-jU=d8qsChW8Xd74Tt4yIVTdMFN?3TaA&-98)b$eVl+*0 zn0}sC4c5%wzOHfrt7ON#miDV`nM?7++b92@y`0J`Z_h5@;>Ky%T&<~_?H?PFqddDB zJUGHDBXU1s&-n)AmGD2+tx3wy`n?;)+-z$Vse#U=$}I{z+YXt*_sh3#6=6R(b9qj0 z4E^$d+1#2L==4D4V_oG`)z=xElS3^e$h-`v3$tqZoU=LhsrC0o`}D{y6l8Tz0*M1z zKaF{>so6=LgU{}O4toq&|$H{n^_l+~4 z_ga@7-%5}XcF2innGY`PYCZpJyIL?}DMwpbr{^DKF)_b+PhC%54rSfSiDYJy zNR}U$3dDg|fos~=Hi6N~(EOV7c8jv@u$~y~W*hRf+S$I+&_@$l)lm7QpX#YRS)Y<8 zpw;h?Ymtft6YW5IT*~n$A9U0*GMj4qw3Izre9BIAt5}3UufrV~*}UWBrded*b%U2r z&!8UDB;)jNKbr%KI)0R4DYDrpDc2XfB`PB@yL%8PGZX&JI8|<{b-2d}K4GFxi6NN? z-pDumhz5;UuYX)mzwsIS%am+jnrm=O zj6UE9e*wo>4+6eZ8Wr6gqpRp_>+d`2pjBfyTB_wj* zy}bTWdC=7DPeF&#%kLVwhtnk`(~mZHcI991?w0p-<%xa#<{vPYo})2eB`m)-UO(dSiQ>7^)JV{w+TQ5&p3DE>}{Je-fY%6tdH|=$y{gyl|6bPGA5HP5Z+*;T*81l zm(AIDY6uwVXkLu-WQ&Q*A5&`4$G#*qCjs9z^8>@Z6{AU9mTdOxZZ9T6TWcb3e~JT} zYuw0yfmoBdWRy2$l)E1d#cSw(OQhbGwVQkJc%ZHLO0|FIl&i+mim)wYMhC9XR8@6<2dAvB{!*R_D*zzO zC-39!vzZ^d8*;;Tb;f^VkK;uN@1N|ow=qOYsNv_gV-B@P;18p@)l|p@ya%5;h;KW`^kppkyilM!pFg?Re- zg5K-L4VOK%d4JGZ9ez(NJ4;+>#?|SO0-&soJx-=~<(f&M*4hVoS7(g5aS+JzXQaL@V5H_~s zNcjs{X4!cZ3K|iM>E>!LZ=$6wj`FX6{80kgd?+CwkKJ69Psh5Ge8KY2EVHc;yV<7q zRkppkVQS}X(&X6exoHdDp6**DffE&Je{;=(N;=oz2f0=)5#MW5ax{Z;5w-pXRXJ5o z1JpZ}6;7^5`y>u^q9gN_vEHdH@#)f(kw6O#?Zg{qTTX9icIPRHq>0)@W=^no1oHa$ zPlHF5%ekIm@>oxjbb6ZWU~2UN3MQY0u*wsG%d>}M95S_Q&P%P6x5A%*~9 zMwuccfmURm6l6${86=Ux2qE6p`|Nw~-rwH0>Yh4P_nf=yR8cEd;i|CKde{3t&+|V2 z-=BPH6|8`R0%c!`yDL*Z*`@xZ14GVL`<%%;^^GGNx0VQOIJ1~U3OIWs@SG@f*=8)b zW>?K*Gq=C3U*+uvIfIO!93yGBF3B27Mn>4>@C&bcEUfy1d1^1SLX?n35kY2ae}tc5Ep z9?K$?PjW66JTA}jAE}tnz`UGlNR7<IpgcTS#dh{p%q zpRouEd9nH}KP@keG;?!lLTgOx^>P+HB%pU%8yP1ffZ9}{?u))=O}+sS;20VjJRvs; zN7h3eN=k)l=nz5|KCcGJ z)&lGyGHTg*Evw(XE1_EL6IrH)|#icRf@M=XsRCFJT&|BJC(xPe@$K>(+kG| z2~2#6Os6=fcYdo!`p>_n4-ki{u~Q*3ddM>HaDaWN~|Z zXS%==ZZaOE+T^DEb}wO_ceGxv3*v#qtvv+k-Ql(Hoq%ti3PH zsA?6U7g{aq4$GQu4U((r7fnB&h_c?;!tpd4oBv_79+^g(PyPha`RX@mDLIujH!~ic z21@5-o)kIh>9-&&B{r#O5?a5ioaM&fuoW?2hm4SsNuEC~K{p3tpXSqcC?L6KfxdNr7ItB&p`2@Um>;9X)nFm$H`G^yvzpo&aw+#A$Fmku0iH^p z4a!Llg~}sDh*p_%Qlav@tk;@PiT>}h)K|@mEY-wGZ2N&q&kb#C+IfdSC`a%+B2lsEWwHPXFf!5XBK zR}o;SFxq*MbLq?A?Ur_bxqfcG!_@f31FAHtqv$;W>O(GFX#Jop9xQgCAdbrj#g8J->KI&wD&pXWKJ9pGZ#DTB!7$4tne8>5IdUNCtrNFPUyKnx>W%d8{ z>JB10VugR6JyZ>xqMoLAdaQ)9Hm>rD>${r5fv0|^H7@2?eRZ^iTEFuK6kGSbg+ zykK?Xs^svt>Ez3ys$b6fYt5MJxp|I-r<%w|safCYFxx;0h<{O2-&|_Rzdb$RcjVwN zpm!w27N#*{NPJBlv#&&O0vD5Qx{;|3rN1{h~M0}pTJ9zZH(49gMR}{pv9X_~;oss*&H@?bx_XiX=-PYG(v=%je zKuVtOBf19`w7tf^Zhe(E;C^>GulO!LtnaOCL*3_$fDXR@lQ4Aa|J}ciuM@aJUd-Nf zjM4!TbDa}Z#>s>|c{6uTi=6Pcd4f7JSjKn^gyTt}$vycd<>4(4>Mh-=aMn!abU;XV z?$AfKHAl1iYAAufe78$Dvdi3Z#NNXne61}%_$oD+L44Q{hkr5T`~Uv|dm1Q`bjqT8 znJp=(IVtqA+ZYOf+6V5Z&X%H3FWve>e?4&MS9bbPp5j$Mdaq0=(8D9(&#Al4#)3_a zmyOR}WbN<)-fU5m8;7hmYROrMF|*&gH@|{Z#?|Jy%v<_0eQ6R!KdBYa;QP|)4=el~ z4JBBga^GGm3L>LPH0Rmm=T3+Kp?=?rbs5|zfX^|kyMtVZQYvU`WQgOdG|u$Ki%xsNA@Iw71Apfw~$Vxm#wc+C4wDGsXA z!mw}_%q}ir8#7B1xTXY`so5LyJMOX#Y;_8jA#Ah5wlvQ~7V-7-ml$g+W^cW@t~vsBsgTmmmA;JT3q$D*0b!rv z%?`esp&JCP&qWaRupFCy7O+1=l9Z1aBgh1rJgJ5TiQ87<&6BDX-X2i=7LP*v_YW_P zcK*y&<(R(YeQ0r)XQe%5Q_MI});9(K{1Yw_3z)se>Q5_s&UIuX9wCgzwWqN-cMVo> z#eOnJr3au;1U7dzfs=kD8L!wbt)SGm>JbR2cK|1| zMY|kj^&+Sb0i0EL9%EFRSiVwHpuOkVz@R(^0<_Lkm|L8utWm}%$}z)VxuVJ4tu4u1 z8Ni5=7NfyBp3*MNOc!$InC))<)E*dBjc%jHTo`IMt@68%@NX%;1XxBITXc$v#!sxB zeERMy8a+g^JG^{znlve{@3R{X6z^>u}=Qm?rX@$R7T zqkj3UaS|ZSEHd9Zy8BE&vlm{5qk3pgke`ip-6#X2L|he4d;Qump!jB_cX6nYI9j9+ z^GGFv(L{$rKkC_qKdQm#NbL}j%P@kmz!RrJSY)`&l6(}rCpD0&+gcr;i0AUvaeiVV zPxX=fXD<)kLv1DIKccinR6BQR>_7qQkVMqh>9xo^Au~4~o{M}Qf3SJE?Ze%UW}n44 znC(Gwen|sC+x-eb8KA~HUM-V$PK%kqH6&Ml5)rK&bqE;Gs0O>8tzd`@eD@vHYrT?s zdo0BZ92$4monLyO1(K~*v8G@ijMond$J^5b*T`|RCpcaVXlx{I^9UQLgp{OLsdK}i zR7CuoK$Z6N;K>i@5&$rt=*0w`Lnrqb%8ix<1y6U!h>z|@pPe$$poV@}2Y+cG-8#NE zk?!k-Qau!TQOoYu-%eG2#$g8h=BItlk#5^%Rix^E@eJYQfvOt+IB^JFWl@SFC1ll( zDZ|L-P5S83%xcI@B_o)qphxkQ7xzwPVb*0Bj^K;Y|KxaM$I=j7X1emZzVcjvmwz>cf!XJIod-BuM zwGWR)Sp@0YGy-V>c!%D7l*1AE zKY)g)i=vZ&QprivS1>o92JE5 zwaE6xS5u1oY@ZO6OEe}&z@{4?D+BW_-dc4NjuR{B=v0H_JI@x?fveqLo-imG@2uOcQW)=OQJ9Eni3>L%O!!6J+({F) zJ!JL_;2{#Fyy4x}tY~rzK7LPnc#?$M6XDfaW==1)7g=QRAVPQryUFf14A%3@7 z%&Pfy@mil#ZTy$nud{pRMDSDk=MT!^m6Nn(r+d@FxH7A3>wp}1(mTz{%M}ZQ2~Ka9 zhW0zm`E9alcZme$ry;;lSy_6PpGmL)WkZPYYW+X=;O|$LQO#!~T(N!|#}|uVEfL|W%xeg(gL@MV#ogAv zmECSJya>j{??fMQs&8Q*F=g~yz*v_$76eu9OkQfKqjdi9Y5J|YdbKk&od#9V8aLNd0RKdu0SSdCHrkftw|w58hE z*I{Zgw6#OrX*)E%V|t+6(q(7AtHWDlI?SLDVKFB06|x_5^K>Fgn1qO$^k8iP-rE%Va_)v&ZC7sDPyaMPGv)KmD8%b3`?*d_ec1;?7R-Eh>`@k z7E-mQU(*mBLUi(j>qItX=}4=NFSq1$)0vx($hku`hZ}uAZ}Y2Xpt3aACF^%LWkJzz zCmt3OO{yg!UV2QD$GSby{F2yV{rUZ@#x%D?DkJa!G4tAi#$Z2t){2>u2cwk}l?Sr# z7#Ar#iNAC=6f;X`4a{{mR`1PubZ2SXU)>?M%@VqTdZBH@yHrm zD)drF>|=j;FL*mjXKWnl|A?lab+&NjUD0jJPE&=;`Pq#Ot1n z>oLNxt**QvE@*zy!@cECs@BN}vo*X$Zskd01hBYSZO#EhM&<)YqsNoF2Luspi7xkx zqmCe9G{T{2to>@)y1O8I>j}BZO@HdktbO3a<<-{M)(6=&{tspRTk-`Y{vsrX5$&{C zuWRJDl|Jv*w;Ns+(0iA2F&i@q{p;&_+iLR{spcYzeFju7Z~od8LVQw|FpOyS>Ebe= z7gW*nY1~$R<$BW_oTXr)`nI8vS;eqBZ9@{rdV1d1$guwC`JFhvSOl(3@6O(VCPIDP zT)H|>G_$RfW8}C>tgS>OSNu8m#%RphHRriRQ(BR6x4QzsXBIS?QbC^hguZ}mGPtrg z=k|o!VyN4~*7vJIUK)P!+XY?3VKLrWyW`!5$T1ctA0cu_{bD6SIsEc{oK|f%9z6Ct z(Njces_7Cl`*xTzl#-%gF&pPJStQQYVxQ@5B?+lQ7W+=!^y>q;i%1=}HNo?b%~8zD zy|(Fp+ZxLZ^>T#>Ox+ZW<@{Ev`_akW8B;i*etD!V!xtbe(li#l)S<7)zGrwf8D3W# z6`x_@reg-V?1d675w0%R4MVt6PldV9Kt4gaLRWdgzPyz|-fkq{;r#zqdOE@#Uilla z`7e~se>ogp9R+gc2SC{B3s?YCyrTo@os#t&3ZPiD>`euFW4_JZV@}38@M(4afQQz6oAQW)l?boLE))s+9 zSM&6bst#CSlehq{3RBfNa{Nh}ne%-@Zchb&ZUb4>;I1uwq%>|24~A{GYrB%goI9`R zwOhIdYX~HDdFL6PQ*3pD#0Y!~U-Jqxf1T9tVFhpy^f`BQM2m&RO|&&fdyExxr17p5 z4h@p06i0eJ@2{mw0v%4px_e$d&=VBjt#hjn=1yp|YqQnYyNZ>7;=l_`B*%iq8=a5G zGt@vPEURiJpi|(U7%6YpZQa8yL_-ln7@3F25MRdJ&;D~C)R_IE6JK@#Sf`KLFUD0o zUG&uja?ch{T4o#~&)Qy)pQWm_)pD`Yq^2ob)%@C zs#fiWu7RG_Ku~h z_6l231bz!kIjwM|cYbZOd%gkFtIHeD(G{~lL$o2Lgx_-E%CuI;Fy zFvo?loV1G+MpIq?F7n4=B@7i@fL3Ze0cR*Qi=Je5R?l05%AtHs2%IxAh3kvwJTbBq zfU~~QpeHcDvyaCvP9Q%6Lp&h}qfH$2@Y1DDrS~9Hz`c(!P!`3JQ_WUz;P^7GbD9wR z-0NeQFlO@H&m3QeN90*S3o7sI>v8!Ztw0U}HV#(lzi!?9Dz!;v&+Mo6S69M4%3n^t z3-Clt#*pGljinsJ{TVM|G+V~n$A^=v-e~_DaQfIF$rwtfUVhKM>!Yma@BIoxRxeE| zwO1JwEsDJRS+j(d&mNS55KTgRC*Hj43^M9G8+Xq~$w+=r&j~BJ*Q|i|y0ZZJf z7=7e9Hn!AxaO2~_*=b-SRSXz63*;ney&*#Z%vp9x8rOGT<|JqGZWG%(J+=KZ8^_3{ zZYta!<3_O`?m;+e$8!Cd2D-hG<&njS1V8|4F!y*D3DV|v%CqI*PXVHuhB$8+pf=M` z*@hRm4*@PJry zN>{#ZyL3$Cd8eg?jU6ss$(QHIqwKgCq&s zPWJ|OS&fyBg_q5%)@|taU5uFe+&u^@dvh=z1#slh>j3(cb3o>ThA7^tXAu(Ut2ZVf z2<(EB+AcIjR9cyB0H`+PM{_h{#Uf+sSd%W3K@g3y4^tfKUDjM;c|*sL$E#r!G>*x^ zEpUEi!K$RMv14^8g2AjZp1ZVO|dZ zx&`QQ7QVjAi?L07zv>x^D)Na5XSh3ovkuF>)AzGNTb<$}weWHK@0A_j2XyBLh#%e) zRMm08_1Zn@o(~v(9~LoRx7(0}RxR0O#S9|qk5e^{bAJQiXwNy61%+6MFJS2osGOA| zkZka~2duO<#^6*gmBNo|8$8OH1VmGhSks8tW61a5>rQCAA&6t!=%x*cW+;ME?m^%c z9I_F&>-Av;)?Z*yl$^c=^^-}RbiZzS7Uv3KFobc@_tf*%?8e*K-|zW6Otd@buTklnJwc8IW23#lB>!_53Q3!LO4>)iaihDhp`dY|U5zlui) z=Tm`Bb<%rJYq6N_?_H9=sfFPyGBFv9o@w`;S=dy*qn zT(#$z+pN9J1(#^Ay+1e_sD*Pm){^KlMhh*#3RzQ!?Y)O~H}>6HaK z7!wIeB?0!Di1ZREi~t#s1;OXjQ-ORyiur^QtXFUze8}EZH;iUaBrLT@V0X-QllxED!W4u}f39LP)HZe~TsuD*9aQ z8cT&ln@j4RY7=%$Rq`kW$Pdprz8~J3I4!`B@?*@>iH~~5-q^*NUqgXm_s=WWmY3Qg z?r;FZ;O0*Ubl&@e0RGMV$i4XjRT zui?d!cH{C7eh(vkX@7&0VQhuC%_f)WYM{Tv8i%s?!Vhlq+Sr5zu_TNT9&?4QOHWUX zk>wztuc=k}VL?rEQXB%DWs*v2TeCAH;?edtb}%iwOZW zSFiMLdoHJJo2!I9`@e%Z#pj?eDm;PXKll_^4qrgOWMJ2JINqlJ*-nJ>KerkGyi}Z% zf%wpim8E*gFV?%i&zln|yOSJt(L?U~$k~loX~utQrhc>3U+IRYiHXJ020^AGl7<&k zBRoPbhf$ecCglP8BJ=s7Wp{6llFp50$;;(;ykEaDj(5x;+GP^0!pEI0O{x|2UR7p& zDg$ghDO!?ca^;yJfyR3+v>0_xDTy~)(g@#}VG8vB#_Kiwg=4_3+`h?i5wLv73VcI3 z3P?@b;B19ACCNN-)^?vaBlRk6ss^B(BSifW!ka-GTM;%`|irD9J1r1x8xcXs7{GLFcf#&M-U zv#&A3-m71{*5T?xU($oGt4}L~Z_Nz!O&c)}^8os&qJ-XVl-E18(@eOZn)pr$vygC4a;#KKr zhgTMUE9#v&y5FSNKam6HXZ6_aVd1oxeBKcD2-N!m8?m>p>UwG(8mO*7s}SAVQvyAp5%G5Wl7Lkw1KihOgM8CUHg5uuy3 zfw{#1r2)HSp)o@MjY@`Q$v?*=_n5_8pZ2V4x>g5UXN^l*kIC-lUm@oY_pzQ8nyAOC2qk8uga>#k`iyDr8pPf4 z5x}j^Z=dMatTvX)`7I1$_%J!1zrYCtX1e;Q98V8_2_xa&`r;fkIroC4dfn6_S7mlSw(brireHo(5QGE%OI`)lnA1F`^uM z$FZh^REwKQ(Z`*~FfdG~B!v0*W)(<}1)F2HcvBvv( z1U0>N&OheF7#B`PaEvY4I>fz_O{kDR58O)0HEEbc$u!SKx4~QL({0)g+y-{>EkLUE!A^IyRP3r9 z8+Mc@sZ9kVR1Y2*M-Q>`FY;y~r}{uSKIb9Lai^NYik8h5ckgR2f_(L}*jjbr45(-A zd9>lhq*cA{f1Bw8i^Is)f85xWVVMqozfIWy1f3`(pb1CNrucZwm;b&>@Nbuxe^);E zU;P(6(E1Kw3e7#+wpYvAN*Nh6IXC-N|X0Y-XzD{R67K4oJfvAT~RG@ZGfj!FR>98_Gla9RXqr zUt}Urm=jG#Pu}1pdy{6kTAUUjZoA9zUP$B`2v!d!?5GG@9hgt-AVpSm9=3?)M8=mf zN`(FN)vLn$3fi2St}AM&8jk+bB4jDkjHTB9;0xN?zli;wVJP&2Z#xREWKtp8$={*p zsfo^i<~)9XSL$}}`gw4l&||tC(IlKSL}REZC~LEJ{b9C6&R4Qt!pY|4FJCb=Ij#2D zl8z!1dm{7C7tedv?rJ`(yc*}^P=){{Q5{J}9sE0$!$ff|w#2V4SRoZ`WPcTb&e zBB8JE<*^27o8~HQfP9M)4PxZd5uiZ*)bek(@-uS@U%1|kj^or$sVD(i1FDO^{&Mov z(wbfsBlB(E)^mWk_s@4KP)zi&sM0djAuKyfrYXIl&>-8&@4CHRVW5J=$ML!EFg1&ZLmqfPGtpZ0yb76?DV%K5 zn<%pu&+}4Vs8h~9lkZrKBRe-e5aSJzixNX|!T=IPuuRqQ63jglbp zCt-!rP4}R+#LdEWSSHED;rGIhfm`Qa?nWN(1$g12U$FP|AVCX)N9N-wJy<@j8VlLY zX*b1lzR|(z$uBUM+3AlFH&{IU!+Fqgbeoed82gAT5g4fcVqewq+f;?yt@bbxToy1l zdGn^{c5VX0MGhnTgKufCJ|v|Ubsu$&6ouJK7n-Cy5*;h9bOu=!hw(qlAIIxdwmUR@ zioR!FD7Oe337=84zn_!!dBv+1y(aqnD>qYy`bt$z(MS)X1AAuM?Xl*uYP;AjrL3oC zk~Q|da1EIErahHg`%>7TB*QaYX^!c_VB8#k`@;}6wg-D2$~a%o-l7Ru3j}t8SWp~B zoDm%`O+SOS=+-e*ePYFaK&cFLR~T(fHFlkBDmp^VdGJ90R&hy%|F?`8w^`~(Aa(uc zx4^s}wO~|a_Ljlo;M2LG!PB4i^%OrEwF!IJ|lD#UjO_YDaWTfEA&q z$akL7J2)ldI$5v~Q@~p9w#6uLECWk9lTN@kvw@c-g`NHc;NV?n)eso~;)ObObTC;f z8)s8HnG`t8!P?YCXoZWe8#I^sM*+bb<0H2D+o2GY`&Q<}55Dgm)xL%ptDuxcTiVk1 z0qAv-^XUMmdyd{IG_N|X+NaC+)1)S7+LrLNi|rT8Ghp94$}4@X4Er?x`uf+~L->V0 zC2u{H{Bek*XiD8x+@yTp7HpaJ&MrsX!f9)NaA7Z?REBoXsHy~Miy#47{>_KdViOWKk^GqJwPRc)VPzJ=_9A6&((!m4q%#KA~#H8eU78(jiU$df=l{V6r*(HIYtNW-{D!NY8`pfz^o42fvKCKx#Z<8ygHGDgt&eWz zoUK~Wd*`suU?kG)(quu(A_SAhmySfc6#s5|qYusWHbE$yO)(c}lj4dNon4W()emKKExKYoFYwFBDJJUJ(puuXwxrDVr znU3Nml<Hqqks@&u0XOUa1*An;s((1eN zN(OP9%2=u$Fq{?Hnpu7`_BomOM}PgsY+=dOy{7th>d`!p`@77=x2hTwnwL{=kEZJH zD#6Le6RbbHOEcYQVw0%Sr&!P)jkr$5Nv_cR$C!(592pu>{NNbK%87cfd2C7(FZNBJr1 zC74tWXnv+U(CL&wmy-~|@G);N(CXpmIp(u0ZY4}eq}r4C8-2|QY$dC(Qs-)=y+1KA ztQZn=P86fd$!14&=MPfn&hrNKbGxcln9y$WV_C-FBOW;5Ve$1kPOfL`L+a-7Zg>7k z6y;?4S^oZ3R;z`~{0>trJD1Yf2>7cWR9m zMbbS6zP3!tKVM1BGtWSP{p_?d_$|*wK)6fXCJEzqxx`pUHxmXOJX+Q34Wv zdm=w<{g%ZH6#_N5X8`_iXY{yU%$82X?{)Te`6RI{Q*9?*Bi8|~@9xON!d%r%BLCH- zWLQUwEt|R!oEXB8NwVP@a28m`@Zru&(fMyUR{^zdy(!L66k{{Sy%xo^yiTiMl@Wpj z61bOGIeEYBYXh_ML##qPAb7mJ+aGAvayh-hwPUwM<3AZ#5$h*Sv@|(RL{)XsYW~LB z?U-4CwOZmSId4_-YDc^7ZQ?LZzr@v^AZ{&e7`fIGMjOwL{P0?f4O?YifZP%9f9HusBsSR6C7fo6mV})S<>4l!O#O|eNh%glJhMKN7 z8?Kp}XF(_KO*Mz5?I&Y~2^%5Wi`K_?6PVG((wcEdq^&-=IQ@&e(E@qDjaPMe%K~P9 z2#ZIYqO2>qlmJ2_pW&SA9}Yl)%Gom@(sq~qwg(f-htAzI8^Qb(u~2=T3Oy4eiE&}~ zrrm2-sq!mUYc;$+)Q)77{IoJm2Ot#x7}72hwjSRp804RM8{yCFn*-e)^oQ7eTnn=j zB<_^_hdI@c{)4aCT8#vqnRv%Sr?i2bb25qrgrBJn;Q5D%n@VQU-s6iz{_u5W)SB^B zr}ODV08iu18%i-)izspxl@&ILq^@6!5tE3e!U>9BVX+KT3HyBM;o(B!NEY$B11$Q* z_QG=441#I8DZ@k@$G8p|ilLY3Y>W^#ZVt>fX3fz%FUC(Av&fG&!Zi|jA|o!=EJPy4 zdp66h!@HuUKen!>%Vu{ZmJ?}fq-zC2k5fEm?o!Uv?) z(}?Pb>JaINwDFF@O1r&h?+?UNdp%iA4hrX)q5J1kP-ed=dX~A@2zHAo!S_aKFmjP{ zKyr6zr}yK(u6&UyuQU-68~fU>?go_WE-oKi@me-jeNm@ZC`+wmlM>4Gv5tj`qr1oi zU}<>RZGDDo#V$$M?7YOm_2@*BHzcB2jxu7L24nUWPA-sMoGYNdB}ljhi{IN?equXL ze)=U?`x+9dCE#1&#Ytkw>S`=P|9LoRJDa!cZ5K=?)I}KTN;AOWS%Y?i6CCbGTnD-jo=QnF<3af_V$^7b*l$Y}}$a};Ir&I$|rf&CltZ#=)H{uLW0}Wj$IwVl7LH;sF+aUm^ zt?d@4kA>|Kh^UzDE1Th3k7KTuuQp(GS!2SSCl*N1tp$qYs(!geg;^=!e?!lAfeikK zp%v(gJP0eSjQL_mXN1@iEnIKud0fI<9JLmAnfCH}l#!z3_=0`fDM@I*BOtR(zqS}{ zy>~q{hOMmk&MwYU5mu~oHqI4xPff-faa>`Sz1y6)15JQ-Bu!u&ALvu*l(S7Tf}*U6qL(fK z3q~Ul+0*Sgmwxcs*JcFi1ex>JY5AFbNP?^T)b!L1&!v5f#O3A&zC+D_vq`@Yql!^r zZ*@VXIhhO!4KUK}JkPd{*LK-d-|KUzd(|Lzae%={w;TOEPgKqH_L!$b$Efyoh2mbD zy5iX{Bh0{vvZs_5Y?2Ji0r5e1emNC2h%1I3mWEqG={#^}$(_la4p28#h#MrDS?PQ& z{+mU|cspo*PH1Il?SUBoUTa!03e@cX?WwhI)GuN-mi&?7p{~n9R@$}SO?=(6MzWNL z-*{Gz=11uboWqMN3|9;c1L&SKRp#SBdHjI8 zd=Eklzz1T}c}F~6&IU05N&7%Rwe@J@Y#*0=qvRwxej z6Jd3asJ3{xoayWP%Qt(vz#-!wGD{^7{T~u$ti7>;A>I*zD%3FlhrcvWI&NQ}(jmgi z7N=gK(VuUjAZG-z_&7dnz5y0b|DXLKhGpGKkL4M#fg&7hi)oe4=y1dy!Dx(hUI-{w zXWyuMWeKu2{FQ@ZQjV^I{l}$5-|j{oB4|0}pbFEgbC%xzM0fn_rqQiSPY!PWn+hjr z*_64=mDB(N6qCxi0*ioEB>tgW6< zdf9B>xy;ot_q7M#zKMd621^A5R}1+pnYWwRTQ;nNIHFyw@_c}2fQgcMldI1aVWM19 zX6mV1VB5Bd;l~!gV=pry=FGKmU%MO+3jr&;U@gF4`2XlzEYzdw3eUEt8GiK6wbi(o8A4K6Bq|=XkP#-*ILC{t_Mm ze}GsDWhLYX-!m==I9RVP@Gb()AS9i?FA$)8N+8}F$gF`*{@@!T{NU4Q(BRzzaT3~r z>o-p4_AVm0-B@cGw$Rq$-4@=INN zxDCSlz=nE4I(Ds}vh6|PnoMqkO!uF3V|SE(@b&#|A6jsPcTqzeI|OLKE`Nvr;L|Mm z&z=QzOd2R0mRj==J_zmy;4k?9{7IApxUBSZ^|-?{ahuxHZx4))d%LF6ZMbJruK$#A zuJxGS(J{&NCDDI{lzn9Ji zTg$jlyI{KonbB7)^(9h|G503lC%cr`2KnC1q^gut)ytUYCbgn0qLl@MH+KTD3r`k~ z?k*CzXNGPBg=w8x!?Iu!DpE#@MNc(U7Y?(6QF6_%Y-xX1^GdwXFF*dwoH%K?6JWY5 zK6he~6Cd3(%`xG6`LuUu?d{U{^h1LHVG z)aYcNveGF=LTZF<_q3LBPUom=lk5q8uhk>EdUETN8xd_=i2ZadM?;KzHcdAiIaO^T zd*y7&FId0TGud)yGfY{J%ASTA!cBhnh<8-JLEcWU1VXmZK_FyF2WEv=Sf2OgAAE?b z>HEj}uq-PTU~qtT0L&BaE4E9Kva&|mKE@k?a+lY+pZ)&%M9}Uw@TNV#*8))9n81ti zgU@7(gH_<3P3ENmBV7}@2^4GxVkiS9>ASiB=eC6NgO4kL14gLL|NhGV+-SdSpGuwlOkVmW z3WRQpzGo$SYH@(IyKWO|{%Q7IIdR*?B`kDy^1ckw`psobQZgirq}bfG}H-Ua+A97 zD~*%F{j%PGVE18$se99>q*9#Ac>HVy?4uH(~7HImRsWHVhFhsB&m@i+$-W1?}ay{&1Ro!9L02l><`4GCOXGSLdQ@MJFu zJ?L?MD0f03mN1w=z-7>e!q>+LVD0D^4$GJF-E#yK`mch8>GLeT{15slM``r9CH0rO zvnV^Ns<+i0tvZzt2+ITc>l{k$cwW1@toq+mWLl9uwIXm{r`B|{f z^wG5LrE}5>$M3>l)SYivttiv`%DjKRl_Tjb-c#N1l}N~WIoEU3OJ+PyfeJ<0|g*>X@D~1Cso6do1ogmioQ*X=K*pm z=Ivgeb>nw;>#5)7mMXG{4rIq7uIR75vG!W#U#BpV@tVC=e(3*IIVF02_P#7}2S+?#6!?%Y`dy?3oSztBtIk58B z?i>_*nz?)}IQsG3H2cK;+0#xb?jnwRdP!pBM|8(7&(aOH*30q3iA!ZTn0?x4iaYMz z4!k1bIN;cs%_cLg-wbjtrE^7ay?|Y$eI*A@kCaY7xa6;YtfhRW&-W!Kny0|EVZ*5i z;eaXm&+@@q9YO87)pv6AJF@-^07oxYr|zcqcPtjQvm>m#vEOfraYY7s8$ij;+0>3a zfF8-#e?7@>g4eTBTec+9&2+5=j|%PAShPFnb>5# zU{*5O;cIs*@|P<<$pCH7s`cEqcw$p7AKc2^vDN86AOc0F$W%zq#V{f#n(g6JZdYKZRQpILF^ zTThxmGOIxCBIW`n`mhAB)d(5m$`DrbbDFjLRrVs--{=~G+y~=oO{pNW_DP76XbEd= zX}u?3;lpnFiRtyoV0^`=nQi7}w5uG@q2W|$2(CEo`m7b5G`2D*py6#rQNJW2FK&}t zM>21!d`abnw!wuV{Mq_nVk>f0 z1C_P?9rr8&{dLw_=vOPXZPX;!faOSHEA-AD=b%bm{rB<#lo*0RKI-?)xv@pl-*JkZ zgd(X4Sic%uZfK&k;jH7o@WeIbo9fzMrG5MztrjdVAh3librEq-lK@%40-1sKrAApX z%Go30+E{OeioZUq ztXU_{)tl1NdG zB9mH-v_2U}yW0jML!MkqIp>-g5p!|V88W9f-Ve2=jFUIQtCf4U?Z>sR_XR;MN5c>N z$;e%SgO3?g13f(hALU-PwYR;>&{L~^o(7Eln@MsHQT8iF!bH7M!bz+0#q&mIlCzet zX`k=8oD^)Am2aD5**s#tTym|aP~NV*?1a&k!et%cL+PDeR{2PZXJ%-ozg$5uU4JhM z^ceh|^{rP5PLH|7GNsB0bB|>jHLyY5*d%cO)?=PJhvYKOb%jV(qJ7^O{xa5BvMCrw z>pa;Z91wGTm|Q;mg{%9*dB)vUwf@asQ~z%M=`;x;aBa~kpNnZ?0?t|4&L|Qb*wfGQ zIyt(WoO(w`K-f_mxlwJM-EW208zg#MR`0;5l-Zq6(Gl&`=>XU5X)AfuZd2{6?QBVZ zZJlJY)<2TQGhX6Pm|rePPqB3=Wc({jBeJ(kBXv#~>zkg~c^2r@$)vZ=J!$uy-$YtX zG;W&S8VjyE`k}5hEh4@bY&jl2T|g2za7lJa^u#K>Bw7{u znHM?VC!SOgHwv*!whkY)1Oshbakt0I?7}N=0NpvC8H!B}mRf@|8XP@~1te`w0^4t#MR^IzQCvrV+7`hU(NvXPDM@`!}@W|g}|xW;j*V%-?jU#-Pl2E?txdj zF5wMJyvtX=x@qU+dLWUX0iRlT>+j}Un?Onz4rIJ{+vX3^k{afPq4(5oj{>|)Urm|7;3-1lK37U?9&Lf0?mNym_m&q*DX+iKquCcHGAMCw%RFmodEsDb^ zqm&FH9f^v7^j;0g*UCsS0@6zc5s(f78Z?qodLNY{HG_zuhh7vDNhqTTh;&dOiFA-e zAihEp?=xrJd)NB??)l^VckViC)^h1Gkd-&@`;^bK_x|k7%z7ObhY^p}oD8&|nYmFw zq-G`HrDIhfB?hMZlT!D@gkC_b_!w81Zh^O9$2KkAAj`ZQYjII+%2FR&rW2h?PPAxR zSjog(TLaJS2+>mbm+|ZdBX1K~2U@Qw?tHmhfP-DBYlmC*$J?ce-Hd>$$zTiI1=(xr z-bzjh>Nx?Op2`=-sFfq>PuWLumBd!<(9>s}pDrA!qJdnFNj5C01#GNA(-R4u&ZTRL zGHg_mku?w24gCAX^6x%fn-*&;_q6t{y0JU{u<}euMZlfsg?E1*&)dDX(&4{<%TK*DT>miq+-Kqvogjpz^ybNx6XQBH7-%Wa8?o^5PS;v@tpB;u zowW=&l`P+Q&$`=7W$gHejnHQ!T-09y!*B4lK_)?B#pSLSzd29n{wL#D&Mvc1wlLJ{u8|%k-5`b$7-p?K76_#Up=tTW%E<(Cet-cr!!&N?MLp zBe-Xal~j}LkEcFVyIHBVe<0eIH6K^$c%k+PIL>&gJOrD@+OAG2;?iG`b9cd95)S51 z3`81DY-hk6Mw>Ce1nl-!hLo;I&z>3!-tcPxSrL`Bvu-zbqsMD4o=H!akF^qlzkV7z zqFH{b>#Redc%_r!aWx}J^DUxV^Qo?vYL3O4$P+aI)q_`;oeC}+K4)G@U$weIl)YMX zYP9<@SdB`P%GJZGz3fs$4Fd*SWUf|yh*x$h@;$k9?fq9&7ifC{$2Ow5<9se!mn+Ij5kgV%G6mh})=9>mb<;#bQO_FlV z+KH#kuHB$s)^8c3t6i8{EwmgBzZY0PR3BApA3=1y=HpcG_)0}tJjq@?;#GOSX|L7V z#mAPrCU%%?crz$O|HrQUfBywvgkQk_4(|plQtZkqoMo*OPgea0y#INFH9@7w;H)0c zCvBv$ZtA3xf%QphG%()u!ak<@P~DER@jafXb7O{-g8_F`a-*`uKCZON1>adrsWnRM z(A>Zy%S8-aXYM$!4}dqx@k;nd!Rb^#dM*j6&9<5L-@vmT1N^TUMnz9;p^;MT3p=AF zlF(B0Ux6lWoIJ)S6KX+HqM@4MTK*R%5dS7O*Pdars*i~(5{ZvN{dw5Ov`lHxG}p{n zUb5J`y-6^KEY2ISaT1O<2p-a{%w2*R=g5o}i?o5IxlZZe!7;~5V8W?6eWe=VX=8-` zVCu7<8pF4w{W;ixMI=d6V`jazH7hp)-uJQbqVtWE4FqLRi=l3psA|$P`ug|A)$Pg; z83@1AMuXwm{tu$+P4mC*PH+$B%{#|Yg0iN|UdO7l+j=VTzH|2pjRvu!C5PFIIdxbS zxa=Co)X#pG`d98O}gK)nCRw{-2 z6C1-lOrya?a45#hmxLMl9>Ss6U-<)YiS0|B227YSjV|3aBnvgUe250&u4T`3;&l#G zms_-V$YD~9M7?4VS5LH$Xw9HsgrJ7rmG(?pwa*@;G7M~d`q-h;(s}Ie8~DE|_p25* z4SK!xT&AOz;)w*SIu)#(_yfXdL~}S+NN)5LGthFRU$x6+ItC-pV0B#Hf1PVmFg)0P zIC?ravIjy8iRON8FH%vgb&Fp6{AAtYPEJI2fIZRfcU}C9J;`0xT|6;q$-iq8Qr_HH zVz1H5N#KZ<0PI3iaA#QG>{3^kejDF`iDO|@X>(pqd9!m!1r$b`HDqIwI;|PD>Z@vw zQLmiO4)2JbcI~*dzFk;7(;t+4g6F_m+PJ$XgbT>yALOyWF|syLY-!G2C}mF=3#Y~& z8N>U}VB)+?*<-}+>dmCwSojO;9|HTZLsSEk1jO+mW=C^b>8dnRDe`XRB+Z|==5{-2 zJ?d|x5cG1S$INM(ANN9BdE#!ad+vOLWTQy`9?Y15*~x7&cYVehn*7|JZrB)Bca^#@ z$|q)Uo)oEavWx=WcrW3fylD(hl6=VeVougsn`-raGD2gEIq+URW|4Lq60;k9oiMIL z^^+C;1m{c>qr8dmLnYGUyqtck0&Kx8ZYrb!rrj#98FeE}3@YqF{leeB7OOnWm1Vy2 zrxVf!z9n-->7rA+>XCrb`sDJe^aTwIG|9VFWHxS+dUFui7|Z9(>wT~L$?UnMwMzLZMwPFOW@}8F_&NBK z>$2Aa9Wo>PlPd3X@^4wE(Z&-FVb#Z~`eExu7MgAQyQYYu*n4sBnnc8`-2hGSYvAHo zWv8;uri6^OIsvwjKj?i(J;u}Qq7gB7v7=S24&x-==Uv~dyAwpUjKlo`))Vg=Ui-j5 zSgt3pBGxdre~UjnCly-PX@{R55d4i-jxd`a+K&~SpG)Y}sQ5IC3w_^d$C~LiPfTDk zgQ{j$r_*QQ9TfHvvTFTsvj$#ddHh!1?djGIK-DB85!{3CDf2msCwLFH38^of(~&wW zbFKFP5hJSIf0jiANwo6a6frHFiBwt;^PYw)+wuVyYmrNW@DX$r9=+(IZUru!Ar@sFP=zq^|J26az}(7R2N_W&XI>@d+U8C!Tco~rlQKJ z?FIIKD`7NxKerbcs`<&R8+)f#XS09S!xo9f7$GEOy&Jhn?L0F6cXurm2lO5y_wjo$ zKkv+J++~EV53u?fQbf9zup3(^MQ*D{j$g^pu)z1+X>DT?!~<`UkG#(biR!9cHBW2+ z(I4kBoEW!9%5q&XUkc|SwYl{K@4f3#WRDtKu;(`AVC*rlCnC89d#9j2#?S+V5`$;b zO%TFGL@+egHY~fPb}f^mw4}T5WDt@UWWSxnQdF!hBC(8&BJ@x+897t z`RGy?rV=AlY3xO_@K(oklDlX^^`F)nWu{F1J5LISyM3`9zA|=YdA>yy_v(yV2Vv7r z;}h(i%aZTvXGIs%^?hHsgEFF6e83Emu;Cs=&(MTqysS{sBnc+ z%33RT{<@uZVMK2se2MLucE zU$ZyUQvt)NQ=xFkhoUPMa`duqj-jQkg)?jI58tHPqU4WeUw4T;`fkhhYGvF&BX{Va z2<2pXcfQbJXGZYLLXFC-@`Mt{Br5G#PmKj`+|(vEOnp))rGEujuwdMtXASISO~!G` zTUe+*eDW4fg`z0R%jX8&1J(<->Pk+sJci~8(klfSxp|cVmext#kAf6I7}M63roGTg zx&_MfgI0(i|9t_^5L)O!FVlK4EC)QKI^Mzd1M<(yIc&Mr5sp3YIUgSTUQvZd+<6YN z8ruoyK$0vP&5|S~Ugvis_qDUd+G?60>3*coywBCYa?ZnC!Wy9R?#@sJ2C&(t{c5~`MGPhcLn=^N_vFpclDSO z`Ge@0b3*BTI(`(fa0^XOXLRx^<0f}C=MLh;GJ~bpP1k!83o9+LmgtS06TR?xDmobC z{b|E#H1ULfwqxMJ4zHlnUDm2Z`g;QOi6zL`Twh=mD|KPy5Xblj*-kI#0p0~|T^{xy z?=-9RBnU%KPp3qkUK^pm!nh<^y?B{9e(UkYG2g}s&9fvnIK_k?j zCpQ9m^K?~W)$3QbPp_jk$brAP^K!(b7%pZr~OvH$WKE1ZPWfjN9qFhm!+7TL)&_?UK&UMjyJ*9 zFAWoAHLGD8H|T16f$c9I17{vb?=(_kWzwVXKc(&pE}`4_hWNK)HK+}ZTa?|u@6^KO zPzyp%a8Axk4DY&y6UA_d^0^6c(AT?BJ3%fy%i});9vvp~a+&~vZXv;Xn%eZ_09xRB ziNMj-FNOD1@+($$vrj#;C3;QIoqzP@>#X%9X8ZZaK^nn+=|aD4~E z*$wSUab08G?}=$Wz1eG>+CTs;2PIr2P+Z?XTe7oHqS*C4GH>?va`e8~yln4SeKF^f zU731ncHmgLJn_<4#G~g`wx?cX>R&erC8E$!_mcJG^R-k7tQ`Qe`XkYT)VLPsC&1fAat)3cR7zH z=hD_E^wY#Qd(3f*U5#JGOE=O7yR zXDE$@?&T|uG^hQuaqVXl?(>bHA^Jor&cU0mBkr{tca}|{*24Pu((JHAdeh_I#!^CurC z_IV{bs8P3Xeyp=<5nR?YMV!<%3vMh4-f(_( zokCW3!wz+scnKE>55?a>Wsr{tL~@PVSR0#(>n$+|ljo~mIcCHH`q$JayRM<0nk40( zI=#UFcdc&6cdV#2W=B0M#!D)@{btzIQdHogsb&vD)kGmrr(ZeS&-HVsX3+0oj~?yV zl8F$D$o(Nu>1q+!qBkjG{8J5|nBtPS_3@UHU`d<0nW&8l%-kwdj5uMS;1r@hX90gZe-JMz@EmFq+I$<;gf>MiCf+snNN`>}t&*>I1KZgUlDCpbwo zzL%*hlRhW3^WqV07@KZDDFS}H{-;(-vDph619h}4}5&VJ9@$M?}zY@ zbIEY=C_)BCHWqP%R2%z-a+G|48x2M83C!Z|wX(l$5LrY{AVfrUZ;HgeHNQo;$9AA& zdhqf%OV(z>4oQlu&mOO3>|x;0-R@X8)L%9UwcfQb=q4NtCH2p)ys9FbBWHx{OGN!- zkj4zMM30ZgwbHx=Nmh|gR&}n!;MetwW+T+MnPFa75r@)(#TZ+KwtXojN}^dqm2`Hr zZs#!d_dsubn<=Lr%Y7v*70ccu^@gmicLu?2@CinB8*B zXGCPd^60Az`60N$Y#$K#gP(fLc?=aYVbWX#6tZW*4TloIG)WryOaN?XqGa->64al<} z0!L%}L65=ahS5Ci@JE~>?B`w%~d|F|41yasGrbj4WZSGYut#)VF3!Gux8M z(!j74sRZG9NlXhtN7nZ4KvtS37jKdlh5E(v>D+2#z{knp56@3zi4GnK+!I+-BRydn z1YeX8e?axcPRnN4{Cv|2G9L`h^-eFfUEEgpX+lVewR$ZNog{UK^T)cc-*b4g;?NzT zr9MVSi$A>fwMHAJTAoH_>U|#&p$S^brVi@1SH%v(r=~94NmK9h_PJkOOm9+uUsmLs zfA}f6g+-!eO}(_9K>5$jL^5=;yxEilvT|&{|NN`W$8c(sFa7gsv1I-N;u5<1^1lAc z>p6i}v4IAIfv09SmcXC<0T_YNKA!XOHL zGtTQ&!G}3uBC#`+SYr4gRt8E1%{?0rdPRl%+IF=l3DGemeA6cXjbvhV_&2zB=T}Gm zfbr1G&`dQaek3}?n)5eAVYyQ&EOc?${L;qhd0QCm7V5C!4}s~^jJlV5mmng2oI>KB z9_y5zcPC8wd+_QJ=)3be$#cJiHXr@zbmABom|-C4f#rc0-I47)wi}uhO|La@U3Bd= ze)<$p)WrKeX!AsuuQ=SwNRPFU+>?rHk?Pn=$ET}SG9LPay4&F~w@{kB^MRLT6!xUg znktMKthuTj_%(jkU*wh)5jHyDTj zC(zRF%0wsp-&RM;L?f2)VIsNlAt!%&42D*ay_Ow7cTTi z^|`hD(+Qe>Kq_~2b==C1KS=S*dH`>ryhhI?an>NuJ+m8+mN7Co@p)7{C=7mTMkOM( zp$H~Aefsbm*4e(0=}4m5qB&*YpotKIr_Yb7HpcZjk@ZK9Mgeu;J@Xsu>;45(KLpa< zwv@Y|RqkoDQeOnpKcg0n=w8y1cb>7z)y}!o5xl(Mnk&|--^uQXJs=zCqK@(?lap-t zUVNi>lHzMUo+bagF87kco(|onTJS>n_D!8iJB}_XsfJiMT3zHjxhf;~YnLCESa?^& z5nt(?6RZf1O658nodAbDEa=fKQ{_sYJ4YEs3UjTXNOtTTM*zyW&9=S@jfAj%3j39N zO)e}2q45kt_aT+hQ+<7knotbBdTwU9p!Xq3rWT>9Gr8Uj=KPta_chy3v_KVmhe3KR zQA_3e(&`5)=a+hJQq2L1fpLdDc)O6`lF~13tr}BqW5{k#zo=frmMPNm=l~vBf=R_{ z2!$XtnUMTG>oDsg-dVLaJxPce0ljSx4h^tsH8D;+EyAMM=Z1+q&(wg$(>^rUk5-So zlTxg;@u=tbnpU2LkHWcH1d-TL6zlTPq$Oi+qYQQ*^lEj@v4B|cAXj68dr3MDp)nt# zN}Kyx0zD2&2%LJWqVR`iQ8;Z@IPJF&+ZHI-#^K?o68cy z7@cQd*T3m@*(aDsR;=NJDXgn%QSRu;IZnz5*PRu_oXF%0pCdw2OwK)a4U11xnwRb> zz9{_Z^aUuIggb&x^fF>i^v$3T1hUth6yX7#XgWoDwV$3+h;D5e*%sb#-k@}kVW&)f z#$WgUE)}(fs_o26E+d#XQJqRle7qI9{On(k58d$lwWxBU)*6=B!}HmnO1q{HF~S?W zEZ6L-Vb6M?tews_-Pf9htL(n(Xk`~SnN`>cn#mu;ygtcuCrLRI31(N){ZqTDTwb^o zsTf~nAJKc5a~i#;#;ZWw27y{hT*)?0058XIGt&+y21SCp@DNsqS&|Y%pA+P2jUq5L zIEN905c8F3Yfdfp8_j&I_J=^)4*0c8k@LJmaEZD$ki0ggMUtkPw-SBBL?_s_Zl6C& zTA!k_ZJdmYfn92euL#8~*F7m$=lJWzb_DTYW`F(ro*`MZczjQvb~nQDpt_+30#{W9 z42T0|S{O{|E!iyGSblY^(if+k_xXuUzj~ri3Ne8Z>~t=DKyND6JGJDnsnsMf%e;L0 zAm%_B;%fca&1IrftF&wyb!hJxuf3Tf0WEQ2p#4mA#x5ph5$a(T@(-a|BVBR_h-_6r zI5bf*k?PpUu7Zu(!f3@fMy)l+AG$ZMlgO8P+yl(6m(p6`Nt__YJi2u z)T1b9uKI82%;%y@w4w`^@`*$T<=5k{7hQr6xFg64XJmaEOyA0+2j_aH5UpNGB2Fs5 zIa@A`kOQ{YQbwLKVI}OUA=4mGTaX1MowCHo%ah--Wita523S46(Hn~_eDkO=(T8$M z9adfQPL?N^r6wpWNhVdNc3(8eRoXen7k2(3pr*xphF@Ew5Amz;g3b%~Zigp{;j8jb z>f`I~;q%~yKESdXUp2SqVA!+h)jzq1yYMP${8bjJg}15N{Fykg&g|+fa^SZu9oY)2 z0Nx;bh&G*mK52(gJGUwmeQxG1rkY;65i+pOEBp+_EVbKVF5@14`}W@@QDt-#_h}mc z(9#cqTd*GjwMrnvt<&d+fYKlko4?rPKlKJ&nhyWc7lR)HFK+|Maf9W&tzyr zobxG`hmxT_Zpss@>CiP1o$dF%9(rd`EcbzSt-?}1o)nj>u`lgGc706lVWU|M&AyA0 zio$S9(bTI|dvJekn_GuX*Oh|-(^vEK8F9Z;_Nc$?p5}#vMk1G`+H@Lw=ze1eC%NeG z9gDY*knOyBvK$xx;UBSE=BxzN^%pec1`SklZP*jZEs34=W6>FyUa1#}#40Fpu6J6Y zGSHU|i{IIVono6LanF_asH9b3T{nQguwD5tpG*gIIPJV@utSBgoGX!$f5FU4 z>BL)ISK~u29-ay>_s4g6>q!P6$R5C?9xTzSqDd|<9M?vws+}s;jda7`xj7}eti7T0 zn@k5-+;c_OB0H%vMT$!Ly<@##*lLz$mJT=oC++~>9F6{i4ubI|@{baQgp(70|C)T$ zK3BkUda|v#T%iN_WsAbHL9lz=Znh+Fqa2o%48M@^Q$33Rxe1&YnK6&0}AN(ZSCg zL@e#4U)WHg9@!ULx3o_;U|q+0Baq4;XnuxGD~mVZvhvf}hRdw%ND-Z}@F;y^LgnCc z_@c_xAX>AQwTP_KFILUy8#2p9r5Y$IsOT4K5{~s>Wt-j7P;rLzlpDatZ|bA!^9L`a4lW^&zt#UD zL$8Amgv%`3;b&UDcJ8Hai7*ZNyi0%a-HC{)b0^SsuLfDeHo_%n41T$$k%CQ`rop>t zkI+lqrZ%a?$fE;IUMCryTN-`8mmBdC5(XiB!p(POny;_9V|Pu1%XI&4z^;sxyBV?r z$%o3Z~ZTE7d6{tBpjMJ@hr@M%#?Qv%^~rluPtm zRj#gFi?ng54hD|x(uo7%G1T~qg=qC_O(H^^jXOsozPk^4$Mtx72`)!WeZeF%L`Do> z{~oY_MU3eF9q}X`pyT zx4azuAG^!EC4Lm_4Mtu0%~f~E5xw#vg&$eAI% z{w;JDEUcK{SVolePDzG^*POkSmoA%>i1U61k@{{)k2?b{9F`LDv>_jLD2kL0m)h1z z0w{vTQ=A=?R>nQa&a4iogI>}@bC_Wg0230!Io3`h3Cfub4AjqVf#Hz9$5`;^4^hPC zQ6mfe)i0m62P{hSMT;A4;x{5;&FkQ)WPKT3WayJvsA4O}N2p zz>i{t{jx+Ah|}}z4{w!IdKX=T`ib^2&&}wK>tbqleL5d8l29MVj{>!Ub2PBZz#m;f z$;3*=&QhAbCE<=*fR^Y@4vzQG5O%-S2`|y&3G1QkC!ge=gU$hiS2X)}Pi0H7$%RBF zkeT#qnRHXcFtqn4U?VJqNSw1r5vRl^_!U%&byq`5|$F{K|bZyMnhXM-Uc%7Nmj1{ z$0D#*W8EEz(&lg5N&EkJJ^Z$;y92`s5g|?WiRXL{v>nf|sRd59Lh&VH0rRIE`x_B2 z#og64!ZLt0*c1!j)ykKA$#(9hK&C?7v4`Gkbwwe9?;7xyxh z5Obi6eUPjj`0FR^NOzt%2IuTsEYFDkd~@}39_H74?Yf7Z0jBuFk{!jD%YhxmQh4tr zhZC={5%IMt8CD-fsR&!zNcV93hJ*g#O+fVMPK5@YO()upmF6(9D$mWyKh@$84clwO zT{T`31$8QU&PV(o4n>qGU#s6%zKDqK@jwyYm%GJsr1xht5$9_&UXRyWeJN3uPh{RP z#Tgstm~XQj>sulmb=%u3yg?_`nL9fK+KpIY9Fq5pYXICEyJu05DiA1XLAEU85eC@y z9z^m7P>osCj^<5C2;IBMw(fF6$8!<0N+V#u^P$})OS4)jbdYQx3Hi?BQz@dMVIf8r zMw&e%Jzq5sqkcgu^G8t4Nxf4A{?D{1skP%Z5<5-1MrK z7z>jWrqk(JgN^;l80wilJ#lgr7s5PhaiW>+pKMfk<5(uD7cCFE)S4~3C!_D;Q{akZ zL)@7*_JKG$<>ML66X7fdCia2V2{}*{Ak3*#kQaXj-hx?ItK|=( ze&!1Asetq+E%uTlt1r!PE)FFY%va|kfw3JW?nPF&P8`1Z)6&L;AbK*{7@HfGJgYo{ zfYo8(a=1%uA==!Lm47TZy27y$%|R5gfP&kM%e8yI#SY7TqYj*&5A9&DF)uc;(3bAX zA7WvFb4PFy60mI2fD)AkH5l+`RW zdRv~AYohl~y<;At$PS6@DcyWm>BCHUZBHCJ1I!`SBk8M#_3i1Tq!Q2M>d>QQk592G zD*d0xFdJ=xZ%+PR@9G5CDbJ**%cXy{;k&3KX_5-jZkscE3Txs&1cc4f*${5ih?tdg zA%388(XJm#(&9BimJzHMnCa8}gE@N|9{hp1CZ|%?5GS8kK>qm#M$zafW}fiJPF6A* zInLL0g@&k2*x3=rt@1JtXp7#LhC7)jB{!Q!!YQ+b{%EQ7!HgUqMfg`ic_G<%@bsgE zo~%?idlxtILsBCWhd$m^2j zDweAwx$rB))lU}R@J@Xs@o<98`Gv&tU$70px!prrXt>|6{z+$?L85_ik9ySets*71 zhACtHvS)H+{6cD%6TR~-!n|H)F658+5@S1BZ>EX(2E~;xy6klXirX_j$5Ng5j|VF@ znv(#On5bzDP+=YhLXnHHZ^--DV@n$b^Tj7d7_B5c8#OPz;arV%?gauRPX;M*_GeaR z@iQ!@>k6Kl3q`=w5Ly*$xtPPaGmM#yp!0ytF+kBPPyu+z@i9&WWFsd*;Ba^7GUMPz z9TJA8PP4yp)!%H?MJKXF2Ri3q6#6kR2d!MRjlSKxi6#7YV`2PgiX)0-{G2M^p2A97R@rvTYVnX zV&pfxw{RrUf@^EuEXVMCEr9PL2Ym9px8M2Pf2V`ie(k;W_e8l@S{J>(!&5zCQ1_#4 z&OCwBL|bsI^s_Iurkx^P{~rGI50n>WzLW4ZXKuQhzZ}MIy4|&l`tL8Wu>Sn>SomH( zz=S)`Y!`X{5KtEL{vmLaup5_%I(~zM{ocsQQ_gnFE!HlVKoc$R1t@dXinm;qyF;Q6 zdoxcz`{TE?6eTkyF$&hMu0~87D{>2V^m2~e2vEC0pn14!lr~l(*Q{|d=T6|2=u@NN zcGde$JI=gSw|h12xT3xtbS1LV)~Ou$PhSkpxuO1Ncx1Ufa>x83x~*$#|< zDDNM3LkDa?51=n#ry4dQ$=|@h!#Y7W+mshZXnA6{wUDhkPfF`V{dEH`2!Q=~j=56_ zW#&$FZbC>o4mA>m0`5r0c??^jE3C9GUQ79`JE;#T#H+>!0?c&(E69^I0SK)<5Di#T z&Z{$mC&dauJ!}bT?0yP=E`BCxE`*gC$IwFk=LLVJO+^$lH1e7MA^r&o@%eku(#@Jy zS5Zwz5lO3#1i6mH$b$FSbqDIAUXNc#=4pe^eT&WY?LGNUnW{&K?uM?hVz00!hn~1P z$MrgY17_?B)45I!4`c4(+SJ~BRn;UXn17F|H`8{$|CW_g?`pI5dx^W59d)oyLr|el zBB|R)-LdCN?R{d(ZizfckTcDiNI=BUvu2nck7>Ko>3m~w$O;1tKrirH8j`ahXEE@S z*dT^;B2ux9Iy5cCndq(#F(&%eGvDY=qHD%0 z^A@%P7q=tbM92GHOqCoa>qsAJ@1#E0&U}KK&5)Cg^fMQ?U2eJIG;mx& zEb`&fq|Mh>)z$5KsK`|Io{xlqqDh{?W>REI9hzr+jUY|tsO zhL~ieT-&I2%gY%E#Oh?+z-C=c-2K)~R(km|?eb{tqs6suxli41zpl1zS}+^A7XuQR zZZfIEG;Ni>@XOx0_T@vV<&Ui6S!B6B@q|u(O#{r3Ah_saXlQR#a6@0e#> z&&9vK7x>CN%0L}odxrwDj96P7n}5nXoGTQxr_3KHF@=)$F5s+rPn(C56}2ZQ*R$f_ zzm`I!q$wQU1$aaGpjjm(*4|YXEFqWEZ?`9QU-~{yjlQW6a0fQYHJU$qn>H)^;Y(CZ ztTUUyJ>twX=L+(QI|W&fnWPOZU<`6QZk>!EZR}?r6=K{@<(@=p1)?NlwFBqGqtXVP zyOFYN3iqTU;*my3ki)%O%--=^P0w2@1GR#9Wk(l!wp&XPC>g+@PMIp)vVAb0DO8F` zY;jhU?^~Qyprxua>kkJB*{Abs&th$~^|3XNCCq-0JY^}gW26}^a?gq^*CxscA9)vX zbxXltmTlx)P^IlUD}RbaCBx~uEipb>WhuLLs=BnrM`dWC5???zy4qg4hHS9MYF>8U zB(#OCudyD}C#ZxhDfm8w^wU6d6paL_oAlu0*m|@dp0vr zeLhlWzh#0ig4!C8LVx!%weh1Z;(}GXmFp|T69bLGGY9x>CI#2RAN|eDx%xKTNH4po z)24C#s%mnNQ_q!dwC;#(5q;}W=h>>?nQ_FDzPKuo<3v0snF_)~oOK4je)KaDPb7*| zi#|c8l-zYT8dRgJUyqs%iYqg><4A&A#uLEKVa8E@Er&_6bbD!yvg=v&7qf1^qgUjl9VIQmKw!L@G8Cq#5tm|!>DFh93rxUdxeGXL#M||KzY^6x{$LIltL$^kd5AVMpj|HW@%O* zYPlvAP@DDmM)cmN1EM--hYcsA?iQc*L~4k_t(vT(+eS8&l00bYq$j?UMM#x8xI{9b zj&iycZYL(VIbV99Vs_({b>D}@_e#TGp?9-w{lXg~s84VMWPHkyk6VV?dN#`G&g2)#A@{78eFiU&b8C zL+}=PE1@$N^kEYu=-3>${5HoC;L{5~1ZqC9A7uT1U+Pp;0S0r5r}+z%9UZZIsz53I z<{Z$Qew^d~#XxU|KBXw5g8y6dKk6MamH!%*^56W-|C|0Nr~Umw|(iqccb4 z^ml-8%=hpyW3P0wII}|E!I^o!jgJTa-BP}10?I@Tz;i)^5DC2QR1DnCs!$DjbN%Qa z0ta-y@@rQj_re6ZV|bSP4*}HbY~J@r|I<%`Pd?dPAOg1->F;=_?G9eseSRPX0*oeM zC(N4r24f4BhddUA`$J$2i1Q_h_^(x2>o&K)jsUrI8kbUi$Adrf`iFoKhAZ_$U}(3k zoPVA49B5&!Aq*c6NGtB45z2Q*%m4CywDBSH_yQ7N7{A1G2bvLm=Mg-soC^vr)b0-f z{{DbDZdKWy#8GZDxFOeou@AU>R4WTL;0)ja$`<%;_X-gEJ(?c^&j7Br#J5r690%0eSzf^pfgKx2o00>bC57doGfe}*I64W00|+(N9w%lL z$iUO+efRk?Sm069jg){M-zLr7P~67?+k>s*mdA^cSj`pl=)s0aVu0~T;B6^6r+iF`=E6YqeH}a_aBAL{B%y z{6TZ9PInB45L$;)eqRK(X@JmeS{wr{aywSMtc_cgOahc_$r%DJo4$LxV6e!t!ILG} z0^F(Flo9rQCk_m{cKlb>FzyAhBj6{Ko7@uwa8ls8zvuTuA1|pPSnJJW|aTu5yVCDZi>EAd1d&B-6B>zr~e;0#)SI>WUjDL5@e=CE3OR0a$ z$A3%ae~$_O9*zDzOa6O){$IunzW)KC0P@rT?J!6Q7zwft7ZVnbfpLw1ksbp^g(Y%~ zQKFz@XHFL9Hes|8$(Tq&8evPOzkHeL1{o-Xt{_o~OT(H-;lS`Agn3C@%-xvU$-bi* z&BhbbqWzfrk?R(LE_bq*&BsP{=%#gi7@ z`Ec5E{QGZsPz3J_`ynvmTKPl34&*D`{~_=-(*)$40JqxY`!vEf&=Kdm=g01=$mPVFY+`14gl-6SKf<9AHa( z|6ohM;lElg5!k|z10Tnvuv+oltR4Kh?KHl;FrB~?;6?-3a0uW?Teg_O=KuP>GXQ3y zB%qcC0Td|g4`3#sN7zRFMxob}Wq}PjtPcZef?@GPz;NvQOH1zgSb%L4+ELt-Nk0Tm z!vFoq|8sBbHz5!vZ$Ee6OOBU<56zlt-J{~A%GpC3V1|jj0R);Zr*v123iuZ5e|*s#9T zVRi`BrdQHWklTK7s2w`OTk9=~2@7?;)n*Y)dC-Vx5`OYKtC_8y=)Z%mRbwcdp(?Ky zyD2;h`q;dB>FwO%Tg&&ruoe!Y5w;dUSIN8)7?qmUOR1POzXXd7S#AV=J#d%JYcX0J9umOs*@$qjj&OWoeux}E}Snlk%U_62js)+ zAQ<1(dFTkfHotG{JwVriDhaj9&qa;aWbyAY@T{j8Zpt=_t3?vS59PLjaQksMw~W6^4LDo_!n2Sn)_TXvaD_!B-J+PwE&r`ljEaM?}F9q=7T3|`rSA+WQi$U1&Tm9if z=YSZ&@*f0$7x01hji~S6Qox)~0eCX_bXIGp8MscjIliC^{_9&Zwu~1%h$>0q|B?lG z0_W`pe))C$)+Sg96Au3n_>2Z0PY=OH@^LK`?tyy1&E(+Nmb+6$cncU;9KOXTt@!Y) zz#_0Ts|s*uWw0O+z~@t^SxemSL3l{i8w3Zae`jRvG@0`6z@ZbUB_8HO-);`jF%5O1 z`A4h)^@RjaA)$pn^!+R7&0@*XehB0`ZuP+beJ1}Kp9#tXOpo#(0&PQGn=?9`X=rTk z5>A&j*Ig_8dJc?Wx(D8S#mi!tt5Xg&PVj#P5+Jf5ONz*=_MvaeKxLM3L*odY3Xe%% zmM3{DYN}?jea~q0@zf0eqO&$EIZ{(hu0$%nqUvhL_al{R)^nBWk2(uqek<3wb@`L{ zL?#_qt=Hq&d(GQ(qV~-o-R(-&mlbMu$dTr6$K}7>zV|;JmY)B07I*wR!Tyh%U^_$n zgQa^ot|Bi36+(JIY0d-7p(xjC0w>C1@}*Fm#hiI9I55FT)27gMA#3K)z5v3M6Y@Aa zD`7i^o8i+VcW>a^jL{5S!#4425Kz5Z?l129?0b`Gnxx<7UF98d`00w{=Ow#mWjZ&* zE9Ea)SS)LNbM`96DoVd?TzAy;lam~~gWzUHmz(mx7OhyZgD^L5w)y*mmGxW}l!oRX z><3xc?i|oPL5pN*0EX`@Wk|8pU^(lbXqjX{=*|~Wwl7dZvbZLwpD4R0HMs0$L7p)M z(7cf8U5*Ct1u7scajvnCib;gGNGHV}v76jgr6xRPzc3 z&9p*-n}LA(n)_b=nR{A^CEBEo9|Bcdop?^Db6Ss1(1wpyIIYT1HMxRq5TEmNWv_%2 zCpXmb@bgFCK0oB%r+vT8c^>wFYCX9p>s*d-ASEZt6;P?q6pz1XDmuz5{*ZwTYz+ID z=Kqn>I>ePoV@|AlmH`vtawbO7gKGyJt%VHGFA05c(Xv+7W||Mw#|#slys?X?Mvd&) zI-wHXY{HmFy_hagG+ToaRq*Y;cIQ#z$7Q*!c+j2kXs*jVtXs#ESB9FehAZ;bvFF@* zPsj?OeM60rHMPm`rv<%&^-33ntv_ayy7-2yYXP?Ojl=i@0cD(g$czq;b1s3gXCH(< z%QeOAXJTYm?)=4;{E}7$8J%Fg8YFP{5R`N*qgeB?cwt1WgXO^|_5+G0rv_J9g8}w3 zf%TkhwI#z-3_W4NG{>WIlV;}%u6B%>+BK_CVuo}(57M5v`W-p`(5X6|W=DNtSRZZR zVPsx3SQBvV=5&s3_NN=_haB~es8?7|pWy}8S}MacP`)rhJarL7+MLE2Kp9e`zf^l* zDFk7z5YuS*i{agSw{2V5_|)w%SP)3S5^qa2l=pNx9rXQ+X66Row)w?ZK(RN^r^NTO zl=_Cb;-Iz)F;+XjVUh3sQW{eoXaJXWdSopl9{iI?sRWfr+^W&7S&z2zVa&k88eWfSedb zC$aO)Qz(fxeRe1Uh{o}j6V1}&%}3E^byum3{@2tiL%Ob_3g;I3{CAZ8wC|p08&!WD ziOYyCzGm@^y%TN}VW>V@8i;ky{ZMJWW<*C^uZJ{SNfUlgGUfUrj5S2h6$;Xhus>Qm z9L%J8uc(dE_RRW|R?epNSNehO<)yRfst9VGe+sRtzFghV-~H&5kuf%YU5)M2Mflke zmAad;nV^HStKkMukVX1fgfr|3>W~CP-Tl%_d;I|$<^;6ebbRvkTr&UI|Ha;Wzcrb5 z;i5W@A~hntJ1Qc*OAE=T3?LvxIs`}r25BN7AOQjyrAZ&9DOH3J0)!%jCJ;%15fr2s z6-XG7DhUX_O33W@+te!=7nSL`Q z*OMb2{}U6-3{TrHKe3|xk;31rS;uv6>uv?mz9PxQAY?Ojv+tKtz|))2R9hZ?v1FoB z)aC8V`obV)-7S?Tfi8PO=c89_O}2$-`V}@%H(j?ue;wdXl7NXT)XGSUdOLDplK9B^ z?+{kie#Sk&VD>v`rx_uo;Sv3|I7eRD`7*=3;=D+QV(l-z#vS4j?12f|s0WrBNlK&M zmWXg5U1ow3gr&ZmwzqppGD*~a1J0>7&d>l%zm&$m0!s0KS$ND&rlQn1SC})l49|@I zq)ks!1PJU81G0>C#KQHO&{X0KdlALOu_&xTZ}k~yQD%W^xyO?gM;rV!cN8TgR? zKvDR%AR9;1=SC~>@dSXKfrY>!kmvZFW*%tEX&(Hf#JY%*nTl!7;GF=nBs-Z6eMZZj zw8NQkgAcf0^B`V8xKE|$^cSD2hF;CGcA5o6#Xndobm_8E0pfd%_w3OvCUU<(l^IkY z=R_#OHR_bDl&(}|&?f748Sa7tPviI9)v0a_?XdmCHCigW`)vt*Os+sfNy;gkqvTN- zGOcKtO`y3dr{}s~y#&@;#Z9jPK(iX^*j0trvKp+(9GQ5q59lD zWF?hy{q~Sf?nR>hboKtmX zwW{xL*&{mh=BC_}Sw#{nftRO7^}Pb-bL71_+CoIvL28<%kR4Hx-{L|p`cZ?0SVo#D zMetUAqXNd_ERkcbr9$)7#YnSIzm%ym)!AHK&u!VRVBas+A8roo%GAP|WJwx<$(!g_ z_igp(K=Eru(N_SDu((+%W|$|5NuY8tQ7jc2L~@-CB)^vIhy_8Gb|vZ1ehE%RTNT!L zre865_TVRhuBpz_!ZX35@|SgZ&@|RFyn1~mwpb^@=ymu)=GG^S1@jNMaIYq5E`%aY z2^y2b6lqIyL)iqXFa*tx-4(^lle7N6Xqv-kXij? z)R-%AeN216b%;5G&K%Q;Zrzb9y6;A1*R%-$cdo$oe%2U|@D=;&I%PFG>oTEEgHA=k z2!WSdhBvf~gfnQj5_>OgvIwc8eYJcShx~R!p32XDMr2hU_iMB-t^s78@awU98)jH`?ZXMOFF9 zGXAj>?Y0NjKz?(Y@wr|1*+*5|ih!Jf6o4_ z%BFBdXQJ|;$xNzZuoj&`f0qCiIUX>j_txIl^&aDE|Vo% z+2V1c-QYb2U%=$QUKA*$CMm$ofCuO7FEF`qao*Wa*lX_{qeWSz4PzPozjSckE@}ft zwZRoKd(f+-4T_Wj`q$tRk({suVyMx5$@@n6SGPdip~HyQ%`>Z9&>LC~&mbk8!~Q3W zr9jvgt^S1lqpc6XaZZh_Nc~B!{Dtcb7item67#?`GexSJAYwos`n?vJqJTxVu?HLC ze2+~UhN;+_#;iut19wiAIAG*8qGUl`o|ju1DzZ;yfrYpt*}~J-Iz?JV7sPBm|7gYZ zYDAi#Y>ui?MM{v|W*Ta-re$wGN#W-x0@BP{6zI^um=={0{aOCL7#~_t=1a`wfChf3 zeg#DOb2|QVpmDdgNPnBP;Iq-Wz|S*Ftw!6wC9*>E1U)cj)SuZM6p_10+VD(+r7Vye zY6wZwNK_Igr1MPWd(_j}DsKSP+4Q>{0AQE&CUWJ{mZne_ z6fy|!tTO_0Q~9TxC7_o)HrWi*7*O0f_$H}jb=X5FKsjxQ$)3B;+~Z$q*<-MD;?U(A zO08dp-pSqM@G4nK5I~(uW0oaJ=F=BCvv>yFv+TSyt-M^Qddy1RsjJHrDWI5jsgQ}z zD6UXvr3*YOfu;n6aoru3WYTKW#E- zYTpBpn0BDh<%KEO8LSEj_=HzuKCmjOOX6H1P8^4H)K8EHr|V0BScVd$*Ne?#?vS8{ zD}V0`GB_uD7_%%{an6$408@8gr+fB{FFRMh%VYJKg1}Q7_NuA)<|<^vxXe|C#Ri5w zGN+Z*rhGG^^%m~s%2vN-cKP*R(8$$S$a&2KRTiA~WMCmXTJMxgZeuhSq2Ki0jEE(B zCMju*u4%wz@!kp=(Yw>`CWG%A)Vy(EQa7ilYsS)=%6aH9cen;EEQEhd!O591IX^=dPhGL78hU1uLS zR3EkZ2k{;+qk+rjlm}4f=Rlh!n~%OD67qfN<(E`=z)r@(EUj`uWQ94FMb^B)TrFNU zQ#uZOS^kps4W1?zs&pEQ@Q-32+H`Tu36JDhtLdy)W=DZmVQ`ztos@`oo*ZG>GK8r? zoxc<74*X}g?ak`+=YYS26J4u1s3c4183z(Uc(65MObytO6pec9fbw!la$ zWQD1CwQ{sxHCTOzU6?TZ6iVyA%(fgYk7e4GqR9g+!R!y(AHE;z{p1H@y&x!mh=sIm^M$Jh4#wlceK7DtG2Yn(bLYcTLx%{v z1SP(s^c%cUFfYj6NjLO%%y{khIi;p$?ni_hs9=ImC0#4HKp*EwmV0Zgr~xI9Jxa<% z`P801bM-KinW9BGG2Zz4Zv@<1-qL~#3%R;yzNTei&FJo=tf~y6=`&%CPW@teynrT!2_SAjle`Hy`7g^m6)3 zISI?fnc*-c9}LglDNGHafKjBeatIk*B@#L~Ns%MJD9NtOtzzG8T}h0!%^T>KJ9N)9 zwAXj&{;3E7R6QoRg6#BxpAafVYQd7-IkeOUppu1|7`^=+m-=Im@EKI5jz>(<2!xKg z0SiFYC_7bX6}c+Y=3i6^-MHNXG|rqw@H-2m@B$v$%69^cgcP;;bJ>@fyGFEqU61S} z)yQ84ZVp;#R@v8|W!M>4TXi_@XFjzpNNN>&Lb~xs>u$5WeB@JPSBN8hki<_ZBZtom zvSJt7n|}omuU}$@7_Frl3v>?Q&g@e%W*1LRL}!hZo4J73`rhGyqIwUkkV*M~qw@HQXjbgJft(=V7}g6o zT3qciv@tbb(x1TkK!X!AoFv$u9z3*=0 z+hpz2n-Ob9FERNK3muem`S_e_C5tZT69!yW9=UEf(XL^=M9vo~KP;42yizMbHiOzQG81WVu z<3+v?3Aw3v`fKzu#amokZ6?!H#2y_$?J@?aeYkTSM;Vl0!5uMg43ajmC^Z#82BM-k zaa_k*E*j9S!|E0@b1PX1N~bnq#xH?^0M02~s%&~X)`S&yO;eo_pPHWi)t_C~vCzo7 z$QvP#8$R1I0~5=I9U3w=1?$cpV(w5A{b`j#WTp8XIvDg-YBAL;*XC@je>DmiSy4&m z=>gS4i>jQvm7s8Ik9(GOvmru2JADfZe*qZ1?m?ASm1}Z8^dX1br?A%3$o?dvI|h46 zF$PWsVj<}VY=W)hFvl1>z|qo+4qkow$nQe&456@B7(rU*xYqk|0Qgq6r4R*Dx{6Aa zHxj1Q^;(&UAxiSjjwuL;HK5cmH(Fi{ETqo!p5ZXe#*V-*t5K;#lUU8Lt`wMr>97TbM+6h z4)ue;)k@B9I~+kJq( z^5s3vPH}}^(E1lxgw%5^ML-W6)|!P8b&~3@Of$}G56Ga;ymlF!DH0RR`a<_@m>|k_ z{cWfIg|LrS(artE7+c%nX}U*u9jSABr_=Q;0YSVy6**TgQ8!7Fhn+3QYN-gPQCFjh zgN9Ytip&E*0Y1GZ$vz~x>L?2rRPH{I&$XL?DS?%TRw9I@o%QXyp;9J}f06+@M8U*2 z70-|JE}((%fmubZiQdqaO2B;*K)d5)Y?#`oQEzI3-y?yvpMyi!W}*{bjefT|BIDYi zmh3<@7~zAzfM2^B@IAc2H9Az`UP8HZFDkLe-IwIFaUEC?@U;Ac2Q~&%%y^&^%u)G2 z8))`l;BS~wwilER`rqllDZG1;kUHd$E6A_brBR%sYb>N}(^IIAT@n={a?)H{+unvf z@Jt|-r$rPkHsQk_;Ln36wWaej

6Aebze*d%(Je zYhtRB!&P1>1qF$U?b-cgcvinOfI}y0d$6^$ztv1=8KQ+hDu0`mTsSJ9N=vYlU>FZ4 zjfih>!i26^q~UsKlgmHvm8<%1d z;zDJ22-MUw{e_C*bdID}na`aYU1=U4zc$%}e$%xgF+`^NM6RbSnSF0)nT;`>yP+W8 zQ*kNR|LM@%X1M>@f|x@VD`%0g{7KAq5+=O9C^`d;YuZ>6gGsC>$#qO5oeSz2dW1br z1pMg>={clcI7fgsRN|J3GkSQJrx=1#O=fgLYJ(S*@*StheUg(mw_)dbGY32aAd#ca zOnb~`_8Kv@#qAD_*OPut!%26%B7&$~Wm{f)FOGR6XEPgff|;X%S)wOtfSc*-iYKVP zd8?D1RvFf4fib`d%&pCqB;`~c_=en`j+{5tu-AYo9e>2SF`5>cRd{i88RM6xq)sgM zW2RK+fo|xn9zD+nMf9sO-YVSCk~{v4b+5OnL#+dm&UnxK+quD!)e6elFo%une1oQo zHIptD#aReDYY}ot1rw3fCZ%%kiJHw@!OpbRGYv(KZ}nxPgZ!i9dOEpcZ3kWNwY9gf z7Hn{nD=L)!KI_XK%lOOzITQ2Xlzl7Pp)V;H9y1Ij(_05&)>m`H(#(cfOYi%Pe6fB$>zuYjEoAaA34x2NnX%KOTmt%tl& z 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%0AqloIq&VkYe!RSIE^Ot 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 oFVDffOkMB=SnlR$+m2o+-fE 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 <3.4|5>" >&2 + exit 2 +fi + +target_platform="$1" +eigen_lane="$2" + +case "$target_platform" in + linux) + triplet="x64-linux" + preset="release" + build_dir="build/linux-Release-eigen${eigen_lane}" + apt_packages="build-essential cmake ninja-build curl zip unzip tar pkg-config git gfortran jq" + unsupported_args=() + ;; + windows-cross) + triplet="x64-mingw-static" + preset="windows-cross-release" + build_dir="build/windows-cross-Release-eigen${eigen_lane}" + apt_packages="build-essential cmake ninja-build curl zip unzip tar pkg-config git jq mingw-w64 g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64" + unsupported_args=(--allow-unsupported) + ;; + *) + echo "Unknown target platform: $target_platform" >&2 + exit 2 + ;; +esac + +case "$eigen_lane" in + 3.4) + baseline="5bf0c55239da398b8c6f450818c9e28d36bf9966" + eigen_dependency='{"name":"eigen3"}' + eigen_override='{"name":"eigen3","version":"3.4.1","port-version":1}' + ;; + 5) + baseline="6b07d2d37301e9e7c6fcf771536d2ff6585c5912" + eigen_dependency='{"name":"eigen3","version>=":"5.0.1"}' + eigen_override='{"name":"eigen3","version":"5.0.1"}' + ;; + *) + echo "Unknown Eigen lane: $eigen_lane" >&2 + exit 2 + ;; +esac + +apt-get update +apt-get install -y ${apt_packages} + +export VCPKG_ROOT="${BITBUCKET_CLONE_DIR}/vcpkg" +export VCPKG_BUILD_TYPE=release +export VCPKG_OVERLAY_PORTS="${BITBUCKET_CLONE_DIR}/scripts/ci/vcpkg-overlay-ports" + +lane_name="${target_platform}-eigen${eigen_lane}" +manifest_dir="${BITBUCKET_CLONE_DIR}/.ci-vcpkg-manifests/${lane_name}" +install_root="${BITBUCKET_CLONE_DIR}/vcpkg_installed/${lane_name}" +binary_cache="${BITBUCKET_CLONE_DIR}/.vcpkg-cache/${lane_name}" + +export VCPKG_BINARY_SOURCES="clear;files,${binary_cache},readwrite" + +mkdir -p "$manifest_dir" "$install_root" "$binary_cache" + +if [ ! -f "$VCPKG_ROOT/bootstrap-vcpkg.sh" ]; then + rm -rf "$VCPKG_ROOT" + git clone https://github.com/Microsoft/vcpkg.git "$VCPKG_ROOT" +fi + +if [ ! -x "$VCPKG_ROOT/vcpkg" ]; then + "$VCPKG_ROOT/bootstrap-vcpkg.sh" -disableMetrics +fi + +jq \ + --arg baseline "$baseline" \ + --argjson eigen_dependency "$eigen_dependency" \ + --argjson eigen_override "$eigen_override" \ + ' + del(."builtin-baseline", .overrides) + | .dependencies |= map( + if . == "eigen3" then $eigen_dependency + elif (type == "object" and .name == "eigen3") then $eigen_dependency + else . + end + ) + | .["builtin-baseline"] = $baseline + | .overrides = [$eigen_override] + ' \ + "${BITBUCKET_CLONE_DIR}/vcpkg.json" > "${manifest_dir}/vcpkg.json" + +"$VCPKG_ROOT/vcpkg" install \ + --triplet "$triplet" \ + --x-manifest-root="$manifest_dir" \ + --x-install-root="$install_root" \ + --overlay-ports="$VCPKG_OVERLAY_PORTS" \ + "${unsupported_args[@]}" \ + --clean-after-build + +cd "${BITBUCKET_CLONE_DIR}/src" +rm -rf "$build_dir" +cmake --preset "$preset" \ + -DVCPKG_MANIFEST_DIR="$manifest_dir" \ + -DVCPKG_INSTALLED_DIR="$install_root" \ + -DVCPKG_OVERLAY_PORTS="$VCPKG_OVERLAY_PORTS" \ + -DEigen3_DIR="${install_root}/${triplet}/share/eigen3" \ + -B "$build_dir" +cmake --build "$build_dir" --parallel 8 diff --git a/scripts/ci/vcpkg-overlay-ports/libaec/cmake-config.patch b/scripts/ci/vcpkg-overlay-ports/libaec/cmake-config.patch new file mode 100644 index 000000000..808e2216f --- /dev/null +++ b/scripts/ci/vcpkg-overlay-ports/libaec/cmake-config.patch @@ -0,0 +1,58 @@ +diff --git a/cmake/libaec-config.cmake.in b/cmake/libaec-config.cmake.in +index 11ac99e..03b96aa 100644 +--- a/cmake/libaec-config.cmake.in ++++ b/cmake/libaec-config.cmake.in +@@ -36,7 +36,7 @@ if (libaec_USE_STATIC_LIBS OR (NOT DEFINED libaec_USE_STATIC_LIBS AND NOT "@BUIL + endif () + else () + find_library(libaec_LIBRARY NAMES aec DOC "AEC library") +- find_library(SZIP_LIBRARY NAMES sz szip DOC "SZIP compatible version of the AEC library") ++ find_library(SZIP_LIBRARY NAMES sz szip NAMES_PER_DIR DOC "SZIP compatible version of the AEC library") + endif () + + # Check version here +@@ -55,6 +55,7 @@ find_package_handle_standard_args(libaec + ) + + if (libaec_FOUND) ++ if(0) + if (libaec_USE_STATIC_LIBS) + add_library(libaec::aec STATIC IMPORTED) + else () +@@ -87,6 +88,8 @@ if (libaec_FOUND) + IMPORTED_LOCATION "${SZIP_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${SZIP_INCLUDE_DIR}" + ) ++ endif() ++ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") + + # Set SZIP variables. + set(SZIP_FOUND TRUE) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b2aeb6c..1fb3b6d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -77,9 +77,22 @@ set_target_properties(aec sz + + if(BUILD_SHARED_LIBS) + set(install_targets aec_shared sz_shared) ++ set_target_properties(aec_shared PROPERTIES EXPORT_NAME aec INTERFACE_COMPILE_DEFINITIONS LIBAEC_SHARED) ++ set_target_properties(sz_shared PROPERTIES EXPORT_NAME sz INTERFACE_COMPILE_DEFINITIONS LIBAEC_SHARED) + set_target_properties(aec_static graec sz_static PROPERTIES EXCLUDE_FROM_ALL 1) + else() + set(install_targets aec_static sz_static) ++ set_target_properties(aec_static PROPERTIES EXPORT_NAME aec PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h") ++ set_target_properties(sz_static PROPERTIES EXPORT_NAME sz PUBLIC_HEADER ../include/szlib.h) + set_target_properties(aec_shared graec sz_shared PROPERTIES EXCLUDE_FROM_ALL 1) + endif() +-install(TARGETS ${install_targets}) ++set_target_properties(aec PROPERTIES EXPORT_NAME aec_obj) ++set_target_properties(sz PROPERTIES EXPORT_NAME sz_obj) ++install(TARGETS ${install_targets} aec sz ++ EXPORT ${PROJECT_NAME}-targets ++) ++install( ++ EXPORT ${PROJECT_NAME}-targets ++ NAMESPACE ${PROJECT_NAME}:: ++ DESTINATION cmake ++) diff --git a/scripts/ci/vcpkg-overlay-ports/libaec/portfile.cmake b/scripts/ci/vcpkg-overlay-ports/libaec/portfile.cmake new file mode 100644 index 000000000..d8a411646 --- /dev/null +++ b/scripts/ci/vcpkg-overlay-ports/libaec/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/Deutsches-Klimarechenzentrum/libaec/archive/refs/tags/v1.1.3.tar.gz" + FILENAME "deutsches-klimarechenzentrum-libaec-v1.1.3.tar.gz" + SHA512 b64d10f8dd1f8d4c08dcbb5025550c790b01c9138714131456632e37cb58b60f40a94015644db727489fb0365dfc1e7ef0494f890639c8f306f2c90c09299136 +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + static-shared.patch + cmake-config.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "cmake") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/scripts/ci/vcpkg-overlay-ports/libaec/static-shared.patch b/scripts/ci/vcpkg-overlay-ports/libaec/static-shared.patch new file mode 100644 index 000000000..0454a6fc1 --- /dev/null +++ b/scripts/ci/vcpkg-overlay-ports/libaec/static-shared.patch @@ -0,0 +1,30 @@ +diff --git a/cmake/libaec-config.cmake.in b/cmake/libaec-config.cmake.in +index 6f6c9e9..11ac99e 100644 +--- a/cmake/libaec-config.cmake.in ++++ b/cmake/libaec-config.cmake.in +@@ -26,7 +26,7 @@ + + find_path(libaec_INCLUDE_DIR NAMES libaec.h DOC "AEC include directory") + find_path(SZIP_INCLUDE_DIR NAMES szlib.h DOC "SZIP include directory") +-if (libaec_USE_STATIC_LIBS) ++if (libaec_USE_STATIC_LIBS OR (NOT DEFINED libaec_USE_STATIC_LIBS AND NOT "@BUILD_SHARED_LIBS@")) + if (MSVC) + find_library(libaec_LIBRARY NAMES aec-static.lib DOC "AEC library") + find_library(SZIP_LIBRARY NAMES szip-static.lib DOC "SZIP compatible version of the AEC library") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f9c3031..b2aeb6c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -75,4 +75,11 @@ set_target_properties(aec sz + PROPERTIES + COMPILE_DEFINITIONS "${libaec_COMPILE_DEFINITIONS}") + +-install(TARGETS aec_static aec_shared sz_static sz_shared) ++if(BUILD_SHARED_LIBS) ++ set(install_targets aec_shared sz_shared) ++ set_target_properties(aec_static graec sz_static PROPERTIES EXCLUDE_FROM_ALL 1) ++else() ++ set(install_targets aec_static sz_static) ++ set_target_properties(aec_shared graec sz_shared PROPERTIES EXCLUDE_FROM_ALL 1) ++endif() ++install(TARGETS ${install_targets}) diff --git a/scripts/ci/vcpkg-overlay-ports/libaec/usage b/scripts/ci/vcpkg-overlay-ports/libaec/usage new file mode 100644 index 000000000..a6aeb5f6a --- /dev/null +++ b/scripts/ci/vcpkg-overlay-ports/libaec/usage @@ -0,0 +1,7 @@ +libaec provides CMake targets: + + find_package(libaec CONFIG REQUIRED) + # libaec API + target_link_libraries(main PRIVATE libaec::aec) + # szip compatible API + target_link_libraries(main PRIVATE libaec::sz) diff --git a/scripts/ci/vcpkg-overlay-ports/libaec/vcpkg.json b/scripts/ci/vcpkg-overlay-ports/libaec/vcpkg.json new file mode 100644 index 000000000..575b5265d --- /dev/null +++ b/scripts/ci/vcpkg-overlay-ports/libaec/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libaec", + "version": "1.1.3", + "port-version": 1, + "description": "Adaptive Entropy Coding library", + "homepage": "https://github.com/Deutsches-Klimarechenzentrum/libaec", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/scripts/installation/apple.md b/scripts/installation/apple.md index b9e035fce..54498ea3e 100644 --- a/scripts/installation/apple.md +++ b/scripts/installation/apple.md @@ -1,6 +1,6 @@ # Installation procedure on Apple -Tested on Macbook Pro (Intel) with Somona OSX and Macbook Pro (ARM64) with Sonoma OSX +Tested on MacBook Pro (Intel) with Sonoma macOS and MacBook Pro (ARM64) with Sonoma macOS. ## Install Ginan dependencies @@ -12,7 +12,7 @@ brew install boost cmake eigen netcdf-cxx netcdf mongo-c-driver mongo-cxx-driver *** Follow the instructions here to install the MongoDB application: -https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/` +https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/ ## Install gnssanalysis python module @@ -25,15 +25,26 @@ pip3 install gnssanalysis You can download Ginan source from github using git clone: ``` -#git clone https://github.com/GeoscienceAustralia/ginan.git -git clone -b develop-weekly --depth 1 --single-branch https://github.com/GeoscienceAustralia/ginan.git +git clone https://github.com/GeoscienceAustralia/ginan.git cd ginan +export VCPKG_ROOT="$PWD/vcpkg" +export VCPKG_COMMIT="4c5ae6b55f3e3e39d291679f89822f496cf190ee" + +git clone https://github.com/Microsoft/vcpkg.git "$VCPKG_ROOT" +git -C "$VCPKG_ROOT" fetch --depth 1 origin "$VCPKG_COMMIT" +git -C "$VCPKG_ROOT" checkout --detach "$VCPKG_COMMIT" +"$VCPKG_ROOT/bootstrap-vcpkg.sh" -disableMetrics + cd src -mkdir build -cd build -cmake -DCMAKE_TOOLCHAIN_FILE=compile_mac_arm64.cmake .. -make -j4 pea + +# Apple silicon: +cmake --preset macos-arm64-release +cmake --build --preset macos-arm64-release --target pea --parallel 4 + +# Intel Mac: +# cmake --preset macos-x64-release +# cmake --build --preset macos-x64-release --target pea --parallel 4 cd ../.. ./bin/pea --help @@ -49,4 +60,4 @@ cd products getProducts.sh cd ../data getData.sh -``` \ No newline at end of file +``` diff --git a/scripts/installation/generic.md b/scripts/installation/generic.md index 60baeafdc..3809e3ed8 100644 --- a/scripts/installation/generic.md +++ b/scripts/installation/generic.md @@ -6,7 +6,7 @@ If instead you wish to build Ginan from source, there are several software depen * C/C++ and Fortran compiler. We use and recommend [gcc, g++, and gfortran](https://gcc.gnu.org) * BLAS and LAPACK linear algebra libraries. We use and recommend [OpenBlas](https://www.openblas.net/) as this contains both libraries required -* CMAKE > 3.0 +* CMAKE >= 3.22 * YAML > 0.6 * Boost >= 1.74 * MongoDB @@ -14,7 +14,7 @@ If instead you wish to build Ginan from source, there are several software depen * Mongo_cxx >= 3.9.0 * Eigen3 > 3.4 * netCDF4 -* Python >= 3.7 +* Python >= 3.9 *** @@ -29,9 +29,9 @@ sudo apt update sudo apt upgrade -y -sudo apt install -y git gobjc gobjc++ gfortran libopenblas-dev openssl curl net-tools libncurses5-dev openssh-server cmake make libssl1.0-dev wget sudo python3 software-properties-common +sudo apt install -y git gobjc gobjc++ gfortran libopenblas-dev openssl curl net-tools libncurses5-dev openssh-server cmake make libssl-dev wget sudo python3 software-properties-common -sudo -H pip3 install wheel pandas boto3 unlzw tdqm scipy gnssanalysis +sudo -H pip3 install wheel pandas boto3 unlzw tqdm scipy gnssanalysis ``` diff --git a/scripts/qzss_ohi_merge.py b/scripts/qzss_ohi_merge.py new file mode 100644 index 000000000..4e68615ab --- /dev/null +++ b/scripts/qzss_ohi_merge.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +"""Merge QZSS operational history information (OHI) files into a single SINEX file. + +Specifically merges SATELLITE/ATTITUDE MODE blocks into the SATELLITE/ATTITUDE_MODE +SINEX format used by Ginan. + +Individual OHI files are available at: + https://qzss.go.jp/en/technical/qzssinfo/index.html + +SVN assignments follow igs_satellite_metadata.snx. Note that IGS does not assign J006; +the constellation goes J001-J005 then J007. + +Usage: + python qzss_ohi_merge.py + + input_dir - directory containing JAXA OHI files (ohi-qzs*.txt or ohi-qzs*.txt.gz) + output_file - path for the output SINEX file (e.g. qzss_yaw_modes.snx) + +Example: + python qzss_ohi_merge.py inputData/products/tables/qzss_ohi qzss_yaw_modes.snx +""" + +import argparse +import gzip +import sys +from pathlib import Path + + +# Mapping from JAXA OHI filename to IGS SVN identifier. +# Follows igs_satellite_metadata.snx — note IGS skips J006. +OHI_FILE_MAP = [ + ("ohi-qzs1.txt", "J001"), # QZS-1 (MICHIBIKI-1, launched 2010-09-11) + ("ohi-qzs2.txt", "J002"), # QZS-2I (MICHIBIKI-2, launched 2017-06-01) + ("ohi-qzs3.txt", "J003"), # QZS-2G (MICHIBIKI-3, launched 2017-08-19) + ("ohi-qzs4.txt", "J004"), # QZS-2I (MICHIBIKI-4, launched 2017-10-09) + ("ohi-qzs1r.txt", "J005"), # QZS-2A / QZS-1R (launched 2021-10-26) + ("ohi-qzs6.txt", "J007"), # QZS-3G / QZS-6 (launched 2025-02-02) +] + + +def open_ohi(path): + """Open an OHI file, transparently handling plain text and gzip formats.""" + if path.suffix == ".gz": + return gzip.open(path, "rt") + return open(path, "r") + + +def find_ohi_file(input_dir, filename): + """Locate an OHI file in input_dir, accepting plain (.txt) or gzip (.txt.gz) variants.""" + plain = input_dir / filename + gzipped = input_dir / (filename + ".gz") + if plain.exists(): + return plain + if gzipped.exists(): + return gzipped + return None + + +def format_attitude_line(sat_id, line): + """Reformat a single OHI CSV line into SINEX SATELLITE/ATTITUDE_MODE format.""" + if "#+SATELLITE/ATTITUDE MODE" in line: + return "+SATELLITE/ATTITUDE_MODE" + if "#-SATELLITE/ATTITUDE MODE" in line: + return "-SATELLITE/ATTITUDE_MODE\n" + if "#DATE TIME START(UTC),END(UTC),ATTITUDE MODE" in line: + return "*SVN_ DATE_TIME_START(UTC) END(UTC)___________ ATTITUDE_MODE" + + fields = line.split(",") + widths = [20, 19, 9] + formatted = " " + sat_id + " " + for i, field in enumerate(fields): + formatted += ("" if i == 0 else " ") + field[:widths[i]].ljust(widths[i]) + return formatted + + +def extract_attitude_block(path, sat_id): + """Extract and reformat the SATELLITE/ATTITUDE MODE block from an OHI file. + + Returns a list of formatted lines, or an empty list if no attitude block is found. + """ + lines = [] + in_block = False + with open_ohi(path) as f: + for raw in f: + line = raw.strip() + if "#+SATELLITE/ATTITUDE MODE" in line: + in_block = True + if in_block: + lines.append(format_attitude_line(sat_id, line)) + if "#-SATELLITE/" in line: + in_block = False + return lines + + +def merge(input_dir, output_path): + input_dir = Path(input_dir) + output_path = Path(output_path) + + found = [] + missing = [] + for filename, sat_id in OHI_FILE_MAP: + path = find_ohi_file(input_dir, filename) + if path: + found.append((path, sat_id)) + else: + missing.append((filename, sat_id)) + + for filename, sat_id in missing: + print(f"Warning: OHI file not found for {sat_id} ({filename}[.gz]) — skipping.", file=sys.stderr) + + if not found: + print("Error: No OHI files found in the input directory.", file=sys.stderr) + sys.exit(1) + + processed = [] + with open(output_path, "w") as out: + out.write("%=SNX\n") + out.write("*" + "-" * 79 + "\n") + out.write("*This file was created from the following OHI files using 'scripts/qzss_ohi_merge.py':\n") + for path, sat_id in found: + out.write(f"* '{path}' ({sat_id})\n") + out.write("*" + "-" * 79 + "\n\n") + + for path, sat_id in found: + block = extract_attitude_block(path, sat_id) + if not block: + print(f"Warning: No SATELLITE/ATTITUDE MODE section in {path.name} ({sat_id}) — skipping.", file=sys.stderr) + continue + for line in block: + out.write(line + "\n") + processed.append(sat_id) + + out.write("%ENDSNX\n") + + print(f"Written to '{output_path}' ({len(processed)} satellites: {', '.join(processed)}).") + + +def main(): + parser = argparse.ArgumentParser( + description="Merge QZSS OHI files into a Ginan SINEX SATELLITE/ATTITUDE_MODE file.", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=__doc__, + ) + parser.add_argument( + "input_dir", + help="Directory containing JAXA OHI files (ohi-qzs*.txt or ohi-qzs*.txt.gz)", + ) + parser.add_argument( + "output_file", + help="Output SINEX file path (e.g. qzss_yaw_modes.snx)", + ) + args = parser.parse_args() + merge(args.input_dir, args.output_file) + + +if __name__ == "__main__": + main() diff --git a/scripts/requirements.txt b/scripts/requirements.txt index f60d80ea3..21acb01d4 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -18,5 +18,5 @@ pytest>=7.1.2 scipy>=1.7.3 statsmodels>=0.13.2 hatanaka>=2.8.1 -gnssanalysis>=0.0.57 +gnssanalysis>=0.0.60.dev1 beautifulsoup4 diff --git a/scripts/ssrMonitoring/analyse_orbit_clock.py b/scripts/ssrMonitoring/analyse_orbit_clock.py index 6cc676f49..580c48703 100644 --- a/scripts/ssrMonitoring/analyse_orbit_clock.py +++ b/scripts/ssrMonitoring/analyse_orbit_clock.py @@ -577,7 +577,7 @@ def plot_orb_rms( rms[sat] = {dim: stats_df.loc[(sat, "rms"), dim] for dim in ["Radial", "Along-track", "Cross-track"]} rms_all = { dim: round(stats_df.loc[("All", "rms"), dim], 3) for dim in ["Radial", "Along-track", "Cross-track"] - } # TODO Eugene: RMS/statistics by constellation + } # TODO? RMS/statistics by constellation # Plot Radial, Along-track, and Cross-track RMS of each satellite fig, ax = plt.subplots(dpi=300.0, figsize=(12, 3)) @@ -629,7 +629,7 @@ def plot_clk_rms( rms = {} for sat in svs: rms[sat] = {"Clock": stats_df.loc[(sat, "rms"), "Clock"]} - rms_all = {"Clock": round(stats_df.loc[("All", "rms"), "Clock"], 3)} # TODO Eugene: RMS/statistics by constellation + rms_all = {"Clock": round(stats_df.loc[("All", "rms"), "Clock"], 3)} # TODO? RMS/statistics by constellation # Plot Clock RMS of each satellite fig, ax = plt.subplots(dpi=300.0, figsize=(12, 3)) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 354758528..e923d8d43 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,9 +11,9 @@ include(CheckPIESupported) check_pie_supported() # Use absolute paths for output directories to support nested build directories -set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../lib") -set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../lib") -set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../bin") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../lib") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../lib") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/../bin") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") set(CMAKE_CXX_VISIBILITY_PRESET hidden) @@ -54,7 +54,9 @@ endif () set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-misleading-indentation") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-var-tracking-assignments") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-extern-c-compat") + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-extern-c-compat") + endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format-zero-length") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-array-bounds") @@ -210,19 +212,34 @@ if(USE_STATIC_BOOST) message(STATUS "Using static Boost libraries") else() set(Boost_USE_STATIC_LIBS OFF) - # Dynamic Boost requires additional compile definitions - add_compile_definitions(BOOST_LOG_DYN_LINK) message(STATUS "Using dynamic Boost libraries") endif() #set(Boost_NO_SYSTEM_PATHS ON) # Note: Boost system is header-only since 1.67, no longer needed as a component -find_package(Boost 1.75.0 REQUIRED COMPONENTS log log_setup date_time thread program_options serialization timer json) +find_package(Boost 1.75.0 REQUIRED COMPONENTS log log_setup date_time thread program_options serialization timer json unit_test_framework) + +if(TARGET Boost::log) + get_target_property(BOOST_LOG_LIBRARY_TYPE Boost::log TYPE) + if(BOOST_LOG_LIBRARY_TYPE STREQUAL "SHARED_LIBRARY") + add_compile_definitions(BOOST_LOG_DYN_LINK) + elseif(NOT USE_STATIC_BOOST) + message(STATUS "Shared Boost requested, but the available Boost::log target is ${BOOST_LOG_LIBRARY_TYPE}") + endif() +elseif(NOT USE_STATIC_BOOST) + # Legacy FindBoost variables do not expose the selected library type. + add_compile_definitions(BOOST_LOG_DYN_LINK) +endif() -# Try CONFIG mode first (for vcpkg), fall back to module mode (for brew/system) -find_package(Eigen3 3.3.0 CONFIG QUIET) +find_package(Eigen3 CONFIG QUIET) if(NOT Eigen3_FOUND) - find_package(Eigen3 3.3.0) + find_package(Eigen3 REQUIRED) +endif() +if(Eigen3_VERSION VERSION_LESS 3.3 OR Eigen3_VERSION VERSION_GREATER_EQUAL 6) + message(FATAL_ERROR "Found unsupported Eigen version ${Eigen3_VERSION}; expected Eigen >= 3.3 and < 6") +endif() +if(TARGET Eigen3::Eigen AND NOT EIGEN3_INCLUDE_DIRS) + get_target_property(EIGEN3_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) endif() include_directories(${EIGEN3_INCLUDE_DIRS}) @@ -257,34 +274,67 @@ endif() # Using local magic_enum header in 3rdparty directory -set(NETCDF_CXX "YES") -find_package(NetCDF) -if (NOT NetCDF_FOUND) - message(STATUS "NetCDF library not found, skip compiling loading packages.") -endif() - +# Pre-find dependencies for netCDF to ensure proper propagation of vcpkg variables +find_package(ZLIB REQUIRED) +find_package(CURL CONFIG) -# message(STATUS "...NETCDF >>>>>> ${NETCDF_LIBRARIES} ${NETCDF_INCLUDES}" ) -# message(STATUS "...NETCDF_C++ >>>>>> ${NETCDF_LIBRARIES_CXX} ${NETCDF_INCLUDES_CXX}" ) -# find_package(netCDFCxx REQUIRED) +# Find NetCDF libraries using vcpkg's modern CMake config +set(NETCDF_CXX "YES") +find_package(netCDF CONFIG) +find_package(netCDFCxx CONFIG) -# set(OPENBLAS_USE_STATIC_LIBS ON) -# set(BLA_VENDOR open) +if (netCDF_FOUND AND netCDFCxx_FOUND) + set(NetCDF_FOUND TRUE) + message(STATUS "Found NetCDF C library via vcpkg") + message(STATUS "Found NetCDF C++ library via vcpkg") +else() + # Fallback to legacy FindNetCDF.cmake for system installations + find_package(NetCDF) + if (NOT NetCDF_FOUND) + message(STATUS "NetCDF library not found, skip compiling loading packages.") + endif() +endif() -find_package(BLAS REQUIRED) -# Try to find LAPACK - OpenBLAS includes LAPACK so it may be found there -find_package(LAPACK QUIET) +if(BLA_VENDOR STREQUAL "OpenBLAS") + find_package(OpenBLAS CONFIG REQUIRED) + if(TARGET OpenBLAS::OpenBLAS) + set(BLAS_LIBRARIES OpenBLAS::OpenBLAS) + else() + set(BLAS_LIBRARIES ${OpenBLAS_LIBRARIES}) + endif() + set(BLAS_INCLUDE_DIRS ${OpenBLAS_INCLUDE_DIRS}) + + set(_GINAN_OPENBLAS_LIBRARIES ${BLAS_LIBRARIES}) + set(_GINAN_OPENBLAS_INCLUDE_DIRS ${BLAS_INCLUDE_DIRS}) + find_package(LAPACK REQUIRED) + if(APPLE) + find_library(ACCELERATE_FRAMEWORK Accelerate REQUIRED) + set(LAPACK_LIBRARIES ${ACCELERATE_FRAMEWORK}) + elseif(TARGET LAPACK::LAPACK) + set(LAPACK_LIBRARIES LAPACK::LAPACK) + elseif(NOT LAPACK_LIBRARIES) + # Some OpenBLAS installs include LAPACK symbols directly. + set(LAPACK_LIBRARIES ${_GINAN_OPENBLAS_LIBRARIES}) + endif() + set(BLAS_LIBRARIES ${_GINAN_OPENBLAS_LIBRARIES}) + set(BLAS_INCLUDE_DIRS ${_GINAN_OPENBLAS_INCLUDE_DIRS}) -if(LAPACK_FOUND) - message(STATUS "Found BLAS library: ${BLAS_LIBRARIES}") - message(STATUS "Found LAPACK library: ${LAPACK_LIBRARIES}") + message(STATUS "Using OpenBLAS for BLAS: ${BLAS_LIBRARIES}") + message(STATUS "Using LAPACK library: ${LAPACK_LIBRARIES}") else() - # OpenBLAS includes LAPACK but FindLAPACK might not detect it - # Use BLAS libraries which include LAPACK functionality - message(STATUS "Found BLAS library: ${BLAS_LIBRARIES}") - message(STATUS "LAPACK not found separately - assuming BLAS includes LAPACK (OpenBLAS)") - set(LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + find_package(BLAS REQUIRED) + find_package(LAPACK QUIET) + + if(LAPACK_FOUND) + message(STATUS "Found BLAS library: ${BLAS_LIBRARIES}") + message(STATUS "Found LAPACK library: ${LAPACK_LIBRARIES}") + else() + # OpenBLAS includes LAPACK but FindLAPACK might not detect it. + message(STATUS "Found BLAS library: ${BLAS_LIBRARIES}") + message(STATUS "LAPACK not found separately - assuming BLAS includes LAPACK") + set(LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif() endif() if (YAML_CPP_LIB) @@ -339,6 +389,8 @@ link_directories(/usr/lib64 ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) add_subdirectory(cpp) +enable_testing() +add_subdirectory(tests) message(STATUS "CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}") diff --git a/src/CMakePresets.json b/src/CMakePresets.json index 6f2cf0540..6b1413367 100644 --- a/src/CMakePresets.json +++ b/src/CMakePresets.json @@ -52,6 +52,9 @@ "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" + }, + "cacheVariables": { + "BLA_VENDOR": "OpenBLAS" } }, { @@ -61,6 +64,7 @@ "cacheVariables": { "VCPKG_TARGET_TRIPLET": "arm64-osx", "CMAKE_OSX_ARCHITECTURES": "arm64", + "OpenBLAS_DIR": "/opt/homebrew/opt/openblas/lib/cmake/openblas", "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/cmake/toolchain/clang_mac_arm64.cmake", "VCPKG_INSTALLED_DIR": "${sourceDir}/../vcpkg_installed/macos-arm64" } @@ -72,6 +76,7 @@ "cacheVariables": { "VCPKG_TARGET_TRIPLET": "x64-osx", "CMAKE_OSX_ARCHITECTURES": "x86_64", + "OpenBLAS_DIR": "/usr/local/opt/openblas/lib/cmake/openblas", "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/cmake/toolchain/clang_mac_x64.cmake", "VCPKG_INSTALLED_DIR": "${sourceDir}/../vcpkg_installed/macos-x64" } @@ -96,6 +101,7 @@ "VCPKG_TARGET_TRIPLET": "x64-mingw-static", "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/cmake/toolchain/mingw64.cmake", "VCPKG_INSTALLED_DIR": "${sourceDir}/../vcpkg_installed/mingw", + "OPENSSL_ROOT_DIR": "${sourceDir}/../vcpkg_installed/mingw/x64-mingw-static", "ENABLE_MONGODB": "OFF" } }, @@ -137,6 +143,16 @@ "CMAKE_BUILD_TYPE": "Debug" } }, + { + "name": "relwithdebinfo", + "displayName": "RelWithDebInfo", + "description": "Optimized build with debug symbols for profiling", + "binaryDir": "${sourceDir}/build/linux-RelWithDebInfo", + "inherits": ["linux-base"], + "cacheVariables": { + "CMAKE_BUILD_TYPE": "RelWithDebInfo" + } + }, { "name": "windows-release", "displayName": "Windows Release", @@ -251,6 +267,11 @@ "configurePreset": "debug", "displayName": "Debug Build" }, + { + "name": "relwithdebinfo", + "configurePreset": "relwithdebinfo", + "displayName": "RelWithDebInfo Build" + }, { "name": "windows-release", "configurePreset": "windows-release", @@ -300,6 +321,24 @@ "name": "windows-mingw-debug", "configurePreset": "windows-mingw-debug", "displayName": "Windows MinGW Native Debug Build" + }, + { + "name": "make_otl_blq", + "configurePreset": "release", + "displayName": "Build make_otl_blq (NetCDF ocean tide loading)", + "targets": ["make_otl_blq"] + }, + { + "name": "interpolate_loading", + "configurePreset": "release", + "displayName": "Build interpolate_loading (NetCDF loading interpolation)", + "targets": ["interpolate_loading"] + }, + { + "name": "netcdf-programs", + "configurePreset": "release", + "displayName": "Build all NetCDF programs", + "targets": ["make_otl_blq", "interpolate_loading"] } ] } diff --git a/src/cmake/toolchain/mingw64.cmake b/src/cmake/toolchain/mingw64.cmake index 2301bd9dd..9d8a60dbf 100644 --- a/src/cmake/toolchain/mingw64.cmake +++ b/src/cmake/toolchain/mingw64.cmake @@ -16,6 +16,12 @@ set(CMAKE_RANLIB x86_64-w64-mingw32-ranlib) # Where to search for target environment set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) +# Add vcpkg installed directory to find root path if available +if(DEFINED _VCPKG_INSTALLED_DIR AND DEFINED VCPKG_TARGET_TRIPLET) + list(APPEND CMAKE_FIND_ROOT_PATH "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}") + message(STATUS "Added vcpkg install dir to CMAKE_FIND_ROOT_PATH: ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}") +endif() + # Adjust the default behavior of the FIND_XXX() commands: # search programs in the host environment set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) @@ -41,17 +47,20 @@ add_definitions(-D_LARGEFILE64_SOURCE) # Help FindOpenSSL locate libraries in vcpkg for cross-compilation # The vcpkg wrapper uses different variable names for WIN32 -if(DEFINED ENV{VCPKG_ROOT} AND DEFINED VCPKG_TARGET_TRIPLET) - set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg_installed/${VCPKG_TARGET_TRIPLET}") - set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include" CACHE PATH "OpenSSL include directory") - set(LIB_EAY "${OPENSSL_ROOT_DIR}/lib/libcrypto.a" CACHE FILEPATH "OpenSSL crypto library") - set(SSL_EAY "${OPENSSL_ROOT_DIR}/lib/libssl.a" CACHE FILEPATH "OpenSSL SSL library") +if(DEFINED _VCPKG_INSTALLED_DIR AND DEFINED VCPKG_TARGET_TRIPLET) + set(OPENSSL_ROOT_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "OpenSSL root directory" FORCE) + set(OPENSSL_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE PATH "OpenSSL include directory" FORCE) + set(OPENSSL_CRYPTO_LIBRARY "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcrypto.a" CACHE FILEPATH "OpenSSL crypto library" FORCE) + set(OPENSSL_SSL_LIBRARY "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libssl.a" CACHE FILEPATH "OpenSSL SSL library" FORCE) + set(LIB_EAY "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcrypto.a" CACHE FILEPATH "OpenSSL crypto library (legacy)" FORCE) + set(SSL_EAY "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libssl.a" CACHE FILEPATH "OpenSSL SSL library (legacy)" FORCE) + message(STATUS "Set OpenSSL paths for cross-compilation: ${OPENSSL_ROOT_DIR}") # Help FindBLAS/FindLAPACK locate libraries - set(BLAS_LIBRARIES "${OPENSSL_ROOT_DIR}/lib/libopenblas.a" CACHE FILEPATH "BLAS library") - set(LAPACK_LIBRARIES "${OPENSSL_ROOT_DIR}/lib/liblapack.a;${OPENSSL_ROOT_DIR}/lib/libf2c.a;${OPENSSL_ROOT_DIR}/lib/libopenblas.a" CACHE FILEPATH "LAPACK library") + set(BLAS_LIBRARIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libopenblas.a" CACHE FILEPATH "BLAS library" FORCE) + set(LAPACK_LIBRARIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/liblapack.a;${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libf2c.a;${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libopenblas.a" CACHE FILEPATH "LAPACK library" FORCE) # Help FindYAML_CPP locate libraries - set(YAML_CPP_LIBRARIES "${OPENSSL_ROOT_DIR}/lib/libyaml-cpp.a" CACHE FILEPATH "YAML-CPP library") - set(YAML_CPP_LIB "${OPENSSL_ROOT_DIR}/lib/libyaml-cpp.a" CACHE FILEPATH "YAML-CPP library (alternate variable)") + set(YAML_CPP_LIBRARIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libyaml-cpp.a" CACHE FILEPATH "YAML-CPP library" FORCE) + set(YAML_CPP_LIB "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libyaml-cpp.a" CACHE FILEPATH "YAML-CPP library (alternate variable)" FORCE) endif() diff --git a/src/cpp/3rdparty/sofa/CMakeLists.txt b/src/cpp/3rdparty/sofa/CMakeLists.txt index 8a057af22..f7d49b165 100644 --- a/src/cpp/3rdparty/sofa/CMakeLists.txt +++ b/src/cpp/3rdparty/sofa/CMakeLists.txt @@ -254,6 +254,7 @@ set(SOFA_SRC ) add_library(sofa_lib + STATIC ${SOFA_SRC}) target_compile_options(sofa_lib PRIVATE -fpie) diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt index 6e27c5c06..6484fc093 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt @@ -9,6 +9,13 @@ add_executable(pea common/acsConfig.cpp common/acsConfigDocs.cpp + common/sanityCheckers/ConfigSanityManager.cpp + common/sanityCheckers/EphemerisTimeDelayChecker.cpp + common/sanityCheckers/EpochToleranceChecker.cpp + common/sanityCheckers/IonosphericFreeComboChecker.cpp + common/sanityCheckers/IonosphericOutageChecker.cpp + common/sanityCheckers/RequiredSiteEccentricityChecker.cpp + common/sanityCheckers/SbasSanityChecker.cpp 3rdparty/jpl/jpl_eph.cpp @@ -53,7 +60,7 @@ add_executable(pea common/algebra.cpp common/algebra_old.cpp common/algebraTrace.cpp - common/kalmanBlas.cpp + # common/kalmanBlas.cpp common/attitude.cpp common/compare.cpp common/antenna.cpp @@ -84,6 +91,7 @@ add_executable(pea common/ntripTrace.cpp common/orbits.cpp common/receiver.cpp + common/receiverMetadata.cpp common/rinex.cpp common/rtsSmoothing.cpp common/rtcmDecoder.cpp @@ -190,6 +198,8 @@ if(OpenMP_CXX_FOUND) endif() target_compile_definitions(pea PRIVATE + # LapackWrapper calls Fortran BLAS symbols directly, so its declarations + # must remain independent of Eigen's internal BLAS headers across versions. EIGEN_USE_BLAS=1 ) @@ -224,55 +234,101 @@ if (NetCDF_FOUND) loading/interpolate_loading.cpp ) - target_include_directories(otl PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} - ${YAML_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${NETCDF_INCLUDES} - ${NETCDF_INCLUDES_CXX} - ) + # Use modern CMake targets if available from vcpkg, otherwise use legacy variables + if (TARGET netCDF::netcdf-cxx4 AND TARGET netCDF::netcdf) + # Using vcpkg's modern CMake targets + target_include_directories(otl PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ) - target_include_directories(make_otl_blq PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} - ${YAML_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${NETCDF_INCLUDES} - ${NETCDF_INCLUDES_CXX} - ) + target_include_directories(make_otl_blq PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ) - target_include_directories(interpolate_loading PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} - ${YAML_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${NETCDF_INCLUDES} - ${NETCDF_INCLUDES_CXX} - ) + target_include_directories(interpolate_loading PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ) + target_link_libraries(otl PUBLIC + netCDF::netcdf-cxx4 + netCDF::netcdf + ) - target_link_libraries(make_otl_blq PUBLIC - otl - ${NETCDF_LIBRARIES_CXX} - ${NETCDF_LIBRARIES} - Boost::timer - Boost::program_options - Boost::log - Boost::log_setup - ${YAML_CPP_LIBRARIES} - ${YAML_CPP_LIB} - ) + target_link_libraries(make_otl_blq PUBLIC + otl + Boost::timer + Boost::program_options + Boost::log + Boost::log_setup + ${YAML_CPP_LIBRARIES} + ${YAML_CPP_LIB} + ) - target_link_libraries(interpolate_loading PUBLIC - otl - ${NETCDF_LIBRARIES_CXX} - ${NETCDF_LIBRARIES} - Boost::timer - Boost::program_options - Boost::log - Boost::log_setup - ${YAML_CPP_LIBRARIES} - ${YAML_CPP_LIB} - ) + target_link_libraries(interpolate_loading PUBLIC + otl + Boost::timer + Boost::program_options + Boost::log + Boost::log_setup + ${YAML_CPP_LIBRARIES} + ${YAML_CPP_LIB} + ) + else() + # Legacy system-installation approach with FindNetCDF.cmake + target_include_directories(otl PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${NETCDF_INCLUDES} + ${NETCDF_INCLUDES_CXX} + ) + + target_include_directories(make_otl_blq PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${NETCDF_INCLUDES} + ${NETCDF_INCLUDES_CXX} + ) + target_include_directories(interpolate_loading PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${YAML_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${NETCDF_INCLUDES} + ${NETCDF_INCLUDES_CXX} + ) + + target_link_libraries(make_otl_blq PUBLIC + otl + ${NETCDF_LIBRARIES_CXX} + ${NETCDF_LIBRARIES} + Boost::timer + Boost::program_options + Boost::log + Boost::log_setup + ${YAML_CPP_LIBRARIES} + ${YAML_CPP_LIB} + ) + + target_link_libraries(interpolate_loading PUBLIC + otl + ${NETCDF_LIBRARIES_CXX} + ${NETCDF_LIBRARIES} + Boost::timer + Boost::program_options + Boost::log + Boost::log_setup + ${YAML_CPP_LIBRARIES} + ${YAML_CPP_LIB} + ) + endif() if(OpenMP_CXX_FOUND) target_link_libraries(make_otl_blq PUBLIC OpenMP::OpenMP_CXX) @@ -283,6 +339,11 @@ if(ENABLE_PARALLELISATION) target_compile_definitions(pea PRIVATE ENABLE_PARALLELISATION=1) endif() +string(TOLOWER "${BLAS_LIBRARIES};${LAPACK_LIBRARIES}" GINAN_BLAS_LIBRARIES_LOWER) +if(GINAN_BLAS_LIBRARIES_LOWER MATCHES "openblas") + target_compile_definitions(pea PRIVATE GINAN_USE_OPENBLAS=1) +endif() + target_link_libraries(pea PUBLIC diff --git a/src/cpp/common/acsConfig.cpp b/src/cpp/common/acsConfig.cpp index bd3fb7d59..7391b9900 100644 --- a/src/cpp/common/acsConfig.cpp +++ b/src/cpp/common/acsConfig.cpp @@ -25,6 +25,7 @@ #include "common/compare.hpp" #include "common/constants.hpp" #include "common/debug.hpp" +#include "common/sanityCheckers/ConfigSanityManager.hpp" #include "configurator/htmlFooterTemplate.hpp" #include "configurator/htmlHeaderTemplate.hpp" #include "pea/inputsOutputs.hpp" @@ -843,13 +844,15 @@ void outputDefaultSiblings( while ((pos_end = enums.find(',', pos_start)) != string::npos) { string token = enums.substr(pos_start, pos_end - pos_start); - pos_start = pos_end + 1; + boost::algorithm::trim(token); + pos_start = pos_end + 1; html << "\n" << htmlIndentor << ""; } // get last one string token = enums.substr(pos_start); + boost::algorithm::trim(token); html << "\n" << htmlIndentor << ""; @@ -1856,30 +1859,6 @@ bool tryGetEnumVec( return true; } -/** Use pointer arithmetic to keep track of variables that have been initialised - */ -template -void setInited(BASE& base, COMP& comp, bool init = true) -{ - if (init == false) - { - return; - } - - int offset = (char*)(&comp) - (char*)(&base); - - base.initialisedMap[offset] = true; -} - -/** Set an option manually - */ -template -void setOption(BASE& base, COMP& comp, VALUE value) -{ - comp = value; - setInited(base, comp); -} - /** Set the variables associated with kalman filter states from yaml */ void tryGetKalmanFromYaml( @@ -2068,7 +2047,11 @@ bool tryGetMappedList( } vector optsList; - found |= tryGetFromOpts(optsList, commandOpts, {key}); + if (tryGetFromOpts(optsList, commandOpts, {key})) + { + found = true; + mappedList.clear(); + } for (auto& value : optsList) { @@ -2173,34 +2156,6 @@ void tryGetStreamFromYaml( const string estimation_parameters_str = "4! estimation_parameters"; const string processing_options_str = "2! processing_options"; -/** Copy one parameter to another, if it has been initialised. - * - * Use pointer arithmetic to determine the offset of another parameter within its parent structure, - * assuming it has the same layout as this parameter in its parent. - */ -template -bool initIfNeeded(CONTAINER& thisContainer, const CONTAINER& thatContainer, ELEMENT& thisElement) -{ - CONTAINER* thisContainer_ptr = &thisContainer; - const CONTAINER* thatContainer_ptr = &thatContainer; - ELEMENT* thisElement_ptr = &thisElement; - ELEMENT* thatElement_ptr = (ELEMENT*)(((char*)thisElement_ptr) + - ((char*)thatContainer_ptr - (char*)thisContainer_ptr)); - - auto& thatElement = *thatElement_ptr; - - if (isInited(thatContainer, thatElement)) - { - thisElement = thatElement; - - setInited(thisContainer, thisElement); - - return true; - } - - return false; -} - CommonOptions& CommonOptions::operator+=(const CommonOptions& rhs) { initIfNeeded(*this, rhs, exclude); @@ -2287,9 +2242,9 @@ KalmanModel& KalmanModel::operator+=(const KalmanModel& rhs) SatelliteOptions& SatelliteOptions::operator+=(const SatelliteOptions& rhs) { - SatelliteKalmans ::operator+=(rhs); - CommonOptions :: operator+=(rhs); - OrbitOptions :: operator+=(rhs); + SatelliteKalmans::operator+=(rhs); + CommonOptions::operator+=(rhs); + OrbitOptions::operator+=(rhs); initIfNeeded(*this, rhs, error_model); initIfNeeded(*this, rhs, code_sigma); @@ -2302,8 +2257,8 @@ SatelliteOptions& SatelliteOptions::operator+=(const SatelliteOptions& rhs) ReceiverOptions& ReceiverOptions::operator+=(const ReceiverOptions& rhs) { - ReceiverKalmans ::operator+=(rhs); - CommonOptions :: operator+=(rhs); + ReceiverKalmans::operator+=(rhs); + CommonOptions::operator+=(rhs); rinex23Conv += rhs.rinex23Conv; @@ -2312,6 +2267,7 @@ ReceiverOptions& ReceiverOptions::operator+=(const ReceiverOptions& rhs) initIfNeeded(*this, rhs, apriori_pos); initIfNeeded(*this, rhs, antenna_type); initIfNeeded(*this, rhs, receiver_type); + initIfNeeded(*this, rhs, meta_priority); initIfNeeded(*this, rhs, domes_number); initIfNeeded(*this, rhs, site_description); @@ -3481,6 +3437,16 @@ void getOptionsFromYaml( tryGetFromYaml(thing, recNode, {"4@ receiver_type"}, "Type of gnss receiver hardware") ); } + { + auto& thing = recOpts.meta_priority; + bool found = tryGetEnumVec( + thing, + recNode, + {"4@ meta_priority"}, + "Priority order for resolving receiver metadata across config, sinex, rinex, and rtcm" + ); + setInited(recOpts, thing, found); + } { auto& thing = recOpts.domes_number; setInited( @@ -4346,10 +4312,8 @@ bool configure( ("yaml-defaults,Y", boost::program_options::value(), "Print set of parsed parameters and their default values according to their priority level (1-3), and generate configurator.html for visual editing of yaml files") ("config_description,d", boost::program_options::value(), "Configuration description") ("level,l", boost::program_options::value(), "Trace level") - ("fatal_message_level,L", boost::program_options::value(), "Fatal error level") - ("elevation_mask,e", boost::program_options::value(), "Elevation Mask") ("max_epochs,n", boost::program_options::value(), "Maximum Epochs") - ("epoch_interval,i", boost::program_options::value(), "Epoch Interval") + ("epoch_interval,i", boost::program_options::value(), "Epoch Interval") ("user,u", boost::program_options::value(), "Username for RTCM streams") ("pass,p", boost::program_options::value(), "Password for RTCM streams") ("config,y", boost::program_options::value>()->multitoken(), "Configuration file") @@ -4364,28 +4328,22 @@ bool configure( ("dcb_files", boost::program_options::value>()->multitoken(), "Code Bias (DCB) files") ("bsx_files", boost::program_options::value>()->multitoken(), "Bias Sinex (BSX) files") ("ion_files", boost::program_options::value>()->multitoken(), "Ionosphere (IONEX) files") - ("igrf_files", boost::program_options::value>()->multitoken(), "Geomagnetic field coefficients (IGRF) file") - ("ocean_tide_loading_blq_files", boost::program_options::value>()->multitoken(), "BLQ (Ocean tidal loading) files") - ("atmos_tide_loading_blq_files", boost::program_options::value>()->multitoken(), "BLQ (Atmospheric tidal loading) files") ("erp_files", boost::program_options::value>()->multitoken(), "ERP files") ("rnx_inputs,r", boost::program_options::value>()->multitoken(), "RINEX receiver inputs") ("ubx_inputs", boost::program_options::value>()->multitoken(), "UBX receiver inputs") ("sbf_inputs", boost::program_options::value>()->multitoken(), "SBF receiver inputs") ("rtcm_inputs", boost::program_options::value>()->multitoken(), "RTCM receiver inputs") - ("egm_files", boost::program_options::value>()->multitoken(), "Earth gravity model coefficients file") ("crd_files", boost::program_options::value>()->multitoken(), "SLR CRD file") - ("slr_inputs", boost::program_options::value>()->multitoken(), "Tabular SLR OBS receiver file") - ("planetary_ephemeris_files", boost::program_options::value>()->multitoken(), "JPL planetary and lunar ephemerides file") ("inputs_root", boost::program_options::value(), "Root to apply to non-absolute input locations") ("outputs_root", boost::program_options::value(), "Root to apply to non-absolute output locations") ("start_epoch", boost::program_options::value(), "Start date/time") ("end_epoch", boost::program_options::value(), "Stop date/time") + ("dry-run", "Parse config, perform sanity checks, and exit") // ("run_rts_only", boost::program_options::value(), "RTS filename (without _xxxxx suffix)") ("dump-config-only", "Dump the configuration and exit") ("compare_clocks", "Compare clock files") ("compare_orbits", "Compare sp3 files") - ("compare_attitudes", "Compare orbex files") - ; + ("compare_attitudes", "Compare orbex files"); boost::program_options::variables_map vm; @@ -4393,6 +4351,8 @@ bool configure( boost::program_options::notify(vm); + acsConfig.dry_run = vm.count("dry-run"); + if (vm.count("help") || argc == 1) { BOOST_LOG_TRIVIAL(info) << desc; @@ -4548,195 +4508,8 @@ bool configure( void ACSConfig::sanityChecks() { - if (ionErrors.outage_reset_limit < epoch_interval) - BOOST_LOG_TRIVIAL(warning) << "ionospheric_components:outage_reset_limit < " - "epoch_interval, but it probably shouldnt be"; - - if (simulate_real_time == false) - { - for (E_Sys sys : magic_enum::enum_values()) - { - eph_time_delay[sys] = default_eph_time_delay[sys]; - } - } - - if (pppOpts.ionoOpts.use_if_combo) - { - for (auto& [id, recOpts] : recOptsMap) - { - if (recOpts.ionospheric_component2) - { - setOption(recOpts, recOpts.ionospheric_component2, false); - BOOST_LOG_TRIVIAL(warning) - << "Higher-order ionospheric corrections are not supported when " - "use_if_combo is enabled, " - "setting ionospheric_components:use_2nd_order to false"; - } - if (recOpts.ionospheric_component3) - { - setOption(recOpts, recOpts.ionospheric_component3, false); - BOOST_LOG_TRIVIAL(warning) - << "Higher-order ionospheric corrections are not supported when " - "use_if_combo is enabled, " - "setting ionospheric_components:use_3rd_order to false"; - } - } - } - - if (process_sbas) - { - process_preprocessor = true; - process_spp = true; - - used_nav_types = sbsOpts.sbas_nav_types; - - for (auto& [id, satOpts] : satOptsMap) - { - vector sources = {E_Source::SBAS}; - setOption((CommonOptions&)satOpts, satOpts.posModel.enable, true); - setOption((CommonOptions&)satOpts, satOpts.posModel.sources, sources); - setOption((CommonOptions&)satOpts, satOpts.clockModel.enable, true); - setOption((CommonOptions&)satOpts, satOpts.clockModel.sources, sources); - } - - switch (sbsOpts.mode) - { - case E_SbasMode::L1: - { - BOOST_LOG_TRIVIAL(info) - << "L1 SBAS processing mode is selected, make sure that:\n" - " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" - " - Parameter `sbas_inputs: prec_approach` is set appropriately"; - - sbsInOpts.freq = 1; - - for (auto& [sys, process] : process_sys) - { - if (sys != E_Sys::GPS && sys != E_Sys::GLO && sys != E_Sys::SBS) - { - process = false; - } - else - { - code_priorities[sys] = {E_ObsCode::L1C}; - } - } - - sppOpts.trop_models = {E_TropModel::SBAS}; - sppOpts.iono_mode = E_IonoMode::SBAS; - - if (sppOpts.smooth_window != 100) - { - sppOpts.smooth_window = 100; - BOOST_LOG_TRIVIAL(warning) - << "It is recommended that a 100 second smoothing window be used for L1 " - "SBAS. Changing configuration"; - } - if (sppOpts.use_smooth_only == false) - { - sppOpts.use_smooth_only = true; - BOOST_LOG_TRIVIAL(warning) - << "It is NOT recommended that measurements be used for SBAS before " - "smoothing. Changing configuration"; - } - - if (sbsOpts.use_sbas_rec_var == false) - { - sbsOpts.use_sbas_rec_var = true; - BOOST_LOG_TRIVIAL(warning) - << "It is recommended that measurement variance specific for SBAS are " - "used. Changing configuration"; - } - - break; - } - - case E_SbasMode::DFMC: - { - BOOST_LOG_TRIVIAL(info) - << "DFMC processing mode is selected, make sure that:\n" - " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" - " - If using a service follwing DO-259 (instead of DO-259A), set " - "`sbas_inputs: use_do259: true`\n" - " - If using measurements from GLO or BDS, set the `code_priorities` and " - "`used_nav_type` properly\n"; - - sbsInOpts.freq = 5; - sbsInOpts.pvs_on_dfmc = false; - - for (auto& [sys, process] : process_sys) - { - if (sys == E_Sys::GLO || sys == E_Sys::LEO) - { - process = false; - } - else if (sys != E_Sys::BDS) - { - code_priorities[sys] = sbsOpts.sbas_code_priorities_map[sys]; - } - } - - sppOpts.trop_models = {E_TropModel::SBAS}; - sppOpts.iono_mode = E_IonoMode::SBAS; - - if (sppOpts.smooth_window < - 0) // Ken to update once the smooth window requirement is clear - BOOST_LOG_TRIVIAL(warning) - << "It is recommended that a 100 second smoothing window be used for DFMC. " - "Please check your configuration"; - - break; - } - - case E_SbasMode::PVS: - { - BOOST_LOG_TRIVIAL(info) - << "PVS-via-DFMC processing mode is selected, make sure that:\n" - " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" - " - The SBAS messages come from SouthPAN's DFMC services\n"; - - process_ppp = true; - - sbsInOpts.freq = 5; - sbsInOpts.pvs_on_dfmc = true; - - for (auto& [sys, process] : process_sys) - { - if (sys == E_Sys::GPS || sys == E_Sys::GAL) - { - process = true; - code_priorities[sys] = sbsOpts.sbas_code_priorities_map[sys]; - } - else - { - process = false; - } - } - - for (auto& [id, recOpts] : recOptsMap) - { - vector tropModels = {E_TropModel::GPT2}; - setOption(recOpts, recOpts.receiver_reference_system, E_Sys::GPS); - setOption(recOpts, recOpts.tropModel.enable, true); - setOption(recOpts, recOpts.tropModel.models, tropModels); - setOption(recOpts, recOpts.tideModels.otl, false); - setOption(recOpts, recOpts.tideModels.atl, false); - setOption(recOpts, recOpts.tideModels.spole, false); - setOption(recOpts, recOpts.tideModels.opole, false); - } - - sppOpts.always_reinitialise = true; - pppOpts.use_primary_signals = true; - // pppOpts.receiver_chunking = true; // Currently chunking may not work properly - errorAccumulation.enable = true; - ambErrors.phase_reject_limit = 2; - ambErrors.resetOnSlip.LLI = true; - ambErrors.resetOnSlip.retrack = true; - - break; - } - } - } + auto sanityManager = ConfigSanityManager::defaultManager(); + sanityManager.runAllChecks(*this); } bool ACSConfig::parse() @@ -4789,6 +4562,19 @@ bool ACSConfig::parse( satOptsMap.clear(); recOptsMap.clear(); defaultOutputOptions(); + exclude_sinex_blocks.clear(); + + // Clear input stream definitions so a live config reload reflects removals as well as adds. + sisnet_inputs.clear(); + nav_rtcm_inputs.clear(); + qzs_rtcm_inputs.clear(); + rnx_inputs.clear(); + ubx_inputs.clear(); + sbf_inputs.clear(); + custom_inputs.clear(); + obs_rtcm_inputs.clear(); + pseudo_sp3_inputs.clear(); + pseudo_snx_inputs.clear(); for (E_Sys sys : magic_enum::enum_values()) { @@ -6271,6 +6057,13 @@ bool ACSConfig::parse( "Allow adding inpuut files which do not (yet) exist" ); + tryGetFromYaml( + exclude_sinex_blocks, + inputs, + {"@ exclude_sinex_blocks"}, + "List of SINEX blocks to skip while parsing" + ); + auto getAppendFiles = [&](vector& output, NodeStack& nodeStack, const string& descriptor, @@ -6278,11 +6071,22 @@ bool ACSConfig::parse( { vector vec; - tryGetFromAny(vec, commandOpts, nodeStack, {descriptor}, comment); + bool foundOpts = tryGetFromOpts(vec, commandOpts, {descriptor}); + if (foundOpts == false) + { + tryGetFromYaml(vec, nodeStack, {descriptor}, comment); + } conditionalPrefix("", vec); - output.insert(output.end(), vec.begin(), vec.end()); + if (foundOpts) + { + output = vec; + } + else + { + output.insert(output.end(), vec.begin(), vec.end()); + } }; getAppendFiles(atx_files, inputs, {"4! atx_files"}, "List of atx files to use"); @@ -7701,15 +7505,6 @@ bool ACSConfig::parse( } { - tryGetEnumOpt( - filterOpts.inverter, - nodeStack, - {"@ inverter"}, - "Inverter to be used within the Kalman filter update stage, which may " - "provide different " - "performance outcomes in terms of processing time and accuracy and " - "stability." - ); tryGetFromYaml( filterOpts.joseph_stabilisation, nodeStack, diff --git a/src/cpp/common/acsConfig.hpp b/src/cpp/common/acsConfig.hpp index 32cd4dea4..d0cc8697e 100644 --- a/src/cpp/common/acsConfig.hpp +++ b/src/cpp/common/acsConfig.hpp @@ -43,6 +43,58 @@ bool isInited(const BASE& base, const COMP& comp) return inited; } +/** Use pointer arithmetic to keep track of variables that have been initialised + */ +template +void setInited(BASE& base, COMP& comp, bool init = true) +{ + if (init == false) + { + return; + } + + int offset = (char*)(&comp) - (char*)(&base); + + base.initialisedMap[offset] = true; +} + +/** Set an option manually + */ +template +void setOption(BASE& base, COMP& comp, VALUE value) +{ + comp = value; + setInited(base, comp); +} + +/** Copy one parameter to another, if it has been initialised. + * + * Use pointer arithmetic to determine the offset of another parameter within its parent structure, + * assuming it has the same layout as this parameter in its parent. + */ +template +bool initIfNeeded(CONTAINER& thisContainer, const CONTAINER& thatContainer, ELEMENT& thisElement) +{ + CONTAINER* thisContainer_ptr = &thisContainer; + const CONTAINER* thatContainer_ptr = &thatContainer; + ELEMENT* thisElement_ptr = &thisElement; + ELEMENT* thatElement_ptr = (ELEMENT*)(((char*)thisElement_ptr) + + ((char*)thatContainer_ptr - (char*)thisContainer_ptr)); + + auto& thatElement = *thatElement_ptr; + + if (isInited(thatContainer, thatElement)) + { + thisElement = thatElement; + + setInited(thisContainer, thisElement); + + return true; + } + + return false; +} + struct SsrInputOptions { double code_bias_valid_time = 3600; ///< Valid time period of SSR code biases @@ -87,6 +139,7 @@ struct InputOptions vector atx_files; vector snx_files; + vector exclude_sinex_blocks; vector nav_files; vector ems_files; vector sp3_files; @@ -484,11 +537,11 @@ struct MeasErrorHandler struct ErrorAccumulationHandler { - bool enable = false; - int receiver_error_count_threshold = 4; - int receiver_error_epochs_threshold = 4; - int satellite_error_count_threshold = 4; - int satellite_error_epochs_threshold = 1; + bool enable = true; + int receiver_error_count_threshold = 0; + int receiver_error_epochs_threshold = 0; + int satellite_error_count_threshold = 0; + int satellite_error_epochs_threshold = 0; int state_error_count_threshold = 4; }; @@ -665,10 +718,10 @@ struct PrefitOptions struct PostfitOptions { - int max_iterations = 2; + int max_iterations = 10; bool sigma_check = false; bool omega_test = true; - double state_sigma_threshold = 4; + double state_sigma_threshold = 6; double meas_sigma_threshold = 4; }; @@ -701,7 +754,6 @@ struct FilterOptions : RtsOptions bool joseph_stabilisation = false; E_Inverter lsq_inverter = E_Inverter::INV; - E_Inverter inverter = E_Inverter::LDLT; LeastSquareOptions lsqOpts; PrefitOptions prefitOpts; @@ -796,13 +848,11 @@ struct SbasOptions {E_Sys::QZS, E_NavMsgType::LNAV} }; + /// todo: May need to update this for BDS once ICD is released map> sbas_code_priorities_map = { {E_Sys::GPS, {E_ObsCode::L1C, E_ObsCode::L5Q, E_ObsCode::L5X}}, {E_Sys::GAL, {E_ObsCode::L1C, E_ObsCode::L5Q, E_ObsCode::L1X, E_ObsCode::L5X}}, - {E_Sys::BDS, - {E_ObsCode::L1C, - E_ObsCode::L5Q, - E_ObsCode::L5X}}, // Eugene: May need to update this for BDS once ICD is released + {E_Sys::BDS, {E_ObsCode::L1C, E_ObsCode::L5Q, E_ObsCode::L5X}}, {E_Sys::QZS, {E_ObsCode::L1C, E_ObsCode::L5Q, E_ObsCode::L5X}}, {E_Sys::SBS, {E_ObsCode::L1C, E_ObsCode::L5Q}} }; @@ -1014,9 +1064,9 @@ struct SatelliteKalmans : CommonKalmans, InertialKalmans, EmpKalmans SatelliteKalmans& operator+=(const SatelliteKalmans& rhs) { - CommonKalmans :: operator+=(rhs); - InertialKalmans ::operator+=(rhs); - EmpKalmans :: operator+=(rhs); + CommonKalmans::operator+=(rhs); + InertialKalmans::operator+=(rhs); + EmpKalmans::operator+=(rhs); return *this; } @@ -1037,9 +1087,9 @@ struct ReceiverKalmans : CommonKalmans, InertialKalmans, EmpKalmans ReceiverKalmans& operator+=(const ReceiverKalmans& rhs) { - CommonKalmans :: operator+=(rhs); - InertialKalmans ::operator+=(rhs); - EmpKalmans :: operator+=(rhs); + CommonKalmans::operator+=(rhs); + InertialKalmans::operator+=(rhs); + EmpKalmans::operator+=(rhs); ambiguity += rhs.ambiguity; strain_rate += rhs.strain_rate; @@ -1233,16 +1283,22 @@ struct ReceiverOptions : ReceiverKalmans, CommonOptions Rinex23Conversion rinex23Conv; - bool kill = false; - vector zero_dcb_codes = {}; - Vector3d apriori_pos = Vector3d::Zero(); - string antenna_type; - string receiver_type; - string domes_number; - string site_description; - string sat_id; - double elevation_mask_deg = 5; - E_Sys receiver_reference_system = E_Sys::NONE; + bool kill = false; + vector zero_dcb_codes = {}; + Vector3d apriori_pos = Vector3d::Zero(); + string antenna_type; + string receiver_type; + vector meta_priority = { + E_ReceiverMetaSource::CONFIG, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::RTCM + }; + string domes_number; + string site_description; + string sat_id; + double elevation_mask_deg = 5; + E_Sys receiver_reference_system = E_Sys::NONE; struct { @@ -1250,6 +1306,11 @@ struct ReceiverOptions : ReceiverKalmans, CommonOptions Vector3d eccentricity = Vector3d::Zero(); } eccentricityModel; + ReceiverOptions() + { + posModel.sources = {E_Source::KALMAN, E_Source::META, E_Source::SPP, E_Source::REMOTE}; + } + struct { bool enable = true; @@ -1467,6 +1528,7 @@ struct ACSConfig : GlobalOptions, InputOptions, OutputOptions, DebugOptions vector includedFilenames; map configModifyTimeMap; boost::program_options::variables_map commandOpts; + bool dry_run = false; static map docs; diff --git a/src/cpp/common/acsQC.cpp b/src/cpp/common/acsQC.cpp index 8c694b8ce..9ba2d5f14 100644 --- a/src/cpp/common/acsQC.cpp +++ b/src/cpp/common/acsQC.cpp @@ -1,6 +1,7 @@ // #pragma GCC optimize ("O0") #include "common/acsQC.hpp" +#include #include #include #include "common/acsConfig.hpp" @@ -19,13 +20,167 @@ #define PDESLIPTHRESHOLD 0.5 #define PROC_NOISE_IONO 0.001 +enum class E_SlipDiagReason +{ + NONE, + RECEIVER_LLI, + NO_FREQUENCY_PAIR, + NO_FREQUENCIES, + INVALID_LC, + NO_PREVIOUS_GF, + NO_PREVIOUS_MW, + PHASE_JUMP, + MW_JUMP, + WITHIN_THRESHOLD, + FIRST_EPOCH, + TIME_GAP, + LOW_ELEVATION, + DUAL_FREQUENCY, + TRIPLE_FREQUENCY, + THIRD_FREQUENCY_REACQUIRED, + FREQUENCY_REACQUIRED, + SINGLE_FREQUENCY, + MISSING_FREQUENCY_VARIANCE, + INVALID_CODE_VARIANCE, + INVALID_PHASE_VARIANCE, + VALID_VARIANCE, + LOM_WITHIN_THRESHOLD, + LOM_OUTLIER, + LAMBDA_FIXED, + LAMBDA_FLOAT, + KALMAN_WAITING +}; + +/** Emit one structured cycle-slip diagnostic trace line. + * + * These lines are intended to make detector decisions auditable without changing + * the detector result. They are emitted at trace level 2 with stable + * key=value fields so trace files can be summarised with simple text tools. + */ +void traceSlipEvent( + Trace& trace, + const char* detector, + const GObs& obs, + const char* action, + E_FType frq1, + E_FType frq2, + E_FType frq3, + double value1, + double value2, + double threshold, + E_SlipDiagReason reason +) +{ + tracepdeex( + 2, + trace, + "\nPDE-CS-DIAG detector=%s action=%s epoch=%s rec=%s sat=%s f1=%s f2=%s f3=%s " + "value1=%.6f value2=%.6f threshold=%.6f reason=%s", + detector, + action, + obs.time.to_string(2).c_str(), + obs.mount.c_str(), + obs.Sat.id().c_str(), + enum_to_string(frq1).c_str(), + enum_to_string(frq2).c_str(), + enum_to_string(frq3).c_str(), + value1, + value2, + threshold, + enum_to_lowerstring(reason).c_str() + ); +} + +/** Emit a structured diagnostic line for SCDIA internals. + * + * `PDE-SCDIA-DIAG` is intentionally separate from `PDE-CS-DIAG` so existing + * detector-routing summaries remain stable while SCDIA outcomes become + * machine-readable. + */ +void traceScdiaEvent( + Trace& trace, + const GObs& obs, + const char* action, + E_FType frq1, + E_FType frq2, + E_FType frq3, + int nf, + E_FilterMode filterMode, + double value1, + double value2, + double threshold, + double amb1, + double amb2, + double amb3, + E_SlipDiagReason reason +) +{ + tracepdeex( + 2, + trace, + "\nPDE-SCDIA-DIAG action=%s epoch=%s rec=%s sat=%s nf=%d mode=%s f1=%s f2=%s f3=%s " + "value1=%.6f value2=%.6f threshold=%.6f amb1=%.6f amb2=%.6f amb3=%.6f reason=%s", + action, + obs.time.to_string(2).c_str(), + obs.mount.c_str(), + obs.Sat.id().c_str(), + nf, + enum_to_string(filterMode).c_str(), + enum_to_string(frq1).c_str(), + enum_to_string(frq2).c_str(), + enum_to_string(frq3).c_str(), + value1, + value2, + threshold, + amb1, + amb2, + amb3, + enum_to_lowerstring(reason).c_str() + ); +} + +double lomThreshold(int dof) +{ + const double chisqr_arr[100] = { + 10.8, 13.8, 16.3, 18.5, 20.5, 22.5, 24.3, 26.1, 27.9, 29.6, 31.3, 32.9, 34.5, 36.1, 37.7, + 39.3, 40.8, 42.3, 43.8, 45.3, 46.8, 48.3, 49.7, 51.2, 52.6, 54.1, 55.5, 56.9, 58.3, 59.7, + 61.1, 62.5, 63.9, 65.2, 66.6, 68.0, 69.3, 70.7, 72.1, 73.4, 74.7, 76.0, 77.3, 78.6, 80.0, + 81.3, 82.6, 84.0, 85.4, 86.7, 88.0, 89.3, 90.6, 91.9, 93.3, 94.7, 96.0, 97.4, 98.7, 100, + 101, 102, 103, 104, 105, 107, 108, 109, 110, 112, 113, 114, 115, 116, 118, + 119, 120, 122, 123, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 137, + 138, 139, 140, 142, 143, 144, 145, 147, 148, 149 + }; + + if (dof <= 0 || dof > 100) + return 0; + + return chisqr_arr[dof - 1] / dof; +} + +/** Select up to three configured frequency bands for a satellite system. + * + * This is the legacy frequency selector used by several modelling paths outside + * slip detection. It follows `acsConfig.code_priorities[sys]` and converts the + * first unique codes into frequency bands, but it does not inspect a particular + * observation to confirm that measurements are present. + * + * The outputs retain historical defaults (`F1`, `F2`, `F5`) when priorities are + * incomplete. Do not use this helper when the algorithm must know which + * frequencies are actually observed at the current epoch; use `obsFreqs()` for + * slip detection. + * + * @param[in] sys Satellite system. + * @param[out] ft1 First configured frequency band. + * @param[out] ft2 Second configured frequency band. + * @param[out] ft3 Third configured frequency band. + * + * @return false only when no code priorities exist for `sys`; true otherwise. + */ bool satFreqs(E_Sys sys, E_FType& ft1, E_FType& ft2, E_FType& ft3) { bool ft1Ready = false; bool ft2Ready = false; - // Add defaults in case someone forgets to initialise them... - // todo Eugene: Freqs may be duplicate! Initialise with NONE and return a list of unique freqs! ft1 = F1; ft2 = F2; ft3 = F5; @@ -65,6 +220,153 @@ bool satFreqs(E_Sys sys, E_FType& ft1, E_FType& ft2, E_FType& ft3) return true; } + +/** Select observed frequency bands that are usable for slip detection. + * + * This helper is intentionally stricter than `satFreqs()`: it still honours + * configured code priorities, but only returns frequency bands that are present + * in the current observation, have a non-zero representative phase measurement, + * and have a non-zero wavelength available in the satellite navigation data. + * + * This prevents GF/MW/PDE slip checks from evaluating assumed frequency bands + * when an epoch is missing one of the configured signals. + * + * @param[in] obs Observation to inspect. + * @param[out] ft1 First observed usable frequency, or `NONE`. + * @param[out] ft2 Second observed usable frequency, or `NONE`. + * @param[out] ft3 Third observed usable frequency, or `NONE`. + * + * @return Number of usable observed frequencies written to the output + * parameters, from 0 to 3. + */ +int obsFreqs(const GObs& obs, E_FType& ft1, E_FType& ft2, E_FType& ft3) +{ + ft1 = NONE; + ft2 = NONE; + ft3 = NONE; + + E_Sys sys = obs.Sat.sys; + if (acsConfig.code_priorities.find(sys) == acsConfig.code_priorities.end()) + return 0; + + if (obs.satNav_ptr == nullptr) + return 0; + + auto sysCodeIt = code2Freq.find(sys); + if (sysCodeIt == code2Freq.end()) + return 0; + + int count = 0; + + for (auto& code : acsConfig.code_priorities[sys]) + { + auto codeIt = sysCodeIt->second.find(code); + if (codeIt == sysCodeIt->second.end()) + continue; + + E_FType ft = codeIt->second; + if (ft == NONE || ft == ft1 || ft == ft2 || ft == ft3) + continue; + + auto sigIt = obs.sigs.find(ft); + if (sigIt == obs.sigs.end() || sigIt->second.L == 0) + continue; + + auto lamIt = obs.satNav_ptr->lamMap.find(ft); + if (lamIt == obs.satNav_ptr->lamMap.end() || lamIt->second == 0) + continue; + + if (count == 0) + { + ft1 = ft; + count++; + continue; + } + if (count == 1) + { + ft2 = ft; + count++; + continue; + } + { + ft3 = ft; + count++; + break; + } + } + + return count; +} + +struct SlipNoise +{ + double sigmaCode = 0; + double sigmaPhase = 0; + E_SlipDiagReason reason = E_SlipDiagReason::NONE; +}; + +/** Derive conservative slip-detector noise from the selected observation bands. + * + * Slip detection chooses concrete observed frequencies with `obsFreqs()`. The + * corresponding noise values must come from those same bands; using an + * arbitrary first signal can pass zero or invalid variances into PDE/SCDIA and + * produce NaNs in trace output. + * + * This helper requires each selected band to have finite, positive code and + * phase variance. It then uses the largest selected variance for each + * observable type as a conservative single-noise input to the current PDE/SCDIA + * equations. + * + * @param[in] obs Observation containing selected signals. + * @param[in] freqs Selected frequency bands. + * @param[in] nf Number of selected frequencies to validate. + * @param[out] noise Derived standard deviations, or failure reason. + * + * @return true when all selected bands have usable variances. + */ +bool slipNoise(const GObs& obs, const E_FType freqs[], int nf, SlipNoise& noise) +{ + double maxCodeVar = 0; + double maxPhaseVar = 0; + + for (int i = 0; i < nf; i++) + { + auto sigIt = obs.sigs.find(freqs[i]); + if (sigIt == obs.sigs.end()) + { + noise.reason = E_SlipDiagReason::MISSING_FREQUENCY_VARIANCE; + return false; + } + + double codeVar = sigIt->second.codeVar; + double phasVar = sigIt->second.phasVar; + + if (!std::isfinite(codeVar) || codeVar <= 0) + { + noise.reason = E_SlipDiagReason::INVALID_CODE_VARIANCE; + return false; + } + + if (!std::isfinite(phasVar) || phasVar <= 0) + { + noise.reason = E_SlipDiagReason::INVALID_PHASE_VARIANCE; + return false; + } + + if (codeVar > maxCodeVar) + maxCodeVar = codeVar; + + if (phasVar > maxPhaseVar) + maxPhaseVar = phasVar; + } + + noise.sigmaCode = sqrt(maxCodeVar); + noise.sigmaPhase = sqrt(maxPhaseVar); + noise.reason = E_SlipDiagReason::VALID_VARIANCE; + + return true; +} + /** Detect cycle slip by reported loss of lock */ void detslp_ll( @@ -107,14 +409,18 @@ void detslp_ll( continue; } - tracepdeex( - 3, + traceSlipEvent( trace, - "\n%s: slip detected: epoch=%s sat=%s f=%s\n", - __FUNCTION__, - obs.time.to_string(2).c_str(), - obs.Sat.id().c_str(), - enum_to_string(ft) + "LLI", + obs, + "detected", + ft, + NONE, + NONE, + 1, + 0, + 0, + E_SlipDiagReason::RECEIVER_LLI ); obs.satStat_ptr->sigStatMap[ft2string(ft)].slip.LLI = true; @@ -158,15 +464,43 @@ void detslp_gf( E_FType frq1; E_FType frq2; E_FType frq3; - bool pass = satFreqs(obs.Sat.sys, frq1, frq2, frq3); - if (pass == false) + int nf = obsFreqs(obs, frq1, frq2, frq3); + if (nf < 2) + { + traceSlipEvent( + trace, + "GF", + obs, + "skipped", + NONE, + NONE, + NONE, + 0, + 0, + 0, + E_SlipDiagReason::NO_FREQUENCY_PAIR + ); continue; + } S_LC& lc = getLC(obs.satStat_ptr->lc_new, frq1, frq2); double gf1 = lc.GF_Phas_m; if (lc.valid == false || gf1 == 0) { + traceSlipEvent( + trace, + "GF", + obs, + "skipped", + frq1, + frq2, + NONE, + gf1, + 0, + 0, + E_SlipDiagReason::INVALID_LC + ); continue; } @@ -175,37 +509,57 @@ void detslp_gf( if (gf0 == 0) { + traceSlipEvent( + trace, + "GF", + obs, + "initialised", + frq1, + frq2, + NONE, + gf1, + gf0, + 0, + E_SlipDiagReason::NO_PREVIOUS_GF + ); continue; } - tracepdeex( - 3, - trace, - "\n%s: epoch=%s sat=%s gf0=%f gf1=%f", - __FUNCTION__, - obs.time.to_string(2).c_str(), - obs.Sat.id().c_str(), - gf0, - gf1 - ); - if (fabs(gf1 - gf0) > acsConfig.preprocOpts.slip_threshold) { - tracepdeex( - 3, - trace, - "\n%s: slip detected: epoch=%s sat=%s gf0=%f gf1=%f", - __FUNCTION__, - obs.time.to_string(2).c_str(), - obs.Sat.id().c_str(), - gf0, - gf1 - ); - obs.satStat_ptr->sigStatMap[ft2string(frq1)].slip.GF = true; obs.satStat_ptr->sigStatMap[ft2string(frq2)].slip.GF = true; obs.satStat_ptr->sigStatMap[ft2string(frq1)].savedSlip.GF = true; obs.satStat_ptr->sigStatMap[ft2string(frq2)].savedSlip.GF = true; + traceSlipEvent( + trace, + "GF", + obs, + "detected", + frq1, + frq2, + NONE, + gf1, + gf0, + acsConfig.preprocOpts.slip_threshold, + E_SlipDiagReason::PHASE_JUMP + ); + } + else + { + traceSlipEvent( + trace, + "GF", + obs, + "accepted", + frq1, + frq2, + NONE, + gf1, + gf0, + acsConfig.preprocOpts.slip_threshold, + E_SlipDiagReason::WITHIN_THRESHOLD + ); } } } @@ -246,15 +600,43 @@ void detslp_mw( E_FType frq1; E_FType frq2; E_FType frq3; - bool pass = satFreqs(obs.Sat.sys, frq1, frq2, frq3); - if (pass == false) + int nf = obsFreqs(obs, frq1, frq2, frq3); + if (nf < 2) + { + traceSlipEvent( + trace, + "MW", + obs, + "skipped", + NONE, + NONE, + NONE, + 0, + 0, + 0, + E_SlipDiagReason::NO_FREQUENCY_PAIR + ); continue; + } S_LC& lc = getLC(obs.satStat_ptr->lc_new, frq1, frq2); double mw1 = lc.MW_c; if (lc.valid == false || mw1 == 0) { + traceSlipEvent( + trace, + "MW", + obs, + "skipped", + frq1, + frq2, + NONE, + mw1, + 0, + 0, + E_SlipDiagReason::INVALID_LC + ); continue; } @@ -263,37 +645,57 @@ void detslp_mw( if (mw0 == 0) { + traceSlipEvent( + trace, + "MW", + obs, + "initialised", + frq1, + frq2, + NONE, + mw1, + mw0, + 0, + E_SlipDiagReason::NO_PREVIOUS_MW + ); continue; } - tracepdeex( - 3, - trace, - "\n%s: epoch=%s sat=%s mw0=%f mw1=%f", - __FUNCTION__, - obs.time.to_string(2).c_str(), - obs.Sat.id().c_str(), - mw0, - mw1 - ); - if (fabs(mw1 - mw0) > THRES_MW_JUMP) { - tracepdeex( - 3, - trace, - "\n%s: slip detected: epoch=%s sat=%s mw0=%f mw1=%f", - __FUNCTION__, - obs.time.to_string(2).c_str(), - obs.Sat.id().c_str(), - mw0, - mw1 - ); - obs.satStat_ptr->sigStatMap[ft2string(frq1)].slip.MW = true; obs.satStat_ptr->sigStatMap[ft2string(frq2)].slip.MW = true; obs.satStat_ptr->sigStatMap[ft2string(frq1)].savedSlip.MW = true; obs.satStat_ptr->sigStatMap[ft2string(frq2)].savedSlip.MW = true; + traceSlipEvent( + trace, + "MW", + obs, + "detected", + frq1, + frq2, + NONE, + mw1, + mw0, + THRES_MW_JUMP, + E_SlipDiagReason::MW_JUMP + ); + } + else + { + traceSlipEvent( + trace, + "MW", + obs, + "accepted", + frq1, + frq2, + NONE, + mw1, + mw0, + THRES_MW_JUMP, + E_SlipDiagReason::WITHIN_THRESHOLD + ); } } } @@ -320,26 +722,20 @@ void scdia( Trace& trace, ///< Trace to output to SatStat& satStat, ///< Persistant satellite status parameters lc_t& lc, ///< Linear combinations + const GObs& obs, ///< Observation context for diagnostics map& lam, ///< Signal wavelength map double sigmaPhase, ///< Phase noise double sigmaCode, ///< Code noise int nf, ///< Number of frequencies - E_Sys sys, ///< Satellite system - E_FilterMode filterMode ///< LSQ/Kalman filter flag + E_FilterMode filterMode, ///< LSQ/Kalman filter flag + E_FType frq1, + E_FType frq2, + E_FType frq3 ) { if (nf == 0) return; - E_FType frq1; - E_FType frq2; - E_FType frq3; - bool pass = satFreqs(sys, frq1, frq2, frq3); - if (pass == false) - { - return; - } - lc_t* lc_pre_ptr; if (filterMode == E_FilterMode::LSQ) @@ -399,14 +795,53 @@ void scdia( /* perform LOM test for outlier detection */ /* design matrix for LOM test */ - MatrixXd Hlom = H.leftCols(2); - VectorXd v = VectorXd::Zero(m); - int ind = lsqqc(trace, Hlom.data(), R.data(), Z.data(), v.data(), m, 2, 0, 0); + MatrixXd Hlom = H.leftCols(2); + VectorXd v = VectorXd::Zero(m); + int ind = lsqqc(trace, Hlom.data(), R.data(), Z.data(), v.data(), m, 2, 0, 0); + double vtpv = v.dot(R * v); + int dof = m - 2; + double val = dof > 0 ? vtpv / dof : 0; + double thres = lomThreshold(dof); if (ind == 0) { + traceScdiaEvent( + trace, + obs, + "accepted", + frq1, + frq2, + frq3, + nf, + filterMode, + vtpv, + val, + thres, + 0, + 0, + 0, + E_SlipDiagReason::LOM_WITHIN_THRESHOLD + ); return; } + traceScdiaEvent( + trace, + obs, + "detected", + frq1, + frq2, + frq3, + nf, + filterMode, + vtpv, + val, + thres, + 0, + 0, + 0, + E_SlipDiagReason::LOM_OUTLIER + ); + satStat.sigStatMap[ft2string(frq1)].slip.SCDIA = true; satStat.sigStatMap[ft2string(frq2)].slip.SCDIA = true; if (nf == 3) @@ -445,6 +880,23 @@ void scdia( satStat.flt.slip = 0; satStat.flt.ne = 0; + traceScdiaEvent( + trace, + obs, + "waiting", + frq1, + frq2, + frq3, + nf, + filterMode, + satStat.flt.ne, + 2, + 0, + 0, + 0, + 0, + E_SlipDiagReason::KALMAN_WAITING + ); return; } @@ -493,8 +945,28 @@ void scdia( /* integer cycle slip estimation */ MatrixXd F = MatrixXd::Zero(nf, 2); double s[2]; + bool pass = false; lambda(trace, nf, 2, a.data(), Qa.data(), F.data(), s, acsConfig.predefined_fail, pass); + double ratio = s[1] != 0 ? s[0] / s[1] : 0; + traceScdiaEvent( + trace, + obs, + pass ? "fixed" : "float", + frq1, + frq2, + frq3, + nf, + filterMode, + s[0], + s[1], + ratio, + F.data()[0], + nf > 1 ? F.data()[1] : 0, + nf > 2 ? F.data()[2] : 0, + pass ? E_SlipDiagReason::LAMBDA_FIXED : E_SlipDiagReason::LAMBDA_FLOAT + ); + if (filterMode == E_FilterMode::LSQ) { /* least-squares */ @@ -505,13 +977,8 @@ void scdia( if (pass) { tracepdeex(2, trace, "fixed "); - for (int i = 0; i < 3; i++) + for (int i = 0; i < nf; i++) satStat.amb[i] = ROUND(F.data()[i]); - - for (auto& [key, sigStat] : satStat.sigStatMap) - { - sigStat.slip.SCDIA = true; - } } } else @@ -523,7 +990,7 @@ void scdia( if (pass) { memset(satStat.flt.a, 0, 3 * sizeof(double)); - memset(satStat.flt.Qa, 0, 9); // todo aaron, looks sketchy + memset(satStat.flt.Qa, 0, 9); // todo? looks sketchy satStat.flt.slip |= 2; tracepdeex(1, trace, " ACC fixed "); for (int i = 0; i < nf; i++) @@ -576,13 +1043,11 @@ void cycleslip2( satStat.sigmaIono = 0.001; } - auto sys = lcBase.Sat.sys; - E_FType frq1; E_FType frq2; E_FType frq3; - bool pass = satFreqs(obs.Sat.sys, frq1, frq2, frq3); - if (pass == false) + int nf = obsFreqs(obs, frq1, frq2, frq3); + if (nf < 2) { return; } @@ -592,14 +1057,21 @@ void cycleslip2( double lam1 = lam[frq1]; double lam2 = lam[frq2]; - double lamw = lam1 * lam2 / (lam2 - lam1); // todo aaron, rename + double lamw = lam1 * lam2 / (lam2 - lam1); // todo? rename /* ionosphere coefficient */ double coef = SQR(lam2) / SQR(lam1) - 1; - /* elevation dependent noise */ - double sigmaCode = sqrt(obs.sigs.begin()->second.codeVar); - double sigmaPhase = sqrt(obs.sigs.begin()->second.phasVar); + E_FType freqs[] = {frq1, frq2}; + SlipNoise noise; + if (!slipNoise(obs, freqs, 2, noise)) + { + traceSlipEvent(trace, "PDE", obs, "skipped", frq1, frq2, NONE, 0, 0, 0, noise.reason); + return; + } + + double sigmaCode = noise.sigmaCode; + double sigmaPhase = noise.sigmaPhase; double sigmaGF = 2 * sigmaPhase; @@ -644,7 +1116,20 @@ void cycleslip2( /* cycle slip detection */ if (satStat.el >= recOpts.elevation_mask_deg * D2R) { - scdia(trace, satStat, lcBase, lam, sigmaPhase, sigmaCode, 2, sys, E_FilterMode::LSQ); + scdia( + trace, + satStat, + lcBase, + obs, + lam, + sigmaPhase, + sigmaCode, + 2, + E_FilterMode::LSQ, + frq1, + frq2, + frq3 + ); } /* update TD ionosphere residual */ @@ -693,13 +1178,11 @@ void cycleslip3( satStat.sigmaIono = 0.001; } - auto sys = lc.Sat.sys; - E_FType frq1; E_FType frq2; E_FType frq3; - bool pass = satFreqs(obs.Sat.sys, frq1, frq2, frq3); - if (pass == false) + int nf = obsFreqs(obs, frq1, frq2, frq3); + if (nf < 3) return; auto& lam = obs.satNav_ptr->lamMap; @@ -712,9 +1195,16 @@ void cycleslip3( if (lamew < 0) lamew *= -1; - /* elevation dependent noise */ - double sigmaCode = sqrt(obs.sigs.begin()->second.codeVar); - double sigmaPhase = sqrt(obs.sigs.begin()->second.phasVar); + E_FType freqs[] = {frq1, frq2, frq3}; + SlipNoise noise; + if (!slipNoise(obs, freqs, 3, noise)) + { + traceSlipEvent(trace, "PDE", obs, "skipped", frq1, frq2, frq3, 0, 0, 0, noise.reason); + return; + } + + double sigmaCode = noise.sigmaCode; + double sigmaPhase = noise.sigmaPhase; double mwNoise12 = mwnoise(sigmaCode, sigmaPhase, lam1, lam2); double mwNoise15 = mwnoise(sigmaCode, sigmaPhase, lam1, lam5); @@ -790,7 +1280,20 @@ void cycleslip3( if (satStat.el >= recOpts.elevation_mask_deg * D2R) { - scdia(trace, satStat, lc, lam, sigmaPhase, sigmaCode, 3, sys, E_FilterMode::LSQ); + scdia( + trace, + satStat, + lc, + obs, + lam, + sigmaPhase, + sigmaCode, + 3, + E_FilterMode::LSQ, + frq1, + frq2, + frq3 + ); } /* update TD ionosphere residual */ @@ -829,13 +1332,26 @@ void detectslip( E_FType frq1; E_FType frq2; E_FType frq3; - bool pass = satFreqs(obs.Sat.sys, frq1, frq2, frq3); - if (pass == false) + int nf = obsFreqs(obs, frq1, frq2, frq3); + if (nf < 2) { + traceSlipEvent( + trace, + "PDE", + obs, + "skipped", + NONE, + NONE, + NONE, + 0, + 0, + 0, + E_SlipDiagReason::NO_FREQUENCIES + ); return; } - /* first epoch or large gap or low elevation */ // todo aaron initialisation stuff, remove + /* first epoch or large gap or low elevation */ // todo? initialisation stuff, remove if (satStat.lc_pre.time.bigTime == 0 || satStat.el < recOpts.elevation_mask_deg * D2R || lc_new.time > lc_old.time + PDEGAP) { @@ -870,16 +1386,52 @@ void detectslip( satStat.el * R2D ); + E_SlipDiagReason reason = E_SlipDiagReason::FIRST_EPOCH; + if (lc_new.time > lc_old.time + PDEGAP) + { + reason = E_SlipDiagReason::TIME_GAP; + } + else if (satStat.el < recOpts.elevation_mask_deg * D2R) + { + reason = E_SlipDiagReason::LOW_ELEVATION; + } + traceSlipEvent( + trace, + "PDE", + obs, + "initialised", + frq1, + frq2, + frq3, + satStat.el * R2D, + recOpts.elevation_mask_deg, + PDEGAP, + reason + ); + return; } - if (lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0 && lc_new.L_m[frq3] == 0) + if (nf == 2 && lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0) { dualFreq = true; } if (dualFreq && lc_old.L_m[frq1] != 0 && lc_old.L_m[frq2] != 0) { + traceSlipEvent( + trace, + "PDE", + obs, + "evaluating", + frq1, + frq2, + NONE, + 2, + 0, + 0, + E_SlipDiagReason::DUAL_FREQUENCY + ); cycleslip2(trace, satStat, lc_new, obs); /* update averaged MW noise when no cycle slip */ @@ -895,13 +1447,27 @@ void detectslip( } } /* track L5 again */ - else if (lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0 && lc_new.L_m[frq3] != 0 && - lc_old.L_m[frq1] != 0 && lc_old.L_m[frq2] != 0 && - lc_old.L_m[frq3] == 0) // was zero, now not. + else if ( + nf >= 3 && lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0 && lc_new.L_m[frq3] != 0 && + lc_old.L_m[frq1] != 0 && lc_old.L_m[frq2] != 0 && lc_old.L_m[frq3] == 0 + ) // was zero, now not. { /* set slip flag for L5 (introduce new ambiguity for L5) */ satStat.sigStatMap[ft2string(frq3)].slip.retrack = true; satStat.sigStatMap[ft2string(frq3)].savedSlip.retrack = true; + traceSlipEvent( + trace, + "PDE", + obs, + "retracking", + frq1, + frq2, + frq3, + 3, + 2, + 0, + E_SlipDiagReason::THIRD_FREQUENCY_REACQUIRED + ); cycleslip2(trace, satStat, lc_new, obs); /* update averaged MW noise when no cycle slip */ @@ -917,14 +1483,29 @@ void detectslip( } } /* Triple-frequency */ - else if (lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0 && lc_new.L_m[frq3] != 0 && - lc_old.L_m[frq1] != 0 && lc_old.L_m[frq2] != 0 && lc_old.L_m[frq3] != 0) + else if ( + nf >= 3 && lc_new.L_m[frq1] != 0 && lc_new.L_m[frq2] != 0 && lc_new.L_m[frq3] != 0 && + lc_old.L_m[frq1] != 0 && lc_old.L_m[frq2] != 0 && lc_old.L_m[frq3] != 0 + ) { + traceSlipEvent( + trace, + "PDE", + obs, + "evaluating", + frq1, + frq2, + frq3, + 3, + 0, + 0, + E_SlipDiagReason::TRIPLE_FREQUENCY + ); cycleslip3(trace, satStat, lc_new, obs); if (satStat.el * R2D > 30) { - if (satStat.sigStatMap[ft2string(frq1)].slip.any == 2 // todo aaron, check the 2 + if (satStat.sigStatMap[ft2string(frq1)].slip.any == 2 // todo? check the 2 && satStat.amb[0] == 0 && satStat.amb[1] == 0 && satStat.amb[2] == 0) { satStat.sigStatMap[ft2string(frq1)].slip.any = 0; @@ -965,6 +1546,19 @@ void detectslip( id, satStat.el * R2D ); + traceSlipEvent( + trace, + "PDE", + obs, + "retracking", + frq1, + frq2, + NONE, + 2, + 0, + 0, + E_SlipDiagReason::FREQUENCY_REACQUIRED + ); } else { @@ -984,6 +1578,19 @@ void detectslip( id, satStat.el * R2D ); + traceSlipEvent( + trace, + "PDE", + obs, + "flagged", + frq1, + frq2, + frq3, + 1, + 0, + 0, + E_SlipDiagReason::SINGLE_FREQUENCY + ); } } @@ -1008,7 +1615,7 @@ void clearSlips(ObsList& obsList) { SatStat& satStat = *(obs.satStat_ptr); - satStat.slip = false; // todo aaron, is this used? + satStat.slip = false; // todo? is this used? sigStat.slip.any = 0; } } diff --git a/src/cpp/common/algebra.cpp b/src/cpp/common/algebra.cpp index 11b49d68c..59172f508 100644 --- a/src/cpp/common/algebra.cpp +++ b/src/cpp/common/algebra.cpp @@ -1,15 +1,17 @@ #include "common/algebra.hpp" +#include #include #include #include #include +#include #include "architectureDocs.hpp" #include "common/acsConfig.hpp" #include "common/algebraTrace.hpp" +#include "common/blasThreading.hpp" #include "common/common.hpp" #include "common/constants.hpp" #include "common/eigenIncluder.hpp" -#include "common/kalmanBlas.hpp" #include "common/lapackWrapper.hpp" #include "common/mongo.hpp" #include "common/mongoWrite.hpp" @@ -910,9 +912,10 @@ void KFState::stateTransition( (+2 * tgap // one tau from front tau3 distributed to prevent // divide by zero - 4 * tau * (1 - exp(-1 * tgap / tau)) + - 1 * tau * (1 - exp(-2 * tgap / tau)) - ); // correct formula re-derived according - // to Ref: Carpenter and Lee (2008) + 1 * tau * + (1 - exp(-2 * tgap / + tau))); // correct formula re-derived according + // to Ref: Carpenter and Lee (2008) // Q0(sourceIndex, destIndex) += // sourceProcessNoise / 2 // * tau * tau * (1-exp(-tgap/tau)) * (1-exp(-tgap/tau)); @@ -972,6 +975,131 @@ void KFState::stateTransition( { Q0.setZero(); } + bool blockCovarianceTransition = acsConfig.pppOpts.receiver_chunking; + + struct TransitionChunk + { + string id; + vector rows; + vector cols; + }; + + vector transitionChunks; + map transitionChunkIndex; + + if (blockCovarianceTransition) + { + auto addUnique = [](vector& list, int value) + { + if (std::find(list.begin(), list.end(), value) == list.end()) + { + list.push_back(value); + } + }; + + for (auto& [dest, sourceMap] : stateTransitionMap) + { + if (dest == oneKey) + { + continue; + } + + if (dest.str.empty()) + { + blockCovarianceTransition = false; + break; + } + + auto destIter = newKFIndexMap.find(dest); + if (destIter == newKFIndexMap.end()) + { + blockCovarianceTransition = false; + break; + } + + auto& chunkId = dest.str; + + auto [chunkIndexIt, inserted] = + transitionChunkIndex.try_emplace(chunkId, transitionChunks.size()); + if (inserted) + { + transitionChunks.push_back({chunkId, {}, {}}); + } + + auto& chunk = transitionChunks[chunkIndexIt->second]; + chunk.rows.push_back(destIter->second); + + for (auto& [source, values] : sourceMap) + { + if (source == oneKey) + { + continue; + } + + if (source.str.empty() || source.str != chunkId) + { + blockCovarianceTransition = false; + break; + } + + int sourceIndex = getKFIndex(source); + if ((sourceIndex < 0) || (sourceIndex >= F.cols())) + { + continue; + } + + addUnique(chunk.cols, sourceIndex); + } + + if (blockCovarianceTransition == false) + { + break; + } + } + + for (auto& chunk : transitionChunks) + { + std::sort(chunk.cols.begin(), chunk.cols.end()); + } + } + + if (blockCovarianceTransition) + { + MatrixXd Pnew = MatrixXd::Zero(newStateCount, newStateCount); + + bool parallelChunks = transitionChunks.size() > 1; + BlasThreading::ScopedOpenBlasThreadLimit openblasThreadLimit(parallelChunks ? 1 : 0); +#ifdef ENABLE_PARALLELISATION +#pragma omp parallel for schedule(dynamic) if (parallelChunks) +#endif + for (int c = 0; c < (int)transitionChunks.size(); c++) + { + auto& chunk = transitionChunks[c]; + auto& rows = chunk.rows; + auto& cols = chunk.cols; + + if (cols.empty()) + { + Pnew(rows, rows) = Q0(rows, rows); + continue; + } + + MatrixXd Fblock = MatrixXd::Zero(rows.size(), cols.size()); + for (int i = 0; i < rows.size(); i++) + { + for (int j = 0; j < cols.size(); j++) + { + Fblock(i, j) = F.coeff(rows[i], cols[j]); + } + } + + Pnew(rows, rows) = + (Fblock * P(cols, cols) * Fblock.transpose() + Q0(rows, rows)).eval(); + } + + P = std::move(Pnew); + } + else { P = (F * P * F.transpose() + Q0).eval(); } @@ -1068,8 +1196,8 @@ void KFState::leastSquareSigmaChecks( if (maxMeasRatio > lsqOpts.meas_sigma_threshold) { trace << "\n" - << time << "\tLARGE MEAS ERROR OF : " << maxMeasRatio << "\tAT " << measIndex - << " :\t" << kfMeas.obsKeys[measIndex]; + << time << "\tLARGE MEAS ERROR OF : " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measIndex << " :\t" << kfMeas.obsKeys[measIndex]; callbackDetails.measIndex = measIndex; } @@ -1159,11 +1287,11 @@ void KFState::preFitSigmaChecks( maxStateRatio > prefitOpts.state_sigma_threshold) { trace << "\n" - << time << "\tLARGE STATE ERROR OF : " << maxStateRatio << "\tAT " - << stateChunkIndex << " :\t" << stateKey; + << time << "\tLARGE STATE ERROR OF : " << std::setw(11) << maxStateRatio << "\tAT " + << std::setw(4) << stateChunkIndex << " :\t" << stateKey; trace << "\n" - << time << "\tLargest meas error is : " << maxMeasRatio << "\tAT " << measChunkIndex - << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + << time << "\tLargest meas error is : " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; measRatios = (H.col(stateIndex).array() != 0) @@ -1171,9 +1299,8 @@ void KFState::preFitSigmaChecks( maxMeasRatio = measRatios.abs().maxCoeff(&measIndex); measChunkIndex = measIndex + begH; - trace << "\n" - << time << "\tLargest ref meas error is: " << maxMeasRatio << "\tAT " - << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + trace << time << "\tLargest ref meas error: " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; callbackDetails.kfKey = stateKey; callbackDetails.stateIndex = stateChunkIndex; @@ -1183,18 +1310,17 @@ void KFState::preFitSigmaChecks( double minMeasRatio = measRatios.abs().minCoeff(&measIndex); measChunkIndex = measIndex + begH; - trace << "\n" - << time << "\tSmallest ref meas error is: " << minMeasRatio << "\tAT " - << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + trace << time << "\tSmallest ref meas error: " << std::setw(11) << minMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; } else if (maxMeasRatio > prefitOpts.meas_sigma_threshold) { trace << "\n" - << time << "\tLARGE MEAS ERROR OF : " << maxMeasRatio << "\tAT " << measChunkIndex - << " :\t" << kfMeas.obsKeys[measChunkIndex]; + << time << "\tLARGE MEAS ERROR OF : " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex]; trace << "\n" - << time << "\tLargest state error is : " << maxStateRatio << "\tAT " - << stateChunkIndex << " :\t" << stateKey << "\n"; + << time << "\tLargest state error is : " << std::setw(11) << maxStateRatio << "\tAT " + << std::setw(4) << stateChunkIndex << " :\t" << stateKey << "\n"; callbackDetails.measIndex = measChunkIndex; } @@ -1390,11 +1516,11 @@ void KFState::postFitSigmaChecks( maxStateRatio > postfitOpts.state_sigma_threshold) { trace << "\n" - << time << "\tLARGE STATE ERROR OF : " << maxStateRatio << "\tAT " - << stateChunkIndex << " :\t" << stateKey; + << time << "\tLARGE STATE ERROR OF : " << std::setw(11) << maxStateRatio << "\tAT " + << std::setw(4) << stateChunkIndex << " :\t" << stateKey; trace << "\n" - << time << "\tLargest meas error is : " << maxMeasRatio << "\tAT " << measChunkIndex - << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + << time << "\tLargest meas error is : " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; measRatios = (H.col(stateIndex).array() != 0) @@ -1402,9 +1528,8 @@ void KFState::postFitSigmaChecks( maxMeasRatio = measRatios.abs().maxCoeff(&measIndex); measChunkIndex = measIndex + begH; - trace << "\n" - << time << "\tLargest ref meas error is: " << maxMeasRatio << "\tAT " - << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + trace << time << "\tLargest ref meas error: " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; callbackDetails.kfKey = stateKey; callbackDetails.stateIndex = stateChunkIndex; @@ -1414,18 +1539,17 @@ void KFState::postFitSigmaChecks( double minMeasRatio = measRatios.abs().minCoeff(&measIndex); measChunkIndex = measIndex + begH; - trace << "\n" - << time << "\tSmallest ref meas error is: " << minMeasRatio << "\tAT " - << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; + trace << time << "\tSmallest ref meas error: " << std::setw(11) << minMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex] << "\n"; } else if (maxMeasRatio > postfitOpts.meas_sigma_threshold) { trace << "\n" - << time << "\tLARGE MEAS ERROR OF : " << maxMeasRatio << "\tAT " << measChunkIndex - << " :\t" << kfMeas.obsKeys[measChunkIndex]; + << time << "\tLARGE MEAS ERROR OF : " << std::setw(11) << maxMeasRatio << "\tAT " + << std::setw(4) << measChunkIndex << " :\t" << kfMeas.obsKeys[measChunkIndex]; trace << "\n" - << time << "\tLargest state error is : " << maxStateRatio << "\tAT " - << stateChunkIndex << " :\t" << stateKey << "\n"; + << time << "\tLargest state error is : " << std::setw(11) << maxStateRatio << "\tAT " + << std::setw(4) << stateChunkIndex << " :\t" << stateKey << "\n"; callbackDetails.measIndex = measChunkIndex; } @@ -1537,7 +1661,8 @@ bool KFState::kFilter( int begX, ///< Index of first state element to process int numX, ///< Number of state elements to process int begH, ///< Index of first measurement to process - int numH ///< Number of measurements to process + int numH, ///< Number of measurements to process + bool resetOnFailure ) { auto& R = kfMeas.R; @@ -1545,7 +1670,7 @@ bool KFState::kFilter( auto& H = kfMeas.H; auto& H_star = kfMeas.H_star; - auto noise = kfMeas.uncorrelatedNoise.asDiagonal(); // todo Eugene: check chunking indices + auto noise = kfMeas.uncorrelatedNoise.asDiagonal(); // todo? check chunking indices // Get pointers to block data (no copying!) const double* H_ptr = H.data() + begH + begX * H.rows(); // H block starting point @@ -1677,15 +1802,24 @@ bool KFState::kFilter( << "dgetrf (general LU factorization) failed with info = " << info << " - all factorization methods exhausted"; - xp = x; - Pp = P; - dx = VectorXd::Zero(xp.rows()); + if (resetOnFailure) + { + xp = x; + Pp = P; + dx = VectorXd::Zero(xp.rows()); + } - trace << "\n" << "Kalman Filter Error - Matrix Factorization Failed"; - trace << "\n" << "Q: " << "\n" << Q; - trace << "\n" << "H block size: " << numH << "x" << numX; - trace << "\n" << "R block size: " << numH << "x" << numH; - trace << "\n" << "P block size: " << numX << "x" << numX; + trace << "\n" + << "Kalman Filter Error - Matrix Factorization Failed"; + trace << "\n" + << "Q: " << "\n" + << Q; + trace << "\n" + << "H block size: " << numH << "x" << numX; + trace << "\n" + << "R block size: " << numH << "x" << numH; + trace << "\n" + << "P block size: " << numX << "x" << numX; return false; } @@ -1746,9 +1880,12 @@ bool KFState::kFilter( { BOOST_LOG_TRIVIAL(error) << "Solve failed for Kalman gain with info = " << info; - xp = x; - Pp = P; - dx = VectorXd::Zero(xp.rows()); + if (resetOnFailure) + { + xp = x; + Pp = P; + dx = VectorXd::Zero(xp.rows()); + } return false; } @@ -2785,6 +2922,9 @@ void KFState::filterKalman( statisticsMap["States"] = x.rows(); BOOST_LOG_TRIVIAL(info) << " ------- FILTERING BY CHUNK " << filterChunkMap.size() << " --------\n"; + + vector activeChunks; + activeChunks.reserve(filterChunkMap.size()); for (auto& [id, fc] : filterChunkMap) { if (fc.numH == 0) @@ -2792,6 +2932,55 @@ void KFState::filterKalman( continue; } + activeChunks.push_back(&fc); + } + + struct ChunkFilterResult + { + bool computed = false; + bool pass = false; + MatrixXd Qinv; + MatrixXd QinvH; + }; + + vector chunkResults(activeChunks.size()); + + if (postfitOpts.max_iterations > 0) + { + bool parallelChunks = activeChunks.size() > 1; + BlasThreading::ScopedOpenBlasThreadLimit openblasThreadLimit(parallelChunks ? 1 : 0); +#ifdef ENABLE_PARALLELISATION +#pragma omp parallel for schedule(dynamic) if (parallelChunks) +#endif + for (int c = 0; c < (int)activeChunks.size(); c++) + { + auto& fc = *activeChunks[c]; + auto& result = chunkResults[c]; + + result.Qinv = MatrixXd::Identity(fc.numH, fc.numH); + result.QinvH = MatrixXd::Ones(fc.numH, fc.numX); + result.pass = kFilter( + nullStream, + kfMeas, + xp, + Pp, + dx, + result.Qinv, + result.QinvH, + fc.begX, + fc.numX, + fc.begH, + fc.numH, + false + ); + result.computed = true; + } + } + + for (int c = 0; c < activeChunks.size(); c++) + { + auto& fc = *activeChunks[c]; + if (fc.id.empty() == false) { BOOST_LOG_TRIVIAL(info) @@ -2806,8 +2995,29 @@ void KFState::filterKalman( KFStatistics statistics; for (int i = 0; i < postfitOpts.max_iterations; i++) { - bool pass = - kFilter(trace, kfMeas, xp, Pp, dx, Qinv, QinvH, fc.begX, fc.numX, fc.begH, fc.numH); + bool pass = false; + if (i == 0 && chunkResults[c].computed) + { + pass = chunkResults[c].pass; + Qinv = std::move(chunkResults[c].Qinv); + QinvH = std::move(chunkResults[c].QinvH); + } + else + { + pass = kFilter( + trace, + kfMeas, + xp, + Pp, + dx, + Qinv, + QinvH, + fc.begX, + fc.numX, + fc.begH, + fc.numH + ); + } if (pass == false) { @@ -2824,6 +3034,20 @@ void KFState::filterKalman( dx.segment(fc.begX, fc.numX); } + if (output_residuals) + { + outputResiduals(trace, kfMeas, suffix, i, fc.begH, fc.numH); + } + + if (traceLevel >= 5) + { + KFState kfStateCopy = *this; + kfStateCopy.x = xp; + kfStateCopy.P = Pp; + + kfStateCopy.outputStates(trace, suffix, i, fc.begX, fc.numX); + } + bool stopIterating = true; if (postfitOpts.sigma_check || postfitOpts.omega_test) @@ -2886,20 +3110,6 @@ void KFState::filterKalman( *fc.trace_ptr << stringBuffer.str(); } - if (output_residuals) - { - outputResiduals(trace, kfMeas, suffix, i, fc.begH, fc.numH); - } - - if (traceLevel >= 5) - { - KFState kfStateCopy = *this; - kfStateCopy.x = xp; - kfStateCopy.P = Pp; - - kfStateCopy.outputStates(trace, suffix, i, fc.begH, fc.numH); - } - if (stopIterating) { statisticsMap["Filter iterations " + std::to_string(i + 1)]++; @@ -2940,9 +3150,10 @@ void KFState::filterKalman( auto& chunkTrace = *fc.trace_ptr; - switch (chiSquareTest.mode - ) // todo Eugene: rethink Chi-Square test modes, consider keep only INNOVATION - // and determine DOF automatically based on process noises + switch ( + chiSquareTest + .mode) // todo? rethink Chi-Square test modes, consider keep only + // INNOVATION and determine DOF automatically based on process noises { case E_ChiSqMode::INNOVATION: { @@ -2974,7 +3185,7 @@ void KFState::filterKalman( testStatistics.dof = x.rows() - 1; else testStatistics.dof = - kfMeas.H.rows(); // todo Eugene: revisit DOF in the future for MEASUREMENT mode + kfMeas.H.rows(); // todo? revisit DOF in the future for MEASUREMENT mode testStatistics.chiSqPerDof = testStatistics.chiSq / testStatistics.dof; @@ -3142,7 +3353,7 @@ bool KFState::leastSquareInitStates( leastSquareMeas.V(measIndex) = x(stateIndex); // take 0 as apriori state } leastSquareMeas.R(measIndex, measIndex) = - P(stateIndex, stateIndex); // todo Eugene: check equivalence w/ back-subsitution - + P(stateIndex, stateIndex); // todo? check equivalence w/ back-subsitution - // pseudo var should be 0 instead of P, or doesn't matter? leastSquareMeas.H(measIndex, stateIndex) = 1; } @@ -3191,6 +3402,11 @@ bool KFState::leastSquareInitStates( leastSquareMeasSubs.VV = leastSquareMeasSubs.V - leastSquareMeasSubs.H * xp; + if (output_residuals && traceLevel >= 5) + { + outputResiduals(trace, leastSquareMeasSubs, suffix, i, 0, leastSquareMeasSubs.H.rows()); + } + if (chiSquareTest.enable) { chiQC(trace, leastSquareMeasSubs); @@ -3249,11 +3465,6 @@ bool KFState::leastSquareInitStates( trace << stringBuffer.str(); } - if (output_residuals && traceLevel >= 5) - { - outputResiduals(trace, leastSquareMeasSubs, suffix, i, 0, leastSquareMeasSubs.H.rows()); - } - if (stopIterating) { // statisticsMap["Least squares iterations " + std::to_string(i+1)]++; diff --git a/src/cpp/common/algebra.hpp b/src/cpp/common/algebra.hpp index b21a1b0d9..b32fe5091 100644 --- a/src/cpp/common/algebra.hpp +++ b/src/cpp/common/algebra.hpp @@ -513,9 +513,9 @@ struct KFState : KFState_ KFState() { // initialise all filter state objects with a ONE element for later use. - x = VectorXd ::Ones(1); - P = MatrixXd ::Zero(1, 1); - dx = VectorXd ::Zero(1); + x = VectorXd::Ones(1); + P = MatrixXd::Zero(1, 1); + dx = VectorXd::Zero(1); kfIndexMap[oneKey] = 0; @@ -688,10 +688,11 @@ struct KFState : KFState_ VectorXd& dx, MatrixXd& Qinv, MatrixXd& QinvH, - int begX = 0, - int numX = -1, - int begH = 0, - int numH = -1 + int begX = 0, + int numX = -1, + int begH = 0, + int numH = -1, + bool resetOnFailure = true ); bool leastSquare(Trace& trace, KFMeas& kfMeas, VectorXd& xp, MatrixXd& Pp); @@ -901,15 +902,15 @@ double dot(const double* a, const double* b, int n); double norm(const double* a, int n); void matcpy(double* A, const double* B, int n, int m); void matmul( - const char* tr, - int n, - int k, - int m, - double alpha, - const double* A, - const double* B, - double beta, - double* C - ); + const char* tr, + int n, + int k, + int m, + double alpha, + const double* A, + const double* B, + double beta, + double* C +); int matinv(double* A, int n); int solve(const char* tr, const double* A, const double* Y, int n, int m, double* X); diff --git a/src/cpp/common/algebraTrace.cpp b/src/cpp/common/algebraTrace.cpp index 8b1328b3e..caf9662ea 100644 --- a/src/cpp/common/algebraTrace.cpp +++ b/src/cpp/common/algebraTrace.cpp @@ -39,8 +39,8 @@ Architecture Binary_Archive__() {} /** Returns the type of object that is located at the specified position in a file */ E_SerialObject getFilterTypeFromFile( - long int& startPos, ///< Position of object - string filename ///< Path to archive file + std::streamoff& startPos, ///< Position of object + string filename ///< Path to archive file ) { std::fstream fileStream(filename, std::ios::binary | std::ios::in); diff --git a/src/cpp/common/algebraTrace.hpp b/src/cpp/common/algebraTrace.hpp index 225b54e18..17b992bd9 100644 --- a/src/cpp/common/algebraTrace.hpp +++ b/src/cpp/common/algebraTrace.hpp @@ -159,14 +159,14 @@ void spitFilterToFile( // On Windows/MinGW, tellp() returns 0 in append mode, so seek to end first fileStream.seekp(0, std::ios::end); - long int pos = fileStream.tellp(); + std::streamoff pos = fileStream.tellp(); int type_int = static_cast(type); serial & type_int; serial & object; - long int end = fileStream.tellp(); - long int delta = end - pos; + std::streamoff end = fileStream.tellp(); + long int delta = static_cast(end - pos); serial & delta; } catch (...) @@ -182,8 +182,8 @@ bool getFilterObjectFromFile( E_SerialObject expectedType, ///< The expected type of object, (determine using ///< getFilterTypeFromFile() first) TYPE& object, ///< The pre-declared object to set the value of - long int& startPos, ///< The position in the file of the object's record - string filename ///< The path to the archive file to read from + std::streamoff& startPos, ///< The position in the file of the object's record + string filename ///< The path to the archive file to read from ) { std::fstream fileStream(filename, std::ios::binary | std::ios::in); @@ -241,7 +241,7 @@ bool getFilterObjectFromFile( return true; } -E_SerialObject getFilterTypeFromFile(long int& startPos, string filename); +E_SerialObject getFilterTypeFromFile(std::streamoff& startPos, string filename); void tryPrepareFilterPointers(KFState& kfState, ReceiverMap& receiverMap); diff --git a/src/cpp/common/attitude.cpp b/src/cpp/common/attitude.cpp index 49e0a8808..d651f452f 100644 --- a/src/cpp/common/attitude.cpp +++ b/src/cpp/common/attitude.cpp @@ -618,6 +618,9 @@ bool satYawGpsIIF( return satYawGpsIIR(Sat, attStatus, time, satGeom, -0.7 * D2R); // Midnight turning - Shadow constant yaw steering + double maxYawRate = 0; + bool maxYawRateFound = getSnxSatMaxYawRate(Sat.svn(), time, maxYawRate); + if (startTime == GTime::noTime()) // Start of eclipse { startTime = findEclipseBoundaries(time, satGeom, false); @@ -629,7 +632,9 @@ bool satYawGpsIIF( double dYaw = endYaw - startYaw; wrapPlusMinusPi(dYaw); startYawRate = abs(dYaw) / (endTime - startTime).to_double(); - startSign = SGN(dYaw); + if (maxYawRateFound) + startYawRate = std::min(startYawRate, maxYawRate); + startSign = SGN(dYaw); } attStatus.modelYaw = startYaw + startSign * startYawRate * (time - startTime).to_double(); wrapPlusMinusPi(attStatus.modelYaw); @@ -779,8 +784,8 @@ bool satYawGalFoc( GTime currTime = time; double currMu = mu; double dt = -1; - while (colinearAngle(currMu) < colAngThresh - ) // Ignore beta when finding start of modified-steering period + while (colinearAngle(currMu) < + colAngThresh) // Ignore beta when finding start of modified-steering period { currTime += dt; currMu = mu + muRate * (currTime - time).to_double(); @@ -877,6 +882,7 @@ bool satYawGlo( << "Max yaw rate not found for " << Sat.svn() << " in " << __FUNCTION__ << ", check sinex files for '+SATELLITE/YAW_BIAS_RATE' block"; + modelYaw = nominalYaw; return false; } @@ -1360,15 +1366,15 @@ void updateSatYaw( modelYawValid = satYawBds2(Sat, attStatus, time, satGeom, 5740); break; } - case E_Block::BDS_3SI_SECM: // Unmodelled - case E_Block::BDS_3SM_CAST: // Unmodelled - case E_Block::BDS_3SI_CAST: // Unmodelled - case E_Block::BDS_3SM_SECM: // Unmodelled + case E_Block::BDS_3SI_SECM: // Unmodelled - use BDS-3I/IGSO model + case E_Block::BDS_3SI_CAST: // Unmodelled - use BDS-3I/IGSO model case E_Block::BDS_3I: { modelYawValid = satYawBds3(attStatus, time, satGeom, 5740); break; } + case E_Block::BDS_3SM_CAST: // Unmodelled - use BDS-3M/MEO model + case E_Block::BDS_3SM_SECM: // Unmodelled - use BDS-3M/MEO model case E_Block::BDS_3M_CAST: { modelYawValid = satYawBds3(attStatus, time, satGeom, 3090); @@ -1414,7 +1420,9 @@ void updateSatYaw( satYawGpsIIR(Sat, attStatus, time, satGeom); BOOST_LOG_TRIVIAL(warning) << "Attitude model not implemented for " << Sat.blockType() << " in " - << __FUNCTION__ << "; using GPS-IIR model instead."; + << __FUNCTION__ << "; using GPS-IIR model instead. Check satellite metadata " + << "SINEX block types, for example that inputs.snx_files includes " + << "igs_satellite_metadata.snx and that it contains this satellite."; } } @@ -1817,7 +1825,7 @@ void recAtt( updateAntAtt(rec.antBoresight, rec.antAzimuth, attStatus); - // SatSys Sat(rec.id.c_str()); //todo aaron, this should be the recSatId thing instead + // SatSys Sat(rec.id.c_str()); //todo? this should be the recSatId thing instead // if (Sat.prn) // { // nav.satNavMap[Sat].attStatus = attStatus; diff --git a/src/cpp/common/attitude.hpp b/src/cpp/common/attitude.hpp index 73f409e04..9ffd68a69 100644 --- a/src/cpp/common/attitude.hpp +++ b/src/cpp/common/attitude.hpp @@ -9,11 +9,11 @@ */ struct AttStatus { - GTime startTime = GTime::noTime( - ); ///< Time of switchover to modified yaw steering (due to noon/midnight turn) - double startSign = 0; ///< Sign of yaw rate at switchover - double startYaw = 0; ///< Yaw at switchover - double startYawRate = 0; ///< Yaw rate at switchover + GTime startTime = GTime::noTime(); ///< Time of switchover to modified yaw steering (due to + ///< noon/midnight turn) + double startSign = 0; ///< Sign of yaw rate at switchover + double startYaw = 0; ///< Yaw at switchover + double startYawRate = 0; ///< Yaw rate at switchover GTime excludeTime = GTime::noTime(); ///< Time to skip yaw modelling until, due to unknown yaw behaviour diff --git a/src/cpp/common/biasSINEXread.cpp b/src/cpp/common/biasSINEXread.cpp index ff4910746..a39530b14 100644 --- a/src/cpp/common/biasSINEXread.cpp +++ b/src/cpp/common/biasSINEXread.cpp @@ -123,7 +123,7 @@ bool read_biasSINEX_line( } else if (sat != " ") { - // this should be a satellite, but check its valid //todo aaron, system for receiver + // this should be a satellite, but check its valid //todo? system for receiver // dcbs if (Sat.prn == 0 || Sat.sys == E_Sys::NONE) diff --git a/src/cpp/common/biases.cpp b/src/cpp/common/biases.cpp index b4d5da733..ed4bbf30f 100644 --- a/src/cpp/common/biases.cpp +++ b/src/cpp/common/biases.cpp @@ -76,7 +76,7 @@ void addDefaultBias() // entry.cod2 = acsConfig.clock_codesL2[bias.Sat.sys]; entry.source = "def1"; - // pushBiasEntry(id, entry); //todo aaron, disabled + // pushBiasEntry(id, entry); //todo? disabled } for (auto& Sat : getSysSats(E_Sys::GPS)) @@ -92,7 +92,7 @@ void addDefaultBias() } } -void loadStateBiases( // todo aaron this probably needs to be called to write biases from filter to +void loadStateBiases( // todo? this probably needs to be called to write biases from filter to // files KFState& kfState ) @@ -311,7 +311,7 @@ bool decomposeBGDBias( pushBiasEntry( id, entry - ); // todo aaron, check which of these match the clock_codes and only create those. + ); // todo? check which of these match the clock_codes and only create those. // covert BGD E5a/E1 to C5Q-IF OSB entry.cod1 = cod2; diff --git a/src/cpp/common/blasThreading.hpp b/src/cpp/common/blasThreading.hpp new file mode 100644 index 000000000..2e7a9e6a2 --- /dev/null +++ b/src/cpp/common/blasThreading.hpp @@ -0,0 +1,78 @@ +#pragma once + +namespace BlasThreading +{ +#ifdef GINAN_USE_OPENBLAS +extern "C" +{ + int openblas_get_num_threads(); + void openblas_set_num_threads(int num_threads); +} +#endif + +inline bool openblasThreadControlAvailable() +{ +#ifdef GINAN_USE_OPENBLAS + return true; +#else + return false; +#endif +} + +/** + * Temporarily limits OpenBLAS worker threads. + * + * OpenBLAS builds that use pthreads warn, and can hang, if they are called from + * an active OpenMP parallel region: + * + * OpenBLAS Warning : Detect OpenMP Loop and this application may hang. + * + * Ginan keeps some high-level chunk loops parallel with OpenMP. For those loops + * we want each chunk's BLAS/LAPACK calls to run single-threaded instead of + * nesting another thread pool inside every OpenMP worker. This RAII guard sets + * OpenBLAS to the requested thread count for the current scope and restores the + * previous OpenBLAS setting when it leaves the scope. + * + * Passing numThreads <= 0 disables the guard. If the target is linked against + * a non-OpenBLAS BLAS/LAPACK library, the guard is compiled as a no-op. + */ +class ScopedOpenBlasThreadLimit +{ +public: + explicit ScopedOpenBlasThreadLimit(int numThreads) + { +#ifdef GINAN_USE_OPENBLAS + if (numThreads <= 0 || openblasThreadControlAvailable() == false) + { + return; + } + + previousNumThreads = openblas_get_num_threads(); + if (previousNumThreads != numThreads) + { + openblas_set_num_threads(numThreads); + changed = true; + } +#endif + } + + ~ScopedOpenBlasThreadLimit() + { +#ifdef GINAN_USE_OPENBLAS + if (changed && previousNumThreads > 0 && openblasThreadControlAvailable()) + { + openblas_set_num_threads(previousNumThreads); + } +#endif + } + + ScopedOpenBlasThreadLimit(const ScopedOpenBlasThreadLimit&) = delete; + ScopedOpenBlasThreadLimit& operator=(const ScopedOpenBlasThreadLimit&) = delete; + +#ifdef GINAN_USE_OPENBLAS +private: + int previousNumThreads = 0; + bool changed = false; +#endif +}; +} // namespace BlasThreading diff --git a/src/cpp/common/cost.cpp b/src/cpp/common/cost.cpp index fd5e45f3b..8ddcf7ea7 100644 --- a/src/cpp/common/cost.cpp +++ b/src/cpp/common/cost.cpp @@ -88,13 +88,19 @@ void outputCost( locationName.c_str() ); // Site name with country + string receiverType = + rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : rec.receiverType; + string antennaType = rec.metadata.antennaDescriptor.valid + ? rec.metadata.antennaDescriptor.value + : rec.antennaType; + tracepdeex( 0, fout, "%-20s %-20s\n", - rec.receiverType.c_str(), // Receiver type - rec.antennaType.c_str() - ); // Antenna type + receiverType.c_str(), // Receiver type + antennaType.c_str() + ); // Antenna type } if (firstWrite) @@ -114,7 +120,9 @@ void outputCost( recPosEcef = rec.aprioriPos; } - VectorEcef eccEcef = body2ecef(rec.attStatus, rec.snx.ecc_ptr->ecc); + VectorEnu eccEnu = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : rec.snx.ecc_ptr->ecc; + VectorEcef eccEcef = body2ecef(rec.attStatus, eccEnu); VectorPos recPos = ecef2pos(recPosEcef + eccEcef); if (recPos[1] < 0) @@ -130,7 +138,7 @@ void outputCost( recPos.lonDeg(), recPos.hgt(), // ARP height above ellipsoid recPos.hgt() - geoidOffset, // ARP height above geoid - rec.snx.ecc_ptr->ecc.u() + eccEnu.u() ); // ARP height above benchmark if (firstWrite) @@ -184,8 +192,8 @@ void outputCost( unsigned otl : 1; ///< Ocean tide loading correction applied unsigned atc : 1; ///< Atmospheric loading correction applied unsigned localMetData : 1; ///< Local surface met. sensor data available - unsigned - centredTime : 1; ///< Timestamps are at the centre of period [false: end of period] + unsigned centredTime + : 1; ///< Timestamps are at the centre of period [false: end of period] unsigned gpsUsed : 1; ///< GPS satellite(s) used unsigned gloUsed : 1; ///< GLONASS satellite(s) used unsigned galUsed : 1; ///< Galileo satellite(s) used diff --git a/src/cpp/common/customDecoder.cpp b/src/cpp/common/customDecoder.cpp index d9a8be06f..b83bca4b1 100644 --- a/src/cpp/common/customDecoder.cpp +++ b/src/cpp/common/customDecoder.cpp @@ -50,7 +50,15 @@ void CustomDecoder::decodeRAWX(vector& payload) obsList.push_back((shared_ptr)obs); } - obsListList.push_back(obsList); + if (obsList.empty() == false) + { + obsListList.push_back(obsList); + } + else + { + BOOST_LOG_TRIVIAL(info) << "Custom decoder produced empty ObsList at epoch flush" + << ", week=" << week << ", rcvTow=" << rcvTow; + } lastTimeTag = 0; lastTime = gpst2time(week, rcvTow); diff --git a/src/cpp/common/debug.cpp b/src/cpp/common/debug.cpp index cfef43ff5..8f3576e32 100644 --- a/src/cpp/common/debug.cpp +++ b/src/cpp/common/debug.cpp @@ -1028,7 +1028,7 @@ void reflector() Vector3d reflected = -frontalArea * (source - 2 * (source.dot(correctFace)) * correctFace) * specularity[i]; - Vector3d emissive = frontalArea * correctFace * (1 - specularity[i]) * 0.7; + Vector3d emissive = frontalArea * correctFace * (1 - specularity[i]) * 0.7; Vector3d outgoing = (1 - absorbtion[i]) * (reflected + emissive); diff --git a/src/cpp/common/enumHelpers.hpp b/src/cpp/common/enumHelpers.hpp index dce010aad..eac9da938 100644 --- a/src/cpp/common/enumHelpers.hpp +++ b/src/cpp/common/enumHelpers.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -17,6 +18,13 @@ inline std::string enum_to_string(E value) return std::string(magic_enum::enum_name(value)); } +// Enum to string conversion (replaces ._to_string()) +template +inline std::string enum_to_lowerstring(E value) +{ + return boost::algorithm::to_lower_copy(std::string(magic_enum::enum_name(value))); +} + // String to enum conversion with default fallback (replaces ::_from_string()) template inline E string_to_enum(const std::string& str, E default_value = E{}) diff --git a/src/cpp/common/enums.h b/src/cpp/common/enums.h index 019ba2953..7a7cacb8d 100644 --- a/src/cpp/common/enums.h +++ b/src/cpp/common/enums.h @@ -51,6 +51,28 @@ typedef enum SVH_UNHEALTHY = -1 // implicitly used in rtcm } E_Svh; +typedef enum +{ + P_ANT, // P: antenna //todo: check the meaning of 'P' + L_LRA // L: laser retroreflector array +} E_EccType; + +typedef enum +{ + ESTIMATE, + APRIORI, + NORMAL_EQN, + MAX_MATRIX_TYPE +} matrix_type; + +typedef enum +{ + CORRELATION, + COVARIANCE, + INFORMATION, + MAX_MATRIX_VALUE +} matrix_value; + /** * Warning: do not change the order, used by RAIM * The larger is the number better the solution is. @@ -799,14 +821,16 @@ enum class E_SbasId : short int enum class RtcmMessageType : uint16_t { NONE = 0, - - GPS_EPHEMERIS = 1, + STATIONARY_RTK_REF_ARP, // 1005 + STATIONARY_RTK_REF_ARP_HEIGHT, // 1006 + ANTENNA_DESCRIPTOR, // 1007 + ANTENNA_DESCRIPTOR_SN, // 1008 (with serial number) + GPS_EPHEMERIS, GLO_EPHEMERIS, BDS_EPHEMERIS, QZS_EPHEMERIS, GAL_FNAV_EPHEMERIS, GAL_INAV_EPHEMERIS, - GPS_SSR_ORB_CORR, GPS_SSR_CLK_CORR, GPS_SSR_CODE_BIAS, @@ -814,7 +838,6 @@ enum class RtcmMessageType : uint16_t GPS_SSR_URA, GPS_SSR_HR_CLK_CORR, GPS_SSR_PHASE_BIAS, - GLO_SSR_ORB_CORR, GLO_SSR_CLK_CORR, GLO_SSR_CODE_BIAS, @@ -822,32 +845,28 @@ enum class RtcmMessageType : uint16_t GLO_SSR_URA, GLO_SSR_HR_CLK_CORR, GLO_SSR_PHASE_BIAS, - MSM4_GPS, MSM5_GPS, MSM6_GPS, MSM7_GPS, - MSM4_GLONASS, MSM5_GLONASS, MSM6_GLONASS, MSM7_GLONASS, - MSM4_GALILEO, MSM5_GALILEO, MSM6_GALILEO, MSM7_GALILEO, - MSM4_QZSS, MSM5_QZSS, MSM6_QZSS, MSM7_QZSS, - MSM4_BEIDOU, MSM5_BEIDOU, MSM6_BEIDOU, MSM7_BEIDOU, - + PHYSICAL_REF_STATION_POSITION, // 1032 + ANTENNA_RECEIVER_DESCRIPTOR, // 1033 GAL_SSR_ORB_CORR, GAL_SSR_CLK_CORR, GAL_SSR_CODE_BIAS, @@ -855,7 +874,6 @@ enum class RtcmMessageType : uint16_t GAL_SSR_URA, GAL_SSR_HR_CLK_CORR, GAL_SSR_PHASE_BIAS, - QZS_SSR_ORB_CORR, QZS_SSR_CLK_CORR, QZS_SSR_CODE_BIAS, @@ -863,7 +881,6 @@ enum class RtcmMessageType : uint16_t QZS_SSR_URA, QZS_SSR_HR_CLK_CORR, QZS_SSR_PHASE_BIAS, - SBS_SSR_ORB_CORR, SBS_SSR_CLK_CORR, SBS_SSR_CODE_BIAS, @@ -871,7 +888,6 @@ enum class RtcmMessageType : uint16_t SBS_SSR_URA, SBS_SSR_HR_CLK_CORR, SBS_SSR_PHASE_BIAS, - BDS_SSR_ORB_CORR, BDS_SSR_CLK_CORR, BDS_SSR_CODE_BIAS, @@ -879,7 +895,6 @@ enum class RtcmMessageType : uint16_t BDS_SSR_URA, BDS_SSR_HR_CLK_CORR, BDS_SSR_PHASE_BIAS, - COMPACT_SSR, IGS_SSR, CUSTOM @@ -892,10 +907,22 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) { case RtcmMessageType::NONE: return 0; + case RtcmMessageType::STATIONARY_RTK_REF_ARP: + return 1005; + case RtcmMessageType::STATIONARY_RTK_REF_ARP_HEIGHT: + return 1006; + case RtcmMessageType::ANTENNA_DESCRIPTOR: + return 1007; + case RtcmMessageType::ANTENNA_DESCRIPTOR_SN: + return 1008; case RtcmMessageType::GPS_EPHEMERIS: return 1019; case RtcmMessageType::GLO_EPHEMERIS: return 1020; + case RtcmMessageType::PHYSICAL_REF_STATION_POSITION: + return 1032; + case RtcmMessageType::ANTENNA_RECEIVER_DESCRIPTOR: + return 1033; case RtcmMessageType::BDS_EPHEMERIS: return 1042; case RtcmMessageType::QZS_EPHEMERIS: @@ -904,7 +931,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1045; case RtcmMessageType::GAL_INAV_EPHEMERIS: return 1046; - case RtcmMessageType::GPS_SSR_ORB_CORR: return 1057; case RtcmMessageType::GPS_SSR_CLK_CORR: @@ -919,7 +945,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1062; case RtcmMessageType::GPS_SSR_PHASE_BIAS: return 1265; - case RtcmMessageType::GLO_SSR_ORB_CORR: return 1063; case RtcmMessageType::GLO_SSR_CLK_CORR: @@ -934,7 +959,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1068; case RtcmMessageType::GLO_SSR_PHASE_BIAS: return 1266; - case RtcmMessageType::MSM4_GPS: return 1074; case RtcmMessageType::MSM5_GPS: @@ -943,7 +967,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1076; case RtcmMessageType::MSM7_GPS: return 1077; - case RtcmMessageType::MSM4_GLONASS: return 1084; case RtcmMessageType::MSM5_GLONASS: @@ -952,7 +975,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1086; case RtcmMessageType::MSM7_GLONASS: return 1087; - case RtcmMessageType::MSM4_GALILEO: return 1094; case RtcmMessageType::MSM5_GALILEO: @@ -961,7 +983,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1096; case RtcmMessageType::MSM7_GALILEO: return 1097; - case RtcmMessageType::MSM4_QZSS: return 1114; case RtcmMessageType::MSM5_QZSS: @@ -970,7 +991,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1116; case RtcmMessageType::MSM7_QZSS: return 1117; - case RtcmMessageType::MSM4_BEIDOU: return 1124; case RtcmMessageType::MSM5_BEIDOU: @@ -979,7 +999,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1126; case RtcmMessageType::MSM7_BEIDOU: return 1127; - case RtcmMessageType::GAL_SSR_ORB_CORR: return 1240; case RtcmMessageType::GAL_SSR_CLK_CORR: @@ -994,7 +1013,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1245; case RtcmMessageType::GAL_SSR_PHASE_BIAS: return 1267; - case RtcmMessageType::QZS_SSR_ORB_CORR: return 1246; case RtcmMessageType::QZS_SSR_CLK_CORR: @@ -1009,7 +1027,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1251; case RtcmMessageType::QZS_SSR_PHASE_BIAS: return 1268; - case RtcmMessageType::SBS_SSR_ORB_CORR: return 1252; case RtcmMessageType::SBS_SSR_CLK_CORR: @@ -1024,7 +1041,6 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1257; case RtcmMessageType::SBS_SSR_PHASE_BIAS: return 1269; - case RtcmMessageType::BDS_SSR_ORB_CORR: return 1258; case RtcmMessageType::BDS_SSR_CLK_CORR: @@ -1039,14 +1055,12 @@ inline constexpr uint16_t rtcmTypeToMessageNumber(RtcmMessageType type) return 1263; case RtcmMessageType::BDS_SSR_PHASE_BIAS: return 1270; - case RtcmMessageType::COMPACT_SSR: return 4073; case RtcmMessageType::IGS_SSR: return 4076; case RtcmMessageType::CUSTOM: return 4082; - default: return 0; } @@ -1059,10 +1073,22 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) { case 0: return RtcmMessageType::NONE; + case 1005: + return RtcmMessageType::STATIONARY_RTK_REF_ARP; + case 1006: + return RtcmMessageType::STATIONARY_RTK_REF_ARP_HEIGHT; + case 1007: + return RtcmMessageType::ANTENNA_DESCRIPTOR; + case 1008: + return RtcmMessageType::ANTENNA_DESCRIPTOR_SN; case 1019: return RtcmMessageType::GPS_EPHEMERIS; case 1020: return RtcmMessageType::GLO_EPHEMERIS; + case 1032: + return RtcmMessageType::PHYSICAL_REF_STATION_POSITION; + case 1033: + return RtcmMessageType::ANTENNA_RECEIVER_DESCRIPTOR; case 1042: return RtcmMessageType::BDS_EPHEMERIS; case 1044: @@ -1071,7 +1097,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::GAL_FNAV_EPHEMERIS; case 1046: return RtcmMessageType::GAL_INAV_EPHEMERIS; - case 1057: return RtcmMessageType::GPS_SSR_ORB_CORR; case 1058: @@ -1086,7 +1111,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::GPS_SSR_HR_CLK_CORR; case 1265: return RtcmMessageType::GPS_SSR_PHASE_BIAS; - case 1063: return RtcmMessageType::GLO_SSR_ORB_CORR; case 1064: @@ -1101,7 +1125,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::GLO_SSR_HR_CLK_CORR; case 1266: return RtcmMessageType::GLO_SSR_PHASE_BIAS; - case 1074: return RtcmMessageType::MSM4_GPS; case 1075: @@ -1110,7 +1133,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::MSM6_GPS; case 1077: return RtcmMessageType::MSM7_GPS; - case 1084: return RtcmMessageType::MSM4_GLONASS; case 1085: @@ -1119,7 +1141,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::MSM6_GLONASS; case 1087: return RtcmMessageType::MSM7_GLONASS; - case 1094: return RtcmMessageType::MSM4_GALILEO; case 1095: @@ -1128,7 +1149,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::MSM6_GALILEO; case 1097: return RtcmMessageType::MSM7_GALILEO; - case 1114: return RtcmMessageType::MSM4_QZSS; case 1115: @@ -1137,7 +1157,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::MSM6_QZSS; case 1117: return RtcmMessageType::MSM7_QZSS; - case 1124: return RtcmMessageType::MSM4_BEIDOU; case 1125: @@ -1146,7 +1165,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::MSM6_BEIDOU; case 1127: return RtcmMessageType::MSM7_BEIDOU; - case 1240: return RtcmMessageType::GAL_SSR_ORB_CORR; case 1241: @@ -1161,7 +1179,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::GAL_SSR_HR_CLK_CORR; case 1267: return RtcmMessageType::GAL_SSR_PHASE_BIAS; - case 1246: return RtcmMessageType::QZS_SSR_ORB_CORR; case 1247: @@ -1176,7 +1193,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::QZS_SSR_HR_CLK_CORR; case 1268: return RtcmMessageType::QZS_SSR_PHASE_BIAS; - case 1252: return RtcmMessageType::SBS_SSR_ORB_CORR; case 1253: @@ -1191,7 +1207,6 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::SBS_SSR_HR_CLK_CORR; case 1269: return RtcmMessageType::SBS_SSR_PHASE_BIAS; - case 1258: return RtcmMessageType::BDS_SSR_ORB_CORR; case 1259: @@ -1206,14 +1221,12 @@ inline constexpr RtcmMessageType messageNumberToRtcmType(uint16_t msgNum) return RtcmMessageType::BDS_SSR_HR_CLK_CORR; case 1270: return RtcmMessageType::BDS_SSR_PHASE_BIAS; - case 4073: return RtcmMessageType::COMPACT_SSR; case 4076: return RtcmMessageType::IGS_SSR; case 4082: return RtcmMessageType::CUSTOM; - default: return RtcmMessageType::NONE; } @@ -1311,6 +1324,7 @@ enum class E_Source : short int { NONE, SPP, + META, CONFIG, PRECISE, SSR, @@ -1323,6 +1337,15 @@ enum class E_Source : short int REMOTE }; +enum class E_ReceiverMetaSource : short int +{ + NONE, + CONFIG, + SINEX, + RINEX, + RTCM +}; + enum class E_OrbexRecord : short int { PCS, @@ -1355,7 +1378,7 @@ enum class E_CrdEpochEvent : int enum class E_ObsAgeCode : short int { - OK, + UNKNOWN, NO_OBS, PAST_OBS, CURRENT_OBS, diff --git a/src/cpp/common/ephKalman.cpp b/src/cpp/common/ephKalman.cpp index 3ab34be35..2b4d14bd9 100644 --- a/src/cpp/common/ephKalman.cpp +++ b/src/cpp/common/ephKalman.cpp @@ -65,7 +65,7 @@ bool satClkKalman(Trace& trace, GTime time, SatPos& satPos, const KFState* kfSta satPos.satClkVel = vel; - satPos.satClkVar = 0; // todo Eugene: get actual variances from filter + satPos.satClkVar = 0; // todo? get actual variances from filter return anyFound; } @@ -137,7 +137,7 @@ bool satPosKalman(Trace& trace, GTime time, SatPos& satPos, const KFState* kfSta } } - satPos.posVar = 0; // todo Eugene: get actual variances from filter + satPos.posVar = 0; // todo? get actual variances from filter return true; } diff --git a/src/cpp/common/ephPrecise.cpp b/src/cpp/common/ephPrecise.cpp index 66a613fb8..9301af990 100644 --- a/src/cpp/common/ephPrecise.cpp +++ b/src/cpp/common/ephPrecise.cpp @@ -316,8 +316,8 @@ bool pclkMapClk( auto& [key, pclkMap] = *it; if ((pclkMap.size() < 2) || (time < pclkMap.begin()->first - nav.pclkInterval) || - (time > pclkMap.rbegin()->first + nav.pclkInterval - )) // Extrapolate for at most one data interval + (time > + pclkMap.rbegin()->first + nav.pclkInterval)) // Extrapolate for at most one data interval { BOOST_LOG_TRIVIAL(debug) << "no prec clock " << time.to_string() << " for " << id; diff --git a/src/cpp/common/ephSBAS.cpp b/src/cpp/common/ephSBAS.cpp index 7a1d0769f..2c32342b6 100644 --- a/src/cpp/common/ephSBAS.cpp +++ b/src/cpp/common/ephSBAS.cpp @@ -86,11 +86,11 @@ bool satPosSBAS(Trace& trace, GTime time, GTime teph, SatPos& satPos, Navigation posVar = 0.0; if (acsConfig.sbsInOpts.pvs_on_dfmc) { - clkVar = 2.5E-6; + clkVar = 2.5E-4 / SQR(CLIGHT); } else { - clkVar = 1E4; + clkVar = 1E4 / SQR(CLIGHT); usedSBASIODMap[Sat].tUsed = time; usedSBASIODMap[Sat].iodp = selIODP; usedSBASIODMap[Sat].iodf = selIODF; diff --git a/src/cpp/common/ephemeris.hpp b/src/cpp/common/ephemeris.hpp index 93eaf1c13..1efa672a8 100644 --- a/src/cpp/common/ephemeris.hpp +++ b/src/cpp/common/ephemeris.hpp @@ -63,29 +63,28 @@ struct Eph : BrdcEph, KeplerEph int sva; ///< SV accuracy (URA index) E_Svh svh; ///< SV health int week; ///< GPS/QZS: gps week, GAL:gps week (i.e. galileo week + 1024), BDS: beidou week - int code = 0; ///< GPS/QZS: code on L2, GAL: data source - int flag = 0; ///< GPS L2 P data flag - int howTow; ///< Hand over word time - GTime toc; ///< time of clock - GTime toe; ///< time of ephemeris - GTime ttm; ///< transmission time - - double toes; ///< TOE (s) in week - double fit; ///< fit interval (h) - double f0; ///< SV clock parameter (af0) - double f1; ///< SV clock parameter (af1) - double f2; ///< SV clock parameter (af2) - double tgd[4] = {}; ///< group delay parameters - ///< GPS/QZS:tgd[0]=TGD - ///< GAL :tgd[0]=BGD E5a/E1,tgd[1]=BGD E5b/E1 - ///< BDS :tgd[0]=BGD1,tgd[1]=BGD2 - - E_SatType orb = E_SatType::NONE; ///< BDS sat/orbit type - GTime top = {}; ///< time of prediction - double tops = 0; ///< t_op (s) in week - double ura[4] = - {}; ///< user range accuracy or GAL SISA - ///< GPS/QZS CNVX: ura[0]=URAI_NED0, ura[1]=URAI_NED1, ura[2]=URAI_NED2, ura[3]=URAI_ED + int code = 0; ///< GPS/QZS: code on L2, GAL: data source + int flag = 0; ///< GPS L2 P data flag + int howTow; ///< Hand over word time + GTime toc; ///< time of clock + GTime toe; ///< time of ephemeris + GTime ttm; ///< transmission time + + double toes; ///< TOE (s) in week + double fit; ///< fit interval (h) + double f0; ///< SV clock parameter (af0) + double f1; ///< SV clock parameter (af1) + double f2; ///< SV clock parameter (af2) + double tgd[4] = {}; ///< group delay parameters + ///< GPS/QZS:tgd[0]=TGD + ///< GAL :tgd[0]=BGD E5a/E1,tgd[1]=BGD E5b/E1 + ///< BDS :tgd[0]=BGD1,tgd[1]=BGD2 + + E_SatType orb = E_SatType::NONE; ///< BDS sat/orbit type + GTime top = {}; ///< time of prediction + double tops = 0; ///< t_op (s) in week + double ura[4] = {}; ///< user range accuracy or GAL SISA + ///< GPS/QZS CNVX: ura[0]=URAI_NED0, ura[1]=URAI_NED1, ura[2]=URAI_NED2, ura[3]=URAI_ED double isc[6] = {}; ///< inter-signal corrections ///< GPS/QZS CNAV: isc[0]=ISC_L1CA, isc[1]=ISC_L2C, isc[2]=ISC_L5I5, ///< isc[3]=ISC_L5Q5 GPS/QZS CNV2: isc[0]=ISC_L1CA, isc[1]=ISC_L2C, @@ -256,9 +255,8 @@ struct Ceph : KeplerEph GTime top = {}; ///< time of prediction GTime ttm = {}; ///< transmission time - double ura[4] = - {}; ///< user range accuracy - ///< GPS/QZS: ura[0]=URAI_NED0, ura[1]=URAI_NED1, ura[2]=URAI_NED2, ura[3]=URAI_ED + double ura[4] = {}; ///< user range accuracy + ///< GPS/QZS: ura[0]=URAI_NED0, ura[1]=URAI_NED1, ura[2]=URAI_NED2, ura[3]=URAI_ED double isc[6] = {}; ///< inter-signal corrections ///< GPS/QZS CNAV: isc[0]=ISC_L1CA, isc[1]=ISC_L2C, isc[2]=ISC_L5I5, ///< isc[3]=ISC_L5Q5 GPS/QZS CNV2: isc[0]=ISC_L1CA, isc[1]=ISC_L2C, diff --git a/src/cpp/common/gTime.cpp b/src/cpp/common/gTime.cpp index 6c45cf58e..aa87961f3 100644 --- a/src/cpp/common/gTime.cpp +++ b/src/cpp/common/gTime.cpp @@ -42,7 +42,7 @@ const GTime GAL_t0 = GEpoch{ 0, 0 }; // galileo system time reference as gps time -> 13 seconds before 0:00:00 - // UTC on Sunday, 22 August 1999 (midnight between 21 and 22 August) +// UTC on Sunday, 22 August 1999 (midnight between 21 and 22 August) const GTime BDS_t0 = GEpoch{ 2006, static_cast(E_Month::JAN), @@ -51,7 +51,7 @@ const GTime BDS_t0 = GEpoch{ 0, 0 + GPS_SUB_UTC_2006 }; // beidou time reference as gps time - // - defined in utc 11:58:55.816 +// - defined in utc 11:58:55.816 const int GPS_t0_sub_POSIX_t0 = 315964800; const double MJD_j2000 = 51544.5; @@ -496,13 +496,18 @@ double GTime::to_decYear() const double sod = yds.sod; // Determine if the year is a leap year - bool isLeapYear = (static_cast(year) % 4 == 0 && static_cast(year) % 100 != 0) || - (static_cast(year) % 400 == 0); - int totalDaysInYear = isLeapYear ? 366 : 365; + bool isLeapYear = (static_cast(year) % 4 == 0 && static_cast(year) % 100 != 0) || + (static_cast(year) % 400 == 0); + int totalDaysInYear = isLeapYear ? 366 : 365; return year + (doy + sod / secondsInDay) / totalDaysInYear; } +boost::posix_time::ptime GTime::to_posixTime() const +{ + return POSIX_GPS_t0 + boost::posix_time::microseconds((long int)(round(this->bigTime * 1e6))); +} + GTime::operator GEpoch() const { GEpoch gEpoch; @@ -601,6 +606,11 @@ GTime::operator MjDateTT() const return mjd; } +GTime::GTime(boost::posix_time::ptime posixTime) +{ + bigTime = (posixTime - POSIX_GPS_t0).total_microseconds() / 1e6; +} + GTime::GTime(MjDateTT mjdTT) { long double deltaDays = mjdTT.val - MJD_j2000; @@ -648,15 +658,15 @@ GTime::GTime(BWeek bdsWeek, BTow tow) *this = BDS_t0 + bdsWeek * secondsInWeek + tow; } -GEpoch ::operator GTime() const +GEpoch::operator GTime() const { return epoch2time(this->data()); } -UtcTime ::operator GTime() const +UtcTime::operator GTime() const { return utc2gpst(*this); } -GTime ::operator UtcTime() const +GTime::operator UtcTime() const { return gpst2utc(*this); } diff --git a/src/cpp/common/gTime.hpp b/src/cpp/common/gTime.hpp index f2a4294d7..40db70112 100644 --- a/src/cpp/common/gTime.hpp +++ b/src/cpp/common/gTime.hpp @@ -160,6 +160,8 @@ struct GTime double to_decYear() const; + boost::posix_time::ptime to_posixTime() const; + bool operator==(const GTime& t2) const { if (this->bigTime != t2.bigTime) @@ -270,6 +272,8 @@ struct GTime GTime(BWeek bdsWeek, BTow tow); + GTime(boost::posix_time::ptime posixTime); + GTime(MjDateTT mjdTT); GTime(MjDateUtc mjdUtc); diff --git a/src/cpp/common/gpx.cpp b/src/cpp/common/gpx.cpp index 30c17a2cc..d4f7673fc 100644 --- a/src/cpp/common/gpx.cpp +++ b/src/cpp/common/gpx.cpp @@ -47,8 +47,8 @@ void writeGPXHeader(Trace& output, string name, GTime time) } output << gpxHeader; - output << ""; // todo aaron, check format, different to below + output << ""; // todo? check format, different to below output << " \n"; output << "" << "" << name << "\n" << " \n"; diff --git a/src/cpp/common/icdDecoder.hpp b/src/cpp/common/icdDecoder.hpp index d5f699be3..b682b3c80 100644 --- a/src/cpp/common/icdDecoder.hpp +++ b/src/cpp/common/icdDecoder.hpp @@ -149,7 +149,7 @@ struct IcdDecoder decodeGpsTlmWord(words, eph); decodeGpsHowWord(words, eph); - eph.weekRollOver = gpsBitUFromWord(words, 3, 61, 10); // todo aaron, these all need scaling + eph.weekRollOver = gpsBitUFromWord(words, 3, 61, 10); // todo? these all need scaling eph.code = gpsBitUFromWord(words, 3, 71, 2); eph.sva = gpsBitUFromWord(words, 3, 73, 4); eph.ura[0] = svaToUra(eph.sva); @@ -172,7 +172,7 @@ struct IcdDecoder eph.tgd[0] = tgd == -128 ? 0 : tgd * P2_31; /* ref [4] */ eph.iodc = iodc_1 | iodc_2; - GTime nearTime = timeGet(); // todo aaron rtcmTime() + GTime nearTime = timeGet(); // todo? rtcmTime() // adjgpsweek() { @@ -212,10 +212,9 @@ struct IcdDecoder unsigned int sqrtA_2 = gpsBitUFromWord(words, 9, 241, 24); - eph.toes = gpsBitUFromWord(words, 10, 271, 16) * (1 << 4); - eph.fit = gpsBitUFromWord(words, 10, 287, 1) ? 0 : 4; /* 0:4hr,1:>4hr */ - int aodo = gpsBitUFromWord(words, 10, 288, 5); // todo aaron - + eph.toes = gpsBitUFromWord(words, 10, 271, 16) * (1 << 4); + eph.fit = gpsBitUFromWord(words, 10, 287, 1) ? 0 : 4; /* 0:4hr,1:>4hr */ + int aodo = gpsBitUFromWord(words, 10, 288, 5); // todo? eph.sqrtA = (sqrtA_1 | sqrtA_2) * P2_19; eph.M0 = (M0_1 | M0_2) * P2_31 * SC2RAD; eph.e = (e_1 | e_2) * P2_33; diff --git a/src/cpp/common/lapackWrapper.hpp b/src/cpp/common/lapackWrapper.hpp index 69167d935..777c10266 100644 --- a/src/cpp/common/lapackWrapper.hpp +++ b/src/cpp/common/lapackWrapper.hpp @@ -102,13 +102,19 @@ extern "C" ); } -// BLAS function declarations - handle different environments -// Eigen/OpenBLAS declares these with int return, standard BLAS uses void -#if !defined(EIGEN_USE_BLAS) && !defined(EIGEN_BLAS_H) -// Standard BLAS declarations (void return, Fortran style) +// BLAS function declarations used directly by this wrapper. +// Eigen 3 declares these Fortran BLAS entry points as returning int, while +// Eigen 5 changed them to void. Match Eigen when its version macros are visible +// so this wrapper can coexist with either Eigen BLAS header. +#if defined(EIGEN_MAJOR_VERSION) && EIGEN_MAJOR_VERSION < 5 +using BlasReturn = int; +#else +using BlasReturn = void; +#endif + extern "C" { - void dgemm_( + BlasReturn dgemm_( const char* transa, const char* transb, const int* m, @@ -123,7 +129,7 @@ extern "C" double* c, const int* ldc ); - void dgemv_( + BlasReturn dgemv_( const char* trans, const int* m, const int* n, @@ -136,8 +142,8 @@ extern "C" double* y, const int* incy ); - void dcopy_(const int* n, const double* x, const int* incx, double* y, const int* incy); - void daxpy_( + BlasReturn dcopy_(int* n, double* x, int* incx, double* y, int* incy); + BlasReturn daxpy_( const int* n, const double* alpha, const double* x, @@ -145,7 +151,7 @@ extern "C" double* y, const int* incy ); - void dsymm_( + BlasReturn dsymm_( const char* side, const char* uplo, const int* m, @@ -159,7 +165,7 @@ extern "C" double* c, const int* ldc ); - void dsyrk_( + BlasReturn dsyrk_( const char* uplo, const char* trans, const int* n, @@ -172,8 +178,6 @@ extern "C" const int* ldc ); } -#endif -// Note: When EIGEN_USE_BLAS/EIGEN_BLAS_H is defined, these are already declared by Eigen headers // Cholesky factorization (positive definite) inline int dpotrf(Layout layout, char uplo, int n, double* a, int lda) @@ -370,9 +374,6 @@ constexpr Layout ROW_MAJOR = Layout::RowMajor; // BLAS Wrappers (using pure Fortran BLAS instead of CBLAS) // ============================================================================= -// BLAS functions are declared by Eigen with int return type on some platforms -// We don't need to declare them - just use them directly - // Transpose enum to match CBLAS enum class Transpose { @@ -500,14 +501,14 @@ inline void daxpy(int n, double alpha, const double* x, int incx, double* y, int // where A is symmetric inline void dsymm( Layout layout, - char side, // 'L' for A*B, 'R' for B*A - char uplo, // 'U' or 'L' - which triangle of A is stored - int m, // Rows of C - int n, // Cols of C + char side, // 'L' for A*B, 'R' for B*A + char uplo, // 'U' or 'L' - which triangle of A is stored + int m, // Rows of C + int n, // Cols of C double alpha, - const double* a, // Symmetric matrix + const double* a, // Symmetric matrix int lda, - const double* b, // General matrix + const double* b, // General matrix int ldb, double beta, double* c, @@ -539,10 +540,10 @@ inline void dsymm( // where C is symmetric inline void dsyrk( Layout layout, - char uplo, // 'U' or 'L' - which triangle of C to update - char trans, // 'N' for A*A^T, 'T' for A^T*A - int n, // Order of C - int k, // Inner dimension + char uplo, // 'U' or 'L' - which triangle of C to update + char trans, // 'N' for A*A^T, 'T' for A^T*A + int n, // Order of C + int k, // Inner dimension double alpha, const double* a, int lda, @@ -556,18 +557,7 @@ inline void dsyrk( return; } - dsyrk_( - &uplo, - &trans, - &n, - &k, - &alpha, - const_cast(a), - &lda, - &beta, - c, - &ldc - ); + dsyrk_(&uplo, &trans, &n, &k, &alpha, const_cast(a), &lda, &beta, c, &ldc); } } // namespace LapackWrapper diff --git a/src/cpp/common/linearCombo.cpp b/src/cpp/common/linearCombo.cpp index cfb631cbd..c3f157a06 100644 --- a/src/cpp/common/linearCombo.cpp +++ b/src/cpp/common/linearCombo.cpp @@ -219,85 +219,119 @@ void obs2lc( S_LC& lc15 = getLC(obs, lcBase, frq1, frq3); S_LC& lc25 = getLC(obs, lcBase, frq2, frq3); + string frq1Str = enum_to_string(frq1); + string frq2Str = enum_to_string(frq2); + string frq3Str = enum_to_string(frq3); + string frq12Str = frq1Str + frq2Str; + string frq13Str = frq1Str + frq3Str; + string frq23Str = frq2Str + frq3Str; + tracepdeex( 3, trace, - "%s zd L -- L1 =%14.4f L2 =%14.4f L5 =%14.4f\n", + "%s zd L -- %-3s =%14.4f %-3s =%14.4f %-3s =%14.4f\n", strprefix, + frq1Str.c_str(), lcBase.L_m[frq1], + frq2Str.c_str(), lcBase.L_m[frq2], + frq3Str.c_str(), lcBase.L_m[frq3] ); tracepdeex( 3, trace, - "%s zd P -- P1 =%14.4f P2 =%14.4f P5 =%14.4f\n", + "%s zd P -- %-3s =%14.4f %-3s =%14.4f %-3s =%14.4f\n", strprefix, + frq1Str.c_str(), lcBase.P[frq1], + frq2Str.c_str(), lcBase.P[frq2], + frq3Str.c_str(), lcBase.P[frq3] ); tracepdeex( 3, trace, - "%s mp P -- mp1 =%14.4f mp2 =%14.4f mp5 =%14.4f\n", + "%s mp P -- %-3s =%14.4f %-3s =%14.4f %-3s =%14.4f\n", strprefix, + frq1Str.c_str(), lcBase.mp[frq1], + frq2Str.c_str(), lcBase.mp[frq2], + frq3Str.c_str(), lcBase.mp[frq3] ); tracepdeex( 3, trace, - "%s gf L -- gf12=%14.4f gf15=%14.4f gf25=%14.4f\n", + "%s gf L -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.GF_Phas_m, + frq13Str.c_str(), lc15.GF_Phas_m, + frq23Str.c_str(), lc25.GF_Phas_m ); tracepdeex( 3, trace, - "%s gf P -- gf12=%14.4f gf15=%14.4f gf25=%14.4f\n", + "%s gf P -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.GF_Code_m, + frq13Str.c_str(), lc15.GF_Code_m, + frq23Str.c_str(), lc25.GF_Code_m ); tracepdeex( 3, trace, - "%s mw L -- mw12=%14.4f mw15=%14.4f mw25=%14.4f\n", + "%s mw L -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.MW_c, + frq13Str.c_str(), lc15.MW_c, + frq23Str.c_str(), lc25.MW_c ); tracepdeex( 3, trace, - "%s wl L -- wl12=%14.4f wl15=%14.4f wl25=%14.4f\n", + "%s wl L -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.WL_Phas_m, + frq13Str.c_str(), lc15.WL_Phas_m, + frq23Str.c_str(), lc25.WL_Phas_m ); tracepdeex( 3, trace, - "%s if L -- if12=%14.4f if15=%14.4f if25=%14.4f\n", + "%s if L -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.IF_Phas_m, + frq13Str.c_str(), lc15.IF_Phas_m, + frq23Str.c_str(), lc25.IF_Phas_m ); tracepdeex( 3, trace, - "%s if P -- if12=%14.4f if15=%14.4f if25=%14.4f\n", + "%s if P -- %-6s=%14.4f %-6s=%14.4f %-6s=%14.4f\n", strprefix, + frq12Str.c_str(), lc12.IF_Code_m, + frq13Str.c_str(), lc15.IF_Code_m, + frq23Str.c_str(), lc25.IF_Code_m ); @@ -306,7 +340,7 @@ void obs2lc( trace, obs.time, {{"data", "linearCombos"}, {"Sat", obs.Sat.id()}}, - {{"L1", lcBase.L_m[frq1]}, {"L2", lcBase.L_m[frq2]}} + {{frq1Str, lcBase.L_m[frq1]}, {frq2Str, lcBase.L_m[frq2]}} ); } diff --git a/src/cpp/common/localAtmosRegion.cpp b/src/cpp/common/localAtmosRegion.cpp index f666145ce..423b6caac 100644 --- a/src/cpp/common/localAtmosRegion.cpp +++ b/src/cpp/common/localAtmosRegion.cpp @@ -173,7 +173,7 @@ bool configAtmosRegion_File() tmp[10] = '\0'; latInt = atof(tmp); - if (gridType == 1) // todo aaron magic numbers + if (gridType == 1) // todo? magic numbers { regMaps[regID].minLatDeg = lat0 - latNgrid * latInt; regMaps[regID].maxLatDeg = lat0; @@ -360,15 +360,19 @@ bool configAtmosRegions(Trace& trace, ReceiverMap& receiverMap) { for (auto& [id, rec] : receiverMap) { - VectorEcef& snxPos = rec.snx.pos; - auto& recOpts = acsConfig.getRecOpts(id); - if (recOpts.apriori_pos.isZero() == false) - snxPos = recOpts.apriori_pos; + rec.metadata.setPriority(recOpts.meta_priority); + rec.metadata.ingestConfig(recOpts); + rec.metadata.ingestSinex(rec.snx); + + if (rec.metadata.stationPosition.valid == false) + { + continue; + } auto& pos = rec.pos; - pos = ecef2pos(snxPos); + pos = ecef2pos(rec.metadata.stationPosition.value); if (atmRegion.gridLatDeg.empty()) { @@ -399,6 +403,12 @@ bool configAtmosRegions(Trace& trace, ReceiverMap& receiverMap) atmRegion.gridLonDeg[ngrid] = pos.lonDeg(); ngrid++; } + + if (ngrid == 0) + { + return false; + } + atmRegion.minLonDeg -= 0.001; atmRegion.minLatDeg -= 0.001; atmRegion.maxLatDeg += 0.001; diff --git a/src/cpp/common/mongo.hpp b/src/cpp/common/mongo.hpp index ac2df7704..6ca0ec324 100644 --- a/src/cpp/common/mongo.hpp +++ b/src/cpp/common/mongo.hpp @@ -159,7 +159,7 @@ struct Mongo #define MONGO_AVAILABLE "Available" -// @todo seb put all define as const char* in a namespace +// @todo? put all define as const char* in a namespace b_date bDate(const GTime& time); diff --git a/src/cpp/common/mongoRead.cpp b/src/cpp/common/mongoRead.cpp index b9aacea75..ec1d52f0b 100644 --- a/src/cpp/common/mongoRead.cpp +++ b/src/cpp/common/mongoRead.cpp @@ -9,7 +9,7 @@ using std::deque; -short int currentSSRIod = 0; // todo aaron, sketchy global? +short int currentSSRIod = 0; // todo? sketchy global? map lastBrdcIode; template diff --git a/src/cpp/common/mongoWrite.cpp b/src/cpp/common/mongoWrite.cpp index 6c5369cb1..2273b93ae 100644 --- a/src/cpp/common/mongoWrite.cpp +++ b/src/cpp/common/mongoWrite.cpp @@ -538,8 +538,8 @@ void mongoMeasResiduals( } arrayDoc << close_array; - auto findDoc = document{} << toString(Constants::Mongo::TYPE_VAR) << name - << finalize; + auto findDoc = document{} << toString(Constants::Mongo::TYPE_VAR) << name + << finalize; auto updateDoc = document{} << "$addToSet" << open_document << toString(Constants::Mongo::VALUE_VAR) << eachDoc << close_document << finalize; @@ -766,8 +766,8 @@ void mongoStates(KFState& kfState, MongoStatesOptions opts) } arrayDoc << close_array; - auto findDoc = document{} << toString(Constants::Mongo::TYPE_VAR) << name - << finalize; + auto findDoc = document{} << toString(Constants::Mongo::TYPE_VAR) << name + << finalize; auto updateDoc = document{} << "$addToSet" << open_document << toString(Constants::Mongo::VALUE_VAR) << eachDoc << close_document << finalize; @@ -1027,7 +1027,7 @@ void prepareSsrStates( E_OffsetType::APC, nav, &kfState - ); // todo aaron, ssra streams expect common_sat_pco to be true + ); // todo? ssra streams expect common_sat_pco to be true if (obs.satClk == INVALID_CLOCK_VALUE) { pass = false; diff --git a/src/cpp/common/ntripBroadcast.cpp b/src/cpp/common/ntripBroadcast.cpp index c38a22cba..45e52e31e 100644 --- a/src/cpp/common/ntripBroadcast.cpp +++ b/src/cpp/common/ntripBroadcast.cpp @@ -534,7 +534,7 @@ void NtripUploader::messageTimeoutHandler(const boost::system::error_code& err) case CompactSSRSubtype::CMB: case CompactSSRSubtype::URA: for (auto [sys, proc] : - acsConfig.process_sys) // todo aaron, this is all just copying + acsConfig.process_sys) // todo? this is all just copying // stuff from one map to another if (proc) { diff --git a/src/cpp/common/ntripBroadcast.hpp b/src/cpp/common/ntripBroadcast.hpp index 424502922..0299bdfeb 100644 --- a/src/cpp/common/ntripBroadcast.hpp +++ b/src/cpp/common/ntripBroadcast.hpp @@ -41,6 +41,7 @@ struct NtripUploader : NtripResponder, RtcmEncoder if (acsConfig.output_encoded_rtcm_json) { rtcmTraceFilename = acsConfig.encoded_rtcm_json_filename; + setTraceFilename(rtcmTraceFilename); } std::stringstream requestStream; diff --git a/src/cpp/common/observations.hpp b/src/cpp/common/observations.hpp index a71005d90..cbcaf8d7b 100644 --- a/src/cpp/common/observations.hpp +++ b/src/cpp/common/observations.hpp @@ -110,7 +110,7 @@ struct IonoObs double stecVar; int stecCodeCombo; - SatSys ionoSat; // todo aaron, remove when possible + SatSys ionoSat; // todo? remove when possible map ippMap; diff --git a/src/cpp/common/receiver.cpp b/src/cpp/common/receiver.cpp index 6794bac86..39c38825e 100644 --- a/src/cpp/common/receiver.cpp +++ b/src/cpp/common/receiver.cpp @@ -1,19 +1,41 @@ #include "common/receiver.hpp" #include -#include "common/sinex.hpp" +#include "common/acsConfig.hpp" #include "common/streamParser.hpp" #include "common/streamRinex.hpp" #include "common/streamRtcm.hpp" -SinexSiteId dummySiteid; -SinexReceiver dummyReceiver; -SinexAntenna dummyAntenna; -SinexSiteEcc dummySiteEcc; +ReceiverMap receiverMap; -SinexSatIdentity dummySinexSatIdentity; -SinexSatEcc dummySinexSatEcc; +void extractReceiverMetadata(Receiver& rec, Parser& parser, ObsList* obsList) +{ + auto& recOpts = acsConfig.getRecOpts(rec.id); + rec.metadata.setPriority(recOpts.meta_priority); -ReceiverMap receiverMap; + string parserType = parser.parserType(); + + if (parserType == "RinexParser") + { + auto& rinexParser = static_cast(parser); + rec.metadata.ingestRinex(rinexParser.rnxRec); + } + else if (parserType == "RtcmParser") + { + auto& rtcmParser = static_cast(parser); + + if (auto* info_ptr = selectRtcmStationInfoForMetadata( + rtcmParser.stationInfoMap, + rtcmParser.lastReferenceStationId + )) + { + rec.metadata.ingestRtcm(*info_ptr); + } + } + + (void)obsList; + + syncReceiverMetadata(rec); +} void extractTrackedSignals(Receiver& rec, Parser& parser, ObsList* obsList) { diff --git a/src/cpp/common/receiver.hpp b/src/cpp/common/receiver.hpp index 17e27eeda..c20ab5c14 100644 --- a/src/cpp/common/receiver.hpp +++ b/src/cpp/common/receiver.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include "common/attitude.hpp" #include "common/cache.hpp" #include "common/common.hpp" @@ -42,6 +44,116 @@ struct RinexStation Vector3d pos = Vector3d::Zero(); }; +constexpr uint32_t receiverMetaSourceBit(E_ReceiverMetaSource source) +{ + return source == E_ReceiverMetaSource::NONE + ? 0 + : (uint32_t(1) << (static_cast(source) - 1)); +} + +template +struct ReceiverMetaField +{ + T value = {}; + bool valid = false; + E_ReceiverMetaSource winningSource = E_ReceiverMetaSource::NONE; + uint32_t sourceMask = 0; + + bool hasSource(E_ReceiverMetaSource source) const + { + return (sourceMask & receiverMetaSourceBit(source)) != 0; + } +}; + +struct ReceiverOptions; +struct RtcmStationInfo; +struct SinexRecData; + +inline vector defaultReceiverMetaSourcePriority() +{ + return { + E_ReceiverMetaSource::CONFIG, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::RTCM + }; +} + +inline size_t receiverMetaPriorityIndex( + E_ReceiverMetaSource source, + const vector& priorityOrder +) +{ + auto it = std::find(priorityOrder.begin(), priorityOrder.end(), source); + if (it != priorityOrder.end()) + { + return std::distance(priorityOrder.begin(), it); + } + + return priorityOrder.size() + static_cast(source); +} + +inline bool receiverMetaSourceEnabled( + E_ReceiverMetaSource source, + const vector& priorityOrder +) +{ + return std::find(priorityOrder.begin(), priorityOrder.end(), source) != priorityOrder.end(); +} + +template +void ingestReceiverMetaField( + ReceiverMetaField& field, + const T& candidate, + bool present, + E_ReceiverMetaSource source, + const vector& priorityOrder +) +{ + if (present == false) + { + return; + } + + if (receiverMetaSourceEnabled(source, priorityOrder) == false) + { + return; + } + + field.sourceMask |= receiverMetaSourceBit(source); + + if (field.valid == false || receiverMetaPriorityIndex(source, priorityOrder) < + receiverMetaPriorityIndex(field.winningSource, priorityOrder)) + { + field.value = candidate; + field.valid = true; + field.winningSource = source; + } +} + +struct ReceiverMetadata +{ + vector sourcePriority = defaultReceiverMetaSourcePriority(); + + ReceiverMetaField receiverType; + ReceiverMetaField receiverFirmware; + ReceiverMetaField receiverSerial; + ReceiverMetaField antennaDescriptor; + ReceiverMetaField antennaSerial; + ReceiverMetaField markerName; + ReceiverMetaField markerNumber; + ReceiverMetaField antennaDelta; + ReceiverMetaField stationPosition; + + void reset(); + void setPriority(const vector& priorityOrder); + + void ingestConfig(const ReceiverOptions& recOpts); + void ingestSinex(const SinexRecData& recSnx); + void ingestRinex(const RinexStation& rnxRec); + void ingestRtcm(const RtcmStationInfo& rtcmInfo); +}; + struct ReceiverLogs { PTime firstEpoch = GTime::noTime(); @@ -61,9 +173,9 @@ struct Rtk Solution sol; ///< RTK solution string antennaType; string receiverType; - string antennaId; + string antennaId; ///< Derived ATX lookup id after antenna/radome resolution map satStatMap; - VectorEnu antDelta; ///< antenna delta {rov_e,rov_n,rov_u} + VectorEnu antDelta; ///< antenna delta {rov_e,rov_n,rov_u} AttStatus attStatus; }; @@ -79,13 +191,13 @@ extern SinexSiteEcc dummySiteEcc; struct SinexRecData { - SinexSiteId* id_ptr = &dummySiteid; + SinexSiteId* id_ptr = &dummySiteid; // Eugene: should be initialised with nullptr? SinexReceiver* rec_ptr = &dummyReceiver; SinexAntenna* ant_ptr = &dummyAntenna; SinexSiteEcc* ecc_ptr = &dummySiteEcc; UYds start; - UYds stop = UYds(-1, -1, -1); + UYds stop; bool primary = false; ///< this position estimate is considered to come from a primary source VectorEcef pos; @@ -98,9 +210,10 @@ struct SinexRecData */ struct Receiver : ReceiverLogs, Rtk { - bool isPseudoRec = false; - bool invalid = false; - SinexRecData snx; ///< Antenna information + bool isPseudoRec = false; + bool invalid = false; + SinexRecData snx; ///< Antenna information + ReceiverMetadata metadata; map metaDataMap; @@ -140,7 +253,6 @@ struct Receiver : ReceiverLogs, Rtk unsigned failureSinex : 1; unsigned failureAprioriPos : 1; unsigned failureEccentricity : 1; - unsigned failureAntenna : 1; }; }; Cache> pppTideCache; @@ -154,6 +266,8 @@ struct ReceiverMap : map extern ReceiverMap receiverMap; void extractTrackedSignals(Receiver& rec, Parser& parser, ObsList* obsList = nullptr); +void extractReceiverMetadata(Receiver& rec, Parser& parser, ObsList* obsList = nullptr); +void syncReceiverMetadata(Receiver& rec); struct Network { diff --git a/src/cpp/common/receiverMetadata.cpp b/src/cpp/common/receiverMetadata.cpp new file mode 100644 index 000000000..b3ff12dbd --- /dev/null +++ b/src/cpp/common/receiverMetadata.cpp @@ -0,0 +1,281 @@ +#include +#include "common/acsConfig.hpp" +#include "common/receiver.hpp" +#include "common/rtcmDecoder.hpp" +#include "common/sinex.hpp" + +SinexSiteId dummySiteid; +SinexReceiver dummyReceiver; +SinexAntenna dummyAntenna; +SinexSiteEcc dummySiteEcc; + +SinexSatIdentity dummySinexSatIdentity; +SinexSatEcc dummySinexSatEcc; + +static string trimmedCopy(const string& value) +{ + return boost::algorithm::trim_copy(value); +} + +static void ingestTrimmedReceiverMetaField( + ReceiverMetaField& field, + const string& candidate, + E_ReceiverMetaSource source, + const vector& priorityOrder +) +{ + string trimmed = trimmedCopy(candidate); + + ingestReceiverMetaField(field, trimmed, trimmed.empty() == false, source, priorityOrder); +} + +static bool hasRtcmStationPosition(const RtcmStationInfo& rtcmInfo) +{ + if (rtcmInfo.physicalStationId >= 0) + { + return rtcmInfo.physEcefX != 0 || rtcmInfo.physEcefY != 0 || rtcmInfo.physEcefZ != 0; + } + + return rtcmInfo.ecefX != 0 || rtcmInfo.ecefY != 0 || rtcmInfo.ecefZ != 0; +} + +static bool hasConfigAntennaDelta(const ReceiverOptions& recOpts) +{ + return recOpts.eccentricityModel.enable && + (isInited(recOpts, recOpts.eccentricityModel.eccentricity) || + recOpts.eccentricityModel.eccentricity.isZero() == false); +} + +static bool sinexAntennaDelta(const SinexRecData& recSnx, Vector3d& antennaDelta) +{ + if (recSnx.ecc_ptr == &dummySiteEcc) + { + return false; + } + + antennaDelta = Vector3d(recSnx.ecc_ptr->ecc); + return true; +} + +void ReceiverMetadata::reset() +{ + *this = ReceiverMetadata(); +} + +void ReceiverMetadata::setPriority(const vector& priorityOrder) +{ + if (priorityOrder.empty()) + { + sourcePriority = defaultReceiverMetaSourcePriority(); + return; + } + + sourcePriority = priorityOrder; +} + +void ReceiverMetadata::ingestConfig(const ReceiverOptions& recOpts) +{ + setPriority(recOpts.meta_priority); + + ingestTrimmedReceiverMetaField( + receiverType, + recOpts.receiver_type, + E_ReceiverMetaSource::CONFIG, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaDescriptor, + recOpts.antenna_type, + E_ReceiverMetaSource::CONFIG, + sourcePriority + ); + ingestReceiverMetaField( + antennaDelta, + recOpts.eccentricityModel.eccentricity, + hasConfigAntennaDelta(recOpts), + E_ReceiverMetaSource::CONFIG, + sourcePriority + ); + ingestReceiverMetaField( + stationPosition, + recOpts.apriori_pos, + recOpts.apriori_pos.isZero() == false, + E_ReceiverMetaSource::CONFIG, + sourcePriority + ); +} + +void ReceiverMetadata::ingestSinex(const SinexRecData& recSnx) +{ + Vector3d antennaDeltaCandidate = Vector3d::Zero(); + bool hasAntennaDelta = sinexAntennaDelta(recSnx, antennaDeltaCandidate); + + ingestTrimmedReceiverMetaField( + receiverType, + recSnx.rec_ptr->type, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverFirmware, + recSnx.rec_ptr->firm, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverSerial, + recSnx.rec_ptr->sn, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaDescriptor, + recSnx.ant_ptr->type, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaSerial, + recSnx.ant_ptr->sn, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestReceiverMetaField( + antennaDelta, + antennaDeltaCandidate, + hasAntennaDelta, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); + ingestReceiverMetaField( + stationPosition, + Vector3d(recSnx.pos), + recSnx.pos.isZero() == false, + E_ReceiverMetaSource::SINEX, + sourcePriority + ); +} + +void ReceiverMetadata::ingestRinex(const RinexStation& rnxRec) +{ + ingestTrimmedReceiverMetaField( + receiverType, + rnxRec.recType, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverFirmware, + rnxRec.recFWVersion, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverSerial, + rnxRec.recSerial, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaDescriptor, + rnxRec.antDesc, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaSerial, + rnxRec.antSerial, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + markerName, + rnxRec.id, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + markerNumber, + rnxRec.marker, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestReceiverMetaField( + antennaDelta, + rnxRec.del, + true, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); + ingestReceiverMetaField( + stationPosition, + rnxRec.pos, + rnxRec.pos.isZero() == false, + E_ReceiverMetaSource::RINEX, + sourcePriority + ); +} + +void ReceiverMetadata::ingestRtcm(const RtcmStationInfo& rtcmInfo) +{ + ingestTrimmedReceiverMetaField( + receiverType, + rtcmInfo.receiverType, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverFirmware, + rtcmInfo.receiverFirmware, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + receiverSerial, + rtcmInfo.receiverSerial, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaDescriptor, + rtcmInfo.antennaDesc, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + ingestTrimmedReceiverMetaField( + antennaSerial, + rtcmInfo.antennaSerial, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + ingestReceiverMetaField( + antennaDelta, + Vector3d(0, 0, rtcmInfo.antennaHeight), + rtcmInfo.hasAntennaHeight, + E_ReceiverMetaSource::RTCM, + sourcePriority + ); + + Vector3d rtcmPosition = {rtcmInfo.ecefX, rtcmInfo.ecefY, rtcmInfo.ecefZ}; + if (rtcmInfo.physicalStationId >= 0) + { + rtcmPosition = {rtcmInfo.physEcefX, rtcmInfo.physEcefY, rtcmInfo.physEcefZ}; + } + + ingestReceiverMetaField( + stationPosition, + rtcmPosition, + hasRtcmStationPosition(rtcmInfo), + E_ReceiverMetaSource::RTCM, + sourcePriority + ); +} + +void syncReceiverMetadata(Receiver& rec) +{ + rec.receiverType = rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : ""; + rec.antennaType = + rec.metadata.antennaDescriptor.valid ? rec.metadata.antennaDescriptor.value : ""; + rec.antDelta = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : VectorEnu::Zero(); +} diff --git a/src/cpp/common/rinex.cpp b/src/cpp/common/rinex.cpp index 9acc380e2..8a52899d7 100644 --- a/src/cpp/common/rinex.cpp +++ b/src/cpp/common/rinex.cpp @@ -822,7 +822,6 @@ int decodeObsEpoch( int n = 0; char* buff = &line[0]; - if (ver <= 2.99) { // ver.2 @@ -879,7 +878,7 @@ int decodeObsEpoch( if (flag >= 3 && flag <= 5) return n; - if (buff[0] != '>' || str2time(buff, 1, 28, time, tsys)) + if (buff[0] != '>' || str2time(buff, 2, 29, time, tsys)) { BOOST_LOG_TRIVIAL(debug) << "rinex obs invalid epoch: epoch=" << buff; return 0; @@ -1510,7 +1509,7 @@ int decodeGeph( if (ver >= 3.05) { - // todo Eugene: additional records from version 3.05 and on + // todo? additional records from version 3.05 and on } // some receiver output >128 for minus frequency number @@ -2040,7 +2039,7 @@ int readRnxNavB( return decodeGeph(ver, Sat, toc, data, geph); } break; - } // todo Eugene: additional records from version 3.05 and on + } // todo? additional records from version 3.05 and on case E_NavMsgType::SBAS: { if (data.size() >= 15) diff --git a/src/cpp/common/rinexClkWrite.cpp b/src/cpp/common/rinexClkWrite.cpp index 4977cca6a..058ee4dbf 100644 --- a/src/cpp/common/rinexClkWrite.cpp +++ b/src/cpp/common/rinexClkWrite.cpp @@ -234,8 +234,7 @@ void getSatClksFromEph( ephType, E_OffsetType::COM, nav - ); // use both for now to get ssr - // clocks if required + ); // use both for now to get ssr clocks if required if (pass == false) { BOOST_LOG_TRIVIAL(warning) @@ -466,7 +465,7 @@ void outputClocksSet( ClockEntry referenceRec; referenceRec.isRec = false; - switch (clkDataSatSrcs.front()) // todo aaron, remove this function + switch (clkDataSatSrcs.front()) // todo? remove this function { case E_Source::NONE: break; diff --git a/src/cpp/common/rinexNavWrite.cpp b/src/cpp/common/rinexNavWrite.cpp index be3e0e5a7..0a4517baf 100644 --- a/src/cpp/common/rinexNavWrite.cpp +++ b/src/cpp/common/rinexNavWrite.cpp @@ -257,7 +257,7 @@ void outputNavRinexGeph(Geph& geph, Trace& trace, const double rnxver) if (rnxver >= 3.05) { - // todo Eugene: additional records from version 3.05 and on + // todo? additional records from version 3.05 and on } } diff --git a/src/cpp/common/rinexObsWrite.cpp b/src/cpp/common/rinexObsWrite.cpp index a1ac472b0..fdd9756f5 100644 --- a/src/cpp/common/rinexObsWrite.cpp +++ b/src/cpp/common/rinexObsWrite.cpp @@ -225,13 +225,22 @@ void writeRinexObsHeader( "OBSERVER / AGENCY" ); + string receiverType = + rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : rec.receiverType; + string antennaType = rec.metadata.antennaDescriptor.valid ? rec.metadata.antennaDescriptor.value + : rec.antennaType; + VectorEnu antennaDelta = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : rec.antDelta; + tracepdeex( 0, rinexStream, "%-20.20s%-20.20s%-20.20s%-20s\n", - snx.rec_ptr->sn, - rec.receiverType.c_str(), - snx.rec_ptr->firm, + rec.metadata.receiverSerial.valid ? rec.metadata.receiverSerial.value.c_str() + : snx.rec_ptr->sn, + receiverType.c_str(), + rec.metadata.receiverFirmware.valid ? rec.metadata.receiverFirmware.value.c_str() + : snx.rec_ptr->firm, "REC # / TYPE / VERS" ); @@ -239,8 +248,9 @@ void writeRinexObsHeader( 0, rinexStream, "%-20.20s%-20.20s%-20.20s%-20s\n", - snx.ant_ptr->sn, - rec.antennaType.c_str(), + rec.metadata.antennaSerial.valid ? rec.metadata.antennaSerial.value.c_str() + : snx.ant_ptr->sn, + antennaType.c_str(), "", "ANT # / TYPE" ); @@ -260,9 +270,9 @@ void writeRinexObsHeader( 0, rinexStream, "%14.4f%14.4f%14.4f%-18s%-20s\n", - rec.antDelta[2], - rec.antDelta[0], - rec.antDelta[1], + antennaDelta[2], + antennaDelta[0], + antennaDelta[1], "", "ANTENNA: DELTA H/E/N" ); diff --git a/src/cpp/common/rtcmDecoder.cpp b/src/cpp/common/rtcmDecoder.cpp index 63547a09b..20d74a7f3 100644 --- a/src/cpp/common/rtcmDecoder.cpp +++ b/src/cpp/common/rtcmDecoder.cpp @@ -43,7 +43,7 @@ GTime RtcmDecoder::rtcmTime() time = rtcmTimestampTime; else if (tsync != GTime::noTime()) time = tsync; - // todo Eugene: gps nav + // todo? gps nav else time = timeGet(); @@ -145,7 +145,15 @@ void RtcmDecoder::decodeSSR(vector& data) ///< stream data string messCodeStr = enum_to_string(messCode); string messTypeStr = messCodeStr.substr(8); - E_Sys sys = rtcmMessageSystemMap[messCode]; + auto sysIt = rtcmMessageSystemMap.find(messCode); + if (sysIt == rtcmMessageSystemMap.end()) + { + BOOST_LOG_TRIVIAL(error) << "No message-system mapping for " << messCode << " in " + << __FUNCTION__; + return; + } + + E_Sys sys = sysIt->second; if (sys == E_Sys::NONE) { @@ -464,7 +472,7 @@ void RtcmDecoder::decodeSSR(vector& data) ///< stream data continue; } - ssrBiasCode.obsCodeBiasMap[obsCode].bias = bias; // todo aaron missing var + ssrBiasCode.obsCodeBiasMap[obsCode].bias = bias; // todo? missing var if (acsConfig.output_decoded_rtcm_json) traceSsrCodeBias(messCode, Sat, obsCode, ssrBiasCode); @@ -575,7 +583,7 @@ void RtcmDecoder::decodeSSR(vector& data) ///< stream data } ssrBiasPhas.obsCodeBiasMap[obsCode].bias = - bias; // offset meters due to satellite rotation. //todo aaron missing var + bias; // offset meters due to satellite rotation. //todo? missing var ssrBiasPhas.ssrPhaseChs[obsCode] = ssrPhaseCh; if (acsConfig.output_decoded_rtcm_json) @@ -917,33 +925,33 @@ void RtcmDecoder::decodeEphemeris(vector& data) ///< stream data int prn = getbituInc(data, i, 6); eph.weekRollOver = getbituInc(data, i, 12); eph.week = adjGstWeek(eph.weekRollOver) + - 1024; // rolled-over week -> full week number and align to GPST - eph.iode = getbituInc(data, i, 10); - eph.iodc = eph.iode; // Documented as IODnav - eph.sva = getbituInc(data, i, 8); - eph.ura[0] = svaToSisa(eph.sva); // Documented SISA - eph.idot = getbitsInc(data, i, 14) * P2_43 * SC2RAD; - eph.tocs = getbituInc(data, i, 14) * 60.0; - eph.f2 = getbitsInc(data, i, 6) * P2_59; - eph.f1 = getbitsInc(data, i, 21) * P2_46; - eph.f0 = getbitsInc(data, i, 31) * P2_34; - eph.crs = getbitsInc(data, i, 16) * P2_5; - eph.deln = getbitsInc(data, i, 16) * P2_43 * SC2RAD; - eph.M0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; - eph.cuc = getbitsInc(data, i, 16) * P2_29; - eph.e = getbituInc(data, i, 32) * P2_33; - eph.cus = getbitsInc(data, i, 16) * P2_29; - eph.sqrtA = getbituInc(data, i, 32) * P2_19; - eph.A = SQR(eph.sqrtA); - eph.toes = getbituInc(data, i, 14) * 60.0; - eph.cic = getbitsInc(data, i, 16) * P2_29; - eph.OMG0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; - eph.cis = getbitsInc(data, i, 16) * P2_29; - eph.i0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; - eph.crc = getbitsInc(data, i, 16) * P2_5; - eph.omg = getbitsInc(data, i, 32) * P2_31 * SC2RAD; - eph.OMGd = getbitsInc(data, i, 24) * P2_43 * SC2RAD; - eph.tgd[0] = getbitsInc(data, i, 10) * P2_32; + 1024; // rolled-over week -> full week number and align to GPST + eph.iode = getbituInc(data, i, 10); + eph.iodc = eph.iode; // Documented as IODnav + eph.sva = getbituInc(data, i, 8); + eph.ura[0] = svaToSisa(eph.sva); // Documented SISA + eph.idot = getbitsInc(data, i, 14) * P2_43 * SC2RAD; + eph.tocs = getbituInc(data, i, 14) * 60.0; + eph.f2 = getbitsInc(data, i, 6) * P2_59; + eph.f1 = getbitsInc(data, i, 21) * P2_46; + eph.f0 = getbitsInc(data, i, 31) * P2_34; + eph.crs = getbitsInc(data, i, 16) * P2_5; + eph.deln = getbitsInc(data, i, 16) * P2_43 * SC2RAD; + eph.M0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; + eph.cuc = getbitsInc(data, i, 16) * P2_29; + eph.e = getbituInc(data, i, 32) * P2_33; + eph.cus = getbitsInc(data, i, 16) * P2_29; + eph.sqrtA = getbituInc(data, i, 32) * P2_19; + eph.A = SQR(eph.sqrtA); + eph.toes = getbituInc(data, i, 14) * 60.0; + eph.cic = getbitsInc(data, i, 16) * P2_29; + eph.OMG0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; + eph.cis = getbitsInc(data, i, 16) * P2_29; + eph.i0 = getbitsInc(data, i, 32) * P2_31 * SC2RAD; + eph.crc = getbitsInc(data, i, 16) * P2_5; + eph.omg = getbitsInc(data, i, 32) * P2_31 * SC2RAD; + eph.OMGd = getbitsInc(data, i, 24) * P2_43 * SC2RAD; + eph.tgd[0] = getbitsInc(data, i, 10) * P2_32; if (messCode == RtcmMessageType::GAL_FNAV_EPHEMERIS) { @@ -1236,6 +1244,8 @@ ObsList RtcmDecoder::decodeMSM(vector& data) int smoothing_indicator = getbituInc(data, i, 1); int smoothing_interval = getbituInc(data, i, 3); + lastReferenceStationId = reference_station_id; + RtcmMessageType messCode; try { @@ -1363,6 +1373,11 @@ ObsList RtcmDecoder::decodeMSM(vector& data) nsat++; } + if (nsat == 0) + { + return obsList; + } + // create a temporary list of signals vector signalMaskList; for (int sig = 0; sig < 32; sig++) @@ -1397,9 +1412,9 @@ ObsList RtcmDecoder::decodeMSM(vector& data) if (code2Freq.find(rtcmsys) != code2Freq.end()) { if (code2Freq[rtcmsys].find(sig.code) != - code2Freq[rtcmsys].end( - )) // must not skip unknwon/unsupported systems or signals in the list of - // signals -- unknown != no observation + code2Freq[rtcmsys] + .end()) // must not skip unknwon/unsupported systems or signals in the list + // of signals -- unknown != no observation { ft = code2Freq[rtcmsys][sig.code]; } @@ -1638,6 +1653,471 @@ void RtcmDecoder::traceLatency(GTime tobs) numMessagesLatency++; } +static void +logRtcmStationInfoDebug(int stationId, const RtcmStationInfo& info, const char* sourceMsg) +{ + BOOST_LOG_TRIVIAL(debug) << "RTCM stationInfo (" << sourceMsg << "): stationId=" << stationId + << " ecef=[" << info.ecefX << "," << info.ecefY << "," << info.ecefZ + << "]" + << " antH=" << info.antennaHeight << " sys[gps,glo,gal,ref]=[" + << info.gpsSys << "," << info.gloSys << "," << info.galSys << "," + << info.refStation << "]" + << " singleOsc=" << info.singleOsc + << " quarterCycle=" << info.quarterCycle << " antDesc='" + << info.antennaDesc << "'" + << " antSetup=" << info.antennaSetupId << " antSerial='" + << info.antennaSerial << "'" + << " recType='" << info.receiverType << "'" + << " recFw='" << info.receiverFirmware << "'" + << " recSerial='" << info.receiverSerial << "'" + << " physId=" << info.physicalStationId << " physEcef=[" + << info.physEcefX << "," << info.physEcefY << "," << info.physEcefZ + << "]"; +} + +static bool decodeStationaryRtkRefArp1005( + vector& message, + map& stationInfoMap +) +{ + constexpr int RTCM1005_BITS = 152; + if ((int)message.size() * 8 < RTCM1005_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1005 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t stationId = getbituInc(message, i, 12); + uint32_t reserved6 = getbituInc(message, i, 6); + uint32_t gpsInd = getbituInc(message, i, 1); + uint32_t gloInd = getbituInc(message, i, 1); + uint32_t galInd = getbituInc(message, i, 1); + uint32_t refStationInd = getbituInc(message, i, 1); + + auto getSigned38 = [&](int& bitPos) -> int64_t + { + uint64_t raw = (uint64_t)getbituInc(message, bitPos, 32); + raw = (raw << 6) | getbituInc(message, bitPos, 6); + + if (raw & (uint64_t(1) << 37)) + { + raw |= (~uint64_t(0) << 38); + } + + return (int64_t)raw; + }; + + double ecefX = getSigned38(i) * 0.0001; + + uint32_t singleReceiverOsc = getbituInc(message, i, 1); + uint32_t reserved1 = getbituInc(message, i, 1); + + double ecefY = getSigned38(i) * 0.0001; + + uint32_t quarterCycleInd = getbituInc(message, i, 2); + + double ecefZ = getSigned38(i) * 0.0001; + + auto& info = stationInfoMap[stationId]; + info.ecefX = ecefX; + info.ecefY = ecefY; + info.ecefZ = ecefZ; + info.hasAntennaHeight = false; + info.gpsSys = gpsInd != 0; + info.gloSys = gloInd != 0; + info.galSys = galInd != 0; + info.refStation = refStationInd != 0; + info.singleOsc = singleReceiverOsc != 0; + info.quarterCycle = (int)quarterCycleInd; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1005 decoded: stationId=" << stationId << " gps=" << gpsInd + << " glo=" << gloInd << " gal=" << galInd << " ref=" << refStationInd + << " x=" << ecefX << " y=" << ecefY << " z=" << ecefZ + << " singleOsc=" << singleReceiverOsc + << " quarterCycle=" << quarterCycleInd; + logRtcmStationInfoDebug((int)stationId, info, "1005"); + + (void)messageNumber; + (void)reserved1; + (void)reserved6; + + return true; +} + +static bool decodeStationaryRtkRefAprHeight1006( + vector& message, + map& stationInfoMap +) +{ + constexpr int RTCM1006_BITS = 168; + if ((int)message.size() * 8 < RTCM1006_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1006 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t stationId = getbituInc(message, i, 12); + uint32_t reserved6 = getbituInc(message, i, 6); + uint32_t gpsInd = getbituInc(message, i, 1); + uint32_t gloInd = getbituInc(message, i, 1); + uint32_t galInd = getbituInc(message, i, 1); + uint32_t refStationInd = getbituInc(message, i, 1); + + auto getSigned38 = [&](int& bitPos) -> int64_t + { + uint64_t raw = (uint64_t)getbituInc(message, bitPos, 32); + raw = (raw << 6) | getbituInc(message, bitPos, 6); + + if (raw & (uint64_t(1) << 37)) + { + raw |= (~uint64_t(0) << 38); + } + + return (int64_t)raw; + }; + + double ecefX = getSigned38(i) * 0.0001; + + uint32_t singleReceiverOsc = getbituInc(message, i, 1); + uint32_t reserved1 = getbituInc(message, i, 1); + + double ecefY = getSigned38(i) * 0.0001; + + uint32_t quarterCycleInd = getbituInc(message, i, 2); + + double ecefZ = getSigned38(i) * 0.0001; + + uint32_t antennaHeight = getbituInc(message, i, 16); + double antennaHeightMeters = antennaHeight * 0.0001; + + auto& info = stationInfoMap[stationId]; + info.ecefX = ecefX; + info.ecefY = ecefY; + info.ecefZ = ecefZ; + info.antennaHeight = antennaHeightMeters; + info.hasAntennaHeight = true; + info.gpsSys = gpsInd != 0; + info.gloSys = gloInd != 0; + info.galSys = galInd != 0; + info.refStation = refStationInd != 0; + info.singleOsc = singleReceiverOsc != 0; + info.quarterCycle = (int)quarterCycleInd; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1006 decoded: stationId=" << stationId << " gps=" << gpsInd + << " glo=" << gloInd << " gal=" << galInd << " ref=" << refStationInd + << " x=" << ecefX << " y=" << ecefY << " z=" << ecefZ + << " singleOsc=" << singleReceiverOsc + << " quarterCycle=" << quarterCycleInd + << " height=" << antennaHeightMeters; + logRtcmStationInfoDebug((int)stationId, info, "1006"); + + (void)messageNumber; + (void)reserved1; + (void)reserved6; + + return true; +} + +static bool decodeAntennaDescriptors1007( + vector& message, + map& stationInfoMap +) +{ + constexpr int RTCM1007_MIN_BITS = 40; // 12+12+8+0+8 (minimum with zero-length descriptor) + + int totalBits = (int)message.size() * 8; + if (totalBits < RTCM1007_MIN_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1007 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t stationId = getbituInc(message, i, 12); + uint32_t descriptorLen = getbituInc(message, i, 8); + + // Validate we have enough bits for descriptor + setup ID + int requiredBits = i + (descriptorLen * 8) + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1007 descriptor overrun: len=" << message.size() + << " needed=" << (requiredBits / 8); + return false; + } + + // Read ASCII descriptor string + std::string descriptor; + for (uint32_t j = 0; j < descriptorLen; ++j) + { + descriptor += (char)getbituInc(message, i, 8); + } + + uint32_t setupId = getbituInc(message, i, 8); + + auto& info = stationInfoMap[stationId]; + info.antennaDesc = descriptor; + info.antennaSetupId = (int)setupId; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1007 decoded: stationId=" << stationId << " descriptor='" + << descriptor << "' setupId=" << setupId; + logRtcmStationInfoDebug((int)stationId, info, "1007"); + + (void)messageNumber; + + return true; +} + +static bool decodeAntennaDescriptorsSerial1008( + vector& message, + map& stationInfoMap +) +{ + constexpr int RTCM1008_MIN_BITS = + 56; // 12+12+8+0+8+8+0 (minimum with zero-length descriptor and serial) + + int totalBits = (int)message.size() * 8; + if (totalBits < RTCM1008_MIN_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1008 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t stationId = getbituInc(message, i, 12); + uint32_t descriptorLen = getbituInc(message, i, 8); + + // Validate we have enough bits for descriptor + setup ID + serial count + int requiredBits = i + (descriptorLen * 8) + 8 + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1008 descriptor overrun: len=" << message.size() + << " needed=" << (requiredBits / 8); + return false; + } + + // Read ASCII descriptor string + std::string descriptor; + for (uint32_t j = 0; j < descriptorLen; ++j) + { + descriptor += (char)getbituInc(message, i, 8); + } + + uint32_t setupId = getbituInc(message, i, 8); + uint32_t serialNumberLen = getbituInc(message, i, 8); + + // Validate we have enough bits for serial number string + requiredBits = i + (serialNumberLen * 8); + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1008 serial number overrun: len=" << message.size() + << " needed=" << (requiredBits / 8); + return false; + } + + // Read ASCII serial number string + std::string serialNumber; + for (uint32_t j = 0; j < serialNumberLen; ++j) + { + serialNumber += (char)getbituInc(message, i, 8); + } + + auto& info = stationInfoMap[stationId]; + info.antennaDesc = descriptor; + info.antennaSetupId = (int)setupId; + info.antennaSerial = serialNumber; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1008 decoded: stationId=" << stationId << " descriptor='" + << descriptor << "' setupId=" << setupId << " serialNumber='" + << serialNumber << "'"; + logRtcmStationInfoDebug((int)stationId, info, "1008"); + + (void)messageNumber; + + return true; +} + +static bool decodeAntennaReceiverDescriptor1033( + vector& message, + map& stationInfoMap +) +{ + constexpr int RTCM1033_MIN_BITS = + 80; // 12+12+8+0+8+8+0+8+0+8+0 (minimum with all zero-length descriptors) + + int totalBits = (int)message.size() * 8; + if (totalBits < RTCM1033_MIN_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t stationId = getbituInc(message, i, 12); + + // Antenna descriptor + uint32_t antennaDescLen = getbituInc(message, i, 8); + int requiredBits = i + (antennaDescLen * 8) + 8 + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 antenna descriptor overrun: len=" << message.size(); + return false; + } + + std::string antennaDesc; + for (uint32_t j = 0; j < antennaDescLen; ++j) + { + antennaDesc += (char)getbituInc(message, i, 8); + } + + uint32_t antennaSetupId = getbituInc(message, i, 8); + + // Antenna serial number + uint32_t antennaSerialLen = getbituInc(message, i, 8); + requiredBits = i + (antennaSerialLen * 8) + 8 + 8 + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 antenna serial overrun: len=" << message.size(); + return false; + } + + std::string antennaSerial; + for (uint32_t j = 0; j < antennaSerialLen; ++j) + { + antennaSerial += (char)getbituInc(message, i, 8); + } + + // Receiver type descriptor + uint32_t receiverTypeLen = getbituInc(message, i, 8); + requiredBits = i + (receiverTypeLen * 8) + 8 + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 receiver type overrun: len=" << message.size(); + return false; + } + + std::string receiverType; + for (uint32_t j = 0; j < receiverTypeLen; ++j) + { + receiverType += (char)getbituInc(message, i, 8); + } + + // Receiver firmware version + uint32_t receiverFirmwareLen = getbituInc(message, i, 8); + requiredBits = i + (receiverFirmwareLen * 8) + 8; + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 receiver firmware overrun: len=" << message.size(); + return false; + } + + std::string receiverFirmware; + for (uint32_t j = 0; j < receiverFirmwareLen; ++j) + { + receiverFirmware += (char)getbituInc(message, i, 8); + } + + // Receiver serial number + uint32_t receiverSerialLen = getbituInc(message, i, 8); + requiredBits = i + (receiverSerialLen * 8); + if (totalBits < requiredBits) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1033 receiver serial overrun: len=" << message.size(); + return false; + } + + std::string receiverSerial; + for (uint32_t j = 0; j < receiverSerialLen; ++j) + { + receiverSerial += (char)getbituInc(message, i, 8); + } + + auto& info = stationInfoMap[stationId]; + info.antennaDesc = antennaDesc; + info.antennaSetupId = antennaSetupId; + info.antennaSerial = antennaSerial; + info.receiverType = receiverType; + info.receiverFirmware = receiverFirmware; + info.receiverSerial = receiverSerial; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1033 decoded: stationId=" << stationId << " antenna='" + << antennaDesc << "' antennaSetup=" << antennaSetupId << " antSerial='" + << antennaSerial << "'" + << " receiver='" << receiverType << "' firmware='" << receiverFirmware + << "' serial='" << receiverSerial << "'"; + logRtcmStationInfoDebug((int)stationId, info, "1033"); + + (void)messageNumber; + + return true; +} + +static bool decodePhysicalRefStationPosition1032( + vector& message, + map& stationInfoMap +) +{ + // 1032 layout: msgNum(12) + nonPhysicalStationId(12) + physicalStationId(12) + // + reserved6(6) + ecefX(38) + ecefY(38) + ecefZ(38) = 156 bits + constexpr int RTCM1032_BITS = 156; + if ((int)message.size() * 8 < RTCM1032_BITS) + { + BOOST_LOG_TRIVIAL(error) << "RTCM3 1032 length error: len=" << message.size(); + return false; + } + + int i = 0; + + uint32_t messageNumber = getbituInc(message, i, 12); + uint32_t nonPhysicalStationId = getbituInc(message, i, 12); + uint32_t physicalStationId = getbituInc(message, i, 12); + uint32_t reserved6 = getbituInc(message, i, 6); + + auto getSigned38 = [&](int& bitPos) -> int64_t + { + uint64_t raw = (uint64_t)getbituInc(message, bitPos, 32); + raw = (raw << 6) | getbituInc(message, bitPos, 6); + + if (raw & (uint64_t(1) << 37)) + { + raw |= (~uint64_t(0) << 38); + } + + return (int64_t)raw; + }; + + double ecefX = getSigned38(i) * 0.0001; + double ecefY = getSigned38(i) * 0.0001; + double ecefZ = getSigned38(i) * 0.0001; + + BOOST_LOG_TRIVIAL(debug) << "RTCM 1032 decoded: nonPhysicalStationId=" << nonPhysicalStationId + << " physicalStationId=" << physicalStationId << " x=" << ecefX + << " y=" << ecefY << " z=" << ecefZ; + auto& info = stationInfoMap[nonPhysicalStationId]; + info.physicalStationId = physicalStationId; + info.physEcefX = ecefX; + info.physEcefY = ecefY; + info.physEcefZ = ecefZ; + + logRtcmStationInfoDebug((int)nonPhysicalStationId, info, "1032"); + + (void)messageNumber; + (void)reserved6; + + return true; +} + E_ReturnType RtcmDecoder::decode(vector& message) { E_ReturnType retVal = E_ReturnType::OK; @@ -1645,7 +2125,7 @@ E_ReturnType RtcmDecoder::decode(vector& message) int messageNumber = getbitu(message, 0, 12); RtcmMessageType messCode = messageNumberToRtcmType(messageNumber); - // std::cout << "\n" << "Received " << enum_to_string(messageNumberToRtcmType(messageNumber)); + BOOST_LOG_TRIVIAL(debug) << "Received " << enum_to_string(messCode) << ", decoding ..."; switch (messCode) { @@ -1656,6 +2136,42 @@ E_ReturnType RtcmDecoder::decode(vector& message) case RtcmMessageType::CUSTOM: retVal = decodeCustom(message); break; + case RtcmMessageType::STATIONARY_RTK_REF_ARP: + if (decodeStationaryRtkRefArp1005(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; + case RtcmMessageType::STATIONARY_RTK_REF_ARP_HEIGHT: + if (decodeStationaryRtkRefAprHeight1006(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; + case RtcmMessageType::ANTENNA_DESCRIPTOR: + if (decodeAntennaDescriptors1007(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; + case RtcmMessageType::ANTENNA_DESCRIPTOR_SN: + if (decodeAntennaDescriptorsSerial1008(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; + case RtcmMessageType::ANTENNA_RECEIVER_DESCRIPTOR: + if (decodeAntennaReceiverDescriptor1033(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; + case RtcmMessageType::PHYSICAL_REF_STATION_POSITION: + if (decodePhysicalRefStationPosition1032(message, stationInfoMap) == false) + { + retVal = E_ReturnType::BAD_LENGTH; + } + break; case RtcmMessageType::GPS_EPHEMERIS: // fallthrough case RtcmMessageType::GLO_EPHEMERIS: // fallthrough case RtcmMessageType::BDS_EPHEMERIS: // fallthrough @@ -1736,12 +2252,23 @@ E_ReturnType RtcmDecoder::decode(vector& message) int i = 54; int multimessage = getbituInc(message, i, 1); + if (obsList.size() > 0) + { + BOOST_LOG_TRIVIAL(debug) << "Parsed " << obsList.size() + << " obs, obsTime=" << obsList.front()->time.to_string(6) + << ", multimessage=" << multimessage; + } + else + { + BOOST_LOG_TRIVIAL(debug) << "No obs parsed, multimessage=" << multimessage; + } + // tracepdeex(0, std::cout, "\n%2d %s %2d %2d ", messageId, // obsList.front()->time.to_string().c_str(), obsList.size(), multimessage); if (superObsList.empty() == false && obsList.empty() == false && fabs((superObsList.front()->time - obsList.front()->time).to_double()) > - DTTOL) // todo aaron ew, fix + DTTOL) // todo? Use epoch tolerance? { // time delta, push the old list and start a new one obsListList.push_back(std::move(superObsList)); @@ -1755,10 +2282,20 @@ E_ReturnType RtcmDecoder::decode(vector& message) if (multimessage == 0) { - obsListList.push_back(std::move(superObsList)); - superObsList.clear(); + if (superObsList.empty() == false) + { + obsListList.push_back(std::move(superObsList)); + superObsList.clear(); - retVal = E_ReturnType::GOT_OBS; + retVal = E_ReturnType::GOT_OBS; + } + else + { + BOOST_LOG_TRIVIAL(info) + << "RTCM decoder reached multimessage flush with empty superObsList" + << ", messageType=" << enum_to_string(messCode) + << ", multimessage=" << multimessage << ", decoded_obs=" << obsList.size(); + } } if (superObsList.size() > 1000) @@ -1794,22 +2331,22 @@ E_ReturnType RtcmDecoder::decode(vector& message) /** extract unsigned bits from byte data */ -unsigned int getbitu( +uint32_t getbitu( const unsigned char* buff, ///< byte data int pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) ) { - unsigned int bits = 0; + uint32_t bits = 0; for (int i = pos; i < pos + len; i++) - bits = (bits << 1) + ((buff[i / 8] >> (7 - i % 8)) & 1u); + bits = (bits << 1) + ((buff[i / 8] >> (7 - i % 8)) & uint32_t(1)); return bits; } /** extract unsigned bits from RTCM messages */ -unsigned int getbitu( +uint32_t getbitu( vector& buff, ///< RTCM messages int pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) @@ -1820,16 +2357,16 @@ unsigned int getbitu( /** extract signed bits from byte data */ -int getbits( +int32_t getbits( const unsigned char* buff, ///< byte data int pos, ///< bit position from start of data (bits) int len, ///< bit length (bits) (len<=32) bool* failure_ptr ///< pointer for failure flag ) { - unsigned int bits = getbitu(buff, pos, len); + uint32_t bits = getbitu(buff, pos, len); - long int invalid = (1ul << (len - 1)); + uint32_t invalid = (uint32_t(1) << (len - 1)); if (bits == invalid) { @@ -1842,29 +2379,29 @@ int getbits( } } - if (len <= 0 || len >= 32 || !(bits & (1u << (len - 1)))) + if (len <= 0 || len >= 32 || !(bits & (uint32_t(1) << (len - 1)))) { - return (int)bits; + return (int32_t)bits; } - return (int)(bits | (~0u << len)); /* extend sign */ + return (int32_t)(bits | (~uint32_t(0) << len)); /* extend sign */ } /** increasingly extract unsigned bits from byte data */ -unsigned int getbituInc( +uint32_t getbituInc( const unsigned char* buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) ) { - unsigned int ans = getbitu(buff, pos, len); + uint32_t ans = getbitu(buff, pos, len); pos += len; return ans; } /** increasingly extract unsigned bits from RTCM messages */ -unsigned int getbituInc( +uint32_t getbituInc( vector& buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) @@ -1875,21 +2412,56 @@ unsigned int getbituInc( /** increasingly extract signed bits from byte data */ -int getbitsInc( +int32_t getbitsInc( const unsigned char* buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len, ///< bit length (bits) (len<=32) bool* failure_ptr ///< pointer for failure flag ) { - int ans = getbits(buff, pos, len, failure_ptr); + int32_t ans = getbits(buff, pos, len, failure_ptr); pos += len; return ans; } +bool getbituIncChecked( + const unsigned char* buff, ///< byte data + int buffBits, + int& pos, ///< bit position from start of data (bits) + int len, ///< bit length (bits) (len<=32) + uint32_t& out +) +{ + if (len <= 0 || len > 32 || pos < 0 || pos + len > buffBits) + { + return false; + } + + out = getbituInc(buff, pos, len); + return true; +} + +bool getbitsIncChecked( + const unsigned char* buff, ///< byte data + int buffBits, + int& pos, ///< bit position from start of data (bits) + int len, ///< bit length (bits) (len<=32) + int32_t& out, + bool* failure_ptr ///< pointer for failure flag +) +{ + if (len <= 0 || len > 32 || pos < 0 || pos + len > buffBits) + { + return false; + } + + out = getbitsInc(buff, pos, len, failure_ptr); + return true; +} + /** increasingly extract signed bits from RTCM messages */ -int getbitsInc( +int32_t getbitsInc( vector& buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len, ///< bit length (bits) (len<=32) @@ -1899,6 +2471,27 @@ int getbitsInc( return getbitsInc(buff.data(), pos, len, failure_ptr); } +bool getbituIncChecked( + vector& buff, ///< byte data + int& pos, ///< bit position from start of data (bits) + int len, ///< bit length (bits) (len<=32) + uint32_t& out +) +{ + return getbituIncChecked(buff.data(), (int)buff.size() * 8, pos, len, out); +} + +bool getbitsIncChecked( + vector& buff, ///< byte data + int& pos, ///< bit position from start of data (bits) + int len, ///< bit length (bits) (len<=32) + int32_t& out, + bool* failure_ptr ///< pointer for failure flag +) +{ + return getbitsIncChecked(buff.data(), (int)buff.size() * 8, pos, len, out, failure_ptr); +} + /** increasingly extract signed bits from RTCM messages with scale factor/resolution applied */ double getbitsIncScale( @@ -1926,32 +2519,32 @@ double getbituIncScale( /** extract sign-magnitude bits applied in GLO nav messages from byte data */ -int getbitg( +int32_t getbitg( const unsigned char* buff, ///< byte data int pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) ) { - int value = getbitu(buff, pos + 1, len - 1); + int32_t value = getbitu(buff, pos + 1, len - 1); return getbitu(buff, pos, 1) ? -value : value; } /** increasingly extract sign-magnitude bits applied in GLO nav messages from byte data */ -int getbitgInc( +int32_t getbitgInc( const unsigned char* buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) ) { - int ans = getbitg(buff, pos, len); + int32_t ans = getbitg(buff, pos, len); pos += len; return ans; } /** increasingly extract sign-magnitude bits applied in GLO nav messages from RTCM messages */ -int getbitgInc( +int32_t getbitgInc( vector& buff, ///< byte data int& pos, ///< bit position from start of data (bits) int len ///< bit length (bits) (len<=32) diff --git a/src/cpp/common/rtcmDecoder.hpp b/src/cpp/common/rtcmDecoder.hpp index 560f6520b..f1112153a 100644 --- a/src/cpp/common/rtcmDecoder.hpp +++ b/src/cpp/common/rtcmDecoder.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include "common/acsConfig.hpp" #include "common/enums.h" #include "common/gTime.hpp" @@ -16,12 +18,71 @@ struct SignalInfo E_ObsCode obsCode; }; +struct RtcmStationInfo +{ + // From messages 1005/1006 (Stationary RTK Reference ARP) + double ecefX = 0; ///< Reference station ECEF X (m) + double ecefY = 0; ///< Reference station ECEF Y (m) + double ecefZ = 0; ///< Reference station ECEF Z (m) + double antennaHeight = 0; ///< Antenna height above marker (m), populated by 1006 + bool hasAntennaHeight = false; + bool gpsSys = false; + bool gloSys = false; + bool galSys = false; + bool refStation = false; + bool singleOsc = false; + int quarterCycle = 0; + + // From messages 1007/1008 (Antenna Descriptors) + string antennaDesc; + int antennaSetupId = 0; + string antennaSerial; ///< populated by 1008 + + // From message 1033 (Antenna and Receiver Descriptor) + string receiverType; + string receiverFirmware; + string receiverSerial; + + // From message 1032 (Physical Reference Station Position) + int physicalStationId = -1; ///< -1 if not yet received + double physEcefX = 0; + double physEcefY = 0; + double physEcefZ = 0; +}; + +inline const RtcmStationInfo* selectRtcmStationInfoForMetadata( + const map& stationInfoMap, + int lastReferenceStationId +) +{ + if (lastReferenceStationId >= 0) + { + auto it = stationInfoMap.find(lastReferenceStationId); + if (it != stationInfoMap.end()) + { + return &it->second; + } + + return nullptr; + } + + if (stationInfoMap.size() == 1) + { + return &stationInfoMap.begin()->second; + } + + return nullptr; +} + struct RtcmDecoder : RtcmTrace, ObsLister, PacketStatistics { static double rtcmDeltaTime; ///< Common time used among all rtcmDecoders for delaying decoding ///< when realtime is enabled static map receivedTimeMap; + map stationInfoMap; ///< Station metadata keyed by RTCM station ID + int lastReferenceStationId = -1; + GTime lastTimeStamp; GTime receivedTime; ///< Recent internal time from decoded rtcm messages @@ -61,7 +122,25 @@ struct RtcmDecoder : RtcmTrace, ObsLister, PacketStatistics ObsList decodeMSM(vector& message); - string recordFilename; + string recordFilename; + std::ofstream recordFile; + std::mutex recordFileMutex; + + void setRecordFilename(const string& filename) + { + std::lock_guard lock(recordFileMutex); + + if (filename == recordFilename) + return; + + if (recordFile.is_open()) + { + recordFile.flush(); + recordFile.close(); + } + + recordFilename = filename; + } void recordFrame(vector& data, unsigned int crcRead) { @@ -70,28 +149,43 @@ struct RtcmDecoder : RtcmTrace, ObsLister, PacketStatistics return; } - std::ofstream ofs(recordFilename, std::ofstream::app); + std::lock_guard lock(recordFileMutex); + + if (recordFile.is_open() == false) + { + recordFile.open(recordFilename, std::ios::app | std::ios::binary); + } - if (!ofs) + if (!recordFile) { return; } // Write the custom time stamp message. RtcmEncoder encoder; - encoder.rtcmTraceFilename = rtcmTraceFilename; + setTraceFilename(rtcmTraceFilename); auto buffer = encoder.encodeTimeStampRTCM(); bool write = encoder.encodeWriteMessageToBuffer(buffer); if (write) { - encoder.encodeWriteMessages(ofs); + encoder.encodeWriteMessages(recordFile); } // copy the message to the output file too - ofs.write((char*)data.data(), data.size()); - ofs.write((char*)&crcRead, 3); + recordFile.write((char*)data.data(), data.size()); + recordFile.write((char*)&crcRead, 3); + } + + ~RtcmDecoder() + { + std::lock_guard lock(recordFileMutex); + if (recordFile.is_open()) + { + recordFile.flush(); + recordFile.close(); + } } E_ReturnType decodeCustom(vector& message) @@ -132,7 +226,7 @@ struct RtcmDecoder : RtcmTrace, ObsLister, PacketStatistics break; } - if (1) + if (0) { int& waitingStreams = receivedTimeMap[timeStamp]; @@ -192,21 +286,62 @@ struct RtcmDecoder : RtcmTrace, ObsLister, PacketStatistics E_ReturnType decode(vector& message); }; -unsigned int getbitu(const unsigned char* buff, int pos, int len); -int getbits(const unsigned char* buff, int pos, int len, bool* failure_ptr = nullptr); -unsigned int getbituInc(const unsigned char* buff, int& pos, int len); -int getbitsInc(const unsigned char* buff, int& pos, int len, bool* failure_ptr = nullptr); +uint32_t getbitu(const unsigned char* buff, int pos, int len); +int32_t getbits(const unsigned char* buff, int pos, int len, bool* failure_ptr = nullptr); +uint32_t getbituInc(const unsigned char* buff, int& pos, int len); +int32_t getbitsInc(const unsigned char* buff, int& pos, int len, bool* failure_ptr = nullptr); + +/** Bounds-checked variant of getbituInc(). + * Returns false instead of reading when the requested bit range is outside the + * supplied buffer bounds. Intended for future decoder hardening paths that need + * to reject truncated or malformed RTCM payloads safely. + */ +[[maybe_unused]] bool +getbituIncChecked(const unsigned char* buff, int buffBits, int& pos, int len, uint32_t& out); + +/** Bounds-checked variant of getbitsInc(). + * Returns false instead of reading when the requested bit range is outside the + * supplied buffer bounds. The optional failure pointer is forwarded to the + * signed extractor when the read is valid. + */ +[[maybe_unused]] bool getbitsIncChecked( + const unsigned char* buff, + int buffBits, + int& pos, + int len, + int32_t& out, + bool* failure_ptr = nullptr +); + +int32_t getbitg(const unsigned char* buff, int pos, int len); +int32_t getbitgInc(const unsigned char* buff, int& pos, int len); + +int32_t getbitgInc(vector& buff, int& pos, int len); -int getbitg(const unsigned char* buff, int pos, int len); -int getbitgInc(const unsigned char* buff, int& pos, int len); +uint32_t getbitu(vector& buff, int pos, int len); -int getbitgInc(vector& buff, int& pos, int len); +uint32_t getbituInc(vector& buff, int& pos, int len); -unsigned int getbitu(vector& buff, int pos, int len); +int32_t getbitsInc(vector& buff, int& pos, int len, bool* failure_ptr = nullptr); -unsigned int getbituInc(vector& buff, int& pos, int len); +/** Vector overload of the bounds-checked unsigned incremental bit reader. + * Uses the vector size to derive the valid bit range before delegating to the + * raw-buffer implementation. + */ +[[maybe_unused]] bool +getbituIncChecked(vector& buff, int& pos, int len, uint32_t& out); -int getbitsInc(vector& buff, int& pos, int len, bool* failure_ptr = nullptr); +/** Vector overload of the bounds-checked signed incremental bit reader. + * Uses the vector size to derive the valid bit range before delegating to the + * raw-buffer implementation. + */ +[[maybe_unused]] bool getbitsIncChecked( + vector& buff, + int& pos, + int len, + int32_t& out, + bool* failure_ptr = nullptr +); double getbituIncScale(vector& buff, int& pos, int len, double scale); diff --git a/src/cpp/common/rtcmEncoder.cpp b/src/cpp/common/rtcmEncoder.cpp index 3a40ac112..d7ecb6aa7 100644 --- a/src/cpp/common/rtcmEncoder.cpp +++ b/src/cpp/common/rtcmEncoder.cpp @@ -85,8 +85,7 @@ void calculateSsrComb( uras[i] = ephVarToUra(ssrEphInput.vals[i].ephVar); } - if (acsConfig.ssrOpts - .extrapolate_corrections) // todo Eugene: check if ura can be interpolated + if (acsConfig.ssrOpts.extrapolate_corrections) // todo? check if ura can be interpolated { Vector3d diffRAC[2]; double diffClock[2]; @@ -139,8 +138,8 @@ void calculateSsrComb( } else { - ssrEph.deph = ecef2rac(ssrEphInput.vals[1].brdcPos, ssrEphInput.vals[1].brdcVel) * - posCorrections[1]; + ssrEph.deph = ecef2rac(ssrEphInput.vals[1].brdcPos, ssrEphInput.vals[1].brdcVel) * + posCorrections[1]; ssrClk.dclk[0] = -clkCorrections[1]; ssrUra.ura = uras[1]; tracepdeex( @@ -753,7 +752,7 @@ vector RtcmEncoder::encodeSsrPhase( if (Sat.sys == E_Sys::GPS) { rtcmCode = mCodes_gps.left.at(obsCode); - } // todo aaron, crash heaven, needs else, try + } // todo? crash heaven, needs else, try else if (Sat.sys == E_Sys::GLO) { rtcmCode = mCodes_glo.left.at(obsCode); diff --git a/src/cpp/common/rtcmTrace.cpp b/src/cpp/common/rtcmTrace.cpp index a71fa5d8c..972bfb0c9 100644 --- a/src/cpp/common/rtcmTrace.cpp +++ b/src/cpp/common/rtcmTrace.cpp @@ -86,13 +86,6 @@ void RtcmTrace::traceSsrEph(RtcmMessageType messCode, SatSys Sat, SSREph& ssrEph return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -122,7 +115,8 @@ void RtcmTrace::traceSsrEph(RtcmMessageType messCode, SatSys Sat, SSREph& ssrEph doc["DotDeltaAlongTrack"] = ssrEph.ddeph[1]; doc["DotDeltaCrossTrack"] = ssrEph.ddeph[2]; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceSsrClk(RtcmMessageType messCode, SatSys Sat, SSRClk& ssrClk) @@ -132,13 +126,6 @@ void RtcmTrace::traceSsrClk(RtcmMessageType messCode, SatSys Sat, SSRClk& ssrClk return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -153,17 +140,19 @@ void RtcmTrace::traceSsrClk(RtcmMessageType messCode, SatSys Sat, SSRClk& ssrClk doc["SSRUpdateIntervalSec"] = ssrClk.udi; doc["SSRUpdateIntervalIndex"] = ssrClk.ssrMeta.updateIntIndex; doc["MultipleMessageIndicator"] = ssrClk.ssrMeta.multipleMessage; - doc["SatReferenceDatum"] = static_cast(ssrClk.ssrMeta.referenceDatum + doc["SatReferenceDatum"] = static_cast( + ssrClk.ssrMeta.referenceDatum ); // 0 = ITRF, 1 = Regional // could be combined corrections - doc["IODSSR"] = ssrClk.iod; - doc["SSRProviderID"] = static_cast(ssrClk.ssrMeta.provider); - doc["SSRSolutionID"] = static_cast(ssrClk.ssrMeta.solution); - doc["Sat"] = Sat.id(); - doc["DeltaClockC0"] = ssrClk.dclk[0]; - doc["DeltaClockC1"] = ssrClk.dclk[1]; - doc["DeltaClockC2"] = ssrClk.dclk[2]; - - fout << boost::json::serialize(doc) << "\n"; + doc["IODSSR"] = ssrClk.iod; + doc["SSRProviderID"] = static_cast(ssrClk.ssrMeta.provider); + doc["SSRSolutionID"] = static_cast(ssrClk.ssrMeta.solution); + doc["Sat"] = Sat.id(); + doc["DeltaClockC0"] = ssrClk.dclk[0]; + doc["DeltaClockC1"] = ssrClk.dclk[1]; + doc["DeltaClockC2"] = ssrClk.dclk[2]; + + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceSsrUra(RtcmMessageType messCode, SatSys Sat, SSRUra& ssrUra) @@ -173,13 +162,6 @@ void RtcmTrace::traceSsrUra(RtcmMessageType messCode, SatSys Sat, SSRUra& ssrUra return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -200,7 +182,8 @@ void RtcmTrace::traceSsrUra(RtcmMessageType messCode, SatSys Sat, SSRUra& ssrUra doc["Sat"] = Sat.id(); doc["SSRURA"] = ssrUra.ura; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceSsrHRClk(RtcmMessageType messCode, SatSys Sat, SSRHRClk& SsrHRClk) @@ -210,13 +193,6 @@ void RtcmTrace::traceSsrHRClk(RtcmMessageType messCode, SatSys Sat, SSRHRClk& Ss return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -237,7 +213,8 @@ void RtcmTrace::traceSsrHRClk(RtcmMessageType messCode, SatSys Sat, SSRHRClk& Ss doc["Sat"] = Sat.id(); doc["HighRateClockCorr"] = SsrHRClk.hrclk; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceSsrCodeBias( @@ -252,13 +229,6 @@ void RtcmTrace::traceSsrCodeBias( return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -280,7 +250,8 @@ void RtcmTrace::traceSsrCodeBias( doc["Code"] = enum_to_string(code); doc["Bias"] = ssrBias.obsCodeBiasMap[code].bias; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceSsrPhasBias( @@ -295,13 +266,6 @@ void RtcmTrace::traceSsrPhasBias( return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -330,7 +294,8 @@ void RtcmTrace::traceSsrPhasBias( doc["SignalDiscontinuityCount"] = (int)ssrBias.ssrPhaseChs[code].signalDisconCnt; doc["Bias"] = ssrBias.obsCodeBiasMap[code].bias; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void RtcmTrace::traceTimestamp(GTime time) @@ -340,25 +305,19 @@ void RtcmTrace::traceTimestamp(GTime time) return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - boost::json::object doc; doc["type"] = "timestamp"; doc["Mountpoint"] = rtcmMountpoint; doc["time"] = (string)time; doc["ticks"] = (double)time.bigTime; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } /** Write decoded/encoded GPS/GAL/BDS/QZS ephemeris messages to a json file */ -void RtcmTrace::traceBrdcEph( // todo aaron, template this for gps/glo? +void RtcmTrace::traceBrdcEph( // todo? template this for gps/glo? RtcmMessageType messCode, Eph& eph ) @@ -368,13 +327,6 @@ void RtcmTrace::traceBrdcEph( // todo aaron, template this for gps/glo? return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - boost::json::object doc; GTime nearTime = timeGet(); @@ -392,7 +344,8 @@ void RtcmTrace::traceBrdcEph( // todo aaron, template this for gps/glo? traceBrdcEphBody(doc, eph); - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } /** Write decoded/encoded GAL ephemeris messages to a json file @@ -404,13 +357,6 @@ void RtcmTrace::traceBrdcEph(RtcmMessageType messCode, Geph& geph) return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - boost::json::object doc; GTime nearTime = timeGet(); @@ -429,7 +375,8 @@ void RtcmTrace::traceBrdcEph(RtcmMessageType messCode, Geph& geph) traceBrdcEphBody(doc, geph); - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } void traceBrdcEphBody(boost::json::object& doc, Eph& eph) @@ -651,13 +598,6 @@ void RtcmTrace::traceMSM(RtcmMessageType messCode, GTime time, SatSys Sat, Sig& return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - GTime nearTime = timeGet(); boost::json::object doc; @@ -676,7 +616,8 @@ void RtcmTrace::traceMSM(RtcmMessageType messCode, GTime time, SatSys Sat, Sig& doc["LLI"] = sig.LLI; doc["IsInvalid"] = sig.invalid; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } /** Write unknown message to a json file @@ -688,15 +629,9 @@ void RtcmTrace::traceUnknown() return; } - std::ofstream fout(rtcmTraceFilename, std::ios::app); - if (!fout) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - boost::json::object doc; doc["type"] = "?"; - fout << boost::json::serialize(doc) << "\n"; + rtcmTraceFile << boost::json::serialize(doc) << "\n"; + flush(); } diff --git a/src/cpp/common/rtcmTrace.hpp b/src/cpp/common/rtcmTrace.hpp index 1877d9fd4..123d73c2c 100644 --- a/src/cpp/common/rtcmTrace.hpp +++ b/src/cpp/common/rtcmTrace.hpp @@ -23,41 +23,80 @@ struct SSRPhasBias; struct RtcmTrace { - string rtcmTraceFilename = ""; - string rtcmMountpoint; - bool qzssL6 = false; + string rtcmTraceFilename = ""; + std::ofstream rtcmTraceFile; + string rtcmMountpoint; + bool qzssL6 = false; RtcmTrace(string mountpoint = "", string filename = "") : rtcmTraceFilename{filename}, rtcmMountpoint{mountpoint} { + if (rtcmTraceFilename.empty()) + { + return; + } + rtcmTraceFile.open(rtcmTraceFilename, std::ios::app); + if (!rtcmTraceFile) + { + std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; + } + std::cout << "opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; } - void networkLog(string message) + void openTraceFile() { - std::ofstream outStream(rtcmTraceFilename, std::iostream::app); - if (!outStream) + if (rtcmTraceFilename.empty()) + return; + + if (rtcmTraceFile.is_open()) + { + rtcmTraceFile.flush(); + rtcmTraceFile.close(); + } + + rtcmTraceFile.open(rtcmTraceFilename, std::ios::app); + if (!rtcmTraceFile) { std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; + } + } + + void setTraceFilename(const string& filename) + { + if (filename == rtcmTraceFilename && rtcmTraceFile.is_open()) return; + + rtcmTraceFilename = filename; + openTraceFile(); + } + + ~RtcmTrace() + { + if (rtcmTraceFile.is_open()) + { + rtcmTraceFile.flush(); + rtcmTraceFile.close(); } + } + + void flush() + { + if (rtcmTraceFile.is_open()) + rtcmTraceFile.flush(); + } - outStream << timeGet(); - outStream << " " << __FUNCTION__ << message << "\n"; + void networkLog(string message) + { + rtcmTraceFile << timeGet(); + rtcmTraceFile << " " << __FUNCTION__ << message << "\n"; } void messageChunkLog(string message) {} void messageRtcmLog(string message) { - std::ofstream outStream(rtcmTraceFilename, std::ios::app); - if (!outStream) - { - std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << "\n"; - return; - } - - outStream << timeGet(); - outStream << " messageRtcmLog" << message << "\n"; + rtcmTraceFile << timeGet(); + rtcmTraceFile << " messageRtcmLog" << message << "\n"; } void traceSsrEph(RtcmMessageType messCode, SatSys Sat, SSREph& ssrEph); diff --git a/src/cpp/common/rtsSmoothing.cpp b/src/cpp/common/rtsSmoothing.cpp index b0180b093..6ba542e8b 100644 --- a/src/cpp/common/rtsSmoothing.cpp +++ b/src/cpp/common/rtsSmoothing.cpp @@ -3,10 +3,12 @@ #include #include #include +#include #include "architectureDocs.hpp" #include "common/acsConfig.hpp" #include "common/algebra.hpp" #include "common/algebraTrace.hpp" +#include "common/blasThreading.hpp" #include "common/constants.hpp" #include "common/eigenIncluder.hpp" #include "common/lapackWrapper.hpp" @@ -424,9 +426,7 @@ void RtsTimingLogger::logEpochTiming( GTime epochStopTime ) { - auto boostTime = formatTimeForLogging(filterData.kalmanPlus.time); - - BOOST_LOG_TRIVIAL(info) << "Processed epoch" << " - " << boostTime << " (took " + BOOST_LOG_TRIVIAL(info) << "Processed epoch" << " - " << filterData.kalmanPlus.time << " (took " << (epochStopTime - epochStartTime) << ")"; updateTerminalProgress(filterData, epochStartTime, epochStopTime); @@ -434,15 +434,6 @@ void RtsTimingLogger::logEpochTiming( epochStartTime = timeGet(); } -/** Format time for logging output */ -boost::posix_time::ptime RtsTimingLogger::formatTimeForLogging(const GTime& time) -{ - int fractionalMilliseconds = calculateFractionalMilliseconds(time); - - return boost::posix_time::from_time_t((time_t)((PTime)time).bigTime) + - boost::posix_time::millisec(fractionalMilliseconds); -} - /** Update interactive terminal with progress information */ void RtsTimingLogger::updateTerminalProgress( const FilterData& filterData, @@ -453,12 +444,6 @@ void RtsTimingLogger::updateTerminalProgress( // todo: function to delete? } -/** Calculate fractional milliseconds from time */ -int RtsTimingLogger::calculateFractionalMilliseconds(const GTime& time) -{ - return (time.bigTime - (long int)time.bigTime) * 1000; -} - //================================================================================ // FilterData Mathematical Computation //================================================================================ @@ -546,7 +531,7 @@ bool FilterData::performRtsComputation(KFState& kfState, const RtsConfiguration& { for (int j = i + 1; j < n; j++) { - double avg = (smoothedKF.P(i, j) + smoothedKF.P(j, i)) * 0.5; + double avg = (smoothedKF.P(i, j) + smoothedKF.P(j, i)) * 0.5; smoothedKF.P(i, j) = avg; smoothedKF.P(j, i) = avg; } @@ -566,27 +551,45 @@ bool FilterData::performRtsComputation(KFState& kfState, const RtsConfiguration& VectorXd deltaX = VectorXd::Zero(kalmanPlus.x.rows()); MatrixXd deltaP = MatrixXd::Zero(kalmanPlus.P.rows(), kalmanPlus.P.cols()); - // Pre-allocate temporary matrices for reuse across chunks - MatrixXd temp; - int maxChunkSize = 0; - map filterChunks; for (auto& [id, fcP] : kalmanPlus.filterChunkMap) filterChunks[id] = true; for (auto& [id, fcM] : kalmanMinus.filterChunkMap) filterChunks[id] = true; + struct RtsChunkWork + { + string id; + int plusBegX = 0; + int plusNumX = 0; + int minusBegX = 0; + int minusNumX = 0; + }; + + vector chunkWorkList; + chunkWorkList.reserve(filterChunks.size()); for (auto& [id, dummy] : filterChunks) { - auto& fcP = kalmanPlus.filterChunkMap[id]; - auto& fcM = kalmanMinus.filterChunkMap[id]; + auto fcP_it = kalmanPlus.filterChunkMap.find(id); + auto fcM_it = kalmanMinus.filterChunkMap.find(id); - if (fcP.begX == 0) + FilterChunk fcP; + FilterChunk fcM; + if (fcP_it != kalmanPlus.filterChunkMap.end()) + { + fcP = fcP_it->second; + } + if (fcM_it != kalmanMinus.filterChunkMap.end()) + { + fcM = fcM_it->second; + } + + if (fcP.begX == 0 && fcP.numX > 0) { fcP.begX = 1; fcP.numX -= 1; } - if (fcM.begX == 0) + if (fcM.begX == 0 && fcM.numX > 0) { fcM.begX = 1; fcM.numX -= 1; @@ -598,24 +601,38 @@ bool FilterData::performRtsComputation(KFState& kfState, const RtsConfiguration& continue; } - int n = fcM.numX; - int neqs = fcP.numX; + chunkWorkList.push_back({id, fcP.begX, fcP.numX, fcM.begX, fcM.numX}); + } + + bool parallelChunks = chunkWorkList.size() > 1; + BlasThreading::ScopedOpenBlasThreadLimit openblasThreadLimit(parallelChunks ? 1 : 0); +#ifdef ENABLE_PARALLELISATION +#pragma omp parallel for schedule(dynamic) if (parallelChunks) +#endif + for (int c = 0; c < (int)chunkWorkList.size(); c++) + { + auto& work = chunkWorkList[c]; + + int n = work.minusNumX; + int neqs = work.plusNumX; // Copy Q block and add regularization (needed for in-place solving) - MatrixXd Q = kalmanMinus.P.block(fcM.begX, fcM.begX, n, n); + MatrixXd Q = kalmanMinus.P.block(work.minusBegX, work.minusBegX, n, n); Q += MatrixXd::Identity(n, n) * config.regularisation; // Copy FP block for solving (will be overwritten by solution) - MatrixXd FP_solved = FP.block(fcM.begX, fcP.begX, n, neqs); + MatrixXd FP_solved = FP.block(work.minusBegX, work.plusBegX, n, neqs); solveSystem(n, neqs, Q.data(), FP_solved.data()); // Get pointers to blocks for direct LAPACK operations - double* pDeltaX = deltaX.data() + fcP.begX; - double* pSmoothedX = smoothedKF.x.data() + fcM.begX; - double* pXMinus = kalmanMinus.x.data() + fcM.begX; - double* pSmoothedP = smoothedKF.P.data() + fcM.begX * smoothedKF.P.rows() + fcM.begX; - double* pMinusP = kalmanMinus.P.data() + fcM.begX * kalmanMinus.P.rows() + fcM.begX; - double* pDeltaP = deltaP.data() + fcP.begX * deltaP.rows() + fcP.begX; + double* pDeltaX = deltaX.data() + work.plusBegX; + double* pSmoothedX = smoothedKF.x.data() + work.minusBegX; + double* pXMinus = kalmanMinus.x.data() + work.minusBegX; + double* pSmoothedP = + smoothedKF.P.data() + work.minusBegX * smoothedKF.P.rows() + work.minusBegX; + double* pMinusP = + kalmanMinus.P.data() + work.minusBegX * kalmanMinus.P.rows() + work.minusBegX; + double* pDeltaP = deltaP.data() + work.plusBegX * deltaP.rows() + work.plusBegX; int ldSmoothedP = smoothedKF.P.rows(); int ldMinusP = kalmanMinus.P.rows(); @@ -633,90 +650,86 @@ bool FilterData::performRtsComputation(KFState& kfState, const RtsConfiguration& LapackWrapper::dgemv( LapackWrapper::COL_MAJOR, LapackWrapper::CblasTrans, - n, // rows of FP_solved - neqs, // cols of FP_solved - 1.0, // alpha - FP_solved.data(), // matrix A - n, // leading dimension of A - xChanged.data(), // vector x - 1, // stride of x - 0.0, // beta (overwrite, not accumulate) - pDeltaX, // vector y - 1 // stride of y + n, // rows of FP_solved + neqs, // cols of FP_solved + 1.0, // alpha + FP_solved.data(), // matrix A + n, // leading dimension of A + xChanged.data(), // vector x + 1, // stride of x + 0.0, // beta (overwrite, not accumulate) + pDeltaX, // vector y + 1 // stride of y ); - // Resize temporary matrix if needed (reuse across chunks) - if (temp.rows() != neqs || temp.cols() != n) - { - temp.resize(neqs, n); - } + MatrixXd temp(neqs, n); // Compute: temp = FP_solved^T * (smoothedP - minusP) // Note: Could use dsymm since P matrices are symmetric, but we need the transpose // operation FP_solved^T which dsymm doesn't directly support, so dgemm is clearer - + // Step 1: temp = FP_solved^T * smoothedP LapackWrapper::dgemm( LapackWrapper::COL_MAJOR, - LapackWrapper::CblasTrans, // transpose FP_solved - LapackWrapper::CblasNoTrans, // don't transpose smoothedP - neqs, // rows of result - n, // cols of result - n, // inner dimension - 1.0, // alpha - FP_solved.data(), // A - n, // leading dim of A - pSmoothedP, // B (smoothed P block) - ldSmoothedP, // leading dim of B - 0.0, // beta - temp.data(), // C - neqs // leading dim of C + LapackWrapper::CblasTrans, // transpose FP_solved + LapackWrapper::CblasNoTrans, // don't transpose smoothedP + neqs, // rows of result + n, // cols of result + n, // inner dimension + 1.0, // alpha + FP_solved.data(), // A + n, // leading dim of A + pSmoothedP, // B (smoothed P block) + ldSmoothedP, // leading dim of B + 0.0, // beta + temp.data(), // C + neqs // leading dim of C ); // Step 2: temp -= FP_solved^T * minusP LapackWrapper::dgemm( LapackWrapper::COL_MAJOR, - LapackWrapper::CblasTrans, // transpose FP_solved - LapackWrapper::CblasNoTrans, // don't transpose minusP - neqs, // rows of result - n, // cols of result - n, // inner dimension - -1.0, // alpha (subtract) - FP_solved.data(), // A - n, // leading dim of A - pMinusP, // B (minus P block) - ldMinusP, // leading dim of B - 1.0, // beta (accumulate) - temp.data(), // C - neqs // leading dim of C + LapackWrapper::CblasTrans, // transpose FP_solved + LapackWrapper::CblasNoTrans, // don't transpose minusP + neqs, // rows of result + n, // cols of result + n, // inner dimension + -1.0, // alpha (subtract) + FP_solved.data(), // A + n, // leading dim of A + pMinusP, // B (minus P block) + ldMinusP, // leading dim of B + 1.0, // beta (accumulate) + temp.data(), // C + neqs // leading dim of C ); // Final step: deltaP += temp * FP_solved LapackWrapper::dgemm( LapackWrapper::COL_MAJOR, - LapackWrapper::CblasNoTrans, // don't transpose temp - LapackWrapper::CblasNoTrans, // don't transpose FP_solved - neqs, // rows of result - neqs, // cols of result - n, // inner dimension - 1.0, // alpha - temp.data(), // A - neqs, // leading dim of A - FP_solved.data(), // B - n, // leading dim of B - 0.0, // beta (overwrite) - pDeltaP, // C (deltaP block) - ldDeltaP // leading dim of parent matrix + LapackWrapper::CblasNoTrans, // don't transpose temp + LapackWrapper::CblasNoTrans, // don't transpose FP_solved + neqs, // rows of result + neqs, // cols of result + n, // inner dimension + 1.0, // alpha + temp.data(), // A + neqs, // leading dim of A + FP_solved.data(), // B + n, // leading dim of B + 0.0, // beta (overwrite) + pDeltaP, // C (deltaP block) + ldDeltaP // leading dim of parent matrix ); } smoothedKF.dx = deltaX; - + // Use BLAS for vector/matrix additions for better performance smoothedKF.x = kalmanPlus.x; LapackWrapper::daxpy(deltaX.size(), 1.0, deltaX.data(), 1, smoothedKF.x.data(), 1); - - smoothedKF.P = kalmanPlus.P; + + smoothedKF.P = kalmanPlus.P; int totalSize = kalmanPlus.P.rows() * kalmanPlus.P.cols(); LapackWrapper::daxpy(totalSize, 1.0, deltaP.data(), 1, smoothedKF.P.data(), 1); @@ -1103,10 +1116,10 @@ void rtsSmoothing( std::fstream inputStream(inputFile, std::ifstream::binary | std::ifstream::in); inputStream.seekg(0, inputStream.end); - long int lengthPos = inputStream.tellg(); - long int currentPos = reader.getCurrentPosition(); + std::streamoff lengthPos = inputStream.tellg(); + std::streamoff currentPos = reader.getCurrentPosition(); - vector fileContents(lengthPos - currentPos); + vector fileContents(static_cast(lengthPos - currentPos)); inputStream.seekg(currentPos, inputStream.beg); diff --git a/src/cpp/common/rtsSmoothing.hpp b/src/cpp/common/rtsSmoothing.hpp index 2fa9c322d..216f619e6 100644 --- a/src/cpp/common/rtsSmoothing.hpp +++ b/src/cpp/common/rtsSmoothing.hpp @@ -69,8 +69,8 @@ struct FilterData class RtsFileReader { private: - string inputFile; - long int currentPosition = -1; + string inputFile; + std::streamoff currentPosition = -1; // Data presence flags for current epoch bool hasMetadata = false; @@ -93,7 +93,7 @@ class RtsFileReader void resetEpochFlags(); /** Get current file position */ - long int getCurrentPosition() const { return currentPosition; } + std::streamoff getCurrentPosition() const { return currentPosition; } /** Check if we've reached the beginning of file */ bool isAtBeginning() const { return currentPosition == 0; } @@ -179,8 +179,8 @@ class RtsTimingLogger class RtsOutputFileReader { private: - string reversedStatesFilename; - long int currentPosition = -1; + string reversedStatesFilename; + std::streamoff currentPosition = -1; public: /** Constructor */ diff --git a/src/cpp/common/sanityCheckers/ConfigSanityManager.cpp b/src/cpp/common/sanityCheckers/ConfigSanityManager.cpp new file mode 100644 index 000000000..14f88028e --- /dev/null +++ b/src/cpp/common/sanityCheckers/ConfigSanityManager.cpp @@ -0,0 +1,69 @@ +#include "common/sanityCheckers/ConfigSanityManager.hpp" +#include +#include "common/sanityCheckers/EphemerisTimeDelayChecker.hpp" +#include "common/sanityCheckers/EpochToleranceChecker.hpp" +#include "common/sanityCheckers/IonosphericFreeComboChecker.hpp" +#include "common/sanityCheckers/IonosphericOutageChecker.hpp" +#include "common/sanityCheckers/RequiredSiteEccentricityChecker.hpp" +#include "common/sanityCheckers/SbasSanityChecker.hpp" + +void ConfigSanityManager::addChecker(std::unique_ptr checker) +{ + if (checker) + { + checkers.push_back(std::move(checker)); + } +} + +bool ConfigSanityManager::runAllChecks(ACSConfig& config) const +{ + bool allPassed = true; + + for (auto& checker : checkers) + { + try + { + allPassed &= checker->check(config); + } + catch (const std::exception& e) + { + allPassed = false; + BOOST_LOG_TRIVIAL(error) << "Exception in configuration sanity checker " + << checker->name() << ": " << e.what(); + } + } + + return allPassed; +} + +size_t ConfigSanityManager::checkerCount() const +{ + return checkers.size(); +} + +std::vector ConfigSanityManager::checkerNames() const +{ + std::vector names; + names.reserve(checkers.size()); + + for (auto& checker : checkers) + { + names.push_back(checker->name()); + } + + return names; +} + +ConfigSanityManager ConfigSanityManager::defaultManager() +{ + ConfigSanityManager manager; + + manager.addChecker(std::make_unique()); + manager.addChecker(std::make_unique()); + manager.addChecker(std::make_unique()); + manager.addChecker(std::make_unique()); + manager.addChecker(std::make_unique()); + manager.addChecker(std::make_unique()); + + return manager; +} diff --git a/src/cpp/common/sanityCheckers/ConfigSanityManager.hpp b/src/cpp/common/sanityCheckers/ConfigSanityManager.hpp new file mode 100644 index 000000000..987da1d5b --- /dev/null +++ b/src/cpp/common/sanityCheckers/ConfigSanityManager.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include +#include +#include +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct ConfigSanityManager +{ + void addChecker(std::unique_ptr checker); + bool runAllChecks(ACSConfig& config) const; + + size_t checkerCount() const; + std::vector checkerNames() const; + + static ConfigSanityManager defaultManager(); + + private: + std::vector> checkers; +}; diff --git a/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.cpp b/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.cpp new file mode 100644 index 000000000..96de5a123 --- /dev/null +++ b/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.cpp @@ -0,0 +1,22 @@ +#include "common/sanityCheckers/EphemerisTimeDelayChecker.hpp" +#include "common/acsConfig.hpp" + +bool EphemerisTimeDelayChecker::check(ACSConfig& config) +{ + if (config.simulate_real_time) + { + return true; + } + + for (E_Sys sys : magic_enum::enum_values()) + { + config.eph_time_delay[sys] = config.default_eph_time_delay[sys]; + } + + return true; +} + +std::string EphemerisTimeDelayChecker::name() const +{ + return "EphemerisTimeDelayChecker"; +} diff --git a/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.hpp b/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.hpp new file mode 100644 index 000000000..296085b82 --- /dev/null +++ b/src/cpp/common/sanityCheckers/EphemerisTimeDelayChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct EphemerisTimeDelayChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/EpochToleranceChecker.cpp b/src/cpp/common/sanityCheckers/EpochToleranceChecker.cpp new file mode 100644 index 000000000..260954728 --- /dev/null +++ b/src/cpp/common/sanityCheckers/EpochToleranceChecker.cpp @@ -0,0 +1,22 @@ +#include "common/sanityCheckers/EpochToleranceChecker.hpp" +#include +#include "common/acsConfig.hpp" + +bool EpochToleranceChecker::check(ACSConfig& config) +{ + if (config.epoch_tolerance <= config.epoch_interval / 2) + { + return true; + } + + BOOST_LOG_TRIVIAL(warning) << "`epoch_tolerance` should not exceed half of " + "`epoch_interval`, setting it to `epoch_interval / 2`"; + config.epoch_tolerance = config.epoch_interval / 2; + + return false; +} + +std::string EpochToleranceChecker::name() const +{ + return "EpochToleranceChecker"; +} diff --git a/src/cpp/common/sanityCheckers/EpochToleranceChecker.hpp b/src/cpp/common/sanityCheckers/EpochToleranceChecker.hpp new file mode 100644 index 000000000..c44dcb2fd --- /dev/null +++ b/src/cpp/common/sanityCheckers/EpochToleranceChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct EpochToleranceChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/ISanityChecker.hpp b/src/cpp/common/sanityCheckers/ISanityChecker.hpp new file mode 100644 index 000000000..b2cf17483 --- /dev/null +++ b/src/cpp/common/sanityCheckers/ISanityChecker.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include + +struct ACSConfig; + +struct ISanityChecker +{ + virtual ~ISanityChecker() = default; + + virtual bool check(ACSConfig& config) = 0; + virtual std::string name() const = 0; +}; diff --git a/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.cpp b/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.cpp new file mode 100644 index 000000000..0588b5056 --- /dev/null +++ b/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.cpp @@ -0,0 +1,43 @@ +#include "common/sanityCheckers/IonosphericFreeComboChecker.hpp" +#include +#include "common/acsConfig.hpp" + +bool IonosphericFreeComboChecker::check(ACSConfig& config) +{ + if (config.pppOpts.ionoOpts.use_if_combo == false) + { + return true; + } + + bool valid = true; + + for (auto& [id, recOpts] : config.recOptsMap) + { + if (recOpts.ionospheric_component2) + { + valid = false; + setOption(recOpts, recOpts.ionospheric_component2, false); + BOOST_LOG_TRIVIAL(warning) + << "Higher-order ionospheric corrections are not supported when " + "use_if_combo is enabled, " + "setting ionospheric_components:use_2nd_order to false"; + } + + if (recOpts.ionospheric_component3) + { + valid = false; + setOption(recOpts, recOpts.ionospheric_component3, false); + BOOST_LOG_TRIVIAL(warning) + << "Higher-order ionospheric corrections are not supported when " + "use_if_combo is enabled, " + "setting ionospheric_components:use_3rd_order to false"; + } + } + + return valid; +} + +std::string IonosphericFreeComboChecker::name() const +{ + return "IonosphericFreeComboChecker"; +} diff --git a/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.hpp b/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.hpp new file mode 100644 index 000000000..57182f23b --- /dev/null +++ b/src/cpp/common/sanityCheckers/IonosphericFreeComboChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct IonosphericFreeComboChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/IonosphericOutageChecker.cpp b/src/cpp/common/sanityCheckers/IonosphericOutageChecker.cpp new file mode 100644 index 000000000..d46149944 --- /dev/null +++ b/src/cpp/common/sanityCheckers/IonosphericOutageChecker.cpp @@ -0,0 +1,20 @@ +#include "common/sanityCheckers/IonosphericOutageChecker.hpp" +#include +#include "common/acsConfig.hpp" + +bool IonosphericOutageChecker::check(ACSConfig& config) +{ + if (config.ionErrors.outage_reset_limit >= config.epoch_interval) + { + return true; + } + + BOOST_LOG_TRIVIAL(warning) << "ionospheric_components:outage_reset_limit < " + "epoch_interval, but it probably shouldnt be"; + return false; +} + +std::string IonosphericOutageChecker::name() const +{ + return "IonosphericOutageChecker"; +} diff --git a/src/cpp/common/sanityCheckers/IonosphericOutageChecker.hpp b/src/cpp/common/sanityCheckers/IonosphericOutageChecker.hpp new file mode 100644 index 000000000..a7c45d6a4 --- /dev/null +++ b/src/cpp/common/sanityCheckers/IonosphericOutageChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct IonosphericOutageChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.cpp b/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.cpp new file mode 100644 index 000000000..5df207161 --- /dev/null +++ b/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.cpp @@ -0,0 +1,33 @@ +#include "common/sanityCheckers/RequiredSiteEccentricityChecker.hpp" +#include +#include "common/acsConfig.hpp" + +bool RequiredSiteEccentricityChecker::check(ACSConfig& config) +{ + if (config.require_site_eccentricity == false) + { + return true; + } + + bool valid = true; + + for (auto& [id, recOpts] : config.recOptsMap) + { + if (recOpts.eccentricityModel.enable) + { + continue; + } + + valid = false; + setOption(recOpts, recOpts.eccentricityModel.enable, true); + BOOST_LOG_TRIVIAL(warning) << "Site eccentricity is required but `" << id + << ": models: eccentricity` is not enabled, setting it to true"; + } + + return valid; +} + +std::string RequiredSiteEccentricityChecker::name() const +{ + return "RequiredSiteEccentricityChecker"; +} diff --git a/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.hpp b/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.hpp new file mode 100644 index 000000000..5ea0c19eb --- /dev/null +++ b/src/cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct RequiredSiteEccentricityChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/SbasSanityChecker.cpp b/src/cpp/common/sanityCheckers/SbasSanityChecker.cpp new file mode 100644 index 000000000..91a2868ef --- /dev/null +++ b/src/cpp/common/sanityCheckers/SbasSanityChecker.cpp @@ -0,0 +1,221 @@ +#include "common/sanityCheckers/SbasSanityChecker.hpp" +#include +#include "common/acsConfig.hpp" + +bool SbasSanityChecker::check(ACSConfig& config) +{ + bool valid = true; + + if (config.sbsInOpts.freq == 1) + { + if (config.sbsInOpts.use_do259) + { + valid = false; + config.sbsInOpts.use_do259 = false; + BOOST_LOG_TRIVIAL(warning) + << "DO-259 is not to be used with L1 SBAS. Setting use_do259 to false"; + } + + if (config.sbsInOpts.pvs_on_dfmc) + { + valid = false; + config.sbsInOpts.pvs_on_dfmc = false; + BOOST_LOG_TRIVIAL(warning) + << "PVS on DFMC is not to be used with L1 SBAS. Setting pvs_on_dfmc to false"; + } + } + + if (config.process_sbas == false) + { + return valid; + } + + config.process_preprocessor = true; + config.process_spp = true; + + config.used_nav_types = config.sbsOpts.sbas_nav_types; + + for (auto& [id, satOpts] : config.satOptsMap) + { + vector sources = {E_Source::SBAS}; + setOption((CommonOptions&)satOpts, satOpts.posModel.enable, true); + setOption((CommonOptions&)satOpts, satOpts.posModel.sources, sources); + setOption((CommonOptions&)satOpts, satOpts.clockModel.enable, true); + setOption((CommonOptions&)satOpts, satOpts.clockModel.sources, sources); + } + + switch (config.sbsOpts.mode) + { + case E_SbasMode::L1: + { + BOOST_LOG_TRIVIAL(info) + << "L1 SBAS processing mode is selected, make sure that:\n" + " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" + " - Parameter `sbas_inputs: prec_approach` is set appropriately"; + + config.sbsInOpts.freq = 1; + + for (auto& [sys, process] : config.process_sys) + { + if (sys != E_Sys::GPS && sys != E_Sys::GLO && sys != E_Sys::SBS) + { + process = false; + } + else + { + config.code_priorities[sys] = {E_ObsCode::L1C}; + } + } + + config.sppOpts.trop_models = {E_TropModel::SBAS}; + config.sppOpts.iono_mode = E_IonoMode::SBAS; + + if (config.sppOpts.smooth_window != 100) + { + valid = false; + config.sppOpts.smooth_window = 100; + BOOST_LOG_TRIVIAL(warning) + << "It is recommended that a 100 second smoothing window be used for L1 " + "SBAS. Changing configuration"; + } + + if (config.sppOpts.use_smooth_only == false) + { + valid = false; + config.sppOpts.use_smooth_only = true; + BOOST_LOG_TRIVIAL(warning) + << "It is NOT recommended that measurements be used for SBAS before " + "smoothing. Changing configuration"; + } + + if (config.sbsOpts.use_sbas_rec_var == false) + { + valid = false; + config.sbsOpts.use_sbas_rec_var = true; + BOOST_LOG_TRIVIAL(warning) + << "It is recommended that measurement variance specific for SBAS are " + "used. Changing configuration"; + } + + if (config.sbsInOpts.use_do259) + { + valid = false; + config.sbsInOpts.use_do259 = false; + BOOST_LOG_TRIVIAL(warning) + << "DO-259 is not to be use with L1 SBAS. Setting use_do259 to false"; + } + + if (config.sbsInOpts.pvs_on_dfmc) + { + valid = false; + config.sbsInOpts.pvs_on_dfmc = false; + BOOST_LOG_TRIVIAL(warning) + << "PVS on DFMC is not to be use with L1 SBAS. Setting pvs_on_dfmc to false"; + } + + break; + } + + case E_SbasMode::DFMC: + { + BOOST_LOG_TRIVIAL(info) + << "DFMC processing mode is selected, make sure that:\n" + " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" + " - If using a service follwing DO-259 (instead of DO-259A), set " + "`sbas_inputs: use_do259: true`\n" + " - If using measurements from GLO or BDS, set the `code_priorities` and " + "`used_nav_type` properly\n"; + + config.sbsInOpts.freq = 5; + config.sbsInOpts.pvs_on_dfmc = false; + + for (auto& [sys, process] : config.process_sys) + { + if (sys == E_Sys::GLO || sys == E_Sys::LEO) + { + process = false; + } + else if (sys != E_Sys::BDS) + { + config.code_priorities[sys] = config.sbsOpts.sbas_code_priorities_map[sys]; + } + } + + config.sppOpts.trop_models = {E_TropModel::SBAS}; + config.sppOpts.iono_mode = E_IonoMode::SBAS; + + if (config.sppOpts.smooth_window < 0) + { + BOOST_LOG_TRIVIAL(warning) + << "It is recommended that a 100 second smoothing window be used for DFMC. " + "Please check your configuration"; + } + + break; + } + + case E_SbasMode::PVS: + { + BOOST_LOG_TRIVIAL(info) + << "PVS-via-DFMC processing mode is selected, make sure that:\n" + " - You have inputs containing SBAS messages (sisnet, ems, sbf, etc.)\n" + " - The SBAS messages come from SouthPAN's DFMC services\n" + " The following processing options will be used:\n" + " - GPS and/or GAL constellations will be used (with GPS as refeence " + "system)\n" + " - Saastamoinen model wil be used for troposphere delay " + "mapping/estimation\n" + " - If using solid earth tide models, ocean tide loading will be applied, " + "while atmospheric tide loading and pole tide loadings will not\n"; + + config.process_ppp = true; + + config.sbsInOpts.freq = 5; + config.sbsInOpts.pvs_on_dfmc = true; + + for (auto& [sys, process] : config.process_sys) + { + if (sys == E_Sys::GPS || sys == E_Sys::GAL) + { + process = true; + config.code_priorities[sys] = config.sbsOpts.sbas_code_priorities_map[sys]; + } + else + { + process = false; + } + } + + for (auto& [id, recOpts] : config.recOptsMap) + { + vector tropModels = {E_TropModel::STANDARD}; + setOption(recOpts, recOpts.receiver_reference_system, E_Sys::GPS); + setOption(recOpts, recOpts.tropModel.enable, true); + setOption(recOpts, recOpts.tropModel.models, tropModels); + if (recOpts.tideModels.solid) + { + setOption(recOpts, recOpts.tideModels.otl, true); + setOption(recOpts, recOpts.tideModels.atl, false); + setOption(recOpts, recOpts.tideModels.spole, false); + setOption(recOpts, recOpts.tideModels.opole, false); + } + } + + config.sppOpts.always_reinitialise = true; + config.pppOpts.use_primary_signals = true; + config.errorAccumulation.enable = true; + config.ambErrors.phase_reject_limit = 2; + config.ambErrors.resetOnSlip.LLI = true; + config.ambErrors.resetOnSlip.retrack = true; + + break; + } + } + + return valid; +} + +std::string SbasSanityChecker::name() const +{ + return "SbasSanityChecker"; +} diff --git a/src/cpp/common/sanityCheckers/SbasSanityChecker.hpp b/src/cpp/common/sanityCheckers/SbasSanityChecker.hpp new file mode 100644 index 000000000..83be5819b --- /dev/null +++ b/src/cpp/common/sanityCheckers/SbasSanityChecker.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ISanityChecker.hpp" + +struct SbasSanityChecker : ISanityChecker +{ + bool check(ACSConfig& config) override; + std::string name() const override; +}; diff --git a/src/cpp/common/sanityCheckers/sanityCheckers.hpp b/src/cpp/common/sanityCheckers/sanityCheckers.hpp new file mode 100644 index 000000000..95e4dc337 --- /dev/null +++ b/src/cpp/common/sanityCheckers/sanityCheckers.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common/sanityCheckers/ConfigSanityManager.hpp" +#include "common/sanityCheckers/EphemerisTimeDelayChecker.hpp" +#include "common/sanityCheckers/EpochToleranceChecker.hpp" +#include "common/sanityCheckers/IonosphericFreeComboChecker.hpp" +#include "common/sanityCheckers/IonosphericOutageChecker.hpp" +#include "common/sanityCheckers/RequiredSiteEccentricityChecker.hpp" +#include "common/sanityCheckers/SbasSanityChecker.hpp" diff --git a/src/cpp/common/sbfDecoder.cpp b/src/cpp/common/sbfDecoder.cpp index b8ead9253..bf272ab88 100644 --- a/src/cpp/common/sbfDecoder.cpp +++ b/src/cpp/common/sbfDecoder.cpp @@ -269,14 +269,29 @@ void SbfDecoder::decodeMeasEpoch(GTime time, vector& data) continue; // GLONASS not supported for now sbfObsList.push_back((shared_ptr)obs); } - obsListList.push_back(sbfObsList); + if (sbfObsList.empty() == false) + { + obsListList.push_back(sbfObsList); + } + else + { + BOOST_LOG_TRIVIAL(info) << "SBF decoder produced empty ObsList at end of message block"; + } sbfObsList.clear(); return; } void SbfDecoder::decodeEndOfMeas(GTime time) { - obsListList.push_back(sbfObsList); + if (sbfObsList.empty() == false) + { + obsListList.push_back(sbfObsList); + } + else + { + BOOST_LOG_TRIVIAL(info) << "SBF decoder end-of-measurement flush with empty ObsList" + << ", time=" << time.to_string(6); + } sbfObsList.clear(); lastObstime = time; } @@ -991,6 +1006,6 @@ void SbfDecoder::decode(unsigned short int id, vector& data) case 5922: decodeEndOfMeas(time); return; - // default: std::cout << " ... not supported, yet"; return; + // default: std::cout << " ... not supported, yet"; return; } } diff --git a/src/cpp/common/sinex.cpp b/src/cpp/common/sinex.cpp index 613b2565e..ddc8fbd2d 100644 --- a/src/cpp/common/sinex.cpp +++ b/src/cpp/common/sinex.cpp @@ -1,7 +1,9 @@ // #pragma GCC optimize ("O0") #include "common/sinex.hpp" +#include #include +#include #include #include #include @@ -11,12 +13,14 @@ #include #endif #include "architectureDocs.hpp" +#include "common/acsConfig.hpp" #include "common/algebra.hpp" #include "common/eigenIncluder.hpp" #include "common/gTime.hpp" #include "common/navigation.hpp" #include "common/receiver.hpp" #include "common/trace.hpp" +#include "orbprop/coordinates.hpp" using std::getline; using std::ifstream; @@ -26,7 +30,9 @@ using std::ofstream; */ FileType SNX__() {} -Sinex theSinex(false); // the one and only sinex object. +Sinex theSinex(false); // the one and only sinex object. +string separator = + "*-------------------------------------------------------------------------------"; // Sinex 2.02 documentation indicates 2 digit years. >50 means 1900+N. <=50 means 2000+N // To achieve this, when we read years, if >50 add 1900 else add 2000. This source will @@ -66,84 +72,72 @@ void trimCut(string& line) ///< string to trim line.pop_back(); } -bool compare(string& one, string& two) -{ - if (one.compare(two) == 0) - { - return true; - } - return false; -} - -bool compare(SinexInputFile& one, SinexInputFile& two) +bool sinexBlockExcluded(const string& blockName) { - if (one.yds[0] == two.yds[0] && one.yds[1] == two.yds[1] && one.yds[2] == two.yds[2] && - one.agency.compare(two.agency) == 0 && one.file.compare(two.file) == 0 && - one.description.compare(two.description) == 0) - { - return true; - } - return false; + auto& excludedBlocks = acsConfig.exclude_sinex_blocks; + return std::find(excludedBlocks.begin(), excludedBlocks.end(), blockName) != + excludedBlocks.end(); } -bool compare(SinexSolStatistic& one, SinexSolStatistic& two) +void truncateSomething(char* buf) { - if (one.name.compare(two.name) == 0) + if (strlen(buf) == 7 && buf[1] == '0' && buf[0] == '-') { - return true; + for (int j = 2; j < 8; j++) + { + buf[j - 1] = buf[j]; + } } - return false; } -bool compare(SinexSatPc& one, SinexSatPc& two) +bool compare(string& one, string& two) { - if (one.svn.compare(two.svn) == 0 && one.freq == two.freq && one.freq2 == two.freq2) + if (one.compare(two) == 0) { return true; } return false; } -bool compare(SinexSatEcc& one, SinexSatEcc& two) +bool compare(SinexInputHistory& one, SinexInputHistory& two) { - if (one.svn.compare(two.svn) == 0 && one.type == two.type) + if (one.code == two.code && one.fmt == two.fmt && one.create_time[0] == two.create_time[0] && + one.create_time[1] == two.create_time[1] && one.create_time[2] == two.create_time[2] && + one.start[0] == two.start[0] && one.start[1] == two.start[1] && + one.start[2] == two.start[2] && one.stop[0] == two.stop[0] && one.stop[1] == two.stop[2] && + one.stop[2] == two.stop[2] && one.obs_tech == two.obs_tech && + one.num_estimates == two.num_estimates && one.constraint == two.constraint && + one.contents.compare(two.contents) == 0 && one.data_agency.compare(two.data_agency) == 0 && + one.create_agency.compare(two.create_agency) == 0) { return true; } return false; } -bool compare(SinexSatMass& one, SinexSatMass& two) +bool compare(SinexInputFile& one, SinexInputFile& two) { - if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && - one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) + if (one.yds[0] == two.yds[0] && one.yds[1] == two.yds[1] && one.yds[2] == two.yds[2] && + one.agency.compare(two.agency) == 0 && one.file.compare(two.file) == 0 && + one.description.compare(two.description) == 0) { return true; } return false; } -bool compare(SinexSatFreqChn& one, SinexSatFreqChn& two) +bool compare(SinexAck& one, SinexAck& two) { - if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && - one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) + if (one.agency.compare(two.agency) == 0 && one.description.compare(two.description) == 0) { return true; } return false; } -bool compare(SinexSatId& one, SinexSatId& two) +bool compare(SinexNutCode& one, SinexNutCode& two) { - if (one.svn.compare(two.svn) == 0 && one.prn.compare(two.prn) == 0 && - one.timeSinceLaunch[0] == two.timeSinceLaunch[0] && - one.timeSinceLaunch[1] == two.timeSinceLaunch[1] && - one.timeSinceLaunch[2] == two.timeSinceLaunch[2] && - one.timeUntilDecom[0] == two.timeUntilDecom[0] && - one.timeUntilDecom[1] == two.timeUntilDecom[1] && - one.timeUntilDecom[2] == two.timeUntilDecom[2]) + if (one.nutcode.compare(two.nutcode) == 0) { return true; } @@ -168,103 +162,98 @@ bool compare(SinexSourceId& one, SinexSourceId& two) return false; } -bool compare(SinexNutCode& one, SinexNutCode& two) +bool compare(SinexSiteId& one, SinexSiteId& two) { - if (one.nutcode.compare(two.nutcode) == 0) + if (one.sitecode.compare(two.sitecode) == 0) { return true; } return false; } -bool compare(SinexSatPrn& one, SinexSatPrn& two) +bool compare(SinexSiteData& one, SinexSiteData& two) { - if (one.svn.compare(two.svn) == 0 && one.prn.compare(two.prn) == 0 && - one.start[0] == two.start[0] && one.start[1] == two.start[1] && - one.start[2] == two.start[2]) + if (one.site.compare(two.site) == 0 && one.sitecode.compare(two.sitecode) == 0) { return true; } return false; } -bool compare(SinexSatPower& one, SinexSatPower& two) +// compare by the 2 station ids only. +bool compareSiteData(const SinexSiteData& left, const SinexSiteData& right) { - if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && - one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) - { - return true; - } - return false; + int comp = left.site.compare(right.site); + + if (comp == 0) + comp = left.sitecode.compare(right.sitecode); + + return (comp < 0); } -bool compare(SinexSatCom& one, SinexSatCom& two) +bool compare(SinexReceiver& one, SinexReceiver& two) { - if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && - one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) + if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && + one.end[1] == two.end[1] && one.end[2] == two.end[2]) { return true; } return false; } -bool compare(SinexAck& one, SinexAck& two) +bool compare(SinexAntenna& one, SinexAntenna& two) { - if (one.agency.compare(two.agency) == 0 && one.description.compare(two.description) == 0) + if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && + one.end[1] == two.end[1] && one.end[2] == two.end[2]) { return true; } return false; } -bool compare(SinexInputHistory& one, SinexInputHistory& two) +bool compare(SinexGpsPhaseCenter& one, SinexGpsPhaseCenter& two) { - if (one.code == two.code && one.fmt == two.fmt && one.create_time[0] == two.create_time[0] && - one.create_time[1] == two.create_time[1] && one.create_time[2] == two.create_time[2] && - one.start[0] == two.start[0] && one.start[1] == two.start[1] && - one.start[2] == two.start[2] && one.stop[0] == two.stop[0] && one.stop[1] == two.stop[2] && - one.stop[2] == two.stop[2] && one.obs_tech == two.obs_tech && - one.num_estimates == two.num_estimates && one.constraint == two.constraint && - one.contents.compare(two.contents) == 0 && one.data_agency.compare(two.data_agency) == 0 && - one.create_agency.compare(two.create_agency) == 0) + if (one.antname.compare(two.antname) == 0 && one.serialno.compare(two.serialno) == 0) { return true; } return false; } -bool compare(SinexSiteId& one, SinexSiteId& two) +// compare by antenna type and serial number. +bool compareGpsPc(SinexGpsPhaseCenter& left, SinexGpsPhaseCenter& right) { - if (one.sitecode.compare(two.sitecode) == 0) - { - return true; - } - return false; + int comp = left.antname.compare(right.antname); + + if (comp == 0) + comp = left.serialno.compare(right.serialno); + + return (comp < 0); } -bool compare(SinexSiteData& one, SinexSiteData& two) +bool compare(SinexGalPhaseCenter& one, SinexGalPhaseCenter& two) { - if (one.site.compare(two.site) == 0 && one.sitecode.compare(two.sitecode) == 0) + if (one.antname.compare(two.antname) == 0 && one.serialno.compare(two.serialno) == 0) { return true; } return false; } -bool compare(SinexReceiver& one, SinexReceiver& two) +// compare by antenna type and serial number. return true0 if left < right +bool compareGalPc(SinexGalPhaseCenter& left, SinexGalPhaseCenter& right) { - if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && - one.end[1] == two.end[1] && one.end[2] == two.end[2]) - { - return true; - } - return false; + int comp = left.antname.compare(right.antname); + + if (comp == 0) + comp = left.serialno.compare(right.serialno); + + return (comp < 0); } -bool compare(SinexAntenna& one, SinexAntenna& two) +bool compare(SinexSiteEcc& one, SinexSiteEcc& two) { if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && @@ -275,93 +264,239 @@ bool compare(SinexAntenna& one, SinexAntenna& two) return false; } -bool compare(SinexGpsPhaseCenter& one, SinexGpsPhaseCenter& two) +bool compare(SinexSatId& one, SinexSatId& two) { - if (one.antname.compare(two.antname) == 0 && one.serialno.compare(two.serialno) == 0) + if (one.svn.compare(two.svn) == 0 && one.prn.compare(two.prn) == 0 && + one.timeSinceLaunch[0] == two.timeSinceLaunch[0] && + one.timeSinceLaunch[1] == two.timeSinceLaunch[1] && + one.timeSinceLaunch[2] == two.timeSinceLaunch[2] && + one.timeUntilDecom[0] == two.timeUntilDecom[0] && + one.timeUntilDecom[1] == two.timeUntilDecom[1] && + one.timeUntilDecom[2] == two.timeUntilDecom[2]) { return true; } return false; } -bool compare(SinexGalPhaseCenter& one, SinexGalPhaseCenter& two) +bool compareSatIds(SinexSatId& left, SinexSatId& right) { - if (one.antname.compare(two.antname) == 0 && one.serialno.compare(two.serialno) == 0) - { - return true; - } - return false; + int comp = left.svn.compare(right.svn); + + return (comp < 0); } -bool compare(SinexSiteEcc& one, SinexSiteEcc& two) +bool compare(SinexSatPc& one, SinexSatPc& two) { - if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && - one.end[1] == two.end[1] && one.end[2] == two.end[2]) + if (one.svn.compare(two.svn) == 0 && one.freq == two.freq && one.freq2 == two.freq2) { return true; } return false; } -bool compare(SinexSolEpoch& one, SinexSolEpoch& two) +bool compareSatPc(SinexSatPc& left, SinexSatPc& right) { - if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && - one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && - one.end[1] == two.end[1] && one.end[2] == two.end[2]) - { - return true; - } - return false; + // start by comparing SVN... + int comp = left.svn.compare(right.svn); + + // then by the first freq number + if (comp == 0) + comp = static_cast(left.freq) - static_cast(right.freq); + + return (comp < 0); } -bool compare(SinexSolEstimate& one, SinexSolEstimate& two) +bool compare(SinexSatPrn& one, SinexSatPrn& two) { - if (one.sitecode.compare(two.sitecode) == 0 && one.type.compare(two.type) == 0 && - one.refepoch == two.refepoch) + if (one.svn.compare(two.svn) == 0 && one.prn.compare(two.prn) == 0 && + one.start[0] == two.start[0] && one.start[1] == two.start[1] && + one.start[2] == two.start[2]) { return true; } return false; } -bool compare(SinexSolApriori& one, SinexSolApriori& two) +bool compareSatPrns(SinexSatPrn& left, SinexSatPrn& right) { - if (one.sitecode.compare(two.sitecode) == 0 && one.param_type.compare(two.param_type) == 0 && - one.epoch == two.epoch) + int comp = left.prn.compare(right.prn); + + return (comp < 0); +} + +bool compare(SinexSatFreqChn& one, SinexSatFreqChn& two) +{ + if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && + one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) { return true; } return false; } -bool compare(SinexSolNeq& one, SinexSolNeq& two) +bool compareFreqChannels(SinexSatFreqChn& left, SinexSatFreqChn& right) { - if (one.site.compare(two.site) == 0 && one.ptype.compare(two.ptype) == 0 && - one.epoch == two.epoch) + // start by comparing SVN... + int comp = left.svn.compare(right.svn); + + // then by start time if the same space vehicle + for (int i = 0; i < 3; i++) + if (comp == 0) + comp = left.start[i] - right.start[i]; + + return (comp < 0); +} + +bool compare(SinexSatMass& one, SinexSatMass& two) +{ + if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && + one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) { return true; } return false; } -bool compare(SinexSolMatrix& one, SinexSolMatrix& two) +bool compare(SinexSatCom& one, SinexSatCom& two) { - if (one.row == two.row && one.col == two.col) + if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && + one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) { return true; } return false; } -template -void dedupe(list& source) +bool compareSatCom(SinexSatCom& left, SinexSatCom& right) { - list copy; + // start by comparing SVN... + int comp = left.svn.compare(right.svn); - for (auto it = source.begin(); it != source.end();) - { - bool found = false; + // then by start time if the same space vehicle + for (int i = 0; i < 3; i++) + if (comp == 0) + comp = left.start[i] - right.start[i]; + + return (comp < 0); +} + +bool compare(SinexSatEcc& one, SinexSatEcc& two) +{ + if (one.svn.compare(two.svn) == 0 && one.type == two.type) + { + return true; + } + return false; +} + +bool compareSatEcc(SinexSatEcc& left, SinexSatEcc& right) +{ + // start by comparing SVN... + int comp = left.svn.compare(right.svn); + + // then by type (P or L) + if (comp == 0) + comp = static_cast(left.type) - static_cast(right.type); + + return (comp < 0); +} + +bool compare(SinexSatPower& one, SinexSatPower& two) +{ + if (one.svn.compare(two.svn) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && + one.stop[0] == two.stop[0] && one.stop[1] == two.stop[1] && one.stop[2] == two.stop[2]) + { + return true; + } + return false; +} + +bool compare(SinexSolEpoch& one, SinexSolEpoch& two) +{ + if (one.sitecode.compare(two.sitecode) == 0 && one.start[0] == two.start[0] && + one.start[1] == two.start[1] && one.start[2] == two.start[2] && one.end[0] == two.end[0] && + one.end[1] == two.end[1] && one.end[2] == two.end[2]) + { + return true; + } + return false; +} + +bool compareSiteEpochs(SinexSolEpoch& left, SinexSolEpoch& right) +{ + int comp = left.sitecode.compare(right.sitecode); + int i = 0; + + while (comp == 0 && i < 3) + { + comp = left.start[i] - right.start[i]; + i++; + } + + return (comp < 0); +} + +bool compare(SinexSolStatistic& one, SinexSolStatistic& two) +{ + if (one.name.compare(two.name) == 0) + { + return true; + } + return false; +} + +bool compare(SinexSolEstimate& one, SinexSolEstimate& two) +{ + if (one.sitecode.compare(two.sitecode) == 0 && one.type.compare(two.type) == 0 && + one.refepoch == two.refepoch) + { + return true; + } + return false; +} + +bool compare(SinexSolApriori& one, SinexSolApriori& two) +{ + if (one.sitecode.compare(two.sitecode) == 0 && one.param_type.compare(two.param_type) == 0 && + one.epoch == two.epoch) + { + return true; + } + return false; +} + +bool compare(SinexSolNeq& one, SinexSolNeq& two) +{ + if (one.site.compare(two.site) == 0 && one.ptype.compare(two.ptype) == 0 && + one.epoch == two.epoch) + { + return true; + } + return false; +} + +bool compare(SinexSolMatrix& one, SinexSolMatrix& two) +{ + if (one.row == two.row && one.col == two.col) + { + return true; + } + return false; +} + +template +void dedupe(list& source) +{ + list copy; + + for (auto it = source.begin(); it != source.end();) + { + bool found = false; for (auto it2 = copy.begin(); it2 != copy.end(); it2++) { @@ -430,11 +565,11 @@ void dedupeSinex() dedupe(theSinex.listprecessions); dedupe(theSinex.listsourceids); dedupe(theSinex.listsatids); + dedupe(theSinex.listsatpcs); dedupe(theSinex.listsatprns); dedupe(theSinex.listsatfreqchns); dedupe(theSinex.listsatcoms); dedupe(theSinex.listsateccs); - dedupe(theSinex.listsatpcs); dedupe(theSinex.liststatistics); // // TODO: need to make sure sitecode & type match on index @@ -460,6 +595,8 @@ void dedupeSinex() return; } +void nullFunction(string& line) {} + // TODO; What if we are reading a second file. What wins? bool readSnxHeader(std::ifstream& in) { @@ -543,1941 +680,2495 @@ bool readSnxHeader(std::ifstream& in) return true; } -void updateSinexHeader( - string& create_agc, - string& data_agc, - UYds soln_start, - UYds soln_end, - const char obsCode, - const char constCode, - string& contents, - int numParam, - double sinexVer -) +void parseReference(string& line) +{ + theSinex.refstrings.push_back(line); +} + +void parseInputHistory(string& line) { SinexInputHistory siht; + // remaining characters indiciate properties of the history - siht.code = '+'; - siht.fmt = theSinex.ver; - siht.create_agency = theSinex.createagc; - siht.data_agency = theSinex.dataagc; - siht.obs_tech = theSinex.obsCode; - siht.constraint = theSinex.constCode; - siht.num_estimates = theSinex.numparam; - siht.contents = theSinex.solcont; - siht.create_time = theSinex.filedate; - siht.start = theSinex.solutionstartdate; - siht.stop = theSinex.solutionenddate; + if (line.length() > 5) + { + const char* buff = line.c_str(); + char create_agc[4]; + char data_agc[4]; + char solcontents[7]; + int readcount; - if (theSinex.inputHistory.empty()) - theSinex.inputHistory.push_back(siht); + siht.code = line[1]; - theSinex.ver = sinexVer; + readcount = sscanf( + buff + 6, + "%4lf %3s %2lf:%3lf:%5lf %3s %2lf:%3lf:%5lf %2lf:%3lf:%5lf %c %5d %c %c %c %c %c %c %c", + &siht.fmt, + create_agc, + &siht.create_time[0], + &siht.create_time[1], + &siht.create_time[2], + data_agc, + &siht.start[0], + &siht.start[1], + &siht.start[2], + &siht.stop[0], + &siht.stop[1], + &siht.stop[2], + &siht.obs_tech, + &siht.num_estimates, + &siht.constraint, + &solcontents[0], + &solcontents[1], + &solcontents[2], + &solcontents[3], + &solcontents[4], + &solcontents[5] + ); - if (data_agc.size() > 0) - theSinex.dataagc = data_agc; - else - theSinex.dataagc = theSinex.createagc; + if (readcount >= 15) + { + while (readcount < 21) + { + solcontents[readcount - 15] = ' '; + readcount++; + } - theSinex.createagc = create_agc; - theSinex.solcont = contents; - theSinex.filedate = timeGet(); - theSinex.solutionstartdate = soln_start; - theSinex.solutionenddate = soln_end; + solcontents[6] = '\0'; - if (obsCode != ' ') - theSinex.obsCode = obsCode; + siht.create_agency = create_agc; + siht.data_agency = data_agc; + siht.contents = solcontents; - if (constCode != ' ') - theSinex.constCode = constCode; + nearestYear(siht.create_time[0]); + nearestYear(siht.start[0]); + nearestYear(siht.stop[0]); - theSinex.numparam = numParam; + theSinex.inputHistory.push_back(siht); + } + } } -void writeSnxHeader(std::ofstream& out) +void parseInputFiles(string& line) { - char line[81]; - char c; - int i; - - int offset = 0; - offset += snprintf( - line + offset, - sizeof(line) - offset, - "%%=SNX %4.2lf %3s %2.2d:%3.3d:%5.5d %3s %2.2d:%3.3d:%5.5d %2.2d:%3.3d:%5.5d %c %5d %c", - theSinex.ver, - theSinex.createagc.c_str(), - (int)theSinex.filedate[0] % 100, - (int)theSinex.filedate[1], - (int)theSinex.filedate[2], - theSinex.dataagc.c_str(), - (int)theSinex.solutionstartdate[0] % 100, - (int)theSinex.solutionstartdate[1], - (int)theSinex.solutionstartdate[2], - (int)theSinex.solutionenddate[0] % 100, - (int)theSinex.solutionenddate[1], - (int)theSinex.solutionenddate[2], - theSinex.obsCode, - theSinex.numparam, - theSinex.constCode - ); + SinexInputFile sif; + char agency[4]; + const char* buff = line.c_str(); + sif.file = line.substr(18, 29); + sif.description = line.substr(48); - i = 0; - c = theSinex.solcont[0]; + int readcount = + sscanf(buff + 1, "%3s %2lf:%3lf:%5lf", agency, &sif.yds[0], &sif.yds[1], &sif.yds[2]); - while (c != ' ') + if (readcount == 4) { - snprintf(line + offset, sizeof(line) - offset, " %c", c); + sif.agency = agency; - i++; + nearestYear(sif.yds[0]); - if (i <= theSinex.solcont.length()) - c = theSinex.solcont[i]; - else - c = ' '; + theSinex.inputFiles.push_back(sif); } - - out << line << "\n"; } -void parseReference(string& line) +void parseAcknowledgements(string& line) { - theSinex.refstrings.push_back(line); + SinexAck sat; + + sat.description = line.substr(5); + sat.agency = line.substr(1, 3); + + theSinex.acknowledgements.push_back(sat); } -void writeAsComments(Trace& out, list& comments) +void parseNutcode(string& line) { - for (auto& comment : comments) - { - string line = comment; + SinexNutCode snt; - // just make sure it starts with * as required by format - line[0] = '*'; + snt.nutcode = line.substr(1, 8); + snt.comment = line.substr(10); - out << line << "\n"; - } + theSinex.listnutcodes.push_back(snt); } -void commentsOverride() +void parsePrecode(string& line) { - // overriding only those that can be found in IGS/CODE/GRG SINEX files - theSinex.blockComments["FILE/REFERENCE"].push_back( - "*OWN __CREATION__ ___________FILENAME__________ ___________DESCRIPTION__________" - ); // INPUT/FILES - theSinex.blockComments["INPUT/HISTORY"].push_back( - "*_VERSION_ CRE __CREATION__ OWN _DATA_START_ __DATA_END__ T PARAM S ____TYPE____" - ); // INPUT/HISTORY - theSinex.blockComments["INPUT/ACKNOWLEDGEMENTS"].push_back( - "*AGY ______________________________FULL_DESCRIPTION_____________________________" - ); // INPUT/ACKNOWLEDGEMENTS - theSinex.blockComments["SITE/ID"].push_back( - "*CODE PT __DOMES__ T _STATION DESCRIPTION__ _LONGITUDE_ _LATITUDE__ HEIGHT_" - ); // SITE/ID - theSinex.blockComments["SITE/DATA"].push_back( - "*CODE PT SOLN CODE PT SOLN T _DATA START_ _DATA END___ OWN _FILE TIME__" - ); // SITE/DATA - theSinex.blockComments["SITE/RECEIVER"].push_back( - "*CODE PT SOLN T _DATA START_ _DATA END___ _RECEIVER TYPE______ _S/N_ _FIRMWARE__" - ); // SITE/RECEIVER - theSinex.blockComments["SITE/ANTENNA"].push_back( - "*CODE PT SOLN T _DATA START_ __DATA END__ __ANTENNA TYPE______ _S/N_" - ); // SITE/ANTENNA - theSinex.blockComments["SITE/GPS_PHASE_CENTER"].push_back( - "________TYPE________ _S/N_ _L1_U_ _L1_N_ _L1_E_ _L2_U_ _L2_N_ _L2_E_ __MODEL___" - ); // SITE/GPS_PHASE_CENTER - theSinex.blockComments["SITE/ECCENTRICITY"].push_back( - "* _UP_____ _NORTH__ _EAST___\n*CODE PT SOLN T " - "_DATA START_ __DATA " - "END__ TYP __ARP-BENCHMARK (M)_______" - ); // SITE/ECCENTRICITY - theSinex.blockComments["SOLUTION/ESTIMATE"].push_back( - "*INDEX _TYPE_ CODE PT SOLN _REF_EPOCH__ UNIT S ___ESTIMATED_VALUE___ __STD_DEV__" - ); // BIAS/EPOCHS|SOLUTION/EPOCHS|SOLUTION/ESTIMATE - theSinex.blockComments["SOLUTION/STATISTICS"].push_back( - "*_STATISTICAL PARAMETER________ __VALUE(S)____________" - ); // SOLUTION/STATISTICS - theSinex.blockComments["SOLUTION/APRIORI"].push_back( - "*INDEX _TYPE_ CODE PT SOLN _REF_EPOCH__ UNIT S __APRIORI VALUE______ _STD_DEV___" - ); // SOLUTION/APRIORI - theSinex.blockComments["SOLUTION/NORMAL_EQUATION_VECTOR"].push_back( - "*INDEX TYPE__ CODE PT SOLN _REF_EPOCH__ UNIT S __RIGHT_HAND_SIDE____" - ); // SOLUTION/NORMAL_EQUATION_VECTOR - theSinex.blockComments["SOLUTION/MATRIX_ESTIMATE"].push_back( - "*PARA1 PARA2 _______PARA2+0_______ _______PARA2+1_______ _______PARA2+2_______" - ); // SOLUTION/MATRIX_ESTIMATE|SOLUTION/MATRIX_APRIORI|SOLUTION/NORMAL_EQUATION_MATRIX - theSinex.blockComments["SATELLITE/PHASE_CENTER"].push_back( - "*SITE L SATA_Z SATA_X SATA_Y L SATA_Z SATA_X SATA_Y MODEL_____ T M" - ); // SATELLITE/PHASE_CENTER - theSinex.blockComments["SAT/ID"].push_back( - "SATELLITE/ID *SITE PR COSPAR___ T DATA_START__ DATA_END____ ANTENNA_____________" - ); // SATELLITE/ID + SinexPreCode snt; + + snt.precesscode = line.substr(1, 8); + snt.comment = line.substr(10); + + theSinex.listprecessions.push_back(snt); } -void writeSnxReference(ofstream& out) +void parseSourceIds(string& line) { - Block block(out, "FILE/REFERENCE"); + SinexSourceId ssi; - for (auto& refString : theSinex.refstrings) - { - out << refString << "\n"; - } + ssi.source = line.substr(1, 4); + ssi.iers = line.substr(6, 8); + ssi.icrf = line.substr(15, 16); + ssi.comments = line.substr(32); + + theSinex.listsourceids.push_back(ssi); } -void writeSnxComments(ofstream& out) +void parseSiteIds(string& line) { - Block block(out, "FILE/COMMENT"); + const char* buff = line.c_str(); + SinexSiteId sst; + + sst.sitecode = trim(line.substr(1, 4)); + sst.ptcode = line.substr(6, 2); + sst.domes = line.substr(9, 9); + sst.typecode = line[19]; + sst.desc = line.substr(21, 22); + + int readcount = sscanf( + buff + 44, + "%3d %2d %4lf %3d %2d %4lf %7lf", + &sst.lon_deg, + &sst.lon_min, + &sst.lon_sec, + &sst.lat_deg, + &sst.lat_min, + &sst.lat_sec, + &sst.height + ); - for (auto& commentstring : theSinex.blockComments[block.blockName]) + if (readcount == 7) { - out << commentstring << "\n"; + theSinex.mapsiteids[sst.sitecode] = sst; } } -void parseInputHistory(string& line) +void parseSiteData(string& line) { - SinexInputHistory siht; - // remaining characters indiciate properties of the history + const char* buff = line.c_str(); - if (line.length() > 5) - { - const char* buff = line.c_str(); - char create_agc[4]; - char data_agc[4]; - char solcontents[7]; - int readcount; + SinexSiteData sst; - siht.code = line[1]; + sst.site = line.substr(1, 4); + sst.station_pt = line.substr(6, 2); + sst.soln_id = line.substr(9, 4); + sst.sitecode = line.substr(14, 4); + sst.site_pt = line.substr(18, 2); + sst.sitesoln = line.substr(20, 4); - readcount = sscanf( - buff + 6, - "%4lf %3s %2lf:%3lf:%5lf %3s %2lf:%3lf:%5lf %2lf:%3lf:%5lf %c %5d %c %c %c %c %c %c %c", - &siht.fmt, - create_agc, - &siht.create_time[0], - &siht.create_time[1], - &siht.create_time[2], - data_agc, - &siht.start[0], - &siht.start[1], - &siht.start[2], - &siht.stop[0], - &siht.stop[1], - &siht.stop[2], - &siht.obs_tech, - &siht.num_estimates, - &siht.constraint, - &solcontents[0], - &solcontents[1], - &solcontents[2], - &solcontents[3], - &solcontents[4], - &solcontents[5] - ); + sst.obscode = line[24]; + UYds start; + UYds end; + UYds create; + char agency[4]; - if (readcount >= 15) - { - while (readcount < 21) - { - solcontents[readcount - 15] = ' '; - readcount++; - } + int readcount; - solcontents[6] = '\0'; + readcount = sscanf( + buff + 28, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %3s %2lf:%3lf:%5lf", + &start[0], + &start[1], + &start[2], + &end[0], + &end[1], + &end[2], + agency, + &create[0], + &create[1], + &create[2] + ); - siht.create_agency = create_agc; - siht.data_agency = data_agc; - siht.contents = solcontents; + if (readcount == 10) + { + sst.agency = agency; + sst.start = start; + sst.stop = end; + sst.create = create; - nearestYear(siht.create_time[0]); - nearestYear(siht.start[0]); - nearestYear(siht.stop[0]); + // see comment at top of file + if (sst.start[0] != 0 || sst.start[1] != 0 || sst.start[2] != 0) + { + nearestYear(sst.start[0]); + } - theSinex.inputHistory.push_back(siht); + if (sst.stop[0] != 0 || sst.stop[1] != 0 || sst.stop[2] != 0) + { + nearestYear(sst.stop[0]); } + + nearestYear(sst.create[0]); + + theSinex.listsitedata.push_back(sst); } } -void writeSnxInputHistory(ofstream& out) +void parseReceivers(string& line) { - Block block(out, "INPUT/HISTORY"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); + const char* buff = line.c_str(); - for (auto it = theSinex.inputHistory.begin(); it != theSinex.inputHistory.end(); it++) - { - char line[81] = {}; - int offset = 0; - SinexInputHistory siht = *it; - int i = 0; + SinexReceiver srt; - offset += snprintf( - line + offset, - sizeof(line) - offset, - " %cSNX %4.2lf %3s %2.2d:%3.3d:%5.5d %3s %2.2d:%3.3d:%5.5d %2.2d:%3.3d:%5.5d %c %5d %c", - siht.code, - siht.fmt, - siht.create_agency.c_str(), - (int)siht.create_time[0] % 100, - (int)siht.create_time[1], - (int)siht.create_time[2], - siht.data_agency.c_str(), - (int)siht.start[0] % 100, - (int)siht.start[1], - (int)siht.start[2], - (int)siht.stop[0] % 100, - (int)siht.stop[1], - (int)siht.stop[2], - siht.obs_tech, - siht.num_estimates, - siht.constraint - ); + srt.sitecode = trim(line.substr(1, 4)); + srt.ptcode = line.substr(6, 2); + srt.solnid = line.substr(9, 4); + srt.typecode = line[14]; + srt.type = line.substr(42, 20); + srt.sn = line.substr(63, 5); + if (line.length() > 69) + srt.firm = trim(line.substr(69)); + int readcount; - char c = siht.contents[i]; + readcount = sscanf( + buff + 16, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", + &srt.start[0], + &srt.start[1], + &srt.start[2], + &srt.end[0], + &srt.end[1], + &srt.end[2] + ); - while (c != ' ') + if (readcount == 6) + { + // see comment at top of file + if (srt.start[0] != 0 || srt.start[1] != 0 || srt.start[2] != 0) { - offset += snprintf(line + offset, sizeof(line) - offset, " %c", c); - i++; + nearestYear(srt.start[0]); + } - if (siht.contents.length() >= i) - c = siht.contents[i]; - else - c = ' '; + if (srt.end[0] != 0 || srt.end[1] != 0 || srt.end[2] != 0) + { + nearestYear(srt.end[0]); } - out << line << "\n"; + theSinex.mapreceivers[srt.sitecode][srt.start] = srt; } } -void parseInputFiles(string& line) +void parseAntennas(string& line) { - SinexInputFile sif; - char agency[4]; - const char* buff = line.c_str(); - sif.file = line.substr(18, 29); - sif.description = line.substr(48, 32); + const char* buff = line.c_str(); - int readcount = - sscanf(buff + 1, "%3s %2lf:%3lf:%5lf", agency, &sif.yds[0], &sif.yds[1], &sif.yds[2]); + SinexAntenna ant; - if (readcount == 4) + ant.sitecode = trim(line.substr(1, 4)); + ant.ptcode = line.substr(6, 2); + ant.solnnum = line.substr(9, 4); + ant.typecode = line[14]; + ant.type = line.substr(42, 20); + if (line.length() > 63) + ant.sn = trim(line.substr(63, 5)); + + int readcount = sscanf( + buff + 16, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", + &ant.start[0], + &ant.start[1], + &ant.start[2], + &ant.end[0], + &ant.end[1], + &ant.end[2] + ); + + if (readcount == 6) { - sif.agency = agency; + // see comment at top of file + if (ant.start[0] != 0 || ant.start[1] != 0 || ant.start[2] != 0) + { + nearestYear(ant.start[0]); + } - nearestYear(sif.yds[0]); + if (ant.end[0] != 0 || ant.end[1] != 0 || ant.end[2] != 0) + { + nearestYear(ant.end[0]); + } - theSinex.inputFiles.push_back(sif); + theSinex.mapantennas[ant.sitecode][ant.start] = ant; + // theSinex.list_antennas.push_back(ant); } } -void writeSnxInputFiles(ofstream& out) +void parseGpsPhaseCenters(string& line) { - Block block(out, "INPUT/FILES"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); + const char* buff = line.c_str(); + SinexGpsPhaseCenter sgpct; - for (auto& inputFile : theSinex.inputFiles) - { - SinexInputFile& sif = inputFile; + sgpct.antname = line.substr(1, 20); + sgpct.serialno = line.substr(22, 5); + sgpct.calib = line.substr(70); - char line[81]; - int len; - snprintf( - line, - sizeof(line), - " %3s %02d:%03d:%05d ", - sif.agency.c_str(), - (int)sif.yds[0] % 100, - (int)sif.yds[1], - (int)sif.yds[2] - ); + int readcount = sscanf( + buff + 28, + "%6lf %6lf %6lf %6lf %6lf %6lf", + &sgpct.L1[0], + &sgpct.L1[1], + &sgpct.L1[2], + &sgpct.L2[0], + &sgpct.L2[1], + &sgpct.L2[2] + ); - // if the filename length is greater than 29 (format spec limit) make into a comment line - if (sif.file.length() > 29) - line[0] = '*'; - // pad short filenames to 29 characters - if ((len = sif.file.length()) < 29) - { - for (int i = len; i < 29; i++) - sif.file += ' '; - } - out << line << sif.file << " " << sif.description << "\n"; + if (readcount == 6) + { + theSinex.listgpspcs.push_back(sgpct); } } -void parseAcknowledgements(string& line) +// Gallileo phase centers take three line each! +void parseGalPhaseCenters(string& s_x) { - SinexAck sat; + static int lineNum = 0; + static string lines[3]; + lines[lineNum] = s_x; - sat.description = line.substr(5); - sat.agency = line.substr(1, 3); + lineNum++; + if (lineNum != 3) + { + // wait for 3 lines. + return; + } - theSinex.acknowledgements.push_back(sat); -} + lineNum = 0; -void writeSnxAcknowledgements(ofstream& out) -{ - Block block(out, "INPUT/ACKNOWLEDGEMENTS"); + auto& line1 = lines[0]; + auto& line2 = lines[1]; + auto& line3 = lines[2]; - writeAsComments(out, theSinex.blockComments[block.blockName]); + SinexGalPhaseCenter sgpct; - for (auto& acknowledgement : theSinex.acknowledgements) - { - SinexAck& ack = acknowledgement; + sgpct.antname = line1.substr(1, 20); + sgpct.serialno = line1.substr(22, 5); + sgpct.calib = line1.substr(69); - char line[81]; - snprintf(line, sizeof(line), " %3s %s", ack.agency.c_str(), ack.description.c_str()); + int readcount1 = sscanf( + line1.c_str() + 28, + "%6lf %6lf %6lf %6lf %6lf %6lf", + &sgpct.L1[0], + &sgpct.L1[1], + &sgpct.L1[2], + &sgpct.L5[0], + &sgpct.L5[1], + &sgpct.L5[2] + ); - out << line << "\n"; + // Do we need to check the antenna name and serial each time? I am going to assume not + int readcount2 = sscanf( + line2.c_str() + 28, + "%6lf %6lf %6lf %6lf %6lf %6lf", + &sgpct.L6[0], + &sgpct.L6[1], + &sgpct.L6[2], + &sgpct.L7[0], + &sgpct.L7[1], + &sgpct.L7[2] + ); + int readcount3 = + sscanf(line3.c_str() + 28, "%6lf %6lf %6lf", &sgpct.L8[0], &sgpct.L8[1], &sgpct.L8[2]); + + if (readcount1 == 6 && readcount2 == 6 && readcount3 == 3) + { + theSinex.listgalpcs.push_back(sgpct); } } -void parseSiteIds(string& line) +void parseSiteEccentricity(string& line) { - const char* buff = line.c_str(); - SinexSiteId sst; + const char* buff = line.c_str(); + SinexSiteEcc sset; - sst.sitecode = trim(line.substr(1, 4)); - sst.ptcode = line.substr(6, 2); - sst.domes = line.substr(9, 9); - sst.typecode = line[19]; - sst.desc = line.substr(21, 22); + sset.sitecode = trim(line.substr(1, 4)); + sset.ptcode = line.substr(6, 2); + sset.solnnum = line.substr(9, 4); + sset.typecode = line[14]; + sset.rs = line.substr(42, 3); + char junk[4]; int readcount = sscanf( - buff + 44, - "%3d %2d %4lf %3d %2d %4lf %7lf", - &sst.lon_deg, - &sst.lon_min, - &sst.lon_sec, - &sst.lat_deg, - &sst.lat_min, - &sst.lat_sec, - &sst.height + buff + 16, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %3s %8lf %8lf %8lf", + &sset.start[0], + &sset.start[1], + &sset.start[2], + &sset.end[0], + &sset.end[1], + &sset.end[2], + junk, + &sset.ecc.u(), + &sset.ecc.n(), + &sset.ecc.e() ); - if (readcount == 7) + if (readcount == 10) { - theSinex.mapsiteids[sst.sitecode] = sst; + // see comment at top of file + if (sset.start[0] != 0 || sset.start[1] != 0 || sset.start[2] != 0) + { + nearestYear(sset.start[0]); + } + + if (sset.end[0] != 0 || sset.end[1] != 0 || sset.end[2] != 0) + { + nearestYear(sset.end[0]); + } + + theSinex.mapeccentricities[sset.sitecode][sset.start] = sset; } } -void writeSnxSiteids(ofstream& out) +void parseSatelliteIds(string& line) { - Block block(out, "SITE/ID"); + const char* buff = line.c_str(); - writeAsComments(out, theSinex.blockComments[block.blockName]); + SinexSatId sst; + + sst.svn = line.substr(1, 4); + sst.prn = sst.svn[0] + line.substr(6, 2); + sst.cospar = line.substr(9, 9); + sst.obsCode = line[18]; + sst.antRcvType = line.substr(47); + + int readcount = sscanf( + buff + 21, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", + &sst.timeSinceLaunch[0], + &sst.timeSinceLaunch[1], + &sst.timeSinceLaunch[2], + &sst.timeUntilDecom[0], + &sst.timeUntilDecom[1], + &sst.timeUntilDecom[2] + ); - for (auto& [id, ssi] : theSinex.mapsiteids) + if (readcount == 6) { - if (ssi.used == false) - { - continue; - } + // TODO: make the following adjustements + // TSL if 0 is Sinex file start date + // TUD if 0 is Sinex file end date - tracepdeex( - 0, - out, - " %4s %2s %9s %c %22s %3d %2d %4.1lf %3d %2d %4.1lf %7.1lf\n", - ssi.sitecode.c_str(), - ssi.ptcode.c_str(), - ssi.domes.c_str(), - ssi.typecode, - ssi.desc.c_str(), - ssi.lon_deg, - ssi.lon_min, - ssi.lon_sec, - ssi.lat_deg, - ssi.lat_min, - ssi.lat_sec, - ssi.height - ); + theSinex.listsatids.push_back(sst); } } -// compare by the 2 station ids only. -bool compareSiteData(const SinexSiteData& left, const SinexSiteData& right) +void parseSatellitePhaseCenters(string& line) { - int comp = left.site.compare(right.site); + const char* buff = line.c_str(); - if (comp == 0) - comp = left.sitecode.compare(right.sitecode); + SinexSatPc spt; - return (comp < 0); + int readcount2; + + spt.svn = line.substr(1, 4); + spt.freq = line[6]; + spt.freq2 = line[29]; + spt.antenna = line.substr(52, 10); + spt.type = line[63]; + spt.model = line[65]; + + int readcount = sscanf(buff + 6, "%6lf %6lf %6lf", &spt.zxy[0], &spt.zxy[1], &spt.zxy[2]); + + if (spt.freq2 != ' ') + { + readcount2 = sscanf(buff + 31, "%6lf %6lf %6lf", &spt.zxy2[0], &spt.zxy2[1], &spt.zxy2[2]); + } + + if (readcount == 3 && (spt.freq2 == ' ' || readcount2 == 3)) + { + theSinex.listsatpcs.push_back(spt); + } } -void parseSiteData(string& line) +void parseSatelliteIdentifiers(string& line) { const char* buff = line.c_str(); - SinexSiteData sst; + SinexSatIdentity sst; - sst.site = line.substr(1, 4); - sst.station_pt = line.substr(6, 2); - sst.soln_id = line.substr(9, 4); - sst.sitecode = line.substr(14, 4); - sst.site_pt = line.substr(18, 2); - sst.sitesoln = line.substr(20, 4); + sst.svn = line.substr(1, 4); + sst.cospar = line.substr(6, 9); + sst.category = (int)str2num(buff, 16, 6); + sst.blocktype = trim(line.substr(23, 15)); + sst.comment = line.substr(39); - sst.obscode = line[24]; - UYds start; - UYds end; - UYds create; - char agency[4]; + theSinex.satIdentityMap[sst.svn] = sst; - int readcount; + nav.blocktypeMap[sst.svn] = sst.blocktype; +} - readcount = sscanf( - buff + 28, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %3s %2lf:%3lf:%5lf", - &start[0], - &start[1], - &start[2], - &end[0], - &end[1], - &end[2], - agency, - &create[0], - &create[1], - &create[2] - ); +void parseSatPrns(string& line) +{ + const char* buff = line.c_str(); - if (readcount == 10) - { - sst.agency = agency; - sst.start = start; - sst.stop = end; - sst.create = create; + SinexSatPrn spt; - // see comment at top of file - if (sst.start[0] != 0 || sst.start[1] != 0 || sst.start[2] != 0) - { - nearestYear(sst.start[0]); - } + spt.svn = line.substr(1, 4); + spt.prn = line.substr(36, 3); + spt.comment = line.substr(40); - if (sst.stop[0] != 0 || sst.stop[1] != 0 || sst.stop[2] != 0) - { - nearestYear(sst.stop[0]); - } + int readcount = sscanf( + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf", + &spt.start[0], + &spt.start[1], + &spt.start[2], + &spt.stop[0], + &spt.stop[1], + &spt.stop[2] + ); - nearestYear(sst.create[0]); + if (readcount == 6) + { + // No need to adjust years since for satellites the year is 4 digits ... + theSinex.listsatprns.push_back(spt); - theSinex.listsitedata.push_back(sst); + nav.svnMap[SatSys(spt.prn.c_str())][spt.start] = spt.svn; } } -void writeSnxSitedata(ofstream& out, list* pstns) +void parseSatFreqChannels(string& line) { - Block block(out, "SITE/DATA"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); + const char* buff = line.c_str(); - for (auto& sitedata : theSinex.listsitedata) - { - SinexSiteData& ssd = sitedata; - bool doit = false; + SinexSatFreqChn sfc; - char line[81]; - snprintf( - line, - sizeof(line), - " %4s %2s %4s %4s %2s %4s %c %2.2d:%3.3d:%5.5d %2.2d:%3.3d:%5.5d %3s %2.2d:%3.3d:%5.5d", - ssd.site.c_str(), - ssd.station_pt.c_str(), - ssd.soln_id.c_str(), - ssd.sitecode.c_str(), - ssd.site_pt.c_str(), - ssd.sitesoln.c_str(), - ssd.obscode, - (int)ssd.start[0] % 100, - (int)ssd.start[1], - (int)ssd.start[2], - (int)ssd.stop[0] % 100, - (int)ssd.stop[1], - (int)ssd.stop[2], - ssd.agency.c_str(), - (int)ssd.create[0] % 100, - (int)ssd.create[1], - (int)ssd.create[2] - ); + sfc.svn = line.substr(1, 4); + sfc.comment = line.substr(40); - if (pstns == nullptr) - doit = true; - else - { - for (auto& stn : *pstns) - { - if (ssd.site.compare(stn.id_ptr->sitecode) == 0) - { - doit = true; - break; - } - } - } + int readcount = sscanf( + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %3d", + &sfc.start[0], + &sfc.start[1], + &sfc.start[2], + &sfc.stop[0], + &sfc.stop[1], + &sfc.stop[2], + &sfc.channel + ); - if (doit) - out << line << "\n"; + if (readcount == 7) + { + // No need to adjust years since for satellites the year is 4 digits ... + theSinex.listsatfreqchns.push_back(sfc); } } -void parseReceivers(string& line) +void parseSatPlanes(string& line) { + int offset = 0; + if (line.empty() == false && line[0] == ' ') + { + offset = 1; + } + const char* buff = line.c_str(); - SinexReceiver srt; + SinexSatPlane spl; - srt.sitecode = trim(line.substr(1, 4)); - srt.ptcode = line.substr(6, 2); - srt.solnid = line.substr(9, 4); - srt.typecode = line[14]; - srt.type = line.substr(42, 20); - srt.sn = line.substr(63, 5); - srt.firm = trim(line.substr(69, 11)); - int readcount; + spl.svn = line.substr(offset, 4); - readcount = sscanf( - buff + 16, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", - &srt.start[0], - &srt.start[1], - &srt.start[2], - &srt.end[0], - &srt.end[1], - &srt.end[2] + int readcount = sscanf( + buff + offset + 5, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %c", + &spl.start[0], + &spl.start[1], + &spl.start[2], + &spl.stop[0], + &spl.stop[1], + &spl.stop[2], + &spl.plane ); - if (readcount == 6) + if ((int)line.size() > offset + 37) { - // see comment at top of file - if (srt.start[0] != 0 || srt.start[1] != 0 || srt.start[2] != 0) - { - nearestYear(srt.start[0]); - } + spl.slot = trim(line.substr(offset + 37, 6)); + } - if (srt.end[0] != 0 || srt.end[1] != 0 || srt.end[2] != 0) - { - nearestYear(srt.end[0]); - } + if ((int)line.size() > offset + 44) + { + spl.comment = trim(line.substr(offset + 44)); + } - theSinex.mapreceivers[srt.sitecode][srt.start] = srt; + if (spl.slot.empty() == false && spl.slot[0] == '[') + { + spl.comment = trim(line.substr(offset + 37)); + spl.slot.clear(); + } + + if (readcount == 7) + { + theSinex.satPlaneMap[spl.svn][spl.start] = spl; } } -void writeSnxReceivers(ofstream& out) +void parseSatelliteMass(string& line) { - Block block(out, "SITE/RECEIVER"); + const char* buff = line.c_str(); - writeAsComments(out, theSinex.blockComments[block.blockName]); + SinexSatMass ssm; - for (auto& [site, timemap] : theSinex.mapreceivers) - for (auto it = timemap.rbegin(); it != timemap.rend(); it++) - { - auto& [time, receiver] = *it; + ssm.svn = line.substr(1, 4); + ssm.comment = line.substr(46); - if (receiver.used == false) - { - continue; - } + int readcount = sscanf( + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %9lf", + &ssm.start[0], + &ssm.start[1], + &ssm.start[2], + &ssm.stop[0], + &ssm.stop[1], + &ssm.stop[2], + &ssm.mass + ); - tracepdeex( - 0, - out, - " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %20s %5s %s\n", - receiver.sitecode.c_str(), - receiver.ptcode.c_str(), - receiver.solnid.c_str(), - receiver.typecode, - (int)receiver.start[0] % 100, - (int)receiver.start[1], - (int)receiver.start[2], - (int)receiver.end[0] % 100, - (int)receiver.end[1], - (int)receiver.end[2], - receiver.type.c_str(), - receiver.sn.c_str(), - receiver.firm.c_str() - ); - } + if (readcount == 7) + { + // No need to adjust years since for satellites the year is 4 digits ... + theSinex.mapsatmasses[ssm.svn][ssm.start] = ssm; + } } -void parseAntennas(string& line) +void parseSatelliteComs(string& line) { const char* buff = line.c_str(); - SinexAntenna ant; + SinexSatCom sct; - ant.sitecode = trim(line.substr(1, 4)); - ant.ptcode = line.substr(6, 2); - ant.solnnum = line.substr(9, 4); - ant.typecode = line[14]; - ant.type = line.substr(42, 20); - ant.sn = trim(line.substr(63, 5)); + sct.svn = line.substr(1, 4); + sct.comment = line.substr(66); int readcount = sscanf( - buff + 16, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", - &ant.start[0], - &ant.start[1], - &ant.start[2], - &ant.end[0], - &ant.end[1], - &ant.end[2] + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %9lf %9lf %9lf", + &sct.start[0], + &sct.start[1], + &sct.start[2], + &sct.stop[0], + &sct.stop[1], + &sct.stop[2], + &sct.com[0], + &sct.com[1], + &sct.com[2] ); - if (readcount == 6) + if (readcount == 9) { - // see comment at top of file - if (ant.start[0] != 0 || ant.start[1] != 0 || ant.start[2] != 0) - { - nearestYear(ant.start[0]); - } - - if (ant.end[0] != 0 || ant.end[1] != 0 || ant.end[2] != 0) - { - nearestYear(ant.end[0]); - } - - theSinex.mapantennas[ant.sitecode][ant.start] = ant; - // theSinex.list_antennas.push_back(ant); + // No need to adjust years since for satellites the year is 4 digits ... + theSinex.listsatcoms.push_back(sct); } } -void writeSnxAntennas(ofstream& out) +void parseSatelliteEccentricities(string& line) { - Block block(out, "SITE/ANTENNA"); + const char* buff = line.c_str(); - writeAsComments(out, theSinex.blockComments[block.blockName]); + SinexSatEcc set; - for (auto& [site, antmap] : theSinex.mapantennas) - for (auto it = antmap.rbegin(); it != antmap.rend(); it++) - { - auto& [time, ant] = *it; + set.svn = line.substr(1, 4); + set.equip = line.substr(6, 20); + set.type = line[27]; + set.comment = line.substr(59); - if (ant.used == false) - { - continue; - } + int readcount = sscanf(buff + 29, "%9lf %9lf %9lf", &set.ecc[0], &set.ecc[1], &set.ecc[2]); - tracepdeex( - 0, - out, - " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %20s %s\n", - ant.sitecode.c_str(), - ant.ptcode.c_str(), - ant.solnnum.c_str(), - ant.typecode, - (int)ant.start[0] % 100, - (int)ant.start[1], - (int)ant.start[2], - (int)ant.end[0] % 100, - (int)ant.end[1], - (int)ant.end[2], - ant.type.c_str(), - ant.sn.c_str() - ); - } + if (readcount == 3) + { + theSinex.listsateccs.push_back(set); + } } -// compare by antenna type and serial number. -bool compareGpsPc(SinexGpsPhaseCenter& left, SinexGpsPhaseCenter& right) +void parseSatellitePowers(string& line) { - int comp = left.antname.compare(right.antname); - - if (comp == 0) - comp = left.serialno.compare(right.serialno); - - return (comp < 0); -} + const char* buff = line.c_str(); -void parseGpsPhaseCenters(string& line) -{ - const char* buff = line.c_str(); - SinexGpsPhaseCenter sgpct; + SinexSatPower spt; - sgpct.antname = line.substr(1, 20); - sgpct.serialno = line.substr(22, 5); - sgpct.calib = line.substr(70, 10); + spt.svn = line.substr(1, 4); + spt.comment = line.substr(41); int readcount = sscanf( - buff + 28, - "%6lf %6lf %6lf %6lf %6lf %6lf", - &sgpct.L1[0], - &sgpct.L1[1], - &sgpct.L1[2], - &sgpct.L2[0], - &sgpct.L2[1], - &sgpct.L2[2] + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %4d", + &spt.start[0], + &spt.start[1], + &spt.start[2], + &spt.stop[0], + &spt.stop[1], + &spt.stop[2], + &spt.power ); - if (readcount == 6) + if (readcount == 7) { - theSinex.listgpspcs.push_back(sgpct); + // No need to adjust years since for satellites the year is 4 digits ... + theSinex.mapsatpowers[spt.svn][spt.start] = spt; } } -void truncateSomething(char* buf) +void parseSinexSatYawRates(string& line) { - if (strlen(buf) == 7 && buf[1] == '0' && buf[0] == '-') + const char* buff = line.c_str(); + + SinexSatYawRate entry; + + entry.svn = line.substr(1, 4); + entry.comment = line.substr(51); + + int readCount = sscanf( + buff + 6, + "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %c %8lf", + &entry.start[0], + &entry.start[1], + &entry.start[2], + &entry.stop[0], + &entry.stop[1], + &entry.stop[2], + &entry.yawBias, + &entry.maxYawRate + ); + + entry.maxYawRate *= D2R; + + if (readCount == 8) { - for (int j = 2; j < 8; j++) - { - buf[j - 1] = buf[j]; - } + theSinex.satYawRateMap[entry.svn][entry.start] = entry; } } -void writeSnxGpsPcs(ofstream& out, list* pstns) +void parseSinexSatAttMode(string& line) { - Block block(out, "SITE/GPS_PHASE_CENTER"); + const char* buff = line.c_str(); - writeAsComments(out, theSinex.blockComments[block.blockName]); + SinexSatAttMode entry; + entry.svn = line.substr(1, 4); + int readCount = sscanf( + buff + 6, + "%4lf-%2lf-%2lf %2lf:%2lf:%2lf %4lf-%2lf-%2lf %2lf:%2lf:%2lf ", + &entry.start[0], + &entry.start[1], + &entry.start[2], + &entry.start[3], + &entry.start[4], + &entry.start[5], + &entry.stop[0], + &entry.stop[1], + &entry.stop[2], + &entry.stop[3], + &entry.stop[4], + &entry.stop[5] + ); + entry.attMode = line.substr(47); - for (auto& gps_pc : theSinex.listgpspcs) + if (readCount == 12) { - SinexGpsPhaseCenter& sgt = gps_pc; - char buf[8]; - bool doit = false; - - char line[81]; - int offset = 0; + theSinex.satAttModeMap[entry.svn][entry.start] = entry; + } +} - offset += snprintf( - line + offset, - sizeof(line) - offset, - " %20s %5s ", - sgt.antname.c_str(), - sgt.serialno.c_str() - ); +void parseEpochs(string& line) +{ + const char* buff = line.c_str(); - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L1[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s", buf); - } + SinexSolEpoch sst; - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L2[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); - } + sst.sitecode = trim(line.substr(1, 4)); + sst.ptcode = line.substr(6, 2); + sst.solnnum = line.substr(9, 4); + sst.typecode = line[14]; - offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); + int readcount = sscanf( + buff + 16, + "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %2lf:%3lf:%5lf", + &sst.start[0], + &sst.start[1], + &sst.start[2], + &sst.end[0], + &sst.end[1], + &sst.end[2], + &sst.mean[0], + &sst.mean[1], + &sst.mean[2] + ); - if (pstns == nullptr) + if (readcount == 9) + { + // see comment at top of file + if (sst.start[0] != 0 || sst.start[1] != 0 || sst.start[2] != 0) { - doit = true; + nearestYear(sst.start[0]); } - else + + if (sst.end[0] != 0 || sst.end[1] != 0 || sst.end[2] != 0) { - for (auto& stn : *pstns) - { - if (sgt.antname == stn.ant_ptr->type) - { - doit = true; - break; - } - } + nearestYear(sst.end[0]); } - if (doit) + if (sst.mean[0] != 0 || sst.mean[1] != 0 || sst.mean[2] != 0) { - out << line << "\n"; + nearestYear(sst.mean[0]); } } } -// compare by antenna type and serial number. return true0 if left < right -bool compareGalPc(SinexGalPhaseCenter& left, SinexGalPhaseCenter& right) +void parseStatistics(string& line) // todo? is this type stuff really necessary { - int comp = left.antname.compare(right.antname); + const char* buff = line.c_str(); - if (comp == 0) - comp = left.serialno.compare(right.serialno); - - return (comp < 0); -} - -// Gallileo phase centers take three line each! -void parseGalPhaseCenters(string& s_x) -{ - static int lineNum = 0; - static string lines[3]; - lines[lineNum] = s_x; + string stat = line.substr(1, 30); + double dval; + int ival; + short etype; - lineNum++; - if (lineNum != 3) + if (line.substr(33).find(".") != string::npos) { - // wait for 3 lines. - return; + dval = (double)atof(buff + 33); + etype = 1; + } + else + { + ival = atoi(buff + 33); + etype = 0; } - lineNum = 0; - - auto& line1 = lines[0]; - auto& line2 = lines[1]; - auto& line3 = lines[2]; - - SinexGalPhaseCenter sgpct; - - sgpct.antname = line1.substr(1, 20); - sgpct.serialno = line1.substr(22, 5); - sgpct.calib = line1.substr(69, 10); + SinexSolStatistic sst; + sst.name = trim(stat); + sst.etype = etype; - int readcount1 = sscanf( - line1.c_str() + 28, - "%6lf %6lf %6lf %6lf %6lf %6lf", - &sgpct.L1[0], - &sgpct.L1[1], - &sgpct.L1[2], - &sgpct.L5[0], - &sgpct.L5[1], - &sgpct.L5[2] - ); + if (etype == 0) + sst.value.ival = ival; - // Do we need to check the antenna name and serial each time? I am going to assume not - int readcount2 = sscanf( - line2.c_str() + 28, - "%6lf %6lf %6lf %6lf %6lf %6lf", - &sgpct.L6[0], - &sgpct.L6[1], - &sgpct.L6[2], - &sgpct.L7[0], - &sgpct.L7[1], - &sgpct.L7[2] - ); - int readcount3 = - sscanf(line3.c_str() + 28, "%6lf %6lf %6lf", &sgpct.L8[0], &sgpct.L8[1], &sgpct.L8[2]); + if (etype == 1) + sst.value.dval = dval; - if (readcount1 == 6 && readcount2 == 6 && readcount3 == 3) - { - theSinex.listgalpcs.push_back(sgpct); - } + theSinex.liststatistics.push_back(sst); } -void writeSnxGalPcs(ofstream& out, list* pstns) +void parseSolutionEstimates(string& line) { - Block block(out, "SITE/GAL_PHASE_CENTER"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); - - for (auto& gal_pc : theSinex.listgalpcs) - { - SinexGalPhaseCenter& sgt = gal_pc; - char buf[8]; - bool doit = false; + const char* buff = line.c_str(); - if (pstns == nullptr) - doit = true; - else - { - for (auto& stn : *pstns) - { - if (sgt.antname == stn.ant_ptr->type) - { - doit = true; - break; - } - } - } + SinexSolEstimate sst; - if (!doit) - continue; + sst.file = theSinex.currentFile; + sst.type = line.substr(7, 6); + sst.sitecode = line.substr(14, 4); + sst.ptcode = line.substr(19, 2); + sst.solnnum = line.substr(22, 4); - { - char line[81]; - int offset = 0; + sst.index = (int)str2num(buff, 1, 5); - offset += snprintf( - line + offset, - sizeof(line) - offset, - " %20s %5s ", - sgt.antname.c_str(), - sgt.serialno.c_str() - ); + int readcount = + sscanf(buff + 27, "%2lf:%3lf:%5lf", &sst.refepoch[0], &sst.refepoch[1], &sst.refepoch[2]); - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L1[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); - } + sst.unit = line.substr(40, 4); - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L5[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); - } + sst.constraint = line[45]; - offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); - out << line << "\n"; - } + readcount += sscanf(buff + 47, "%21lf %11lf", &sst.estimate, &sst.stddev); + if (readcount == 5) + { + // see comment at top of file + if (sst.refepoch[0] != 0 || sst.refepoch[1] != 0 || sst.refepoch[2] != 0) { - char line[81]; - int offset = 0; - - offset += snprintf( - line + offset, - sizeof(line) - offset, - " %20s %5s ", - sgt.antname.c_str(), - sgt.serialno.c_str() - ); - - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L6[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); - } - - for (int i = 0; i < 3; i++) - { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L7[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); - } - - offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); - - out << line << "\n"; + nearestYear(sst.refepoch[0]); } + auto& typeMap = theSinex.estimatesMap[sst.sitecode][sst.type]; + if (!typeMap.empty()) { - char line[81]; - int offset = 0; - - offset += snprintf( - line, - sizeof(line), - " %20s %5s ", - sgt.antname.c_str(), - sgt.serialno.c_str() - ); + auto& firstEntry = typeMap.begin()->second; - for (int i = 0; i < 3; i++) + if (firstEntry.file != sst.file) { - snprintf(buf, sizeof(buf), "%6.4lf", sgt.L8[i]); - truncateSomething(buf); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + BOOST_LOG_TRIVIAL(debug) + << "Clearing sinex estimates for " << firstEntry.sitecode << " type " + << sst.type << " from " << firstEntry.file << " as it is being overwritten by " + << theSinex.currentFile; + typeMap.clear(); } - - offset += snprintf(line + offset, sizeof(line) - offset, " "); - offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); - out << line << "\n"; } + + theSinex.estimatesMap[sst.sitecode][sst.type][sst.refepoch] = sst; } } -void parseSiteEccentricity(string& line) +void parseApriori(string& line) { - const char* buff = line.c_str(); - SinexSiteEcc sset; + const char* buff = line.c_str(); - sset.sitecode = trim(line.substr(1, 4)); - sset.ptcode = line.substr(6, 2); - sset.solnnum = line.substr(9, 4); - sset.typecode = line[14]; - sset.rs = line.substr(42, 3); - char junk[4]; + SinexSolApriori sst = {}; + + sst.idx = (int)str2num(buff, 1, 5); + sst.param_type = line.substr(7, 6); + sst.sitecode = line.substr(14, 4); + sst.ptcode = line.substr(19, 2); + sst.solnnum = line.substr(22, 4); + + char unit[5]; + + unit[4] = '\0'; int readcount = sscanf( - buff + 16, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %3s %8lf %8lf %8lf", - &sset.start[0], - &sset.start[1], - &sset.start[2], - &sset.end[0], - &sset.end[1], - &sset.end[2], - junk, - &sset.ecc.u(), - &sset.ecc.n(), - &sset.ecc.e() + buff + 27, + "%2lf:%3lf:%5lf %4s %c %21lf %11lf", + &sst.epoch[0], + &sst.epoch[1], + &sst.epoch[2], + unit, + &sst.constraint, + &sst.param, + &sst.stddev ); - if (readcount == 10) + if (readcount == 7) { - // see comment at top of file - if (sset.start[0] != 0 || sset.start[1] != 0 || sset.start[2] != 0) - { - nearestYear(sset.start[0]); - } + sst.unit = unit; - if (sset.end[0] != 0 || sset.end[1] != 0 || sset.end[2] != 0) + // see comment at top of file + if (sst.epoch[0] != 0 || sst.epoch[1] != 0 || sst.epoch[2] != 0) { - nearestYear(sset.end[0]); + nearestYear(sst.epoch[0]); } - theSinex.mapeccentricities[sset.sitecode][sset.start] = sset; + theSinex.apriorimap[sst.idx] = sst; } } -void writeSnxSiteEccs(ofstream& out) +void parseNormals(string& line) { - Block block(out, "SITE/ECCENTRICITY"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); + const char* buff = line.c_str(); - for (auto& [id, setMap] : theSinex.mapeccentricities) - for (auto it = setMap.rbegin(); it != setMap.rend(); it++) - { - auto& [time, set] = *it; + SinexSolNeq sst; - if (set.used == false) - { - continue; - } + sst.param = (int)str2num(buff, 2, 5); + sst.ptype = line.substr(7, 6); + sst.site = line.substr(14, 4); + sst.pt = line.substr(19, 2); + sst.solnnum = line.substr(22, 4); + char unit[5]; - tracepdeex( - 0, - out, - " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %3s %8.4lf %8.4lf %8.4lf\n", - set.sitecode.c_str(), - set.ptcode.c_str(), - set.solnnum.c_str(), - set.typecode, - (int)set.start[0] % 100, - (int)set.start[1], - (int)set.start[2], - (int)set.end[0] % 100, - (int)set.end[1], - (int)set.end[2], - set.rs.c_str(), - set.ecc.u(), - set.ecc.n(), - set.ecc.e() - ); - } -} + unit[4] = '\0'; -bool compareSiteEpochs(SinexSolEpoch& left, SinexSolEpoch& right) -{ - int comp = left.sitecode.compare(right.sitecode); - int i = 0; + int readcount = sscanf( + buff + 27, + "%2lf:%3lf:%5lf %4s %c %21lf", + &sst.epoch[0], + &sst.epoch[1], + &sst.epoch[2], + unit, + &sst.constraint, + &sst.normal + ); - while (comp == 0 && i < 3) + if (readcount == 6) { - comp = left.start[i] - right.start[i]; - i++; - } + sst.unit = unit; - return (comp < 0); + // see comment at top of file + if (sst.epoch[0] != 0 || sst.epoch[1] != 0 || sst.epoch[2] != 0) + { + nearestYear(sst.epoch[0]); + } + + theSinex.listnormaleqns.push_back(sst); + } } -void parseEpochs(string& line) +matrix_type mat_type; +matrix_value mat_value; + +void parseMatrix(string& line) //, matrix_type type, matrix_value value) { const char* buff = line.c_str(); - SinexSolEpoch sst; - - sst.sitecode = trim(line.substr(1, 4)); - sst.ptcode = line.substr(6, 2); - sst.solnnum = line.substr(9, 4); - sst.typecode = line[14]; + // //todo? this is only half complete, the maxrow/col arent used but should be with + // multiple input matrices. + int maxrow = 0; + int maxcol = 0; + SinexSolMatrix smt; int readcount = sscanf( - buff + 16, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf %2lf:%3lf:%5lf", - &sst.start[0], - &sst.start[1], - &sst.start[2], - &sst.end[0], - &sst.end[1], - &sst.end[2], - &sst.mean[0], - &sst.mean[1], - &sst.mean[2] + buff, + " %5d %5d %21lf %21lf %21lf", + &smt.row, + &smt.col, + &smt.value[0], + &smt.value[1], + &smt.value[2] ); - if (readcount == 9) + if (readcount > 2) { - // see comment at top of file - if (sst.start[0] != 0 || sst.start[1] != 0 || sst.start[2] != 0) - { - nearestYear(sst.start[0]); - } - - if (sst.end[0] != 0 || sst.end[1] != 0 || sst.end[2] != 0) + if (smt.row < smt.col) { - nearestYear(sst.end[0]); + // xor swap + smt.row ^= smt.col; + smt.col ^= smt.row; + smt.row ^= smt.col; } - if (sst.mean[0] != 0 || sst.mean[1] != 0 || sst.mean[2] != 0) - { - nearestYear(sst.mean[0]); - } - } -} + int covars = readcount - 2; -void writeSnxEpochs(Trace& out) -{ - string blockName; - if (theSinex.epochshavebias) - blockName = "BIAS/EPOCHS"; - else - blockName = "SOLUTION/EPOCHS"; + for (int i = readcount - 2; i < 3; i++) + smt.value[i] = -1; - Block block(out, blockName); + smt.numvals = readcount - 2; - writeAsComments(out, theSinex.blockComments[block.blockName]); + if (smt.row > maxrow) + maxrow = smt.row; + if (smt.col > maxcol) + maxcol = smt.col; - for (auto& [id, sst] : theSinex.solEpochMap) - { - tracepdeex( - 0, - out, - " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %02d:%03d:%05d\n", - sst.sitecode.c_str(), - sst.ptcode.c_str(), - sst.solnnum.c_str(), - sst.typecode, - (int)sst.start[0] % 100, - (int)sst.start[1], - (int)sst.start[2], - (int)sst.end[0] % 100, - (int)sst.end[1], - (int)sst.end[2], - (int)sst.mean[0] % 100, - (int)sst.mean[1], - (int)sst.mean[2] - ); + theSinex.matrixmap[mat_type][mat_value].push_back( + smt + ); // todo? initialise mat_type and mat_value before use } } -void parseStatistics(string& line) // todo aaron, is this type stuff really necessary +void parseDataHandling(string& line) { + SinexDataHandling sdt; + const char* buff = line.c_str(); - string stat = line.substr(1, 30); - double dval; - int ival; - short etype; + sdt.sitecode = trim(line.substr(1, 4)); // 4 - CDP ID + sdt.ptcode = line.substr(6, 2); // 2 - satellites these biases apply to (-- = all) + sdt.solnnum = line.substr(9, 4); // 4 - solution number + sdt.t = line.substr(14, 1); // 1 - if (line.substr(33).find(".") != string::npos) + int readcount = sscanf( + buff + 16, + "%2lf:%3lf:%5lf", + &sdt.epochstart[0], + &sdt.epochstart[1], + &sdt.epochstart[2] + ); + readcount += + sscanf(buff + 29, "%2lf:%3lf:%5lf", &sdt.epochend[0], &sdt.epochend[1], &sdt.epochend[2]); + + sdt.m = line.substr(42, 1); // 1 + + if (line.size() >= 79) { - dval = (double)atof(buff + 33); - etype = 1; + sdt.estimate = str2num(buff, 44, 12); + sdt.stddev = str2num(buff, 57, 7); + sdt.estrate = str2num(buff, 65, 9); + sdt.unit = line.substr(75, 4); // 4 - units of estimate } - else + if (line.size() > 82) { - ival = atoi(buff + 33); - etype = 0; + sdt.comments = line.substr(82); } - SinexSolStatistic sst; - sst.name = trim(stat); - sst.etype = etype; - - if (etype == 0) - sst.value.ival = ival; + if (readcount >= 6) // just need a start & stop time + { + // see comment at top of file + if (sdt.epochstart[0] != 0 || sdt.epochstart[1] != 0 || sdt.epochstart[2] != 0) + { + nearestYear(sdt.epochstart[0]); + } + if (sdt.epochend[0] != 0 || sdt.epochend[1] != 0 || sdt.epochend[2] != 0) + { + nearestYear(sdt.epochend[0]); + } - if (etype == 1) - sst.value.dval = dval; + GTime time = sdt.epochstart; - theSinex.liststatistics.push_back(sst); + theSinex.mapdatahandling[sdt.sitecode][sdt.ptcode][sdt.m.front()][time] = sdt; + } } -void writeSnxStatistics(ofstream& out) +bool readSinex(const string& filepath) { - Block block(out, "SOLUTION/STATISTICS"); + // BOOST_LOG_TRIVIAL(info) + // << "reading " << filepath; - writeAsComments(out, theSinex.blockComments[block.blockName]); + ifstream filestream(filepath); + if (!filestream) + { + BOOST_LOG_TRIVIAL(error) << "Error opening sinex file" << filepath; + return false; + } - for (auto& statistic : theSinex.liststatistics) + bool pass = readSnxHeader(filestream); + if (pass == false) { - char line[81]; + BOOST_LOG_TRIVIAL(error) << "Error reading header line."; - if (statistic.etype == 0) // int - snprintf( - line, - sizeof(line), - " %-30s %22d", - statistic.name.c_str(), - statistic.value.ival - ); + return false; + } - if (statistic.etype == 1) // double - snprintf( - line, - sizeof(line), - " %-30s %22.15lf", - statistic.name.c_str(), - statistic.value.dval - ); + theSinex.currentFile = filepath; - out << line << "\n"; - } -} + bool warnedBlockSkip = false; -void parseSolutionEstimates(string& line) -{ - const char* buff = line.c_str(); + void (*parseFunction)(string&) = nullFunction; - SinexSolEstimate sst; + string closure; - sst.file = theSinex.currentFile; - sst.type = line.substr(7, 6); - sst.sitecode = line.substr(14, 4); - sst.ptcode = line.substr(19, 2); - sst.solnnum = line.substr(22, 4); + bool failure = false; - sst.index = (int)str2num(buff, 1, 5); + int lineNumber = 0; - int readcount = - sscanf(buff + 27, "%2lf:%3lf:%5lf", &sst.refepoch[0], &sst.refepoch[1], &sst.refepoch[2]); + while (filestream) + { + string line; - sst.unit = line.substr(40, 4); + getline(filestream, line); - sst.constraint = line[45]; + lineNumber++; - readcount += sscanf(buff + 47, "%21lf %11lf", &sst.estimate, &sst.stddev); + // test below empty line (ie continue if something on the line) + if (!filestream) + { + // error - did not find closure line. Report and clean up. + BOOST_LOG_TRIVIAL(error) << "Closure line not found before end."; - if (readcount == 5) - { - // see comment at top of file - if (sst.refepoch[0] != 0 || sst.refepoch[1] != 0 || sst.refepoch[2] != 0) + failure = true; + break; + } + else if (line[0] == '*') { - nearestYear(sst.refepoch[0]); + // comment } - - auto it = theSinex.estimatesMap.find(sst.sitecode); - if (it != theSinex.estimatesMap.end()) + else if (line[0] == '-') { - auto& firstEntry = it->second.begin()->second.begin()->second; + // end of block + parseFunction = nullFunction; - if (firstEntry.file != sst.file) + if (line != closure) { - BOOST_LOG_TRIVIAL(debug) - << "Clearing sinex data for " << firstEntry.sitecode << " from " - << firstEntry.file << " as it is being overwritten by " << theSinex.currentFile; - theSinex.estimatesMap[sst.sitecode].clear(); + BOOST_LOG_TRIVIAL(error) << "Incorrect section closure line encountered on line " + << lineNumber << ": " << closure << " != " << line; } } - theSinex.estimatesMap[sst.sitecode][sst.type][sst.refepoch] = sst; - } -} - -void writeSnxEstimatesFromFilter(ofstream& out, KFState& kfState) -{ - Block block(out, "SOLUTION/ESTIMATE"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); - - for (auto& [key, index] : kfState.kfIndexMap) - { - if (key.type != KF::REC_POS && key.type != KF::REC_POS_RATE && key.type != KF::STRAIN_RATE) + else if (line[0] == ' ') { - continue; + try + { + // this probably needs specialty parsing - use a prepared function pointer. + parseFunction(line); + } + catch (std::out_of_range& e) + { + BOOST_LOG_TRIVIAL(error) + << "Sinex line width error on line " << lineNumber << ": '" << line << "'"; + } + catch (...) + { + BOOST_LOG_TRIVIAL(error) + << "Sinex parsing error on line " << lineNumber << ": '" << line << "'"; + } } - - string type; - if (key.type == KF::REC_POS) - type = "STA?"; - else if (key.type == KF::REC_POS_RATE) - type = "VEL?"; - else if (key.type == KF::STRAIN_RATE) - type = "VEL?"; // todo aaron, scale is wrong, actually entirely untested - - if (key.num == 0) - type[3] = 'X'; - else if (key.num == 1) - type[3] = 'Y'; - else if (key.num == 2) - type[3] = 'Z'; - - string ptcode = theSinex.mapsiteids[key.str].ptcode; - - tracepdeex( - 0, - out, - " %5d %-6s %4s %2s %4d %02d:%03d:%05d %-4s %c %21.14le %11.5le\n", - index, - type.c_str(), - key.str.c_str(), - ptcode.c_str(), - 1, - (int)theSinex.solutionenddate[0] % 100, - (int)theSinex.solutionenddate[1], - (int)theSinex.solutionenddate[2], - "m", - '9', // TODO: replace with sst.constraint when fixed - kfState.x(index), - sqrt(kfState.P(index, index)) - ); - } -} - -// void write_snx_estimates( -// ofstream& out, -// std::list* pstns = nullptr) -// { -// out << "+SOLUTION/ESTIMATE" << "\n"; -// -// writeAsComments(out, theSinex.estimate_comments); -// -// for (auto& [index, sst] : theSinex.estimates_map) -// { -// bool doit = (pstns == nullptr); -// -// if (pstns != nullptr) -// { -// for (auto& stn : *pstns) -// { -// if (sst.sitecode.compare(stn.sitecode) == 0) -// { -// doit = true; -// break; -// } -// } -// } -// -// if (!doit) -// continue; -// -// char line[82]; -// -// snprintf(line, sizeof(line), " %5d %6s %4s %2s %4s %2.2d:%3.3d:%5.5d %-4s %c %21.14le -// %11.5le", sst.index, sst.type.c_str(), sst.sitecode.c_str(), -// sst.ptcode.c_str(), sst.solnnum.c_str(), sst.refepoch[0] % 100, -// sst.refepoch[1], sst.refepoch[2], sst.unit.c_str(), -// sst.constraint, sst.estimate, sst.stddev); -// -// out << line << "\n"; -// } -// -// out << "-SOLUTION/ESTIMATE" << "\n"; -// } - -void parseApriori(string& line) -{ - const char* buff = line.c_str(); - - SinexSolApriori sst = {}; - - sst.idx = (int)str2num(buff, 1, 5); - sst.param_type = line.substr(7, 6); - sst.sitecode = line.substr(14, 4); - sst.ptcode = line.substr(19, 2); - sst.solnnum = line.substr(22, 4); - - char unit[5]; - - unit[4] = '\0'; - - int readcount = sscanf( - buff + 27, - "%2lf:%3lf:%5lf %4s %c %21lf %11lf", - &sst.epoch[0], - &sst.epoch[1], - &sst.epoch[2], - unit, - &sst.constraint, - &sst.param, - &sst.stddev - ); - - if (readcount == 7) - { - sst.unit = unit; - - // see comment at top of file - if (sst.epoch[0] != 0 || sst.epoch[1] != 0 || sst.epoch[2] != 0) + else if (line[0] == '+') { - nearestYear(sst.epoch[0]); - } - - theSinex.apriorimap[sst.idx] = sst; - } -} - -void writeSnxApriori(ofstream& out, list* pstns = nullptr) -{ - Block block(out, "SOLUTION/APRIORI"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); + string mvs; - for (auto& [index, apriori] : theSinex.apriorimap) - { - SinexSolApriori& sst = apriori; - bool doit = (pstns == nullptr); + // prepare closing line for comparison + closure = line; + closure[0] = '-'; - if (pstns) - for (auto& stn : *pstns) + trimCut(line); + if (sinexBlockExcluded(line.substr(1))) { - if (sst.sitecode.compare(stn.id_ptr->sitecode) == 0) + parseFunction = nullFunction; + if (warnedBlockSkip == false) { - doit = true; - break; + BOOST_LOG_TRIVIAL(info) + << "SINEX block exclusion active, skipping one or more blocks in " + << filepath; + warnedBlockSkip = true; } } + else if (line == "+FILE/REFERENCE") + { + parseFunction = parseReference; + } + else if (line == "+FILE/COMMENT") + { + parseFunction = nullFunction; + } + else if (line == "+INPUT/HISTORY") + { + parseFunction = parseInputHistory; + } + else if (line == "+INPUT/FILES") + { + parseFunction = parseInputFiles; + } + else if (line == "+INPUT/ACKNOWLEDGEMENTS") + { + parseFunction = parseAcknowledgements; + } + else if (line == "+INPUT/ACKNOWLEDGMENTS") + { + parseFunction = parseAcknowledgements; + } + else if (line == "+NUTATION/DATA") + { + parseFunction = parseNutcode; + } + else if (line == "+PRECESSION/DATA") + { + parseFunction = parsePrecode; + } + else if (line == "+SOURCE/ID") + { + parseFunction = parseSourceIds; + } + else if (line == "+SITE/ID") + { + parseFunction = parseSiteIds; + } + else if (line == "+SITE/DATA") + { + parseFunction = parseSiteData; + } + else if (line == "+SITE/RECEIVER") + { + parseFunction = parseReceivers; + } + else if (line == "+SITE/ANTENNA") + { + parseFunction = parseAntennas; + } + else if (line == "+SITE/GPS_PHASE_CENTER") + { + parseFunction = parseGpsPhaseCenters; + } + else if (line == "+SITE/GAL_PHASE_CENTER") + { + parseFunction = parseGalPhaseCenters; + } + else if (line == "+SITE/ECCENTRICITY") + { + parseFunction = parseSiteEccentricity; + } + else if (line == "+SATELLITE/ID") + { + parseFunction = parseSatelliteIds; + } + else if (line == "+SATELLITE/PHASE_CENTER") + { + parseFunction = parseSatellitePhaseCenters; + } + else if (line == "+SATELLITE/IDENTIFIER") + { + parseFunction = parseSatelliteIdentifiers; + } + else if (line == "+SATELLITE/PRN") + { + parseFunction = parseSatPrns; + } + else if (line == "+SATELLITE/FREQUENCY_CHANNEL") + { + parseFunction = parseSatFreqChannels; + } + else if (line == "+SATELLITE/PLANE") + { + parseFunction = parseSatPlanes; + } + else if (line == "+SATELLITE/MASS") + { + parseFunction = parseSatelliteMass; + } + else if (line == "+SATELLITE/COM") + { + parseFunction = parseSatelliteComs; + } + else if (line == "+SATELLITE/ECCENTRICITY") + { + parseFunction = parseSatelliteEccentricities; + } + else if (line == "+SATELLITE/TX_POWER") + { + parseFunction = parseSatellitePowers; + } + else if (line == "+SATELLITE/YAW_BIAS_RATE") + { + parseFunction = parseSinexSatYawRates; + } + else if (line == "+SATELLITE/ATTITUDE_MODE") + { + parseFunction = parseSinexSatAttMode; + } + else if (line == "+BIAS/EPOCHS") + { + parseFunction = parseEpochs; + } + else if (line == "+SOLUTION/EPOCHS") + { + parseFunction = parseEpochs; + } + else if (line == "+SOLUTION/STATISTICS") + { + parseFunction = parseStatistics; + } + else if (line == "+SOLUTION/ESTIMATE") + { + parseFunction = parseSolutionEstimates; + } + else if (line == "+SOLUTION/APRIORI") + { + parseFunction = parseApriori; + } + else if (line == "+SOLUTION/MATRIX_ESTIMATE") + { + parseFunction = parseMatrix; + } + else if (line == "+SOLUTION/MATRIX_APRIORI") + { + parseFunction = parseMatrix; + } + else if (line == "+SOLUTION/NORMAL_EQUATION_VECTOR") + { + parseFunction = parseNormals; + } + else if (line == "+SOLUTION/NORMAL_EQUATION_MATRIX") + { + parseFunction = parseMatrix; + } + else if (line == "+SOLUTION/DATA_HANDLING") + { + parseFunction = parseDataHandling; + } + else if (line == "+MODEL/RANGE_BIAS") + { + parseFunction = parseDataHandling; + } // Same format w/ SOLUTION/DATA_HANDLING + else if (line == "+MODEL/TIME_BIAS") + { + parseFunction = parseDataHandling; + } // Same format w/ SOLUTION/DATA_HANDLING + else + { + parseFunction = nullFunction; + BOOST_LOG_TRIVIAL(warning) << "Unknown header line: " << line; + } // Skip unknown sections + + // int i; + // failure = read_snx_matrix (filestream, + // NORMAL_EQN, INFORMATION, c); break; case 15: if + // (!theSinex.epochs_have_bias + // && !theSinex.list_solepochs.empty()) + // { + // BOOST_LOG_TRIVIAL(error) + // << "Cannot combine BIAS/EPOCHS and SOLUTION/EPOCHS blocks."; + // + // failure = true; + // break; + // } + // + // theSinex.epochs_have_bias = true; + // theSinex.epochcomments.insert(theSinex.epochcomments.end(), + // comments.begin(), comments.end()); comments.clear(); + // failure = read_snx_epochs(filestream, true); break; + // + // case 16: + // if (theSinex.epochs_have_bias && !theSinex.list_solepochs.empty()) + // { + // BOOST_LOG_TRIVIAL(error) + // << "Cannot combine BIAS/EPOCHS and SOLUTION/EPOCHS blocks."; + // + // failure = true; + // break; + // } + // + // theSinex.epochs_have_bias = false; + // theSinex.epochcomments .insert(theSinex.epochcomments.end(), + // comments.begin(), comments.end()); comments.clear(); + // + // failure = read_snx_epochs(filestream, false); + // break; + // + // case 21: + // theSinex.matrix_comments.insert(theSinex.matrix_comments.end(), + // comments.begin(), comments.end()); comments.clear(); + // c = line[headers[i].length() + 2]; mvs = + // line.substr(headers[i].length() + 4, 4); + // + // if (!mvs.compare("CORR")) mv = CORRELATION; + // else if (!mvs.compare("COVA")) mv = COVARIANCE; + // else if (!mvs.compare("INFO")) mv = INFORMATION; + // + // failure = read_snx_matrix(filestream, ESTIMATE, mv, c); + // break; + // + // case 22: + // theSinex.matrix_comments.insert(theSinex.matrix_comments.end(), + // comments.begin(), comments.end()); comments.clear(); + // c = line[headers[i].length() + 2]; mvs = + // line.substr(headers[i].length() + 4, 4); + // + // if (!mvs.compare("CORR")) mv = CORRELATION; + // else if (!mvs.compare("COVA")) mv = COVARIANCE; + // else if (!mvs.compare("INFO")) mv = INFORMATION; + // + // failure = read_snx_matrix(filestream, APRIORI, mv, c); + // break; + // + // default: + // break; + // } + } + else if (line[0] == '%') + { + trimCut(line); + if (line != "%ENDSNX") + { + // error in file. report it. + BOOST_LOG_TRIVIAL(error) << "Line starting '%' met not final line" << "\n" << line; + + failure = true; + } + + break; + } + + if (failure) + break; + } + + theSinex.listsitedata.sort(compareSiteData); + theSinex.listgpspcs.sort(compareGpsPc); + theSinex.listgalpcs.sort(compareGalPc); + theSinex.listsatids.sort(compareSatIds); + theSinex.listsatpcs.sort(compareSatPc); + theSinex.listsatprns.sort(compareSatPrns); + theSinex.listsatfreqchns.sort(compareFreqChannels); + theSinex.listsatcoms.sort(compareSatCom); + theSinex.listsateccs.sort(compareSatEcc); + + // theSinex.matrix_map[type][value].sort(compare_matrix_entries); + dedupeSinex(); + + return failure == false; +} + +void updateSinexHeader( + string& create_agc, + string& data_agc, + UYds soln_start, + UYds soln_end, + const char obsCode, + const char constCode, + string& contents, + int numParam, + double sinexVer +) +{ + SinexInputHistory siht; + + siht.code = '+'; + siht.fmt = theSinex.ver; + siht.create_agency = theSinex.createagc; + siht.data_agency = theSinex.dataagc; + siht.obs_tech = theSinex.obsCode; + siht.constraint = theSinex.constCode; + siht.num_estimates = theSinex.numparam; + siht.contents = theSinex.solcont; + siht.create_time = theSinex.filedate; + siht.start = theSinex.solutionstartdate; + siht.stop = theSinex.solutionenddate; + + if (theSinex.inputHistory.empty()) + theSinex.inputHistory.push_back(siht); + + theSinex.ver = sinexVer; + + if (data_agc.size() > 0) + theSinex.dataagc = data_agc; + else + theSinex.dataagc = theSinex.createagc; + + theSinex.createagc = create_agc; + theSinex.solcont = contents; + theSinex.filedate = timeGet(); + theSinex.solutionstartdate = soln_start; + theSinex.solutionenddate = soln_end; + + if (obsCode != ' ') + theSinex.obsCode = obsCode; + + if (constCode != ' ') + theSinex.constCode = constCode; + + theSinex.numparam = numParam; +} + +void commentsOverride() +{ + // overriding only those that can be found in IGS/CODE/GRG SINEX files + theSinex.blockComments["FILE/REFERENCE"].push_back( + "*INFO_TYPE_________ INFO________________________________________________________" + ); // FILE/REFERENCE + theSinex.blockComments["FILE/COMMENT"].push_back( + "*DESCRIPTION____________________________________________________________________" + ); // FILE/COMMENT + theSinex.blockComments["INPUT/HISTORY"].push_back( + "*_VERSION_ CRE __CREATION__ OWN _DATA_START_ __DATA_END__ T PARAM S TYPE________" + ); // INPUT/HISTORY + theSinex.blockComments["INPUT/FILES"].push_back( + "*OWN __CREATION__ FILENAME_____________________ DESCRIPTION_____________________" + ); // INPUT/FILES + theSinex.blockComments["INPUT/ACKNOWLEDGEMENTS"].push_back( + "*AGY DESCRIPTION________________________________________________________________" + ); // INPUT/ACKNOWLEDGEMENTS + theSinex.blockComments["SITE/ID"].push_back( + "*CODE PT __DOMES__ T STATION_DESCRIPTION___ _LONGITUDE_ _LATITUDE__ HEIGHT_" + ); // SITE/ID + theSinex.blockComments["SITE/DATA"].push_back( + "*CODE PT SOLN CODE PT SOLN T _DATA_START_ _DATA_END___ OWN _FILE_TIME__" + ); // SITE/DATA + theSinex.blockComments["SITE/RECEIVER"].push_back( + "*CODE PT SOLN T _DATA_START_ _DATA_END___ RECEIVER_TYPE_______ S/N__ FIRMWARE___" + ); // SITE/RECEIVER + theSinex.blockComments["SITE/ANTENNA"].push_back( + "*CODE PT SOLN T _DATA_START_ __DATA_END__ ANTENNA_TYPE________ S/N__" + ); // SITE/ANTENNA + theSinex.blockComments["SITE/GPS_PHASE_CENTER"].push_back( + "*ANTENNA_TYPE________ S/N__ _L1_U_ _L1_N_ _L1_E_ _L2_U_ _L2_N_ _L2_E_ MODEL_____" + ); // SITE/GPS_PHASE_CENTER + theSinex.blockComments["SITE/ECCENTRICITY"].push_back( + "*CODE PT SOLN T _DATA_START_ __DATA_END__ REF __DX_U__ __DX_N__ __DX_E__" + ); // SITE/ECCENTRICITY + theSinex.blockComments["SATELLITE/ID"].push_back( + "*SVN_ PR COSPAR_ID T _DATA_START_ __DATA_END__ ANTENNA_____________" + ); // SATELLITE/ID + theSinex.blockComments["SATELLITE/PHASE_CENTER"].push_back( + "*SVN_ L SATA_Z SATA_X SATA_Y L SATA_Z SATA_X SATA_Y MODEL_____ T M" + ); // SATELLITE/PHASE_CENTER + theSinex.blockComments["SOLUTION/EPOCHS"].push_back( + "*CODE PT SOLN T _DATA_START_ __DATA_END__ _MEAN_EPOCH_" + ); // BIAS/EPOCHS|SOLUTION/EPOCHS + theSinex.blockComments["SOLUTION/STATISTICS"].push_back( + "*STATISTICAL_PARAMETER_________ _______VALUE(S)_______" + ); // SOLUTION/STATISTICS + theSinex.blockComments["SOLUTION/ESTIMATE"].push_back( + "*INDEX TYPE__ CODE PT SOLN _REF_EPOCH__ UNIT S ___ESTIMATED_VALUE___ __STD_DEV__" + ); // SOLUTION/ESTIMATE + theSinex.blockComments["SOLUTION/APRIORI"].push_back( + "*INDEX TYPE__ CODE PT SOLN _REF_EPOCH__ UNIT S ____APRIORI_VALUE____ __STD_DEV__" + ); // SOLUTION/APRIORI + theSinex.blockComments["SOLUTION/NORMAL_EQUATION_VECTOR"].push_back( + "*INDEX TYPE__ CODE PT SOLN _REF_EPOCH__ UNIT S ___RIGHT_HAND_SIDE___" + ); // SOLUTION/NORMAL_EQUATION_VECTOR + theSinex.blockComments["SOLUTION/MATRIX_ESTIMATE"].push_back( + "*PARA1 PARA2 _______PARA2+0_______ _______PARA2+1_______ _______PARA2+2_______" + ); // SOLUTION/MATRIX_ESTIMATE|SOLUTION/MATRIX_APRIORI|SOLUTION/NORMAL_EQUATION_MATRIX +} + +int sinexCheckAddGaReference(string solType, string peaVer, bool isTrop) +{ + // step 1: check it is not already there + for (auto it = theSinex.refstrings.begin(); it != theSinex.refstrings.end(); it++) + { + if (it->find("Geoscience Australia") != string::npos) + { + return 1; + } + } + + // step 2: remove any other provider's details + // NB we do not increment the iterator in the loop because the erase if found will do it for us + for (auto it = theSinex.refstrings.begin(); it != theSinex.refstrings.end();) + { + string line = *it; + + if (line.find("DESCRIPTION") != string::npos || line.find("OUTPUT") != string::npos || + line.find("CONTACT") != string::npos || line.find("SOFTWARE") != string::npos || + line.find("HARDWARE") != string::npos || line.find("INPUT") != string::npos) + { + it = theSinex.refstrings.erase(it); + } + else + { + it++; + } + } + + // step 3: put in the Geoscience reference + char line[81]; + + snprintf(line, sizeof(line), " %-18s %s", "DESCRIPTION", "Geoscience Australia"); + theSinex.refstrings.push_back(line); + snprintf(line, sizeof(line), " %-18s %s", "OUTPUT", solType.c_str()); + theSinex.refstrings.push_back(line); + snprintf(line, sizeof(line), " %-18s %s", "CONTACT", "npi@ga.gov.au"); + theSinex.refstrings.push_back(line); + snprintf(line, sizeof(line), " %-18s %s", "SOFTWARE", ("Ginan PEA Version " + peaVer).c_str()); + theSinex.refstrings.push_back(line); + +#ifndef _WIN32 + struct utsname buf; + int result = uname(&buf); + + if (result == 0) + { + int offset = 0; + + offset += snprintf(line + offset, sizeof(line) - offset, " %-18s ", "HARDWARE"); + + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.sysname); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.release); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.version); + + theSinex.refstrings.push_back(line); + } +#else + // Windows - provide basic hardware info + snprintf(line, sizeof(line), " %-18s %s", "HARDWARE", "Windows"); + theSinex.refstrings.push_back(line); +#endif + + snprintf(line, sizeof(line), " %-18s %s", "INPUT", "RINEX"); + theSinex.refstrings.push_back(line); + + if (isTrop) + { + snprintf( + line, + sizeof(line), + " %-18s %03d", + "VERSION NUMBER", + 1 + ); // note: increment if the processing is modified in a way that might lead to a different + // error characteristics of the product - see trop snx specs + theSinex.refstrings.push_back(line); + } + return 0; +} + +void sinexAddComment(const string what) +{ + theSinex.fileComments.push_back(what); +} + +void sinexAddFiles( + const string& who, + const GTime& time, + const vector& filenames, + const string& description +) +{ + for (auto& filename : filenames) + { + SinexInputFile sif; + + sif.yds = time; + sif.agency = who; + sif.file = filename; + sif.description = description; + + theSinex.inputFiles.push_back(sif); + } +} + +void sinexAddStatistic(const string& what, const int val) +{ + SinexSolStatistic sst; + + sst.name = what; + sst.etype = 0; + sst.value.ival = val; + + theSinex.liststatistics.push_back(sst); +} + +void sinexAddStatistic(const string& what, const double val) +{ + SinexSolStatistic sst; + + sst.name = what; + sst.etype = 1; + sst.value.dval = val; + + theSinex.liststatistics.push_back(sst); +} + +void writeSnxHeader(std::ofstream& out) +{ + char line[81]; + char c; + int i; + + int offset = 0; + offset += snprintf( + line + offset, + sizeof(line) - offset, + "%%=SNX %4.2lf %3s %02d:%03d:%05d %3s %02d:%03d:%05d %02d:%03d:%05d %c %5d %c", + theSinex.ver, + theSinex.createagc.c_str(), + (int)theSinex.filedate[0] % 100, + (int)theSinex.filedate[1], + (int)theSinex.filedate[2], + theSinex.dataagc.c_str(), + (int)theSinex.solutionstartdate[0] % 100, + (int)theSinex.solutionstartdate[1], + (int)theSinex.solutionstartdate[2], + (int)theSinex.solutionenddate[0] % 100, + (int)theSinex.solutionenddate[1], + (int)theSinex.solutionenddate[2], + theSinex.obsCode, + theSinex.numparam, + theSinex.constCode + ); + + i = 0; + c = theSinex.solcont[0]; + + while (c != ' ') + { + snprintf(line + offset, sizeof(line) - offset, " %c", c); + + i++; + + if (i <= theSinex.solcont.length()) + c = theSinex.solcont[i]; + else + c = ' '; + } + + out << line << "\n"; +} + +void writeAsComments(Trace& out, list& comments) +{ + for (auto& comment : comments) + { + string line = comment; - if (!doit) - continue; - - char line[82]; - - snprintf( - line, - sizeof(line), - " %5d %6s %4s %2s %4s %2.2d:%3.3d:%5.5d %-4s %c %21.14le %11.5le", - sst.idx, - sst.param_type.c_str(), - sst.sitecode.c_str(), - sst.ptcode.c_str(), - sst.solnnum.c_str(), - (int)sst.epoch[0] % 100, - (int)sst.epoch[1], - (int)sst.epoch[2], - sst.unit.c_str(), - sst.constraint, - sst.param, - sst.stddev - ); - - out << line << "\n"; - } -} - -void writeSnxAprioriFromReceivers(ofstream& out, map& receiverMap) -{ - Block block(out, "SOLUTION/APRIORI"); - - writeAsComments(out, theSinex.blockComments[block.blockName]); - - int index = 1; - for (auto& [id, rec] : receiverMap) - { - if (rec.invalid) - { - continue; - } - - auto& sst = rec.snx; - - for (int i = 0; i < 3; i++) - { - string type = "STA?"; - type[3] = 'X' + i; - - tracepdeex( - 0, - out, - " %5d %-6s %4s %2d %4s %02d:%03d:%05d %-4s %c %21.14le %11.5le\n", - index, - type.c_str(), - id.c_str(), - sst.id_ptr->ptcode.c_str(), - 1, // sst.solnnum.c_str(), - (int)rec.aprioriTime[0] % 100, - (int)rec.aprioriTime[1], - (int)rec.aprioriTime[2], - "m", // sst.unit.c_str(), - '3', // sst.constraint, - rec.aprioriPos(i), // sst.param, - rec.aprioriPosVar(i) - ); - - index++; + // just make sure it starts with * as required by format + line[0] = '*'; + + out << line << "\n"; + } +} + +void writeSnxReference(ofstream& out) +{ + Block block(out, "FILE/REFERENCE", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& refString : theSinex.refstrings) + { + out << refString << "\n"; + } +} + +void writeSnxComments(ofstream& out) +{ + Block block(out, "FILE/COMMENT", separator); + + for (auto& commentstring : theSinex.fileComments) + { + out << commentstring << "\n"; + } +} + +void writeSnxInputHistory(ofstream& out) +{ + Block block(out, "INPUT/HISTORY", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto it = theSinex.inputHistory.begin(); it != theSinex.inputHistory.end(); it++) + { + char line[81] = {}; + int offset = 0; + SinexInputHistory siht = *it; + int i = 0; + + offset += snprintf( + line + offset, + sizeof(line) - offset, + " %cSNX %4.2lf %3s %02d:%03d:%05d %3s %02d:%03d:%05d %02d:%03d:%05d %c %5d %c", + siht.code, + siht.fmt, + siht.create_agency.c_str(), + (int)siht.create_time[0] % 100, + (int)siht.create_time[1], + (int)siht.create_time[2], + siht.data_agency.c_str(), + (int)siht.start[0] % 100, + (int)siht.start[1], + (int)siht.start[2], + (int)siht.stop[0] % 100, + (int)siht.stop[1], + (int)siht.stop[2], + siht.obs_tech, + siht.num_estimates, + siht.constraint + ); + + char c = siht.contents[i]; + + while (c != ' ') + { + offset += snprintf(line + offset, sizeof(line) - offset, " %c", c); + i++; + + if (siht.contents.length() >= i) + c = siht.contents[i]; + else + c = ' '; } + + out << line << "\n"; } } -void parseNormals(string& line) +void writeSnxInputFiles(ofstream& out) { - const char* buff = line.c_str(); + Block block(out, "INPUT/FILES", separator); - SinexSolNeq sst; + writeAsComments(out, theSinex.blockComments[block.blockName]); - sst.param = (int)str2num(buff, 2, 5); - sst.ptype = line.substr(7, 6); - sst.site = line.substr(14, 4); - sst.pt = line.substr(19, 2); - sst.solnnum = line.substr(22, 4); - char unit[5]; + for (auto& inputFile : theSinex.inputFiles) + { + SinexInputFile& sif = inputFile; - unit[4] = '\0'; + char line[81]; + int len; + snprintf( + line, + sizeof(line), + " %3s %02d:%03d:%05d ", + sif.agency.c_str(), + (int)sif.yds[0] % 100, + (int)sif.yds[1], + (int)sif.yds[2] + ); - int readcount = sscanf( - buff + 27, - "%2lf:%3lf:%5lf %4s %c %21lf", - &sst.epoch[0], - &sst.epoch[1], - &sst.epoch[2], - unit, - &sst.constraint, - &sst.normal - ); + std::filesystem::path filepath(sif.file); + string stem = filepath.stem().string(); - if (readcount == 6) + // if the filename length is greater than 29 (format spec limit) make into a comment line + if (stem.length() > 29) + line[0] = '*'; + // pad short filenames to 29 characters + if ((len = stem.length()) < 29) + { + for (int i = len; i < 29; i++) + stem += ' '; + } + out << line << stem << " " << sif.description << "\n"; + } +} + +void writeSnxAcknowledgements(ofstream& out) +{ + Block block(out, "INPUT/ACKNOWLEDGEMENTS", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& acknowledgement : theSinex.acknowledgements) { - sst.unit = unit; + SinexAck& ack = acknowledgement; - // see comment at top of file - if (sst.epoch[0] != 0 || sst.epoch[1] != 0 || sst.epoch[2] != 0) + char line[81]; + snprintf(line, sizeof(line), " %3s %s", ack.agency.c_str(), ack.description.c_str()); + + out << line << "\n"; + } +} + +void writeSnxNutCodes(ofstream& out) +{ + Block block(out, "NUTATION/DATA", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& nutcode : theSinex.listnutcodes) + { + SinexNutCode& snt = nutcode; + + char line[81]; + + snprintf(line, sizeof(line), " %-8s %s", snt.nutcode.c_str(), snt.comment.c_str()); + + out << line << "\n"; + } +} + +void writeSnxPreCodes(ofstream& out) +{ + Block block(out, "PRECESSION/DATA", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& spt : theSinex.listprecessions) + { + char line[81]; + + snprintf(line, sizeof(line), " %-8s %s", spt.precesscode.c_str(), spt.comment.c_str()); + + out << line << "\n"; + } +} + +void writeSnxSourceIds(ofstream& out) +{ + Block block(out, "SOURCE/ID", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& source_id : theSinex.listsourceids) + { + SinexSourceId& ssi = source_id; + + char line[101]; + + snprintf( + line, + sizeof(line), + " %4s %8s %16s %s", + ssi.source.c_str(), + ssi.iers.c_str(), + ssi.icrf.c_str(), + ssi.comments.c_str() + ); + + out << line << "\n"; + } +} + +void writeSnxSiteIds(ofstream& out) +{ + Block block(out, "SITE/ID", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& [id, rec] : receiverMap) + { + if (rec.invalid) + { + continue; + } + + auto ssi_it = theSinex.mapsiteids.find(id); + if (ssi_it != theSinex.mapsiteids.end() && ssi_it->second.sitecode == id) + { + auto& ssi = ssi_it->second; + + if (ssi.used == false) + continue; + + tracepdeex( + 0, + out, + " %4s %2s %9s %c %-22s %3d %2d %4.1lf %3d %2d %4.1lf %7.1lf\n", + ssi.sitecode.c_str(), + ssi.ptcode.c_str(), + ssi.domes.c_str(), + ssi.typecode, + ssi.desc.c_str(), + ssi.lon_deg, + ssi.lon_min, + ssi.lon_sec, + ssi.lat_deg, + ssi.lat_min, + ssi.lat_sec, + ssi.height + ); + } + else + { + auto recOpts = acsConfig.getRecOpts(id); + VectorPos pos = ecef2pos(rec.aprioriPos); + double lat = pos.latDeg(); + double lon = pos.lonDeg(); + double hgt = pos.hgt(); + + tracepdeex( + 0, + out, + " %4s %2s %9s %c %-22s %3d %2d %4.1lf %3d %2d %4.1lf %7.1lf\n", + id.c_str(), + "A", + recOpts.domes_number.empty() ? " M " : recOpts.domes_number, + 'P', + recOpts.site_description.empty() ? id.c_str() : recOpts.site_description, + int(lon), + fabs(int(lon * 60) % 60), + fabs(fmod(lon * 3600, 60)), + int(lat), + fabs(int(lat * 60) % 60), + fabs(fmod(lat * 3600, 60)), + hgt + ); + } + } +} + +void writeSnxSiteData(ofstream& out, list* pstns) +{ + Block block(out, "SITE/DATA", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& sitedata : theSinex.listsitedata) + { + SinexSiteData& ssd = sitedata; + bool doit = false; + + char line[81]; + snprintf( + line, + sizeof(line), + " %4s %2s %4s %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %3s %02d:%03d:%05d", + ssd.site.c_str(), + ssd.station_pt.c_str(), + ssd.soln_id.c_str(), + ssd.sitecode.c_str(), + ssd.site_pt.c_str(), + ssd.sitesoln.c_str(), + ssd.obscode, + (int)ssd.start[0] % 100, + (int)ssd.start[1], + (int)ssd.start[2], + (int)ssd.stop[0] % 100, + (int)ssd.stop[1], + (int)ssd.stop[2], + ssd.agency.c_str(), + (int)ssd.create[0] % 100, + (int)ssd.create[1], + (int)ssd.create[2] + ); + + if (pstns == nullptr) + doit = true; + else { - nearestYear(sst.epoch[0]); + for (auto& stn : *pstns) + { + if (ssd.site.compare(stn.id_ptr->sitecode) == 0) + { + doit = true; + break; + } + } } - theSinex.listnormaleqns.push_back(sst); + if (doit) + out << line << "\n"; } } -void writeSnxNormal(ofstream& out, list* pstns = nullptr) +void writeSnxReceivers(ofstream& out) { - Block block(out, "SOLUTION/NORMAL_EQUATION_VECTOR"); + Block block(out, "SITE/RECEIVER", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); - for (auto& sst : theSinex.listnormaleqns) - { - bool doit = (pstns == nullptr); + for (auto& [site, timemap] : theSinex.mapreceivers) + for (auto it = timemap.rbegin(); it != timemap.rend(); it++) + { + auto& [time, receiver] = *it; - if (pstns) - for (auto& stn : *pstns) + if (receiver.used == false) { - if (sst.site.compare(stn.id_ptr->sitecode) != 0) - { - doit = true; - break; - } + continue; } - if (!doit) - continue; - - char line[81]; - - snprintf( - line, - sizeof(line), - " %5d %6s %4s %2s %4s %2.2d:%3.3d:%5.5d %-4s %c %21.15lf", - sst.param, - sst.ptype.c_str(), - sst.site.c_str(), - sst.pt.c_str(), - sst.solnnum.c_str(), - (int)sst.epoch[0] % 100, - (int)sst.epoch[1], - (int)sst.epoch[2], - sst.unit.c_str(), - sst.constraint, - sst.normal - ); - - out << line << "\n"; - } + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %-20s %-5s %-11s\n", + receiver.sitecode.c_str(), + receiver.ptcode.c_str(), + receiver.solnid.c_str(), + receiver.typecode, + (int)receiver.start[0] % 100, + (int)receiver.start[1], + (int)receiver.start[2], + (int)receiver.end[0] % 100, + (int)receiver.end[1], + (int)receiver.end[2], + receiver.type.c_str(), + receiver.sn.c_str(), + receiver.firm.c_str() + ); + } } -matrix_type mat_type; -matrix_value mat_value; - -void parseMatrix(string& line) //, matrix_type type, matrix_value value) +void writeSnxReceiversFromReceivers(ofstream& out, UYds soln_start, UYds soln_end) { - const char* buff = line.c_str(); - - // //todo aaron, this is only half complete, the maxrow/col arent used but should be with - // multiple input matrices. - int maxrow = 0; - int maxcol = 0; - SinexSolMatrix smt; + Block block(out, "SITE/RECEIVER", separator); - int readcount = sscanf( - buff, - " %5d %5d %21lf %21lf %21lf", - &smt.row, - &smt.col, - &smt.value[0], - &smt.value[1], - &smt.value[2] - ); + writeAsComments(out, theSinex.blockComments[block.blockName]); - if (readcount > 2) + for (auto& [id, rec] : receiverMap) { - if (smt.row < smt.col) + if (rec.invalid) { - // xor swap - smt.row ^= smt.col; - smt.col ^= smt.row; - smt.row ^= smt.col; + continue; } - int covars = readcount - 2; - - for (int i = readcount - 2; i < 3; i++) - smt.value[i] = -1; - - smt.numvals = readcount - 2; + auto& sst = rec.snx; - if (smt.row > maxrow) - maxrow = smt.row; - if (smt.col > maxcol) - maxcol = smt.col; + string receiverType = + rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : rec.receiverType; - theSinex.matrixmap[mat_type][mat_value].push_back(smt); + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %-20s %-5s %-11s\n", + id.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + "----", + 'P', + (int)soln_start[0] % 100, + (int)soln_start[1], + (int)soln_start[2], + (int)soln_end[0] % 100, + (int)soln_end[1], + (int)soln_end[2], + receiverType.c_str(), + rec.metadata.receiverSerial.valid + ? rec.metadata.receiverSerial.value.c_str() + : (sst.rec_ptr == nullptr ? "-----" : sst.rec_ptr->sn.c_str()), + rec.metadata.receiverFirmware.valid + ? rec.metadata.receiverFirmware.value.c_str() + : (sst.rec_ptr == nullptr ? "-----------" : sst.rec_ptr->firm.c_str()) + ); } } -void parseSinexEstimates(string& line) {} - -void parseSinexEstimateMatrix(string& line) {} - -void writeSnxMatricesFromFilter(ofstream& out, KFState& kfState) +void writeSnxAntennas(ofstream& out) { - const char* type_strings[MAX_MATRIX_TYPE]; - const char* value_strings[MAX_MATRIX_VALUE]; - - type_strings[ESTIMATE] = "SOLUTION/MATRIX_ESTIMATE"; - type_strings[APRIORI] = "SOLUTION/MATRIX_APRIORI"; - type_strings[NORMAL_EQN] = "SOLUTION/NORMAL_EQUATION_MATRIX"; - - value_strings[CORRELATION] = "CORR"; - value_strings[COVARIANCE] = "COVA"; - value_strings[INFORMATION] = "INFO"; + Block block(out, "SITE/ANTENNA", separator); - // just check we have some values to play with first - if (kfState.P.rows() == 0) - return; + writeAsComments(out, theSinex.blockComments[block.blockName]); - for (auto& mt : {ESTIMATE}) - for (auto& mv : {COVARIANCE}) + for (auto& [site, antmap] : theSinex.mapantennas) + for (auto it = antmap.rbegin(); it != antmap.rend(); it++) { - // print header - char header[128]; - snprintf( - header, - sizeof(header), - "%s %c %s", - type_strings[mt], - 'L', - mt == NORMAL_EQN ? "" : value_strings[mv] - ); - - Block block(out, header); - - writeAsComments(out, theSinex.blockComments[block.blockName]); - - MatrixXd& P = kfState.P; - - for (int i = 1; i < P.rows(); i++) - for (int j = 1; j <= i;) - { - if (P(i, j) == 0) - { - j++; - continue; - } - - // start printing a line - tracepdeex(0, out, " %5d %5d %21.14le", i, j, P(i, j)); - j++; - - for (int k = 0; k < 2; k++) - { - if ((j > i) || (P(i, j) == 0)) - { - break; - } + auto& [time, ant] = *it; - tracepdeex(0, out, " %21.14le", P(i, j)); - j++; - } + if (ant.used == false) + { + continue; + } - tracepdeex(0, out, "\n"); - } + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %-20s %-5s\n", + ant.sitecode.c_str(), + ant.ptcode.c_str(), + ant.solnnum.c_str(), + ant.typecode, + (int)ant.start[0] % 100, + (int)ant.start[1], + (int)ant.start[2], + (int)ant.end[0] % 100, + (int)ant.end[1], + (int)ant.end[2], + ant.type.c_str(), + ant.sn.c_str() + ); } } -void parseDataHandling(string& line) +void writeSnxAntennasFromReceivers(ofstream& out, UYds soln_start, UYds soln_end) { - SinexDataHandling sdt; - - const char* buff = line.c_str(); - - sdt.sitecode = trim(line.substr(1, 4)); // 4 - CDP ID - sdt.ptcode = line.substr(6, 2); // 2 - satellites these biases apply to (-- = all) - sdt.solnnum = line.substr(9, 4); // 4 - solution number - sdt.t = line.substr(14, 1); // 1 - - int readcount = sscanf( - buff + 16, - "%2lf:%3lf:%5lf", - &sdt.epochstart[0], - &sdt.epochstart[1], - &sdt.epochstart[2] - ); - readcount += - sscanf(buff + 29, "%2lf:%3lf:%5lf", &sdt.epochend[0], &sdt.epochend[1], &sdt.epochend[2]); - - sdt.m = line.substr(42, 1); // 1 + Block block(out, "SITE/ANTENNA", separator); - if (line.size() >= 79) - { - sdt.estimate = str2num(buff, 44, 12); - sdt.stddev = str2num(buff, 57, 7); - sdt.estrate = str2num(buff, 65, 9); - sdt.unit = line.substr(75, 4); // 4 - units of estimate - } - if (line.size() > 82) - { - sdt.comments = line.substr(82); - } + writeAsComments(out, theSinex.blockComments[block.blockName]); - if (readcount >= 6) // just need a start & stop time + for (auto& [id, rec] : receiverMap) { - // see comment at top of file - if (sdt.epochstart[0] != 0 || sdt.epochstart[1] != 0 || sdt.epochstart[2] != 0) - { - nearestYear(sdt.epochstart[0]); - } - if (sdt.epochend[0] != 0 || sdt.epochend[1] != 0 || sdt.epochend[2] != 0) + if (rec.invalid) { - nearestYear(sdt.epochend[0]); + continue; } - GTime time = sdt.epochstart; - - theSinex.mapdatahandling[sdt.sitecode][sdt.ptcode][sdt.m.front()][time] = sdt; - } -} - -void parsePrecode(string& line) -{ - SinexPreCode snt; + auto& sst = rec.snx; - snt.precesscode = line.substr(1, 8); - snt.comment = line.substr(10); + string antennaType = rec.metadata.antennaDescriptor.valid + ? rec.metadata.antennaDescriptor.value + : rec.antennaType; - theSinex.listprecessions.push_back(snt); + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %-20s %-5s\n", + id.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + "----", + 'P', + (int)soln_start[0] % 100, + (int)soln_start[1], + (int)soln_start[2], + (int)soln_end[0] % 100, + (int)soln_end[1], + (int)soln_end[2], + antennaType.c_str(), + rec.metadata.antennaSerial.valid + ? rec.metadata.antennaSerial.value.c_str() + : (sst.ant_ptr == nullptr ? "-----" : sst.ant_ptr->sn.c_str()) + ); + } } -void writeSnxPreCodes(ofstream& out) +void writeSnxGpsPcs(ofstream& out, list* pstns) { - Block block(out, "PRECESSION/DATA"); + Block block(out, "SITE/GPS_PHASE_CENTER", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); - for (auto& spt : theSinex.listprecessions) + for (auto& gps_pc : theSinex.listgpspcs) { + SinexGpsPhaseCenter& sgt = gps_pc; + char buf[8]; + bool doit = false; + char line[81]; + int offset = 0; - snprintf(line, sizeof(line), " %8s %s", spt.precesscode.c_str(), spt.comment.c_str()); + offset += snprintf( + line + offset, + sizeof(line) - offset, + " %-20s %-5s ", + sgt.antname.c_str(), + sgt.serialno.c_str() + ); - out << line << "\n"; - } -} + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L1[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s", buf); + } -void parseNutcode(string& line) -{ - SinexNutCode snt; + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L2[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } - snt.nutcode = line.substr(1, 8); - snt.comment = line.substr(10); + offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); - theSinex.listnutcodes.push_back(snt); + if (pstns == nullptr) + { + doit = true; + } + else + { + for (auto& stn : *pstns) + { + if (sgt.antname == stn.ant_ptr->type) + { + doit = true; + break; + } + } + } + + if (doit) + { + out << line << "\n"; + } + } } -void writeSnxNutCodes(ofstream& out) +void writeSnxGalPcs(ofstream& out, list* pstns) { - Block block(out, "NUTATION/DATA"); + Block block(out, "SITE/GAL_PHASE_CENTER", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); - for (auto& nutcode : theSinex.listnutcodes) + for (auto& gal_pc : theSinex.listgalpcs) { - SinexNutCode& snt = nutcode; + SinexGalPhaseCenter& sgt = gal_pc; + char buf[8]; + bool doit = false; - char line[81]; + if (pstns == nullptr) + doit = true; + else + { + for (auto& stn : *pstns) + { + if (sgt.antname == stn.ant_ptr->type) + { + doit = true; + break; + } + } + } - snprintf(line, sizeof(line), " %8s %s", snt.nutcode.c_str(), snt.comment.c_str()); + if (!doit) + continue; - out << line << "\n"; - } -} + { + char line[81]; + int offset = 0; -void parseSourceIds(string& line) -{ - SinexSourceId ssi; + offset += snprintf( + line + offset, + sizeof(line) - offset, + " %-20s %-5s ", + sgt.antname.c_str(), + sgt.serialno.c_str() + ); - ssi.source = line.substr(1, 4); - ssi.iers = line.substr(6, 8); - ssi.icrf = line.substr(15, 16); - ssi.comments = line.substr(32); + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L1[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } - theSinex.listsourceids.push_back(ssi); -} + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L5[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } -void writeSnxSourceIds(ofstream& out) -{ - Block block(out, "SOURCE/ID"); + offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); + out << line << "\n"; + } - writeAsComments(out, theSinex.blockComments[block.blockName]); + { + char line[81]; + int offset = 0; - for (auto& source_id : theSinex.listsourceids) - { - SinexSourceId& ssi = source_id; + offset += snprintf( + line + offset, + sizeof(line) - offset, + " %-20s %-5s ", + sgt.antname.c_str(), + sgt.serialno.c_str() + ); - char line[101]; + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L6[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } - snprintf( - line, - sizeof(line), - " %4s %8s %16s %s", - ssi.source.c_str(), - ssi.iers.c_str(), - ssi.icrf.c_str(), - ssi.comments.c_str() - ); + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L7[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } - out << line << "\n"; + offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); + + out << line << "\n"; + } + + { + char line[81]; + int offset = 0; + + offset += snprintf( + line, + sizeof(line), + " %-20s %-5s ", + sgt.antname.c_str(), + sgt.serialno.c_str() + ); + + for (int i = 0; i < 3; i++) + { + snprintf(buf, sizeof(buf), "%6.4lf", sgt.L8[i]); + truncateSomething(buf); + offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf); + } + + offset += snprintf(line + offset, sizeof(line) - offset, " "); + offset += snprintf(line + offset, sizeof(line) - offset, "%s", sgt.calib.c_str()); + out << line << "\n"; + } } } -bool compareSatIds(SinexSatId& left, SinexSatId& right) +void writeSnxSiteEccs(ofstream& out) { - int comp = left.svn.compare(right.svn); + Block block(out, "SITE/ECCENTRICITY", separator); - return (comp < 0); -} + writeAsComments(out, theSinex.blockComments[block.blockName]); -void parseSatelliteIds(string& line) -{ - const char* buff = line.c_str(); + for (auto& [id, setMap] : theSinex.mapeccentricities) + for (auto it = setMap.rbegin(); it != setMap.rend(); it++) + { + auto& [time, set] = *it; - SinexSatId sst; + if (set.used == false) + { + continue; + } - sst.svn = line.substr(1, 4); - sst.prn = sst.svn[0] + line.substr(6, 2); - sst.cospar = line.substr(9, 9); - sst.obsCode = line[18]; - sst.antRcvType = line.substr(47); + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %3s %8.4lf %8.4lf %8.4lf\n", + set.sitecode.c_str(), + set.ptcode.c_str(), + set.solnnum.c_str(), + set.typecode, + (int)set.start[0] % 100, + (int)set.start[1], + (int)set.start[2], + (int)set.end[0] % 100, + (int)set.end[1], + (int)set.end[2], + set.rs.c_str(), + set.ecc.u(), + set.ecc.n(), + set.ecc.e() + ); + } +} - int readcount = sscanf( - buff + 21, - "%2lf:%3lf:%5lf %2lf:%3lf:%5lf", - &sst.timeSinceLaunch[0], - &sst.timeSinceLaunch[1], - &sst.timeSinceLaunch[2], - &sst.timeUntilDecom[0], - &sst.timeUntilDecom[1], - &sst.timeUntilDecom[2] - ); +void writeSnxSiteEccsFromReceivers(ofstream& out, UYds soln_start, UYds soln_end) +{ + Block block(out, "SITE/ECCENTRICITY", separator); - if (readcount == 6) + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& [id, rec] : receiverMap) { - // TODO: make the following adjustements - // TSL if 0 is Sinex file start date - // TUD if 0 is Sinex file end date + if (rec.invalid) + { + continue; + } + + auto& sst = rec.snx; - theSinex.listsatids.push_back(sst); + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %3s %8.4lf %8.4lf %8.4lf\n", + id.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + "----", + 'P', + (int)soln_start[0] % 100, + (int)soln_start[1], + (int)soln_start[2], + (int)soln_end[0] % 100, + (int)soln_end[1], + (int)soln_end[2], + "UNE", + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value[2] : rec.antDelta.u(), + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value[1] : rec.antDelta.n(), + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value[0] : rec.antDelta.e() + ); } } void writeSnxSatIds(ofstream& out) { - Block block(out, "SATELLITE/ID"); + Block block(out, "SATELLITE/ID", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2488,7 +3179,7 @@ void writeSnxSatIds(ofstream& out) snprintf( line, sizeof(line), - " %4s %2s %9s %c %2.2d:%3.3d:%5.5d %2.2d:%3.3d:%5.5d %20s", + " %4s %2s %9s %c %02d:%03d:%05d %02d:%03d:%05d %-20s", ssi.svn.c_str(), ssi.prn.c_str() + 1, ssi.cospar.c_str(), @@ -2506,26 +3197,53 @@ void writeSnxSatIds(ofstream& out) } } -void parseSatelliteIdentifiers(string& line) +void writeSnxSatPc(ofstream& out) { - const char* buff = line.c_str(); + Block block(out, "SATELLITE/PHASE_CENTER", separator); - SinexSatIdentity sst; + writeAsComments(out, theSinex.blockComments[block.blockName]); - sst.svn = line.substr(1, 4); - sst.cospar = line.substr(6, 9); - sst.category = (int)str2num(buff, 16, 6); - sst.blocktype = trim(line.substr(23, 15)); - sst.comment = line.substr(39); + for (auto& spt : theSinex.listsatpcs) + { + char line[101]; + char freq2line[23]; - theSinex.satIdentityMap[sst.svn] = sst; + memset(freq2line, ' ', sizeof(freq2line)); + freq2line[22] = '\0'; - nav.blocktypeMap[sst.svn] = sst.blocktype; + if (spt.freq2 != ' ') + snprintf( + freq2line, + sizeof(freq2line), + "%c %6.4lf %6.4lf %6.4lf", + spt.freq2, + spt.zxy2[0], + spt.zxy2[1], + spt.zxy2[2] + ); + + snprintf( + line, + sizeof(line), + " %4s %c %6.4lf %6.4lf %6.4lf %22s %-10s %c %c", + spt.svn.c_str(), + spt.freq, + spt.zxy[0], + spt.zxy[1], + spt.zxy[2], + freq2line, + spt.antenna.c_str(), + spt.type, + spt.model + ); + + out << line << "\n"; + } } void writeSnxSatIdents(ofstream& out) { - Block block(out, "SATELLITE/IDENTIFIER"); + Block block(out, "SATELLITE/IDENTIFIER", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2548,46 +3266,9 @@ void writeSnxSatIdents(ofstream& out) } } -bool compareSatPrns(SinexSatPrn& left, SinexSatPrn& right) -{ - int comp = left.prn.compare(right.prn); - - return (comp < 0); -} - -void parseSatPrns(string& line) -{ - const char* buff = line.c_str(); - - SinexSatPrn spt; - - spt.svn = line.substr(1, 4); - spt.prn = line.substr(36, 3); - spt.comment = line.substr(40); - - int readcount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf", - &spt.start[0], - &spt.start[1], - &spt.start[2], - &spt.stop[0], - &spt.stop[1], - &spt.stop[2] - ); - - if (readcount == 6) - { - // No need to adjust years since for satellites the year is 4 digits ... - theSinex.listsatprns.push_back(spt); - - nav.svnMap[SatSys(spt.prn.c_str())][spt.start] = spt.svn; - } -} - void writeSnxSatPrns(ofstream& out) { - Block block(out, "SATELLITE/PRN"); + Block block(out, "SATELLITE/PRN", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2598,7 +3279,7 @@ void writeSnxSatPrns(ofstream& out) snprintf( line, sizeof(line), - " %4s %4.4d:%3.3d:%5.5d %4.4d:%3.3d:%5.5d %3s %s", + " %4s %04d:%03d:%05d %04d:%03d:%05d %3s %s", spt.svn.c_str(), (int)spt.start[0], (int)spt.start[1], @@ -2614,50 +3295,9 @@ void writeSnxSatPrns(ofstream& out) } } -bool compareFreqChannels(SinexSatFreqChn& left, SinexSatFreqChn& right) -{ - // start by comparing SVN... - int comp = left.svn.compare(right.svn); - - // then by start time if the same space vehicle - for (int i = 0; i < 3; i++) - if (comp == 0) - comp = left.start[i] - right.start[i]; - - return (comp < 0); -} - -void parseSatFreqChannels(string& line) -{ - const char* buff = line.c_str(); - - SinexSatFreqChn sfc; - - sfc.svn = line.substr(1, 4); - sfc.comment = line.substr(40); - - int readcount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %3d", - &sfc.start[0], - &sfc.start[1], - &sfc.start[2], - &sfc.stop[0], - &sfc.stop[1], - &sfc.stop[2], - &sfc.channel - ); - - if (readcount == 7) - { - // No need to adjust years since for satellites the year is 4 digits ... - theSinex.listsatfreqchns.push_back(sfc); - } -} - void writeSnxSatFreqChn(ofstream& out) { - Block block(out, "SATELLITE/FREQUENCY_CHANNEL"); + Block block(out, "SATELLITE/FREQUENCY_CHANNEL", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2668,7 +3308,7 @@ void writeSnxSatFreqChn(ofstream& out) snprintf( line, sizeof(line), - " %4s %4.4d:%3.3d:%5.5d %4.4d:%3.3d:%5.5d %3d %s", + " %4s %04d:%03d:%05d %04d:%03d:%05d %3d %s", sfc.svn.c_str(), (int)sfc.start[0], (int)sfc.start[1], @@ -2684,37 +3324,9 @@ void writeSnxSatFreqChn(ofstream& out) } } -void parseSatelliteMass(string& line) -{ - const char* buff = line.c_str(); - - SinexSatMass ssm; - - ssm.svn = line.substr(1, 4); - ssm.comment = line.substr(46); - - int readcount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %9lf", - &ssm.start[0], - &ssm.start[1], - &ssm.start[2], - &ssm.stop[0], - &ssm.stop[1], - &ssm.stop[2], - &ssm.mass - ); - - if (readcount == 7) - { - // No need to adjust years since for satellites the year is 4 digits ... - theSinex.mapsatmasses[ssm.svn][ssm.start] = ssm; - } -} - void writESnxSatMass(ofstream& out) { - Block block(out, "SATELLITE/MASS"); + Block block(out, "SATELLITE/MASS", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2726,140 +3338,25 @@ void writESnxSatMass(ofstream& out) snprintf( line, sizeof(line), - " %4s %4.4d:%3.3d:%5.5d %4.4d:%3.3d:%5.5d %9.3lf %s", + " %4s %04d:%03d:%05d %04d:%03d:%05d %9.3lf %s", ssm.svn.c_str(), (int)ssm.start[0], - (int)ssm.start[1], - (int)ssm.start[2], - (int)ssm.stop[0], - (int)ssm.stop[1], - (int)ssm.stop[2], - ssm.mass, - ssm.comment.c_str() - ); - - out << line << "\n"; - } -} - -/** Get GLONASS frequency channel from SINEX data - * Returns frequency channel number for a GLONASS satellite at a given time. - * Searches SINEX satellite frequency channel blocks to find the correct channel. - */ -int getGloFreqChannel( - const SatSys& sat, ///< Satellite to query - const GTime& time, ///< Time of observation - Navigation& nav ///< Navigation data to cache result -) -{ - if (sat.sys != E_Sys::GLO) - { - return 0; - } - - // Try to get SVN from nav.svnMap first (populated from SINEX SATELLITE/PRN block) - string svn; - auto it = nav.svnMap[sat].lower_bound(time); - if (it != nav.svnMap[sat].end()) - { - svn = it->second; - } - - // Fallback to satDataMap if svnMap lookup failed - if (svn.empty()) - { - svn = sat.svn(); - } - - BOOST_LOG_TRIVIAL(debug) << "SINEX: Querying frequency channel for " << sat.id() - << " at time " << time.to_string() << " (SVN=" << svn << ")"; - - if (svn.empty()) - { - BOOST_LOG_TRIVIAL(info) - << "SINEX: No SVN available for " << sat.id() - << " at time " << time.to_string(); - return 0; - } - - // Find frequency channel for this SVN at this time - for (auto& sfc : theSinex.listsatfreqchns) - { - if (sfc.svn != svn) - continue; - - GTime startTime = sfc.start; - GTime stopTime = sfc.stop; - - // Check if stop time is 0000:000:00000 (means ongoing/no end date) - bool isOngoing = (sfc.stop[0] == 0 && sfc.stop[1] == 0 && sfc.stop[2] == 0); - - // Time must be after start, and either before stop or stop is ongoing - if (time >= startTime && (isOngoing || time <= stopTime)) - { - nav.gloFreqMap[sat] = sfc.channel; - - BOOST_LOG_TRIVIAL(debug) - << "SINEX: Found frequency channel " << sfc.channel - << " for " << sat.id() << " (SVN=" << svn << ") at time " << time.to_string(); - - return sfc.channel; - } - } - - BOOST_LOG_TRIVIAL(debug) - << "SINEX: Could not find frequency channel for " << sat.id() - << " (SVN=" << svn << ") at time " << time.to_string(); - - return 0; -} - -bool compareSatCom(SinexSatCom& left, SinexSatCom& right) -{ - // start by comparing SVN... - int comp = left.svn.compare(right.svn); - - // then by start time if the same space vehicle - for (int i = 0; i < 3; i++) - if (comp == 0) - comp = left.start[i] - right.start[i]; - - return (comp < 0); -} - -void parseSatelliteComs(string& line) -{ - const char* buff = line.c_str(); - - SinexSatCom sct; - - sct.svn = line.substr(1, 4); - sct.comment = line.substr(66); - - int readcount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %9lf %9lf %9lf", - &sct.start[0], - &sct.start[1], - &sct.start[2], - &sct.stop[0], - &sct.stop[1], - &sct.stop[2], - &sct.com[0], - &sct.com[1], - &sct.com[2] - ); + (int)ssm.start[1], + (int)ssm.start[2], + (int)ssm.stop[0], + (int)ssm.stop[1], + (int)ssm.stop[2], + ssm.mass, + ssm.comment.c_str() + ); - if (readcount == 9) - { - // No need to adjust years since for satellites the year is 4 digits ... - theSinex.listsatcoms.push_back(sct); - } + out << line << "\n"; + } } void writeSnxSatCom(ofstream& out) { - Block block(out, "SATELLITE/COM"); + Block block(out, "SATELLITE/COM", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2870,7 +3367,7 @@ void writeSnxSatCom(ofstream& out) snprintf( line, sizeof(line), - " %4s %4.4d:%3.3d:%5.5d %4.4d:%3.3d:%5.5d %9.4lf %9.4lf %9.4lf %s", + " %4s %04d:%03d:%05d %04d:%03d:%05d %9.4lf %9.4lf %9.4lf %s", sct.svn.c_str(), (int)sct.start[0], (int)sct.start[1], @@ -2888,40 +3385,9 @@ void writeSnxSatCom(ofstream& out) } } -bool compareSatEcc(SinexSatEcc& left, SinexSatEcc& right) -{ - // start by comparing SVN... - int comp = left.svn.compare(right.svn); - - // then by type (P or L) - if (comp == 0) - comp = static_cast(left.type) - static_cast(right.type); - - return (comp < 0); -} - -void parseSatelliteEccentricities(string& line) -{ - const char* buff = line.c_str(); - - SinexSatEcc set; - - set.svn = line.substr(1, 4); - set.equip = line.substr(6, 20); - set.type = line[27]; - set.comment = line.substr(59); - - int readcount = sscanf(buff + 29, "%9lf %9lf %9lf", &set.ecc[0], &set.ecc[1], &set.ecc[2]); - - if (readcount == 3) - { - theSinex.listsateccs.push_back(set); - } -} - void writeSnxSatEcc(ofstream& out) { - Block block(out, "SATELLITE/ECCENTRICITY"); + Block block(out, "SATELLITE/ECCENTRICITY", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2946,37 +3412,9 @@ void writeSnxSatEcc(ofstream& out) } } -void parseSatellitePowers(string& line) -{ - const char* buff = line.c_str(); - - SinexSatPower spt; - - spt.svn = line.substr(1, 4); - spt.comment = line.substr(41); - - int readcount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %4d", - &spt.start[0], - &spt.start[1], - &spt.start[2], - &spt.stop[0], - &spt.stop[1], - &spt.stop[2], - &spt.power - ); - - if (readcount == 7) - { - // No need to adjust years since for satellites the year is 4 digits ... - theSinex.mapsatpowers[spt.svn][spt.start] = spt; - } -} - void writeSnxSatPower(ofstream& out) { - Block block(out, "SATELLITE/TX_POWER"); + Block block(out, "SATELLITE/TX_POWER", separator); writeAsComments(out, theSinex.blockComments[block.blockName]); @@ -2988,7 +3426,7 @@ void writeSnxSatPower(ofstream& out) snprintf( line, sizeof(line), - " %4s %4.4d:%3.3d:%5.5d %4.4d:%3.3d:%5.5d %4d %s", + " %4s %04d:%03d:%05d %04d:%03d:%05d %4d %s", spt.svn.c_str(), (int)spt.start[0], (int)spt.start[1], @@ -3004,503 +3442,419 @@ void writeSnxSatPower(ofstream& out) } } -bool compareSatPc(SinexSatPc& left, SinexSatPc& right) -{ - // start by comparing SVN... - int comp = left.svn.compare(right.svn); - - // then by the first freq number - if (comp == 0) - comp = static_cast(left.freq) - static_cast(right.freq); - - return (comp < 0); -} - -void parseSatellitePhaseCenters(string& line) +void writeSnxEpochs(Trace& out) { - const char* buff = line.c_str(); - - SinexSatPc spt; - - int readcount2; - - spt.svn = line.substr(1, 4); - spt.freq = line[6]; - spt.freq2 = line[29]; - spt.antenna = line.substr(52, 10); - spt.type = line[63]; - spt.model = line[65]; - - int readcount = sscanf(buff + 6, "%6lf %6lf %6lf", &spt.zxy[0], &spt.zxy[1], &spt.zxy[2]); - - if (spt.freq2 != ' ') - { - readcount2 = sscanf(buff + 31, "%6lf %6lf %6lf", &spt.zxy2[0], &spt.zxy2[1], &spt.zxy2[2]); - } - - if (readcount == 3 && (spt.freq2 == ' ' || readcount2 == 3)) - { - theSinex.listsatpcs.push_back(spt); - } -} + string blockName; + if (theSinex.epochshavebias) + blockName = "BIAS/EPOCHS"; + else + blockName = "SOLUTION/EPOCHS"; -void writeSnxSatPc(ofstream& out) -{ - Block block(out, "SATELLITE/PHASE_CENTER"); + Block block(out, blockName, separator); writeAsComments(out, theSinex.blockComments[block.blockName]); - for (auto& spt : theSinex.listsatpcs) + for (auto& [id, sst] : theSinex.solEpochMap) { - char line[101]; - char freq2line[23]; - - memset(freq2line, ' ', sizeof(freq2line)); - freq2line[22] = '\0'; - - if (spt.freq2 != ' ') - snprintf( - freq2line, - sizeof(freq2line), - "%c %6.4lf %6.4lf %6.4lf", - spt.freq2, - spt.zxy2[0], - spt.zxy2[1], - spt.zxy2[2] - ); - - snprintf( - line, - sizeof(line), - " %4s %c %6.4lf %6.4lf %6.4lf %22s %-10s %c %c", - spt.svn.c_str(), - spt.freq, - spt.zxy[0], - spt.zxy[1], - spt.zxy[2], - freq2line, - spt.antenna.c_str(), - spt.type, - spt.model + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %02d:%03d:%05d\n", + sst.sitecode.c_str(), + sst.ptcode.c_str(), + sst.solnnum.c_str(), + sst.typecode, + (int)sst.start[0] % 100, + (int)sst.start[1], + (int)sst.start[2], + (int)sst.end[0] % 100, + (int)sst.end[1], + (int)sst.end[2], + (int)sst.mean[0] % 100, + (int)sst.mean[1], + (int)sst.mean[2] ); - - out << line << "\n"; - } -} - -void parseSinexSatYawRates(string& line) -{ - const char* buff = line.c_str(); - - SinexSatYawRate entry; - - entry.svn = line.substr(1, 4); - entry.comment = line.substr(51); - - int readCount = sscanf( - buff + 6, - "%4lf:%3lf:%5lf %4lf:%3lf:%5lf %c %8lf", - &entry.start[0], - &entry.start[1], - &entry.start[2], - &entry.stop[0], - &entry.stop[1], - &entry.stop[2], - &entry.yawBias, - &entry.maxYawRate - ); - - entry.maxYawRate *= D2R; - - if (readCount == 8) - { - theSinex.satYawRateMap[entry.svn][entry.start] = entry; - } -} - -void parseSinexSatAttMode(string& line) -{ - const char* buff = line.c_str(); - - SinexSatAttMode entry; - entry.svn = line.substr(1, 4); - int readCount = sscanf( - buff + 6, - "%4lf-%2lf-%2lf %2lf:%2lf:%2lf %4lf-%2lf-%2lf %2lf:%2lf:%2lf ", - &entry.start[0], - &entry.start[1], - &entry.start[2], - &entry.start[3], - &entry.start[4], - &entry.start[5], - &entry.stop[0], - &entry.stop[1], - &entry.stop[2], - &entry.stop[3], - &entry.stop[4], - &entry.stop[5] - ); - entry.attMode = line.substr(47); - - if (readCount == 12) - { - theSinex.satAttModeMap[entry.svn][entry.start] = entry; } } -void nullFunction(string& line) {} - -bool readSinex(const string& filepath) +void writeSnxEpochsFromReceivers(Trace& out, UYds soln_start, UYds soln_end) { - // BOOST_LOG_TRIVIAL(info) - // << "reading " << filepath; - - ifstream filestream(filepath); - if (!filestream) - { - BOOST_LOG_TRIVIAL(error) << "Error opening sinex file" << filepath; - return false; - } - - bool pass = readSnxHeader(filestream); - if (pass == false) - { - BOOST_LOG_TRIVIAL(error) << "Error reading header line."; - - return false; - } + string blockName; + if (theSinex.epochshavebias) + blockName = "BIAS/EPOCHS"; + else + blockName = "SOLUTION/EPOCHS"; - theSinex.currentFile = filepath; + Block block(out, blockName, separator); - void (*parseFunction)(string&) = nullFunction; + writeAsComments(out, theSinex.blockComments[block.blockName]); - string closure; + for (auto& [id, rec] : receiverMap) + { + if (rec.invalid) + { + continue; + } - bool failure = false; + auto& sst = rec.snx; - int lineNumber = 0; + UYds soln_mean = (GTime)soln_start + ((GTime)soln_end - (GTime)soln_start).to_double() / 2; - while (filestream) - { - string line; + tracepdeex( + 0, + out, + " %4s %2s %4s %c %02d:%03d:%05d %02d:%03d:%05d %02d:%03d:%05d\n", + id.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + 1, + 'P', + (int)soln_start[0] % 100, + (int)soln_start[1], + (int)soln_start[2], + (int)soln_end[0] % 100, + (int)soln_end[1], + (int)soln_end[2], + (int)soln_mean[0] % 100, + (int)soln_mean[1], + (int)soln_mean[2] + ); + } +} - getline(filestream, line); +void writeSnxStatistics(ofstream& out) +{ + Block block(out, "SOLUTION/STATISTICS", separator); - lineNumber++; + writeAsComments(out, theSinex.blockComments[block.blockName]); - // test below empty line (ie continue if something on the line) - if (!filestream) - { - // error - did not find closure line. Report and clean up. - BOOST_LOG_TRIVIAL(error) << "Closure line not found before end."; + for (auto& statistic : theSinex.liststatistics) + { + char line[81]; - failure = true; - break; - } - else if (line[0] == '*') - { - // comment - } - else if (line[0] == '-') - { - // end of block - parseFunction = nullFunction; + if (statistic.etype == 0) // int + snprintf( + line, + sizeof(line), + " %-30s %22d", + statistic.name.c_str(), + statistic.value.ival + ); - if (line != closure) - { - BOOST_LOG_TRIVIAL(error) << "Incorrect section closure line encountered on line " - << lineNumber << ": " << closure << " != " << line; - } - } - else if (line[0] == ' ') - { - try - { - // this probably needs specialty parsing - use a prepared function pointer. - parseFunction(line); - } - catch (std::out_of_range& e) - { - BOOST_LOG_TRIVIAL(error) - << "Sinex line width error on line " << lineNumber << ": '" << line << "'"; - } - catch (...) - { - BOOST_LOG_TRIVIAL(error) - << "Sinex parsing error on line " << lineNumber << ": '" << line << "'"; - } - } - else if (line[0] == '+') - { - string mvs; + if (statistic.etype == 1) // double + snprintf( + line, + sizeof(line), + " %-30s %22.15lf", + statistic.name.c_str(), + statistic.value.dval + ); - // prepare closing line for comparison - closure = line; - closure[0] = '-'; + out << line << "\n"; + } +} - trimCut(line); - if (line == "+FILE/REFERENCE") - { - parseFunction = parseReference; - } - else if (line == "+FILE/COMMENT") - { - parseFunction = nullFunction; - } - else if (line == "+INPUT/HISTORY") - { - parseFunction = parseInputHistory; - } - else if (line == "+INPUT/FILES") - { - parseFunction = parseInputFiles; - } - else if (line == "+INPUT/ACKNOWLEDGEMENTS") - { - parseFunction = parseAcknowledgements; - } - else if (line == "+INPUT/ACKNOWLEDGMENTS") - { - parseFunction = parseAcknowledgements; - } - else if (line == "+NUTATION/DATA") - { - parseFunction = parseNutcode; - } - else if (line == "+PRECESSION/DATA") - { - parseFunction = parsePrecode; - } - else if (line == "+SOURCE/ID") - { - parseFunction = parseSourceIds; - } - else if (line == "+SITE/ID") - { - parseFunction = parseSiteIds; - } - else if (line == "+SITE/DATA") - { - parseFunction = parseSiteData; - } - else if (line == "+SITE/RECEIVER") - { - parseFunction = parseReceivers; - } - else if (line == "+SITE/ANTENNA") - { - parseFunction = parseAntennas; - } - else if (line == "+SITE/GPS_PHASE_CENTER") - { - parseFunction = parseGpsPhaseCenters; - } - else if (line == "+SITE/GAL_PHASE_CENTER") - { - parseFunction = parseGalPhaseCenters; - } - else if (line == "+SITE/ECCENTRICITY") - { - parseFunction = parseSiteEccentricity; - } - else if (line == "+BIAS/EPOCHS") - { - parseFunction = parseEpochs; - } - else if (line == "+MODEL/RANGE_BIAS") - { - parseFunction = parseDataHandling; - } // Same format w/ SOLUTION/DATA_HANDLING - else if (line == "+MODEL/TIME_BIAS") - { - parseFunction = parseDataHandling; - } // Same format w/ SOLUTION/DATA_HANDLING - else if (line == "+SOLUTION/EPOCHS") - { - parseFunction = parseEpochs; - } - else if (line == "+SOLUTION/STATISTICS") - { - parseFunction = parseStatistics; - } - else if (line == "+SOLUTION/ESTIMATE") - { - parseFunction = parseSolutionEstimates; - } - else if (line == "+SOLUTION/APRIORI") - { - parseFunction = parseApriori; - } - else if (line == "+SOLUTION/NORMAL_EQUATION_VECTOR") - { - parseFunction = parseNormals; - } - else if (line == "+SOLUTION/MATRIX_ESTIMATE") - { - parseFunction = parseMatrix; - } - else if (line == "+SOLUTION/MATRIX_APRIORI") - { - parseFunction = parseMatrix; - } - else if (line == "+SOLUTION/NORMAL_EQUATION_MATRIX") - { - parseFunction = parseMatrix; - } - else if (line == "+SOLUTION/DATA_HANDLING") - { - parseFunction = parseDataHandling; - } - else if (line == "+SATELLITE/IDENTIFIER") - { - parseFunction = parseSatelliteIdentifiers; - } - else if (line == "+SATELLITE/PRN") - { - parseFunction = parseSatPrns; - } - else if (line == "+SATELLITE/MASS") - { - parseFunction = parseSatelliteMass; - } - else if (line == "+SATELLITE/FREQUENCY_CHANNEL") - { - parseFunction = parseSatFreqChannels; - } - else if (line == "+SATELLITE/TX_POWER") - { - parseFunction = parseSatellitePowers; - } - else if (line == "+SATELLITE/COM") - { - parseFunction = parseSatelliteComs; - } - else if (line == "+SATELLITE/ECCENTRICITY") - { - parseFunction = parseSatelliteEccentricities; - } - else if (line == "+SATELLITE/PHASE_CENTER") - { - parseFunction = parseSatellitePhaseCenters; - } - else if (line == "+SATELLITE/ID") - { - parseFunction = parseSatelliteIds; - } - else if (line == "+SATELLITE/YAW_BIAS_RATE") - { - parseFunction = parseSinexSatYawRates; - } - else if (line == "+SATELLITE/ATTITUDE_MODE") +// void write_snx_estimates( +// ofstream& out, +// std::list* pstns = nullptr) +// { +// out << "+SOLUTION/ESTIMATE" << "\n"; +// +// writeAsComments(out, theSinex.estimate_comments); +// +// for (auto& [index, sst] : theSinex.estimates_map) +// { +// bool doit = (pstns == nullptr); +// +// if (pstns != nullptr) +// { +// for (auto& stn : *pstns) +// { +// if (sst.sitecode.compare(stn.sitecode) == 0) +// { +// doit = true; +// break; +// } +// } +// } +// +// if (!doit) +// continue; +// +// char line[82]; +// +// snprintf(line, sizeof(line), " %5d %6s %4s %2s %4s %02d:%03d:%05d %-4s %c %21.14le +// %11.5le", sst.index, sst.type.c_str(), sst.sitecode.c_str(), +// sst.ptcode.c_str(), sst.solnnum.c_str(), sst.refepoch[0] % 100, +// sst.refepoch[1], sst.refepoch[2], sst.unit.c_str(), +// sst.constraint, sst.estimate, sst.stddev); +// +// out << line << "\n"; +// } +// +// out << "-SOLUTION/ESTIMATE" << "\n"; +// } + +void writeSnxEstimatesFromFilter(ofstream& out, KFState& kfState) +{ + Block block(out, "SOLUTION/ESTIMATE", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& [key, index] : kfState.kfIndexMap) + { + if (key.type != KF::REC_POS && key.type != KF::REC_POS_RATE && key.type != KF::STRAIN_RATE) + { + continue; + } + + string type; + if (key.type == KF::REC_POS) + type = "STA?"; + else if (key.type == KF::REC_POS_RATE) + type = "VEL?"; + else if (key.type == KF::STRAIN_RATE) + type = "VEL?"; // todo? scale is wrong, actually entirely untested + + if (key.num == 0) + type[3] = 'X'; + else if (key.num == 1) + type[3] = 'Y'; + else if (key.num == 2) + type[3] = 'Z'; + + auto& sst = receiverMap[key.str].snx; + + tracepdeex( + 0, + out, + " %5d %-6s %4s %2s %4d %02d:%03d:%05d %-4s %c %21.14le %11.5le\n", + index, + type.c_str(), + key.str.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + 1, + (int)theSinex.solutionenddate[0] % 100, + (int)theSinex.solutionenddate[1], + (int)theSinex.solutionenddate[2], + "m", + '9', // TODO: replace with sst.constraint when fixed + kfState.x(index), + sqrt(kfState.P(index, index)) + ); + } +} + +void writeSnxApriori(ofstream& out, list* pstns = nullptr) +{ + Block block(out, "SOLUTION/APRIORI", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& [index, apriori] : theSinex.apriorimap) + { + SinexSolApriori& sst = apriori; + bool doit = (pstns == nullptr); + + if (pstns) + for (auto& stn : *pstns) { - parseFunction = parseSinexSatAttMode; + if (sst.sitecode.compare(stn.id_ptr->sitecode) == 0) + { + doit = true; + break; + } } - else - { - parseFunction = nullFunction; - BOOST_LOG_TRIVIAL(warning) << "Unknown header line: " << line; - } // Skip unknown sections - // int i; - // failure = read_snx_matrix (filestream, - // NORMAL_EQN, INFORMATION, c); break; case 15: if - // (!theSinex.epochs_have_bias - // && !theSinex.list_solepochs.empty()) - // { - // BOOST_LOG_TRIVIAL(error) - // << "Cannot combine BIAS/EPOCHS and SOLUTION/EPOCHS blocks."; - // - // failure = true; - // break; - // } - // - // theSinex.epochs_have_bias = true; - // theSinex.epochcomments.insert(theSinex.epochcomments.end(), - // comments.begin(), comments.end()); comments.clear(); - // failure = read_snx_epochs(filestream, true); break; - // - // case 16: - // if (theSinex.epochs_have_bias && !theSinex.list_solepochs.empty()) - // { - // BOOST_LOG_TRIVIAL(error) - // << "Cannot combine BIAS/EPOCHS and SOLUTION/EPOCHS blocks."; - // - // failure = true; - // break; - // } - // - // theSinex.epochs_have_bias = false; - // theSinex.epochcomments .insert(theSinex.epochcomments.end(), - // comments.begin(), comments.end()); comments.clear(); - // - // failure = read_snx_epochs(filestream, false); - // break; - // - // case 21: - // theSinex.matrix_comments.insert(theSinex.matrix_comments.end(), - // comments.begin(), comments.end()); comments.clear(); - // c = line[headers[i].length() + 2]; mvs = - // line.substr(headers[i].length() + 4, 4); - // - // if (!mvs.compare("CORR")) mv = CORRELATION; - // else if (!mvs.compare("COVA")) mv = COVARIANCE; - // else if (!mvs.compare("INFO")) mv = INFORMATION; - // - // failure = read_snx_matrix(filestream, ESTIMATE, mv, c); - // break; - // - // case 22: - // theSinex.matrix_comments.insert(theSinex.matrix_comments.end(), - // comments.begin(), comments.end()); comments.clear(); - // c = line[headers[i].length() + 2]; mvs = - // line.substr(headers[i].length() + 4, 4); - // - // if (!mvs.compare("CORR")) mv = CORRELATION; - // else if (!mvs.compare("COVA")) mv = COVARIANCE; - // else if (!mvs.compare("INFO")) mv = INFORMATION; - // - // failure = read_snx_matrix(filestream, APRIORI, mv, c); - // break; - // - // default: - // break; - // } + if (!doit) + continue; + + char line[82]; + + snprintf( + line, + sizeof(line), + " %5d %-6s %4s %2s %4s %02d:%03d:%05d %-4s %c %21.14le %11.5le", + sst.idx, + sst.param_type.c_str(), + sst.sitecode.c_str(), + sst.ptcode.c_str(), + sst.solnnum.c_str(), + (int)sst.epoch[0] % 100, + (int)sst.epoch[1], + (int)sst.epoch[2], + sst.unit.c_str(), + sst.constraint, + sst.param, + sst.stddev + ); + + out << line << "\n"; + } +} + +void writeSnxAprioriFromReceivers(ofstream& out, map& receiverMap) +{ + Block block(out, "SOLUTION/APRIORI", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + int index = 1; + for (auto& [id, rec] : receiverMap) + { + if (rec.invalid) + { + continue; } - else if (line[0] == '%') + + auto& sst = rec.snx; + + for (int i = 0; i < 3; i++) { - trimCut(line); - if (line != "%ENDSNX") - { - // error in file. report it. - BOOST_LOG_TRIVIAL(error) << "Line starting '%' met not final line" << "\n" << line; + string type = "STA?"; + type[3] = 'X' + i; - failure = true; + tracepdeex( + 0, + out, + " %5d %-6s %4s %2d %4s %02d:%03d:%05d %-4s %c %21.14le %11.5le\n", + index, + type.c_str(), + id.c_str(), + sst.id_ptr == nullptr ? "A" : sst.id_ptr->ptcode.c_str(), + 1, // sst.solnnum.c_str(), + (int)rec.aprioriTime[0] % 100, + (int)rec.aprioriTime[1], + (int)rec.aprioriTime[2], + "m", // sst.unit.c_str(), + '3', // sst.constraint, + rec.aprioriPos(i), // sst.param, + rec.aprioriPosVar(i) + ); + + index++; + } + } +} + +void writeSnxNormal(ofstream& out, list* pstns = nullptr) +{ + Block block(out, "SOLUTION/NORMAL_EQUATION_VECTOR", separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + for (auto& sst : theSinex.listnormaleqns) + { + bool doit = (pstns == nullptr); + + if (pstns) + for (auto& stn : *pstns) + { + if (sst.site.compare(stn.id_ptr->sitecode) != 0) + { + doit = true; + break; + } } - break; - } + if (!doit) + continue; - if (failure) - break; + char line[81]; + + snprintf( + line, + sizeof(line), + " %5d %-6s %4s %2s %4s %02d:%03d:%05d %-4s %c %21.15lf", + sst.param, + sst.ptype.c_str(), + sst.site.c_str(), + sst.pt.c_str(), + sst.solnnum.c_str(), + (int)sst.epoch[0] % 100, + (int)sst.epoch[1], + (int)sst.epoch[2], + sst.unit.c_str(), + sst.constraint, + sst.normal + ); + + out << line << "\n"; } +} - theSinex.listsatpcs.sort(compareSatPc); - theSinex.listsateccs.sort(compareSatEcc); - theSinex.listsitedata.sort(compareSiteData); - theSinex.listgpspcs.sort(compareGpsPc); - theSinex.listsatids.sort(compareSatIds); - theSinex.listsatfreqchns.sort(compareFreqChannels); - theSinex.listsatprns.sort(compareSatPrns); - theSinex.listsatcoms.sort(compareSatCom); - theSinex.listgalpcs.sort(compareGalPc); +void writeSnxMatricesFromFilter(ofstream& out, KFState& kfState) +{ + const char* type_strings[MAX_MATRIX_TYPE]; + const char* value_strings[MAX_MATRIX_VALUE]; - // theSinex.matrix_map[type][value].sort(compare_matrix_entries); - dedupeSinex(); + type_strings[ESTIMATE] = "SOLUTION/MATRIX_ESTIMATE"; + type_strings[APRIORI] = "SOLUTION/MATRIX_APRIORI"; + type_strings[NORMAL_EQN] = "SOLUTION/NORMAL_EQUATION_MATRIX"; - return failure == false; + value_strings[CORRELATION] = "CORR"; + value_strings[COVARIANCE] = "COVA"; + value_strings[INFORMATION] = "INFO"; + + // just check we have some values to play with first + if (kfState.P.rows() == 0) + return; + + for (auto& mt : {ESTIMATE}) + for (auto& mv : {COVARIANCE}) + { + // print header + char header[128]; + snprintf( + header, + sizeof(header), + "%s %c %s", + type_strings[mt], + 'L', + mt == NORMAL_EQN ? "" : value_strings[mv] + ); + + Block block(out, header, separator); + + writeAsComments(out, theSinex.blockComments[block.blockName]); + + MatrixXd& P = kfState.P; + + for (int i = 1; i < P.rows(); i++) + for (int j = 1; j <= i;) + { + if (P(i, j) == 0) + { + j++; + continue; + } + + // start printing a line + tracepdeex(0, out, " %5d %5d %21.14le", i, j, P(i, j)); + j++; + + for (int k = 0; k < 2; k++) + { + if ((j > i) || (P(i, j) == 0)) + { + break; + } + + tracepdeex(0, out, " %21.14le", P(i, j)); + j++; + } + + tracepdeex(0, out, "\n"); + } + } } -void writeSinex(string filepath, KFState& kfState, map& receiverMap) +void writeSinex( + string filepath, + KFState& kfState, + map& receiverMap, + UYds soln_start, + UYds soln_end +) { ofstream filestream(filepath); @@ -3517,200 +3871,118 @@ void writeSinex(string filepath, KFState& kfState, map& receiv { writeSnxReference(filestream); } - if (!theSinex.blockComments["FILE/COMMENT"].empty()) + if (!theSinex.fileComments.empty()) { writeSnxComments(filestream); } - if (!theSinex.inputHistory.empty()) - { - writeSnxInputHistory(filestream); - } - if (!theSinex.inputFiles.empty()) - { - writeSnxInputFiles(filestream); - } if (!theSinex.acknowledgements.empty()) { writeSnxAcknowledgements(filestream); } - - if (!theSinex.mapsiteids.empty()) - { - writeSnxSiteids(filestream); - } - // if (!theSinex.listsitedata. empty()) { writeSnxSitedata - //(filestream);} - if (!theSinex.mapreceivers.empty()) - { - writeSnxReceivers(filestream); - } - if (!theSinex.mapantennas.empty()) - { - writeSnxAntennas(filestream); - } - // if (!theSinex.listgpspcs. empty()) { writeSnxGps_pcs - //(filestream);} if (!theSinex.listgalpcs. empty()) { writeSnxGal_pcs - //(filestream);} - if (!theSinex.mapeccentricities.empty()) + if (!theSinex.inputHistory.empty()) { - writeSnxSiteEccs(filestream); + writeSnxInputHistory(filestream); } - if (!theSinex.solEpochMap.empty()) + if (!theSinex.inputFiles.empty()) { - writeSnxEpochs(filestream); + writeSnxInputFiles(filestream); } - // if (!theSinex.liststatistics. empty()) { writeSnxStatistics - //(filestream);} if (!theSinex.estimatesmap. empty()) writeSnxEstimates - //(filestream); - writeSnxEstimatesFromFilter(filestream, kfState); - // if (!theSinex.apriori_map. empty()) { writeSnxApriori - //(filestream);} - writeSnxAprioriFromReceivers(filestream, receiverMap); - // if (!theSinex.list_normal_eqns. empty()) { writeSnxNormal - // (filestream);} + // if (!theSinex.listnutcodes.empty()) + // { + // writeSnxNutCodes(filestream); + // } + // if (!theSinex.listprecessions.empty()) + // { + // writeSnxPreCodes(filestream); + // } + // if (!theSinex.listsourceids.empty()) + // { + // writeSnxSourceIds(filestream); + // } + + { + writeSnxSiteIds(filestream); + } + // if (!theSinex.listsitedata.empty()) + // { + // writeSnxSiteData(filestream); + // } + // if (!theSinex.mapreceivers.empty()) + // { + // writeSnxReceivers(filestream); + // } + { + writeSnxReceiversFromReceivers(filestream, soln_start, soln_end); + } + // if (!theSinex.mapantennas.empty()) + // { + // writeSnxAntennas(filestream); + // } + { + writeSnxAntennasFromReceivers(filestream, soln_start, soln_end); + } + // if (!theSinex.listgpspcs.empty()) + // { + // writeSnxGpsPcs(filestream); + // } + // if (!theSinex.listgalpcs.empty()) + // { + // writeSnxGalPcs(filestream); + // } + // if (!theSinex.mapeccentricities.empty()) + // { + // writeSnxSiteEccs(filestream); + // } + { + writeSnxSiteEccsFromReceivers(filestream, soln_start, soln_end); + } + + // if (!theSinex.listsatids.empty()) + // { + // writeSnxSatIds(filestream); + // } + // if (!theSinex.listsatpcs.empty()) + // { + // writeSnxSatPc(filestream); + // } + + // if (!theSinex.solEpochMap.empty()) + // { + // writeSnxEpochs(filestream); + // } + { + writeSnxEpochsFromReceivers(filestream, soln_start, soln_end); + } + // if (!theSinex.liststatistics.empty()) + // { + // writeSnxStatistics(filestream); + // } + // if (!theSinex.estimatesmap.empty()) + // { + // writeSnxEstimates(filestream); + // } + { + writeSnxEstimatesFromFilter(filestream, kfState); + } + // if (!theSinex.apriorimap.empty()) + // { + // writeSnxApriori(filestream); + // } + { + writeSnxAprioriFromReceivers(filestream, receiverMap); + } + // if (!theSinex.listnormaleqns.empty()) + // { + // writeSnxNormal(filestream); + // } { - // writeSnxMatrices - // (filestream, stationListPointer); writeSnxMatricesFromFilter(filestream, kfState); } - // if (!theSinex.listsourceids. empty()) { writeSnxSourceIds - //(filestream);} if (!theSinex.listnutcodes. empty()) { writeSnxNutCodes - //(filestream);} if (!theSinex.listprecessions. empty()) { writeSnxPreCodes - //(filestream);} - filestream << "%ENDSNX" << "\n"; } -void sinexAddStatistic(const string& what, const int val) -{ - SinexSolStatistic sst; - - sst.name = what; - sst.etype = 0; - sst.value.ival = val; - - theSinex.liststatistics.push_back(sst); -} - -void sinexAddStatistic(const string& what, const double val) -{ - SinexSolStatistic sst; - - sst.name = what; - sst.etype = 1; - sst.value.dval = val; - - theSinex.liststatistics.push_back(sst); -} - -int sinexCheckAddGaReference(string solType, string peaVer, bool isTrop) -{ - // step 1: check it is not already there - for (auto it = theSinex.refstrings.begin(); it != theSinex.refstrings.end(); it++) - { - if (it->find("Geoscience Australia") != string::npos) - { - return 1; - } - } - - // step 2: remove any other provider's details - // NB we do not increment the iterator in the loop because the erase if found will do it for us - for (auto it = theSinex.refstrings.begin(); it != theSinex.refstrings.end();) - { - string line = *it; - - if (line.find("DESCRIPTION") != string::npos || line.find("OUTPUT") != string::npos || - line.find("CONTACT") != string::npos || line.find("SOFTWARE") != string::npos || - line.find("HARDWARE") != string::npos || line.find("INPUT") != string::npos) - { - it = theSinex.refstrings.erase(it); - } - else - { - it++; - } - } - - // step 3: put in the Geoscience reference - char line[81]; - - snprintf(line, sizeof(line), " %-18s %s", "DESCRIPTION", "Geoscience Australia"); - theSinex.refstrings.push_back(line); - snprintf(line, sizeof(line), " %-18s %s", "OUTPUT", solType.c_str()); - theSinex.refstrings.push_back(line); - snprintf(line, sizeof(line), " %-18s %s", "CONTACT", "npi@ga.gov.au"); - theSinex.refstrings.push_back(line); - snprintf(line, sizeof(line), " %-18s %s", "SOFTWARE", ("Ginan PEA Version " + peaVer).c_str()); - theSinex.refstrings.push_back(line); - -#ifndef _WIN32 - struct utsname buf; - int result = uname(&buf); - - if (result == 0) - { - int offset = 0; - - offset += snprintf(line + offset, sizeof(line) - offset, " %-18s ", "HARDWARE"); - - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.sysname); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.release); - offset += snprintf(line + offset, sizeof(line) - offset, "%s ", buf.version); - - theSinex.refstrings.push_back(line); - } -#else - // Windows - provide basic hardware info - snprintf(line, sizeof(line), " %-18s %s", "HARDWARE", "Windows"); - theSinex.refstrings.push_back(line); -#endif - - snprintf(line, sizeof(line), " %-18s %s", "INPUT", "RINEX"); - theSinex.refstrings.push_back(line); - - if (isTrop) - { - snprintf( - line, - sizeof(line), - " %-18s %03d", - "VERSION NUMBER", - 1 - ); // note: increment if the processing is modified in a way that might lead to a different - // error characteristics of the product - see trop snx specs - theSinex.refstrings.push_back(line); - } - return 0; -} - -void sinexAddComment(const string what) -{ - theSinex.blockComments["FILE/COMMENT"].push_back(what); -} - -void sinexAddFiles( - const string& who, - const GTime& time, - const vector& filenames, - const string& description -) -{ - for (auto& filename : filenames) - { - SinexInputFile sif; - - sif.yds = time; - sif.agency = who; - sif.file = filename; - sif.description = description; - - theSinex.inputFiles.push_back(sif); - } -} - void setRestrictiveEndTime(UYds& current, UYds& potential) { UYds zeros; @@ -3724,7 +3996,7 @@ void setRestrictiveEndTime(UYds& current, UYds& potential) { return; } // potential time is zero, thats not restrictive, keep the current time - if (potential == current) + if (potential < current) { current = potential; return; @@ -3765,6 +4037,14 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) { auto& [dummy, receiver] = *timeRecIt; + if ((GTime)receiver.end < time && receiver.end != UYds(0, 0, 0)) + { + BOOST_LOG_TRIVIAL(warning) + << "No valid time period found for Sinex receiver type of " << id + << ", using outdated data with end time " << receiver.end[0] << ":" + << receiver.end[1] << ":" << receiver.end[2]; + } + receiver.used = true; recSnx.rec_ptr = &receiver; @@ -3780,7 +4060,7 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) setRestrictiveEndTime(receiver.end, nextReceiver.start); } - setRestrictiveEndTime(recSnx.start, receiver.end); + setRestrictiveEndTime(recSnx.stop, receiver.end); } } @@ -3799,6 +4079,14 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) { auto& [dummy, antenna] = *antIt2; + if ((GTime)antenna.end < time && antenna.end != UYds(0, 0, 0)) + { + BOOST_LOG_TRIVIAL(warning) + << "No valid time period found for Sinex antenna type of " << id + << ", using outdated data with end time " << antenna.end[0] << ":" + << antenna.end[1] << ":" << antenna.end[2]; + } + found = true; antenna.used = true; @@ -3813,7 +4101,7 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) setRestrictiveEndTime(antenna.end, nextAntenna.start); } - setRestrictiveEndTime(recSnx.start, antenna.end); + setRestrictiveEndTime(recSnx.stop, antenna.end); } } @@ -3832,22 +4120,33 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) { auto& [dummy, ecc] = *eccIt2; - found = true; + if (ecc.rs == "UNE") // Eugene: What if current one is not "UNE", but next one? + { + if ((GTime)ecc.end < time && ecc.end != UYds(0, 0, 0)) + { + BOOST_LOG_TRIVIAL(warning) + << "No valid time period found for Sinex site eccentricity of " << id + << ", using outdated data with end time " << ecc.end[0] << ":" << ecc.end[1] + << ":" << ecc.end[2]; + } + + found = true; - ecc.used = true; + ecc.used = true; - recSnx.ecc_ptr = &ecc; + recSnx.ecc_ptr = &ecc; - // get next next start time as end time for this aspect - if (eccIt2 != theSinex.mapeccentricities[id].begin()) - { - eccIt2--; - auto& [dummy, nextEcc] = *eccIt2; + // get next next start time as end time for this aspect + if (eccIt2 != theSinex.mapeccentricities[id].begin()) + { + eccIt2--; + auto& [dummy, nextEcc] = *eccIt2; - setRestrictiveEndTime(ecc.end, nextEcc.start); - } + setRestrictiveEndTime(ecc.end, nextEcc.start); + } - setRestrictiveEndTime(recSnx.stop, ecc.end); + setRestrictiveEndTime(recSnx.stop, ecc.end); + } } } @@ -3878,65 +4177,305 @@ GetSnxResult getRecSnx(string id, GTime time, SinexRecData& recSnx) found = true; + auto getEstimateValue = [&](const string& type, + double& value, + GTime* refEpoch = nullptr, + double* stddevOut = nullptr, + bool updateStop = true) + { + auto& estMap = theSinex.estimatesMap[id][type]; + + SinexSolEstimate* estimate_ptr = nullptr; + GTime selectedRefEpoch; + + auto est_it = estMap.lower_bound(time); + if (est_it != estMap.end()) + { + estimate_ptr = &est_it->second; + selectedRefEpoch = est_it->first; + + // get next next start time as end time for this aspect + if (updateStop && est_it != estMap.begin()) + { + est_it--; + auto& nextEst = est_it->second; + + setRestrictiveEndTime(recSnx.stop, nextEst.refepoch); + } + } + else + { + // just use the first chronologically, (last when sorted as they are) instead + auto est_Rit = estMap.rbegin(); + if (est_Rit == estMap.rend()) + { + return false; + } + + estimate_ptr = &est_Rit->second; + selectedRefEpoch = est_Rit->first; + } + + estimate_ptr->used = true; + value = estimate_ptr->estimate; + + if (stddevOut) + { + *stddevOut = estimate_ptr->stddev; + } + + if (refEpoch) + { + *refEpoch = selectedRefEpoch; + } + + return true; + }; + + GTime staRefEpochs[3] = {}; + GTime velRefEpochs[3] = {}; + for (string type : {"STA? ", "VEL? "}) for (int i = 0; i < 3; i++) { type[3] = 'X' + i; - auto& estMap = theSinex.estimatesMap[id][type]; + double estimateValue = 0; + GTime refEpoch = {}; + double stddev = 0; - SinexSolEstimate* estimate_ptr = nullptr; + if (getEstimateValue(type, estimateValue, &refEpoch, &stddev) == false) + { + // station coordinates are mandatory, velocity can be absent. + if (type.substr(0, 3) == "STA") + found = false; + break; + } - auto est_it = estMap.lower_bound(time); - GTime refEpoch = {}; - if (est_it != estMap.end()) + if (type.substr(0, 3) == "STA") { - estimate_ptr = &est_it->second; - refEpoch = est_it->first; + recSnx.pos(i) = estimateValue; + recSnx.var(i) = SQR(stddev); + recSnx.refEpoch = refEpoch; + staRefEpochs[i] = refEpoch; + } + else if (type.substr(0, 3) == "VEL") + { + recSnx.vel(i) = estimateValue; + velRefEpochs[i] = refEpoch; + } + } - // get next next start time as end time for this aspect - if (est_it != estMap.begin()) - { - est_it--; - auto& nextEst = est_it->second; + if (recSnx.pos.norm() > 0) + { + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id + << " raw STA (ECEF m) = " << recSnx.pos.transpose() + << " (refEpochs X/Y/Z = " << staRefEpochs[0].to_string() << " / " + << staRefEpochs[1].to_string() << " / " + << staRefEpochs[2].to_string() << ")"; + } - setRestrictiveEndTime(recSnx.stop, nextEst.refepoch); - } + if (recSnx.vel.norm() > 0) + { + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id + << " raw VEL (ECEF m/yr) = " << recSnx.vel.transpose() + << " (refEpochs X/Y/Z = " << velRefEpochs[0].to_string() << " / " + << velRefEpochs[1].to_string() << " / " + << velRefEpochs[2].to_string() << ")"; + } + + double dtYears = (time - recSnx.refEpoch).to_double() / 86400 / 365.25; + VectorEcef velContribution = recSnx.vel * dtYears; // meters per year + recSnx.pos += velContribution; + + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id + << " VEL contribution (ECEF m) = " << velContribution.transpose() + << " (dtYears=" << dtYears << ")"; + + double decYear = time.to_decYear(); + double w1 = PI2 * decYear; + double w2 = 2 * w1; + + VectorEcef posBeforeSeasonal = recSnx.pos; + VectorEcef seasonalEcef; + + for (int i = 0; i < 3; i++) + { + char axis = 'X' + i; + + double a1cos = 0; + double a1sin = 0; + double a2cos = 0; + double a2sin = 0; + + GTime a1cosRef = {}; + GTime a1sinRef = {}; + GTime a2cosRef = {}; + GTime a2sinRef = {}; + + getEstimateValue(string("A1COS") + axis, a1cos, &a1cosRef, nullptr, false); + getEstimateValue(string("A1SIN") + axis, a1sin, &a1sinRef, nullptr, false); + getEstimateValue(string("A2COS") + axis, a2cos, &a2cosRef, nullptr, false); + getEstimateValue(string("A2SIN") + axis, a2sin, &a2sinRef, nullptr, false); + + if (a1cos != 0 || a1sin != 0 || a2cos != 0 || a2sin != 0) + { + BOOST_LOG_TRIVIAL(debug) + << "SINEX: " << id << " raw seasonal axis " << axis << " A1COS=" << a1cos + << " (ref=" << a1cosRef.to_string() << ") A1SIN=" << a1sin + << " (ref=" << a1sinRef.to_string() << ") A2COS=" << a2cos + << " (ref=" << a2cosRef.to_string() << ") A2SIN=" << a2sin + << " (ref=" << a2sinRef.to_string() << ")"; + } + + double seasonal = a1cos * std::cos(w1) + a1sin * std::sin(w1) + a2cos * std::cos(w2) + + a2sin * std::sin(w2); + + recSnx.pos(i) += seasonal; + seasonalEcef(i) = seasonal; + + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id << " COS/SIN contribution axis " << axis + << " (ECEF m) = " << seasonal; + } + + if (seasonalEcef.norm() > 0) + { + VectorPos pos = ecef2pos(posBeforeSeasonal); + VectorEnu seasonalEnu = ecef2enu(pos, seasonalEcef); + + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id + << " COS/SIN contribution (ENU m) = " << seasonalEnu.transpose(); + } + + VectorEnu postSeismicEnu; + + auto accumulatePostSeismic = + [&](const string& amplitudeType, const string& timeType, bool logarithmic) + { + double correction = 0; + + auto& amplitudeMap = theSinex.estimatesMap[id][amplitudeType]; + auto& timeMap = theSinex.estimatesMap[id][timeType]; + + for (auto& [refEpoch, amplitudeEstimate] : amplitudeMap) + { + if (time < refEpoch) + { + continue; } - else + + auto timeIt = timeMap.find(refEpoch); + if (timeIt == timeMap.end()) { - // just use the first chronologically, (last when sorted as they are) instead - auto est_Rit = estMap.rbegin(); - if (est_Rit == estMap.rend()) - { - // actually theres no estimate for this thing - if (type.substr(0, 3) == "STA") - found = false; - break; - } + continue; + } + + auto& timeEstimate = timeIt->second; + if (timeEstimate.estimate <= 0) + { + continue; + } - estimate_ptr = &est_Rit->second; - refEpoch = est_Rit->first; + if (amplitudeEstimate.estimate != 0) + { + BOOST_LOG_TRIVIAL(debug) + << "SINEX: " << id << " raw post-seismic " << (logarithmic ? "LOG" : "EXP") + << " refEpoch=" << refEpoch.to_string() << " amplitude(" << amplitudeType + << ")=" << amplitudeEstimate.estimate << " tau(" << timeType + << ")=" << timeEstimate.estimate; } - auto& estimate = *estimate_ptr; + double dtYears = decYear - refEpoch.to_decYear(); - estimate.used = true; + amplitudeEstimate.used = true; + timeEstimate.used = true; - if (type.substr(0, 3) == "STA") + if (logarithmic) { - recSnx.pos(i) = estimate.estimate; - recSnx.var(i) = SQR(estimate.stddev); - recSnx.refEpoch = refEpoch; + correction += + amplitudeEstimate.estimate * std::log(1 + dtYears / timeEstimate.estimate); } - else if (type.substr(0, 3) == "VEL") + else + { + correction += + amplitudeEstimate.estimate * (1 - std::exp(-dtYears / timeEstimate.estimate)); + } + } + + return correction; + }; + + auto hasEstimates = [&](const string& type) + { + auto siteIt = theSinex.estimatesMap.find(id); + if (siteIt == theSinex.estimatesMap.end()) + { + return false; + } + + auto typeIt = siteIt->second.find(type); + if (typeIt == siteIt->second.end()) + { + return false; + } + + return !typeIt->second.empty(); + }; + + for (char axis : {'N', 'E', 'U'}) + { + double corr = 0; + + string axisStr(1, axis); + bool usedAltAxis = false; + + if (axis == 'U') + { + bool haveU = hasEstimates("AEXP_" + axisStr) || hasEstimates("TEXP_" + axisStr) || + hasEstimates("ALOG_" + axisStr) || hasEstimates("TLOG_" + axisStr); + + if (!haveU) { - recSnx.vel(i) = estimate.estimate; + axisStr = "H"; + usedAltAxis = true; } } - recSnx.pos += - recSnx.vel * (time - recSnx.refEpoch).to_double() / 86400 / 365.25; // meters per year + double expCorr = + accumulatePostSeismic(string("AEXP_") + axisStr, string("TEXP_") + axisStr, false); + double logCorr = + accumulatePostSeismic(string("ALOG_") + axisStr, string("TLOG_") + axisStr, true); + + corr += expCorr + logCorr; + + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id << " post-seismic EXP/LOG contribution axis " + << axis << (usedAltAxis ? " (source H)" : "") + << " (ENU m) = " << expCorr << " / " << logCorr; + + switch (axis) + { + case 'N': + postSeismicEnu.n() = corr; + break; + case 'E': + postSeismicEnu.e() = corr; + break; + case 'U': + postSeismicEnu.u() = corr; + break; + } + } + + if (postSeismicEnu.norm() > 0) + { + VectorPos pos = ecef2pos(recSnx.pos); + VectorEcef postSeismicEcef = enu2ecef(pos, postSeismicEnu); + recSnx.pos += postSeismicEcef; + + BOOST_LOG_TRIVIAL(debug) << "SINEX: " << id + << " post-seismic total (ENU m) = " << postSeismicEnu.transpose() + << ", applied ECEF (m) = " << postSeismicEcef.transpose(); + } if (found == false) { @@ -4049,6 +4588,110 @@ GetSnxResult getSatSnx(string prn, GTime time, SinexSatSnx& satSnx) return result; } +/** Get GLONASS frequency channel from SINEX data + * Returns frequency channel number for a GLONASS satellite at a given time. + * Searches SINEX satellite frequency channel blocks to find the correct channel. + */ +int getGloFreqChannel( + const SatSys& sat, ///< Satellite to query + const GTime& time, ///< Time of observation + Navigation& nav ///< Navigation data to cache result +) +{ + if (sat.sys != E_Sys::GLO) + { + return 0; + } + + // Try to get SVN from nav.svnMap first (populated from SINEX SATELLITE/PRN block) + string svn; + auto it = nav.svnMap[sat].lower_bound(time); + if (it != nav.svnMap[sat].end()) + { + svn = it->second; + } + + // Fallback to satDataMap if svnMap lookup failed + if (svn.empty()) + { + svn = sat.svn(); + } + + BOOST_LOG_TRIVIAL(debug) << "SINEX: Querying frequency channel for " << sat.id() << " at time " + << time.to_string() << " (SVN=" << svn << ")"; + + if (svn.empty()) + { + BOOST_LOG_TRIVIAL(info) << "SINEX: No SVN available for " << sat.id() << " at time " + << time.to_string(); + return 0; + } + + // Find frequency channel for this SVN at this time + for (auto& sfc : theSinex.listsatfreqchns) + { + if (sfc.svn != svn) + continue; + + GTime startTime = sfc.start; + GTime stopTime = sfc.stop; + + // Check if stop time is 0000:000:00000 (means ongoing/no end date) + bool isOngoing = (sfc.stop[0] == 0 && sfc.stop[1] == 0 && sfc.stop[2] == 0); + + // Time must be after start, and either before stop or stop is ongoing + if (time >= startTime && (isOngoing || time <= stopTime)) + { + nav.gloFreqMap[sat] = sfc.channel; + + BOOST_LOG_TRIVIAL(debug) + << "SINEX: Found frequency channel " << sfc.channel << " for " << sat.id() + << " (SVN=" << svn << ") at time " << time.to_string(); + + return sfc.channel; + } + } + + BOOST_LOG_TRIVIAL(debug) << "SINEX: Could not find frequency channel for " << sat.id() + << " (SVN=" << svn << ") at time " << time.to_string(); + + return 0; +} + +/** Get yaw rate sinex entry for sat + */ +bool getSnxSatMaxYawRate(string svn, GTime& time, double& maxYawRate) +{ + auto itr = theSinex.satYawRateMap[svn].lower_bound(time); + if (itr == theSinex.satYawRateMap[svn].end()) + return false; + + auto& [dummy, entry] = *itr; + maxYawRate = entry.maxYawRate; + + return true; +} + +/** Get attitude mode for sat + */ +bool getSnxSatAttMode(string svn, GTime& time, string& attMode) +{ + auto itr = theSinex.satAttModeMap[svn].lower_bound(time); + if (itr == theSinex.satAttModeMap[svn].end()) + return false; + + auto& [dummy, entry] = *itr; + attMode = entry.attMode; + GTime stop = entry.stop; + + if (stop != GTime::noTime() && stop < time) + { + return false; + } + + return true; +} + void getSlrRecBias(string id, string prn, GTime time, map& recBias) { string ptcode; @@ -4158,37 +4801,3 @@ void getSlrRecBias(string id, string prn, GTime time, map& recBias continue; } } - -/** Get yaw rate sinex entry for sat - */ -bool getSnxSatMaxYawRate(string svn, GTime& time, double& maxYawRate) -{ - auto itr = theSinex.satYawRateMap[svn].lower_bound(time); - if (itr == theSinex.satYawRateMap[svn].end()) - return false; - - auto& [dummy, entry] = *itr; - maxYawRate = entry.maxYawRate; - - return true; -} - -/** Get attitude mode for sat - */ -bool getSnxSatAttMode(string svn, GTime& time, string& attMode) -{ - auto itr = theSinex.satAttModeMap[svn].lower_bound(time); - if (itr == theSinex.satAttModeMap[svn].end()) - return false; - - auto& [dummy, entry] = *itr; - attMode = entry.attMode; - GTime stop = entry.stop; - - if (stop != GTime::noTime() && stop < time) - { - return false; - } - - return true; -} diff --git a/src/cpp/common/sinex.hpp b/src/cpp/common/sinex.hpp index 65b9c6145..77ca1dcd3 100644 --- a/src/cpp/common/sinex.hpp +++ b/src/cpp/common/sinex.hpp @@ -19,12 +19,11 @@ using std::vector; struct SatSys; struct Navigation; -//=============================================================================== /* history structure (optional but recommended) * ------------------------------------------------------------------------------ +INPUT/HISTORY *CSNX FMT_ AGC EPOCH_______ AGD START_______ STOP________ T EST__ C A B C D E F -+SNX 1.23 XXX YR:DOY:SOD.. YYY YR:DOY:SOD YR:DOY:SOD C 01234 D S O E T C A + +SNX 1.23 XXX YR:DOY:SOD.. YYY YR:DOY:SOD YR:DOY:SOD C 01234 D S O E T C A */ struct SinexInputHistory { @@ -111,18 +110,18 @@ struct SinexSourceId */ struct SinexSiteId { - string sitecode; // station (4) - string ptcode; // physical monument used at the site (2) - char typecode; // observation technique {C,D,L,M,P,or R} - string domes; // domes number unique monument num (9) - string desc; // site description eg town/city (22) - int lon_deg; // longitude degrees (uint16_t) east is positive - int lon_min; // - double lon_sec; // - int lat_deg; // latitude degrees north is positive - int lat_min; // uint8_t - double lat_sec; // float - double height; // + string sitecode; // station (4) + string ptcode = "A"; // physical monument used at the site (2) + char typecode = 'P'; // observation technique {C,D,L,M,P,or R} + string domes = " M "; // domes number unique monument num (9) + string desc; // site description eg town/city (22) + int lon_deg; // longitude degrees (uint16_t) east is positive + int lon_min; // + double lon_sec; // + int lat_deg; // latitude degrees north is positive + int lat_min; // uint8_t + double lat_sec; // float + double height; // bool used = false; }; @@ -133,13 +132,13 @@ struct SinexSiteId */ struct SinexSiteData { - string site; // 4 call sign for solved parameters - string station_pt; // 2 physical - string soln_id; // 4 solution number to which this input is referred to (int?) - string sitecode; // 4 call sign from input sinex file - string site_pt; // 2 physical from above - string sitesoln; // 4 solution number for site/pt from input sinex file - char obscode; // + string site; // 4 call sign for solved parameters + string station_pt = "A"; // 2 physical + string soln_id = "----"; // 4 solution number to which this input is referred to (int?) + string sitecode; // 4 call sign from input sinex file + string site_pt = "A"; // 2 physical from above + string sitesoln = "----"; // 4 solution number for site/pt from input sinex file + char obscode = 'P'; // UYds start; UYds stop; string agency; // 3 - code agency of creation @@ -154,15 +153,15 @@ struct SinexSiteData */ struct SinexReceiver { - string sitecode; // station (4) - string ptcode; // physical monument used at the site (2) - string solnid; // solution number (4) or '----' - char typecode; - UYds start; // receiver start time - UYds end; // receiver end time - string type; // receiver type (20) - string sn; // receiver serial number (5) - string firm; // receiver firmware (11) + string sitecode; // station (4) + string ptcode = "A"; // physical monument used at the site (2) + string solnid = "----"; // solution number (4) or '----' + char typecode = 'P'; + UYds start; // receiver start time + UYds end; // receiver end time + string type; // receiver type (20) + string sn = "-----"; // receiver serial number (5) + string firm = "-----------"; // receiver firmware (11) bool used = false; }; @@ -175,14 +174,14 @@ struct SinexReceiver struct SinexAntenna { string sitecode; - string ptcode; // physical monument used at the site (2) - string solnnum; - string calibModel; - char typecode; - UYds start; /* antenna start time */ - UYds end; /* antenna end time */ - string type; /* receiver type (20)*/ - string sn; /* receiver serial number (5)*/ + string ptcode = "A"; // physical monument used at the site (2) + string solnnum = "----"; + string calibModel = "-----"; + char typecode = 'P'; + UYds start; /* antenna start time */ + UYds end; /* antenna end time */ + string type; /* receiver type (20)*/ + string sn = "-----"; /* receiver serial number (5)*/ bool used = false; }; @@ -192,11 +191,11 @@ struct SinexAntenna */ struct SinexGpsPhaseCenter { - string antname; // 20 name and model - string serialno; // 5 - Vector3d L1; // UNE d6.4*3 - Vector3d L2; // UNE d6.4*3 - string calib; // 10 calibration model + string antname; // 20 name and model + string serialno = "-----"; // 5 + Vector3d L1; // UNE d6.4*3 + Vector3d L2; // UNE d6.4*3 + string calib = "----------"; // 10 calibration model }; /* gal phase centre block structure (mandatory for Gallileo) @@ -208,14 +207,14 @@ struct SinexGpsPhaseCenter */ struct SinexGalPhaseCenter { - string antname; // 20 name and model - string serialno; // 5 - Vector3d L1; // UNE d6.4*3 - Vector3d L5; // UNE d6.4*3 - Vector3d L6; // UNE d6.4*3 - Vector3d L7; // UNE d6.4*3 - Vector3d L8; // UNE d6.4*3 - string calib; // 10 calibration model + string antname; // 20 name and model + string serialno = "-----"; // 5 + Vector3d L1; // UNE d6.4*3 + Vector3d L5; // UNE d6.4*3 + Vector3d L6; // UNE d6.4*3 + Vector3d L7; // UNE d6.4*3 + Vector3d L8; // UNE d6.4*3 + string calib = "----------"; // 10 calibration model }; /* @@ -225,180 +224,17 @@ struct SinexGalPhaseCenter */ struct SinexSiteEcc { - string sitecode; // 4 - string ptcode; // 2 - physical monument used at the site - string solnnum; - char typecode; - UYds start; /* ecc start time */ - UYds end; /* ecc end time */ - string rs; /* 3 - reference system UNE (0) or XYZ (1) */ - VectorEnu ecc; /* eccentricity UNE or XYZ (m) d8.4*3 */ + string sitecode; // 4 + string ptcode = "A"; // 2 - physical monument used at the site + string solnnum = "----"; + char typecode = 'P'; + UYds start; /* ecc start time */ + UYds end; /* ecc end time */ + string rs = "UNE"; /* 3 - reference system UNE (0) or XYZ (1) */ + VectorEnu ecc; /* eccentricity UNE or XYZ (m) d8.4*3 */ bool used = false; }; -/* -+SOLUTION/EPOCHS (mandatory) *OR* -+BIAS/EPOCHS (mandatory when biases are included) -*CODE PT SOLN T _DATA_START_ __DATA_END__ _MEAN_EPOCH_ - ALBH A 1 C 94:002:00000 94:104:00000 94:053:00000 -*/ -struct SinexSolEpoch -{ - string sitecode; // 4 - string ptcode; // 2 - physical monument used at the site - string solnnum; - char typecode; - UYds start; - UYds end; - UYds mean; -}; - -/* -+SOLUTION/STATISTICS -*STAT_NAME (30 chars) value (22char double) -*/ -struct SinexSolStatistic -{ - string name; - short etype; // 0 = int, 1 = double - union - { - int ival; - double dval; - } value; -}; - -/* -+SOLUTION/ESTIMATE -*INDEX _TYPE_ CODE PT SOLN _REF_EPOCH__ UNIT S ___ESTIMATED_VALUE___ __STD_DEV__ - 1 STAX ALBH A 1 10:001:00000 m 2 -2.34133301687257e+06 5.58270e-04 - 2 STAY ALBH A 1 10:001:00000 m 2 -3.53904951624333e+06 7.77370e-04 - 3 STAZ ALBH A 1 10:001:00000 m 2 4.74579129951391e+06 8.98560e-04 - 4 VELX ALBH A 1 10:001:00000 m/y 2 -9.92019926884722e-03 1.67050e-05 - 5 VELY ALBH A 1 10:001:00000 m/y 2 -8.46787398931193e-04 2.12080e-05 - 6 VELZ ALBH A 1 10:001:00000 m/y 2 -4.85721729753769e-03 2.39140e-05 -*/ -struct SinexSolEstimate -{ - int index; - string type; // 6 - string sitecode; // 4 - string ptcode; // 2 - physical monument used at the site - string solnnum; - UYds refepoch; - string unit; // 4 - char constraint; - double estimate; - double stddev; - string file; - - bool used = false; -}; - -/* -+SOLUTION/APRIORI -*INDEX PARAMT SITE PT SOLN EPOCH_____ UNIT C PARAM________________ STD_DEV____ - 12345 AAAAAA XXXX YY NNNN YR:DOY:SOD UUUU A 12345.123456789ABCDEF 1234.123456 -*/ -struct SinexSolApriori -{ - int idx; - string param_type; // 6 - select from - string sitecode; // 4 - string ptcode; // 2 - string solnnum; - UYds epoch; - string unit; // 4 - select from - char constraint; // for inner constraints, choose 1 - double param; // d21.15 apriori parameter - double stddev; // std deviation of parameter -}; - -/* -+SOLUTION/NORMAL_EQUATION_VECTOR -*PARAM PTYPE_ SITE PT SOLN EPOCH_____ UNIT C NORMAL______________ - 12345 AAAAAA XXXX YY NNNN YR:DOY:SOD UUUU A 12345.123456789ABCDEF -*/ -struct SinexSolNeq -{ - int param; // 5 index of estimated parameters - string ptype; // 6 - type of parameter - string site; // 4 - station - string pt; // 2 - point code - string solnnum; // 4 solution number - UYds epoch; - string unit; // 4 - char constraint; // - double normal; // right hand side of normal equation -}; - -/* -+SOLUTION/MATRIX_ESTIMATE C TYPE (mandatory) -+SOLUTION/MATRIX_APRIORI C TYPE (recommended) -+SOLUTION/MATRIX_NORMAL_EQUATION C (mandatory for normal equations) -* (Not used until I understand it better) -* C must be L or U (matrix is always symmetric about main diagonal) -* TYPE must be one of CORR/COVA/INFO for correlation, covariance and info (covariance inverse) -* APRIORI VALUES are 21.16lf, estimates and normal_equations are 21.14lf! -*ROW__ COL__ ELEM1________________ ELEM2________________ ELEM3________________ -*/ -struct SinexSolMatrix -{ - int row; // 5 - must match the solution/estimate row - int col; // 5 - must match the solution/estimate col - int numvals; - double value[3]; // each d21.14 cols col, col+1, col+2 of the row -}; - -//============================================================================= -/* -+SOLUTION/DATA_HANDLING -*CODE PT UNIT T _DATA_START_ __DATA_END__ M __E-VALUE___ STD_DEV _E-RATE__ CMNTS - 7090 -- ms A 09:344:31560 09:345:70200 T 0.90920 - 7840 -- % A 95:358:00000 95:358:86400 H -20.00 HER - 7080 -- mB A 95:065:00000 96:026:00000 P -2.10 - 1873 -- mm A 95:001:00000 00:001:00000 R -270.00 -*/ -//============================================================================= -struct SinexDataHandling -{ - string sitecode; // 4 - CDP ID - string ptcode; // 2 - satellites these biases apply to (-- = all) - string solnnum; // 4 - solution number - string t; // 1 - UYds epochstart; // yr:doy:sod - UYds epochend; // yr:doy:sod - string m; // 1 - double estimate; - double stddev; - double estrate; - string unit; // 4 - units of estimate - string comments; // 4 -}; - -typedef enum -{ - ESTIMATE, - APRIORI, - NORMAL_EQN, - MAX_MATRIX_TYPE -} matrix_type; - -typedef enum -{ - CORRELATION, - COVARIANCE, - INFORMATION, - MAX_MATRIX_VALUE -} matrix_value; - -typedef enum -{ - P_ANT, // P: antenna //todo: check the meaning of 'P' - L_LRA // L: laser retroreflector array -} E_EccType; - -//============================================================================= // TODO: satid and satident/satprn need to be checked for consistency ... /* +SATELLITE/ID (recommmended for GNSS) @@ -418,6 +254,23 @@ struct SinexSatId string antRcvType; // 20 - satellite antenna receiver type }; +/* ++SATELLITE/PHASE_CENTER +*NB Can have more than one line if satellite transmits on more than 2 frequencies +*SVN_ C ZZZZZZ XXXXXX YYYYYY C ZZZZZZ XXXXXX YYYYYY ANTENNA___ T M +*/ +struct SinexSatPc +{ + string svn; // 4 + char freq; // 1/2/5 for GPS & GLONASS, 1/5/6/7/8 for Gallileo + Vector3d zxy; // metres offset from COM in the order given 3* d6.4 + char freq2; // as above + Vector3d zxy2; // as above + string antenna; // 10 - model of antenna + char type; // Phase Center Variation A(bsolute)/R(elative) + char model; // F(ull)/E(levation model only) +}; + /* +SATELLITE/IDENTIFIER *SVN_ COSPAR_ID SatCat Block__________ Comment__________________________________ @@ -460,6 +313,21 @@ struct SinexSatFreqChn string comment; // 40? }; +/* ++SATELLITE/PLANE +*SVN_ Valid_From____ Valid_To______ P Slot__ Comment____________________________ + G032 2000:028:00000 2004:181:00000 6 F4 [PL05] +*/ +struct SinexSatPlane +{ + string svn; // 4 + UYds start; // yr:doy:sod + UYds stop; // yr:doy:sod + char plane; // orbital plane + string slot; // 6 + string comment; // 35 +}; + /* +SATELLITE/MASS *SVN_ Valid_From____ Valid_To______ Mass_[kg] Comment___________________________ @@ -516,23 +384,6 @@ struct SinexSatPower string comment; // 40 }; -/* -+SATELLITE/PHASE_CENTER -*NB Can have more than one line if satellite transmits on more than 2 frequencies -*SVN_ C ZZZZZZ XXXXXX YYYYYY C ZZZZZZ XXXXXX YYYYYY ANTENNA___ T M -*/ -struct SinexSatPc -{ - string svn; // 4 - char freq; // 1/2/5 for GPS & GLONASS, 1/5/6/7/8 for Gallileo - Vector3d zxy; // metres offset from COM in the order given 3* d6.4 - char freq2; // as above - Vector3d zxy2; // as above - string antenna; // 10 - model of antenna - char type; // Phase Center Variation A(bsolute)/R(elative) - char model; // F(ull)/E(levation model only) -}; - /* +SATELLITE/YAW_BIAS_RATE *SVN_ Valid_From____ Valid_To______ YB Yaw Rate Comment________________________________ @@ -562,6 +413,144 @@ struct SinexSatAttMode string attMode; ///< attitude mode }; +/* ++SOLUTION/EPOCHS (mandatory) *OR* ++BIAS/EPOCHS (mandatory when biases are included) +*CODE PT SOLN T _DATA_START_ __DATA_END__ _MEAN_EPOCH_ + ALBH A 1 C 94:002:00000 94:104:00000 94:053:00000 +*/ +struct SinexSolEpoch +{ + string sitecode; // 4 + string ptcode = "A"; // 2 - physical monument used at the site + string solnnum = "1"; + char typecode = 'P'; + UYds start; + UYds end; + UYds mean; +}; + +/* ++SOLUTION/STATISTICS +*STAT_NAME (30 chars) value (22char double) +*/ +struct SinexSolStatistic +{ + string name; + short etype; // 0 = int, 1 = double + union + { + int ival; + double dval; + } value; +}; + +/* ++SOLUTION/ESTIMATE +*INDEX _TYPE_ CODE PT SOLN _REF_EPOCH__ UNIT S ___ESTIMATED_VALUE___ __STD_DEV__ + 1 STAX ALBH A 1 10:001:00000 m 2 -2.34133301687257e+06 5.58270e-04 + 2 STAY ALBH A 1 10:001:00000 m 2 -3.53904951624333e+06 7.77370e-04 + 3 STAZ ALBH A 1 10:001:00000 m 2 4.74579129951391e+06 8.98560e-04 + 4 VELX ALBH A 1 10:001:00000 m/y 2 -9.92019926884722e-03 1.67050e-05 + 5 VELY ALBH A 1 10:001:00000 m/y 2 -8.46787398931193e-04 2.12080e-05 + 6 VELZ ALBH A 1 10:001:00000 m/y 2 -4.85721729753769e-03 2.39140e-05 +*/ +struct SinexSolEstimate +{ + int index; + string type; // 6 + string sitecode; // 4 + string ptcode = "A"; // 2 - physical monument used at the site + string solnnum = "1"; + UYds refepoch; + string unit; // 4 + char constraint; + double estimate; + double stddev; + string file; + + bool used = false; +}; + +/* ++SOLUTION/APRIORI +*INDEX PARAMT SITE PT SOLN EPOCH_____ UNIT C PARAM________________ STD_DEV____ + 12345 AAAAAA XXXX YY NNNN YR:DOY:SOD UUUU A 12345.123456789ABCDEF 1234.123456 +*/ +struct SinexSolApriori +{ + int idx; + string param_type; // 6 - select from + string sitecode; // 4 + string ptcode = "A"; // 2 + string solnnum = "1"; + UYds epoch; + string unit; // 4 - select from + char constraint; // for inner constraints, choose 1 + double param; // d21.15 apriori parameter + double stddev; // std deviation of parameter +}; + +/* ++SOLUTION/NORMAL_EQUATION_VECTOR +*PARAM PTYPE_ SITE PT SOLN EPOCH_____ UNIT C NORMAL______________ + 12345 AAAAAA XXXX YY NNNN YR:DOY:SOD UUUU A 12345.123456789ABCDEF +*/ +struct SinexSolNeq +{ + int param; // 5 index of estimated parameters + string ptype; // 6 - type of parameter + string site; // 4 - station + string pt = "A"; // 2 - point code + string solnnum = "1"; // 4 solution number + UYds epoch; + string unit; // 4 + char constraint; // + double normal; // right hand side of normal equation +}; + +/* ++SOLUTION/MATRIX_ESTIMATE C TYPE (mandatory) ++SOLUTION/MATRIX_APRIORI C TYPE (recommended) ++SOLUTION/MATRIX_NORMAL_EQUATION C (mandatory for normal equations) +* (Not used until I understand it better) +* C must be L or U (matrix is always symmetric about main diagonal) +* TYPE must be one of CORR/COVA/INFO for correlation, covariance and info (covariance inverse) +* APRIORI VALUES are 21.16lf, estimates and normal_equations are 21.14lf! +*ROW__ COL__ ELEM1________________ ELEM2________________ ELEM3________________ +*/ +struct SinexSolMatrix +{ + int row; // 5 - must match the solution/estimate row + int col; // 5 - must match the solution/estimate col + int numvals; + double value[3]; // each d21.14 cols col, col+1, col+2 of the row +}; + +/* ++SOLUTION/DATA_HANDLING +*CODE PT UNIT T _DATA_START_ __DATA_END__ M __E-VALUE___ STD_DEV _E-RATE__ CMNTS + 7090 -- ms A 09:344:31560 09:345:70200 T 0.90920 + 7840 -- % A 95:358:00000 95:358:86400 H -20.00 HER + 7080 -- mB A 95:065:00000 96:026:00000 P -2.10 + 1873 -- mm A 95:001:00000 00:001:00000 R -270.00 +*/ +struct SinexDataHandling +{ + string sitecode; // 4 - CDP ID + string ptcode = "--"; // 2 - satellites these biases apply to (-- = all) + string solnnum = "1"; // 4 - solution number + string t; // 1 + UYds epochstart; // yr:doy:sod + UYds epochend; // yr:doy:sod + string m; // 1 + double estimate; + double stddev; + double estrate; + string unit; // 4 - units of estimate + string comments; // 4 +}; + /* +TROP/DESCRIPTION *_________KEYWORD_____________ __VALUE(S)_______________________________________ @@ -605,38 +594,61 @@ struct Sinex string currentFile; /* header block */ - string snxtype; /* SINEX file type */ + // string snxtype; /* SINEX file type */ double ver; /* version */ string createagc; /* file creation agency */ UYds filedate; /* file create date as yr:doy:sod */ string dataagc; /* data source agency */ UYds solutionstartdate; // start date of solution - UYds solutionenddate; + UYds solutionenddate; // end date of solution char obsCode; /* observation code */ int numparam; /* number of estimated parameters */ char constCode; /* constraint code */ string solcont; /* solution types S O E T C A */ - string markerName; + string markerName; // marker name for Troposphere Sinex map> blockComments; - list refstrings; - list inputHistory; - list inputFiles; - list acknowledgements; + + /* file stuff */ + list refstrings; + list fileComments; + + /* input stuff */ + list inputHistory; + list inputFiles; + list acknowledgements; + + /* VLBI stuff - ignored for now */ + list listnutcodes; + list listprecessions; + list listsourceids; /* site stuff */ map mapsiteids; list listsitedata; map>> mapreceivers; map>> mapantennas; - map>> mapeccentricities; list listgpspcs; list listgalpcs; + map>> mapeccentricities; + + /* satellite stuff */ + list listsatids; + list listsatpcs; + map satIdentityMap; + list listsatprns; + list listsatfreqchns; + map>> satPlaneMap; + map> mapsatmasses; + list listsatcoms; + list listsateccs; + map> mapsatpowers; + map>> satYawRateMap; + map>> satAttModeMap; /* solution stuff - tied to sites */ - bool epochshavebias; - map solEpochMap; - // list list_solepochs; + bool epochshavebias; + map solEpochMap; list liststatistics; map>>> estimatesMap; map apriorimap; @@ -645,49 +657,84 @@ struct Sinex map>>>> mapdatahandling; - /* satellite stuff */ - list listsatpcs; - list listsatids; - map satIdentityMap; - - map> mapsatmasses; - map> mapsatpowers; - - list listsatprns; - list listsatfreqchns; - list listsatcoms; - list listsateccs; - - map>> satYawRateMap; - map>> satAttModeMap; - - /* VLBI - ignored for now */ - list listsourceids; - list listnutcodes; - list listprecessions; + // Troposphere Sinex data + SinexTropDesc tropDesc = {}; + map tropSiteCoordBodyFPosMap; + map tropSiteCoordMapMap; // indexed by station ID, then axis # + map tropSolFootFPosMap; + list tropSolList; // constructor Sinex(bool epochshavebias = false) : epochshavebias(epochshavebias) { }; - - // Troposphere Sinex data - map tropSiteCoordBodyFPosMap; - map tropSolFootFPosMap; - SinexTropDesc tropDesc = {}; - map tropSiteCoordMapMap; // indexed by station ID, then axis # - list tropSolList; }; -struct Sinex_stn_soln -{ - string type; /* parameter type */ - string unit; /* parameter units */ - double pos = 0; /* real position (ecef) (m)*/ - double pstd = 0; /* position std (m) */ - UYds yds; /* epoch when valid */ -}; +extern Sinex theSinex; // the one and only sinex object. + +// struct Sinex_stn_soln +// { +// string type; /* parameter type */ +// string unit; /* parameter units */ +// double pos = 0; /* real position (ecef) (m)*/ +// double pstd = 0; /* position std (m) */ +// UYds yds; /* epoch when valid */ +// }; + +void nearestYear(double& year); + +bool readSinex(const string& filepath); + +void updateSinexHeader( + string& create_agc, + string& data_agc, /* satellite meta data */ + UYds soln_start, + UYds soln_end, + const char obsCode, + const char constCode, + string& contents, + int numParam, + double sinexVer +); + +int sinexCheckAddGaReference(string solType, string peaVer, bool isTrop); +void sinexAddComment(const string what); +void sinexAddFiles( + const string& who, + const GTime& when, + const vector& filenames, + const string& description +); +// void sinexAddAcknowledgement(const string& who, const string& description); +void sinexAddStatistic(const string& what, const int value); +void sinexAddStatistic(const string& what, const double value); + +// snx.cpp fns used in tropSinex.cpp +void writeAsComments(Trace& out, list& comments); +void writeSnxReference(std::ofstream& out); + +struct KFState; +struct Receiver; + +void writeSinex( + string filepath, + KFState& kfState, + map& receiverMap, + UYds soln_start, + UYds soln_end +); + +// Trop sinex +void outputTropSinex( + string filename, + GTime time, + KFState& netKfState, + string markerName = "MIX", + bool isSmoothed = false +); + +struct SinexRecData; extern SinexSatIdentity dummySinexSatIdentity; extern SinexSatEcc dummySinexSatEcc; @@ -695,14 +742,8 @@ extern SinexSatEcc dummySinexSatEcc; /* satellite meta data */ struct SinexSatSnx { - string svn; - string prn; - SinexSatIdentity* id_ptr = &dummySinexSatIdentity; - SinexSatEcc* ecc_ptrs[2] = {&dummySinexSatEcc, &dummySinexSatEcc}; - double mass; /* kg */ - int channel; /* GLONASS ONLY */ - Vector3d com; /* centre of mass offsets (m) */ - int power; /* Tx Power (watts); */ + SinexSatIdentity* id_ptr = + &dummySinexSatIdentity; // Eugene: should be initialised with nullptr? string antenna; int numfreqs; /* number of phase center frequencies */ @@ -711,21 +752,18 @@ struct SinexSatSnx char pctype; char pcmodel; + string svn; + string prn; + int channel; /* GLONASS ONLY */ + double mass; /* kg */ + Vector3d com; /* centre of mass offsets (m) */ + SinexSatEcc* ecc_ptrs[2] = {&dummySinexSatEcc, &dummySinexSatEcc}; + int power; /* Tx Power (watts); */ + UYds start; UYds stop; }; -void nearestYear(double& year); - -bool readSinex(const string& filepath); - -struct KFState; -struct Receiver; - -void writeSinex(string filepath, KFState& kfState, map& receiverMap); - -struct SinexRecData; - union GetSnxResult { const unsigned int failure = 0; @@ -745,57 +783,12 @@ union GetSnxResult GetSnxResult getRecSnx(string id, GTime time, SinexRecData& snx); GetSnxResult getSatSnx(string prn, GTime time, SinexSatSnx& snx); -void getSlrRecBias(string id, string prn, GTime time, map& recBias); int getGloFreqChannel(const SatSys& sat, const GTime& time, Navigation& nav); - -void sinexAddStatistic(const string& what, const int value); -void sinexAddStatistic(const string& what, const double value); -int sinexCheckAddGaReference(string solType, string peaVer, bool isTrop); -void sinexAddAcknowledgement(const string& who, const string& description); -void sinexAddComment(const string what); -void sinexAddFiles( - const string& who, - const GTime& when, - const vector& filenames, - const string& description -); - -void updateSinexHeader( - string& create_agc, - string& data_agc, /* satellite meta data */ - UYds soln_start, - UYds soln_end, - const char obsCode, - const char constCode, - string& contents, - int numParam, - double sinexVer -); +bool getSnxSatMaxYawRate(string prn, GTime& time, double& maxYawRate); +bool getSnxSatAttMode(string svn, GTime& time, string& attMode); +// bool getSnxSatBlockType(string svn, string& blockType); +void getSlrRecBias(string id, string prn, GTime time, map& recBias); void sinexPostProcessing(GTime time, map& receiverMap, KFState& netKFState); - +void updateReceiverMetadata(GTime time, Receiver& rec); void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec); - -// Trop sinex -void outputTropSinex( - string filename, - GTime time, - KFState& netKfState, - string markerName = "MIX", - bool isSmoothed = false -); - -// snx.cpp fns used in tropSinex.cpp -void writeAsComments(Trace& out, list& comments); - -void writeSnxReference(std::ofstream& out); - -bool getSnxSatMaxYawRate(string prn, GTime& time, double& maxYawRate); - -bool getSnxSatBlockType(string svn, string& blockType); - -bool getSnxSatAttMode(string svn, GTime& time, string& attMode); - -extern Sinex theSinex; // the one and only sinex object. - -void getReceiversFromSinex(map& receiverMap, KFState& kfState); diff --git a/src/cpp/common/sp3Write.cpp b/src/cpp/common/sp3Write.cpp index 2e9c99ffe..8453be38d 100644 --- a/src/cpp/common/sp3Write.cpp +++ b/src/cpp/common/sp3Write.cpp @@ -282,7 +282,7 @@ void updateSp3Body( { writeSp3Header(sp3Stream, entryList, time, outSys, sp3FileData); } - else // todo Eugene: update accuracy sigmas as well + else // todo? update accuracy sigmas as well { sp3FileData.numEpoch++; diff --git a/src/cpp/common/streamCustom.cpp b/src/cpp/common/streamCustom.cpp index 1d3e5da73..e525b26b1 100644 --- a/src/cpp/common/streamCustom.cpp +++ b/src/cpp/common/streamCustom.cpp @@ -63,7 +63,7 @@ void CustomParser::parse(std::istream& inputStream) inputStream.read((char*)&crcRead, 2); CLEAN_UP_AND_RETURN_ON_FAILURE; - // todo aaron calculate crcRead + // todo? calculate crcRead if (0) { checksumFailure(); diff --git a/src/cpp/common/streamFile.hpp b/src/cpp/common/streamFile.hpp index ac4585eb4..6741e309b 100644 --- a/src/cpp/common/streamFile.hpp +++ b/src/cpp/common/streamFile.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -9,43 +10,54 @@ using std::make_unique; using std::string; using std::unique_ptr; -struct FileState : std::ifstream +struct FileState : std::istream { - long int& filePos; - - FileState(string path, long int& filePos, std::ifstream::openmode mode = std::ifstream::in | std::ios::binary) - : filePos{filePos} + std::ifstream& persistentStream; + long int& filePos; + + FileState( + std::ifstream& persistentStream, + const string& path, + long int& filePos, + std::ifstream::openmode mode = std::ifstream::in | std::ios::binary + ) + : std::istream(nullptr), persistentStream{persistentStream}, filePos{filePos} { + this->persistentStream.clear(); + if (filePos < 0) { - // BOOST_LOG_TRIVIAL(error) << "Error seeking to negative position in file at " - // << path << " to " - // << filePos; - close(); + this->persistentStream.setstate(std::ios::failbit); + setstate(std::ios::failbit); return; } - open(path, mode); - - if (!*this) + if (this->persistentStream.is_open() == false) { - BOOST_LOG_TRIVIAL(error) << "Error opening file at " << path << "\n" - << " - " << strerror(errno); - filePos = -1; - return; + this->persistentStream.open(path, mode); + + if (!this->persistentStream) + { + BOOST_LOG_TRIVIAL(error) << "Error opening file at " << path; + filePos = -1; + setstate(std::ios::failbit); + return; + } } - seekg(filePos); + this->persistentStream.seekg(filePos); - if (!*this) + if (!this->persistentStream) { - BOOST_LOG_TRIVIAL(error) - << "Error seeking in file at " << filePos << " in " << path << "\n" - << " - " << strerror(errno); + BOOST_LOG_TRIVIAL(error) << "Error seeking in file at " << filePos << " in " << path; filePos = -1; + setstate(std::ios::failbit); return; } + + rdbuf(this->persistentStream.rdbuf()); + clear(); } ~FileState() { filePos = streamPos(*this); } @@ -53,37 +65,26 @@ struct FileState : std::ifstream struct FileStream : Stream { - string path; - long int filePos = 0; + string path; + long int filePos = 0; + std::ifstream persistentStream; - FileStream(string path) : path(path) {} + FileStream(const string& path) : path(path) {} unique_ptr getIStream_ptr() override { - // std::cout << "Getting FileStream" << "\n"; - - return make_unique(path, filePos); + return make_unique(persistentStream, path, filePos); } - bool isDead() override - { - if (filePos < 0) - { - return true; - } - - return false; - } + bool isDead() override { return filePos < 0; } bool isAvailable() override { - std::ifstream input(path, std::ifstream::in); - - if (input) + if (persistentStream.is_open()) { return true; } - return false; + return std::filesystem::exists(path) && std::filesystem::is_regular_file(path); } }; diff --git a/src/cpp/common/streamObs.hpp b/src/cpp/common/streamObs.hpp index 92ee10908..297bfce5f 100644 --- a/src/cpp/common/streamObs.hpp +++ b/src/cpp/common/streamObs.hpp @@ -14,6 +14,8 @@ struct ObsStream : StreamParser { E_ObsAgeCode obsAgeCode = E_ObsAgeCode::CURRENT_OBS; ///< Age code of observation retrieved from memory + GTime lastReadTime = GTime::noTime(); + double interval = 0; bool isPseudoRec; @@ -32,106 +34,98 @@ struct ObsStream : StreamParser { auto& obsLister = dynamic_cast(parser); - if (obsLister.obsListList.size() < 2) + for (auto it = obsLister.obsListList.begin(); it != obsLister.obsListList.end();) { + if (it->empty()) + { + BOOST_LOG_TRIVIAL(info) + << "Dropping empty ObsList from parser queue before getObs" + << ", parser=" << parser.parserType() << ", source=" << stream.sourceString + << ", lastReadTime=" + << (lastReadTime == GTime::noTime() ? string("noTime") + : lastReadTime.to_string(6)) + << ", queued_epochs=" << obsLister.obsListList.size(); + it = obsLister.obsListList.erase(it); + } + else + { + ++it; + } + } + + BOOST_LOG_TRIVIAL(debug) + << "obsLister.obsListList.size()=" << obsLister.obsListList.size(); + + if (obsLister.obsListList.size() < 2 && stream.isDead() == false) + { + BOOST_LOG_TRIVIAL(debug) << "Not enough data in master list, reading new obs ..."; + parse(); } + else if (obsLister.obsListList.size() >= 2) + { + BOOST_LOG_TRIVIAL(debug) + << "Plenty of data in master list, no need to read more obs"; + } + else + { + BOOST_LOG_TRIVIAL(debug) << "Input stream is dead, skip reading ..."; + } if (obsLister.obsListList.empty()) { + BOOST_LOG_TRIVIAL(debug) << "No obs"; + return ObsList(); } - ObsList& obsList = obsLister.obsListList.front(); - - for (auto& obs : only(obsList)) - for (auto& [ftype, sigsList] : obs.sigsLists) + ObsList& latestObsList = obsLister.obsListList.back(); + if (latestObsList.empty() == false) + { + if (lastReadTime != GTime::noTime()) { - E_Sys sys = obs.Sat.sys; + double newInterval = (latestObsList.front()->time - lastReadTime).to_double(); - if (sys == E_Sys::GPS) - { - double dirty_C1W_phase = 0; - for (auto& sig : sigsList) - { - if (sig.code == E_ObsCode::L1C) - dirty_C1W_phase = sig.L; - - if (sig.code == E_ObsCode::L1W && sig.P == 0) - { - sig.L = 0; - } - } - - for (auto& sig : sigsList) - if (sig.code == E_ObsCode::L1W && sig.L == 0 && sig.P != 0) - { - sig.L = dirty_C1W_phase; - break; - } - } - sigsList.remove_if( - [sys](Sig& a) - { - return std::find( - acsConfig.code_priorities[sys].begin(), - acsConfig.code_priorities[sys].end(), - a.code - ) == acsConfig.code_priorities[sys].end(); - } - ); - sigsList.sort( - [sys](Sig& a, Sig& b) - { - auto iterA = std::find( - acsConfig.code_priorities[sys].begin(), - acsConfig.code_priorities[sys].end(), - a.code - ); - auto iterB = std::find( - acsConfig.code_priorities[sys].begin(), - acsConfig.code_priorities[sys].end(), - b.code - ); - - if (a.L == 0) - return false; - if (b.L == 0) - return true; - if (a.P == 0) - return false; - if (b.P == 0) - return true; - if (iterA < iterB) - return true; - else - return false; - } - ); - - if (sigsList.empty()) + if (newInterval > 0 && (interval <= 0 || interval > newInterval)) { - continue; + interval = newInterval; } + } - Sig firstOfType = sigsList.front(); + lastReadTime = latestObsList.front()->time; + } + else + { + BOOST_LOG_TRIVIAL(info) + << "Latest ObsList is empty after parse" + << ", parser=" << parser.parserType() << ", source=" << stream.sourceString + << ", lastReadTime=" + << (lastReadTime == GTime::noTime() ? string("noTime") + : lastReadTime.to_string(6)) + << ", queued_epochs=" << obsLister.obsListList.size(); + } - // use first of type as representative if its in the priority list - auto iter = std::find( - acsConfig.code_priorities[sys].begin(), - acsConfig.code_priorities[sys].end(), - firstOfType.code - ); - if (iter != acsConfig.code_priorities[sys].end()) - { - obs.sigs[ftype] = Sig(firstOfType); - } - } + ObsList& obsList = obsLister.obsListList.front(); + if (obsList.empty()) + { + BOOST_LOG_TRIVIAL(info) + << "Front ObsList is empty after parse" + << ", parser=" << parser.parserType() << ", source=" << stream.sourceString + << ", lastReadTime=" + << (lastReadTime == GTime::noTime() ? string("noTime") + : lastReadTime.to_string(6)) + << ", queued_epochs=" << obsLister.obsListList.size(); + return ObsList(); + } + + BOOST_LOG_TRIVIAL(debug) + << "Getting front ..., obsTime=" << obsList.front()->time.to_string(6); return obsList; } catch (...) { + BOOST_LOG_TRIVIAL(debug) << "Error getting obs"; } return ObsList(); @@ -149,7 +143,7 @@ struct ObsStream : StreamParser * NOTE: This function may be overridden by objects that use this interface */ ObsList getObs( - GTime time, ///< Timestamp to get observations for + GTime& time, ///< Timestamp to get observations for double delta = 0.5 ///< Acceptable tolerance around requested time ) { @@ -166,10 +160,10 @@ struct ObsStream : StreamParser } else if (time == GTime::noTime()) { - // Start epoch not given, use time of first obs as start time - foundGoodObs = true; - dropObs(); - bigObsList += obsList; + // Start epoch not given, get first obs time + obsAgeCode = E_ObsAgeCode::UNKNOWN; + time = obsList.front()->time; + BOOST_LOG_TRIVIAL(debug) << "obsAgeCode=" << obsAgeCode << ", dropping front"; break; } else if (obsList.front()->time < time - delta) @@ -177,6 +171,7 @@ struct ObsStream : StreamParser // Save earlier data to preprocess in case preprocess_all_data is on obsAgeCode = E_ObsAgeCode::PAST_OBS; dropObs(); + BOOST_LOG_TRIVIAL(debug) << "obsAgeCode=" << obsAgeCode << ", dropping front"; if (foundGoodObs == false) { // Only push past obs when good obs not found yet, i.e. drop past obs coming @@ -190,6 +185,7 @@ struct ObsStream : StreamParser { // Future obs, do nothing and leave the data to read later obsAgeCode = E_ObsAgeCode::FUTURE_OBS; + BOOST_LOG_TRIVIAL(debug) << "obsAgeCode=" << obsAgeCode << ", checking next epoch"; break; } else @@ -198,6 +194,8 @@ struct ObsStream : StreamParser foundGoodObs = true; dropObs(); bigObsList += obsList; + BOOST_LOG_TRIVIAL(debug) + << "obsAgeCode=" << E_ObsAgeCode::CURRENT_OBS << ", dropping front"; } } @@ -207,10 +205,6 @@ struct ObsStream : StreamParser // obs (obsAgeCode is now NO_OBS) even good obs found, reset obsAgeCode to CURRENT_OBS obsAgeCode = E_ObsAgeCode::CURRENT_OBS; } - else if (obsAgeCode == E_ObsAgeCode::FUTURE_OBS) - { - return ObsList(); - } return bigObsList; } diff --git a/src/cpp/common/streamParser.cpp b/src/cpp/common/streamParser.cpp index aac4ddeb4..13d8a6ed1 100644 --- a/src/cpp/common/streamParser.cpp +++ b/src/cpp/common/streamParser.cpp @@ -9,36 +9,30 @@ map streamDOAMap; long int streamPos(std::istream& stream) { // std::cout << "Closed" << "\n"; - if (stream) - { - long int filePos = stream.tellg(); - - if (!stream) - { - BOOST_LOG_TRIVIAL(error) << "Error telling in file at " << filePos << "\n" - << " - " << strerror(errno); - - return -1; - } - - if (filePos < 0) - { - BOOST_LOG_TRIVIAL(error) << "Negative file pos in file at " << filePos << "\n" - << " - " << strerror(errno); - return -1; - } - - return filePos; + if (stream.bad()) + { + BOOST_LOG_TRIVIAL(debug) << "Bad input stream"; + return -1; } - else + if (stream.eof()) { - // BOOST_LOG_TRIVIAL(error) << "InputStream is dead before destruction "; + BOOST_LOG_TRIVIAL(debug) << "Input stream has reached the end of file"; + return -1; + } + if (stream.fail()) + { + BOOST_LOG_TRIVIAL(debug) << "Failed to read input stream"; + return -1; + } - if (stream.eof()) - { - // BOOST_LOG_TRIVIAL(error) << "InputStream has end of file "; - } + long int streamPos = stream.tellg(); + + if (streamPos < 0) + { + BOOST_LOG_TRIVIAL(error) << "Error telling in stream"; return -1; } + + return streamPos; } diff --git a/src/cpp/common/streamRinex.hpp b/src/cpp/common/streamRinex.hpp index dffb75f29..29721c480 100644 --- a/src/cpp/common/streamRinex.hpp +++ b/src/cpp/common/streamRinex.hpp @@ -41,6 +41,13 @@ struct RinexParser : Parser, ObsLister if (tempObsList.size() > 0) { obsListList.push_back(std::move(tempObsList)); + + BOOST_LOG_TRIVIAL(debug) << "Parsed " << tempObsList.size() + << " obs, obsTime=" << tempObsList.front()->time.to_string(6); + } + else + { + BOOST_LOG_TRIVIAL(debug) << "No obs parsed"; } } diff --git a/src/cpp/common/streamRtcm.hpp b/src/cpp/common/streamRtcm.hpp index df291e8e8..3a78932d5 100644 --- a/src/cpp/common/streamRtcm.hpp +++ b/src/cpp/common/streamRtcm.hpp @@ -7,13 +7,27 @@ #include "common/streamParser.hpp" #include "other_ssr/otherSSR.hpp" -#define CLEAN_UP_AND_RETURN_ON_FAILURE \ - \ - if (inputStream.fail()) \ - { \ - inputStream.clear(); \ - inputStream.seekg(pos); \ - return; \ +#define CLEAN_UP_AND_RETURN_ON_FAILURE \ + \ + { \ + if (inputStream.bad()) \ + { \ + /* Unrecoverable */ \ + return; \ + } \ + if (inputStream.eof()) \ + { \ + /* End of file, keep eofbit and reset other bits of error state */ \ + inputStream.clear(inputStream.rdstate() & ~std::ios::failbit); \ + return; \ + } \ + if (inputStream.fail()) \ + { \ + /* Logical read failure, clear error state to allow future reads */ \ + inputStream.clear(); \ + inputStream.seekg(pos); /* Eugene: seekg(pos) may be harmful? */ \ + return; \ + } \ } struct RtcmParser : Parser, RtcmDecoder @@ -26,7 +40,10 @@ struct RtcmParser : Parser, RtcmDecoder { // std::cout << "Parsing rtcm" << "\n"; - if (qzssL6) // todo aaron move to own decoder type + // Eugene: Should clear here? + // inputStream.clear(); + + if (qzssL6) // todo? move to own decoder type { int pos; @@ -42,7 +59,7 @@ struct RtcmParser : Parser, RtcmDecoder if (mess_state == 0) pos = inputStream.tellg(); - if (mess_state < 4) // todo aaron, change to fifo for preamble + if (mess_state < 4) // todo? change to fifo for preamble { unsigned char c; inputStream.read((char*)&c, 1); @@ -88,7 +105,7 @@ struct RtcmParser : Parser, RtcmDecoder int i = 0; int messType = getbituInc(buf, i, 12); - if (messType == 4073) // todo aaron enum + if (messType == 4073) // todo? enum { frameBits = decodecompactSSR(qzsL6buff, rtcmTime()); } @@ -105,7 +122,7 @@ struct RtcmParser : Parser, RtcmDecoder frameBits++; int j = frameBits; messType = getbituInc(buf, j, 12); - if (messType == 4073) // todo aaron enum + if (messType == 4073) // todo? enum { int subtype = getbituInc(buf, j, 4); if (subtype != 6 && subtype != 12) @@ -248,6 +265,8 @@ struct RtcmParser : Parser, RtcmDecoder auto rtcmReturnType = decode(message); + BOOST_LOG_TRIVIAL(debug) << "rtcmReturnType=" << enum_to_string(rtcmReturnType); + if (rtcmReturnType == E_ReturnType::GOT_OBS) { return; diff --git a/src/cpp/common/streamUbx.cpp b/src/cpp/common/streamUbx.cpp index 2042eca8e..d13b63eb7 100644 --- a/src/cpp/common/streamUbx.cpp +++ b/src/cpp/common/streamUbx.cpp @@ -63,7 +63,7 @@ void UbxParser::parse(std::istream& inputStream) inputStream.read((char*)&crcRead, 2); CLEAN_UP_AND_RETURN_ON_FAILURE; - // todo aaron calculate crcRead + // todo? calculate crcRead if (0) { checksumFailure(); diff --git a/src/cpp/common/tcpSocket.cpp b/src/cpp/common/tcpSocket.cpp index 56942b42d..d65ed10d2 100644 --- a/src/cpp/common/tcpSocket.cpp +++ b/src/cpp/common/tcpSocket.cpp @@ -3,6 +3,7 @@ // #define BSONCXX_POLY_USE_SYSTEM_MNMLSTC #include "common/tcpSocket.hpp" +#include #include #include #include @@ -31,8 +32,7 @@ void TcpSocket::logChunkError() std::cout << message.str() << "\n"; messageChunkLog(message.str()); - // todo aaron - // std::ofstream outStream(rtcmTraceFilename, std::ios::app); + // todo? // std::ofstream outStream(rtcmTraceFilename, std::ios::app); // if (!outStream) // { // std::cout << "Error opening " << rtcmTraceFilename << " in " << __FUNCTION__ << @@ -294,9 +294,13 @@ void TcpSocket::delayedReconnect() // Delay and attempt reconnect, this prevents server abuse. timer.expires_from_now(boost::posix_time::seconds((int)reconnectDelay)); + nextReconnectAttemptUnixTime.store( + std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()) + + (long long)reconnectDelay + ); // wait a little longer next time; - reconnectDelay *= 2; + reconnectDelay = std::min(reconnectDelay * 2, maxReconnectDelay); timer.async_wait(boost::bind(&TcpSocket::reconnectTimerHandler, this, bp::error)); } @@ -375,6 +379,7 @@ void NtripResponder::requestResponseHandler(const boost::system::error_code& err // conneccted, turn the delay back down. reconnectDelay = 1; + nextReconnectAttemptUnixTime.store(0); isConnected = true; @@ -532,6 +537,7 @@ void TcpSocket::connect() _resolver = std::make_shared(ioContext); BOOST_LOG_TRIVIAL(debug) << "(Re)connecting " << url.sanitised(); + nextReconnectAttemptUnixTime.store(0); // The socket_ptr reduces some code, although the async_read and async_right // must be called using _sslsocket in order to work correctly. @@ -570,6 +576,33 @@ void TcpSocket::disconnect() downloadBuf.consume(downloadBuf.size()); } +void TcpSocket::shutdown() +{ + nextReconnectAttemptUnixTime.store(0); + isConnected = false; + + try + { + timer.cancel(); + } + catch (...) + { + } + + try + { + if (_resolver) + { + _resolver->cancel(); + } + } + catch (...) + { + } + + disconnect(); +} + void TcpSocket::connectionError(const boost::system::error_code& err, string operation) { if (acsConfig.output_ntrip_log == false) diff --git a/src/cpp/common/tcpSocket.hpp b/src/cpp/common/tcpSocket.hpp index 0bc97e3c8..1227b1f27 100644 --- a/src/cpp/common/tcpSocket.hpp +++ b/src/cpp/common/tcpSocket.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -14,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -248,9 +250,11 @@ struct TcpSocket : NetworkStatistics, SerialStream public: URL url; - double reconnectDelay = 1; - int disconnectionCount = 0; - bool isConnected = false; + double reconnectDelay = 1; + double maxReconnectDelay = 900; + int disconnectionCount = 0; + bool isConnected = false; + std::atomic nextReconnectAttemptUnixTime = 0; int numberErroredChunks = 0; bool logHttpSentReceived = false; @@ -272,6 +276,7 @@ struct TcpSocket : NetworkStatistics, SerialStream void connect(); void disconnect(); + void shutdown(); void startRead(bool chunked); @@ -309,6 +314,14 @@ struct TcpSocket : NetworkStatistics, SerialStream void dataChunkDownloaded(vector& dataChunk); + bool reconnectDueAfter(const std::chrono::system_clock::time_point& timePoint) const + { + long long nextReconnectUnixTime = nextReconnectAttemptUnixTime.load(); + return nextReconnectUnixTime > std::chrono::system_clock::to_time_t(timePoint); + } + + long long nextReconnectUnixTime() const { return nextReconnectAttemptUnixTime.load(); } + // content from a one-shot request has been received virtual void readContentDownloaded(vector content) {} diff --git a/src/cpp/common/tides.cpp b/src/cpp/common/tides.cpp index 0a7f1fe10..e0ac2a056 100644 --- a/src/cpp/common/tides.cpp +++ b/src/cpp/common/tides.cpp @@ -648,8 +648,8 @@ VectorEnu tideOceanLoadHardisp( for (auto [wave, disp] : otlDisplacement) { tamp[0][i] = otlDisplacement[wave].amplitude.u(); - tph[0][i] = -otlDisplacement[wave].phase.u( - ); // HARDISP.F: Change sign for phase, to be negative for lags + tph[0][i] = -otlDisplacement[wave] + .phase.u(); // HARDISP.F: Change sign for phase, to be negative for lags tamp[1][i] = otlDisplacement[wave].amplitude.e(); tph[1][i] = -otlDisplacement[wave].phase.e(); tamp[2][i] = otlDisplacement[wave].amplitude.n(); diff --git a/src/cpp/common/trace.cpp b/src/cpp/common/trace.cpp index ba2347305..877309bf9 100644 --- a/src/cpp/common/trace.cpp +++ b/src/cpp/common/trace.cpp @@ -22,7 +22,9 @@ using std::unordered_map; -boost::iostreams::stream nullStream((boost::iostreams::null_sink())); +thread_local boost::iostreams::stream nullStream{ + boost::iostreams::null_sink{} +}; /** Semi-formatted text-based outputs. * Trace files are the best record of the processing that occurs within the Pea. diff --git a/src/cpp/common/trace.hpp b/src/cpp/common/trace.hpp index 4016d6e91..914c09dc7 100644 --- a/src/cpp/common/trace.hpp +++ b/src/cpp/common/trace.hpp @@ -9,7 +9,11 @@ #include #include #include +#include +#include #include +#include +#include #include #include "common/eigenIncluder.hpp" @@ -21,7 +25,7 @@ using Trace = std::ostream; struct GTime; -extern boost::iostreams::stream nullStream; +extern thread_local boost::iostreams::stream nullStream; struct ConsoleLog : public sinks::basic_formatted_sink_backend { @@ -65,28 +69,165 @@ void traceTrivialTrace_(string const& fmt, Args&&... args) BOOST_LOG_TRIVIAL(trace) << boost::str(f); } -template -std::ofstream getTraceFile(T& thing, bool json = false) +struct PooledTraceFile { - string traceFilename; - if (json) - traceFilename = thing.jsonTraceFilename; - else - traceFilename = thing.traceFilename; + Trace* trace = &nullStream; + std::shared_ptr file; + + PooledTraceFile() = default; + explicit PooledTraceFile(std::shared_ptr fileStream) + : file{std::move(fileStream)} + { + if (file && *file) + { + trace = file.get(); + } + } + + operator Trace&() { return *trace; } + operator const Trace&() const { return *trace; } + + template + PooledTraceFile& operator<<(T&& value) + { + (*trace) << std::forward(value); + return *this; + } + + PooledTraceFile& operator<<(std::ostream& (*manip)(std::ostream&)) + { + (*trace) << manip; + return *this; + } + + PooledTraceFile& operator<<(std::ios& (*manip)(std::ios&)) + { + (*trace) << manip; + return *this; + } + PooledTraceFile& operator<<(std::ios_base& (*manip)(std::ios_base&)) + { + (*trace) << manip; + return *this; + } + + void flush() { trace->flush(); } +}; + +inline std::unordered_map>& traceFileCache() +{ + thread_local std::unordered_map> cache; + return cache; +} + +inline std::mutex& retainedTraceFilesMutex() +{ + static std::mutex mutex; + return mutex; +} + +inline std::unordered_set& retainedTraceFileNames() +{ + static std::unordered_set activeFilenames; + return activeFilenames; +} + +inline size_t& retainedTraceFilesGeneration() +{ + static size_t generation = 0; + return generation; +} + +inline void pruneTraceFileCache(const std::unordered_set& activeFilenames) +{ + auto& cache = traceFileCache(); + for (auto it = cache.begin(); it != cache.end();) + { + if (activeFilenames.find(it->first) != activeFilenames.end()) + { + it++; + continue; + } + + if (it->second) + { + it->second->flush(); + } + it = cache.erase(it); + } +} + +inline void pruneTraceFileCacheIfNeeded() +{ + thread_local size_t localGeneration = 0; + + std::unordered_set activeFilenames; + + { + std::lock_guard lock(retainedTraceFilesMutex()); + if (localGeneration == retainedTraceFilesGeneration()) + { + return; + } + + localGeneration = retainedTraceFilesGeneration(); + activeFilenames = retainedTraceFileNames(); + } + + pruneTraceFileCache(activeFilenames); +} + +inline void retainTraceFiles(const std::unordered_set& activeFilenames) +{ + { + std::lock_guard lock(retainedTraceFilesMutex()); + retainedTraceFileNames() = activeFilenames; + retainedTraceFilesGeneration()++; + } + + pruneTraceFileCache(activeFilenames); +} + +inline PooledTraceFile getTraceFile(const string& traceFilename, const string& id) +{ if (traceFilename.empty()) { - return std::ofstream(); + return PooledTraceFile(); + } + + pruneTraceFileCacheIfNeeded(); + + auto& cache = traceFileCache(); + + auto it = cache.find(traceFilename); + if (it != cache.end()) + { + return PooledTraceFile(it->second); } - std::ofstream trace(traceFilename, std::ios::app); - if (!trace) + auto traceFile = std::make_shared(traceFilename, std::ios::app); + if (!*traceFile) { - BOOST_LOG_TRIVIAL(error) << "Could not open trace file for " << thing.id << " at " + BOOST_LOG_TRIVIAL(error) << "Could not open trace file for " << id << " at " << traceFilename; + return PooledTraceFile(); } - return trace; + cache.emplace(traceFilename, traceFile); + return PooledTraceFile(std::move(traceFile)); +} + +template +PooledTraceFile getTraceFile(T& thing, bool json = false) +{ + string traceFilename; + if (json) + traceFilename = thing.jsonTraceFilename; + else + traceFilename = thing.traceFilename; + + return getTraceFile(traceFilename, thing.id); } void printHex(Trace& trace, vector& chunk); @@ -97,11 +238,15 @@ struct Block { Trace& trace; string blockName; + string separator; - Block(Trace& trace, string blockName) : trace{trace}, blockName{blockName} + Block(Trace& trace, string blockName, string separator = "") + : trace{trace}, blockName{blockName}, separator{separator} { - trace << "\n" - << "+" << blockName << "\n"; + trace << "\n"; + if (separator.empty() == false) + trace << separator << "\n"; + trace << "+" << blockName << "\n"; } ~Block() { trace << "-" << blockName << "\n"; } diff --git a/src/cpp/common/tropSinex.cpp b/src/cpp/common/tropSinex.cpp index 50f493538..cfb8360fe 100644 --- a/src/cpp/common/tropSinex.cpp +++ b/src/cpp/common/tropSinex.cpp @@ -203,7 +203,7 @@ void writeTropSiteId( if (result.failureSiteId) continue; // Receiver not found in sinex file if (result.failureEstimate) - continue; // Position not found in sinex file //todo aaron, remove this, use + continue; // Position not found in sinex file //todo? remove this, use // other function VectorEnu& antdel = stationSinex.ecc_ptr->ecc; @@ -632,10 +632,8 @@ void setTropSolFromFilter(KFState& kfState) ///< KF state kfState.getKFValue(key, x, &var); double oldVar = tropSumMap[id][typeWet].var; - double newVar = - var + - oldVar; // Ref: - // https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Example_formulae + double newVar = var + oldVar; // Ref: + // https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Example_formulae // Add on filter estimates if (key.type == KF::TROP) @@ -694,7 +692,8 @@ void setTropSolFromFilter(KFState& kfState) ///< KF state entry.x -= modelledZhd; } - stationEntry.solutions.push_back({type, entry.x, units, 8} + stationEntry.solutions.push_back( + {type, entry.x, units, 8} ); // type, value, units (multiplier), printing width stationEntry.solutions.push_back({"STDDEV", sqrt(entry.var), 1e3, 8}); } diff --git a/src/cpp/common/ubxDecoder.cpp b/src/cpp/common/ubxDecoder.cpp index 2ab8d54c8..dab259add 100644 --- a/src/cpp/common/ubxDecoder.cpp +++ b/src/cpp/common/ubxDecoder.cpp @@ -52,6 +52,9 @@ void UbxDecoder::decodeRAWX(vector& payload) // std::cout << "\n" << "Recieved RAWX message has " << numMeas << " measurements" << "\n"; + lastTimeTag = 0; + lastTime = gpst2time(week, rcvTow); + map obsMap; for (int i = 0; i < numMeas; i++) @@ -85,7 +88,7 @@ void UbxDecoder::decodeRAWX(vector& payload) SatSys Sat(sys, satId); auto& obs = obsMap[Sat]; obs.Sat = Sat; - obs.time = gpst2time(week, rcvTow); + obs.time = lastTime; printf( "meas %s %s %s %14.3lf %14.3lf\n", @@ -106,10 +109,15 @@ void UbxDecoder::decodeRAWX(vector& payload) obsList.push_back((shared_ptr)obs); } - obsListList.push_back(obsList); - - lastTimeTag = 0; - lastTime = gpst2time(week, rcvTow); + if (obsList.empty() == false) + { + obsListList.push_back(obsList); + } + else + { + BOOST_LOG_TRIVIAL(info) << "UBX decoder produced empty ObsList at epoch flush" + << ", week=" << week << ", rcvTow=" << rcvTow; + } } void UbxDecoder::decodeMEAS(vector& payload) @@ -309,10 +317,10 @@ void UbxDecoder::decodeSFRBX(vector& payload) // printf("\n preamble : %02x - subFrameId : %02x - ", preamble, subFrameId); - if (subFrameId <= 0 && subFrameId >= 4) - { - return; - } + // if (subFrameId <= 0 && subFrameId >= 4) + // { + // return; + // } // vector subFrame; // int byteBits = 0; diff --git a/src/cpp/configurator/htmlFooterTemplate.hpp b/src/cpp/configurator/htmlFooterTemplate.hpp index f2bc80680..da825b240 100644 --- a/src/cpp/configurator/htmlFooterTemplate.hpp +++ b/src/cpp/configurator/htmlFooterTemplate.hpp @@ -1,11 +1,17 @@ #pragma once // clang-format off static const char* htmlFooterTemplate = R"HTMLTEMPLATE( -

- -
- -
+

+ + + + + -

Ginan YAML Inspector

+
+

Ginan YAML Inspector

+
+

Use the checkboxes to enable editing and modification of options.

Existing yaml files and their configuration can be loaded by importing them below.

diff --git a/src/cpp/inertial/posProp.cpp b/src/cpp/inertial/posProp.cpp index 72a8a3d14..d96585dec 100644 --- a/src/cpp/inertial/posProp.cpp +++ b/src/cpp/inertial/posProp.cpp @@ -47,7 +47,7 @@ void propLinear( // other.z() = temp; // Vector3d acclEcef = (accl - inertialInit.acclBias)[2] * rRec.normalized(); - // //todo aaron, rotate to ecef + // //todo? rotate to ecef } Vector3d accCF = accelCentralForce(r, GM_values[E_ThirdBody::EARTH]); @@ -78,7 +78,7 @@ void propLinear( Vector3d vPlus = v + a * dt; ; - Quaterniond qPlus = Q * qBody; // todo aaron, check ordering of this + Quaterniond qPlus = Q * qBody; // todo? check ordering of this r = rPlus; v = vPlus; diff --git a/src/cpp/iono/ionex.cpp b/src/cpp/iono/ionex.cpp index f2c6f09e3..7611eab1d 100644 --- a/src/cpp/iono/ionex.cpp +++ b/src/cpp/iono/ionex.cpp @@ -38,7 +38,7 @@ int nitem(const double* range) /* data index (i:lat,j:lon,k:hgt) */ int dataindex(int i, int j, int k, - const int* ndata) // todo aaron, convert to maps + const int* ndata) // todo? convert to maps { if (i < 0 || ndata[0] <= i || j < 0 || ndata[1] <= j || k < 0 || ndata[2] <= k) { @@ -285,8 +285,9 @@ double readionexh( { nexp = str2num(buff, 0, 6); } - else if (strstr(label, "START OF AUX DATA") == label && - strstr(buff, "DIFFERENTIAL CODE BIASES")) + else if ( + strstr(label, "START OF AUX DATA") == label && strstr(buff, "DIFFERENTIAL CODE BIASES") + ) { readionexdcb(in, navi); } diff --git a/src/cpp/iono/ionoLocalSTEC.cpp b/src/cpp/iono/ionoLocalSTEC.cpp index 48f666d0b..95b1f87d5 100644 --- a/src/cpp/iono/ionoLocalSTEC.cpp +++ b/src/cpp/iono/ionoLocalSTEC.cpp @@ -265,8 +265,7 @@ double ionCoefLocal( ); return (1 - dlatDeg / atmReg.intLatDeg) * - (1 - dlonDeg / atmReg.intLonDeg - ); // todo aaron use bilinear interpolation function? + (1 - dlonDeg / atmReg.intLonDeg); // todo? use bilinear interpolation function? } default: { diff --git a/src/cpp/iono/ionoMeas.cpp b/src/cpp/iono/ionoMeas.cpp index 7312d1d9b..2e3fa2bbb 100644 --- a/src/cpp/iono/ionoMeas.cpp +++ b/src/cpp/iono/ionoMeas.cpp @@ -180,7 +180,7 @@ void obsIonoData(Trace& trace, Receiver& rec) satStat.gf_amb += SmtG * (amb - satStat.gf_amb); satStat.ambvar = SmtG * (varP); } - obs.stecType = 1; // todo aaron magic numbers + obs.stecType = 1; // todo? magic numbers obs.stecVal = (satStat.gf_amb + lc.GF_Phas_m) / obs.stecToDelay; obs.stecVar = ((satStat.ambvar + 2 * varL) + SQR(PHASE_BIAS_STD)) / SQR(obs.stecToDelay); diff --git a/src/cpp/iono/ionoModel.cpp b/src/cpp/iono/ionoModel.cpp index 66ac3a38a..06ba12cdf 100644 --- a/src/cpp/iono/ionoModel.cpp +++ b/src/cpp/iono/ionoModel.cpp @@ -281,8 +281,8 @@ void filterIonosphere( meas.addDsgnEntry(recDCBKey, 1, init); /************ satellite DCB ************/ /* We may need to change this for multi-code - solutions */ - if (acsConfig.ionModelOpts.estimate_sat_dcb /// todo aaron, ew.. + solutions */ + if (acsConfig.ionModelOpts.estimate_sat_dcb /// todo? ew.. || mainObsCombo[sys] != obs.stecCodeCombo) { InitialState init = initialStateFromConfig(satOpts.code_bias); diff --git a/src/cpp/iono/ionoModel.hpp b/src/cpp/iono/ionoModel.hpp index 696c92e84..1b86f5541 100644 --- a/src/cpp/iono/ionoModel.hpp +++ b/src/cpp/iono/ionoModel.hpp @@ -64,14 +64,14 @@ void ionOutputLocal(Trace& trace, KFState& kfState); double getSSRIono(Trace& trace, GTime time, Vector3d& rRec, AzEl& azel, double& var, SatSys& Sat); bool getIGSSSRIono( - Trace& trace, - GTime time, - SSRAtm& ssrAtm, - Vector3d& rRec, - AzEl& azel, - double& iono, - double& var - ); + Trace& trace, + GTime time, + SSRAtm& ssrAtm, + Vector3d& rRec, + AzEl& azel, + double& iono, + double& var +); bool getCmpSSRIono( Trace& trace, GTime time, diff --git a/src/cpp/iono/ionoSBAS.cpp b/src/cpp/iono/ionoSBAS.cpp index 070a5eb9f..33b2145ea 100644 --- a/src/cpp/iono/ionoSBAS.cpp +++ b/src/cpp/iono/ionoSBAS.cpp @@ -12,102 +12,106 @@ using std::map; #define IONO_DEBUG_TRACE_LEVEL 4 map> latiVects = { - {0, { -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55}}, - {1, { -75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75}}, - {2, {-85, -75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75}}, - {3, { -75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75, 85}} + {0, {-55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, + 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55}}, + {1, {-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, + 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75}}, + {2, {-85, -75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, + 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75}}, + {3, {-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, + 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 65, 75, 85}} }; map>> Iono_Bands = { {0, - {{0, { 1, 28, -180, 3}}, - {1, { 29, 51, -175, 0}}, - {2, { 52, 78, -170, 1}}, - {3, { 79, 101, -165, 0}}, + {{0, {1, 28, -180, 3}}, + {1, {29, 51, -175, 0}}, + {2, {52, 78, -170, 1}}, + {3, {79, 101, -165, 0}}, {4, {102, 128, -160, 1}}, {5, {129, 151, -155, 0}}, {6, {152, 178, -150, 1}}, {7, {179, 201, -145, 0}}}}, {1, - {{0, { 1, 28, -140, 2}}, - {1, { 29, 51, -135, 0}}, - {2, { 52, 78, -130, 1}}, - {3, { 79, 101, -125, 0}}, + {{0, {1, 28, -140, 2}}, + {1, {29, 51, -135, 0}}, + {2, {52, 78, -130, 1}}, + {3, {79, 101, -125, 0}}, {4, {102, 128, -120, 1}}, {5, {129, 151, -115, 0}}, {6, {152, 178, -110, 1}}, {7, {179, 201, -105, 0}}}}, {2, - {{0, { 1, 27, -100, 1}}, - {1, { 28, 50, -95, 0}}, - {2, { 51, 78, -90, 3}}, - {3, { 79, 101, -85, 0}}, - {4, {102, 128, -80, 1}}, - {5, {129, 151, -75, 0}}, - {6, {152, 178, -70, 1}}, - {7, {179, 201, -65, 0}}}}, + {{0, {1, 27, -100, 1}}, + {1, {28, 50, -95, 0}}, + {2, {51, 78, -90, 3}}, + {3, {79, 101, -85, 0}}, + {4, {102, 128, -80, 1}}, + {5, {129, 151, -75, 0}}, + {6, {152, 178, -70, 1}}, + {7, {179, 201, -65, 0}}}}, {3, - {{0, { 1, 27, -60, 1}}, - {1, { 28, 50, -55, 0}}, - {2, { 51, 78, -50, 2}}, - {3, { 79, 101, -45, 0}}, + {{0, {1, 27, -60, 1}}, + {1, {28, 50, -55, 0}}, + {2, {51, 78, -50, 2}}, + {3, {79, 101, -45, 0}}, {4, {102, 128, -40, 1}}, {5, {129, 151, -35, 0}}, {6, {152, 178, -30, 1}}, {7, {179, 201, -25, 0}}}}, {4, - {{0, { 1, 27, -20, 1}}, - {1, { 28, 50, -15, 0}}, - {2, { 51, 77, -10, 1}}, - {3, { 78, 100, -5, 0}}, - {4, {101, 128, 0, 3}}, - {5, {129, 151, 5, 0}}, - {6, {152, 178, 10, 1}}, - {7, {179, 201, 15, 0}}}}, + {{0, {1, 27, -20, 1}}, + {1, {28, 50, -15, 0}}, + {2, {51, 77, -10, 1}}, + {3, {78, 100, -5, 0}}, + {4, {101, 128, 0, 3}}, + {5, {129, 151, 5, 0}}, + {6, {152, 178, 10, 1}}, + {7, {179, 201, 15, 0}}}}, {5, - {{0, { 1, 27, 20, 1}}, - {1, { 28, 50, 25, 0}}, - {2, { 51, 77, 30, 1}}, - {3, { 78, 100, 35, 0}}, + {{0, {1, 27, 20, 1}}, + {1, {28, 50, 25, 0}}, + {2, {51, 77, 30, 1}}, + {3, {78, 100, 35, 0}}, {4, {101, 128, 40, 2}}, {5, {129, 151, 45, 0}}, {6, {152, 178, 50, 1}}, {7, {179, 201, 55, 0}}}}, {6, - {{0, { 1, 27, 60, 1}}, - {1, { 28, 50, 65, 0}}, - {2, { 51, 77, 70, 1}}, - {3, { 78, 100, 75, 0}}, + {{0, {1, 27, 60, 1}}, + {1, {28, 50, 65, 0}}, + {2, {51, 77, 70, 1}}, + {3, {78, 100, 75, 0}}, {4, {101, 127, 80, 1}}, {5, {128, 150, 85, 0}}, {6, {151, 178, 90, 3}}, {7, {179, 201, 95, 0}}}}, {7, - {{0, { 1, 27, 100, 1}}, - {1, { 28, 50, 105, 0}}, - {2, { 51, 77, 110, 1}}, - {3, { 78, 100, 115, 0}}, + {{0, {1, 27, 100, 1}}, + {1, {28, 50, 105, 0}}, + {2, {51, 77, 110, 1}}, + {3, {78, 100, 115, 0}}, {4, {101, 127, 120, 1}}, {5, {128, 150, 125, 0}}, {6, {151, 178, 130, 2}}, {7, {179, 201, 135, 0}}}}, {8, - {{0, { 1, 27, 140, 1}}, - {1, { 28, 50, 145, 0}}, - {2, { 51, 77, 150, 1}}, - {3, { 78, 100, 155, 0}}, + {{0, {1, 27, 140, 1}}, + {1, {28, 50, 145, 0}}, + {2, {51, 77, 150, 1}}, + {3, {78, 100, 155, 0}}, {4, {101, 127, 160, 1}}, {5, {128, 150, 165, 0}}, {6, {151, 177, 170, 1}}, {7, {178, 200, 175, 0}}}}, {9, - {{0, { 1, 72, 60, -180, 5, 170}}, - {1, { 73, 108, 65, -180, 10, 170}}, - {2, {143, 144, 70, -180, 10, 170}}, - {3, {179, 180, 75, -180, 10, 170}}, - {4, {181, 192, 85, -180, 30, 150}}}}, + {{0, {1, 72, 60, -180, 5, 170}}, + {1, {73, 108, 65, -180, 10, 170}}, + {2, {143, 144, 70, -180, 10, 170}}, + {3, {179, 180, 75, -180, 10, 170}}, + {4, {181, 192, 85, -180, 30, 150}}}}, {10, - {{0, { 1, 72, -60, -180, 5, 170}}, - {1, { 73, 108, -65, -180, 10, 170}}, + {{0, {1, 72, -60, -180, 5, 170}}, + {1, {73, 108, -65, -180, 10, 170}}, {2, {143, 144, -70, -180, 10, 170}}, {3, {179, 180, -75, -180, 10, 170}}, {4, {181, 192, -85, -170, 30, 160}}}} diff --git a/src/cpp/iono/ionoSphericalCaps.cpp b/src/cpp/iono/ionoSphericalCaps.cpp index 61a02d668..db3b426fd 100644 --- a/src/cpp/iono/ionoSphericalCaps.cpp +++ b/src/cpp/iono/ionoSphericalCaps.cpp @@ -45,7 +45,7 @@ double legendre_function(int m, double n, double x) double e2 = (1 + 3 / pow(p, 2) + 4 / pow(p, 3)) / (360 * pow(m, 3)); Kmn = pow(2, -m) * pow((n + m) / (n - m), (n + 2) / 4) * pow(p, m / 2.0) * exp(e1 + e2) / sqrt(m * PI); - A = Kmn * pow(sin(x), m); + A = Kmn * pow(sin(x), m); } P = A; @@ -87,7 +87,7 @@ double legendre_derivatv(int m, double n, double x) e2 = (1 + 3 / pow(p, 2) + 4 / pow(p, 3)) / (360 * pow(m, 3)); Kmn = pow(2, -m) * pow((n + m) / (n - m), (n + 2) / 4) * pow(p, m / 2.0) * exp(e1 + e2) / sqrt(m * PI); - A = Kmn * pow(sin(x), m); + A = Kmn * pow(sin(x), m); } P = A; @@ -227,7 +227,7 @@ double ionCoefSphcap(Trace& trace, int ind, IonoObs& obs, bool slant) double out; if (basis.parity) - out = legr * sin(basis.order * obs.ippMap[basis.ind].lonDeg * D2R); // todo aaron use enum + out = legr * sin(basis.order * obs.ippMap[basis.ind].lonDeg * D2R); // todo? use enum else out = legr * cos(basis.order * obs.ippMap[basis.ind].lonDeg * D2R); diff --git a/src/cpp/loading/interpolate_loading.cpp b/src/cpp/loading/interpolate_loading.cpp index 9e568e271..74d08b8ba 100644 --- a/src/cpp/loading/interpolate_loading.cpp +++ b/src/cpp/loading/interpolate_loading.cpp @@ -28,7 +28,9 @@ #include "loading/loading.h" #include "loading/tide.h" #include "loading/utils.h" +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include "omp.h" +#endif namespace po = boost::program_options; @@ -45,18 +47,7 @@ void program_options(int argc, char* argv[], otl_input& input) po::options_description desc{"interpolate_loading "}; // Do not set default values here, as this will overide the configuration file opitions!!! - desc.add_options() - ("help", "This help message") - ("quiet", "Less output") - ("verbose", "More output") - ("type", po::value(), "loading type: (o) ocean loading, or (a) atmospheric loading") - ("grid", po::value(), "Loading grid netCDF file") - ("location", po::value>()->multitoken(), "location: lon (decimal degrees) lat (decimal degrees)") - ("xyz", po::bool_switch()->default_value(false), "set if the coordinates are in XYZ format") - ("code", po::value(), "Station Code with or without DOMES number (ALIC 50137M0014)") - ("input", po::value(), "input file containing list of stations CSV format name, lon, lat") - ("output", po::value(), "Output BLQ file") - ; + desc.add_options()("help", "This help message")("quiet", "Less output")("verbose", "More output")("type", po::value(), "loading type: (o) ocean loading, or (a) atmospheric loading")("grid", po::value(), "Loading grid netCDF file")("location", po::value>()->multitoken(), "location: lon (decimal degrees) lat (decimal degrees)")("xyz", po::bool_switch()->default_value(false), "set if the coordinates are in XYZ format")("code", po::value(), "Station Code with or without DOMES number (ALIC 50137M0014)")("input", po::value(), "input file containing list of stations CSV format name, lon, lat")("output", po::value(), "Output BLQ file"); po::variables_map vm; // This is to be able to parse negative numbers with boost. @@ -225,8 +216,8 @@ void program_options(int argc, char* argv[], otl_input& input) ecef[1] = input.xyz_coords[i][1]; ecef[2] = input.xyz_coords[i][2]; ecef2pos(ecef, tmp); - input.lon.push_back(tmp[1] * 180.0 / M_PI); - input.lat.push_back(tmp[0] * 180.0 / M_PI); + input.lon.push_back(tmp[1] * 180.0 / PI); + input.lat.push_back(tmp[0] * 180.0 / PI); } } }; @@ -271,7 +262,14 @@ int main(int argc, char* argv[]) input.out_disp.data() + input.out_disp.num_elements(), std::complex(0, 0) ); - + // Normalize longitudes before parallel processing + for (auto& lon : input.lon) + { + if (lon < 0) + { + lon += 360.0; + } + } for (int i_sta = 0; i_sta < input.lat.size(); i_sta++) for (int i_wave = 0; i_wave < tideinfo.get_nwave(); i_wave++) for (int i_dir = 0; i_dir < 3; i_dir++) diff --git a/src/cpp/loading/make_otl_blq.cpp b/src/cpp/loading/make_otl_blq.cpp index 7ea1dd2e3..c4933d05b 100644 --- a/src/cpp/loading/make_otl_blq.cpp +++ b/src/cpp/loading/make_otl_blq.cpp @@ -26,7 +26,9 @@ #include "loading/loading.h" #include "loading/tide.h" #include "loading/utils.h" +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include "omp.h" +#endif namespace po = boost::program_options; @@ -252,8 +254,8 @@ void program_options(int argc, char* argv[], otl_input& input) ecef[1] = input.xyz_coords[i][1]; ecef[2] = input.xyz_coords[i][2]; ecef2pos(ecef, tmp); - input.lon.push_back(tmp[1] * 180.0 / M_PI); - input.lat.push_back(tmp[0] * 180.0 / M_PI); + input.lon.push_back(tmp[1] * 180.0 / PI); + input.lat.push_back(tmp[0] * 180.0 / PI); } } }; @@ -341,11 +343,7 @@ int main(int argc, char* argv[]) #pragma omp parallel for for (unsigned int i_poi = 0; i_poi < input.lat.size(); i_poi++) { - // BOOST_LOG_TRIVIAL(info) << " Processing coordinates # " << i_poi << " \n\t" << - // timer.format() ; load_1_point(tideinfo, &input, load, i_poi); - // BOOST_LOG_TRIVIAL(info) << " end pt " << i_poi << " \n\t" << - // timer.format() ; } write_BLQ(&input); diff --git a/src/cpp/loading/tide.cpp b/src/cpp/loading/tide.cpp index dae09afbf..41831379d 100644 --- a/src/cpp/loading/tide.cpp +++ b/src/cpp/loading/tide.cpp @@ -9,6 +9,7 @@ #include #include #include +#include "loading/utils.h" using namespace std; using namespace netCDF; @@ -34,10 +35,10 @@ void tide::set_name(std::string name) void tide::fill_ReIm() { - double scale = (double)1030. / 100.0 * (double)6371e3 * (double)6371e3 * (0.0625 * M_PI / 180) * - (0.0625 * M_PI / 180); - auto phase_ptr = phase.origin(); - auto& ma_shape = + double scale = (double)1030. / 100.0 * (double)6371e3 * (double)6371e3 * (0.0625 * PI / 180) * + (0.0625 * PI / 180); + auto phase_ptr = phase.origin(); + auto& ma_shape = reinterpret_cast const&>(*amplitude.shape()); in_phase.resize(ma_shape); @@ -55,11 +56,11 @@ void tide::fill_ReIm() { if (*amp_ptr != fillNan) { - *in_phase_ptr = static_cast(*amp_ptr * cos(*phase_ptr * M_PI / 180.0) * scale); - *out_phase_ptr = static_cast(*amp_ptr * sin(*phase_ptr * M_PI / 180.0) * scale); + *in_phase_ptr = static_cast(*amp_ptr * cos(*phase_ptr * PI / 180.0) * scale); + *out_phase_ptr = static_cast(*amp_ptr * sin(*phase_ptr * PI / 180.0) * scale); // cout << Re[ilat][ilon] << "\n"; - *in_phase_ptr *= sin(M_PI / 2 - *lat_ptr * M_PI / 180); - *out_phase_ptr *= sin(M_PI / 2 - *lat_ptr * M_PI / 180); + *in_phase_ptr *= sin(PI / 2 - *lat_ptr * PI / 180); + *out_phase_ptr *= sin(PI / 2 - *lat_ptr * PI / 180); } else { diff --git a/src/cpp/loading/utils.cpp b/src/cpp/loading/utils.cpp index d40092664..c27262d0d 100644 --- a/src/cpp/loading/utils.cpp +++ b/src/cpp/loading/utils.cpp @@ -59,12 +59,12 @@ void calcDistanceBearing( double deltalon = lon2_r - lon1_r; double deltalat = lat2_r - lat1_r; double a = sin(deltalat / 2) * sin(deltalat / 2) + - cos(lat1_r) * cos(lat2_r) * sin(deltalon / 2) * sin(deltalon / 2); - double y = sin(deltalon) * cos(lat2_r); - double x = cos(lat1_r) * sin(lat2_r) - sin(lat1_r) * cos(lat2_r) * cos(deltalon); + cos(lat1_r) * cos(lat2_r) * sin(deltalon / 2) * sin(deltalon / 2); + double y = sin(deltalon) * cos(lat2_r); + double x = cos(lat1_r) * sin(lat2_r) - sin(lat1_r) * cos(lat2_r) * cos(deltalon); *brng = atan2(y, x); *dist = 2 * atan2(sqrt(a), sqrt(1 - a)); if (*dist != *dist) - *dist = M_PI; + *dist = PI; } diff --git a/src/cpp/loading/utils.h b/src/cpp/loading/utils.h index 291ca6e02..917f7cd44 100644 --- a/src/cpp/loading/utils.h +++ b/src/cpp/loading/utils.h @@ -18,11 +18,11 @@ constexpr double PI = 3.1415926535897932384626433832795028841971693993751058209 constexpr double D2R = (PI / 180.0); /* deg to rad */ constexpr double R2D = (180.0 / PI); /* rad to deg */ void calcDistanceBearing( - float* lat1, - float* lon1, - float* lat2, - float* lon2, - double* dist, - double* brng - ); + float* lat1, + float* lon1, + float* lat2, + float* lon2, + double* dist, + double* brng +); void ecef2pos(const double* r, double* pos); \ No newline at end of file diff --git a/src/cpp/orbprop/acceleration.cpp b/src/cpp/orbprop/acceleration.cpp index b09fefc90..b81ca770c 100644 --- a/src/cpp/orbprop/acceleration.cpp +++ b/src/cpp/orbprop/acceleration.cpp @@ -138,7 +138,7 @@ Vector3d accelSPH( const Vector3d r, ///< Vector of the position of the satelite (ECEF) const MatrixXd C, ///< Matrix of the "C" spherical harmonic coefficient const MatrixXd S, ///< Matrix of the "S" spherical harmonic coefficient - const int maxDeg, ///< Maximum degree use for the summation of the harmonics //todo aaron, + const int maxDeg, ///< Maximum degree use for the summation of the harmonics //todo? ///< ///< limit this to max found in file/struct const double GM ///< Value of GM constant of the body in question. ) diff --git a/src/cpp/orbprop/centerMassCorrections.cpp b/src/cpp/orbprop/centerMassCorrections.cpp index d3c44bb77..bc947c678 100644 --- a/src/cpp/orbprop/centerMassCorrections.cpp +++ b/src/cpp/orbprop/centerMassCorrections.cpp @@ -67,11 +67,7 @@ Vector3d CenterMassCorrections::estimate(Array6d& dood) double theta = (dood * doodsonNumbers[wave]).sum(); for (int i = 0; i < 3; i++) { - cmcEstimate(i) += - coeff[i * 2] * cos(theta) + - coeff[i * 2 + 1] * - sin(theta - ); // todo aaron this would be better with 2 arrays or a matrix for cos/si + cmcEstimate(i) += coeff[i * 2] * cos(theta) + coeff[i * 2 + 1] * sin(theta); } } return cmcEstimate; diff --git a/src/cpp/orbprop/coordinates.cpp b/src/cpp/orbprop/coordinates.cpp index d457d53d5..feb57cbd4 100644 --- a/src/cpp/orbprop/coordinates.cpp +++ b/src/cpp/orbprop/coordinates.cpp @@ -173,7 +173,7 @@ VectorPos ecef2pos(const VectorEcef& r) void pos2enu( const VectorPos& pos, double* E -) // todo aaron, convert to return Matrix3d, check orientation +) // todo? convert to return Matrix3d, check orientation { double sinp = sin(pos.lat()); double cosp = cos(pos.lat()); diff --git a/src/cpp/orbprop/iers2010.cpp b/src/cpp/orbprop/iers2010.cpp index d7b9ccedc..b9cb69006 100644 --- a/src/cpp/orbprop/iers2010.cpp +++ b/src/cpp/orbprop/iers2010.cpp @@ -8,7 +8,9 @@ #include #include #include +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include +#endif #include #include "3rdparty/sofa/src/sofa.h" #include "common/common.hpp" @@ -198,8 +200,7 @@ Array6d IERS2010::doodson(GTime time, double ut1_utc) FundamentalArgs fundArgs(time, ut1_utc); Array6d Doodson; - Doodson(4) = - -1 * fundArgs(5); // todo aaron, change to use named parameters, remove setBeta function + Doodson(4) = -1 * fundArgs(5); // todo? change to use named parameters, remove setBeta function Doodson(1) = fundArgs(3) + fundArgs(5); Doodson(0) = fundArgs(0) - Doodson(1); Doodson(2) = Doodson(1) - fundArgs(4); @@ -572,4 +573,4 @@ void HfOceanEop::compute(Array6d& fundamentalArgs, double& x, double& y, double& lod += thread_lod; } } -} \ No newline at end of file +} diff --git a/src/cpp/orbprop/orbitProp.cpp b/src/cpp/orbprop/orbitProp.cpp index 3317d2e78..ca0d603af 100644 --- a/src/cpp/orbprop/orbitProp.cpp +++ b/src/cpp/orbprop/orbitProp.cpp @@ -15,7 +15,9 @@ #include "common/navigation.hpp" #include "common/sinex.hpp" #include "common/ubxDecoder.hpp" +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include "omp.h" +#endif #include "orbprop/acceleration.hpp" #include "orbprop/aod.hpp" #include "orbprop/boxwing.hpp" @@ -57,7 +59,7 @@ void OrbitIntegrator::computeCommon(GTime time) FrameSwapper frameSwapper(time, erpv); eci2ecf = frameSwapper.i2t_mat; - deci2ecf = frameSwapper.di2t_mat; // todo aaron, just fs this instead of matrices? + deci2ecf = frameSwapper.di2t_mat; // todo? just fs this instead of matrices? for (auto body : enum_values()) { @@ -1100,62 +1102,72 @@ Orbits prepareOrbits(Trace& trace, const KFState& kfState) case KF::EMP_P_0: { - orbit.empInput.push_back({false, 0, E_EmpAxis::P, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 0, E_EmpAxis::P, trigType, stateValue, subKey} ); break; } case KF::EMP_P_1: { - orbit.empInput.push_back({false, 1, E_EmpAxis::P, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 1, E_EmpAxis::P, trigType, stateValue, subKey} ); break; } case KF::EMP_P_2: { - orbit.empInput.push_back({false, 2, E_EmpAxis::P, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 2, E_EmpAxis::P, trigType, stateValue, subKey} ); break; } case KF::EMP_P_3: { - orbit.empInput.push_back({false, 3, E_EmpAxis::P, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 3, E_EmpAxis::P, trigType, stateValue, subKey} ); break; } case KF::EMP_P_4: { - orbit.empInput.push_back({false, 4, E_EmpAxis::P, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 4, E_EmpAxis::P, trigType, stateValue, subKey} ); break; } case KF::EMP_Q_0: { - orbit.empInput.push_back({false, 0, E_EmpAxis::Q, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 0, E_EmpAxis::Q, trigType, stateValue, subKey} ); break; } case KF::EMP_Q_1: { - orbit.empInput.push_back({false, 1, E_EmpAxis::Q, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 1, E_EmpAxis::Q, trigType, stateValue, subKey} ); break; } case KF::EMP_Q_2: { - orbit.empInput.push_back({false, 2, E_EmpAxis::Q, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 2, E_EmpAxis::Q, trigType, stateValue, subKey} ); break; } case KF::EMP_Q_3: { - orbit.empInput.push_back({false, 3, E_EmpAxis::Q, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 3, E_EmpAxis::Q, trigType, stateValue, subKey} ); break; } case KF::EMP_Q_4: { - orbit.empInput.push_back({false, 4, E_EmpAxis::Q, trigType, stateValue, subKey} + orbit.empInput.push_back( + {false, 4, E_EmpAxis::Q, trigType, stateValue, subKey} ); break; } diff --git a/src/cpp/orbprop/spaceWeather.cpp b/src/cpp/orbprop/spaceWeather.cpp index 56df35401..7badb1103 100644 --- a/src/cpp/orbprop/spaceWeather.cpp +++ b/src/cpp/orbprop/spaceWeather.cpp @@ -66,14 +66,18 @@ void SpaceWeather::read(std::string filepath) ///< File path to Space Weather f std::string ignore; iss >> ignore >> numMonthlyPredictedPoints; } - else if (line == "BEGIN OBSERVED" || line == "BEGIN DAILY_PREDICTED" || - line == "BEGIN MONTHLY_PREDICTED") + else if ( + line == "BEGIN OBSERVED" || line == "BEGIN DAILY_PREDICTED" || + line == "BEGIN MONTHLY_PREDICTED" + ) { // Skip section headers continue; } - else if (line == "END OBSERVED" || line == "END DAILY_PREDICTED" || - line == "END MONTHLY_PREDICTED") + else if ( + line == "END OBSERVED" || line == "END DAILY_PREDICTED" || + line == "END MONTHLY_PREDICTED" + ) { // Skip section endings continue; diff --git a/src/cpp/orbprop/staticField.cpp b/src/cpp/orbprop/staticField.cpp index 6ef1634b5..3d4101afd 100644 --- a/src/cpp/orbprop/staticField.cpp +++ b/src/cpp/orbprop/staticField.cpp @@ -9,7 +9,7 @@ using std::vector; -// todo aaron global +// todo? global StaticField egm; /** Read the static gravity field diff --git a/src/cpp/orbprop/tideCoeff.cpp b/src/cpp/orbprop/tideCoeff.cpp index 97192928f..026f2f4dd 100644 --- a/src/cpp/orbprop/tideCoeff.cpp +++ b/src/cpp/orbprop/tideCoeff.cpp @@ -120,7 +120,7 @@ void Tide::setBeta(GTime time, double ut1_utc) { FundamentalArgs fundArgs(time, ut1_utc); - beta(0) = fundArgs.gmst - fundArgs.f - fundArgs.omega; // todo aaron, swap with doodson? + beta(0) = fundArgs.gmst - fundArgs.f - fundArgs.omega; // todo? swap with doodson? beta(1) = fundArgs.f + fundArgs.omega; beta(2) = beta(1) - fundArgs.d; beta(3) = beta(1) - fundArgs.l; diff --git a/src/cpp/other_ssr/prototypeCmpSSRDecode.cpp b/src/cpp/other_ssr/prototypeCmpSSRDecode.cpp index ae43ae934..8d8a9f40c 100644 --- a/src/cpp/other_ssr/prototypeCmpSSRDecode.cpp +++ b/src/cpp/other_ssr/prototypeCmpSSRDecode.cpp @@ -121,8 +121,9 @@ double checkDisc(SatSys Sat, E_ObsCode code, double bias, int disc, int regionID newBias = true; else if (compactSsrPhaseDisc[regionID].find(Sat) == compactSsrPhaseDisc[regionID].end()) newBias = true; - else if (compactSsrPhaseDisc[regionID][Sat].find(code) == - compactSsrPhaseDisc[regionID][Sat].end()) + else if ( + compactSsrPhaseDisc[regionID][Sat].find(code) == compactSsrPhaseDisc[regionID][Sat].end() + ) newBias = true; auto& storedDisc = compactSsrPhaseDisc[regionID][Sat][code]; @@ -791,7 +792,7 @@ int decodeSSR_clock(vector& data, GTime now) if (ssrMeta.receivedTime > compactSsrLastTime) compactSsrLastTime = - ssrMeta.receivedTime; // todo aaron, this is all copy-paste in every function + ssrMeta.receivedTime; // todo? this is all copy-paste in every function if (now < compactSsrLastTime) return E_ReturnType::WAIT; diff --git a/src/cpp/other_ssr/prototypeCmpSSREncode.cpp b/src/cpp/other_ssr/prototypeCmpSSREncode.cpp index 4c82b6eba..cb0fd7e78 100644 --- a/src/cpp/other_ssr/prototypeCmpSSREncode.cpp +++ b/src/cpp/other_ssr/prototypeCmpSSREncode.cpp @@ -823,12 +823,12 @@ vector encodecompactBIA( map> stecPolyCommonMode; vector encodecompactTEC( - SSRMeta& ssrMeta, - int regId, - SSRAtmRegion& ssrAtmReg, - int updateIntIndex, - bool last - ) + SSRMeta& ssrMeta, + int regId, + SSRAtmRegion& ssrAtmReg, + int updateIntIndex, + bool last +) { vector buffer; @@ -1497,11 +1497,11 @@ vector encodeGridInfo(SSRAtm& ssrAtm) double thisLatDeg = regData.gridLatDeg[0]; double thisLonDeg = regData.gridLonDeg[0]; tmp = (int)round(regData.gridLatDeg[0] * 16284 / PI * D2R); - i = setbitsInc(buf, i, 15, tmp); // todo aaron, check scaling facotr - tmp = (int)round(regData.gridLonDeg[0] * 16284 / PI * D2R); - i = setbitsInc(buf, i, 16, tmp); - tmp = regData.gridLatDeg.size(); - i = setbituInc(buf, i, 6, tmp); + i = setbitsInc(buf, i, 15, tmp); // todo? check scaling facotr + tmp = (int)round(regData.gridLonDeg[0] * 16284 / PI * D2R); + i = setbitsInc(buf, i, 16, tmp); + tmp = regData.gridLatDeg.size(); + i = setbituInc(buf, i, 6, tmp); for (auto& [ind, lat] : regData.gridLatDeg) { diff --git a/src/cpp/other_ssr/prototypeIgsSSRDecode.cpp b/src/cpp/other_ssr/prototypeIgsSSRDecode.cpp index aa8a82dfd..1d9658c97 100644 --- a/src/cpp/other_ssr/prototypeIgsSSRDecode.cpp +++ b/src/cpp/other_ssr/prototypeIgsSSRDecode.cpp @@ -652,7 +652,7 @@ void decodeigsSSR_type8(vector& data, GTime now) return; SSRAtmGlobal ssrAtmGlobal; - ssrAtmGlobal.numberLayers = ssrHead.numLayers; // todo aaron, can these be the same thing? + ssrAtmGlobal.numberLayers = ssrHead.numLayers; // todo? can these be the same thing? ssrAtmGlobal.vtecQuality = ssrHead.vtecQuality; ssrAtmGlobal.time = ssrHead.time; @@ -667,7 +667,7 @@ void decodeigsSSR_type8(vector& data, GTime now) int nind = 0; for (int ord = 0; ord < layer.maxOrder; ord++) for (int deg = ord; deg < layer.maxDegree && i + 16 <= data.size() * 8; - deg++) // todo aaron duplicate size checks redundant? + deg++) // todo? duplicate size checks redundant? { layer.sphHarmonic[nind].layer = layerNum; diff --git a/src/cpp/other_ssr/prototypeIgsSSREncode.cpp b/src/cpp/other_ssr/prototypeIgsSSREncode.cpp index d1e832c98..a009a4988 100644 --- a/src/cpp/other_ssr/prototypeIgsSSREncode.cpp +++ b/src/cpp/other_ssr/prototypeIgsSSREncode.cpp @@ -632,8 +632,9 @@ vector encodeIGS_ATM(SSRAtm& ssrAtm, bool last) for (auto& [ibas, b] : vteclay.sphHarmonic) { basisMaps[ilay][b.degree][b.order][b.trigType] = b.value; - bitLen += 16 * (SQR(b.degree + 1) - (b.degree - b.order) * (b.degree - b.order + 1) - ); // todo aaron, check should be +1,0? + bitLen += 16 * (SQR(b.degree + 1) - + (b.degree - b.order) * + (b.degree - b.order + 1)); // todo? check should be +1,0? } int byteLen = ceil(bitLen / 8.0); diff --git a/src/cpp/pea/inputs.cpp b/src/cpp/pea/inputs.cpp index 49940c29f..1cbfa90b4 100644 --- a/src/cpp/pea/inputs.cpp +++ b/src/cpp/pea/inputs.cpp @@ -276,19 +276,24 @@ void addReceiverData( shared_ptr streamParser_ptr; if (dataType == "OBS") + { streamParser_ptr = make_shared(std::move(stream_ptr), std::move(parser_ptr)); + + auto& rec = receiverMap[id]; + rec.id = id; + } else if (dataType == "PSEUDO") + { streamParser_ptr = make_shared(std::move(stream_ptr), std::move(parser_ptr), true); + + auto& rec = receiverMap[id]; + rec.isPseudoRec = true; + } else + { streamParser_ptr = make_shared(std::move(stream_ptr), std::move(parser_ptr)); - - if (dataType == "OBS") - { - auto& rec = receiverMap[id]; - - rec.id = id; } streamParser_ptr->stream.sourceString = inputName; diff --git a/src/cpp/pea/main.cpp b/src/cpp/pea/main.cpp index e8f750848..3215eb339 100644 --- a/src/cpp/pea/main.cpp +++ b/src/cpp/pea/main.cpp @@ -1,17 +1,22 @@ // #pragma GCC optimize ("O0") #include +#include #include #include #include #include +#include #include #include #include #include +#include #include +#include #include #include +#include #include "architectureDocs.hpp" #include "common/algebraTrace.hpp" #include "common/api.hpp" @@ -36,13 +41,16 @@ #include "common/testUtils.hpp" #include "inertial/posProp.hpp" #include "iono/ionoModel.hpp" +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include "omp.h" +#endif #include "orbprop/coordinates.hpp" #include "orbprop/orbitProp.hpp" #include "pea/inputsOutputs.hpp" #include "pea/minimumConstraints.hpp" #include "pea/peaCommitStrings.hpp" #include "pea/preprocessor.hpp" +#include "slr/slr.hpp" using namespace std::literals::chrono_literals; using std::make_shared; @@ -85,6 +93,90 @@ Navigation nav = {}; int epoch = 0; GTime tsync = GTime::noTime(); map satIdMap; +map latestMissingObsStatusByReceiver; + +struct ConfiguredStreamState +{ + std::set configuredSources; + std::set configuredReceivers; +}; + +std::vector retiredStreamParsers; + +string streamDisplayName(const string& sourceString) +{ + URL url(sourceString); + + if (url.host.empty() == false && url.path.empty() == false) + { + if (url.path.front() == '/') + { + return url.path.substr(1); + } + + return url.path; + } + + return sourceString; +} + +void retireStreamParser(StreamParserPtr streamParser_ptr) +{ + if (streamParser_ptr == nullptr) + { + return; + } + + try + { + if (auto* tcpSocket = dynamic_cast(&streamParser_ptr->stream)) + { + tcpSocket->shutdown(); + } + } + catch (...) + { + } + + retiredStreamParsers.push_back(std::move(streamParser_ptr)); +} + +ConfiguredStreamState getConfiguredStreamState() +{ + ConfiguredStreamState state; + + auto addSources = [&](const vector& inputNames) + { state.configuredSources.insert(inputNames.begin(), inputNames.end()); }; + + auto addReceiverSources = [&](const auto& inputMap) + { + for (const auto& [id, inputNames] : inputMap) + { + state.configuredReceivers.insert(id); + addSources(inputNames); + } + }; + + for (const auto& [id, slrInputs] : slrObsFiles) + { + state.configuredReceivers.insert(id); + addSources(slrInputs); + } + + addReceiverSources(acsConfig.ubx_inputs); + addReceiverSources(acsConfig.sbf_inputs); + addReceiverSources(acsConfig.custom_inputs); + addReceiverSources(acsConfig.rnx_inputs); + addReceiverSources(acsConfig.obs_rtcm_inputs); + addReceiverSources(acsConfig.pseudo_sp3_inputs); + addReceiverSources(acsConfig.pseudo_snx_inputs); + + addSources(acsConfig.nav_rtcm_inputs); + addSources(acsConfig.qzs_rtcm_inputs); + addSources(acsConfig.sisnet_inputs); + + return state; +} void avoidCollisions(ReceiverMap& receiverMap) { @@ -126,9 +218,22 @@ void mainOncePerEpochPerStation(Receiver& rec, Network& net, bool& emptyEpoch, K if (rec.ready == false) { + string missingStatus; + if (auto it = latestMissingObsStatusByReceiver.find(rec.id); + it != latestMissingObsStatusByReceiver.end()) + { + missingStatus = it->second; + } + trace << "\n" << "Receiver " << rec.id << " has no data for this epoch"; - BOOST_LOG_TRIVIAL(info) << "Receiver " << rec.id << " has no data for this epoch"; + if (missingStatus.empty() == false) + { + trace << " (" << missingStatus << ")"; + } + + BOOST_LOG_TRIVIAL(info) << "Receiver " << rec.id << " has no data for this epoch" + << (missingStatus.empty() ? "" : " (" + missingStatus + ")"); return; } @@ -179,10 +284,30 @@ void mainOncePerEpochPerStation(Receiver& rec, Network& net, bool& emptyEpoch, K bool sppUsed; selectAprioriSource(trace, rec, tsync, sppUsed, net.kfState, &remoteState); - if (missingWarnInvalidate("Apriori position1", sppUsed, acsConfig.require_apriori_positions)) - return; + if (sppUsed) + { + string message = + "fixed receiver apriori position not found for " + rec.id + + "; using SPP fallback. Check receiver_options." + rec.id + + ".apriori_position, receiver_options." + rec.id + + ".models.pos.sources, and loaded SINEX station coordinates."; + + if (acsConfig.require_apriori_positions) + { + trace << "\n" + << "Warning: Receiver " << rec.id << " rejected because " << message; + BOOST_LOG_TRIVIAL(warning) << "Receiver " << rec.id << " rejected because " << message; + + rec.invalid = true; + + return; + } + + BOOST_LOG_TRIVIAL(warning) << message; + } + if (missingWarnInvalidate( - "Apriori position2", + "Receiver metadata apriori position", rec.failureAprioriPos, acsConfig.require_apriori_positions )) @@ -208,6 +333,7 @@ void mainOncePerEpochPerStation(Receiver& rec, Network& net, bool& emptyEpoch, K << rec.id; // calculate statistics + if (rec.obsList.empty() == false) { if ((GTime)rec.firstEpoch == GTime::noTime()) { @@ -302,7 +428,7 @@ void mainOncePerEpochPerSatellite( // reinitialise the options with the updated values satOpts._initialised = - false; // todo aaron, this is insufficient since the opts are inherited from the other + false; // todo? this is insufficient since the opts are inherited from the other // initialised ones per file which are not reset } @@ -601,12 +727,28 @@ int main(int argc, char** argv) bool pass = configure(argc, argv); if (pass == false) { - BOOST_LOG_TRIVIAL(error) << "Incorrect configuration"; + if (acsConfig.dry_run) + { + BOOST_LOG_TRIVIAL(error) << "Dry-run failed: configuration is invalid"; + } + else + { + BOOST_LOG_TRIVIAL(error) << "Incorrect configuration"; + } + BOOST_LOG_TRIVIAL(info) << "PEA finished"; TcpSocket::ioContext.stop(); return EXIT_FAILURE; } + if (acsConfig.dry_run) + { + BOOST_LOG_TRIVIAL(info) << "Dry-run successful: configuration and sanity checks passed"; + BOOST_LOG_TRIVIAL(info) << "PEA finished"; + TcpSocket::ioContext.stop(); + return EXIT_SUCCESS; + } + if (acsConfig.output_log) { addFileLog(acsConfig.log_json); @@ -678,7 +820,7 @@ int main(int argc, char** argv) pppNet.kfState.stateRejectCallbacks.push_back( rejectWorstMeasByState ); // Assume the state error is caused by a single measurement error and try removing it - // first + // first pppNet.kfState.stateRejectCallbacks.push_back(relaxState); pppNet.kfState.stateRejectCallbacks.push_back(rejectAllMeasByState); } @@ -695,12 +837,12 @@ int main(int argc, char** argv) ionNet.kfState.measRejectCallbacks.push_back(deweightMeas); - pppNet.kfState.stateRejectCallbacks.push_back(incrementStateErrors); + ionNet.kfState.stateRejectCallbacks.push_back(incrementStateErrors); ionNet.kfState.stateRejectCallbacks.push_back( rejectWorstMeasByState ); // Assume the state error is caused by a single measurement error and try removing it - // first - pppNet.kfState.stateRejectCallbacks.push_back(relaxState); + // first + ionNet.kfState.stateRejectCallbacks.push_back(relaxState); ionNet.kfState.stateRejectCallbacks.push_back(rejectAllMeasByState); } @@ -725,16 +867,29 @@ int main(int argc, char** argv) reloadInputFiles(); + auto hasRealtimeObservationInput = []() + { + for (auto& [id, streamParser_ptr] : streamParserMultimap) + { + auto* obsStream = dynamic_cast(streamParser_ptr.get()); + if (obsStream != nullptr && dynamic_cast(&obsStream->stream) != nullptr) + { + return true; + } + } + + return false; + }; + + bool hasRealtimeObsInput = hasRealtimeObservationInput(); + addDefaultBias(); TcpSocket::startClients(); if (acsConfig.start_epoch.is_not_a_date_time() == false) { - PTime startTime; - startTime.bigTime = boost::posix_time::to_time_t(acsConfig.start_epoch); - - GTime startGTime = startTime; + GTime startGTime = GTime(acsConfig.start_epoch); tsync = startGTime.floorTime(acsConfig.epoch_interval); if (tsync != startGTime) @@ -744,7 +899,7 @@ int main(int argc, char** argv) << acsConfig.epoch_interval << ", rounding down to " << tsync; } - acsConfig.start_epoch = boost::posix_time::from_time_t((time_t)((PTime)tsync).bigTime); + acsConfig.start_epoch = tsync.to_posixTime(); } createTracefiles(receiverMap, pppNet, ionNet); @@ -778,6 +933,7 @@ int main(int argc, char** argv) //============================================================================ GTime lastEpochStartTime; + GTime lastProcStartTime; GTime lastEpochStopTime; auto atLastEpoch = [&](bool processed = false) -> bool @@ -797,25 +953,25 @@ int main(int argc, char** argv) return false; } - int fractionalMilliseconds = (tsync.bigTime - (long int)tsync.bigTime) * 1000; - auto boostTime = boost::posix_time::from_time_t((time_t)((PTime)tsync).bigTime) + - boost::posix_time::millisec(fractionalMilliseconds); - GWeek week = tsync; GTow tow = tsync; if (processed) { - BOOST_LOG_TRIVIAL(info) << "Processed epoch #" << epoch << " - " << "GPS time: " << week - << " " << std::setw(6) << tow << " - " << boostTime << " (took " - << (lastEpochStopTime - lastEpochStartTime) << ")"; + BOOST_LOG_TRIVIAL(info) + << "Processed epoch #" << epoch << " - " << "GPS time: " << week << " " + << std::setw(6) << tow << " - " << tsync << " (data handling took " + << (lastProcStartTime - lastEpochStartTime) << ", processing took " + << (lastEpochStopTime - lastProcStartTime) << ", epoch took " + << (lastEpochStopTime - lastEpochStartTime) << ")"; } // Check end epoch - if (acsConfig.end_epoch.is_not_a_date_time() == false && boostTime >= acsConfig.end_epoch) + if (acsConfig.end_epoch.is_not_a_date_time() == false && + tsync.to_posixTime() >= acsConfig.end_epoch) { BOOST_LOG_TRIVIAL(info) - << "Exiting at epoch " << epoch << " (" << boostTime << ") as end epoch " + << "Exiting at epoch " << epoch << " (" << tsync << ") as end epoch " << acsConfig.end_epoch << " has been reached"; return true; @@ -835,8 +991,15 @@ int main(int argc, char** argv) auto nominalLoopStartTime = system_clock::now(); // The time the next loop is expected to start - if it doesnt start // until after this, it may be skipped + GTime firstObsTime = GTime::noTime(); + bool holdingReconnectOutage = false; + bool hasProcessedRealtimeEpoch = false; + auto reconnectOutageStart = system_clock::time_point{}; + auto lastOutageStatusLog = system_clock::time_point{}; + while (complete == false) { + // Increment epoch and tsync if (nextEpoch) { nextEpoch = false; @@ -847,6 +1010,8 @@ int main(int argc, char** argv) nominalLoopStartTime += std::chrono::milliseconds((int)(acsConfig.wait_next_epoch * 1000)); + lastEpochStartTime = timeGet(); + if (tsync != GTime::noTime()) { // dont obliterate the freshly configured tsync before the first epoch @@ -855,10 +1020,12 @@ int main(int argc, char** argv) tsync.bigTime += acsConfig.epoch_interval; } - if (fabs(tsync.bigTime - round(tsync.bigTime)) < acsConfig.epoch_tolerance) - { - tsync.bigTime = round(tsync.bigTime); - } + // Eugene: This will try forcing align tsync to integeral epochs, which can make + // processing epochs something like: 0.0, 0.3, 0.6, 1.0, ... + // if (fabs(tsync.bigTime - round(tsync.bigTime)) < acsConfig.epoch_tolerance) + // { + // tsync.bigTime = round(tsync.bigTime); + // } } for (auto& [id, rec] : receiverMap) @@ -893,7 +1060,7 @@ int main(int argc, char** argv) auto breakTime = nominalLoopStartTime + std::chrono::milliseconds((int)(acsConfig.max_rec_latency * 1000)); - if (loopEpochs) + if (loopEpochs) // Eugene: This doesn't do anything at all? { BOOST_LOG_TRIVIAL(info) << "Starting epoch #" << epoch; @@ -918,37 +1085,45 @@ int main(int argc, char** argv) // get observations from streams (allow some delay between stations, and retry, to ensure // all messages for the epoch have arrived) - map dataAvailableMap; - bool repeat = true; + map dataAvailableMap; + map missingObsReasons; + map missingObsSources; + map missingObsStates; + vector readyLatencySeconds; + bool repeat = true; + int attempt = 0; while (repeat && system_clock::now() < breakTime) { + attempt++; + repeat = false; // load any changes from the config bool newConfig = acsConfig.parse(); // make any changes to streams. + ConfiguredStreamState configuredStreamState; if (newConfig) { + reloadInputFiles(); configureUploadingStreams(); + configuredStreamState = getConfiguredStreamState(); } // remove any dead streams for (auto iter = streamParserMultimap.begin(); iter != streamParserMultimap.end();) { auto& [id, streamParser_ptr] = *iter; - auto& stream = streamParser_ptr->stream; + auto& stream = streamParser_ptr->stream; + string recId = id; auto& recOpts = acsConfig.getRecOpts(id); - if (recOpts.kill) + auto removeReceiver = [&]() { - BOOST_LOG_TRIVIAL(info) - << "Removing " << stream.sourceString << " due to kill config" << "\n"; - for (auto& [key, index] : pppNet.kfState.kfIndexMap) { - if (key.str == id) + if (key.str == recId) { pppNet.kfState.removeState(key); @@ -958,9 +1133,42 @@ int main(int argc, char** argv) } } - receiverMap.erase(id); + receiverMap.erase(recId); + }; + + if (newConfig && + configuredStreamState.configuredSources.find(stream.sourceString) == + configuredStreamState.configuredSources.end()) + { + auto retiredStreamParser = streamParser_ptr; + + BOOST_LOG_TRIVIAL(info) << "Removing " << stream.sourceString + << " because it is no longer configured"; + + streamDOAMap.erase(stream.sourceString); + + if (configuredStreamState.configuredReceivers.find(recId) == + configuredStreamState.configuredReceivers.end()) + { + removeReceiver(); + } iter = streamParserMultimap.erase(iter); + retireStreamParser(std::move(retiredStreamParser)); + + continue; + } + + if (recOpts.kill) + { + BOOST_LOG_TRIVIAL(info) + << "Removing " << stream.sourceString << " due to kill config"; + auto retiredStreamParser = streamParser_ptr; + + removeReceiver(); + + iter = streamParserMultimap.erase(iter); + retireStreamParser(std::move(retiredStreamParser)); continue; } @@ -981,8 +1189,7 @@ int main(int argc, char** argv) if (stream.isAvailable() && stream.isDead()) { - BOOST_LOG_TRIVIAL(info) - << "No more data available on " << stream.sourceString << "\n"; + BOOST_LOG_TRIVIAL(info) << "No more data available on " << stream.sourceString; // record as dead and erase streamDOAMap[stream.sourceString] = true; @@ -995,6 +1202,12 @@ int main(int argc, char** argv) iter++; } + if (newConfig) + { + hasRealtimeObsInput = hasRealtimeObservationInput(); + } + + // Check if all streams are dead if (streamParserMultimap.empty()) { static bool once = true; @@ -1012,6 +1225,10 @@ int main(int argc, char** argv) break; } + BOOST_LOG_TRIVIAL(debug) << "\n"; + BOOST_LOG_TRIVIAL(debug) << "tsync: " << tsync.to_string(6) << " - attempt " << attempt; + BOOST_LOG_TRIVIAL(debug) << "Parsing non-observation streams ..."; + // parse all non-observation streams for (auto& [id, streamParser_ptr] : streamParserMultimap) try @@ -1023,166 +1240,327 @@ int main(int argc, char** argv) streamParser_ptr->parse(); } - for (auto& [id, streamParser_ptr] : streamParserMultimap) + BOOST_LOG_TRIVIAL(debug) << "Parsing observation streams ..."; + + // Parse observation streams (including pseudo observations) for all receivers + for (auto& [id, rec] : receiverMap) { - ObsStream* obsStream_ptr; + auto& recOpts = acsConfig.getRecOpts(id); - try - { - obsStream_ptr = &dynamic_cast(*streamParser_ptr); - } - catch (std::bad_cast& e) + if (recOpts.exclude) { continue; } - auto& obsStream = *obsStream_ptr; - - if (obsStream.stream.isAvailable() == false) + if (rec.ready) { + BOOST_LOG_TRIVIAL(debug) << "Receiver " << id << " is ready, skipping ..."; continue; } - auto& recOpts = acsConfig.getRecOpts(id); + missingObsReasons[id] = "no_obs_stream"; - if (recOpts.exclude) + auto trace = getTraceFile(rec); + + // Search suitable data from all files from this receiver (for real-time data, there + // should be only one unique stream per receiver) + auto [begin, end] = streamParserMultimap.equal_range(id); + for (auto it = begin; it != end; it++) { - continue; - } + auto& streamParser_ptr = it->second; - auto& rec = receiverMap[id]; + ObsStream* obsStream_ptr; - auto trace = getTraceFile(rec); + try + { + obsStream_ptr = &dynamic_cast(*streamParser_ptr); + } + catch (std::bad_cast& e) + { + continue; + } - if (obsStream.isPseudoRec) - { - rec.isPseudoRec = true; - } + auto& obsStream = *obsStream_ptr; - // try to get some data (again) - if (rec.ready) - { - continue; - } + missingObsSources[id] = streamDisplayName(obsStream.stream.sourceString); - bool moreData = true; - while (moreData) - { - if (acsConfig.assign_closest_epoch) - rec.obsList = obsStream.getObs(tsync, acsConfig.epoch_interval / 2); - else - rec.obsList = obsStream.getObs(tsync, acsConfig.epoch_tolerance); + auto describeStreamState = [&](const string& reason) + { + std::ostringstream state; + state << "reason=" << reason + << ", source=" << streamDisplayName(obsStream.stream.sourceString) + << ", available=" << (obsStream.stream.isAvailable() ? "yes" : "no") + << ", dead=" << (obsStream.stream.isDead() ? "yes" : "no"); + + if (auto* tcpSocket = dynamic_cast(&obsStream.stream)) + { + long long nextReconnectUnixTime = tcpSocket->nextReconnectUnixTime(); + if (nextReconnectUnixTime > 0) + { + auto nowUnixTime = + std::chrono::system_clock::to_time_t(system_clock::now()); + long long reconnectInSeconds = + std::max(0LL, nextReconnectUnixTime - (long long)nowUnixTime); + state << ", reconnect_in_s=" << reconnectInSeconds; + } + else + { + state << ", reconnect_in_s=0"; + } + } + else + { + state << ", reconnect_in_s=n/a"; + } + + if (obsStream.obsAgeCode != E_ObsAgeCode::UNKNOWN) + { + state << ", obs_age=" << obsStream.obsAgeCode; + } + + return state.str(); + }; + + BOOST_LOG_TRIVIAL(debug) << "Reading stream '" << obsStream.stream.sourceString + << "', isAvailable=" << obsStream.stream.isAvailable() + << ", isDead=" << obsStream.stream.isDead(); - switch (obsStream.obsAgeCode) + if (obsStream.stream.isAvailable() == false) { - case E_ObsAgeCode::NO_OBS: - moreData = false; - break; - case E_ObsAgeCode::PAST_OBS: - preprocessor(trace, rec); - break; - case E_ObsAgeCode::CURRENT_OBS: - moreData = false; - preprocessor(trace, rec); - break; - case E_ObsAgeCode::FUTURE_OBS: - moreData = false; - break; + missingObsReasons[id] = "stream_unavailable"; + missingObsStates[id] = describeStreamState("stream_unavailable"); + BOOST_LOG_TRIVIAL(debug) << "Skipping unavailable stream '" + << obsStream.stream.sourceString << "'"; + continue; } - } - if (rec.obsList.empty()) - { - // failed to get observations - if (obsStream.obsAgeCode == E_ObsAgeCode::NO_OBS) + if (auto* tcpSocket = dynamic_cast(&obsStream.stream)) { - // try again later - repeat = true; - sleep_for(std::chrono::milliseconds(acsConfig.sleep_milliseconds)); + if (tcpSocket->reconnectDueAfter(breakTime)) + { + missingObsReasons[id] = "reconnect_after_breaktime"; + missingObsStates[id] = describeStreamState("reconnect_after_breaktime"); + BOOST_LOG_TRIVIAL( + debug + ) << "Skipping stream '" + << obsStream.stream.sourceString + << "' for this epoch because reconnect is scheduled after breakTime"; + continue; + } } - continue; - } + double epochTolerance = + DTTOL; // Use a very small tolerance if data interval is unknown (0) yet, + // otherwise can take in multiple-epoch data - if (tsync == GTime::noTime()) - { - tsync = rec.obsList.front()->time.floorTime(acsConfig.epoch_interval); + // try to get some data (again) + bool moreData = true; + while (moreData) + { + if (acsConfig.assign_closest_epoch) + { + BOOST_LOG_TRIVIAL(warning) + << "'assign_closest_epoch' is on, observations that fall between " + "processing epochs will be grouped to nearest epochs despite " + "'epoch_tolerance'"; - acsConfig.start_epoch = - boost::posix_time::from_time_t((time_t)((PTime)tsync).bigTime); + epochTolerance = acsConfig.epoch_interval / 2; + } + else if (obsStream.interval > 0) + { + epochTolerance = + std::min(obsStream.interval / 2, acsConfig.epoch_tolerance); + } + + BOOST_LOG_TRIVIAL(debug) + << "Getting obs, id=" << id << ", targetTime=" << tsync.to_string(6) + << ", epochTolerance=" << epochTolerance; + + GTime obsTime = tsync; + rec.obsList = obsStream.getObs(obsTime, epochTolerance); + + cleanSignals(rec.obsList); + + switch (obsStream.obsAgeCode) + { + case E_ObsAgeCode::UNKNOWN: + moreData = false; + if (firstObsTime == GTime::noTime() || obsTime < firstObsTime) + { + firstObsTime = obsTime; + } + break; + case E_ObsAgeCode::NO_OBS: + moreData = false; + break; + case E_ObsAgeCode::PAST_OBS: + preprocessor(trace, rec); + break; + case E_ObsAgeCode::CURRENT_OBS: + moreData = false; // Eugene to fix: May have more current obs from + // next file + preprocessor(trace, rec); + break; + case E_ObsAgeCode::FUTURE_OBS: + moreData = false; + break; + } - if (tsync + acsConfig.epoch_tolerance < rec.obsList.front()->time) + BOOST_LOG_TRIVIAL(debug) + << "Checking obs age and preprocessing data if needed" + << ", obsAgeCode=" << obsStream.obsAgeCode + << ", moreData=" << (moreData ? "true" : "false"); + } + + if (rec.obsList.empty()) { - repeat = true; - continue; + // Can only be NO_OBS or FUTURE_OBS + if (obsStream.obsAgeCode == E_ObsAgeCode::NO_OBS) + { + missingObsReasons[id] = "no_obs"; + missingObsStates[id] = describeStreamState("no_obs"); + // Failed to get observations, try again later + repeat = true; // Only need to retry on NO_OBS, for FUTURE_OBS, just + // move to next receiver + + BOOST_LOG_TRIVIAL(debug) + << "Failed to get observations, try again later ..."; + } + else if (obsStream.obsAgeCode == E_ObsAgeCode::FUTURE_OBS) + { + missingObsReasons[id] = "future_obs"; + missingObsStates[id] = describeStreamState("future_obs"); + } + else if (obsStream.obsAgeCode == E_ObsAgeCode::UNKNOWN) + { + missingObsReasons[id] = "unknown_obs_age"; + missingObsStates[id] = describeStreamState("unknown_obs_age"); + } + + break; } - } - dataAvailableMap[rec.id] = true; - rec.ready = true; - rec.source = obsStream.stream.sourceString; + dataAvailableMap[rec.id] = true; + missingObsReasons.erase(rec.id); + missingObsSources.erase(rec.id); + missingObsStates.erase(rec.id); + rec.ready = true; + rec.source = obsStream.stream.sourceString; - extractTrackedSignals(rec, obsStream.parser, &rec.obsList); + extractReceiverMetadata(rec, obsStream.parser, &rec.obsList); + extractTrackedSignals(rec, obsStream.parser, &rec.obsList); - auto now = system_clock::now(); + GTime readyTime = timeGet(); + if (tsync != GTime::noTime()) + { + double readyLatencySecondsValue = (readyTime - tsync).to_double(); + readyLatencySeconds.push_back(readyLatencySecondsValue); + + BOOST_LOG_TRIVIAL(debug) + << "Receiver " << rec.id << " ready diagnostic: attempt=" << attempt + << ", ready_time=" << readyTime << ", ready_latency_s=" << std::fixed + << std::setprecision(2) << readyLatencySecondsValue + << ", obs_count=" << rec.obsList.size() + << ", source=" << streamDisplayName(rec.source); + } + else + { + BOOST_LOG_TRIVIAL(debug) + << "Receiver " << rec.id << " ready diagnostic: attempt=" << attempt + << ", ready_time=" << readyTime + << ", ready_latency_s=startup_pending_tsync" + << ", obs_count=" << rec.obsList.size() + << ", source=" << streamDisplayName(rec.source); + } - if (now >= nominalLoopStartTime) - { - auto nominalLatency = now - nominalLoopStartTime; - - trace << "\n" - << std::chrono::duration_cast( - nominalLoopStartTime - peaStartTimeChrono - ) - .count() - << "ms" << " " - << std::chrono::duration_cast( - now - peaStartTimeChrono - ) - .count() - << "ms" << " " << rec.id << " nominal latency : " - << std::chrono::duration_cast(nominalLatency) - .count() - << "ms"; - } - else - { - // this observation is earlier than expected - // only shorten waiting periods, never extend - - auto nominalLatency = nominalLoopStartTime - now; - - trace << "\n" - << std::chrono::duration_cast( - nominalLoopStartTime - peaStartTimeChrono - ) - .count() - << "ms" << " " - << std::chrono::duration_cast( - now - peaStartTimeChrono - ) - .count() - << "ms" << " " << rec.id << " nominal latency : -" - << std::chrono::duration_cast(nominalLatency) - .count() - << "ms" << " Advancing start time"; - - auto alternateBreakTime = - now + std::chrono::milliseconds((int)(acsConfig.max_rec_latency * 1000)); - auto alternateStartTime = now; - - if (alternateBreakTime < breakTime) + auto now = system_clock::now(); + + if (now >= nominalLoopStartTime) { - breakTime = alternateBreakTime; + auto nominalLatency = now - nominalLoopStartTime; + + trace << "\n" + << std::chrono::duration_cast( + nominalLoopStartTime - peaStartTimeChrono + ) + .count() + << "ms" << " " + << std::chrono::duration_cast( + now - peaStartTimeChrono + ) + .count() + << "ms" << " " << rec.id << " nominal latency : " + << std::chrono::duration_cast( + nominalLatency + ) + .count() + << "ms"; } - if (alternateStartTime < nominalLoopStartTime) + else { - nominalLoopStartTime = alternateStartTime; + // this observation is earlier than expected + // only shorten waiting periods, never extend + + auto nominalLatency = nominalLoopStartTime - now; + + trace << "\n" + << std::chrono::duration_cast( + nominalLoopStartTime - peaStartTimeChrono + ) + .count() + << "ms" << " " + << std::chrono::duration_cast( + now - peaStartTimeChrono + ) + .count() + << "ms" << " " << rec.id << " nominal latency : -" + << std::chrono::duration_cast( + nominalLatency + ) + .count() + << "ms" << " Advancing start time"; + + auto alternateBreakTime = + now + + std::chrono::milliseconds((int)(acsConfig.max_rec_latency * 1000)); + auto alternateStartTime = now; + + if (alternateBreakTime < breakTime) + { + breakTime = alternateBreakTime; + } + if (alternateStartTime < nominalLoopStartTime) + { + nominalLoopStartTime = alternateStartTime; + } } + + break; } } + // Determine start time by earliest obs time and try getting obs again + if (tsync == GTime::noTime()) + { + tsync = firstObsTime.floorTime(acsConfig.epoch_interval); + + acsConfig.start_epoch = tsync.to_posixTime(); + + BOOST_LOG_TRIVIAL(warning) + << "Start epoch not configured, rounding down first obs time " << firstObsTime + << ", epoch_interval=" << acsConfig.epoch_interval + << ", start_epoch=" << tsync.to_string(6); + + repeat = true; + } + + if (repeat) + { + sleep_for(std::chrono::milliseconds(acsConfig.sleep_milliseconds)); + } } + BOOST_LOG_TRIVIAL(debug) << "Epoch data handling done with " << attempt << " attempt(s)\n"; + if (complete) { break; @@ -1200,6 +1578,107 @@ int main(int argc, char** argv) continue; } + if (dataAvailableMap.empty() && acsConfig.require_obs && hasProcessedRealtimeEpoch && + epoch > 1) + { + bool sawRealtimeObsStream = false; + long long earliestReconnectUnixTime = 0; + + for (auto& [id, streamParser_ptr] : streamParserMultimap) + { + ObsStream* obsStream_ptr = nullptr; + + try + { + obsStream_ptr = &dynamic_cast(*streamParser_ptr); + } + catch (std::bad_cast&) + { + continue; + } + + auto& obsStream = *obsStream_ptr; + + if (obsStream.isPseudoRec) + { + continue; + } + + auto* tcpSocket = dynamic_cast(&obsStream.stream); + if (tcpSocket == nullptr) + { + continue; + } + + sawRealtimeObsStream = true; + + long long nextReconnectUnixTime = tcpSocket->nextReconnectUnixTime(); + if (nextReconnectUnixTime > 0 && + (earliestReconnectUnixTime == 0 || + nextReconnectUnixTime < earliestReconnectUnixTime)) + { + earliestReconnectUnixTime = nextReconnectUnixTime; + } + } + + if (sawRealtimeObsStream) + { + if (holdingReconnectOutage == false) + { + holdingReconnectOutage = true; + reconnectOutageStart = system_clock::now(); + lastOutageStatusLog = reconnectOutageStart - 1s; + BOOST_LOG_TRIVIAL(info) << "Realtime outage hold active, keeping tsync at " + << tsync << " until realtime observations resume"; + } + + auto now = system_clock::now(); + + if (now - lastOutageStatusLog >= 1s) + { + auto outageElapsed = std::chrono::duration_cast( + now - reconnectOutageStart + ); + BOOST_LOG_TRIVIAL(info) << "Realtime outage hold ongoing, tsync=" << tsync + << ", outage_elapsed=" << outageElapsed.count() << "s"; + lastOutageStatusLog = now; + } + + auto holdSleep = std::chrono::milliseconds(acsConfig.sleep_milliseconds); + + if (earliestReconnectUnixTime > 0) + { + auto earliestReconnectTime = + system_clock::from_time_t((time_t)earliestReconnectUnixTime); + + if (earliestReconnectTime > now) + { + holdSleep = std::min( + std::chrono::duration_cast( + earliestReconnectTime - now + ), + std::chrono::milliseconds(1000) + ); + } + } + + sleep_for(holdSleep); + nominalLoopStartTime = system_clock::now(); + lastEpochStartTime = timeGet(); + + continue; + } + } + else if (holdingReconnectOutage) + { + holdingReconnectOutage = false; + auto outageElapsed = std::chrono::duration_cast( + system_clock::now() - reconnectOutageStart + ); + BOOST_LOG_TRIVIAL(info) << "Realtime outage hold released at tsync " << tsync + << " after " << outageElapsed.count() << "s"; + } + if (tsync == GTime::noTime()) { if (acsConfig.require_obs) @@ -1207,15 +1686,97 @@ int main(int argc, char** argv) tsync = timeGet().floorTime(acsConfig.epoch_interval); - acsConfig.start_epoch = boost::posix_time::from_time_t((time_t)((PTime)tsync).bigTime); + acsConfig.start_epoch = tsync.to_posixTime(); } - BOOST_LOG_TRIVIAL(info) << "Synced " << dataAvailableMap.size() << " receivers..."; + lastProcStartTime = timeGet(); + + bool realtimeProcessing = acsConfig.simulate_real_time || hasRealtimeObsInput; + + std::ostringstream syncSummary; + syncSummary << "Synced " << dataAvailableMap.size() << "/" << receiverMap.size() + << " receivers after " << attempt << " attempt(s)"; + + if (realtimeProcessing) + { + syncSummary << ", sync_now=" << lastProcStartTime + << ", sync_latency=" << (lastProcStartTime - tsync); + + if (readyLatencySeconds.empty() == false) + { + std::sort(readyLatencySeconds.begin(), readyLatencySeconds.end()); + + auto percentile = [&](double p) + { + size_t index = (size_t)std::floor(p * (readyLatencySeconds.size() - 1)); + return readyLatencySeconds[index]; + }; + + syncSummary << ", ready_latency_s[min/p25/p50/p75/max]=" << std::fixed + << std::setprecision(2) << readyLatencySeconds.front() << "/" + << percentile(0.25) << "/" << percentile(0.50) << "/" + << percentile(0.75) << "/" << readyLatencySeconds.back(); + } + + BOOST_LOG_TRIVIAL(info) << syncSummary.str(); + } + else if (attempt > 1 || dataAvailableMap.size() < receiverMap.size()) + { + BOOST_LOG_TRIVIAL(info) << syncSummary.str(); + } + else + { + BOOST_LOG_TRIVIAL(debug) << syncSummary.str(); + } + + for (auto& [id, rec] : receiverMap) + { + if (dataAvailableMap.find(id) != dataAvailableMap.end()) + { + latestMissingObsStatusByReceiver.erase(id); + continue; + } + + auto it = missingObsReasons.find(id); + if (it == missingObsReasons.end()) + { + latestMissingObsStatusByReceiver.erase(id); + continue; + } + + std::ostringstream missingDiagnostic; + missingDiagnostic << "Receiver " << id << " not-ready diagnostic: attempts=" << attempt + << ", sync_reason=" << it->second + << ", sync_latency=" << (lastProcStartTime - tsync); + + auto sourceIt = missingObsSources.find(id); + if (sourceIt != missingObsSources.end() && sourceIt->second.empty() == false) + { + missingDiagnostic << ", source=" << sourceIt->second; + } + + auto stateIt = missingObsStates.find(id); + if (stateIt != missingObsStates.end() && stateIt->second.empty() == false) + { + latestMissingObsStatusByReceiver[id] = stateIt->second; + missingDiagnostic << ", state={" << stateIt->second << "}"; + } + else + { + latestMissingObsStatusByReceiver.erase(id); + } + + BOOST_LOG_TRIVIAL(debug) << missingDiagnostic.str(); + } - lastEpochStartTime = timeGet(); if (acsConfig.require_obs == false || dataAvailableMap.empty() == false) { mainOncePerEpoch(pppNet, ionNet, receiverMap, tsync); + + if (acsConfig.require_obs && dataAvailableMap.empty() == false) + { + hasProcessedRealtimeEpoch = true; + } } lastEpochStopTime = timeGet(); diff --git a/src/cpp/pea/minimumConstraints.cpp b/src/cpp/pea/minimumConstraints.cpp index 38349175e..e7c24575d 100644 --- a/src/cpp/pea/minimumConstraints.cpp +++ b/src/cpp/pea/minimumConstraints.cpp @@ -219,7 +219,7 @@ void mincon( if (acsConfig.mincon_only) { - long int startPos = -1; + std::streamoff startPos = -1; E_SerialObject type = getFilterTypeFromFile(startPos, acsConfig.mincon_filename); } @@ -309,8 +309,8 @@ void mincon( aprioriPos = rec.minconApriori; aprioriPosVar = rec.aprioriPosVar * SQR(recOpts.mincon_scale_apriori_sigma); filterVar = kfStateStations.P.block(index, index, 3, 3) * - SQR(recOpts.mincon_scale_filter_sigma); - str = rec.id; + SQR(recOpts.mincon_scale_filter_sigma); + str = rec.id; hasStations = true; } @@ -329,8 +329,8 @@ void mincon( aprioriPos = satNav.aprioriPos; aprioriPosVar = Matrix3d::Identity() * SQR(satOpts.mincon_scale_apriori_sigma); filterVar = kfStateStations.P.block(index, index, 3, 3) * - SQR(satOpts.mincon_scale_filter_sigma); - str = key.Sat.id(); + SQR(satOpts.mincon_scale_filter_sigma); + str = key.Sat.id(); hasSatellites = true; } @@ -508,7 +508,7 @@ void mincon( double value = deltaR(xyz); meas.setValue(value); - // todo Eugene: set noise + // todo? set noise // Add null measurement and continue, its needed for inverse later @@ -1029,7 +1029,7 @@ void outputMinconStatistics(Trace& trace, MinconStatistics& minconStatistics, co KFState minconOnly(Trace& trace, ReceiverMap& receiverMap) { - long int startPos = -1; + std::streamoff startPos = -1; E_SerialObject type = getFilterTypeFromFile(startPos, acsConfig.mincon_filename); if (type != E_SerialObject::FILTER_PLUS) { diff --git a/src/cpp/pea/outputs.cpp b/src/cpp/pea/outputs.cpp index 26da9c84b..e21c04e1e 100644 --- a/src/cpp/pea/outputs.cpp +++ b/src/cpp/pea/outputs.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "architectureDocs.hpp" #include "common/acsConfig.hpp" #include "common/algebraTrace.hpp" @@ -38,6 +39,7 @@ using boost::date_time::not_a_date_time; using std::max; +using std::unordered_set; using std::this_thread::sleep_for; Output Outputs__() @@ -192,6 +194,15 @@ void createTracefiles(ReceiverMap& receiverMap, Network& pppNet, Network& ionNet { boost::posix_time::ptime logptime = currentLogptime(); createDirectories(logptime); + unordered_set activeTraceFilenames; + + auto addActiveTraceFilename = [&](const string& filename) + { + if (filename.empty() == false) + { + activeTraceFilenames.insert(filename); + } + }; startNewMongoDb( "PRIMARY", @@ -603,13 +614,16 @@ void createTracefiles(ReceiverMap& receiverMap, Network& pppNet, Network& ionNet if (acsConfig.output_decoded_rtcm_json) { - createNewTraceFile( + bool changed = createNewTraceFile( id, rtcmParser.rtcmMountpoint, logptime, acsConfig.decoded_rtcm_json_filename, rtcmParser.rtcmTraceFilename ); + + if (changed) + rtcmParser.openTraceFile(); } for (auto nav : {false, true}) @@ -635,13 +649,20 @@ void createTracefiles(ReceiverMap& receiverMap, Network& pppNet, Network& ionNet else filename = acsConfig.rtcm_obs_filename; - createNewTraceFile( + string nextRecordFilename = rtcmParser.recordFilename; + + bool changed = createNewTraceFile( id, rtcmParser.rtcmMountpoint, logptime, filename, - rtcmParser.recordFilename + nextRecordFilename ); + + if (changed) + { + rtcmParser.setRecordFilename(nextRecordFilename); + } } } } @@ -708,6 +729,39 @@ void createTracefiles(ReceiverMap& receiverMap, Network& pppNet, Network& ionNet catch (std::bad_cast& e) { /* Ignore expected bad casts for different types */ } + + for (auto& [Sat, satNav] : nav.satNavMap) + { + if (acsConfig.output_satellite_trace) + { + addActiveTraceFilename(satNav.traceFilename); + } + } + + for (auto& [id, rec] : receiverMap) + { + if (acsConfig.output_receiver_trace) + { + addActiveTraceFilename(rec.traceFilename); + } + + if (acsConfig.output_json_trace) + { + addActiveTraceFilename(rec.jsonTraceFilename); + } + } + + if (acsConfig.output_network_trace) + { + addActiveTraceFilename(pppNet.traceFilename); + } + + if (acsConfig.output_ionosphere_trace) + { + addActiveTraceFilename(ionNet.traceFilename); + } + + retainTraceFiles(activeTraceFilenames); } void outputPredictedStates(Trace& trace, KFState& kfState) @@ -1025,11 +1079,8 @@ void perEpochPostProcessingAndOutputs( MinconStatistics minconStatistics; - mincon( - pppTrace, - augmentedKF, - &minconStatistics - ); // todo aaron, orbits apriori need etting + mincon(pppTrace, augmentedKF, + &minconStatistics); // todo? orbits apriori need etting augmentedKF.outputStates(pppTrace, "/CONSTRAINED" + _RTS); diff --git a/src/cpp/pea/pea_snx.cpp b/src/cpp/pea/pea_snx.cpp index 7e041919e..d9dcb6ea9 100644 --- a/src/cpp/pea/pea_snx.cpp +++ b/src/cpp/pea/pea_snx.cpp @@ -17,6 +17,17 @@ using boost::algorithm::to_lower_copy; void getStationsFromSinex(map& receiverMap, KFState& kfState) {} +static string resolvedReceiverType(const Receiver& rec) +{ + return rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : rec.receiverType; +} + +static string resolvedAntennaType(const Receiver& rec) +{ + return rec.metadata.antennaDescriptor.valid ? rec.metadata.antennaDescriptor.value + : rec.antennaType; +} + void sinexPostProcessing(GTime time, map& receiverMap, KFState& netKFState) { theSinex.inputFiles.clear(); @@ -48,7 +59,7 @@ void sinexPostProcessing(GTime time, map& receiverMap, KFState // Add other statistics as they become available... sinexAddStatistic("SAMPLING INTERVAL (SECONDS)", acsConfig.epoch_interval); - char obsCode = 'P'; // GNSS measurements + char obsCode = 'P'; // GNSS measurements // Eugene: SLR? char constCode = ' '; string solcont = "ST"; @@ -58,8 +69,9 @@ void sinexPostProcessing(GTime time, map& receiverMap, KFState string data_agc = ""; PTime startTime; - startTime.bigTime = boost::posix_time::to_time_t(acsConfig.start_epoch - ); // todo aaron, make these constructors for ptime. + startTime.bigTime = boost::posix_time::to_time_t( + acsConfig.start_epoch + ); // todo? make these constructors for ptime. KFState sinexSubstate = mergeFilters({&netKFState}, {KF::ONE, KF::REC_POS, KF::REC_POS_RATE}); @@ -79,107 +91,94 @@ void sinexPostProcessing(GTime time, map& receiverMap, KFState replaceTimes(filename, acsConfig.start_epoch); - writeSinex(filename, sinexSubstate, receiverMap); + writeSinex(filename, sinexSubstate, receiverMap, (GTime)startTime, time); } -void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec) +void updateReceiverMetadata(GTime time, Receiver& rec) { if (rec.id.empty()) { return; } - { - auto& solEpoch = theSinex.solEpochMap[rec.id]; - - solEpoch.sitecode = rec.id; - solEpoch.typecode = '-'; - solEpoch.ptcode = "A"; - solEpoch.solnnum = "0"; - if ((GTime)solEpoch.start == GTime::noTime()) - solEpoch.start = time; - solEpoch.end = time; - solEpoch.mean = - (GTime)solEpoch.start + ((GTime)solEpoch.end - (GTime)solEpoch.start).to_double() / 2; - } - - // check the station data for currency. If later that the end time, refresh Sinex data - UYds yds = time; - UYds defaultStop(-1, -1, -1); + rec.failureEccentricity = true; - if (rec.snx.stop > yds && rec.snx.stop > defaultStop) + // Try config first + auto& recOpts = acsConfig.getRecOpts(rec.id); { - // already have valid data - return; - } - - string snxId = rec.id; + rec.metadata.ingestConfig(recOpts); + syncReceiverMetadata(rec); - if (cdpIdMap.find(rec.id) != cdpIdMap.end()) - { - // need to use CDP ID for SLR stations if possible - int cdpId = cdpIdMap.at(rec.id); - assert(cdpId >= 1000); // if fails, need to consider zero-padding in sinex files - snxId = std::to_string(cdpId); + rec.failureEccentricity = + recOpts.eccentricityModel.enable && rec.metadata.antennaDelta.valid == false; + rec.failureAprioriPos = rec.metadata.stationPosition.valid == false; } - rec.failureEccentricity = rec.antDelta.isZero(); - - auto& recOpts = acsConfig.getRecOpts(rec.id); + // Try sinex if anything not found from config + if (rec.failureEccentricity || resolvedReceiverType(rec).empty() || + resolvedAntennaType(rec).empty() || rec.failureAprioriPos) { - auto& eccModel = recOpts.eccentricityModel; - if (rec.antDelta.isZero() && eccModel.enable) + if ((GTime)rec.snx.stop < time || rec.snx.stop == UYds(0, 0, 0)) { - rec.antDelta = recOpts.eccentricityModel.eccentricity; - rec.failureEccentricity = false; + string snxId = rec.id; + if (cdpIdMap.find(rec.id) != cdpIdMap.end()) + { + // need to use CDP ID for SLR stations if possible + int cdpId = cdpIdMap.at(rec.id); + assert(cdpId >= 1000); // if fails, need to consider zero-padding in sinex files + snxId = std::to_string(cdpId); + } + + auto result = getRecSnx( + snxId, + time, + rec.snx + ); + rec.failureSinex = result.failureSiteId; } - if (rec.antennaType.empty()) - rec.antennaType = recOpts.antenna_type; - if (rec.receiverType.empty()) - rec.receiverType = recOpts.receiver_type; - } - string refSys = "UNE"; - auto result = getRecSnx(snxId, time, rec.snx); - if (!result.failureSiteId) - { - if (rec.antDelta.isZero() && rec.snx.ecc_ptr != nullptr) + if (rec.failureSinex == false) { - rec.antDelta = rec.snx.ecc_ptr->ecc; - refSys = rec.snx.ecc_ptr->rs; - rec.failureEccentricity = false; - } - if (rec.antennaType.empty() && rec.snx.ant_ptr != nullptr) - rec.antennaType = rec.snx.ant_ptr->type; - if (rec.receiverType.empty() && rec.snx.rec_ptr != nullptr) - rec.receiverType = rec.snx.rec_ptr->type; - } + rec.metadata.ingestSinex(rec.snx); + syncReceiverMetadata(rec); - if (result.failureSiteId) - { - rec.failureSinex = true; + rec.failureEccentricity = + recOpts.eccentricityModel.enable && rec.metadata.antennaDelta.valid == false; + rec.failureAprioriPos = rec.metadata.stationPosition.valid == false; + } } +} - if (result.failureEstimate && recOpts.apriori_pos.isZero()) +void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec) +{ + if (rec.id.empty()) { - rec.failureAprioriPos = true; + return; } - if (refSys != "UNE") { - rec.failureEccentricity = true; + // Eugene: Delete this? + auto& solEpoch = theSinex.solEpochMap[rec.id]; - BOOST_LOG_TRIVIAL( - error - ) << "Receiver eccentricity referency system != UNE"; // todo aaron, this needs - // duplication elsewhere, rs - // unchecked + solEpoch.sitecode = rec.id; + solEpoch.ptcode = "A"; + solEpoch.solnnum = "1"; + solEpoch.typecode = 'P'; // GPS by default // Eugene: SLR? + if ((GTime)solEpoch.start == GTime::noTime()) + solEpoch.start = time; + solEpoch.end = time; + solEpoch.mean = + (GTime)solEpoch.start + ((GTime)solEpoch.end - (GTime)solEpoch.start).to_double() / 2; } - if (rec.receiverType.empty() == false) + updateReceiverMetadata(time, rec); + + // Update receiver options + string receiverType = resolvedReceiverType(rec); + if (receiverType.empty() == false) { - string receiverType = to_lower_copy(rec.receiverType); - receiverType = receiverType.substr(0, receiverType.find(" ")); + receiverType = to_lower_copy(receiverType); + receiverType = receiverType.substr(0, receiverType.find(" ")); auto [it, inserted] = acsConfig.customAliasesMap[rec.id].insert(receiverType); if (inserted) @@ -193,19 +192,17 @@ void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec) } } - // Initialise the receiver antenna information - for (bool once : {1}) + // Initialise the antenna information { - string nullstring = ""; - string tmpant = rec.antennaType; + string antennaType = resolvedAntennaType(rec); + string tmpant = antennaType; if (tmpant.empty()) { - trace << "Antenna name not specified" << rec.id << ": Antenna name not specified"; - - rec.failureAntenna = true; + BOOST_LOG_TRIVIAL(warning) << "Antenna name not specified for " << rec.id; + trace << "Antenna name not specified for " << rec.id << "\n"; - break; + return; } bool found; @@ -214,7 +211,7 @@ void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec) { // all good, carry on rec.antennaId = tmpant; - break; + return; } // Try searching under the antenna type with DOME => NONE @@ -223,15 +220,16 @@ void sinexPerEpochPerStation(Trace& trace, GTime time, Receiver& rec) found = findAntenna(tmpant, E_Sys::GPS, time, nav, F1); if (found) { - trace << "Using '" << tmpant << "' instead of: '" << rec.antennaType - << "' for radome of " << rec.id; + BOOST_LOG_TRIVIAL(warning) << "Using '" << tmpant << "' instead of: '" << antennaType + << "' for radome of " << rec.id; + trace << "Using '" << tmpant << "' instead of: '" << antennaType << "' for radome of " + << rec.id << "\n"; rec.antennaId = tmpant; - break; + return; } - trace << "No information for antenna " << rec.antennaType; - - rec.failureAntenna = true; + BOOST_LOG_TRIVIAL(warning) << "No information for antenna " << antennaType; + trace << "No information for antenna " << antennaType << "\n"; } } diff --git a/src/cpp/pea/ppp.cpp b/src/cpp/pea/ppp.cpp index 6b4f36300..bbed5b52f 100644 --- a/src/cpp/pea/ppp.cpp +++ b/src/cpp/pea/ppp.cpp @@ -368,24 +368,64 @@ void updateAprioriRecPos( KFState* remote_ptr ) { + auto useResolvedMetadataStationPosition = [&](E_Source& foundSource) -> bool + { + if (rec.metadata.stationPosition.valid == false) + { + return false; + } + + rec.aprioriPos = rec.metadata.stationPosition.value; + foundSource = E_Source::META; + + if (rec.metadata.stationPosition.winningSource == E_ReceiverMetaSource::SINEX && + rec.snx.pos.isZero() == false) + { + rec.primaryApriori = rec.snx.primary; + rec.aprioriTime = rec.snx.start; + } + + return true; + }; + E_Source foundSource = E_Source::NONE; for (auto source : recOpts.posModel.sources) { switch (source) { + case E_Source::META: + { + if (useResolvedMetadataStationPosition(foundSource)) + { + break; + } + + continue; + } case E_Source::CONFIG: { + if (useResolvedMetadataStationPosition(foundSource)) + { + break; + } + if (recOpts.apriori_pos.isZero()) { continue; } rec.aprioriPos = recOpts.apriori_pos; + foundSource = E_Source::CONFIG; break; } case E_Source::PRECISE: { + if (useResolvedMetadataStationPosition(foundSource)) + { + break; + } + if (rec.snx.pos.isZero()) { continue; @@ -393,10 +433,8 @@ void updateAprioriRecPos( rec.aprioriPos = rec.snx.pos; rec.primaryApriori = rec.snx.primary; - for (int i = 0; i < 3; i++) - { - rec.aprioriTime[i] = rec.snx.start[i]; - } + rec.aprioriTime = rec.snx.start; + foundSource = E_Source::PRECISE; break; } @@ -424,6 +462,7 @@ void updateAprioriRecPos( continue; } + foundSource = E_Source::REMOTE; break; } case E_Source::SPP: @@ -436,7 +475,8 @@ void updateAprioriRecPos( rec.aprioriTime = rec.sol.sppTime; rec.aprioriPos = rec.sol.sppPos; - sppUsed = true; + sppUsed = true; + foundSource = E_Source::SPP; break; } @@ -459,8 +499,10 @@ void updateAprioriRecPos( } } - foundSource = source; - break; + if (foundSource != E_Source::NONE) + { + break; + } } if (foundSource == E_Source::NONE) @@ -477,6 +519,30 @@ void updateAprioriRecPos( rec.aprioriPos.y(), rec.aprioriPos.z() ); + + string receiverType = + rec.metadata.receiverType.valid ? rec.metadata.receiverType.value : ""; + string antennaType = rec.metadata.antennaDescriptor.valid ? rec.metadata.antennaDescriptor.value + : ""; + Vector3d antennaEccentricity = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : Vector3d::Zero(); + + tracepdeex( + 4, + trace, + "\nReceiver metadata:" + " receiver_type[%s]='%s'" + " antenna_type[%s]='%s'" + " antenna_eccentricity[%s]=%f %f %f", + enum_to_string(rec.metadata.receiverType.winningSource), + receiverType.c_str(), + enum_to_string(rec.metadata.antennaDescriptor.winningSource), + antennaType.c_str(), + enum_to_string(rec.metadata.antennaDelta.winningSource), + antennaEccentricity.x(), + antennaEccentricity.y(), + antennaEccentricity.z() + ); } void updateAprioriRecClk( @@ -555,7 +621,7 @@ void updateAprioriRecClk( } rec.aprioriClk = rec.sol.sppClk; - rec.aprioriClkVar = SQR(30); // todo Eugene: use estimated var + rec.aprioriClkVar = SQR(30); // todo? use estimated var break; } @@ -626,7 +692,7 @@ void selectAprioriSource( Matrix3d varianceXYZ = E.transpose() * enuNoise * E; - rec.aprioriPosVar = varianceXYZ; // todo Eugene: use estimated var for SPP + rec.aprioriPosVar = varianceXYZ; // todo? use estimated var for SPP } else { @@ -667,7 +733,7 @@ void addRejectDetails( tracepdeex( 0, trace, - "\n%s\t%-24s\t- %7s\t%s", + "\n%s\t%-24s\t- %-7s\t%s", time.to_string().c_str(), action.c_str(), reason.c_str(), @@ -680,7 +746,7 @@ void addRejectDetails( if (detail.isBool() == false) { - tracepdeex(0, trace, ": %s", detail.value().c_str()); + tracepdeex(0, trace, ": %12s", detail.value().c_str()); } }; @@ -824,7 +890,7 @@ void removeBadAmbiguities( E_FType ft = (E_FType)key.num; preprocSigName = - ft2string(ft); // todo aaron, is this redundant now that network is gone? + ft2string(ft); // todo? is this redundant now that network is gone? sigName = preprocSigName; } @@ -857,8 +923,8 @@ void removeBadAmbiguities( if (preprocSigStat.savedSlip.any && ((acsConfig.ambErrors.resetOnSlip.LLI && preprocSigStat.savedSlip.LLI) || (acsConfig.ambErrors.resetOnSlip.retrack && preprocSigStat.savedSlip.retrack) || - (acsConfig.ambErrors.resetOnSlip.single_freq && preprocSigStat.savedSlip.singleFreq - ) || + (acsConfig.ambErrors.resetOnSlip.single_freq && + preprocSigStat.savedSlip.singleFreq) || (acsConfig.ambErrors.resetOnSlip.GF && preprocSigStat.savedSlip.GF) || (acsConfig.ambErrors.resetOnSlip.MW && preprocSigStat.savedSlip.MW) || (acsConfig.ambErrors.resetOnSlip.SCDIA && preprocSigStat.savedSlip.SCDIA))) @@ -1201,8 +1267,7 @@ void outputPppNmea(Trace& trace, KFState& kfState, string id) // sqrt(phase_biasVar)); // } - if (key.type == KF::TROP // todo aaron needs iteration - && key.str == id) + if (key.type == KF::TROP && key.str == id) // todo? needs iteration { string grad; double trop = 0; diff --git a/src/cpp/pea/ppp_ambres.cpp b/src/cpp/pea/ppp_ambres.cpp index 71fd434c7..855081ee3 100644 --- a/src/cpp/pea/ppp_ambres.cpp +++ b/src/cpp/pea/ppp_ambres.cpp @@ -264,7 +264,7 @@ bool queryBiasUC( kfKey.Sat = Sat; kfKey.num = static_cast(code); - if (Sat.prn == 0) // todo aaron, check if needed and reverse logic + if (Sat.prn == 0) // todo? check if needed and reverse logic { auto& recOpts = acsConfig.getRecOpts(rec, {Sat.sysName(), enum_to_string(code)}); diff --git a/src/cpp/pea/ppp_callbacks.cpp b/src/cpp/pea/ppp_callbacks.cpp index e664df7a3..d9163b486 100644 --- a/src/cpp/pea/ppp_callbacks.cpp +++ b/src/cpp/pea/ppp_callbacks.cpp @@ -22,8 +22,7 @@ bool deweightMeas(RejectCallbackDetails rejectDetails) if (acsConfig.measErrors.enable == false) { - BOOST_LOG_TRIVIAL(warning) - << "Warning: Bad measurement detected but `meas_deweighting` not enabled"; + BOOST_LOG_TRIVIAL(warning) << "Bad measurement detected but `meas_deweighting` not enabled"; return true; } @@ -38,7 +37,7 @@ bool deweightMeas(RejectCallbackDetails rejectDetails) string description; if (stage == E_FilterStage::LSQ) { - description = "Least Squares"; + description = "LeastSquares"; residual = kfMeas.VV(measIndex); } else if (stage == E_FilterStage::PREFIT) @@ -77,7 +76,7 @@ bool deweightMeas(RejectCallbackDetails rejectDetails) { GObs& obs = *obs_ptr; - obs.excludeOutlier = true; // todo Eugene: exclude signal instead of obs + obs.excludeOutlier = true; // todo? exclude signal instead of obs trace << "\n" << obs.Sat.id() << " will be excluded next SPP iteration"; } @@ -136,8 +135,32 @@ bool deweightStationMeas(RejectCallbackDetails rejectDetails) auto& measIndex = rejectDetails.measIndex; auto& stage = rejectDetails.stage; + if (acsConfig.measErrors.enable == false) + { + BOOST_LOG_TRIVIAL(warning) + << "Bad station measurement detected but `meas_deweighting` not enabled"; + + return true; + } + + double deweightFactor = acsConfig.measErrors.deweight_factor; + string id = kfMeas.obsKeys[measIndex].str; + string description; + if (stage == E_FilterStage::LSQ) + { + description = "LeastSquares"; + } + else if (stage == E_FilterStage::PREFIT) + { + description = "Prefit"; + } + else if (stage == E_FilterStage::POSTFIT) + { + description = "Postfit"; + } + for (int i = 0; i < kfMeas.obsKeys.size(); i++) { auto& key = kfMeas.obsKeys[i]; @@ -147,22 +170,6 @@ bool deweightStationMeas(RejectCallbackDetails rejectDetails) continue; } - double deweightFactor = acsConfig.measErrors.deweight_factor; - - string description; - if (stage == E_FilterStage::LSQ) - { - description = "Least Squares"; - } - else if (stage == E_FilterStage::PREFIT) - { - description = "Prefit"; - } - else if (stage == E_FilterStage::POSTFIT) - { - description = "Postfit"; - } - addRejectDetails(kfState.time, trace, kfState, key, "Station Meas Deweighted", description); kfMeas.R.row(i) *= deweightFactor; @@ -450,7 +457,7 @@ bool rejectAllMeasByState(RejectCallbackDetails rejectDetails) auto& stateIndex = rejectDetails.stateIndex; trace << "\n" - << "Bad state detected " << kfKey << " - rejecting all referencing measurements" << "\n"; + << "Bad state detected: " << kfKey << " - rejecting all referencing measurements" << "\n"; for (int measIndex = 0; measIndex < kfMeas.H.rows(); measIndex++) { @@ -596,26 +603,28 @@ bool relaxState(RejectCallbackDetails rejectDetails) if (acsConfig.stateErrors.enable == false) { - BOOST_LOG_TRIVIAL(warning) - << "Warning: Bad state detected but `state_deweighting` not enabled"; + BOOST_LOG_TRIVIAL(warning) << "Bad state detected but `state_deweighting` not enabled"; return true; } + string description; double deweightFactor = 1; if (stage == E_FilterStage::PREFIT) { + description = "Prefit"; deweightFactor = abs(kfState.prefitRatios(stateIndex)); } else if (stage == E_FilterStage::POSTFIT) { + description = "Postfit"; deweightFactor = abs(kfState.postfitRatios(stateIndex)); } // deweightFactor = std::min(abs(deweightFactor), 5000.0); // To avoid breaking // filter, maximum process noise allowed is 5000 times of prefit sigma trace << "\n" - << "Bad state detected " << kfKey << " - relaxing state"; + << "Bad state detected: " << kfKey << " - relaxing state"; kfState.statisticsMap["State rejection"]++; @@ -636,11 +645,21 @@ bool relaxState(RejectCallbackDetails rejectDetails) continue; } - double procNoise = deweightFactor * sqrt(kfState.P(index, index)); - - trace << "\n - Adding " << procNoise << " to sigma of " << key; - - Q(index, index) = SQR(procNoise); + double preSigma = sqrt(kfState.P(index, index)); + Q(index, index) = SQR(deweightFactor * preSigma); + double postSigma = sqrt(kfState.P(index, index) + Q(index, index)); + + addRejectDetails( + kfState.time, + trace, + kfState, + key, + "State Relaxed", + description, + {{"Adjustment", kfState.dx(index)}, + {"preTransitionSigma", preSigma}, + {"postTransitionSigma", postSigma}} + ); if (key.type == KF::ORBIT && key.num >= 3 && acsConfig.satelliteErrors.enable && acsConfig.satelliteErrors.vel_proc_noise_trail && @@ -658,14 +677,8 @@ bool relaxState(RejectCallbackDetails rejectDetails) if (transitionRequired) { - trace << "\n - Pre-transition state sigma for " << kfKey << ": " - << sqrt(kfState.P(stateIndex, stateIndex)); - kfState.manualStateTransition(trace, kfState.time, F, Q); - trace << "\n - Post-transition state sigma for " << kfKey << ": " - << sqrt(kfState.P(stateIndex, stateIndex)); - return false; } diff --git a/src/cpp/pea/ppp_obs.cpp b/src/cpp/pea/ppp_obs.cpp index 446ffd6dd..dfdd67075 100644 --- a/src/cpp/pea/ppp_obs.cpp +++ b/src/cpp/pea/ppp_obs.cpp @@ -338,7 +338,7 @@ inline static void pppSatClocks(COMMON_PPP_ARGS) -obs.satVel.dot(satStat.e) / CLIGHT, init ); // Changes in satellite position or geometric distance calculation due to adjustment of - // satellite clock offset + // satellite clock offset InitialState rateInit = initialStateFromConfig(satOpts.clk_rate, i); @@ -362,8 +362,9 @@ inline static void pppSatClocks(COMMON_PPP_ARGS) inline static void pppRecAntDelta(COMMON_PPP_ARGS) { - Vector3d bodyAntVector = rec.antDelta; - Vector3d bodyLook = ecef2body(rec.attStatus, satStat.e); + Vector3d bodyAntVector = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : rec.antDelta; + Vector3d bodyLook = ecef2body(rec.attStatus, satStat.e); double variance = 0; @@ -399,7 +400,7 @@ inline static void pppRecAntDelta(COMMON_PPP_ARGS) measEntry.addDsgnEntry(kfKey, -bodyLook(i), init); } - // todo aaron needs noise + // todo? needs noise double recAntDelta = -bodyAntVector.dot(bodyLook); @@ -436,7 +437,7 @@ inline static void pppRecPCO(COMMON_PPP_ARGS) acsConfig.interpolate_rec_pco ); Vector3d bodyLook = - ecef2body(attStatus, satStat.e, &dEdQ); // todo aaron, move this to antDelta instead + ecef2body(attStatus, satStat.e, &dEdQ); // todo? move this to antDelta instead for (int i = 0; i < 3; i++) { @@ -484,7 +485,7 @@ inline static void pppRecPCO(COMMON_PPP_ARGS) measEntry.addDsgnEntry(kfKey, -bodyPCO.dot(dEdQ.col(i))); // Eugene: init? } - // todo aaron, needs noise + // todo? needs noise double recPCODelta = -bodyPCO.dot(bodyLook); @@ -560,7 +561,7 @@ inline static void pppSatPCO(COMMON_PPP_ARGS) {"modelYaw", attStatus.modelYaw}} ); - // todo aaron, needs noise + // todo? needs noise double satPCODelta = bodyPCO.dot(bodyLook); @@ -785,7 +786,7 @@ inline static void pppIonStec(COMMON_PPP_ARGS) measEntry.addDsgnEntry(kfKey, factor * alpha, init); } - // todo aaron, needs noise + // todo? needs noise measEntry.componentsMap[E_Component::IONOSPHERIC_COMPONENT] = { ionosphere_m, diff --git a/src/cpp/pea/ppp_pseudoobs.cpp b/src/cpp/pea/ppp_pseudoobs.cpp index 208e5a2a5..62718d392 100644 --- a/src/cpp/pea/ppp_pseudoobs.cpp +++ b/src/cpp/pea/ppp_pseudoobs.cpp @@ -835,7 +835,7 @@ void ambgPseudoObs(Trace& trace, KFState& kfState, KFMeasEntryList& kfMeasEntryL } } -void ionoPseudoObs( // todo aaron, move to model section +void ionoPseudoObs( // todo? move to model section Trace& pppTrace, ReceiverMap& receiverMap, KFState& kfState, @@ -863,7 +863,7 @@ void ionoPseudoObs( // todo aaron, move to model section satStat, extvar, obs.Sat - ); // todo aaron get from other sources too + ); // todo? get from other sources too if (extvar <= 0) continue; @@ -946,7 +946,7 @@ void tropPseudoObs( wetZTD, wetMap, extVar - ); // todo aaron, take this from other places optionally + ); // todo? take this from other places optionally if (extVar <= 0) continue; diff --git a/src/cpp/pea/ppp_slr.cpp b/src/cpp/pea/ppp_slr.cpp index dfb68505c..9502bacc0 100644 --- a/src/cpp/pea/ppp_slr.cpp +++ b/src/cpp/pea/ppp_slr.cpp @@ -93,7 +93,7 @@ inline void slrRelativity2(COMMON_PPP_ARGS) inline void slrSagnac(COMMON_PPP_ARGS) { double dSagnacOut = sagnac(rSat, rRec); - double dSagnacIn = sagnac(rRec, rSat); // todo aaron, is it that simple? look at area + double dSagnacIn = sagnac(rRec, rSat); // todo? is it that simple? look at area measEntry.componentsMap[E_Component::SAGNAC] = {dSagnacOut + dSagnacIn, "+ sag", 0}; } @@ -132,7 +132,9 @@ inline void slrTrop(COMMON_PPP_ARGS) inline void slrRecAntDelta(COMMON_PPP_ARGS) { - Vector3d recAntVector = body2ecef(rec.attStatus, rec.antDelta); + Vector3d antennaDelta = + rec.metadata.antennaDelta.valid ? rec.metadata.antennaDelta.value : rec.antDelta; + Vector3d recAntVector = body2ecef(rec.attStatus, antennaDelta); double recAntDelta = -recAntVector.dot(satStat.e); @@ -144,7 +146,7 @@ inline void slrRecAntDelta(COMMON_PPP_ARGS) inline void slrRecRangeBias(COMMON_PPP_ARGS) { double recRangeBias = obs.rangeBias; - double recRangeBiasVar = DEFAULT_RANG_BIAS_VAR; // todo Eugene: use actual var? + double recRangeBiasVar = DEFAULT_RANG_BIAS_VAR; // todo? use actual var? InitialState init = initialStateFromConfig(recOpts.slr_range_bias); @@ -183,7 +185,7 @@ inline void slrRecTimeBias(COMMON_PPP_ARGS) { // VectorXd recTimeBiasPartial = slrObs.satVel.transpose() * slrObs.e * 0.001; //ms double recTimeBias = obs.timeBias * CLIGHT; - double recTimeBiasVar = DEFAULT_TIME_BIAS_VAR; // todo Eugene: use actual var? + double recTimeBiasVar = DEFAULT_TIME_BIAS_VAR; // todo? use actual var? double recTimeBiasPartial = -obs.satVel.dot(satStat.e) / CLIGHT; InitialState init = initialStateFromConfig(recOpts.slr_time_bias); @@ -427,12 +429,7 @@ void receiverSlr( ) { measEntry.addDsgnEntry(posKey, +eSatInertial[i] * 2, posInit); - measEntry.addDsgnEntry( - velKey, - +eSatInertial[i] * tgap * 2, - velInit - ); // todo aaron, eugene copied this from ppp_obs, but i think it is not - // necessary (bad?) + measEntry.addDsgnEntry(velKey, +eSatInertial[i] * tgap * 2, velInit); } ); @@ -448,8 +445,7 @@ void receiverSlr( obsKey.Sat = obs.Sat; // obsKey.num = i; - measEntry - .addNoiseEntry(obsKey, 1, obs.ephVar); // todo aaron, need many more noise entries + measEntry.addNoiseEntry(obsKey, 1, obs.ephVar); // todo? need many more noise entries } // Range and geometry diff --git a/src/cpp/pea/ppppp.cpp b/src/cpp/pea/ppppp.cpp index c5dcf7387..e04b8f04c 100644 --- a/src/cpp/pea/ppppp.cpp +++ b/src/cpp/pea/ppppp.cpp @@ -21,7 +21,9 @@ #include "common/trace.hpp" #include "inertial/posProp.hpp" #include "iono/ionoModel.hpp" +#if defined(ENABLE_PARALLELISATION) || defined(_OPENMP) #include "omp.h" +#endif #include "orbprop/coordinates.hpp" #include "orbprop/orbitProp.hpp" #include "rtklib/lambda.h" @@ -1198,12 +1200,12 @@ KFState propagateUncertainty(Trace& trace, KFState& kfState) } void chunkFilter( - Trace& trace, - KFState& kfState, - KFMeas& kfMeas, - ReceiverMap& receiverMap, - map& filterChunkMap, - map& traceList + Trace& trace, + KFState& kfState, + KFMeas& kfMeas, + ReceiverMap& receiverMap, + map& filterChunkMap, + map& traceList ) { filterChunkMap.clear(); @@ -1342,7 +1344,7 @@ void chunkFilter( { auto& rec = recIt->second; traceList[str] = getTraceFile(rec); - filterChunk.trace_ptr = &traceList[str]; + filterChunk.trace_ptr = traceList[str].trace; } else { @@ -1574,7 +1576,7 @@ bool isSpecificTimeReset(double epoch, double prev_epoch, const std::vector reset_mod) || - (prev_epoch_mod > epoch_mod && reset_mod == 0); + (prev_epoch_mod > epoch_mod && reset_mod == 0); if (reset_epoch || reset_between_epochs) { @@ -1697,8 +1699,8 @@ void updateFilter( ) { removeBadSatellites(trace, - kfState); // todo Eugene: revisit this as it doesn't work well - removeBadReceivers(trace, kfState, receiverMap); // todo Eugene: revisit this as well + kfState); // todo? revisit this as it doesn't work well + removeBadReceivers(trace, kfState, receiverMap); // todo? revisit this as well removeBadAmbiguities(trace, kfState, receiverMap); removeBadIonospheres(trace, kfState); resetFilterbyConfig(trace, kfState); @@ -1895,8 +1897,8 @@ void ppp( kfState.outputStates(trace, suffix); } - map filterChunkMap; - map traceList; // keep in large scope as we're using pointers + map filterChunkMap; + map traceList; // keep in large scope as we're using pointers chunkFilter(trace, kfState, kfMeas, receiverMap, filterChunkMap, traceList); @@ -1915,6 +1917,7 @@ void ppp( kfState.outputStates( *filterChunk.trace_ptr, (string) "/PPPChunk/" + id, + -1, filterChunk.begX, filterChunk.numX ); diff --git a/src/cpp/pea/preprocessor.cpp b/src/cpp/pea/preprocessor.cpp index 06e9c65af..076c106c7 100644 --- a/src/cpp/pea/preprocessor.cpp +++ b/src/cpp/pea/preprocessor.cpp @@ -604,6 +604,93 @@ void obsVariances(ObsList& obsList) } } +void cleanSignals(ObsList& obsList) +{ + for (auto& obs : only(obsList)) + for (auto& [ftype, sigsList] : obs.sigsLists) + { + E_Sys sys = obs.Sat.sys; + + if (sys == E_Sys::GPS) + { + double dirty_C1W_phase = 0; + for (auto& sig : sigsList) + { + if (sig.code == E_ObsCode::L1C) + dirty_C1W_phase = sig.L; + + if (sig.code == E_ObsCode::L1W && sig.P == 0) + { + sig.L = 0; + } + } + + for (auto& sig : sigsList) + if (sig.code == E_ObsCode::L1W && sig.L == 0 && sig.P != 0) + { + sig.L = dirty_C1W_phase; + break; + } + } + sigsList.remove_if( + [sys](Sig& a) + { + return std::find( + acsConfig.code_priorities[sys].begin(), + acsConfig.code_priorities[sys].end(), + a.code + ) == acsConfig.code_priorities[sys].end(); + } + ); + sigsList.sort( + [sys](Sig& a, Sig& b) + { + auto iterA = std::find( + acsConfig.code_priorities[sys].begin(), + acsConfig.code_priorities[sys].end(), + a.code + ); + auto iterB = std::find( + acsConfig.code_priorities[sys].begin(), + acsConfig.code_priorities[sys].end(), + b.code + ); + + if (a.L == 0) + return false; + if (b.L == 0) + return true; + if (a.P == 0) + return false; + if (b.P == 0) + return true; + if (iterA < iterB) + return true; + else + return false; + } + ); + + if (sigsList.empty()) + { + continue; + } + + Sig firstOfType = sigsList.front(); + + // use first of type as representative if its in the priority list + auto iter = std::find( + acsConfig.code_priorities[sys].begin(), + acsConfig.code_priorities[sys].end(), + firstOfType.code + ); + if (iter != acsConfig.code_priorities[sys].end()) + { + obs.sigs[ftype] = Sig(firstOfType); + } + } +} + void excludeUnprocessed(ObsList& obsList) { for (auto& obs : only(obsList)) @@ -665,17 +752,19 @@ void preprocessor( { DOCS_REFERENCE(Preprocessing__); - if ((acsConfig.process_preprocessor == false) || - (acsConfig.preprocOpts.preprocess_all_data == true && realEpoch == true) || - (acsConfig.preprocOpts.preprocess_all_data == false && realEpoch == false)) + // Only preprocess once: either while reading data, or in main processing. + const bool handledByPreprocessor = + acsConfig.process_preprocessor && (acsConfig.preprocOpts.preprocess_all_data == realEpoch); + + // Without the preprocessor, still do basic preparation for real epochs. + const bool outsideProcessingEpoch = + (acsConfig.process_preprocessor == false && realEpoch == false); + + if (handledByPreprocessor || outsideProcessingEpoch) { return; } - auto jsonTrace = getTraceFile(rec, true); - - auto& recOpts = acsConfig.getRecOpts(rec.id); - auto& obsList = rec.obsList; if (obsList.empty()) @@ -683,22 +772,16 @@ void preprocessor( return; } - PTime startTime; - startTime.bigTime = boost::posix_time::to_time_t(acsConfig.start_epoch); - - double tol; - if (acsConfig.assign_closest_epoch) - tol = acsConfig.epoch_interval / 2; // todo aaron this should be the epoch_tolerance? - else - tol = 0.5; - GTime time = obsList.front()->time; - if (acsConfig.start_epoch.is_not_a_date_time() == false && time < (GTime)startTime - tol) + if (acsConfig.start_epoch.is_not_a_date_time() == false && + time < GTime(acsConfig.start_epoch) - acsConfig.epoch_tolerance) { return; } - getRecSnx(rec.id, time, rec.snx); + updateReceiverMetadata(time, rec); + + auto& recOpts = acsConfig.getRecOpts(rec.id); bool dummy; updateAprioriRecPos(trace, rec, recOpts, dummy, remote_ptr); @@ -760,12 +843,18 @@ void preprocessor( satazel(pos, satStat.e, satStat); } + if (acsConfig.process_preprocessor == false) + { + return; + } + clearSlips(obsList); excludeUnprocessed(obsList); if (acsConfig.output_observations) { + auto jsonTrace = getTraceFile(rec, true); outputObservations(trace, jsonTrace, obsList, rec, pos); } diff --git a/src/cpp/pea/preprocessor.hpp b/src/cpp/pea/preprocessor.hpp index bb1539ac3..9a44883e1 100644 --- a/src/cpp/pea/preprocessor.hpp +++ b/src/cpp/pea/preprocessor.hpp @@ -7,4 +7,5 @@ void preprocessor( KFState* kfState_ptr = nullptr, KFState* remote_ptr = nullptr ); -void obsVariances(ObsList& obsList); \ No newline at end of file +void obsVariances(ObsList& obsList); +void cleanSignals(ObsList& obsList); \ No newline at end of file diff --git a/src/cpp/pea/spp.cpp b/src/cpp/pea/spp.cpp index 366dfd592..d88e1dbcd 100644 --- a/src/cpp/pea/spp.cpp +++ b/src/cpp/pea/spp.cpp @@ -214,10 +214,10 @@ bool prange( bias = bias_A; biasVar = varBias_A; - bool dualFreq = (ionoMode == E_IonoMode::IONO_FREE_LINEAR_COMBO) || - (ionoMode == E_IonoMode::SBAS && acsConfig.sbsInOpts.freq == 5); - double c1 = 1; - double c2 = 0; + bool dualFreq = (ionoMode == E_IonoMode::IONO_FREE_LINEAR_COMBO) || + (ionoMode == E_IonoMode::SBAS && acsConfig.sbsInOpts.freq == 5); + double c1 = 1; + double c2 = 0; if (dualFreq) { @@ -688,7 +688,7 @@ E_Solution estpos( double dtSat = -obs.satClk * CLIGHT; double varSatClk = obs.satClkVar * SQR(CLIGHT); auto& satOpts = acsConfig.getSatOpts(obs.Sat); - if (satOpts.posModel.sources[0] == E_Source::SBAS) + if (satOpts.posModel.sources[0] == E_Source::SBAS && !acsConfig.sbsInOpts.pvs_on_dfmc) { double sbasVar = checkSBASVar(trace, obs.time, obs.Sat, rRec, rSat, obs.satNav_ptr->currentSBAS); @@ -810,7 +810,7 @@ E_Solution estpos( codeMeas.obsKey.Sat = obs.Sat; codeMeas.obsKey.str = id; codeMeas.obsKey.num = ft2 ? (static_cast(obs.sigs[ft1].code) * 100 + - static_cast(obs.sigs[ft2].code)) + static_cast(obs.sigs[ft2].code)) : static_cast(obs.sigs[ft1].code); codeMeas.obsKey.type = KF::CODE_MEAS; codeMeas.obsKey.comment = ""; @@ -822,7 +822,7 @@ E_Solution estpos( kfMeasEntryList.push_back(codeMeas); - obs.sppValid = true; // todo aaron, this is messy, lots of excludes dont work if spp + obs.sppValid = true; // todo? this is messy, lots of excludes dont work if spp // not run, harmonise the spp/ppp exclusion methods. obs.sppCodeResidual = res; } @@ -906,7 +906,7 @@ E_Solution estpos( kfState.outputStates(trace, suffix); } - if (kfState.chiSquareTest.enable) // todo Eugene: use meas chi-square test in algebra + if (kfState.chiSquareTest.enable) // todo? use meas chi-square test in algebra { double a = sqrt(kfState.P(1, 1) + kfState.P(2, 2) + kfState.P(3, 3)) * kfState.chi2PerDof; @@ -1258,8 +1258,8 @@ void spp( ); // Estimate receiver position with pseudorange - sol.status = estpos(trace, obsList, sol, id, kfState_ptr, (string) "SPP/" + id); // todo aaron, - // remote too? + sol.status = + estpos(trace, obsList, sol, id, kfState_ptr, (string) "SPP/" + id); // todo? // remote too? auto& sppState = sol.sppState; diff --git a/src/cpp/rtklib/rtkcmn.cpp b/src/cpp/rtklib/rtkcmn.cpp index 1ba44060d..1a2419ce1 100644 --- a/src/cpp/rtklib/rtkcmn.cpp +++ b/src/cpp/rtklib/rtkcmn.cpp @@ -120,7 +120,7 @@ double sagnac( vel = omega.cross(rDest); } - // todo aaron, check which vel is required for slr things, still dest on outward journey? + // todo? check which vel is required for slr things, still dest on outward journey? return (rDest - rSource).dot(vel) / CLIGHT; } diff --git a/src/cpp/sbas/decodeL1.cpp b/src/cpp/sbas/decodeL1.cpp index 725712430..000f5c985 100644 --- a/src/cpp/sbas/decodeL1.cpp +++ b/src/cpp/sbas/decodeL1.cpp @@ -617,8 +617,8 @@ void decodeL1GEO_Navg(Trace& trace, GTime frameTime, Navigation& nav, unsigned c seph.acc[0] = getbitsInc(data, ind, 10) * 0.0000125; seph.acc[1] = getbitsInc(data, ind, 10) * 0.0000125; seph.acc[2] = getbitsInc(data, ind, 10) * 0.000625; - seph.af0 = getbitsInc(data, ind, 12) * P2_31; - seph.af0 = getbitsInc(data, ind, 8) * P2_40; + seph.af0 = getbitsInc(data, ind, 12) * P2_31; + seph.af0 = getbitsInc(data, ind, 8) * P2_40; nav.sephMap[seph.Sat][seph.type][seph.t0] = seph; } diff --git a/src/cpp/sbas/sbas.cpp b/src/cpp/sbas/sbas.cpp index ec20d8c79..b7be78488 100644 --- a/src/cpp/sbas/sbas.cpp +++ b/src/cpp/sbas/sbas.cpp @@ -74,7 +74,7 @@ void writeEMSdata( { if (frameTime > lastEMSWritten) { - // todo aaron, use the standard file rotations + // todo? use the standard file rotations PTime pTime = frameTime; boost::posix_time::ptime otherPTime = boost::posix_time::from_time_t((time_t)pTime.bigTime); @@ -191,7 +191,7 @@ void loadSBASdata(Trace& trace, GTime time, Navigation& nav) auto& sbs = satDat.currentSBAS; for (auto it = sbs.slowUpdt.begin(); it != sbs.slowUpdt.end();) { - auto slowUpdt = it->second; + auto& slowUpdt = it->second; for (auto it2 = slowUpdt.begin(); it2 != slowUpdt.end();) { auto teph = it2->first; @@ -209,7 +209,7 @@ void loadSBASdata(Trace& trace, GTime time, Navigation& nav) for (auto it = sbs.fastUpdt.begin(); it != sbs.fastUpdt.end();) { - auto fastUpdt = it->second; + auto& fastUpdt = it->second; for (auto it2 = fastUpdt.begin(); it2 != fastUpdt.end();) { auto teph = it2->first; @@ -292,7 +292,7 @@ void writeSPP(string filename, Receiver& rec) std::ofstream output(filename, std::fstream::out | std::fstream::app); if (!output.is_open()) { - BOOST_LOG_TRIVIAL(warning) << "Warning: Error opening POS file '" << filename; + BOOST_LOG_TRIVIAL(warning) << "Error opening POS file '" << filename; return; } @@ -469,4 +469,4 @@ void checkForType0(GTime time, int type) } else if ((time - lastMessType0).to_double() > 10) sbasAlertNoSoL = false; -} \ No newline at end of file +} diff --git a/src/cpp/slr/slrObs.cpp b/src/cpp/slr/slrObs.cpp index d45d76f83..1ce3bcf4f 100644 --- a/src/cpp/slr/slrObs.cpp +++ b/src/cpp/slr/slrObs.cpp @@ -50,9 +50,9 @@ void readSatId(string filepath) ///< Filepath to sat ID file newSat.satName = satName; string satId = line.substr(25, 9); boost::algorithm::trim(satId); - newSat.satId = satId; - newSat.ilrsId = std::stoi(line.substr(34, 9) - ); // todo: check input strings are compatible with stoi() and stod(), e.g. white spaces + newSat.satId = satId; + // todo: check input strings are compatible with stoi() and stod(), e.g. white spaces + newSat.ilrsId = std::stoi(line.substr(34, 9)); newSat.noradId = std::stoi(line.substr(43, 9)); newSat.altitude[0] = std::stod(line.substr(52, 9)); newSat.altitude[1] = std::stod(line.substr(61, 9)); diff --git a/src/cpp/trop/tropCSSR.cpp b/src/cpp/trop/tropCSSR.cpp index 708f92552..452422372 100644 --- a/src/cpp/trop/tropCSSR.cpp +++ b/src/cpp/trop/tropCSSR.cpp @@ -71,7 +71,7 @@ double tropCSSR( break; case 3: dryZTD += val * dLat * dLon; - break; // todo aaron magic numbers + break; // todo? magic numbers } tracepdeex(2, trace, ", %.4f\n", val); } diff --git a/src/cpp/trop/tropModels.cpp b/src/cpp/trop/tropModels.cpp index e46cb20e6..92669f012 100644 --- a/src/cpp/trop/tropModels.cpp +++ b/src/cpp/trop/tropModels.cpp @@ -114,9 +114,8 @@ double tropModelCoef(int ind, VectorPos& pos) if (dlonDeg > atmReg.intLonDeg || atmReg.intLonDeg == 0) return 0; - return (1 - dlatDeg / atmReg.intLatDeg) * - (1 - dlonDeg / atmReg.intLonDeg - ); // todo aaron use bilinear interpolation function? + return (1 - dlatDeg / atmReg.intLatDeg) * (1 - dlonDeg / atmReg.intLonDeg); + // todo? use bilinear interpolation function? } default: { @@ -251,7 +250,7 @@ double tropModel( break; } - // todo aaron var might still be < 0 if everything in models failed + // todo? var might still be < 0 if everything in models failed if (tropStates.zenith == 0) // initialization { @@ -312,7 +311,7 @@ double tropDryZTD(Trace& trace, vector models, GTime time, VectorPo break; } - // todo aaron var might still be < 0 if everything in models failed + // todo? var might still be < 0 if everything in models failed return dryZTD; } diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 000000000..6b2cfa1da --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,107 @@ +set(UNIT_TEST_INCLUDE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/../cpp + ${EIGEN3_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} +) + +function(configure_unit_test target) + target_include_directories(${target} PRIVATE + ${UNIT_TEST_INCLUDE_DIRS} + ) + + if(OpenMP_CXX_FOUND) + target_link_libraries(${target} PRIVATE OpenMP::OpenMP_CXX) + endif() + + add_test(NAME ${target} COMMAND ${target}) +endfunction() + +set(RECEIVER_METADATA_TEST_SOURCES + ../cpp/common/receiverMetadata.cpp + unit/test_ReceiverMetaData.cpp +) + +set(SANITY_CHECKER_TEST_SOURCES + ../cpp/common/sanityCheckers/ConfigSanityManager.cpp + ../cpp/common/sanityCheckers/EphemerisTimeDelayChecker.cpp + ../cpp/common/sanityCheckers/EpochToleranceChecker.cpp + ../cpp/common/sanityCheckers/IonosphericFreeComboChecker.cpp + ../cpp/common/sanityCheckers/IonosphericOutageChecker.cpp + ../cpp/common/sanityCheckers/RequiredSiteEccentricityChecker.cpp + ../cpp/common/sanityCheckers/SbasSanityChecker.cpp +) + +function(add_sanity_checker_test target test_source) + add_executable(${target} + ${SANITY_CHECKER_TEST_SOURCES} + ${test_source} + ) + + target_link_libraries(${target} PRIVATE + Boost::log + Boost::log_setup + Boost::program_options + Boost::thread + Boost::unit_test_framework + ) + + configure_unit_test(${target}) +endfunction() + +add_executable(receiver_metadata_tests + ${RECEIVER_METADATA_TEST_SOURCES} +) + +add_executable(trace_file_cache_tests + unit/test_TraceFileCache.cpp +) + +add_sanity_checker_test(config_sanity_manager_tests + unit/sanityCheckers/test_ConfigSanityManager.cpp +) +add_sanity_checker_test(epoch_tolerance_checker_tests + unit/sanityCheckers/test_EpochToleranceChecker.cpp +) +add_sanity_checker_test(ephemeris_time_delay_checker_tests + unit/sanityCheckers/test_EphemerisTimeDelayChecker.cpp +) +add_sanity_checker_test(ionospheric_free_combo_checker_tests + unit/sanityCheckers/test_IonosphericFreeComboChecker.cpp +) +add_sanity_checker_test(ionospheric_outage_checker_tests + unit/sanityCheckers/test_IonosphericOutageChecker.cpp +) +add_sanity_checker_test(required_site_eccentricity_checker_tests + unit/sanityCheckers/test_RequiredSiteEccentricityChecker.cpp +) +add_sanity_checker_test(sbas_sanity_checker_tests + unit/sanityCheckers/test_SbasSanityChecker.cpp +) + +add_custom_target(unit_tests + DEPENDS receiver_metadata_tests + trace_file_cache_tests + config_sanity_manager_tests + epoch_tolerance_checker_tests + ephemeris_time_delay_checker_tests + ionospheric_free_combo_checker_tests + ionospheric_outage_checker_tests + required_site_eccentricity_checker_tests + sbas_sanity_checker_tests +) + +target_link_libraries(receiver_metadata_tests PRIVATE + Boost::unit_test_framework +) + +target_link_libraries(trace_file_cache_tests PRIVATE + Boost::log + Boost::unit_test_framework +) + +if(WIN32) + target_link_libraries(receiver_metadata_tests PRIVATE ws2_32 wsock32) +endif() + +configure_unit_test(receiver_metadata_tests) +configure_unit_test(trace_file_cache_tests) diff --git a/src/tests/unit/sanityCheckers/test_ConfigSanityManager.cpp b/src/tests/unit/sanityCheckers/test_ConfigSanityManager.cpp new file mode 100644 index 000000000..17854dc60 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_ConfigSanityManager.cpp @@ -0,0 +1,17 @@ +#define BOOST_TEST_MODULE ConfigSanityManagerTests +#include +#include "common/sanityCheckers/ConfigSanityManager.hpp" + +BOOST_AUTO_TEST_CASE(default_manager_registers_expected_checkers) +{ + auto manager = ConfigSanityManager::defaultManager(); + auto names = manager.checkerNames(); + + BOOST_CHECK_EQUAL(manager.checkerCount(), 6); + BOOST_CHECK_EQUAL(names[0], "EpochToleranceChecker"); + BOOST_CHECK_EQUAL(names[1], "RequiredSiteEccentricityChecker"); + BOOST_CHECK_EQUAL(names[2], "IonosphericOutageChecker"); + BOOST_CHECK_EQUAL(names[3], "EphemerisTimeDelayChecker"); + BOOST_CHECK_EQUAL(names[4], "IonosphericFreeComboChecker"); + BOOST_CHECK_EQUAL(names[5], "SbasSanityChecker"); +} diff --git a/src/tests/unit/sanityCheckers/test_EphemerisTimeDelayChecker.cpp b/src/tests/unit/sanityCheckers/test_EphemerisTimeDelayChecker.cpp new file mode 100644 index 000000000..2ca35d2c2 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_EphemerisTimeDelayChecker.cpp @@ -0,0 +1,46 @@ +#define BOOST_TEST_MODULE EphemerisTimeDelayCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/EphemerisTimeDelayChecker.hpp" + +BOOST_AUTO_TEST_CASE(resets_ephemeris_time_delay_outside_real_time) +{ + ACSConfig config; + config.simulate_real_time = false; + + for (E_Sys sys : magic_enum::enum_values()) + { + config.default_eph_time_delay[sys] = 12.5; + config.eph_time_delay[sys] = 99.0; + } + + EphemerisTimeDelayChecker checker; + + BOOST_CHECK(checker.check(config)); + + for (E_Sys sys : magic_enum::enum_values()) + { + BOOST_CHECK_EQUAL(config.eph_time_delay[sys], config.default_eph_time_delay[sys]); + } +} + +BOOST_AUTO_TEST_CASE(does_not_reset_ephemeris_time_delay_in_real_time) +{ + ACSConfig config; + config.simulate_real_time = true; + + for (E_Sys sys : magic_enum::enum_values()) + { + config.default_eph_time_delay[sys] = 12.5; + config.eph_time_delay[sys] = 99.0; + } + + EphemerisTimeDelayChecker checker; + + BOOST_CHECK(checker.check(config)); + + for (E_Sys sys : magic_enum::enum_values()) + { + BOOST_CHECK_EQUAL(config.eph_time_delay[sys], 99.0); + } +} diff --git a/src/tests/unit/sanityCheckers/test_EpochToleranceChecker.cpp b/src/tests/unit/sanityCheckers/test_EpochToleranceChecker.cpp new file mode 100644 index 000000000..e95df5f71 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_EpochToleranceChecker.cpp @@ -0,0 +1,28 @@ +#define BOOST_TEST_MODULE EpochToleranceCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/EpochToleranceChecker.hpp" + +BOOST_AUTO_TEST_CASE(limits_epoch_tolerance_to_half_epoch_interval) +{ + ACSConfig config; + config.epoch_interval = 30; + config.epoch_tolerance = 20; + + EpochToleranceChecker checker; + + BOOST_CHECK(!checker.check(config)); + BOOST_CHECK_EQUAL(config.epoch_tolerance, 15); +} + +BOOST_AUTO_TEST_CASE(passes_when_epoch_tolerance_is_within_limit) +{ + ACSConfig config; + config.epoch_interval = 30; + config.epoch_tolerance = 10; + + EpochToleranceChecker checker; + + BOOST_CHECK(checker.check(config)); + BOOST_CHECK_EQUAL(config.epoch_tolerance, 10); +} diff --git a/src/tests/unit/sanityCheckers/test_IonosphericFreeComboChecker.cpp b/src/tests/unit/sanityCheckers/test_IonosphericFreeComboChecker.cpp new file mode 100644 index 000000000..2d1e96f9d --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_IonosphericFreeComboChecker.cpp @@ -0,0 +1,34 @@ +#define BOOST_TEST_MODULE IonosphericFreeComboCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/IonosphericFreeComboChecker.hpp" + +BOOST_AUTO_TEST_CASE(disables_higher_order_ionospheric_components_when_if_combo_is_enabled) +{ + ACSConfig config; + config.pppOpts.ionoOpts.use_if_combo = true; + config.recOptsMap["TEST"].ionospheric_component2 = true; + config.recOptsMap["TEST"].ionospheric_component3 = true; + + IonosphericFreeComboChecker checker; + + BOOST_CHECK(!checker.check(config)); + BOOST_CHECK(!config.recOptsMap["TEST"].ionospheric_component2); + BOOST_CHECK(!config.recOptsMap["TEST"].ionospheric_component3); + BOOST_CHECK(isInited(config.recOptsMap["TEST"], config.recOptsMap["TEST"].ionospheric_component2)); + BOOST_CHECK(isInited(config.recOptsMap["TEST"], config.recOptsMap["TEST"].ionospheric_component3)); +} + +BOOST_AUTO_TEST_CASE(is_noop_when_if_combo_is_disabled) +{ + ACSConfig config; + config.pppOpts.ionoOpts.use_if_combo = false; + config.recOptsMap["TEST"].ionospheric_component2 = true; + config.recOptsMap["TEST"].ionospheric_component3 = true; + + IonosphericFreeComboChecker checker; + + BOOST_CHECK(checker.check(config)); + BOOST_CHECK(config.recOptsMap["TEST"].ionospheric_component2); + BOOST_CHECK(config.recOptsMap["TEST"].ionospheric_component3); +} diff --git a/src/tests/unit/sanityCheckers/test_IonosphericOutageChecker.cpp b/src/tests/unit/sanityCheckers/test_IonosphericOutageChecker.cpp new file mode 100644 index 000000000..d2af6bbf9 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_IonosphericOutageChecker.cpp @@ -0,0 +1,26 @@ +#define BOOST_TEST_MODULE IonosphericOutageCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/IonosphericOutageChecker.hpp" + +BOOST_AUTO_TEST_CASE(warns_when_reset_limit_is_less_than_epoch_interval) +{ + ACSConfig config; + config.epoch_interval = 30; + config.ionErrors.outage_reset_limit = 10; + + IonosphericOutageChecker checker; + + BOOST_CHECK(!checker.check(config)); +} + +BOOST_AUTO_TEST_CASE(passes_when_reset_limit_is_at_least_epoch_interval) +{ + ACSConfig config; + config.epoch_interval = 30; + config.ionErrors.outage_reset_limit = 30; + + IonosphericOutageChecker checker; + + BOOST_CHECK(checker.check(config)); +} diff --git a/src/tests/unit/sanityCheckers/test_RequiredSiteEccentricityChecker.cpp b/src/tests/unit/sanityCheckers/test_RequiredSiteEccentricityChecker.cpp new file mode 100644 index 000000000..73fdce8a5 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_RequiredSiteEccentricityChecker.cpp @@ -0,0 +1,29 @@ +#define BOOST_TEST_MODULE RequiredSiteEccentricityCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/RequiredSiteEccentricityChecker.hpp" + +BOOST_AUTO_TEST_CASE(enables_receiver_eccentricity_model_when_required) +{ + ACSConfig config; + config.require_site_eccentricity = true; + config.recOptsMap["TEST"].eccentricityModel.enable = false; + + RequiredSiteEccentricityChecker checker; + + BOOST_CHECK(!checker.check(config)); + BOOST_CHECK(config.recOptsMap["TEST"].eccentricityModel.enable); + BOOST_CHECK(isInited(config.recOptsMap["TEST"], config.recOptsMap["TEST"].eccentricityModel.enable)); +} + +BOOST_AUTO_TEST_CASE(is_noop_when_site_eccentricity_is_not_required) +{ + ACSConfig config; + config.require_site_eccentricity = false; + config.recOptsMap["TEST"].eccentricityModel.enable = false; + + RequiredSiteEccentricityChecker checker; + + BOOST_CHECK(checker.check(config)); + BOOST_CHECK(!config.recOptsMap["TEST"].eccentricityModel.enable); +} diff --git a/src/tests/unit/sanityCheckers/test_SbasSanityChecker.cpp b/src/tests/unit/sanityCheckers/test_SbasSanityChecker.cpp new file mode 100644 index 000000000..baaad2cc5 --- /dev/null +++ b/src/tests/unit/sanityCheckers/test_SbasSanityChecker.cpp @@ -0,0 +1,109 @@ +#define BOOST_TEST_MODULE SbasSanityCheckerTests +#include +#include "common/acsConfig.hpp" +#include "common/sanityCheckers/SbasSanityChecker.hpp" + +BOOST_AUTO_TEST_CASE(disables_l1_incompatible_input_flags_even_when_sbas_processing_is_off) +{ + ACSConfig config; + config.process_sbas = false; + config.sbsInOpts.freq = 1; + config.sbsInOpts.use_do259 = true; + config.sbsInOpts.pvs_on_dfmc = true; + + SbasSanityChecker checker; + + BOOST_CHECK(!checker.check(config)); + BOOST_CHECK(!config.sbsInOpts.use_do259); + BOOST_CHECK(!config.sbsInOpts.pvs_on_dfmc); +} + +BOOST_AUTO_TEST_CASE(configures_l1_sbas_processing) +{ + ACSConfig config; + config.process_sbas = true; + config.process_preprocessor = false; + config.process_spp = false; + config.sbsOpts.mode = E_SbasMode::L1; + config.sppOpts.smooth_window = 30; + config.sppOpts.use_smooth_only = false; + config.sbsOpts.use_sbas_rec_var = false; + config.process_sys[E_Sys::GPS] = true; + config.process_sys[E_Sys::GAL] = true; + config.process_sys[E_Sys::SBS] = true; + config.satOptsMap["G01"].posModel.enable = false; + + SbasSanityChecker checker; + + BOOST_CHECK(!checker.check(config)); + BOOST_CHECK(config.process_preprocessor); + BOOST_CHECK(config.process_spp); + BOOST_CHECK_EQUAL(config.sbsInOpts.freq, 1); + BOOST_CHECK_EQUAL(config.sppOpts.smooth_window, 100); + BOOST_CHECK(config.sppOpts.use_smooth_only); + BOOST_CHECK(config.sbsOpts.use_sbas_rec_var); + BOOST_CHECK(config.process_sys[E_Sys::GPS]); + BOOST_CHECK(!config.process_sys[E_Sys::GAL]); + BOOST_CHECK(config.process_sys[E_Sys::SBS]); + BOOST_CHECK_EQUAL(config.code_priorities[E_Sys::GPS].front(), E_ObsCode::L1C); + BOOST_CHECK(config.satOptsMap["G01"].posModel.enable); + BOOST_CHECK_EQUAL(config.satOptsMap["G01"].posModel.sources.front(), E_Source::SBAS); +} + +BOOST_AUTO_TEST_CASE(configures_dfmc_sbas_processing) +{ + ACSConfig config; + config.process_sbas = true; + config.sbsOpts.mode = E_SbasMode::DFMC; + config.sbsInOpts.freq = 5; + config.sbsInOpts.pvs_on_dfmc = true; + config.process_sys[E_Sys::GPS] = true; + config.process_sys[E_Sys::GLO] = true; + config.process_sys[E_Sys::BDS] = true; + + SbasSanityChecker checker; + + BOOST_CHECK(checker.check(config)); + BOOST_CHECK_EQUAL(config.sbsInOpts.freq, 5); + BOOST_CHECK(!config.sbsInOpts.pvs_on_dfmc); + BOOST_CHECK(config.process_sys[E_Sys::GPS]); + BOOST_CHECK(!config.process_sys[E_Sys::GLO]); + BOOST_CHECK(config.process_sys[E_Sys::BDS]); + BOOST_CHECK_EQUAL(config.sppOpts.iono_mode, E_IonoMode::SBAS); + BOOST_CHECK_EQUAL(config.sppOpts.trop_models.front(), E_TropModel::SBAS); +} + +BOOST_AUTO_TEST_CASE(configures_pvs_processing) +{ + ACSConfig config; + config.process_sbas = true; + config.process_ppp = false; + config.sbsOpts.mode = E_SbasMode::PVS; + config.process_sys[E_Sys::GPS] = false; + config.process_sys[E_Sys::GAL] = false; + config.process_sys[E_Sys::GLO] = true; + config.recOptsMap["TEST"].tideModels.solid = true; + + SbasSanityChecker checker; + + BOOST_CHECK(checker.check(config)); + BOOST_CHECK(config.process_ppp); + BOOST_CHECK_EQUAL(config.sbsInOpts.freq, 5); + BOOST_CHECK(config.sbsInOpts.pvs_on_dfmc); + BOOST_CHECK(config.process_sys[E_Sys::GPS]); + BOOST_CHECK(config.process_sys[E_Sys::GAL]); + BOOST_CHECK(!config.process_sys[E_Sys::GLO]); + BOOST_CHECK_EQUAL(config.recOptsMap["TEST"].receiver_reference_system, E_Sys::GPS); + BOOST_CHECK(config.recOptsMap["TEST"].tropModel.enable); + BOOST_CHECK_EQUAL(config.recOptsMap["TEST"].tropModel.models.front(), E_TropModel::STANDARD); + BOOST_CHECK(config.recOptsMap["TEST"].tideModels.otl); + BOOST_CHECK(!config.recOptsMap["TEST"].tideModels.atl); + BOOST_CHECK(!config.recOptsMap["TEST"].tideModels.spole); + BOOST_CHECK(!config.recOptsMap["TEST"].tideModels.opole); + BOOST_CHECK(config.sppOpts.always_reinitialise); + BOOST_CHECK(config.pppOpts.use_primary_signals); + BOOST_CHECK(config.errorAccumulation.enable); + BOOST_CHECK_EQUAL(config.ambErrors.phase_reject_limit, 2); + BOOST_CHECK(config.ambErrors.resetOnSlip.LLI); + BOOST_CHECK(config.ambErrors.resetOnSlip.retrack); +} diff --git a/src/tests/unit/test_ReceiverMetaData.cpp b/src/tests/unit/test_ReceiverMetaData.cpp new file mode 100644 index 000000000..088f43655 --- /dev/null +++ b/src/tests/unit/test_ReceiverMetaData.cpp @@ -0,0 +1,493 @@ +#define BOOST_TEST_MODULE receiver_metadata_tests +#include + +#include "common/acsConfig.hpp" +#include "common/enumHelpers.hpp" +#include "common/receiver.hpp" +#include "common/rtcmDecoder.hpp" +#include "common/sinex.hpp" + +static void expectVector3dEq(const Vector3d& actual, const Vector3d& expected) +{ + BOOST_TEST(actual.x() == expected.x()); + BOOST_TEST(actual.y() == expected.y()); + BOOST_TEST(actual.z() == expected.z()); +} + +static void expectPriorityEq( + const vector& actual, + const vector& expected) +{ + BOOST_REQUIRE(actual.size() == expected.size()); + + for (size_t i = 0; i < expected.size(); i++) + { + BOOST_TEST(static_cast(actual[i]) == static_cast(expected[i])); + } +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_source_priority_prefers_higher_priority_source) +{ + ReceiverMetaField field; + auto priority = vector{ + E_ReceiverMetaSource::CONFIG, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::RTCM}; + + ingestReceiverMetaField( + field, + string("rtcm-value"), + true, + E_ReceiverMetaSource::RTCM, + priority + ); + ingestReceiverMetaField( + field, + string("config-value"), + true, + E_ReceiverMetaSource::CONFIG, + priority + ); + + BOOST_TEST(field.valid); + BOOST_TEST(field.value == "config-value"); + BOOST_TEST(static_cast(field.winningSource) == static_cast(E_ReceiverMetaSource::CONFIG)); + BOOST_TEST(field.hasSource(E_ReceiverMetaSource::CONFIG)); + BOOST_TEST(field.hasSource(E_ReceiverMetaSource::RTCM)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_source_priority_keeps_existing_for_empty_update) +{ + ReceiverMetaField field; + auto priority = defaultReceiverMetaSourcePriority(); + + ingestReceiverMetaField( + field, + string("rinex-value"), + true, + E_ReceiverMetaSource::RINEX, + priority + ); + ingestReceiverMetaField( + field, + string(""), + false, + E_ReceiverMetaSource::CONFIG, + priority + ); + + BOOST_TEST(field.valid); + BOOST_TEST(field.value == "rinex-value"); + BOOST_TEST(static_cast(field.winningSource) == static_cast(E_ReceiverMetaSource::RINEX)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_priority_index_orders_known_sources_first) +{ + auto priority = vector{ + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::RTCM}; + + BOOST_TEST( + receiverMetaPriorityIndex(E_ReceiverMetaSource::SINEX, priority) < + receiverMetaPriorityIndex(E_ReceiverMetaSource::RTCM, priority)); + BOOST_TEST( + receiverMetaPriorityIndex(E_ReceiverMetaSource::CONFIG, priority) > + receiverMetaPriorityIndex(E_ReceiverMetaSource::RTCM, priority)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_receiver_options_default_priority_matches_metadata_default) +{ + ReceiverOptions recOpts; + + expectPriorityEq(recOpts.meta_priority, defaultReceiverMetaSourcePriority()); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_receiver_options_default_pos_sources_use_meta_layering) +{ + ReceiverOptions recOpts; + + BOOST_REQUIRE(recOpts.posModel.sources.size() == 4); + BOOST_TEST(static_cast(recOpts.posModel.sources[0]) == static_cast(E_Source::KALMAN)); + BOOST_TEST(static_cast(recOpts.posModel.sources[1]) == static_cast(E_Source::META)); + BOOST_TEST(static_cast(recOpts.posModel.sources[2]) == static_cast(E_Source::SPP)); + BOOST_TEST(static_cast(recOpts.posModel.sources[3]) == static_cast(E_Source::REMOTE)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_source_priority_strings_parse_case_insensitively) +{ + vector sourceStrings = {"rtcm", "RINEX", "Sinex", "CONFIG"}; + + vector priority; + for (const auto& sourceString : sourceStrings) + { + priority.push_back(string_to_enum_nocase_throw(sourceString)); + } + + expectPriorityEq( + priority, + { + E_ReceiverMetaSource::RTCM, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::CONFIG}); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_config_applies_meta_priority) +{ + ReceiverMetadata metadata; + + ReceiverOptions recOpts; + recOpts.meta_priority = { + E_ReceiverMetaSource::RTCM, + E_ReceiverMetaSource::CONFIG, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RINEX}; + recOpts.receiver_type = "CONFIG TYPE"; + + RtcmStationInfo rtcmInfo; + rtcmInfo.receiverType = "RTCM TYPE"; + + metadata.ingestConfig(recOpts); + metadata.ingestRtcm(rtcmInfo); + + BOOST_TEST(metadata.receiverType.value == "RTCM TYPE"); + BOOST_TEST(static_cast(metadata.receiverType.winningSource) == + static_cast(E_ReceiverMetaSource::RTCM)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::CONFIG)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RTCM)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_config_enable_without_offset_does_not_mask_sinex_delta) +{ + ReceiverMetadata metadata; + + ReceiverOptions recOpts; + recOpts.eccentricityModel.enable = true; + + SinexSiteEcc sinexEcc; + sinexEcc.ecc = VectorEnu(Vector3d(0.4, 0.5, 0.6)); + + SinexRecData recSnx; + recSnx.ecc_ptr = &sinexEcc; + + metadata.ingestConfig(recOpts); + metadata.ingestSinex(recSnx); + + BOOST_TEST(metadata.antennaDelta.valid); + expectVector3dEq(metadata.antennaDelta.value, Vector3d(0.4, 0.5, 0.6)); + BOOST_TEST(static_cast(metadata.antennaDelta.winningSource) == + static_cast(E_ReceiverMetaSource::SINEX)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_source_priority_participates_in_option_inheritance) +{ + ReceiverOptions inheritedOpts; + ReceiverOptions baseOpts; + + vector basePriority = { + E_ReceiverMetaSource::RTCM, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::CONFIG}; + + setOption(baseOpts, baseOpts.meta_priority, basePriority); + + bool inherited = + initIfNeeded(inheritedOpts, baseOpts, inheritedOpts.meta_priority); + + BOOST_TEST(inherited); + BOOST_TEST(isInited(inheritedOpts, inheritedOpts.meta_priority)); + expectPriorityEq(inheritedOpts.meta_priority, basePriority); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_rtcm_maps_station_fields) +{ + ReceiverMetadata metadata; + + RtcmStationInfo rtcmInfo; + rtcmInfo.receiverType = "TRIMBLE ALLOY"; + rtcmInfo.receiverFirmware = "6.45"; + rtcmInfo.receiverSerial = "RTCM-REC"; + rtcmInfo.antennaDesc = "TRM57971.00 NONE"; + rtcmInfo.antennaSerial = "RTCM-ANT"; + rtcmInfo.antennaHeight = 1.2345; + rtcmInfo.hasAntennaHeight = true; + rtcmInfo.physicalStationId = 7; + rtcmInfo.physEcefX = 1111.1; + rtcmInfo.physEcefY = 2222.2; + rtcmInfo.physEcefZ = 3333.3; + + metadata.ingestRtcm(rtcmInfo); + + BOOST_TEST(metadata.receiverType.valid); + BOOST_TEST(metadata.receiverType.value == "TRIMBLE ALLOY"); + BOOST_TEST(metadata.receiverFirmware.value == "6.45"); + BOOST_TEST(metadata.receiverSerial.value == "RTCM-REC"); + BOOST_TEST(metadata.antennaDescriptor.value == "TRM57971.00 NONE"); + BOOST_TEST(metadata.antennaSerial.value == "RTCM-ANT"); + expectVector3dEq(metadata.antennaDelta.value, Vector3d(0, 0, 1.2345)); + expectVector3dEq(metadata.stationPosition.value, Vector3d(1111.1, 2222.2, 3333.3)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RTCM)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_rtcm_ignores_empty_physical_station_position) +{ + ReceiverMetadata metadata; + + ReceiverOptions recOpts; + recOpts.apriori_pos = Vector3d(123.0, 456.0, 789.0); + + RtcmStationInfo rtcmInfo; + rtcmInfo.physicalStationId = 7; + + metadata.ingestConfig(recOpts); + metadata.ingestRtcm(rtcmInfo); + + BOOST_TEST(metadata.stationPosition.valid); + expectVector3dEq(metadata.stationPosition.value, Vector3d(123.0, 456.0, 789.0)); + BOOST_TEST(static_cast(metadata.stationPosition.winningSource) == + static_cast(E_ReceiverMetaSource::CONFIG)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_rtcm_accepts_direct_station_position_without_physical_id) +{ + ReceiverMetadata metadata; + + RtcmStationInfo rtcmInfo; + rtcmInfo.ecefX = 4444.4; + rtcmInfo.ecefY = 5555.5; + rtcmInfo.ecefZ = 6666.6; + + metadata.ingestRtcm(rtcmInfo); + + BOOST_TEST(metadata.stationPosition.valid); + expectVector3dEq(metadata.stationPosition.value, Vector3d(4444.4, 5555.5, 6666.6)); + BOOST_TEST(static_cast(metadata.stationPosition.winningSource) == + static_cast(E_ReceiverMetaSource::RTCM)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_rinex_maps_header_fields) +{ + ReceiverMetadata metadata; + + RinexStation rnx; + rnx.id = "ABCD"; + rnx.marker = "MARKER-01"; + rnx.antDesc = "LEIAR25.R4 NONE"; + rnx.antSerial = "RINEX-ANT"; + rnx.recType = "SEPT POLARX5"; + rnx.recFWVersion = "5.4.0"; + rnx.recSerial = "RINEX-REC"; + rnx.del = Vector3d(0.1, 0.2, 0.3); + rnx.pos = Vector3d(4444.4, 5555.5, 6666.6); + + metadata.ingestRinex(rnx); + + BOOST_TEST(metadata.receiverType.value == "SEPT POLARX5"); + BOOST_TEST(metadata.receiverFirmware.value == "5.4.0"); + BOOST_TEST(metadata.receiverSerial.value == "RINEX-REC"); + BOOST_TEST(metadata.antennaDescriptor.value == "LEIAR25.R4 NONE"); + BOOST_TEST(metadata.antennaSerial.value == "RINEX-ANT"); + BOOST_TEST(metadata.markerName.value == "ABCD"); + BOOST_TEST(metadata.markerNumber.value == "MARKER-01"); + expectVector3dEq(metadata.antennaDelta.value, Vector3d(0.1, 0.2, 0.3)); + expectVector3dEq(metadata.stationPosition.value, Vector3d(4444.4, 5555.5, 6666.6)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RINEX)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_sinex_maps_lookup_fields) +{ + ReceiverMetadata metadata; + + SinexReceiver sinexReceiver; + sinexReceiver.type = "JAVAD TRE_3"; + sinexReceiver.firm = "3.7.9"; + sinexReceiver.sn = "SNXREC"; + + SinexAntenna sinexAntenna; + sinexAntenna.type = "JAVRINGANT_DM SCIS"; + sinexAntenna.sn = "SNXANT"; + + SinexSiteEcc sinexEcc; + sinexEcc.ecc = VectorEnu(Vector3d(0.4, 0.5, 0.6)); + + SinexRecData recSnx; + recSnx.rec_ptr = &sinexReceiver; + recSnx.ant_ptr = &sinexAntenna; + recSnx.ecc_ptr = &sinexEcc; + recSnx.pos = VectorEcef(Vector3d(7777.7, 8888.8, 9999.9)); + + metadata.ingestSinex(recSnx); + + BOOST_TEST(metadata.receiverType.value == "JAVAD TRE_3"); + BOOST_TEST(metadata.receiverFirmware.value == "3.7.9"); + BOOST_TEST(metadata.receiverSerial.value == "SNXREC"); + BOOST_TEST(metadata.antennaDescriptor.value == "JAVRINGANT_DM SCIS"); + BOOST_TEST(metadata.antennaSerial.value == "SNXANT"); + expectVector3dEq(metadata.antennaDelta.value, Vector3d(0.4, 0.5, 0.6)); + expectVector3dEq(metadata.stationPosition.value, Vector3d(7777.7, 8888.8, 9999.9)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::SINEX)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_config_maps_receiver_options) +{ + ReceiverMetadata metadata; + + ReceiverOptions recOpts; + recOpts.receiver_type = " TRIMBLE NETR9 "; + recOpts.antenna_type = " TRM59800.00 NONE "; + recOpts.apriori_pos = Vector3d(123.0, 456.0, 789.0); + recOpts.eccentricityModel.enable = true; + setOption(recOpts, recOpts.eccentricityModel.eccentricity, Vector3d(1.0, 2.0, 3.0)); + + metadata.ingestConfig(recOpts); + + BOOST_TEST(metadata.receiverType.value == "TRIMBLE NETR9"); + BOOST_TEST(metadata.antennaDescriptor.value == "TRM59800.00 NONE"); + expectVector3dEq(metadata.antennaDelta.value, Vector3d(1.0, 2.0, 3.0)); + expectVector3dEq(metadata.stationPosition.value, Vector3d(123.0, 456.0, 789.0)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::CONFIG)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_config_ignores_whitespace_strings) +{ + ReceiverMetadata metadata; + + ReceiverOptions recOpts; + recOpts.receiver_type = " "; + recOpts.antenna_type = "\t"; + + metadata.ingestConfig(recOpts); + + BOOST_TEST(metadata.receiverType.valid == false); + BOOST_TEST(metadata.antennaDescriptor.valid == false); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_ingest_methods_respect_configured_priority) +{ + ReceiverMetadata metadata; + metadata.setPriority({ + E_ReceiverMetaSource::SINEX, + E_ReceiverMetaSource::RTCM, + E_ReceiverMetaSource::RINEX, + E_ReceiverMetaSource::CONFIG}); + + RtcmStationInfo rtcmInfo; + rtcmInfo.receiverType = "RTCM TYPE"; + + RinexStation rnx; + rnx.recType = "RINEX TYPE"; + + SinexReceiver sinexReceiver; + sinexReceiver.type = "SINEX TYPE"; + + SinexRecData recSnx; + recSnx.rec_ptr = &sinexReceiver; + + metadata.ingestRtcm(rtcmInfo); + metadata.ingestRinex(rnx); + metadata.ingestSinex(recSnx); + + BOOST_TEST(metadata.receiverType.value == "SINEX TYPE"); + BOOST_TEST(static_cast(metadata.receiverType.winningSource) == + static_cast(E_ReceiverMetaSource::SINEX)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RTCM)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RINEX)); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::SINEX)); +} + +BOOST_AUTO_TEST_CASE(receiver_metadata_unlisted_sources_are_ignored) +{ + ReceiverMetadata metadata; + metadata.setPriority({E_ReceiverMetaSource::RTCM}); + + RinexStation rnx; + rnx.recType = "RINEX TYPE"; + rnx.pos = Vector3d(4444.4, 5555.5, 6666.6); + + SinexReceiver sinexReceiver; + sinexReceiver.type = "SINEX TYPE"; + + SinexRecData recSnx; + recSnx.rec_ptr = &sinexReceiver; + recSnx.pos = VectorEcef(Vector3d(7777.7, 8888.8, 9999.9)); + + metadata.ingestRinex(rnx); + metadata.ingestSinex(recSnx); + + BOOST_TEST(metadata.receiverType.valid == false); + BOOST_TEST(metadata.stationPosition.valid == false); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::RINEX) == false); + BOOST_TEST(metadata.receiverType.hasSource(E_ReceiverMetaSource::SINEX) == false); +} + +BOOST_AUTO_TEST_CASE(rtcm_metadata_selection_prefers_last_reference_station) +{ + map stationInfoMap; + stationInfoMap[10].receiverType = "STATION 10"; + stationInfoMap[20].receiverType = "STATION 20"; + + auto* info = selectRtcmStationInfoForMetadata(stationInfoMap, 20); + + BOOST_REQUIRE(info != nullptr); + BOOST_TEST(info->receiverType == "STATION 20"); +} + +BOOST_AUTO_TEST_CASE(rtcm_metadata_selection_uses_single_station_before_msm_reference) +{ + map stationInfoMap; + stationInfoMap[10].receiverType = "ONLY STATION"; + + auto* info = selectRtcmStationInfoForMetadata(stationInfoMap, -1); + + BOOST_REQUIRE(info != nullptr); + BOOST_TEST(info->receiverType == "ONLY STATION"); +} + +BOOST_AUTO_TEST_CASE(rtcm_metadata_selection_does_not_guess_with_multiple_stations) +{ + map stationInfoMap; + stationInfoMap[10].receiverType = "STATION 10"; + stationInfoMap[20].receiverType = "STATION 20"; + + auto* info = selectRtcmStationInfoForMetadata(stationInfoMap, -1); + + BOOST_TEST(info == nullptr); +} + +BOOST_AUTO_TEST_CASE(rtcm_metadata_selection_does_not_fallback_when_known_station_missing) +{ + map stationInfoMap; + stationInfoMap[10].receiverType = "STATION 10"; + + auto* info = selectRtcmStationInfoForMetadata(stationInfoMap, 20); + + BOOST_TEST(info == nullptr); +} + +BOOST_AUTO_TEST_CASE(rtcm_metadata_selection_keeps_non_physical_station_metadata_together) +{ + map stationInfoMap; + stationInfoMap[100].receiverType = "VIRTUAL RECEIVER"; + stationInfoMap[100].antennaDesc = "VIRTUAL ANTENNA"; + stationInfoMap[100].physicalStationId = 7; + stationInfoMap[100].physEcefX = 1111.1; + stationInfoMap[100].physEcefY = 2222.2; + stationInfoMap[100].physEcefZ = 3333.3; + stationInfoMap[7].ecefX = 4444.4; + stationInfoMap[7].ecefY = 5555.5; + stationInfoMap[7].ecefZ = 6666.6; + + auto* info = selectRtcmStationInfoForMetadata(stationInfoMap, 100); + + BOOST_REQUIRE(info != nullptr); + BOOST_TEST(info->receiverType == "VIRTUAL RECEIVER"); + BOOST_TEST(info->antennaDesc == "VIRTUAL ANTENNA"); + + ReceiverMetadata metadata; + metadata.ingestRtcm(*info); + + expectVector3dEq(metadata.stationPosition.value, Vector3d(1111.1, 2222.2, 3333.3)); +} diff --git a/src/tests/unit/test_TraceFileCache.cpp b/src/tests/unit/test_TraceFileCache.cpp new file mode 100644 index 000000000..e81eea0d6 --- /dev/null +++ b/src/tests/unit/test_TraceFileCache.cpp @@ -0,0 +1,56 @@ +#define BOOST_TEST_MODULE trace_file_cache_tests +#include +#include +#include +#include +#include + +#include "common/trace.hpp" + +thread_local boost::iostreams::stream nullStream{ + boost::iostreams::null_sink{} +}; + +namespace +{ +std::filesystem::path makeTempDir() +{ + auto suffix = std::chrono::steady_clock::now().time_since_epoch().count(); + auto path = std::filesystem::temp_directory_path() / + ("ginan_trace_cache_test_" + std::to_string(suffix)); + + std::filesystem::create_directories(path); + return path; +} +} // namespace + +BOOST_AUTO_TEST_CASE(retain_trace_files_prunes_rotated_trace_streams) +{ + auto tempDir = makeTempDir(); + auto fileA = (tempDir / "trace-a.trace").string(); + auto fileB = (tempDir / "trace-b.trace").string(); + + retainTraceFiles({}); + + { + auto traceA = getTraceFile(fileA, string("A")); + traceA << "first\n"; + traceA.flush(); + } + + auto traceB = getTraceFile(fileB, string("B")); + traceB << "second\n"; + traceB.flush(); + + BOOST_REQUIRE(traceFileCache().find(fileA) != traceFileCache().end()); + BOOST_REQUIRE(traceFileCache().find(fileB) != traceFileCache().end()); + + retainTraceFiles({fileB}); + + BOOST_CHECK(traceFileCache().find(fileA) == traceFileCache().end()); + BOOST_CHECK(traceFileCache().find(fileB) != traceFileCache().end()); + + traceB.flush(); + retainTraceFiles({}); + std::filesystem::remove_all(tempDir); +} diff --git a/vcpkg.json b/vcpkg.json index 4b93f504a..0942e3d8a 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -10,6 +10,7 @@ "boost-thread", "boost-program-options", "boost-serialization", + "boost-test", "boost-timer", "boost-bimap", "boost-format", @@ -38,7 +39,9 @@ "name": "mongo-cxx-driver", "$comment": "Optional: MongoDB support - can be disabled with ENABLE_MONGODB=OFF", "platform": "!windows" - } + }, + "netcdf-c", + "netcdf-cxx4" ], "builtin-baseline": "4c5ae6b55f3e3e39d291679f89822f496cf190ee" }

)NgJnet}?{Eg))aKM+Kc(u6|G)eGV#IAHRx5w# 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