From 23650be6350636356a817e0253dc639b830e1979 Mon Sep 17 00:00:00 2001 From: onur Date: Sun, 26 Jul 2026 01:59:08 +0300 Subject: [PATCH] feat(gps): split Doppler paths for ESKF and PPS --- README.md | 40 +- soc/software/fusion/README.md | 35 +- .../gps_measurement_python/.gitignore | 3 + soc/software/gps_measurement_python/README.md | 226 ++++++ .../gps_measurement_python/__init__.py | 1 + .../analyze_doppler_eskf.py | 428 ++++++++++++ .../analyze_measurement_scenarios.py | 425 +++++++++++ .../code_smoothing_model.py | 132 ++++ .../doppler_eskf_model.py | 657 ++++++++++++++++++ .../firmware_wls_model.py | 353 ++++++++++ .../measurement_scenarios.py | 368 ++++++++++ .../output/01_position_3d_rms.png | Bin 0 -> 88002 bytes .../output/02_solution_availability.png | Bin 0 -> 93875 bytes .../output/03_noise_burst_transition.png | Bin 0 -> 217925 bytes .../output/04_code_smoothing_cfo.png | Bin 0 -> 41999 bytes .../output/05_doppler_eskf_velocity_rms.png | Bin 0 -> 85959 bytes .../output/06_airliner_maneuver_trace.png | Bin 0 -> 180062 bytes .../output/07_outlier_wls_nis.png | Bin 0 -> 188184 bytes .../output/08_low_cn0_wls_vs_eskf.png | Bin 0 -> 360934 bytes .../gps_measurement_python/output/ANALYSIS.md | 94 +++ .../output/DOPPLER_ESKF_ANALYSIS.md | 65 ++ .../output/doppler_eskf_summary.csv | 33 + .../output/scenario_summary.csv | 51 ++ .../gps_measurement_python/requirements.txt | 2 + .../gps_measurement_python/rtl_dll_model.py | 200 ++++++ .../test_doppler_eskf_model.py | 148 ++++ .../test_measurement_model.py | 182 +++++ soc/software/gps_system/README.md | 96 ++- .../gps_system/header/gps/NavEquations.h | 6 + .../header/gps/gps_tracking_measurement.h | 23 + .../gps_system/src/adapters/gps_system_uart.c | 3 +- .../src/gps/gps_interrupt_handlers.c | 8 +- soc/software/gps_system/src/gps/gps_ip.c | 70 +- .../src/gps/gps_tracking_measurement.c | 229 +++++- .../tests/test_gps_tracking_measurement.c | 88 +++ 35 files changed, 3884 insertions(+), 82 deletions(-) create mode 100644 soc/software/gps_measurement_python/.gitignore create mode 100644 soc/software/gps_measurement_python/README.md create mode 100644 soc/software/gps_measurement_python/__init__.py create mode 100644 soc/software/gps_measurement_python/analyze_doppler_eskf.py create mode 100644 soc/software/gps_measurement_python/analyze_measurement_scenarios.py create mode 100644 soc/software/gps_measurement_python/code_smoothing_model.py create mode 100644 soc/software/gps_measurement_python/doppler_eskf_model.py create mode 100644 soc/software/gps_measurement_python/firmware_wls_model.py create mode 100644 soc/software/gps_measurement_python/measurement_scenarios.py create mode 100644 soc/software/gps_measurement_python/output/01_position_3d_rms.png create mode 100644 soc/software/gps_measurement_python/output/02_solution_availability.png create mode 100644 soc/software/gps_measurement_python/output/03_noise_burst_transition.png create mode 100644 soc/software/gps_measurement_python/output/04_code_smoothing_cfo.png create mode 100644 soc/software/gps_measurement_python/output/05_doppler_eskf_velocity_rms.png create mode 100644 soc/software/gps_measurement_python/output/06_airliner_maneuver_trace.png create mode 100644 soc/software/gps_measurement_python/output/07_outlier_wls_nis.png create mode 100644 soc/software/gps_measurement_python/output/08_low_cn0_wls_vs_eskf.png create mode 100644 soc/software/gps_measurement_python/output/ANALYSIS.md create mode 100644 soc/software/gps_measurement_python/output/DOPPLER_ESKF_ANALYSIS.md create mode 100644 soc/software/gps_measurement_python/output/doppler_eskf_summary.csv create mode 100644 soc/software/gps_measurement_python/output/scenario_summary.csv create mode 100644 soc/software/gps_measurement_python/requirements.txt create mode 100644 soc/software/gps_measurement_python/rtl_dll_model.py create mode 100644 soc/software/gps_measurement_python/test_doppler_eskf_model.py create mode 100644 soc/software/gps_measurement_python/test_measurement_model.py diff --git a/README.md b/README.md index 023aedc..64fd25a 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ tracking loop, her 20 ms: -> sabit tracking snapshot -> synchronizer + APB-domain atomik register + interrupt -> C/N0 ve Doppler/range-rate donusumu - -> satellite velocity/clock-drift duzeltmeli C/N0-weighted velocity WLS + -> ham Doppler + tek-kanal FDE ile C/N0-weighted velocity WLS -> ECEF velocity + 3x3 covariance + receiver clock drift -> ECEF->ENU adapter -> ayri velocity NIS gate @@ -145,14 +145,42 @@ tracking loop, her 20 ms: ``` RTL Doppler veya C/N0 uzerinde IIR yapmaz; ham ve 20 ms sabit snapshot'i -software'e verir. Software ayni PRN icin C/N0'yi `alpha=0.2`, Doppler'i -`alpha=0.05` ile yumusatir. L1 range-rate -`-doppler_hz * c / 1575420000` ile hesaplanir. En az dort uyduyla cozulmus -velocity WLS state'i `[vx, vy, vz, receiver_clock_drift_mps]`'dir; uydu LOS -hizi ve broadcast satellite clock drift observation'dan ayrilir. C/N0, +software'e verir. Software ayni PRN icin C/N0'yi `alpha=0.2` ile yumusatir; +Doppler'in hem ham de `alpha=0.05` IIR sonucu korunur. L1 range-rate +`-doppler_hz * c / 1575420000` ile hesaplanir. Ham yol tek-kanal +leave-one-out FDE'li velocity WLS'ten ESKF'ye, filtreli yol ayri velocity +WLS'ten yalniz PPS clock-bias drift predictor'una gider. PPS'in ana faz/zaman +olcumu position WLS `clock_bias_m` sonucudur; Doppler yalniz 200 ms epoch'lar +arasindaki turev prediction'ina ve kalite siniflandirmasina yardim eder. Her +iki velocity WLS state'i `[vx, vy, vz, receiver_clock_drift_mps]`'dir; uydu +LOS hizi ve broadcast satellite clock drift observation'dan ayrilir. C/N0, range-rate agirligini belirler; post-fit residual gerekirse formal covariance'i yalniz buyutur. +Klasik mutlak-pseudorange GNSS modelinde receiver zaman hatasi +`delta_t_r(t)` ise: + +```text +code WLS 4. state: b_r = c * delta_t_r [metre] +Doppler WLS 4. state: bdot_r = c * d(delta_t_r)/dt [metre/saniye] +b_r(t + dt) ~= b_r(t) + bdot_r * dt +``` + +Burada `bdot_r`, receiver oscillator frequency error'inin range-rate +birimindeki ortak etkisidir. Ornegin `0.1 ppm` yaklasik `29.98 m/s` eder; +Doppler WLS bu ortak terimi uydu yonune gore degisen gercek `vx/vy/vz` +hareketinden ayirir. + +Bu projede onemli bir datum farki vardir: position WLS'e verilen capture +zamanlarindan ortak receiver zamani cikarilir ve `STARTOFFSET` eklenir. Bu +nedenle `solution.clock_bias_m`, saf `c*delta_t_r` degil, yaklasik +`c*STARTOFFSET - reference_range` olan referans-uyduya bagli goreli +datumdur. Doppler WLS'nin dorduncu bilinmeyeni yine uydulara ortak receiver +clock/frequency drift'tir; fakat iki fit arasinda +`clock_bias_m(t+dt)=clock_bias_m(t)+clock_drift_mps*dt` kisiti kurulmaz. +Fit'ler ayri measurement/normal-equation kullanir. Doppler WLS, LOS +vektorleri icin position WLS'nin guncel receiver konumuna baglidir. + ESKF; ENU position/velocity, quaternion attitude, accel bias ve gyro bias iceren 15 hata durumlu filtredir. Her timestamp'li IMU ornegi prediction'a girer. Gecikmis GPS position ve Doppler velocity olcumleri kendi capture diff --git a/soc/software/fusion/README.md b/soc/software/fusion/README.md index a1bfc32..6648307 100644 --- a/soc/software/fusion/README.md +++ b/soc/software/fusion/README.md @@ -98,14 +98,17 @@ TDK veya ST IMU -> imu_sensor ----/ kontrol eder. Carrier değeri için `doppler_hz = carrier_q7/128 - 4092000`, L1 pseudorange-rate için `range_rate = -doppler_hz*c/1575420000` kullanılır. -3. Aynı PRN'in 50 Hz snapshot'larında C/N0 `alpha=0.2`, Doppler `alpha=0.05` - software IIR ile yumuşatılır. RTL ham ölçümü korur; hardware Doppler IIR - içermez. -4. En az dört uyduyla C/N0-weighted velocity WLS +3. Aynı PRN'in 50 Hz snapshot'larında C/N0 `alpha=0.2` ile yumuşatılır. + Doppler'in ham değeri ile `alpha=0.05` software-IIR değeri ayrı tutulur; + RTL hardware Doppler IIR içermez. +4. Ham Doppler, en az dört uyduyla C/N0-weighted velocity WLS `[receiver_vx, receiver_vy, receiver_vz, receiver_clock_drift_mps]` state'ini çözer. Her observation'dan satellite LOS velocity çıkarılır, broadcast satellite clock drift eklenir. Inverse normal matrix ve post-fit - residual ECEF velocity covariance'ini üretir. + residual ECEF velocity covariance'ini üretir. En az altı kullanılabilir + uyduda `3.5 sigma` normalized-residual gate açılırsa bütün tek-kanal + leave-one-out adayları denenir ve en düşük weighted residual'lı aday ESKF + yolu için seçilir. 5. GPS adapter velocity ve 3x3 covariance'i ECEF'ten ENU'ya döndürür, kart ölçümüne dayalı minimum `2/2/3 m/s` standard-deviation floor'larını uygular ve position ile aynı capture timestamp'ini korur. @@ -114,6 +117,28 @@ TDK veya ST IMU -> imu_sensor ----/ velocity reject aynı epoch'taki kabul edilmiş position update'ini bozmaz. Sonra daha yeni IMU history current-time horizon'a kadar replay edilir. +Filtreli Doppler ikinci bir velocity WLS'e girer; bu sonuç fusion/ESKF'ye +yayınlanmaz. Yalnız PPS yazılım filtresinde position-WLS referans datumunun +clock-bias drift predictor'u ve PPS kalite metriği olarak kullanılır. PPS'in +ana ölçümü position WLS `clock_bias_m` değeridir. Doppler WLS'nin dördüncü +`receiver_clock_drift_mps` state'i PPS'e doğrudan verilmez; filtreli receiver +velocity ve referans uydu ephemeris hızıyla datum türevi ayrıca hesaplanır. + +Klasik mutlak-pseudorange modelinde receiver clock bias +`c*delta_t_r`, Doppler clock drift ise bunun türevi +`c*d(delta_t_r)/dt`'dir. Doppler WLS carrier pseudorange-rate'ten +`[vx,vy,vz,receiver_clock_drift]` çözer. `0.1 ppm` receiver oscillator +error'i yaklaşık `29.98 m/s` ortak Doppler drift'idir; dördüncü state +çözülmezse bunun bir bölümü platform hızı sanılır. + +Bu projedeki position WLS bias'i ise capture'lar ortak receiver zamanına göre +farklandığı ve `STARTOFFSET` eklendiği için saf receiver clock bias'i değil, +referans-uyduya bağlı göreli bir datumdur. Bu yüzden position +`clock_bias_m` ile Doppler `clock_drift_mps` arasında doğrudan türev kısıtı +kurulmaz. Doppler WLS ayrı bir normal equation kullanır fakat LOS vektörleri +için güncel position WLS receiver konumuna, uydu konum/hız/clock drift'i için +broadcast ephemerise bağlıdır. + Bu zincirin RTL/register ayrıntısı `hardware/external/gps/rtl/trck_src/README.md`, bare-metal WLS ve kart doğrulaması `soc/software/gps_system/README.md` içindedir. diff --git a/soc/software/gps_measurement_python/.gitignore b/soc/software/gps_measurement_python/.gitignore new file mode 100644 index 0000000..98dbeb4 --- /dev/null +++ b/soc/software/gps_measurement_python/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.py[cod] +.venv/ diff --git a/soc/software/gps_measurement_python/README.md b/soc/software/gps_measurement_python/README.md new file mode 100644 index 0000000..09f85e0 --- /dev/null +++ b/soc/software/gps_measurement_python/README.md @@ -0,0 +1,226 @@ +# GPS code measurement ve DLL kalite modeli + +Bu dizin, mevcut firmware/RTL ölçüm yolunu değiştirmeden önce code-phase +hassasiyeti, DLL jitter telemetrisi, dinamik WLS sigma ve carrier/Doppler +smoothing seçeneklerini aynı sentetik veri üzerinde karşılaştırır. + +Bu genel amaçlı bir RF/GNSS simülatörü değildir. Projeye özgü executable +tasarım modelidir. + +Dizin iki ayrı kararı inceler: + +1. Position WLS için C/N0'ın açıklamadığı DLL jitter/variance telemetrisi. +2. Velocity WLS ve ESKF öncesindeki sabit Doppler IIR'in gürültü-gecikme + etkisi. + +## Modellenen mevcut mimari + +| Proje davranışı | Model | +|---|---| +| Normalized early-minus-late DLL discriminator | `rtl_dll_model.rtl_discriminator()` | +| Signed Q2.13 discriminator quantization | `rtl_dll_model.py` | +| `LF_code.sv` C1=`21.25`, C2=`0.05712890625` ve Q20 çıkış | `CodeLoopFilterRtl` | +| 20 adet 1 ms DLL örneği/NAV bit | `synthesize_dll_window()` | +| Firmware C/N0 IIR, alpha=`0.2` | `ChannelQuality.update()` | +| URA/elevation/C/N0 position sigma | `firmware_sigma_m(CURRENT)` | +| ECEF x/y/z + common clock-bias WLS | `firmware_wls()` | +| 99% chi-square ve en az 7 uyduda leave-one-out FDE | `firmware_wls()` | +| Position solve periyodu 200 ms | `measurement_scenarios.py` | +| Doppler IIR alpha=`0.05`, 50 Hz | `doppler_eskf_model.py` | +| ECEF velocity + common clock-drift WLS | `velocity_wls()` | +| Velocity WLS periyodu 200 ms | `doppler_eskf_model.py` | +| TDK 100 Hz IMU process-noise profili | `VelocityBiasEskf` | +| Velocity 3-DOF `%99.9`, NIS=`16.266236` | `VelocityBiasEskf.update_velocity()` | + +Kaynak eşlemeleri: + +- `hardware/external/gps/rtl/trck_src/code_loop_discriminator.sv` +- `hardware/external/gps/rtl/trck_src/LF_code.sv` +- `hardware/external/gps/rtl/trck_src/NCO_code.sv` +- `hardware/external/gps/rtl/trck_src/tracking_measurement.sv` +- `hardware/external/gps/rtl/common/definitions.sv` +- `soc/software/gps_system/src/gps/gps_tracking_measurement.c` +- `soc/software/gps_system/src/gps/gps_interrupt_handlers.c` +- `soc/software/gps_system/src/gps/NavEquations.c` + +`REM_CODE_PHASE`, DLL discriminator residual'ı olarak modellenmez. RTL'de bu +değer code NCO'nun epoch taşma remainder'ıdır. Yeni kalite metriğinin girdisi +RTL içindeki gerçek signed `dll_error` örnekleridir. + +## Karşılaştırılan sigma politikaları + +- `current_cn0`: mevcut URA + elevation + C/N0 modeli. +- `naive_add_dll`: DLL variance'ı bağımsızmış gibi ekler. Nominal durumda aynı + thermal jitter'ı iki kere saydığı için negatif kontrol olarak bulunur. +- `dll_excess`: yalnız ölçülen DLL variance'ın C/N0'dan beklenen variance'ı aşan + bölümünü code sigma'ya ekler. +- `dll_excess_guard`: excess variance'a ek olarak sürekli discriminator mean + stress'inde ağırlığı azaltır. +- `oracle_variance`: sentetik gerçek jitter çarpanını bilir. Ulaşılabilir üst + sınırı gösterir; firmware algoritması değildir. + +Dinamik model: + +```text +sigma_base^2 = sigma_URA^2 + sigma_elevation^2 + sigma_CN0^2 +ratio = EWMA(measured_DLL_variance / expected_DLL_variance(C/N0)) + +sigma_dynamic^2 = + sigma_URA^2 + + sigma_elevation^2 + + sigma_CN0^2 * max(1, ratio) +``` + +Bu form C/N0 ile DLL thermal jitter'ını iki kere toplamaz. Yalnızca C/N0 +modelinin açıklayamadığı kanal-bağımlı excess jitter'ı şişirir. + +## Senaryolar + +- Temiz açık gökyüzü +- Bütün kanallarda düşük C/N0 +- C/N0'da görünmeyen tek-kanal DLL jitter +- Bütün kanallarda ortak, C/N0'da görünmeyen DLL jitter +- Gürültü burst ve recovery +- Re-lock sırasında DLL mean/jitter stress +- Düşük-variance stable multipath bias +- Bias + excess jitter +- Kötü geometri + gizli jitter +- İlk başta düşük, sonra iyileşen C/N0 + +Ayrı 1D model ham code, kör scalar IIR ve Doppler-predicted code smoothing'i +range-rate adımları ve residual carrier CFO altında karşılaştırır. Carrier +ölçümleri RTL cadence'i olan 50 Hz'de üretilir ve 200 ms WLS epoch'una kadar +entegre edilir. Hem raw carrier-rate hem de mevcut firmware'deki +`GPS_TRACK_DOPPLER_SMOOTH_ALPHA=0.05` çıkışı denenir. Bu ayrım önemlidir: +PPS datum-drift predictor'u için yararlı olan yavaş Doppler filtresi, ESKF +velocity veya hızlı code-aiding prediction'ında dinamik lag üretebilir. + +## Doppler pre-IIR ve ESKF modeli + +`doppler_eskf_model.py`, aynı truth, tracking gürültüsü ve IMU örnekleriyle şu +dört yolu karşılaştırır: + +- Önceki: 50 Hz `alpha=0.05` IIR -> 5 Hz velocity WLS -> ESKF. +- Ham Doppler -> 5 Hz velocity WLS -> ESKF. +- C/N0 + düşük-geçiren navigation acceleration ile adaptif IIR -> WLS -> ESKF. +- Ham Doppler -> RAIM-benzeri leave-one-out robust WLS -> ESKF. + +Mevcut `alpha=0.05` tek-kutuplu IIR için 50 Hz'de eşdeğer cutoff yaklaşık +`0.408 Hz`, zaman sabiti `0.390 s`, DC group delay ise yaklaşık `380 ms`'dir. +Bu gecikme constant velocity'de görünmez; acceleration sırasında velocity +measurement innovation'ına doğrudan girer. + +ESKF modeli bu karar için gerekli `[velocity, accel-bias]` alt sistemidir. +Firmware'deki TDK process acceleration noise density `0.025 +m/s2/sqrt(Hz)`, accelerometer bias random walk `0.0015 m/s2/sqrt(s)`, WLS'nin +gerçek 3x3 covariance'ı, fusion adapter'ın `2/2/3 m/s` ENU velocity sigma +tabanları ve velocity NIS kapısı kullanılır. Position, attitude, lever-arm ve +tam 15-state cross-covariance bu modelin kapsamında değildir. + +Senaryo matrisi sabit uçuş, airliner/aggressive manevra, düşük C/N0, tek-kanal +Doppler burst, common receiver clock-drift step, 15 saniye GPS kesintisi ve +birleşik arıza koşullarını içerir. + +20-seed sentetik sonuçların özeti: + +- ESKF ham WLS gürültüsünü nominalde yaklaşık `0.416 m/s` 3D RMS'ten `0.190 + m/s` seviyesine indirir; temporal filtreleme zaten ESKF'de gerçekleşir. +- Sabit pre-IIR sakin uçuşta `0.182 m/s`, ham yol `0.190 m/s` verir. Airliner + manevrasında sabit IIR gecikmesi sonucu `0.416 m/s`, ham yol `0.190 m/s`; + aggressive manevrada sırasıyla `0.942 m/s` ve `0.190 m/s` oluşur. Adapter + sigma tabanları iki yolu da NIS içinde tutsa bile dinamik lag kalır. +- Düşük C/N0 manevrasında adaptif taslak en iyi gürültü/gecikme uzlaşmasını + verir; eşikleri firmware'e taşımadan önce kart loguyla kalibre etmek gerekir. +- ESKF yalnız aggregate 3D velocity gördüğünden tek uydu burst'ünün kaynağını + ayıramaz. Kanal outlier/FDE işlemi velocity WLS öncesinde yapılmalıdır. +- Common receiver clock-frequency hatası WLS'nin dördüncü clock-drift state'i + tarafından hızdan ayrılır. + +Bu sonuçlarla firmware'de ESKF için ham Doppler -> kanal validity/FDE -> +velocity WLS + covariance -> ESKF yolu uygulanmıştır. Ayrı yavaş-filtered +Doppler velocity yalnız PPS position-WLS clock-bias datumunun drift predictor'u +ve PPS kalite metriği için tutulur. Ayrıntılı tablo ve sınırlar +`output/DOPPLER_ESKF_ANALYSIS.md` içindedir. + +## Kurulum ve çalıştırma + +Repo içindeki `soc/software` dizininden: + +```bash +python3 -m venv gps_measurement_python/.venv +gps_measurement_python/.venv/bin/pip install \ + -r gps_measurement_python/requirements.txt +gps_measurement_python/.venv/bin/python -m unittest \ + gps_measurement_python/test_measurement_model.py \ + gps_measurement_python/test_doppler_eskf_model.py +gps_measurement_python/.venv/bin/python \ + -m gps_measurement_python.analyze_measurement_scenarios \ + --seeds 12 --jobs 4 +gps_measurement_python/.venv/bin/python \ + -m gps_measurement_python.analyze_doppler_eskf \ + --seeds 20 --jobs 4 +``` + +Sistem Python'unda `venv` paketi yoksa bağımlılıklar izole bir target dizinine +de kurulabilir: + +```bash +python3 -m pip install --target /tmp/gps-measurement-deps \ + -r gps_measurement_python/requirements.txt +PYTHONPATH=/tmp/gps-measurement-deps:. python3 \ + -m unittest gps_measurement_python/test_measurement_model.py +PYTHONPATH=/tmp/gps-measurement-deps:. python3 \ + -m gps_measurement_python.analyze_measurement_scenarios \ + --seeds 12 --jobs 4 +``` + +Çıktılar `gps_measurement_python/output/` altındadır: + +- `scenario_summary.csv` +- `ANALYSIS.md` +- `01_position_3d_rms.png` +- `02_solution_availability.png` +- `03_noise_burst_transition.png` +- `04_code_smoothing_cfo.png` +- `doppler_eskf_summary.csv` +- `DOPPLER_ESKF_ANALYSIS.md` +- `05_doppler_eskf_velocity_rms.png` +- `06_airliner_maneuver_trace.png` +- `07_outlier_wls_nis.png` +- `08_low_cn0_wls_vs_eskf.png` + +## Kalibrasyon sınırı + +Modelde C/N0'dan beklenen normalized discriminator standard deviation'ı +45 dB-Hz için `0.020` kabul edilir ve firmware ile aynı 20 dB amplitude yasası +ile ölçeklenir. Bu sayı karttan alınmış bir kalibrasyon değildir. + +Karar vermeden önce karttan her kanal için en az şu 50 Hz kayıt alınmalıdır: + +```text +sequence, PRN, C/N0, +DLL mean, DLL variance, DLL sample count, +code NCO correction, carrier frequency, +ABS_SAMPLE, REM_CODE_PHASE, lock +``` + +Kayıtlarla `expected_DLL_variance(C/N0)` eğrisi çıkarılmalı; temperature, +elevation ve lock yaşına göre ayrıştırılmalıdır. Stable multipath, DLL yeni +denge noktasına oturduğunda düşük variance bırakabilir. Bu durum tek başına +DLL variance ile çözülemez; ek correlator tap'leri veya correlation-shape +metriği gerekir. + +RTL için en düşük maliyetli keşif arayüzü, her 20 ms NAV-bit penceresinde +`dll_error` üzerinden aşağıdaki ham istatistikleri biriktirmektir: + +```text +signed sum(error) : 15 + ceil(log2(20)) = 20 bit +unsigned sum(error^2) : 30 + ceil(log2(20)) = 35 bit +valid sample count : 5 bit +``` + +35-bit kare toplamı APB'de iki 32-bit register ile taşınabilir. Ortalama, +sample variance, C/N0 expectation ratio ve hysteresis yazılımda hesaplanır. +Bölme ve square-root RTL'ye konmaz. Bu tuple mevcut measurement sequence, +C/N0, carrier frequency, `ABS_SAMPLE` ve `REM_CODE_PHASE` ile aynı 20 ms +snapshot'ta tutulmalıdır. diff --git a/soc/software/gps_measurement_python/__init__.py b/soc/software/gps_measurement_python/__init__.py new file mode 100644 index 0000000..57dd220 --- /dev/null +++ b/soc/software/gps_measurement_python/__init__.py @@ -0,0 +1 @@ +"""Project-specific GPS code-measurement and WLS analysis model.""" diff --git a/soc/software/gps_measurement_python/analyze_doppler_eskf.py b/soc/software/gps_measurement_python/analyze_doppler_eskf.py new file mode 100644 index 0000000..126189f --- /dev/null +++ b/soc/software/gps_measurement_python/analyze_doppler_eskf.py @@ -0,0 +1,428 @@ +"""Monte Carlo comparison of Doppler prefilter choices before velocity ESKF.""" + +from __future__ import annotations + +import argparse +import csv +import math +from concurrent.futures import ProcessPoolExecutor +from dataclasses import dataclass +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import numpy as np + +from .doppler_eskf_model import ( + DopplerEskfTrace, + DopplerPath, + PATH_ORDER, + VELOCITY_NIS_GATE, + flight_scenarios, + run_doppler_eskf_scenario, +) + + +PATH_LABEL = { + DopplerPath.FIXED_IIR: "Önceki sabit IIR", + DopplerPath.RAW: "Ham Doppler + ESKF", + DopplerPath.ADAPTIVE_IIR: "Adaptif IIR + ESKF", + DopplerPath.RAW_ROBUST: "Ham + robust WLS + ESKF", +} + + +@dataclass(frozen=True) +class TrialMetrics: + scenario: str + path: DopplerPath + fused_rms_mps: float + fused_p95_mps: float + quiet_rms_mps: float + dynamic_rms_mps: float + wls_rms_mps: float + wls_p95_mps: float + clock_drift_rms_mps: float + velocity_accept_percent: float + nis_reject_percent: float + fused_95_coverage_percent: float + excluded_epoch_percent: float + mean_covariance_scale: float + mean_alpha: float + + +@dataclass(frozen=True) +class Summary: + scenario: str + path: DopplerPath + seeds: int + fused_rms_mps: float + fused_rms_seed_std_mps: float + fused_p95_mps: float + quiet_rms_mps: float + dynamic_rms_mps: float + wls_rms_mps: float + wls_p95_mps: float + clock_drift_rms_mps: float + velocity_accept_percent: float + nis_reject_percent: float + fused_95_coverage_percent: float + excluded_epoch_percent: float + mean_covariance_scale: float + mean_alpha: float + + +def _rms(values: np.ndarray) -> float: + return float(np.sqrt(np.mean(np.square(values)))) if len(values) else math.nan + + +def _truth_at_wls(trace: DopplerEskfTrace) -> np.ndarray: + return np.column_stack( + [ + np.interp( + trace.wls_time_s, + trace.time_s, + trace.truth_velocity_mps[:, axis], + ) + for axis in range(3) + ] + ) + + +def trial_metrics(scenario_index: int, trace: DopplerEskfTrace) -> TrialMetrics: + scenario = flight_scenarios()[scenario_index] + burn_in = trace.time_s >= 5.0 + fused_vector_error = trace.fused_velocity_mps - trace.truth_velocity_mps + fused_error = np.linalg.norm(fused_vector_error, axis=1) + dynamic = burn_in & (np.linalg.norm(trace.acceleration_mps2, axis=1) > 0.25) + quiet = burn_in & ~dynamic + + fused_nees = [] + for sample in np.flatnonzero(burn_in): + covariance = trace.fused_velocity_covariance_mps2[sample] + error = fused_vector_error[sample] + fused_nees.append(float(error @ np.linalg.inv(covariance) @ error)) + fused_nees_array = np.asarray(fused_nees) + + wls_error = np.linalg.norm(trace.wls_velocity_mps - _truth_at_wls(trace), axis=1) + true_clock_drift = np.asarray( + [scenario.receiver_clock_drift_mps(float(time)) for time in trace.wls_time_s] + ) + clock_error = trace.wls_clock_drift_mps - true_clock_drift + valid_nis = trace.wls_nis[np.isfinite(trace.wls_nis)] + + return TrialMetrics( + scenario=trace.scenario, + path=trace.path, + fused_rms_mps=_rms(fused_error[burn_in]), + fused_p95_mps=float(np.percentile(fused_error[burn_in], 95.0)), + quiet_rms_mps=_rms(fused_error[quiet]), + dynamic_rms_mps=_rms(fused_error[dynamic]), + wls_rms_mps=_rms(wls_error), + wls_p95_mps=float(np.percentile(wls_error, 95.0)), + clock_drift_rms_mps=_rms(clock_error), + velocity_accept_percent=100.0 * float(np.mean(trace.wls_accepted)), + nis_reject_percent=100.0 * float(np.mean(valid_nis > VELOCITY_NIS_GATE)), + # 7.8147 is the 95-percent chi-square threshold for three states. + fused_95_coverage_percent=100.0 * float(np.mean(fused_nees_array <= 7.8147279)), + excluded_epoch_percent=100.0 + * float(np.mean(trace.excluded_satellites >= 0)), + mean_covariance_scale=float(np.mean(trace.wls_covariance_scale)), + mean_alpha=float(np.mean(trace.adaptive_alpha)), + ) + + +def _worker(task: tuple[int, int]) -> tuple[int, int, list[TrialMetrics]]: + scenario_index, seed = task + scenario = flight_scenarios()[scenario_index] + traces = run_doppler_eskf_scenario(scenario, seed) + return ( + scenario_index, + seed, + [trial_metrics(scenario_index, traces[path]) for path in PATH_ORDER], + ) + + +def summarize(items: list[TrialMetrics]) -> Summary: + if not items: + raise ValueError("cannot summarize an empty trial list") + + def average(field_name: str) -> float: + values = np.asarray([getattr(item, field_name) for item in items], dtype=float) + finite = values[np.isfinite(values)] + return float(np.mean(finite)) if len(finite) else math.nan + + fused_rms = np.asarray([item.fused_rms_mps for item in items]) + return Summary( + scenario=items[0].scenario, + path=items[0].path, + seeds=len(items), + fused_rms_mps=average("fused_rms_mps"), + fused_rms_seed_std_mps=float(np.std(fused_rms)), + fused_p95_mps=average("fused_p95_mps"), + quiet_rms_mps=average("quiet_rms_mps"), + dynamic_rms_mps=average("dynamic_rms_mps"), + wls_rms_mps=average("wls_rms_mps"), + wls_p95_mps=average("wls_p95_mps"), + clock_drift_rms_mps=average("clock_drift_rms_mps"), + velocity_accept_percent=average("velocity_accept_percent"), + nis_reject_percent=average("nis_reject_percent"), + fused_95_coverage_percent=average("fused_95_coverage_percent"), + excluded_epoch_percent=average("excluded_epoch_percent"), + mean_covariance_scale=average("mean_covariance_scale"), + mean_alpha=average("mean_alpha"), + ) + + +def write_csv(path: Path, summaries: list[Summary]) -> None: + with path.open("w", newline="", encoding="utf-8") as output: + writer = csv.DictWriter(output, fieldnames=list(Summary.__dataclass_fields__)) + writer.writeheader() + for item in summaries: + row = dict(item.__dict__) + row["path"] = item.path.value + writer.writerow(row) + + +def _summary_plot(path: Path, summaries: list[Summary]) -> None: + scenarios = flight_scenarios() + x = np.arange(len(scenarios)) + width = 0.19 + figure, axis = plt.subplots(figsize=(15, 6.3)) + for path_index, doppler_path in enumerate(PATH_ORDER): + values = [ + next( + item.fused_rms_mps + for item in summaries + if item.scenario == scenario.name and item.path == doppler_path + ) + for scenario in scenarios + ] + axis.bar( + x + (path_index - 1.5) * width, + values, + width, + label=PATH_LABEL[doppler_path], + ) + axis.set_ylabel("ESKF 3D velocity RMS (m/s)") + axis.set_yscale("log") + axis.set_xticks(x) + axis.set_xticklabels([item.name for item in scenarios], rotation=25, ha="right") + axis.grid(axis="y", alpha=0.25) + axis.legend(ncol=2) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def _maneuver_trace_plot(path: Path, trace_set: dict[DopplerPath, DopplerEskfTrace]) -> None: + reference = trace_set[DopplerPath.FIXED_IIR] + figure, axes = plt.subplots(3, 1, figsize=(13, 8.5), sharex=True) + for doppler_path in PATH_ORDER: + trace = trace_set[doppler_path] + error = np.linalg.norm(trace.fused_velocity_mps - trace.truth_velocity_mps, axis=1) + axes[0].plot(trace.time_s, error, label=PATH_LABEL[doppler_path], linewidth=1.0) + axes[1].plot( + reference.time_s, + np.linalg.norm(reference.acceleration_mps2, axis=1), + color="black", + linewidth=1.2, + label="True |acceleration|", + ) + adaptive = trace_set[DopplerPath.ADAPTIVE_IIR] + axes[2].step( + adaptive.wls_time_s, + adaptive.adaptive_alpha, + where="post", + color="tab:green", + ) + axes[0].set_ylabel("3D velocity error (m/s)") + axes[1].set_ylabel("Acceleration (m/s²)") + axes[2].set_ylabel("Adaptive alpha") + axes[2].set_xlabel("Time (s)") + axes[0].set_ylim(bottom=0.0) + axes[0].legend(ncol=2) + for axis in axes: + axis.grid(alpha=0.25) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def _outlier_plot(path: Path, trace_set: dict[DopplerPath, DopplerEskfTrace]) -> None: + figure, axes = plt.subplots(2, 1, figsize=(13, 7), sharex=True) + for doppler_path in PATH_ORDER: + trace = trace_set[doppler_path] + error = np.linalg.norm(trace.wls_velocity_mps - _truth_at_wls(trace), axis=1) + axes[0].plot(trace.wls_time_s, error, label=PATH_LABEL[doppler_path], linewidth=1.0) + axes[1].plot(trace.wls_time_s, trace.wls_nis, label=PATH_LABEL[doppler_path], linewidth=0.9) + axes[1].axhline(VELOCITY_NIS_GATE, color="black", linestyle="--", linewidth=1.0) + for start, stop in ((30.0, 31.0), (56.0, 57.0), (72.0, 72.6)): + for axis in axes: + axis.axvspan(start, stop, color="tab:red", alpha=0.10) + axes[0].set_ylabel("WLS velocity error (m/s)") + axes[1].set_ylabel("Velocity NIS") + axes[1].set_xlabel("Time (s)") + axes[0].legend(ncol=2) + for axis in axes: + axis.grid(alpha=0.25) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def _filtering_plot(path: Path, trace_set: dict[DopplerPath, DopplerEskfTrace]) -> None: + figure, axes = plt.subplots(2, 1, figsize=(13, 7), sharex=True) + for doppler_path in (DopplerPath.FIXED_IIR, DopplerPath.RAW, DopplerPath.ADAPTIVE_IIR): + trace = trace_set[doppler_path] + wls_error = np.linalg.norm(trace.wls_velocity_mps - _truth_at_wls(trace), axis=1) + fused_error = np.linalg.norm(trace.fused_velocity_mps - trace.truth_velocity_mps, axis=1) + axes[0].plot(trace.wls_time_s, wls_error, label=PATH_LABEL[doppler_path], linewidth=0.9) + axes[1].plot(trace.time_s, fused_error, label=PATH_LABEL[doppler_path], linewidth=0.9) + axes[0].set_ylabel("WLS 3D error (m/s)") + axes[1].set_ylabel("ESKF 3D error (m/s)") + axes[1].set_xlabel("Time (s)") + axes[0].legend(ncol=2) + for axis in axes: + axis.grid(alpha=0.25) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def _lookup( + summaries: list[Summary], scenario: str, doppler_path: DopplerPath +) -> Summary: + return next( + item + for item in summaries + if item.scenario == scenario and item.path == doppler_path + ) + + +def write_report(path: Path, summaries: list[Summary], seed_count: int) -> None: + lines = [ + "# Doppler WLS -> ESKF model sonuçları", + "", + f"Monte Carlo seed sayısı: `{seed_count}`; ilk 5 saniye RMS metriklerinden çıkarıldı.", + "50 Hz tracking, önceki `alpha=0.05` Doppler IIR, 5 Hz dört-state velocity WLS, fusion adapter'ın `2/2/3 m/s` ENU sigma tabanları, TDK profiliyle 100 Hz IMU propagation ve 3-DOF `%99.9` NIS kapısı modellenmiştir.", + "", + "## Sonuç tablosu", + "", + "| Senaryo | Yol | ESKF RMS (m/s) | Dynamic RMS | WLS RMS | Accept (%) | 95% cov. (%) | Exclude (%) |", + "|---|---|---:|---:|---:|---:|---:|---:|", + ] + for scenario in flight_scenarios(): + for doppler_path in PATH_ORDER: + item = _lookup(summaries, scenario.name, doppler_path) + dynamic = "-" if not np.isfinite(item.dynamic_rms_mps) else f"{item.dynamic_rms_mps:.3f}" + lines.append( + f"| {scenario.name} | {PATH_LABEL[doppler_path]} | " + f"{item.fused_rms_mps:.3f} | {dynamic} | {item.wls_rms_mps:.3f} | " + f"{item.velocity_accept_percent:.1f} | {item.fused_95_coverage_percent:.1f} | " + f"{item.excluded_epoch_percent:.1f} |" + ) + + steady_fixed = _lookup(summaries, "steady_cruise", DopplerPath.FIXED_IIR) + steady_raw = _lookup(summaries, "steady_cruise", DopplerPath.RAW) + air_fixed = _lookup(summaries, "airliner_maneuver", DopplerPath.FIXED_IIR) + air_raw = _lookup(summaries, "airliner_maneuver", DopplerPath.RAW) + weak_fixed = _lookup(summaries, "low_cn0_airliner", DopplerPath.FIXED_IIR) + weak_raw = _lookup(summaries, "low_cn0_airliner", DopplerPath.RAW) + weak_adaptive = _lookup(summaries, "low_cn0_airliner", DopplerPath.ADAPTIVE_IIR) + outlier_raw = _lookup(summaries, "single_satellite_outliers", DopplerPath.RAW) + outlier_robust = _lookup(summaries, "single_satellite_outliers", DopplerPath.RAW_ROBUST) + clock_raw = _lookup(summaries, "clock_drift_steps", DopplerPath.RAW) + + lines.extend( + [ + "", + "## Bulgular", + "", + f"- Sabit hızda pre-IIR ESKF RMS'i `{steady_fixed.fused_rms_mps:.3f}` m/s, ham yol `{steady_raw.fused_rms_mps:.3f}` m/s. Yani pre-IIR sakin durumda daha düzgün çıktı veriyor; ESKF ham gürültüyü zaten `{steady_raw.wls_rms_mps:.3f}` m/s WLS RMS'ten bu seviyeye indiriyor.", + f"- Airliner manevrasında sabit IIR `{air_fixed.fused_rms_mps:.3f}` m/s ve `%{air_fixed.nis_reject_percent:.1f}` NIS ret oranı verirken ham yol `{air_raw.fused_rms_mps:.3f}` m/s ve `%{air_raw.nis_reject_percent:.1f}` ret verdi. Konservatif adapter tabanları rejection'ı sınırlasa bile covariance'ın temsil etmediği IIR gecikmesi fused velocity'de dinamik hata bırakır.", + f"- Düşük C/N0 manevrasında sabit/ham/adaptif RMS sırasıyla `{weak_fixed.fused_rms_mps:.3f}`, `{weak_raw.fused_rms_mps:.3f}`, `{weak_adaptive.fused_rms_mps:.3f}` m/s oldu. Adaptif yol bu sentetik koşulda gürültü/gecikme uzlaşmasını sağladı; gerçek eşikler kart verisi ister.", + f"- Tek uydu burst'ünde raw WLS RMS `{outlier_raw.wls_rms_mps:.3f}` m/s, robust leave-one-out ile `{outlier_robust.wls_rms_mps:.3f}` m/s. ESKF son RMS farkı daha küçük; çünkü mevcut residual covariance inflation aggregate hatayı zaten zayıflatıyor. Robust kapı yine de hatalı kanalı bütün epoch'u reddetmeden ayırır.", + f"- Common clock-drift step raw velocity RMS'ini bozmadı; clock-drift state RMS'i `{clock_raw.clock_drift_rms_mps:.3f}` m/s. Dördüncü WLS bilinmeyeni ortak frekans hatasını üç hız bileşeninden ayırıyor.", + "", + "## Mimari kararı", + "", + "- ESKF açıkken uygulanan ana yol: 20 ms ham Doppler snapshot -> kanal validity/outlier kontrolü -> 5 Hz robust velocity WLS + gerçek covariance -> adapter tabanları -> ESKF. Sabit `alpha=0.05` temporal IIR yalnız PPS drift-predictor yolunda kalır.", + "- ESKF yalnız 3D aggregate velocity gördüğü için tek uydu hatasını sonradan teşhis edemez. Per-satellite robust gate/FDE WLS öncesinde kalmalıdır.", + "- Standalone GPS speed, PPS aiding veya ESKF kapalı build için ayrı, yavaş filtrelenmiş Doppler çıktısı tutulabilir. Aynı filtered değeri hem code aiding hem ESKF velocity için kullanmak uygun değildir.", + "- Adaptif IIR mümkündür; modelde C/N0 sakin-state alpha'sını, düşük geçiren IMU navigation acceleration ise dynamic alpha'yı seçer. Ancak ESKF'li ana yol için ham ölçüm daha sade ve gecikmesizdir.", + "", + "## Model sınırları", + "", + "- Sonuçlar sentetik hata büyüklüklerine koşulludur; kartta yüzde kazanç iddiası değildir.", + "- Uydu geometrisi sabit sekiz-kanal local LOS modelidir. Satellite velocity/clock düzeltmelerinin doğru yapıldığı varsayılmıştır.", + "- ESKF, bu soruya etki eden `[velocity, accel-bias]` alt sistemine indirgenmiştir; attitude, lever-arm ve tam position cross-covariance modellenmemiştir.", + "- Tam firmware'deki position update'in velocity/accel-bias cross-covariance üzerinden sağlayabileceği kısmi recovery bu azaltılmış modelde yoktur. Bu nedenle uzun NIS-ret zincirinin mutlak büyüklüğü değil, pre-IIR'in gecikme ve ret mekanizması karar girdisidir.", + "- Carrier loop gürültüsü C/N0 sigma yasasıyla üretilmiştir. Gerçek correlation, oscillator phase noise ve cycle slip dağılımları kart loguyla kalibre edilmelidir.", + "- Robust WLS'nin `3.5 sigma`, en az altı uydu ve bütün tek-kanal leave-one-out seçimi C implementasyonuyla aynıdır. RTL değişmez; raw/filtered ayrımı firmware'dedir.", + "", + ] + ) + path.write_text("\n".join(lines), encoding="utf-8") + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--seeds", type=int, default=20) + parser.add_argument("--jobs", type=int, default=4) + parser.add_argument( + "--output", + type=Path, + default=Path(__file__).resolve().parent / "output", + ) + arguments = parser.parse_args() + arguments.output.mkdir(parents=True, exist_ok=True) + + scenarios = flight_scenarios() + tasks = [ + (scenario_index, seed) + for scenario_index in range(len(scenarios)) + for seed in range(1, arguments.seeds + 1) + ] + grouped: dict[tuple[int, DopplerPath], list[TrialMetrics]] = { + (scenario_index, doppler_path): [] + for scenario_index in range(len(scenarios)) + for doppler_path in PATH_ORDER + } + with ProcessPoolExecutor(max_workers=max(1, arguments.jobs)) as executor: + for scenario_index, seed, metrics in executor.map(_worker, tasks): + for item in metrics: + grouped[(scenario_index, item.path)].append(item) + print(f"completed {scenarios[scenario_index].name} seed={seed}", flush=True) + + summaries = [ + summarize(grouped[(scenario_index, doppler_path)]) + for scenario_index in range(len(scenarios)) + for doppler_path in PATH_ORDER + ] + write_csv(arguments.output / "doppler_eskf_summary.csv", summaries) + write_report( + arguments.output / "DOPPLER_ESKF_ANALYSIS.md", + summaries, + arguments.seeds, + ) + _summary_plot(arguments.output / "05_doppler_eskf_velocity_rms.png", summaries) + + airliner = run_doppler_eskf_scenario( + next(item for item in scenarios if item.name == "airliner_maneuver"), 1 + ) + _maneuver_trace_plot(arguments.output / "06_airliner_maneuver_trace.png", airliner) + outlier = run_doppler_eskf_scenario( + next(item for item in scenarios if item.name == "single_satellite_outliers"), 1 + ) + _outlier_plot(arguments.output / "07_outlier_wls_nis.png", outlier) + weak = run_doppler_eskf_scenario( + next(item for item in scenarios if item.name == "low_cn0_airliner"), 1 + ) + _filtering_plot(arguments.output / "08_low_cn0_wls_vs_eskf.png", weak) + print(f"wrote Doppler/ESKF analysis to {arguments.output}", flush=True) + + +if __name__ == "__main__": + main() diff --git a/soc/software/gps_measurement_python/analyze_measurement_scenarios.py b/soc/software/gps_measurement_python/analyze_measurement_scenarios.py new file mode 100644 index 0000000..ff3b617 --- /dev/null +++ b/soc/software/gps_measurement_python/analyze_measurement_scenarios.py @@ -0,0 +1,425 @@ +"""Run the complete DLL-quality/WLS and code-smoothing comparison.""" + +from __future__ import annotations + +import argparse +import csv +import math +from concurrent.futures import ProcessPoolExecutor +from dataclasses import dataclass +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import numpy as np + +from .code_smoothing_model import run_smoothing_trial +from .firmware_wls_model import SigmaMethod +from .measurement_scenarios import EpochSample, run_scenario, scenario_matrix + + +METHOD_ORDER = ( + SigmaMethod.CURRENT, + SigmaMethod.NAIVE_ADD_DLL, + SigmaMethod.DLL_EXCESS, + SigmaMethod.DLL_EXCESS_GUARD, + SigmaMethod.ORACLE, +) +METHOD_LABEL = { + SigmaMethod.CURRENT: "Mevcut C/N0", + SigmaMethod.NAIVE_ADD_DLL: "Naif DLL ekle", + SigmaMethod.DLL_EXCESS: "DLL excess", + SigmaMethod.DLL_EXCESS_GUARD: "DLL excess+mean", + SigmaMethod.ORACLE: "Oracle variance", +} + + +@dataclass(frozen=True) +class Summary: + scenario: str + method: SigmaMethod + epochs: int + horizontal_rms_m: float + position_3d_rms_m: float + position_3d_p95_m: float + valid_percent: float + valid_3d_rms_m: float + horizontal_2sigma_coverage_percent: float + false_valid_over_25m_percent: float + fde_percent: float + mean_measurement_sigma_m: float + + +def _worker(task: tuple[int, int]) -> tuple[int, int, list[EpochSample]]: + scenario_index, seed = task + scenario = scenario_matrix()[scenario_index] + return scenario_index, seed, run_scenario(scenario, seed, METHOD_ORDER) + + +def _rms(values: np.ndarray) -> float: + return float(np.sqrt(np.mean(np.square(values)))) if len(values) else math.nan + + +def summarize(scenario_name: str, method: SigmaMethod, samples: list[EpochSample]) -> Summary: + selected = [ + item + for item in samples + if item.method == method and item.time_s >= 5.0 + ] + horizontal = np.asarray([item.horizontal_error_m for item in selected]) + error_3d = np.asarray([item.position_error_3d_m for item in selected]) + valid = np.asarray([item.valid for item in selected], dtype=bool) + horizontal_sigma = np.asarray([item.horizontal_sigma_m for item in selected]) + fde = np.asarray([item.fde_applied for item in selected], dtype=bool) + mean_sigma = np.asarray([item.mean_measurement_sigma_m for item in selected]) + false_valid = valid & (error_3d > 25.0) + return Summary( + scenario=scenario_name, + method=method, + epochs=len(selected), + horizontal_rms_m=_rms(horizontal), + position_3d_rms_m=_rms(error_3d), + position_3d_p95_m=float(np.percentile(error_3d, 95.0)), + valid_percent=100.0 * float(np.mean(valid)), + valid_3d_rms_m=_rms(error_3d[valid]), + horizontal_2sigma_coverage_percent=100.0 + * float(np.mean(horizontal <= 2.0 * horizontal_sigma)), + false_valid_over_25m_percent=100.0 * float(np.mean(false_valid)), + fde_percent=100.0 * float(np.mean(fde)), + mean_measurement_sigma_m=float(np.mean(mean_sigma)), + ) + + +def write_csv(path: Path, summaries: list[Summary]) -> None: + with path.open("w", newline="", encoding="utf-8") as output: + writer = csv.DictWriter(output, fieldnames=list(Summary.__dataclass_fields__)) + writer.writeheader() + for item in summaries: + row = dict(item.__dict__) + row["method"] = item.method.value + writer.writerow(row) + + +def _comparison_plot( + path: Path, + summaries: list[Summary], + field: str, + ylabel: str, + *, + logarithmic: bool = False, +) -> None: + scenarios = scenario_matrix() + x = np.arange(len(scenarios)) + width = 0.16 + figure, axis = plt.subplots(figsize=(15, 6.5)) + for method_index, method in enumerate(METHOD_ORDER): + values = [ + getattr( + next( + item + for item in summaries + if item.scenario == scenario.name and item.method == method + ), + field, + ) + for scenario in scenarios + ] + axis.bar( + x + (method_index - 2) * width, + values, + width, + label=METHOD_LABEL[method], + ) + axis.set_ylabel(ylabel) + if logarithmic: + axis.set_yscale("log") + axis.set_xticks(x) + axis.set_xticklabels([item.name for item in scenarios], rotation=28, ha="right") + axis.grid(axis="y", alpha=0.25) + axis.legend(ncol=3) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def _transition_plot(path: Path, samples: list[EpochSample]) -> None: + figure, axes = plt.subplots(2, 1, figsize=(12, 7), sharex=True) + for method in ( + SigmaMethod.CURRENT, + SigmaMethod.DLL_EXCESS, + SigmaMethod.DLL_EXCESS_GUARD, + ): + selected = [item for item in samples if item.method == method] + axes[0].plot( + [item.time_s for item in selected], + [item.position_error_3d_m for item in selected], + label=METHOD_LABEL[method], + linewidth=1.2, + ) + reference = [item for item in samples if item.method == SigmaMethod.CURRENT] + axes[1].plot( + [item.time_s for item in reference], + [item.maximum_dll_ratio for item in reference], + color="tab:red", + ) + axes[0].axvspan(22.0, 45.0, color="tab:orange", alpha=0.15) + axes[1].axvspan(22.0, 45.0, color="tab:orange", alpha=0.15) + axes[0].set_ylabel("3D konum hatası (m)") + axes[1].set_ylabel("Maks. DLL variance ratio") + axes[1].set_xlabel("Zaman (s)") + axes[0].legend() + for axis in axes: + axis.grid(alpha=0.25) + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def smoothing_summary(seed_count: int) -> dict[str, dict[str, float]]: + result: dict[str, dict[str, float]] = {} + for label, cfo_mps in ( + ("cfo_compensated", 0.0), + ("cfo_residual_0p5_mps", 0.5), + ("cfo_residual_3_mps", 3.0), + ): + trials = [ + run_smoothing_trial(seed, doppler_cfo_mps=cfo_mps) + for seed in range(1, seed_count + 1) + ] + result[label] = { + field: float(np.mean([getattr(item, field) for item in trials])) + for field in trials[0].__dataclass_fields__ + } + return result + + +def _smoothing_plot(path: Path, smoothing: dict[str, dict[str, float]]) -> None: + labels = list(smoothing) + x = np.arange(len(labels)) + width = 0.20 + figure, axis = plt.subplots(figsize=(10, 5.5)) + for offset, (field, title) in enumerate( + ( + ("raw_rmse_m", "Ham code"), + ("scalar_iir_rmse_m", "Kör IIR"), + ("doppler_smoothed_rmse_m", "Raw Doppler-predicted"), + ( + "firmware_iir_doppler_smoothed_rmse_m", + "FW-IIR Doppler-predicted", + ), + ) + ): + axis.bar( + x + (offset - 1.5) * width, + [smoothing[label][field] for label in labels], + width, + label=title, + ) + axis.set_xticks(x) + axis.set_xticklabels(labels) + axis.set_ylabel("Range RMSE (m)") + axis.set_yscale("log") + axis.grid(axis="y", alpha=0.25) + axis.legend() + figure.tight_layout() + figure.savefig(path, dpi=150) + plt.close(figure) + + +def write_report( + path: Path, + summaries: list[Summary], + focused_rms: dict[str, dict[SigmaMethod, float]], + smoothing: dict[str, dict[str, float]], + seed_count: int, +) -> None: + current = { + item.scenario: item + for item in summaries + if item.method == SigmaMethod.CURRENT + } + lines = [ + "# GPS code measurement model sonuçları", + "", + f"Monte Carlo seed sayısı: `{seed_count}`. İlk 5 saniye metriklere alınmadı.", + "", + "## Yöntem karşılaştırması", + "", + "| Senaryo | Yöntem | 3D RMS (m) | Mevcuda göre | P95 (m) | Valid (%) | >25 m false-valid (%) |", + "|---|---|---:|---:|---:|---:|---:|", + ] + for scenario in scenario_matrix(): + baseline = current[scenario.name].position_3d_rms_m + for method in METHOD_ORDER: + item = next( + value + for value in summaries + if value.scenario == scenario.name and value.method == method + ) + improvement = 100.0 * (baseline - item.position_3d_rms_m) / baseline + lines.append( + f"| {scenario.name} | {METHOD_LABEL[method]} | " + f"{item.position_3d_rms_m:.2f} | {improvement:+.1f}% | " + f"{item.position_3d_p95_m:.2f} | {item.valid_percent:.1f} | " + f"{item.false_valid_over_25m_percent:.2f} |" + ) + + lines.extend( + [ + "", + "## Modelden çıkan karar özeti", + "", + "- C/N0 ile uyumlu nominal DLL jitter'da `dll_excess`, mevcut çözümü değiştirmemelidir.", + "- Bütün measurement sigmaları aynı sabitle çarpılırsa WLS konum noktası değişmez; yalnız covariance/integrity değişir. Fakat ortak DLL jitter çarpanı, C/N0/elevation bileşimi kanaldan kanala farklı olduğu için toplam sigmaları eşit oranda büyütmez.", + "- Kanal-bağımlı ve C/N0'da görünmeyen excess jitter varsa dinamik sigma o kanalı down-weight ederek konumu iyileştirebilir.", + "- Stable multipath bias düşük DLL variance bırakabildiği için variance-only yöntem çözüm değildir.", + "- 50 Hz'de DLL ratio alpha=0.10 yaklaşık 0.19 s zaman sabiti ve 0.57 s yüzde-95 geçiş verir.", + "- Aşağıdaki yüzdeler seçilen sentetik hata büyüklüklerine koşulludur; kart için kazanç tahmini değildir.", + "", + "## Bozulma penceresi odaklı 3D RMS", + "", + "| Senaryo/pencere | Mevcut (m) | DLL excess (m) | DLL excess+mean (m) | Oracle variance (m) |", + "|---|---:|---:|---:|---:|", + ] + ) + for label, values in focused_rms.items(): + lines.append( + f"| {label} | {values[SigmaMethod.CURRENT]:.2f} | " + f"{values[SigmaMethod.DLL_EXCESS]:.2f} | " + f"{values[SigmaMethod.DLL_EXCESS_GUARD]:.2f} | " + f"{values[SigmaMethod.ORACLE]:.2f} |" + ) + lines.extend( + [ + "", + "## Code smoothing ve carrier CFO", + "", + "| Carrier-rate koşulu | Ham RMSE (m) | Kör IIR RMSE (m) | Raw Doppler RMSE (m) | FW-IIR Doppler RMSE (m) | Kör IIR peak (m) | Raw Doppler peak (m) | FW-IIR Doppler peak (m) |", + "|---|---:|---:|---:|---:|---:|---:|---:|", + ] + ) + for label, values in smoothing.items(): + lines.append( + f"| {label} | {values['raw_rmse_m']:.2f} | " + f"{values['scalar_iir_rmse_m']:.2f} | " + f"{values['doppler_smoothed_rmse_m']:.2f} | " + f"{values['firmware_iir_doppler_smoothed_rmse_m']:.2f} | " + f"{values['scalar_iir_peak_dynamic_error_m']:.2f} | " + f"{values['doppler_peak_dynamic_error_m']:.2f} | " + f"{values['firmware_iir_doppler_peak_dynamic_error_m']:.2f} |" + ) + + lines.extend( + [ + "", + "## Yorum sınırları", + "", + "- `current_cn0`, firmware'deki URA/elevation/C/N0 sigma modelidir.", + "- `naive_add_dll`, aynı thermal jitter'ı iki kere saymanın negatif kontrolüdür.", + "- `dll_excess`, yalnız ölçülen DLL variance'ın C/N0 beklentisini aşan kısmını code variance'a ekler.", + "- `dll_excess_guard`, variance'a ek olarak sürekli discriminator mean stress'ini kullanır.", + "- `oracle_variance`, sentetik gerçek jitter çarpanını bilir; yalnız variance kaynakları için erişilebilir üst sınırdır, bias'ı bilmez.", + "- Stable multipath DLL'nin yeni denge noktasında düşük residual variance bırakabilir. Bu nedenle variance-only yönteminin onu çözmesi beklenmez.", + "- Discriminator gürültü ölçeği kart correlator kayıtları gelene kadar kalibrasyon varsayımıdır; oran tabanlı yöntem mutlak ölçeğe göre daha az hassastır.", + "- Sonuçlar bitstream veya firmware değişikliği değildir; karar öncesi executable tasarım keşfidir.", + "", + ] + ) + path.write_text("\n".join(lines), encoding="utf-8") + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--seeds", type=int, default=12) + parser.add_argument("--jobs", type=int, default=4) + parser.add_argument( + "--output", + type=Path, + default=Path(__file__).resolve().parent / "output", + ) + arguments = parser.parse_args() + arguments.output.mkdir(parents=True, exist_ok=True) + + scenarios = scenario_matrix() + tasks = [ + (scenario_index, seed) + for scenario_index in range(len(scenarios)) + for seed in range(1, arguments.seeds + 1) + ] + grouped: dict[int, list[EpochSample]] = { + index: [] for index in range(len(scenarios)) + } + transition_samples: list[EpochSample] = [] + with ProcessPoolExecutor(max_workers=max(1, arguments.jobs)) as executor: + for scenario_index, seed, samples in executor.map(_worker, tasks): + grouped[scenario_index].extend(samples) + if scenarios[scenario_index].name == "noise_burst_recovery" and seed == 1: + transition_samples = samples + print( + f"completed {scenarios[scenario_index].name} seed={seed}", + flush=True, + ) + + summaries = [ + summarize(scenario.name, method, grouped[index]) + for index, scenario in enumerate(scenarios) + for method in METHOD_ORDER + ] + focused_windows = { + "noise_burst_recovery [22,45) s": ("noise_burst_recovery", 22.0, 45.0), + "dll_transient_stress [25,34) s": ("dll_transient_stress", 25.0, 34.0), + "cn0_step_recovery [5,30) s": ("cn0_step_recovery", 5.0, 30.0), + } + focused_rms: dict[str, dict[SigmaMethod, float]] = {} + for label, (scenario_name, start_s, stop_s) in focused_windows.items(): + scenario_index = next( + index + for index, scenario in enumerate(scenarios) + if scenario.name == scenario_name + ) + focused_rms[label] = {} + for method in METHOD_ORDER: + values = np.asarray( + [ + item.position_error_3d_m + for item in grouped[scenario_index] + if item.method == method + and start_s <= item.time_s < stop_s + ] + ) + focused_rms[label][method] = _rms(values) + smoothing = smoothing_summary(max(arguments.seeds, 20)) + + write_csv(arguments.output / "scenario_summary.csv", summaries) + write_report( + arguments.output / "ANALYSIS.md", + summaries, + focused_rms, + smoothing, + arguments.seeds, + ) + _comparison_plot( + arguments.output / "01_position_3d_rms.png", + summaries, + "position_3d_rms_m", + "3D RMS (m)", + logarithmic=True, + ) + _comparison_plot( + arguments.output / "02_solution_availability.png", + summaries, + "valid_percent", + "Integrity-valid çözüm (%)", + ) + _transition_plot( + arguments.output / "03_noise_burst_transition.png", + transition_samples, + ) + _smoothing_plot(arguments.output / "04_code_smoothing_cfo.png", smoothing) + print(f"wrote analysis to {arguments.output}", flush=True) + + +if __name__ == "__main__": + main() diff --git a/soc/software/gps_measurement_python/code_smoothing_model.py b/soc/software/gps_measurement_python/code_smoothing_model.py new file mode 100644 index 0000000..83b56d4 --- /dev/null +++ b/soc/software/gps_measurement_python/code_smoothing_model.py @@ -0,0 +1,132 @@ +"""One-dimensional code smoothing study with carrier/Doppler aiding.""" + +from __future__ import annotations + +from dataclasses import dataclass + +import numpy as np + + +@dataclass(frozen=True) +class SmoothingResult: + raw_rmse_m: float + scalar_iir_rmse_m: float + doppler_smoothed_rmse_m: float + firmware_iir_doppler_smoothed_rmse_m: float + scalar_iir_peak_dynamic_error_m: float + doppler_peak_dynamic_error_m: float + firmware_iir_doppler_peak_dynamic_error_m: float + + +def run_smoothing_trial( + seed: int, + *, + duration_s: float = 80.0, + tracking_dt_s: float = 0.020, + wls_dt_s: float = 0.200, + code_sigma_m: float = 4.0, + doppler_sigma_mps: float = 0.25, + doppler_cfo_mps: float = 0.0, + alpha: float = 0.10, + firmware_doppler_alpha: float = 0.05, +) -> SmoothingResult: + """Compare raw code, blind IIR and Doppler-propagated code smoothing. + + The truth includes a range-rate step so a visually smooth but lagging + scalar IIR is penalized. ``doppler_cfo_mps`` represents residual receiver + carrier frequency offset after the nominal IF subtraction. + """ + + if abs(round(wls_dt_s / tracking_dt_s) - wls_dt_s / tracking_dt_s) > 1.0e-12: + raise ValueError("WLS period must be an integer number of tracking periods") + rng = np.random.default_rng(seed) + tracking_time_s = np.arange(0.0, duration_s, tracking_dt_s) + true_rate_tracking = np.where( + tracking_time_s < 20.0, + -120.0, + np.where(tracking_time_s < 45.0, 230.0, -40.0), + ) + true_range_tracking = np.empty_like(tracking_time_s) + true_range_tracking[0] = 21_000_000.0 + true_range_tracking[1:] = ( + true_range_tracking[0] + + np.cumsum(true_rate_tracking[:-1] * tracking_dt_s) + ) + measured_rate_tracking = ( + true_rate_tracking + + doppler_cfo_mps + + rng.normal(0.0, doppler_sigma_mps, len(tracking_time_s)) + ) + filtered_rate_tracking = np.empty_like(measured_rate_tracking) + filtered_rate_tracking[0] = measured_rate_tracking[0] + for index in range(1, len(filtered_rate_tracking)): + filtered_rate_tracking[index] = ( + firmware_doppler_alpha * measured_rate_tracking[index] + + (1.0 - firmware_doppler_alpha) * filtered_rate_tracking[index - 1] + ) + + tracking_per_wls = int(round(wls_dt_s / tracking_dt_s)) + wls_indices = np.arange(0, len(tracking_time_s), tracking_per_wls) + time_s = tracking_time_s[wls_indices] + true_range = true_range_tracking[wls_indices] + raw_code = true_range + rng.normal(0.0, code_sigma_m, len(time_s)) + + scalar = np.empty_like(raw_code) + doppler_smoothed = np.empty_like(raw_code) + firmware_iir_doppler_smoothed = np.empty_like(raw_code) + scalar[0] = raw_code[0] + doppler_smoothed[0] = raw_code[0] + firmware_iir_doppler_smoothed[0] = raw_code[0] + for index in range(1, len(time_s)): + scalar[index] = alpha * raw_code[index] + (1.0 - alpha) * scalar[index - 1] + start = wls_indices[index - 1] + stop = wls_indices[index] + raw_range_delta = ( + float(np.sum(measured_rate_tracking[start:stop])) + * tracking_dt_s + ) + filtered_range_delta = ( + float(np.sum(filtered_rate_tracking[start:stop])) + * tracking_dt_s + ) + prediction = doppler_smoothed[index - 1] + raw_range_delta + doppler_smoothed[index] = ( + prediction + alpha * (raw_code[index] - prediction) + ) + filtered_prediction = ( + firmware_iir_doppler_smoothed[index - 1] + + filtered_range_delta + ) + firmware_iir_doppler_smoothed[index] = ( + filtered_prediction + + alpha * (raw_code[index] - filtered_prediction) + ) + + warm = time_s >= 5.0 + dynamic = ((time_s >= 20.0) & (time_s < 25.0)) | ( + (time_s >= 45.0) & (time_s < 50.0) + ) + rmse = lambda error, mask: float(np.sqrt(np.mean(np.square(error[mask])))) + return SmoothingResult( + raw_rmse_m=rmse(raw_code - true_range, warm), + scalar_iir_rmse_m=rmse(scalar - true_range, warm), + doppler_smoothed_rmse_m=rmse(doppler_smoothed - true_range, warm), + firmware_iir_doppler_smoothed_rmse_m=rmse( + firmware_iir_doppler_smoothed - true_range, + warm, + ), + scalar_iir_peak_dynamic_error_m=float( + np.max(np.abs(scalar[dynamic] - true_range[dynamic])) + ), + doppler_peak_dynamic_error_m=float( + np.max(np.abs(doppler_smoothed[dynamic] - true_range[dynamic])) + ), + firmware_iir_doppler_peak_dynamic_error_m=float( + np.max( + np.abs( + firmware_iir_doppler_smoothed[dynamic] + - true_range[dynamic] + ) + ) + ), + ) diff --git a/soc/software/gps_measurement_python/doppler_eskf_model.py b/soc/software/gps_measurement_python/doppler_eskf_model.py new file mode 100644 index 0000000..54849fd --- /dev/null +++ b/soc/software/gps_measurement_python/doppler_eskf_model.py @@ -0,0 +1,657 @@ +"""Project-specific Doppler WLS to ESKF timing/noise model. + +The model compares four paths using one shared 50 Hz tracking stream and one +shared 100 Hz IMU stream: + +* the legacy fixed-alpha Doppler IIR before 5 Hz velocity WLS; +* raw Doppler into WLS, leaving temporal filtering to the ESKF; +* a global IMU-driven adaptive-alpha IIR; +* raw Doppler with the per-satellite robust WLS gate used before the ESKF. + +The ESKF is reduced to the velocity and accelerometer-bias error states that +matter to this experiment. Its process noise, 3-D measurement covariance and +99.9-percent velocity NIS gate mirror the project firmware. Attitude and +position are intentionally outside this model's scope. +""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from enum import Enum +from typing import Callable + +import numpy as np + + +IMU_HZ = 100.0 +TRACKING_HZ = 50.0 +VELOCITY_WLS_HZ = 5.0 +IMU_DT_S = 1.0 / IMU_HZ +TRACKING_STEPS = int(round(IMU_HZ / TRACKING_HZ)) +WLS_STEPS = int(round(IMU_HZ / VELOCITY_WLS_HZ)) +FIXED_DOPPLER_ALPHA = 0.05 +CN0_ALPHA = 0.20 +VELOCITY_NIS_GATE = 16.26623619623813 +PROCESS_ACCEL_NOISE_DENSITY = 0.025 +ACCEL_BIAS_RANDOM_WALK = 0.0015 +MINIMUM_HORIZONTAL_VELOCITY_STD_MPS = 2.0 +MINIMUM_VERTICAL_VELOCITY_STD_MPS = 3.0 + + +class DopplerPath(str, Enum): + FIXED_IIR = "fixed_iir_wls_eskf" + RAW = "raw_wls_eskf" + ADAPTIVE_IIR = "adaptive_iir_wls_eskf" + RAW_ROBUST = "raw_robust_wls_eskf" + + +PATH_ORDER = ( + DopplerPath.FIXED_IIR, + DopplerPath.RAW, + DopplerPath.ADAPTIVE_IIR, + DopplerPath.RAW_ROBUST, +) + + +@dataclass(frozen=True) +class FlightScenario: + name: str + description: str + duration_s: float + initial_velocity_mps: np.ndarray + acceleration: Callable[[float], np.ndarray] + cn0_offset: Callable[[float], float] + noise_multiplier: Callable[[float, int], float] + outlier_mps: Callable[[float, int], float] + receiver_clock_drift_mps: Callable[[float], float] + gps_gaps: tuple[tuple[float, float], ...] = () + + +@dataclass(frozen=True) +class VelocityWlsResult: + velocity_mps: np.ndarray + clock_drift_mps: float + covariance_mps2: np.ndarray + residual_mps: np.ndarray + residual_rms_mps: float + covariance_scale: float + excluded_satellite: int | None + + +@dataclass +class AdaptiveAlpha: + alpha: float = FIXED_DOPPLER_ALPHA + hold_samples: int = 0 + filtered_acceleration_mps2: np.ndarray = field( + default_factory=lambda: np.zeros(3, dtype=float) + ) + + def update( + self, + measured_acceleration_mps2: np.ndarray, + median_cn0_dbhz: float, + ) -> float: + # A raw 100 Hz accelerometer sample is too noisy for coefficient + # switching. This 50 Hz vector EWMA has an approximately 0.16 s time + # constant and, unlike smoothing |a|, does not retain the positive + # magnitude bias of zero-mean sensor noise. + motion_alpha = 0.12 + self.filtered_acceleration_mps2 += motion_alpha * ( + measured_acceleration_mps2 - self.filtered_acceleration_mps2 + ) + magnitude = float(np.linalg.norm(self.filtered_acceleration_mps2)) + + if median_cn0_dbhz >= 46.0: + quiet_alpha = 0.08 + elif median_cn0_dbhz >= 37.0: + quiet_alpha = FIXED_DOPPLER_ALPHA + else: + quiet_alpha = 0.03 + + if magnitude >= 2.5: + self.alpha = 0.40 + self.hold_samples = 25 + elif magnitude >= 0.55: + self.alpha = 0.20 + self.hold_samples = 25 + elif self.hold_samples > 0: + self.hold_samples -= 1 + else: + self.alpha = quiet_alpha + return self.alpha + + +@dataclass +class VelocityBiasEskf: + velocity_mps: np.ndarray + accel_bias_mps2: np.ndarray + covariance: np.ndarray + accepted: int = 0 + rejected_nis: int = 0 + last_nis: float = float("nan") + + @classmethod + def initialize( + cls, + initial_velocity_mps: np.ndarray, + initial_velocity_error_mps: np.ndarray, + ) -> "VelocityBiasEskf": + covariance = np.zeros((6, 6), dtype=float) + covariance[:3, :3] = np.eye(3) + covariance[3:, 3:] = np.eye(3) * 0.1**2 + return cls( + velocity_mps=initial_velocity_mps + initial_velocity_error_mps, + accel_bias_mps2=np.zeros(3), + covariance=covariance, + ) + + def propagate(self, measured_acceleration_mps2: np.ndarray, dt_s: float) -> None: + self.velocity_mps += ( + measured_acceleration_mps2 - self.accel_bias_mps2 + ) * dt_s + + transition = np.eye(6) + transition[:3, 3:] = -np.eye(3) * dt_s + accel_variance = PROCESS_ACCEL_NOISE_DENSITY**2 + bias_variance = ACCEL_BIAS_RANDOM_WALK**2 + process = np.zeros((6, 6), dtype=float) + # Match eskf.c's first-order discrete injection: velocity and bias + # driving noise are added after F P F^T, without exact-discretization + # dt^2/dt^3 cross terms. + process[:3, :3] = np.eye(3) * accel_variance * dt_s + process[3:, 3:] = np.eye(3) * bias_variance * dt_s + self.covariance = ( + transition @ self.covariance @ transition.T + process + ) + self.covariance = 0.5 * (self.covariance + self.covariance.T) + + def update_velocity( + self, + measurement_mps: np.ndarray, + covariance_mps2: np.ndarray, + ) -> bool: + innovation = measurement_mps - self.velocity_mps + innovation_covariance = self.covariance[:3, :3] + covariance_mps2 + inverse = np.linalg.inv(innovation_covariance) + nis = float(innovation @ inverse @ innovation) + self.last_nis = nis + if not np.isfinite(nis) or nis > VELOCITY_NIS_GATE: + self.rejected_nis += 1 + return False + + measurement_matrix = np.zeros((3, 6), dtype=float) + measurement_matrix[:, :3] = np.eye(3) + gain = self.covariance @ measurement_matrix.T @ inverse + correction = gain @ innovation + self.velocity_mps += correction[:3] + self.accel_bias_mps2 += correction[3:] + identity = np.eye(6) + residual_transform = identity - gain @ measurement_matrix + self.covariance = ( + residual_transform + @ self.covariance + @ residual_transform.T + + gain @ covariance_mps2 @ gain.T + ) + self.covariance = 0.5 * (self.covariance + self.covariance.T) + self.accepted += 1 + return True + + +@dataclass(frozen=True) +class DopplerEskfTrace: + scenario: str + path: DopplerPath + time_s: np.ndarray + truth_velocity_mps: np.ndarray + fused_velocity_mps: np.ndarray + fused_velocity_covariance_mps2: np.ndarray + acceleration_mps2: np.ndarray + wls_time_s: np.ndarray + wls_velocity_mps: np.ndarray + wls_clock_drift_mps: np.ndarray + wls_covariance_mps2: np.ndarray + wls_covariance_scale: np.ndarray + wls_nis: np.ndarray + wls_accepted: np.ndarray + adaptive_alpha: np.ndarray + excluded_satellites: np.ndarray + + +def _zero_acceleration(_time_s: float) -> np.ndarray: + return np.zeros(3) + + +def _airliner_acceleration(time_s: float) -> np.ndarray: + if 15.0 <= time_s < 25.0: + return np.asarray([2.0, 0.0, 0.0]) + if 38.0 <= time_s < 52.0: + return np.asarray([0.0, 1.5, 0.25]) + if 68.0 <= time_s < 76.0: + return np.asarray([-2.5, 0.0, -0.15]) + return np.zeros(3) + + +def _aggressive_acceleration(time_s: float) -> np.ndarray: + if 10.0 <= time_s < 16.0: + return np.asarray([6.0, 0.0, 1.0]) + if 26.0 <= time_s < 33.0: + return np.asarray([0.0, 7.0, 0.0]) + if 46.0 <= time_s < 52.0: + return np.asarray([-5.0, -4.0, -1.0]) + if 64.0 <= time_s < 76.0: + phase = 2.0 * np.pi * (time_s - 64.0) / 3.0 + return np.asarray([3.0 * np.sin(phase), 4.0 * np.cos(phase), 0.5 * np.sin(phase)]) + return np.zeros(3) + + +def _constant_zero(_time_s: float) -> float: + return 0.0 + + +def _constant_one(_time_s: float, _satellite: int) -> float: + return 1.0 + + +def _no_outlier(_time_s: float, _satellite: int) -> float: + return 0.0 + + +def flight_scenarios() -> tuple[FlightScenario, ...]: + return ( + FlightScenario( + "steady_cruise", + "Constant aircraft velocity with nominal open-sky Doppler noise.", + 90.0, + np.asarray([180.0, 20.0, 0.0]), + _zero_acceleration, + _constant_zero, + _constant_one, + _no_outlier, + _constant_zero, + ), + FlightScenario( + "airliner_maneuver", + "Moderate longitudinal, turn and climb-rate accelerations.", + 90.0, + np.asarray([120.0, 0.0, 0.0]), + _airliner_acceleration, + _constant_zero, + _constant_one, + _no_outlier, + _constant_zero, + ), + FlightScenario( + "aggressive_maneuver", + "High acceleration and oscillatory manoeuvre segments.", + 90.0, + np.asarray([80.0, 0.0, 0.0]), + _aggressive_acceleration, + _constant_zero, + _constant_one, + _no_outlier, + _constant_zero, + ), + FlightScenario( + "low_cn0_airliner", + "Airliner manoeuvre with a 10 dB signal-quality loss.", + 90.0, + np.asarray([120.0, 0.0, 0.0]), + _airliner_acceleration, + lambda _time_s: -10.0, + _constant_one, + _no_outlier, + _constant_zero, + ), + FlightScenario( + "single_satellite_outliers", + "One channel has repeatable 12 m/s Doppler bursts.", + 90.0, + np.asarray([120.0, 0.0, 0.0]), + _airliner_acceleration, + _constant_zero, + _constant_one, + lambda time_s, satellite: ( + 12.0 + if satellite == 2 + and ( + 30.0 <= time_s < 31.0 + or 56.0 <= time_s < 57.0 + or 72.0 <= time_s < 72.6 + ) + else 0.0 + ), + _constant_zero, + ), + FlightScenario( + "clock_drift_steps", + "Common receiver clock-frequency steps coexist with manoeuvres.", + 90.0, + np.asarray([120.0, 0.0, 0.0]), + _airliner_acceleration, + _constant_zero, + _constant_one, + _no_outlier, + lambda time_s: ( + 18.0 if 28.0 <= time_s < 55.0 else (-9.0 if time_s >= 55.0 else 0.0) + ), + ), + FlightScenario( + "gps_gap_recovery", + "Fifteen-second GNSS gap during an aircraft manoeuvre.", + 90.0, + np.asarray([120.0, 0.0, 0.0]), + _airliner_acceleration, + _constant_zero, + _constant_one, + _no_outlier, + _constant_zero, + gps_gaps=((42.0, 57.0),), + ), + FlightScenario( + "mixed_flight_faults", + "Aggressive motion, temporary weak signal, channel bursts and clock step.", + 90.0, + np.asarray([80.0, 0.0, 0.0]), + _aggressive_acceleration, + lambda time_s: -9.0 if 34.0 <= time_s < 60.0 else 0.0, + lambda time_s, satellite: ( + 2.5 if 34.0 <= time_s < 60.0 and satellite in (1, 6) else 1.0 + ), + lambda time_s, satellite: ( + -10.0 if satellite == 4 and 54.0 <= time_s < 55.0 else 0.0 + ), + lambda time_s: 12.0 if time_s >= 48.0 else 0.0, + gps_gaps=((78.0, 83.0),), + ), + ) + + +def local_los_matrix() -> np.ndarray: + azimuth_deg = np.asarray([8.0, 55.0, 104.0, 151.0, 205.0, 253.0, 301.0, 342.0]) + elevation_deg = np.asarray([73.0, 48.0, 31.0, 18.0, 64.0, 39.0, 24.0, 14.0]) + azimuth = np.deg2rad(azimuth_deg) + elevation = np.deg2rad(elevation_deg) + return np.column_stack( + [ + np.cos(elevation) * np.sin(azimuth), + np.cos(elevation) * np.cos(azimuth), + np.sin(elevation), + ] + ) + + +def velocity_sigma_mps(cn0_dbhz: np.ndarray) -> np.ndarray: + return np.clip(30.0 * np.power(10.0, -cn0_dbhz / 20.0), 0.05, 5.0) + + +def _solve_velocity_candidate( + design: np.ndarray, + observations_mps: np.ndarray, + sigma_mps: np.ndarray, + indices: np.ndarray, +) -> VelocityWlsResult: + selected_design = design[indices] + selected_observations = observations_mps[indices] + selected_sigma = sigma_mps[indices] + weights = 1.0 / np.square(selected_sigma) + normal = selected_design.T @ (weights[:, None] * selected_design) + inverse = np.linalg.inv(normal) + solution = inverse @ (selected_design.T @ (weights * selected_observations)) + residual = selected_observations - selected_design @ solution + weighted_residual_square_sum = float(np.sum(weights * np.square(residual))) + degrees_of_freedom = len(indices) - 4 + covariance_scale = ( + max(1.0, weighted_residual_square_sum / degrees_of_freedom) + if degrees_of_freedom > 0 + else 1.0 + ) + return VelocityWlsResult( + velocity_mps=solution[:3].copy(), + clock_drift_mps=float(solution[3]), + covariance_mps2=covariance_scale * inverse[:3, :3], + residual_mps=residual, + residual_rms_mps=float(np.sqrt(np.mean(np.square(residual)))), + covariance_scale=covariance_scale, + excluded_satellite=None, + ) + + +def velocity_wls( + observations_mps: np.ndarray, + cn0_dbhz: np.ndarray, + *, + robust: bool = False, +) -> VelocityWlsResult: + los = local_los_matrix() + design = np.column_stack([-los, np.ones(len(los))]) + sigma = velocity_sigma_mps(cn0_dbhz) + indices = np.arange(len(observations_mps), dtype=int) + full = _solve_velocity_candidate(design, observations_mps, sigma, indices) + if not robust or len(indices) < 6: + return full + + normalized = np.abs(full.residual_mps) / sigma + if float(np.max(normalized)) <= 3.5: + return full + + # The largest full-fit residual is not necessarily the bad satellite: + # WLS leverage can distribute one channel's error over the other rows. + # Compare every leave-one-out hypothesis and use the one with the lowest + # normalized post-fit residual energy. The firmware robust velocity WLS + # uses the same trigger and candidate selection. + candidates: list[tuple[float, int, VelocityWlsResult]] = [] + for excluded in indices: + used = indices[indices != excluded] + candidate = _solve_velocity_candidate(design, observations_mps, sigma, used) + score = float( + np.sum(np.square(candidate.residual_mps / sigma[used])) + ) + candidates.append((score, int(excluded), candidate)) + _score, excluded, candidate = min(candidates, key=lambda item: item[0]) + return VelocityWlsResult( + **{ + **candidate.__dict__, + "excluded_satellite": excluded, + } + ) + + +def fusion_velocity_covariance(covariance_mps2: np.ndarray) -> np.ndarray: + """Apply fusion_gps_adapter.c's ENU velocity covariance sanitizer floors.""" + + output = np.asarray(covariance_mps2, dtype=float).copy() + variance_floor = np.square( + np.asarray( + [ + MINIMUM_HORIZONTAL_VELOCITY_STD_MPS, + MINIMUM_HORIZONTAL_VELOCITY_STD_MPS, + MINIMUM_VERTICAL_VELOCITY_STD_MPS, + ] + ) + ) + for axis in range(3): + output[axis, axis] = max(output[axis, axis], variance_floor[axis]) + for row in range(3): + for column in range(row + 1, 3): + covariance = 0.5 * (output[row, column] + output[column, row]) + limit = 0.95 * np.sqrt(output[row, row] * output[column, column]) + covariance = float(np.clip(covariance, -limit, limit)) + output[row, column] = covariance + output[column, row] = covariance + return output + + +def _in_gap(scenario: FlightScenario, time_s: float) -> bool: + return any(start <= time_s < stop for start, stop in scenario.gps_gaps) + + +def _truth_trajectory(scenario: FlightScenario) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + time_s = np.arange(0.0, scenario.duration_s, IMU_DT_S) + acceleration = np.asarray([scenario.acceleration(float(time)) for time in time_s]) + velocity = np.empty((len(time_s), 3), dtype=float) + velocity[0] = scenario.initial_velocity_mps + velocity[1:] = velocity[0] + np.cumsum(acceleration[:-1] * IMU_DT_S, axis=0) + return time_s, acceleration, velocity + + +def run_doppler_eskf_scenario( + scenario: FlightScenario, + seed: int, + paths: tuple[DopplerPath, ...] = PATH_ORDER, +) -> dict[DopplerPath, DopplerEskfTrace]: + rng = np.random.default_rng(seed) + time_s, truth_acceleration, truth_velocity = _truth_trajectory(scenario) + satellite_count = len(local_los_matrix()) + baseline_cn0 = np.asarray([47.0, 45.0, 43.0, 38.0, 46.0, 42.0, 40.0, 36.0]) + filtered_cn0 = baseline_cn0.copy() + fixed_measurement: np.ndarray | None = None + adaptive_measurement: np.ndarray | None = None + latest_raw: np.ndarray | None = None + alpha_selector = AdaptiveAlpha() + latest_alpha = FIXED_DOPPLER_ALPHA + + initial_error = rng.normal(0.0, 0.8, 3) + filters = { + path: VelocityBiasEskf.initialize( + scenario.initial_velocity_mps, + initial_error, + ) + for path in paths + } + fused_history = { + path: np.empty((len(time_s), 3), dtype=float) + for path in paths + } + fused_covariance_history = { + path: np.empty((len(time_s), 3, 3), dtype=float) + for path in paths + } + wls_times = {path: [] for path in paths} + wls_velocity = {path: [] for path in paths} + wls_clock_drift = {path: [] for path in paths} + wls_covariance = {path: [] for path in paths} + wls_covariance_scale = {path: [] for path in paths} + wls_nis = {path: [] for path in paths} + wls_accepted = {path: [] for path in paths} + wls_alpha = {path: [] for path in paths} + excluded = {path: [] for path in paths} + + true_accel_bias = rng.normal(0.0, 0.04, 3) + latest_acceleration_measurement = truth_acceleration[0] + true_accel_bias + los = local_los_matrix() + + for sample in range(len(time_s)): + if sample > 0: + true_accel_bias += rng.normal( + 0.0, + ACCEL_BIAS_RANDOM_WALK * np.sqrt(IMU_DT_S), + 3, + ) + imu_noise_std = PROCESS_ACCEL_NOISE_DENSITY / np.sqrt(IMU_DT_S) + latest_acceleration_measurement = ( + truth_acceleration[sample - 1] + + true_accel_bias + + rng.normal(0.0, imu_noise_std, 3) + ) + for path in paths: + filters[path].propagate(latest_acceleration_measurement, IMU_DT_S) + + if sample % TRACKING_STEPS == 0: + current_time = float(time_s[sample]) + true_cn0 = baseline_cn0 + scenario.cn0_offset(current_time) + raw_cn0 = np.clip(true_cn0 + rng.normal(0.0, 1.2, satellite_count), 10.0, 60.0) + filtered_cn0 = CN0_ALPHA * raw_cn0 + (1.0 - CN0_ALPHA) * filtered_cn0 + nominal_sigma = velocity_sigma_mps(true_cn0) + actual_sigma = nominal_sigma * np.asarray( + [ + scenario.noise_multiplier(current_time, satellite) + for satellite in range(satellite_count) + ] + ) + raw = ( + -los @ truth_velocity[sample] + + scenario.receiver_clock_drift_mps(current_time) + + rng.normal(0.0, actual_sigma) + + np.asarray( + [ + scenario.outlier_mps(current_time, satellite) + for satellite in range(satellite_count) + ] + ) + ) + if fixed_measurement is None: + fixed_measurement = raw.copy() + adaptive_measurement = raw.copy() + else: + fixed_measurement += FIXED_DOPPLER_ALPHA * (raw - fixed_measurement) + latest_alpha = alpha_selector.update( + latest_acceleration_measurement, + float(np.median(filtered_cn0)), + ) + adaptive_measurement += latest_alpha * (raw - adaptive_measurement) + latest_raw = raw + + if ( + sample > 0 + and sample % WLS_STEPS == 0 + and latest_raw is not None + and not _in_gap(scenario, float(time_s[sample])) + ): + for path in paths: + if path == DopplerPath.FIXED_IIR: + observations = fixed_measurement + elif path == DopplerPath.ADAPTIVE_IIR: + observations = adaptive_measurement + else: + observations = latest_raw + result = velocity_wls( + np.asarray(observations), + filtered_cn0, + robust=(path == DopplerPath.RAW_ROBUST), + ) + accepted = filters[path].update_velocity( + result.velocity_mps, + fusion_velocity_covariance(result.covariance_mps2), + ) + wls_times[path].append(float(time_s[sample])) + wls_velocity[path].append(result.velocity_mps) + wls_clock_drift[path].append(result.clock_drift_mps) + wls_covariance[path].append(result.covariance_mps2) + wls_covariance_scale[path].append(result.covariance_scale) + wls_nis[path].append(filters[path].last_nis) + wls_accepted[path].append(accepted) + wls_alpha[path].append( + latest_alpha + if path == DopplerPath.ADAPTIVE_IIR + else (FIXED_DOPPLER_ALPHA if path == DopplerPath.FIXED_IIR else 1.0) + ) + excluded[path].append( + -1 if result.excluded_satellite is None else result.excluded_satellite + ) + + for path in paths: + fused_history[path][sample] = filters[path].velocity_mps + fused_covariance_history[path][sample] = filters[path].covariance[:3, :3] + + return { + path: DopplerEskfTrace( + scenario=scenario.name, + path=path, + time_s=time_s, + truth_velocity_mps=truth_velocity, + fused_velocity_mps=fused_history[path], + fused_velocity_covariance_mps2=fused_covariance_history[path], + acceleration_mps2=truth_acceleration, + wls_time_s=np.asarray(wls_times[path]), + wls_velocity_mps=np.asarray(wls_velocity[path]), + wls_clock_drift_mps=np.asarray(wls_clock_drift[path]), + wls_covariance_mps2=np.asarray(wls_covariance[path]), + wls_covariance_scale=np.asarray(wls_covariance_scale[path]), + wls_nis=np.asarray(wls_nis[path]), + wls_accepted=np.asarray(wls_accepted[path], dtype=bool), + adaptive_alpha=np.asarray(wls_alpha[path]), + excluded_satellites=np.asarray(excluded[path], dtype=int), + ) + for path in paths + } diff --git a/soc/software/gps_measurement_python/firmware_wls_model.py b/soc/software/gps_measurement_python/firmware_wls_model.py new file mode 100644 index 0000000..2beb8a0 --- /dev/null +++ b/soc/software/gps_measurement_python/firmware_wls_model.py @@ -0,0 +1,353 @@ +"""Python mirror of the firmware's code-measurement WLS policy. + +The model copies the receiver-specific parts of NavEquations.c: + +* four states: ECEF x/y/z and common receiver clock bias in metres; +* URA + elevation + C/N0 variance model; +* normalized weights for the numerical solve and absolute weights for + covariance/integrity; +* the 99-percent chi-square table; +* single-satellite leave-one-out FDE only when at least seven measurements + are available. + +Atmospheric and satellite-clock corrections are represented as already +corrected measurement errors. That keeps this study focused on tracking +quality rather than duplicating the existing PPS orbit/atmosphere model. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from enum import Enum + +import numpy as np + + +URA_SIGMA_M = np.asarray( + [ + 2.4, + 3.4, + 4.85, + 6.85, + 9.65, + 13.65, + 24.0, + 48.0, + 96.0, + 192.0, + 384.0, + 768.0, + 1536.0, + 3072.0, + 6144.0, + ], + dtype=float, +) +CHI_SQUARE_99 = np.asarray( + [0.0, 6.634896601, 9.210340372, 11.34486673, 13.27670414, 15.08627247], + dtype=float, +) + + +class SigmaMethod(str, Enum): + CURRENT = "current_cn0" + NAIVE_ADD_DLL = "naive_add_dll" + DLL_EXCESS = "dll_excess" + DLL_EXCESS_GUARD = "dll_excess_guard" + ORACLE = "oracle_variance" + + +@dataclass(frozen=True) +class SigmaInputs: + ura_index: np.ndarray + elevation_deg: np.ndarray + cn0_dbhz: np.ndarray + dll_variance_ratio: np.ndarray + dll_mean_z: np.ndarray + actual_jitter_multiplier: np.ndarray + + +@dataclass(frozen=True) +class WlsSolution: + position_ecef_m: np.ndarray + clock_bias_m: float + residual_m: np.ndarray + sigma_m: np.ndarray + covariance: np.ndarray + chi_square: float + chi_square_ratio: float + chi_square_pass: bool + valid: bool + used_indices: np.ndarray + excluded_index: int | None + + +def cn0_code_sigma_m(cn0_dbhz: np.ndarray | float) -> np.ndarray: + sigma = 3.0 * np.power(10.0, (45.0 - np.asarray(cn0_dbhz)) / 20.0) + return np.clip(sigma, 0.5, 30.0) + + +def elevation_sigma_m(elevation_deg: np.ndarray | float) -> np.ndarray: + bounded = np.clip(np.asarray(elevation_deg), 10.0, 90.0) + return 3.0 / np.sin(np.deg2rad(bounded)) + + +def firmware_sigma_m( + inputs: SigmaInputs, + method: SigmaMethod, +) -> np.ndarray: + ura = URA_SIGMA_M[np.asarray(inputs.ura_index, dtype=int)] + elevation = elevation_sigma_m(inputs.elevation_deg) + code = cn0_code_sigma_m(inputs.cn0_dbhz) + ratio = np.clip(np.asarray(inputs.dll_variance_ratio), 0.05, 25.0) + + if method == SigmaMethod.CURRENT: + code_variance_factor = np.ones_like(code) + elif method == SigmaMethod.NAIVE_ADD_DLL: + # Deliberately included as a negative control: at ratio=1 this counts + # the C/N0-predicted thermal jitter twice. + code_variance_factor = 1.0 + ratio + elif method == SigmaMethod.DLL_EXCESS: + # Only the measured excess over the C/N0 expectation is added. + code_variance_factor = np.maximum(1.0, ratio) + elif method == SigmaMethod.DLL_EXCESS_GUARD: + mean_factor = np.square( + np.maximum(1.0, np.asarray(inputs.dll_mean_z) / 3.0) + ) + code_variance_factor = np.maximum.reduce( + [np.ones_like(code), ratio, mean_factor] + ) + elif method == SigmaMethod.ORACLE: + code_variance_factor = np.square( + np.maximum(0.05, np.asarray(inputs.actual_jitter_multiplier)) + ) + else: + raise ValueError(f"unsupported sigma method: {method}") + + return np.sqrt( + ura * ura + + elevation * elevation + + code * code * code_variance_factor + ) + + +def ecef_to_lla(ecef_m: np.ndarray) -> tuple[float, float, float]: + x, y, z = np.asarray(ecef_m, dtype=float) + a = 6_378_137.0 + inverse_flattening = 298.257223563 + flattening = 1.0 / inverse_flattening + eccentricity_squared = flattening * (2.0 - flattening) + longitude = np.arctan2(y, x) + horizontal = np.hypot(x, y) + latitude = np.arctan2( + z, + horizontal * (1.0 - eccentricity_squared), + ) + height = 0.0 + for _ in range(12): + sine = np.sin(latitude) + prime_vertical = a / np.sqrt(1.0 - eccentricity_squared * sine * sine) + height = horizontal / max(np.cos(latitude), 1.0e-15) - prime_vertical + next_latitude = np.arctan2( + z, + horizontal + * ( + 1.0 + - eccentricity_squared + * prime_vertical + / max(prime_vertical + height, 1.0) + ), + ) + if abs(next_latitude - latitude) < 1.0e-14: + latitude = next_latitude + break + latitude = next_latitude + return ( + float(np.rad2deg(latitude)), + float(np.rad2deg(longitude)), + float(height), + ) + + +def lla_to_ecef(latitude_deg: float, longitude_deg: float, height_m: float) -> np.ndarray: + a = 6_378_137.0 + inverse_flattening = 298.257223563 + flattening = 1.0 / inverse_flattening + eccentricity_squared = flattening * (2.0 - flattening) + latitude = np.deg2rad(latitude_deg) + longitude = np.deg2rad(longitude_deg) + sine = np.sin(latitude) + cosine = np.cos(latitude) + prime_vertical = a / np.sqrt(1.0 - eccentricity_squared * sine * sine) + return np.asarray( + [ + (prime_vertical + height_m) * cosine * np.cos(longitude), + (prime_vertical + height_m) * cosine * np.sin(longitude), + ( + prime_vertical * (1.0 - eccentricity_squared) + + height_m + ) + * sine, + ], + dtype=float, + ) + + +def enu_axes(receiver_ecef_m: np.ndarray) -> np.ndarray: + latitude_deg, longitude_deg, _ = ecef_to_lla(receiver_ecef_m) + latitude = np.deg2rad(latitude_deg) + longitude = np.deg2rad(longitude_deg) + east = np.asarray([-np.sin(longitude), np.cos(longitude), 0.0]) + north = np.asarray( + [ + -np.sin(latitude) * np.cos(longitude), + -np.sin(latitude) * np.sin(longitude), + np.cos(latitude), + ] + ) + up = np.asarray( + [ + np.cos(latitude) * np.cos(longitude), + np.cos(latitude) * np.sin(longitude), + np.sin(latitude), + ] + ) + return np.vstack([east, north, up]) + + +def satellites_from_azel( + receiver_ecef_m: np.ndarray, + azimuth_deg: np.ndarray, + elevation_deg: np.ndarray, + range_m: float = 21_000_000.0, +) -> np.ndarray: + axes = enu_axes(receiver_ecef_m) + satellites: list[np.ndarray] = [] + for azimuth, elevation in zip(azimuth_deg, elevation_deg): + azimuth_rad = np.deg2rad(azimuth) + elevation_rad = np.deg2rad(elevation) + los_enu = np.asarray( + [ + np.cos(elevation_rad) * np.sin(azimuth_rad), + np.cos(elevation_rad) * np.cos(azimuth_rad), + np.sin(elevation_rad), + ] + ) + los_ecef = axes.T @ los_enu + satellites.append(receiver_ecef_m + range_m * los_ecef) + return np.asarray(satellites) + + +def position_error_enu_m( + estimated_ecef_m: np.ndarray, + true_ecef_m: np.ndarray, +) -> np.ndarray: + return enu_axes(true_ecef_m) @ (estimated_ecef_m - true_ecef_m) + + +def _candidate( + satellite_positions_m: np.ndarray, + observations_m: np.ndarray, + sigma_m: np.ndarray, + initial_state: np.ndarray, + used_indices: np.ndarray, +) -> WlsSolution: + state = np.asarray(initial_state, dtype=float).copy() + weights = 1.0 / np.square(sigma_m) + design = np.empty((len(observations_m), 4), dtype=float) + + for _ in range(10): + difference = satellite_positions_m - state[:3] + geometric_range = np.linalg.norm(difference, axis=1) + design[:, :3] = -difference / geometric_range[:, None] + design[:, 3] = 1.0 + residual = observations_m - geometric_range - state[3] + normal = design.T @ (weights[:, None] * design) + rhs = design.T @ (weights * residual) + update = np.linalg.solve(normal, rhs) + state += update + if np.linalg.norm(update) < 1.0e-4: + break + + difference = satellite_positions_m - state[:3] + geometric_range = np.linalg.norm(difference, axis=1) + design[:, :3] = -difference / geometric_range[:, None] + design[:, 3] = 1.0 + residual = observations_m - geometric_range - state[3] + normal = design.T @ (weights[:, None] * design) + covariance = np.linalg.inv(normal) + chi_square = float(np.sum(weights * np.square(residual))) + degrees_of_freedom = len(observations_m) - 4 + threshold = ( + float(CHI_SQUARE_99[degrees_of_freedom]) + if 0 < degrees_of_freedom < len(CHI_SQUARE_99) + else 0.0 + ) + chi_square_pass = degrees_of_freedom > 0 and chi_square <= threshold + valid = ( + (len(observations_m) == 4 and degrees_of_freedom == 0) + or chi_square_pass + ) + ratio = chi_square / threshold if threshold > 0.0 else float("inf") + return WlsSolution( + position_ecef_m=state[:3].copy(), + clock_bias_m=float(state[3]), + residual_m=residual.copy(), + sigma_m=sigma_m.copy(), + covariance=covariance, + chi_square=chi_square, + chi_square_ratio=ratio, + chi_square_pass=chi_square_pass, + valid=valid, + used_indices=used_indices.copy(), + excluded_index=None, + ) + + +def firmware_wls( + satellite_positions_m: np.ndarray, + observations_m: np.ndarray, + sigma_m: np.ndarray, + initial_state: np.ndarray, + *, + enable_fde: bool = True, +) -> WlsSolution: + count = len(observations_m) + if count < 4: + raise ValueError("position WLS needs at least four satellites") + full_indices = np.arange(count, dtype=int) + full = _candidate( + satellite_positions_m, + observations_m, + sigma_m, + initial_state, + full_indices, + ) + if full.chi_square_pass or not enable_fde or count < 7: + return full + + selected = full + passing_found = False + full_state = np.concatenate([full.position_ecef_m, [full.clock_bias_m]]) + for excluded in range(count): + used = full_indices[full_indices != excluded] + candidate = _candidate( + satellite_positions_m[used], + observations_m[used], + sigma_m[used], + full_state, + used, + ) + candidate = WlsSolution( + **{ + **candidate.__dict__, + "excluded_index": excluded, + } + ) + if candidate.chi_square_pass: + if not passing_found or candidate.chi_square_ratio < selected.chi_square_ratio: + selected = candidate + passing_found = True + elif not passing_found and candidate.chi_square_ratio < selected.chi_square_ratio: + selected = candidate + return selected diff --git a/soc/software/gps_measurement_python/measurement_scenarios.py b/soc/software/gps_measurement_python/measurement_scenarios.py new file mode 100644 index 0000000..706740f --- /dev/null +++ b/soc/software/gps_measurement_python/measurement_scenarios.py @@ -0,0 +1,368 @@ +"""Synthetic code-tracking scenarios shared by the analysis and tests.""" + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Callable + +import numpy as np + +from .firmware_wls_model import ( + SigmaInputs, + SigmaMethod, + URA_SIGMA_M, + cn0_code_sigma_m, + elevation_sigma_m, + enu_axes, + firmware_sigma_m, + firmware_wls, + lla_to_ecef, + position_error_enu_m, + satellites_from_azel, +) +from .rtl_dll_model import expected_discriminator_std, synthesize_dll_window + + +TRACKING_PERIOD_S = 0.020 +WLS_PERIOD_S = 0.200 +TRACKING_UPDATES_PER_WLS = int(round(WLS_PERIOD_S / TRACKING_PERIOD_S)) +FIRMWARE_CN0_ALPHA = 0.20 +DLL_RATIO_ALPHA = 0.10 +DLL_MEAN_ALPHA = 0.20 + +GOOD_AZIMUTH_DEG = np.asarray([8.0, 55.0, 104.0, 151.0, 205.0, 253.0, 301.0, 342.0]) +GOOD_ELEVATION_DEG = np.asarray([73.0, 48.0, 31.0, 18.0, 64.0, 39.0, 24.0, 14.0]) +POOR_AZIMUTH_DEG = np.asarray([25.0, 46.0, 68.0, 89.0, 112.0, 136.0, 159.0, 182.0]) +POOR_ELEVATION_DEG = np.asarray([18.0, 22.0, 25.0, 29.0, 32.0, 27.0, 21.0, 16.0]) + + +Profile = Callable[[float, int, float], float] + + +def _identity(_time_s: float, _satellite: int, baseline: float) -> float: + return baseline + + +def _one(_time_s: float, _satellite: int, _baseline: float) -> float: + return 1.0 + + +def _zero(_time_s: float, _satellite: int, _baseline: float) -> float: + return 0.0 + + +@dataclass(frozen=True) +class Scenario: + name: str + description: str + duration_s: float = 80.0 + poor_geometry: bool = False + cn0_profile: Profile = _identity + jitter_profile: Profile = _one + discriminator_bias_profile: Profile = _zero + pseudorange_bias_profile: Profile = _zero + + +@dataclass +class ChannelQuality: + cn0_dbhz: float | None = None + dll_ratio: float = 1.0 + dll_mean_z: float = 0.0 + + def update( + self, + raw_cn0_dbhz: float, + dll_samples: np.ndarray, + ) -> None: + if self.cn0_dbhz is None: + self.cn0_dbhz = raw_cn0_dbhz + else: + self.cn0_dbhz = ( + FIRMWARE_CN0_ALPHA * raw_cn0_dbhz + + (1.0 - FIRMWARE_CN0_ALPHA) * self.cn0_dbhz + ) + + measured_variance = float(np.var(dll_samples, ddof=1)) + expected_std = expected_discriminator_std(self.cn0_dbhz) + raw_ratio = measured_variance / max(expected_std * expected_std, 1.0e-15) + raw_ratio = float(np.clip(raw_ratio, 0.05, 25.0)) + self.dll_ratio = ( + DLL_RATIO_ALPHA * raw_ratio + + (1.0 - DLL_RATIO_ALPHA) * self.dll_ratio + ) + + standard_error = np.sqrt( + max(measured_variance, expected_std * expected_std) + / len(dll_samples) + ) + raw_mean_z = abs(float(np.mean(dll_samples))) / max(standard_error, 1.0e-12) + raw_mean_z = float(np.clip(raw_mean_z, 0.0, 12.0)) + self.dll_mean_z = ( + DLL_MEAN_ALPHA * raw_mean_z + + (1.0 - DLL_MEAN_ALPHA) * self.dll_mean_z + ) + + +@dataclass(frozen=True) +class EpochSample: + method: SigmaMethod + time_s: float + enu_error_m: np.ndarray + horizontal_error_m: float + position_error_3d_m: float + horizontal_sigma_m: float + valid: bool + chi_square_ratio: float + fde_applied: bool + mean_measurement_sigma_m: float + maximum_dll_ratio: float + + +def scenario_matrix() -> tuple[Scenario, ...]: + return ( + Scenario( + "clean_open_sky", + "C/N0 model and actual DLL jitter agree.", + ), + Scenario( + "weak_signal", + "All channels lose 11 dB; current C/N0 weighting already sees it.", + cn0_profile=lambda _t, _s, baseline: baseline - 11.0, + ), + Scenario( + "one_channel_hidden_jitter", + "One high-C/N0 channel has 4x DLL jitter not visible in C/N0.", + jitter_profile=lambda _t, satellite, _b: 4.0 if satellite == 1 else 1.0, + ), + Scenario( + "common_hidden_jitter", + "All channels have the same unmodelled 3x DLL jitter.", + jitter_profile=lambda _t, _satellite, _b: 3.0, + ), + Scenario( + "noise_burst_recovery", + "Two channels have 5x jitter from 22 s to 45 s, then recover.", + jitter_profile=lambda time_s, satellite, _b: ( + 5.0 + if 22.0 <= time_s < 45.0 and satellite in (1, 5) + else 1.0 + ), + ), + Scenario( + "dll_transient_stress", + "A channel has discriminator mean without excess variance during transient stress.", + discriminator_bias_profile=lambda time_s, satellite, _b: ( + 0.055 + if 25.0 <= time_s < 34.0 and satellite == 3 + else 0.0 + ), + pseudorange_bias_profile=lambda time_s, satellite, _b: ( + 9.0 + if 25.0 <= time_s < 34.0 and satellite == 3 + else 0.0 + ), + ), + Scenario( + "stable_multipath_bias", + "Low-jitter, high-C/N0 channel has a stable 14 m code bias.", + pseudorange_bias_profile=lambda _t, satellite, _b: ( + 14.0 if satellite == 6 else 0.0 + ), + ), + Scenario( + "mixed_multipath", + "One channel has both a 10 m bias and 3x excess jitter.", + jitter_profile=lambda _t, satellite, _b: 3.0 if satellite == 2 else 1.0, + pseudorange_bias_profile=lambda _t, satellite, _b: ( + 10.0 if satellite == 2 else 0.0 + ), + ), + Scenario( + "poor_geometry_hidden_jitter", + "Clustered geometry plus one channel with unmodelled 4x jitter.", + poor_geometry=True, + jitter_profile=lambda _t, satellite, _b: 4.0 if satellite == 4 else 1.0, + ), + Scenario( + "cn0_step_recovery", + "C/N0 is initially weak and improves; no hidden DLL noise exists.", + cn0_profile=lambda time_s, _satellite, baseline: ( + baseline - 12.0 if time_s < 30.0 else baseline + ), + ), + ) + + +def _geometry(scenario: Scenario) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + receiver = lla_to_ecef(39.9208, 32.8541, 930.0) + if scenario.poor_geometry: + azimuth = POOR_AZIMUTH_DEG + elevation = POOR_ELEVATION_DEG + else: + azimuth = GOOD_AZIMUTH_DEG + elevation = GOOD_ELEVATION_DEG + satellites = satellites_from_azel(receiver, azimuth, elevation) + return receiver, satellites, elevation.copy() + + +def run_scenario( + scenario: Scenario, + seed: int, + methods: tuple[SigmaMethod, ...] = tuple(SigmaMethod), +) -> list[EpochSample]: + rng = np.random.default_rng(seed) + receiver, satellites, elevations = _geometry(scenario) + satellite_count = len(satellites) + geometric_ranges = np.linalg.norm(satellites - receiver, axis=1) + baseline_cn0 = np.clip(34.0 + 0.16 * elevations, 30.0, 48.0) + ura_indices = np.zeros(satellite_count, dtype=np.uint8) + quality = [ChannelQuality() for _ in range(satellite_count)] + + # These are deliberately slower/non-DLL terms. They prevent a synthetic + # white-noise-only experiment from overstating what DLL weighting can fix. + ura_error = rng.normal(0.0, 0.45 * URA_SIGMA_M[0], satellite_count) + atmospheric_state = rng.normal( + 0.0, + 0.35 * elevation_sigma_m(elevations), + satellite_count, + ) + code_noise_state = np.zeros(satellite_count) + initial_state = np.concatenate( + [ + receiver + np.asarray([450.0, -300.0, 220.0]), + [0.0], + ] + ) + method_state = {method: initial_state.copy() for method in methods} + samples: list[EpochSample] = [] + clock_bias_m = 82.0 + receiver_enu_axes = enu_axes(receiver) + + tracking_steps = int(round(scenario.duration_s / TRACKING_PERIOD_S)) + latest_actual_jitter = np.ones(satellite_count) + for tracking_step in range(tracking_steps): + time_s = tracking_step * TRACKING_PERIOD_S + for satellite in range(satellite_count): + true_cn0 = scenario.cn0_profile( + time_s, + satellite, + float(baseline_cn0[satellite]), + ) + actual_jitter = scenario.jitter_profile( + time_s, + satellite, + 1.0, + ) + discriminator_bias = scenario.discriminator_bias_profile( + time_s, + satellite, + 0.0, + ) + latest_actual_jitter[satellite] = actual_jitter + dll_window = synthesize_dll_window( + rng, + cn0_dbhz=true_cn0, + jitter_multiplier=actual_jitter, + discriminator_bias=discriminator_bias, + ) + # The hardware NWPR C/N0 estimate is noisy; firmware applies alpha=0.2. + raw_cn0 = float(np.clip(true_cn0 + rng.normal(0.0, 1.3), 10.0, 60.0)) + quality[satellite].update(raw_cn0, dll_window.samples) + + if (tracking_step + 1) % TRACKING_UPDATES_PER_WLS != 0: + continue + + true_cn0 = np.asarray( + [ + scenario.cn0_profile( + time_s, + satellite, + float(baseline_cn0[satellite]), + ) + for satellite in range(satellite_count) + ] + ) + actual_code_sigma = cn0_code_sigma_m(true_cn0) * latest_actual_jitter + innovation = rng.normal(0.0, actual_code_sigma) + code_noise_state = ( + 0.25 * code_noise_state + + np.sqrt(1.0 - 0.25**2) * innovation + ) + atmospheric_innovation = rng.normal( + 0.0, + 0.35 * elevation_sigma_m(elevations), + ) + atmospheric_state = ( + 0.97 * atmospheric_state + + np.sqrt(1.0 - 0.97**2) * atmospheric_innovation + ) + pseudorange_bias = np.asarray( + [ + scenario.pseudorange_bias_profile( + time_s, + satellite, + 0.0, + ) + for satellite in range(satellite_count) + ] + ) + observations = ( + geometric_ranges + + clock_bias_m + + ura_error + + atmospheric_state + + code_noise_state + + pseudorange_bias + ) + sigma_inputs = SigmaInputs( + ura_index=ura_indices, + elevation_deg=elevations, + cn0_dbhz=np.asarray([item.cn0_dbhz for item in quality], dtype=float), + dll_variance_ratio=np.asarray([item.dll_ratio for item in quality]), + dll_mean_z=np.asarray([item.dll_mean_z for item in quality]), + actual_jitter_multiplier=latest_actual_jitter.copy(), + ) + + for method in methods: + sigma = firmware_sigma_m(sigma_inputs, method) + solution = firmware_wls( + satellites, + observations, + sigma, + method_state[method], + ) + # NavEquations.c updates its persistent WLS seed only after an + # integrity-valid solution. + if solution.valid: + method_state[method] = np.concatenate( + [solution.position_ecef_m, [solution.clock_bias_m]] + ) + enu_error = position_error_enu_m(solution.position_ecef_m, receiver) + enu_covariance = ( + # The top-left block is ECEF position covariance. + # R * Q * R' maps it to ENU. + receiver_enu_axes + @ solution.covariance[:3, :3] + @ receiver_enu_axes.T + ) + horizontal_sigma = float( + np.sqrt(max(0.0, enu_covariance[0, 0] + enu_covariance[1, 1])) + ) + samples.append( + EpochSample( + method=method, + time_s=time_s, + enu_error_m=enu_error, + horizontal_error_m=float(np.linalg.norm(enu_error[:2])), + position_error_3d_m=float(np.linalg.norm(enu_error)), + horizontal_sigma_m=horizontal_sigma, + valid=solution.valid, + chi_square_ratio=solution.chi_square_ratio, + fde_applied=solution.excluded_index is not None, + mean_measurement_sigma_m=float(np.mean(sigma)), + maximum_dll_ratio=float( + max(item.dll_ratio for item in quality) + ), + ) + ) + return samples diff --git a/soc/software/gps_measurement_python/output/01_position_3d_rms.png b/soc/software/gps_measurement_python/output/01_position_3d_rms.png new file mode 100644 index 0000000000000000000000000000000000000000..64db804e7130d65bee5b622e953d6043e5463552 GIT binary patch literal 88002 zcmeFa2UwKpvMtP*$HdGyz&7HHt)L_Y6_Kb8YNM#A(XIe%olLsA0Fy%E->)pp7Ay@ZRW&TjJs>a8Rt zk7eq`f9T7IdmUF|EnE0Ob-$jT-V)pf`3J&r>(;q1B;Z?x&UtPX6*Em%^s+ygAnlTT09L<=39?{@=R%^<5Tx4^PG3 zd$z!T&Ec)pNhbSh!a4U^`rB^#(Y13HuFr1?b;~L(vQYFlth_K^Vy~8#R?WmBm0l|@ zF3!KU=B8F5`vn<323s#J(#-RjxXgu%>#Ofn<6r-C7O<_<{+s=mySux+{roEIaZQCe zLaSCOsi>$}__3G#?#>^)H814{OG|nQ>@KX(cMGmcG_J6h!Yf50)#LRRNLmKnRt~&< z>(;H5JoY;@jArBt3p5u72htNK8Wlu!!1&#@);smL?+lTVk}%5O9=P7(*Dnt}#=ptG z>G#GQFA1~q7;kUyTaG==CY5&&dU$%8r3-U$g`M^B@iBaMVZQ(BgPV;C0(^431dRL2 z)Z;r6*lXhZ?J4oR^YPhZ8=1u!jy*9M-MPs+bGW$nXyXb(Spt8PwA9HO8#4Q1aPH&J zScFU}hSTj44*d>OVW?c;+F zEXG31`v)!Wzdbv(Kl9D0S>3%Qy9JnYH@*)GvMXk;+xu?!D_Z((OB@+R^5f3WE-v(w zvTZiFxUPJAp07w^jb*yw^TiH3t*y)EXQ=BrE;kNwG`b`|_Ic5X_t$;KF3go`yb^Tu z@wcj%K9ohPKfAOzFugNNI#w$=Ab!+SEbE2)HC_bvs^C8bic6sSnJrT zyJ211aOg$G%2lg!X9~q!@ln%S*-?{P&~n@JQBe*sL75US!L;xdj1cahiWx zn4NoWyC=zh;7`_l{PW;vZYMFH9vqVuc&#!^X1G03YP7ecBu+Pda7Z~+PF7vVTJiSo z&=5wId18TY?nqw1LaU55Zo@V8-RbqCqUr4kc|Qc-bQ>R&>dBYrY4X!ot8)GHl#eW^ z$T-x+_e5V?L4|9P?0~`hm)Fyp1I$?a$0Qc4H`kae_xa6Qi)y

-darCApEVC(b=* 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 literal 0 HcmV?d00001 diff --git a/soc/software/gps_measurement_python/output/02_solution_availability.png b/soc/software/gps_measurement_python/output/02_solution_availability.png new file mode 100644 index 0000000000000000000000000000000000000000..c976dad6a29e974ba9aa5dca01742ae61867773e GIT binary patch literal 93875 zcmeFZ2UL@3*EY(Guj4zS^36CFEHG*Wr79>$A9VyHP3avK15yG?=+)6t$AW0+H5Q6U zlP)zXN=X7ydPfBkDFGos2qDS8Z$ zS`$P>w)~9#`_6^bVj}XLhzR!gqh&mppk00-bPhb9eeqUDJ2R`)c*Xiy5z^#10Z|zm3mG6I9eN=qq z``cF^u3P#3#L?4eQP9_w$G`4d_4Qkk-_HC;^vX3K?nA5h_3QL6|Gh5%$n%lt+2&%m zcA1S*1}7{1SZnRkuA{G)A?%Sj$BfHEb>eE?!}(zzvXmuVgZKlxS~Cn~eg0kyc6+gF ztJ1mGe{#K-UqQ3NI)8Zi$LhR)e7%gwS;1&qR%?hx>8Af@7WS#_=kJ#T|OxxD`KNABWyzH;Eqa0ri8=Gt9| zJL>-PSHt*VIR|$ojg7T&%Q}SbDSp`w4{_bZ#>R&0fAwSSO(t)OtQc@w_fJXmuvZ)n zPnu!n z*!-`}bMz?S&6+JXUG1r?^&-&t%1T zUh&2E=QH?EbR$lYv_ofl-1Bj;sn)LPF@=L+JY3V^&ZRk{WShBGjxI4eI{Lzc6Pp{) z-;s~quv0zFy)&;nXgs&|`MFx_`N4BHcY4zf*3+f~2t5*KDbf4O;bvR%9m(sqtH^EI zvez;Y`&ts7@MS@HHQW0%)#)Db;>$i=3*ioW0{qb1b0lk_d zUX_j`N00%b*J1(%Tqfc5kJ4$r;~mN++u;%dEBTD`8*E&aHm~V+8F(F zHD`dDS2>xOVVKn1HkBUdK!GPz!cn3V=Bt-xsH5FQF35Z-_(;u}lM0m+g?0fSuZtRf zend62Uu*w*N1&IG6BaYHG+TWp%DE|VWML?h{-bpA{R-dgFuuwYAw@P{({iZEHTZ*` zrNp$sBmMY2;V*)U9OnWebp!z$v}WIh%(Yu8vnuC%+`%y<&5pK8+j>>c<*O^OJy|84 zM&vMl;cSckmWt@dd%wBIk~GsyBk?1b&U#i&*CmI{G%B-%U^#K%$)bkM18xQg9O)e%fbs^yKs@uD|tOeK4f`6}c2 zue7Fo8eU$?S59Y)W*`OE6UJ_epI|c-2#oKar#V$PU(t}GvMkv)j@NotgWqk%DhOm8#LtXD}1o7uC4>& zLOxm~QpgN8XnrE0a;io{WAcU5BYi0>o6*!-9n3ivcc$%In0OfLQPOT9t`ioLM;0t5 z`?O&9@86$QD1^g6{d7k$HN~&T_0a~(($A6Fix+Vx8COLW8m8+d9r2Z>MrwQa=-tcl z8>A|dlOOESV_aFaA>MV+A(#~dr%N%;A;|Tf`q)#sBAODxth3$HF$G?fp&zF(+L`aT z?a;;hm~PKXR^jKzcNlOcsn#wjd-t)ocU1U}yOFyzc@ss1x0@`7Bg2=R7Ux+>viVg? zdXk|&tS$fiCFcDTJr~$SV|aSMfk0*-96WQ0f?_zz40^bL03Mm#ce#FNH!KAk?lu!g zja{9yZS%TMImp+EoYp_3uTOaS-J0Pdx;B+S*RsS7!WO0a4+KiX=NjW09!p7vd^u{Q zHPnuMkXt#jNmh4{K6MoNiDFFRUC(=$cNoee!^LGYqxt{kS0P_4hxpAM(US=|pVR^dOD3j12*-D_csUtT$^ z_gGeD1~|zWA@B2(Naw%->`WP%FOT*9@W+~tt;B>!=GhkQo>RSLUc?LFKvG=?iTVl& zLyamG$(=y=QiKw3quX z9ac_ib+22!#qR!OeD;LKHa`6siV#6Eu({bC(GA*)k&+}Z zu_}tdB{fhAt)020eT-{s#t1S}WNuBWgPM_A^H#XZTN|Yr;XIRL8 z`x}jp?1ED`FXx`z>wesjF`sxQ#n!WYFS?X(r@f_9(jCQ`Bj~5&Vp?Y9cu#t$kwdHM zK)@dKyX#vVj+hD^l^kHNJYRggF;P%2v1|~-5A+xjssm4_LztYB;G@nbzCxC#C)Vur zIo+(rOt$my_wBwAWhhg|f%Ay<{_<)K^N%$WPYZ-unW>54OGA?T6&3Rf`8T$EHt250 zN8gkTJ7So42usWsOj(~- z?nA3dK??znvBbL510f{1i4oA$koK?Oq_r15|85z-P2Gg>+{z4>-X*SsNphVdL@HCKbim+Ca&sf7c(>n zu3C*h+p6qLigv@T%AV4r=e!MB!3_jJm972*89l~DHXlo|j$5T4R z$3*w;)(5%~+nRiB7jlDPFQPDTfSY&Uku!0sys>^e15O2nB$&~s*#~OI00WZ@qDHafm4x9}-_?5T|1I@_XAdF;$3k9R^ z9vzRVAz!Eh%!h-xWGoc$vnQrnGmR%eM<}6-g{H!;~<6{@*fQK zS0FFV0N6XUQQC-xFYAx>?XZ@H18Ea+Gy#r~CNr5}WK-f6b4^V9hugU_^w?;n>bvk#emtH$Xg zL@mAeL;>)Wgp0M7I(}naBXU5kTQG$2Thgfwd*kegHK9DlRJbr0T)IVhzEl0Zq6vr$ zQyE~AO-ZUGd_elLo7EO94DEouRMuK_yK!Q(HO3|RvhKYjpZ-b?_;jmiox)xn!Hu~$ zw>Cm#Oex0qmiDMn<;(1T*svoWZAj{v^Q%ty1o(@JW9Xc@_TuL!t9S2HF6+F@Xi5T) zG}-vWc8~j^^WD;3HC$&DEg>B4iL>{!R`;8T2bWzlvw;4BjLslIX)nal#$7je5I0#^ z?Q*KS+nAkSlL)@3;FQ)>HOC=nZY-v-uyBXZyQAG;jYY#medpQF@5|xAkdsH@f(uSt zCf^beghz%kDHVl*%E=1%SgZ55)=6q>qR;ZI7|oE${zNmhU69Xy`t+%tyysAaYAT)= zq0+OjF_Q4Ss!B6G-CR-=A%)B^{-PSIxU~=>OKupNghNOQm6{}1=9Ym#h0tZ zF2EyngTWNS<219&>5c9-QQ-0b1s68#zB5cyrqd8q`EjGvFgmpm@8S^5LFjLUUagYX zFRK16J$Q-(GryD?$Vlk(>&2^m`fHDOr@j9O9O3MF)nu1=NOzhw*|bAm1Ir5$>ku?5 z!xIBEl~Yi+4b08f8vtvDb&<1cM~*exk|n^WO$hjKlW16!2cpRC3chU~+!3a6xG_pL zymbkzmIC<65_fmcy(7E9)c7ZuHIQsD0fHG2eJ1-*&?ODk0FK8K(@xyk%+?g#tyh3m zH7fG(N1ho%Xd|49ct{q^!Wyko#3T1v0m64)oVk4C#1{MFQ?{Fp)m1P0)TlxAn;Ic*k;JG z)MI$aD^T>(`Ne#Agk{qK_ijGV0{5ae`|dcLcoOnNXje?moOysCPd6@Zc_q^M->unk zAFxZM_uhzdS5dO>V7M@Jgo2f~EltMr#3OghDJs$zriWUq0@*S=DupsLQABqJw49pd zh3o{J7u?_r3c3d^uw9I!40LheWT^0BsPh9cWZDdCkp+;>&!+8VLujmDY}GE;+OAO$d> z#>x}GH#Qd<2L=YBRnc7fQj3U**2gFAcoa3MbVF>)4lSa&FLMndw~gWIYzVR1=;)xt zTT{5iMrhrIdt&mg-aH~R0vAU!T>_WH9WyXGc^_IJKF&@J>X1U`tu3t1UB|Qw8MAO- zQ5bO731u6T=+2rQ7rUOHOE_@uwE_9EmIizT6@mI{aEAB3mxat!zXR}5737L21uLQ| zRGRgA)@{Kf%q*s}bb5r!71xcFNJ)EsbPppR{4B2F{w}P*YwpIe#7_6RbzAIx&Y*y3 zka%dn2CLX~zK=kc;njnYLROa!E=4)l!ZZcwEc3jlhg9eKd|D0F#-2X$?mBmK1mZRo zGTmfI;xu|aiVXeWC?C4`?rbXTu{ETaD2%}7)-*!4=gd1vf*szA-Ru}L?RG6hHn-R$ zB2))p58A4j&a$y3pOWJ8YL&JNV3!SE+!GoHkfS6#%8tmUR6Nd;fllpK^^R0tJi(%~PjN5tkOIX*wKt z9p{UXmg++yf?`@9SOynJ3mr>74^lzMzPq*kMl;cA^MDLrZ8R;a5Heu1UPLCkcIMgF z05eeqSM5G~ZT+(eMR10IbV-;ZzEad+o^)!!Zoo$d{T04NfO3DSNOtrAPmZuBim7mn zB|>N4!*#ctTj<4Ku8u!&?ihtaapvg{DUZ3ndw5g=u*x<`)7T})eF|8cGS8IYscO}s zx(F&FqJXp0pz8=jkZVo8Tqllv3)I7JYcy)~}==1He@?pj(IX*C&-YD435QcJkYxHhkX>YzaWFaS&%R z1y-i-QtkTv^72iPXjrAQ`ci{^=jaiRN&|Q4PDQ4+os+Bkk4Z+0Ylj5HLJH&o=8O=h z(UFgTcF(IZ;+>WQ1>7hQ)_)8@GGVkVlN2uCy76cWCe9X-GS9LGU#*c$Mh2+H9gZq$x3Fz$ zj~f8)&+yt0>sy}aMXF5}z1Q8I?m|xugm56^ST^P}HK3(B7(zfvQ^HjxW6kN`>+Xt2 z#md`eK-eN^s*rag1dj3#OgGSV&+N^gmhy@2b?6o$!d%EL>7ck~ro=i_2jKw0G{Nb# z4orpw0td7N4d@l3o5K*fBP^4(Exk0`3x<-U_Rca8-g3JV`dg-?i+8 z9XD^fOuGI?nXVc24eKX75v$pwd-o*3I};NVBFZ}vp;5?XBr#DI1h$si($dlgnT5D! zz!$}_uT=-2M_ho~j$0!UaJCe$;qw_$1}?Ptg9rwq#7~ANDVpK;{ovv(dxSD@&do)D!?&Z%d{B6oRklDKg znuYTg zkc**|3{eT-!e#*fI0I;hQjMt*#Il4%3GaqokkSUD<-EJ?uuL$k#1cikgdThN7J2R& zNHvzdixO2X3dnpWq_DJx2YZTu+qV4i<&H})zbgm!5Yg)BlXhzO(a<`=r|*XFcMb)C zgt{*9hfx@p6kiLJKvQBM?PVnTOmtn2&42Z?zT5-g6c1?y&(l7f`+Bn{PVF2CJm z3bgXw9coI*be9PeOS{V_h{KO=N>HF2#TYBlSN0ie+YezS9FaoXdOeEY>#6}>C&0?$ zZtnCuS$}V5D_pG#wk$zAGzfCdBaSs@Pv#ME9P`H=`D$u5-hRRSVs%-LMR?3Lw+0M_*gKa z7~bd}xJ0-t~E({i^%c!NTzb^vM^Z*f7t^-wpD1!#%JOcKb1+M?@4h$~KiF3Lv#*z&bPod1;O_PnaSL!|plUgr5#WHN!%oe3;l5Fcg87 zVT9Z+t)uh>}AWgfPXpc$dUO@femcw{8=Ti1KkGWIKQ;M}T<-?uL%b zO!1?DCrv;_o7OJ5t%&-93Yl5AMVV(mO0>JdM$nVeXQp-A=Y&}#o!cIsy_PPXdE!u= z>V}{;1Hf+t6^X#VSOzAG8yj1>=awwcZVAwQGn6fqfSJQI zn&`{Nz`azQ(wZAXP)SCp_Yh_hO~X9UrH7o1x_V6PHH9KH=KboerjikHYIOz5DGIL z$zkliOsT_KNwWaR5qe{{=qol&9$K!{ugw5b2XZyz6m{R0N5|JhCUAwwM}+`!3EsdE zr8V89l3)Pnpdyb3{w|~h51SYZ$=VTsE5>&=%eR!`dk=YZU5c&WdFbM4z#}mzjRfxl zg_{H%4>91V00CaA5CVA9jOcxoL+?0p0C9qAWpnOtmbZbT_HM`q?Vt*Cp!N0y79Gxz zrRn;FL#`$=GBSl7Hty-*2#a#E)KMA*l|d5-trod9=}>vdg2x;Y>^IFwgCDH%CGDt& z<`#KSTIUHWpa2loC!!P?LFEz_RJxNP z=UKg-3))Y!!VOgb!nWnw`sel1v%2k-r3~WlcRGe^!D~@Px1@7QyyUQZha93UVnQLu zS@tdv?2A47)qx#MVQGB;AWlbt0(LnAeuZ#Y1Rfl65}+wfxDYD8wiM#1j_LAp1~q(?G_th_P=l2KUS##6Gn(LhUp;U=njIdJ#Y zk&>d^Yr6`Z*ofDJ^(eBl_Jl)J#GdPPw9M;iFDEc5?W||Ys!VO^{LzVKPUns(v^{Wl zt?Bx4Zk9hM4|YzHBIf{aXFvfP!euJ!2%#XlaqDpA?+%@Ue;k>R~JY1NXc0z=|+cK+f5!5;eA#rJYDvC zcX!h1=LP;6)18Ko1&M3bB#Ez^ZyjsCnf9FU_&$5rL22i=$@|uE{#xBulC;?;fRwbh zHaY(K_su_Y{(5bFpZO=<@VaRZ;r!85vBuZjDZ`QUIi(QRMpKttBQ1|k@S{8a60(arT~6JxWw_^Bas)nZ+;^`!Z-9X`L$k>3tH z^63iM9`5&V_Y=T;lYBsWZLQX0=j+KEuP2M$f{!kINWV3hxO)G-q4)Ya%1+qy#Mtbl z>EuR|)O%*Sv7y`IF8V*;(cBuf8DvFi+G3e3Ba?wEGLEDh*HYGUB3;+tY!2f#a9wR~ zs;}N2d^D8}*TtS={=SQO+@wqGOau3R{Klg5M!(z$e)GNCWB9=HMsg3=9+B?bv)1Kk z>PBtVO-2RHw^j#gV?>!`)tI;r`qP>HSQ(SD5H}#$T~{w{Y9=1rkec@RO5C+_>(Ixg zhVrEFdWXEBXQKq>wb2)Daog&%lCs$OSGxCou`PVKyyp7{)DBA1ZoR$~`P6#X^1XZ_ zm_CyGO!!oW90pixmTj3Qn45O*LxU7`_SDpautFW>A;o6sQ+Vblyvx$zi_TZge(eTw z(;HV|wNw~Z9*g@<VdyIbHb=T$ppKVR(oi zZ0n~;Tme{1yJF#W%?=~a9A1O;T=-)_&knIem5kym>))S1*4-WUh zEutC+D&j$G;Qsq(jBT#C!ezlHFP9`R2}drUCnCZb9cNrpIDg!66yQ8Dt+@D5ryao% zlE-Y6dIUmzYJGJ4<~j+@Bf!IB!EJg2U{8mHEQZfa7h8FV68A@96y!t$KVIMR%mX#l z#NfdTWfz7=8LBL!AvkgBQ1PN6J_s`k$5o+vw#5VDm~w=&V(7|+o@$APo?b2k0b)Ny zRYA;>YcDX%i6{;LkUD|9Ex6AMkTxfcTxKlagJ{{jw6@*5Y4Sy@cOTJOo&BTm-5MN1 zNyw+U2_4m?Rz87T({gOf$`2wX|CQFRww2zPm-$oI#MUs1UXjwqZN{BPEplCYbYQEh zAWabmZv_-ZA#fJUweF`ruVxoDB!}o`T-yM=`3aefFTMrv;-&UHG-Q{`B` z{}8b{{o~ipv6mt9(@c`f2Wb)pYhmYqN3ORtw1ky9#`#^!Ffm?UrB^*-o66z|r-49v zZuwY`YzuQx701K-KP#Licz8ZXKf-l1zZN=t^_SD`AznXBik^v;t@Wj$Z)QSF~Q zn_9(s=20*`<=iXCsFa|*?OamzwA7Fcchj%EdCl1>%iC& zQ9edVX)UVXU|rEpt4D;Sa>&9LpU>}hrD*sAYwzpK!wCV_#YGvZXVvimw>LukPtf6y z8lwmv!G}oq#V&NN9Uf`4UV?&S^5rWh3BMWf>h~7mjal6Do&BgO#`@E=B{apf%?F3; z22b%{Z$0d7HW2tJH>ZFiW1WZZJr=j>Wynf5RmtZOOGny}u~uSk+2@0f_1)E-4(LB+ zJdmbz<%{ngq8pS9TQ~%AIb1g+gF8c50kev1`(*eK^OuI`KrCmPRyULZRz0^x%`izNyOgy?as$ofnhv(J zq@$@N*CrFHYQ2A-6;I`~l&Y zB7;OtHL6^{Qg(iY$O%;K8=>gaemN27-jOcf~pOiK=+wVU2uE>O9<+ zlw+6xS0gD5jdiOwi?t8yK4g=&Sgxvy56^l8JvJr&gH5+ty_xJ&vbaxa*uWt^NBQ#1 zu#e50bNd`1rI{!nAK>!DnN2>)8dK$mE$xF(EH3dfJjg5~NO4Ud`{p7haHWC~EUC!XvCdt294!%kZ5*jR0dj}7l*f#QRa4K29Sv`;PVxyE1K^4>BuB@^S$aCAP4DjJax|C=R;3(;Wo%GBF<^{@9Hy>6MoFEpV7& zZXX$F*yT1Us0oF0@BHKWmHjIL?6d(o(Up_MddRr6RqeER8?X)muD?kH&Hi!7wa}^} zuf(&oFC-~v02hIH3UXP0JhJwa^bW~E1r2x3EDk13H67&Gdul?SnOBz*VvUT4%Kv(LnHBysy=6~(z&v!5*M>6 zj{4=n6E;sLIazNqblCEU{#sVq;y`%uRDTRhwd+FBj_J6K$|0XEyLq2YWoo5r_3kyN zRvV+z!erHA74if`$>WMiv+5YjfdCgsk%*h(+~e>n{lAXqb)#M_t|iGfyA8lqv_~oL zBbQ_7zZcu#7+m5(9;vhT%2j~!W01lE$53tf1=(_x&~iq4Wb`J~o{Da#+mhA%h3;p~Zg~V5mp)oqiz8!RjCyk>eo%7`%$)QAyeW#78E&lx;_xy6B z3`0_^Y+m`H`lY$gGNHN=0`*YOD)lHSW1~#-iVM`Hvc{ls&-*7fyC%muh90b(tag$z zNIs44=daOB8VJ|M%#EuyAT|LJKgfVl9|~e7;yTwpe3!G*(K(S{pGxFOR;b1~`eNt1 z-Gzs|N*AEg0N%GRsJ6d5hqrnEelEHGQOLmym;46(nSHIC=H!5hEC6u!5%s7tI0=ay zYAfu9!d%hE8`~MsA|z~YcDFbvL(HrU2n%Oxo>?EqD9j){Fl?aFC&q*hz zOx2L?Qw3qi?)7)vPanVuA<--3TNH2M!l&`}_ZFK|-A_e9F>@o^~8zY)Sc;SkPl zxBda=X37@|yP`?jQqNA;EPi5F@q1)lJHxoeHbDuRoVKAXXlNjsrR~mo+Ay=zg0g0+ zIz>!dBDq=C|7lBj&+Mq$LRXPDpT%)WGE{BYX_*rDHc?Jp&nbNVt!3cHlCsuEp}ocU zYBPx-x0k{Q`!f%2-@bsH(Dtbf6c@?R*iDw!)16v@Zv9?!)xz$2N$0mQ;dX)P0ArYf z@x+NT`?BOvS5nn%U1i|(oPXiCpY3pbEhkHUe6ABdd=*j0sGvwylj_u(j;a&(}6;mF z=j1K1`-%;TuBMqI@z)}=rspaJla&O1zdyY=^qo^At{dmPf#S<**&D7k@m!|&-U5G$ zK-n9II``vJgWPZ@rJ$bbk>FtKm6GjMDNhRJ;&7+I1UwDl6A}Kb`ZB|AG!AnHl5(_S zzJj~Z8adM^O1Jm{XH$AHfj_Uk4`4Voc#0hL;EAp?CAtxvr(7XFrV>`UWKNes4T>HH;u_h;=Q z4~?;;1jpLr_k^}LB6p-*o9{a)EdS63r4W~U^$Kb~+nukBc_}D!P%@Z=k&3g>ukL*8w<6gt#h%E{GF{UYy zy)#=CYfcd-gv?eKd%7{Bw!md)l4+#&;oiJTyh^uQl#k65Qw#gh_MD2IXUa|W<*v3i znTKrW`@Ay>^g^{{rmE(REF5t$a-A7X2E1%rLn&;Bjc1Bw_d@|yIT+L#u%THl(Hr__uN>$so+ET!SKYX$wF|!mA<$G1_lv=xtb!L13+mXEAz|jdI305tp=iCVXy>{DJ>a=pone8uM|NhMht{r}N?H+AT)iEh}aUfxjnA)=* z70J+%EH8>k{fa&yqOKlnhDfJfC%jGEu)G(=7yda zZN?W`Dbz4Bw)N&(EC!bJ3VV20X8X=RSsJ0;Df(!%X5?0H9*wdyHt9)0oNGJmnNPt9 z0;gn4N0;XZVYrDOl3i4bX9%d_`{3&D3r8b&|au@+udE7BP^_U=!tf zjtt%vhidRmmu{6@mq41cVG_XR2&HqM((L9r8(S8I^vJQL5Tj!2Qo{{=_9L}f`b{Zp z&5k8pvkq%%iJcRk@zzAXknh<`H|bWV@m9uTy!K3 z5A;eh zv)ayaH@U2B4B@ul@8f*vXIIkHl%Q%0$jTZdJAx<-YHSd-dmm|G>z;DRG2~Xr%*Qq5 z{5p4c56&plvE#**@y#V|RsML+-K}$mDm~l}Rf6UYd3xAzMWy=v#{oS2WusAr@;m)iU z&z@q}@)@1DX7bhV!k(qSQV`u5pR- zOp?NCFMznGnoULx^zA`w#3Yg{rvwL+Q6=^6P7M{rJ4rwd8@1amt0oxG=AmCO z9$dW6$U~=Q%9+e$l7?i6QZIf$J~z(o!R5hF(yrrr!yhwA^kOIm`TsU(Epg{{lH(L# z+zFx?SS%MN5U$w5qDzD46JbRVBGN1jrj#&HZju;u%xmROg(1xQwE{Jum8Tr@eA+ zZ>dp#kT07HaG*J9(tud($r(DOLTL3nI^XGJ)TqoSQT9aYL=WN%b^ZDSBN3BGk);}S*wj^vBO}(DD#J`x zc2TQDunT1v%Vny$3`bZx(6;AS9WhNx3HDH@I$^MMdDZ5jGKU8&u?0eD|5Ri-i$W+O zL^e5hGhb@?(bBM{-b>v=3PF*az;p;BWT+&0m2o}lGrll5!QoKvN2RC{lKXfyxm!g` zR>=FK(vzxHHV_@7ksm8dS1a%i=9T8M$y9o?ACG^qQo`@pK)`G)Bs*3Xlh5rWxKp_9 zA`X`8-PN$fcQm)mgA8Cy#%iZVF@0m1LqfISl6TF5TR?M7G2H;#FZyNHZ&xuOLb>pO zeu;xj{3&xRR|K)~bPF5L@`+;T zDywQa)jm1sOvMwve0P&Mp09_&LK~AAPWaQ!9WfCq6R9YftGyv+7m(aMt9kF=Y0u-7?rc30`LZ58hGY_x#k58bCA9_E$@|w?$#8?`k+PKgT8kit! zO9v(k#h?m5Rw9CRP%bC537K`qiLsb0OJV&crC8f@=^h2F4Mn-`y1edgC*kqJxeb-W zS$Yx;kmw~z)(91v;;fW%dyA>MN%(}F7CDPCjq2_>iIP$VG!yyF`GuiR26JNs{+vd& zIQuvaiGbZH8h#D8sby5R?3{RqUe8n&{jy}&iGei}@GM<29L*V@fgs_NyF$UuVynl{ zH({-gFmhU4Ydl>RlVtZjG6a=R>E`#RF|;3Ma70EZ;~ifubQ~agZ%p)`tk|B z7E{sor73DBO9y(gM~1%Rj6BNxVVG+<*xc}b(E0s|ZRz-Ni_y}_ZQU36C2Z(6#S)$G zs8Tn2X+P+64AJtcTGG9-K|B$Bxm?MtN%y6q^+k*dcMA!B&z|N})O1_tO!+d}48DhU zhNqHi(=@YKgNJr5!A;3${i;I)&yQ95nV0(8yQfsOO*Lt9XPp8^=HisyW;koE8{$P_t-dqYT|`ueR$dnq?^4O!9P(uxW!`v zGg@d@*{zyrJh@aqdo>~jL-!#Uo^=v_9J3axoZ7X?TN`sd1yvfqRRqr)(Qd1q**f`? z=u>4Eey+qEk56IB{Mc1P_=}&>FK`2lH#zYe zuYZ&{Q*>;(Ec=F;am@N1^Np7wG*+XwZVVQx*zW7%n-AzH|6C;Tw@7~T&;J{f1ilL1 zuUt3gZIo2#>T*0J*Y$20&B%RN3Ctq@8aVL5($wT2zg`H5Rp5zp?ojdCybkz*7@Lhq)Qm#g5Y2Zw$Yt;pM zd$03$KZjcR{)yy$e}DM@q)z=9T3wt$)v(V;{M+6vRg6U&o~q<1G?n2?X&m{E<~Ch< z7dPb>NBQ5I%|F?s`^!8vZz{1^wyR4%&OYa?6TMmbN!Y&63)wLnU|;?xrg>O)c=;wm zJY}L+hZ-%#w&gqOfP}CSb+)Pdu9f`l?_mIznI0xK8v=iozo~iuc67$$;xQe)ss0-L zA2Rv^|BuTDVwI}E@>Siy=NVsQq7w^)dZOxro9l&U&kIEV?i6^F9KVV1_(0ztH;abl zlKDcP**?+5<=%(SYpJ*zUzfAQQYB)VSbzlQxYHicY7 zzVAcP!IG-yLvgWNCJQ$IuOIHf)Y65OQuO}^250crbEjx^B3D8bYQxso=M|qP{}-^Ku&+ z)W>3Y%^={H=~x^M=;E0ze1n-~&MM`1w5=!;Z;6m6uEmvWjwO zszK90%v^;a=`o+oH-dG}E>4O8dcwSt|EsNI~#2`aaRl!wF=D&jJe{Q==> z@%l@->#JdjGe_PAMSjCP2zEeM+6}tlFK7}7>i=-O$9k{d4&v!Oh0s@vS|yNN!w4qm z>;Rbr?2i%Bt?dAEB2@m|F1u{sMP-rj7U4%h3+?gV)kmIyuSPrZ4lAr`}hQ<1I3xXS`@^g{di z>Tj!Ywi($fm~~X!(u*|lUYBBhBC1kip#wP5tk*^NsWW&IVf)zMlc*-)4M=bug+VhD zl!InJ%kYrEV`D!T;6tbP4D>wHzIy$jyT23hPd%+F{*9u*qi zwb677Se{mJ$B?IG_JpB6?+tKLk**Lmv7vTwIC)THE6y5GUb)~0=09+5r@`4G^FtCd zyE$9X9is^@G}7ahSH-)eUsqW9LB#Fa|1mSv{u@W!|BbBkUxUN`JI}BCe_`#9^&eZO z4qbaFY$J6a(g56*&{78y9-$JXY=b#n>7b8;u_NYd&#Z(_5z$9Bq7VnBnWne7F~SI%0Yj5>|)It9Q4N!V5$hS&D6LFWMU>j ztRoF5w|^=u4mcIm!M;4T4!Zr3C?D#Xf#BlU(7T%k!%5KOH8jj%1TNnU(*ojJOpNb* zos|b|uaixjhcr|SLi2_IE$JfN+XP4^tYKh?OScP%Qce-ks34>x%mZkGf{^&Z^S>LZ zkEU_$|DJ>>`iLtLZ4F9mgnOLPyRg_syE!y=gz)Akyv5$uL5#;vH^f)xK=Els%dNx?PwPU9=#V?vSH2*9WqfTKHj1r%>hFsQE+nI^Un#JS75L8JwP=3&%XgU~Ii zYoNhE-EP^rZclz+xuebAB|k@F!|c=;sE-(8Tnd^~gETjwZcD+Sv3cGw48R4@Ya@!) zXqXDp%7WaYrblL_2mH!)yMCLUIiCGXbNS&-NRCr0rlSeU&l4Mte7Ir*JfG{nj$tDg#zvJjjXakhreJx5dP0j_G_TQcs8Jf1*x!>nAYrRq?ASD zl8|5@WHk;+=_^b7{C;-HLmJos35I^Cpk8AgF z`NFmJDh<3TvZL+Dzg;Hgp#dCiZ|I9GRB6JT;3H4O&VAte(&W@VFq`w4c*fQYCzbZ$_7 z*t25=L5rB!e48E$FMp^)1DA*0iEb zYjSCf;M0)$Svf_Za}o$+WR`;unhAjh=D@t4=XKh5f*@pbA>5HTz{g%F0ip8Odp zKdi&~b7(Hfmh%BCm%n}5^^xex4_A6t+UEa_vW7qYZ($5H#1{3qgJ=s)9)mf4v|=*M z6h!X*JDHV{yl2muJby?7t(uk{z`nafe2fPk}Iprm*Fd z?54--Rv!EIN!MLJ@IT#ABx1lZR^I>n4<(P`lhR{tWUy#X$gy=R9`m=KWKN!T2Df4e z%E=i>wm1Fzg2D&F_&y&PjT1hC1o+4=1CxI2tF{6@^tYd~Y@hxC5G4g|rT*ip8EK(07GgZIPyhztle*SBu__VO#c&HpcM z=HH3nwKJd7kq#Ed)x6(Pq6PCWkV9x<-d_1At1bl8UDxkil0Dl}ft01q=9 zklGUidPg)*RLUs%2w8t6#eMis8b?nNCN%^iDL5LcK*1w-27}JDTZL$TFz9*}QRGE) z=8zH^{<^rN@OL=bePHmK65$D8696g%G}#kk!32aH)Fkrg-|PUrZu!ap%`9bW(LgO& zM_)7^1qrRSExt;+!4?bRr;a8-ChY=)8$fEm2-zV_UM6B-0&3&Zz7^MSWw$b15hcfo zhg^wh07u?pHB2?a5&@;qA`2N5NJfc3@UA!RC{q!e)7I-tMF?W=*1!}xQf5t;|; zGRB5+v%_NH3&+u^rr?odhZ$M106c0e##S7~!yvZSJ_1YwWx%UpV2x0<4gAU!>KZCy z1p^X?_St*vqAE8u3>wgKGrT<&V+|(-%@YiP5vi!DxfwL0XatH5-v-!U*17H0vB9%3VJeOy2Jh4vVn@8`G{?YDF}uE>7WJCcXCM~ z-v&*1L{fUl=%o>sK=}vy9;*bpq$LJLN;B8LjgBRI@^psRV2#>`E2|I)p_dv$QsSQf9E0X= z5HBEs3e1)yf|p-*p#W=>A*C|wWdbxcAm#x1+&)Pv2-VeCS#meWqY~A#K<_L=HkgeR z1F#N_FF6r`M~DCz;j9j~?T|1LFTlXR27vEzNO1)wV2H+1r|CsXl!HOH!bVcGmFLSY zzJJ`~)ZC^0q(28{Rb=(B(C{p{l8#>eS%GWki^pf3BJt1d5HW`vE0*c%it3F}!i_&>N@%((&GzAdWK6RzxvA9`i^t;V;D@o++KN^jwy+Po-6veXOWDJuG2*PxRQ%rL#bTv9@$SMlF6ZM?GyL zOKxxo=}4dH>3cIMn%C4^w$B4km6*Q{eYUS_pHa82f-jkSj3#0`Q)$&Zmp%e5q0!P? zS);TY%I@xHr{4e}{~7#rSkjz+8T+rsm+Ps93ZZv1dRdCuUpjquq)+;RSF8taJi zPamAXYn*P{#4$fCj_1unPbU~TN4;J&B_sJqS*H=zak$Fyq4ay>?SlNl=Gm}Qs=xQZ zHJ3W_@|k0_1E#Sr-QdZP(ER!fGXC#y*_cZ=nq(c?q4WFF;+Wh!(R5HJ%naWYH0q z_C=bjpZ>uJ$Xc3@9QIsmF6nR)Pzs;i`6YG)i&3HzOuX^2=~rTi@c`we(r0T zbS_LMX@=9zM4Ct3e|RY+_#Ho-pH&>l`*5>oZ^*I0oueT5pM1gAdYtv1jI=5RFSi9wFq z9bSm+?WXAl{~dut5?ttP2S2#e`9I27gAOQ!Y{4h_kF%MFtIQ&{0!GfsFsC>Ra~HL3 zZ#T_>ebS29Ye;Fyq0oQBh7cO=q|$8%rJqS|H;^ic*BY+9Vn6G{SKihl%nX;*U*jF# z*k97&H7mb--QtU5q`%bMduwT(42vxMdE}@(6}Z zK`&ql(YFEaJCksQVt-Y#pF3<Q`P_m8=KqAJ&xt(P7Mx=OZU`Z^ldu*|ds%Gkexrgms2S0zutokVQqL{n~z zV*pp|>V2-)XR`S%K9o<$s-l(QUM4Kj}}(Uc^zQ zp$Ha8od=(mlm4~W@U>Ao=x>HuJ$D4UQl1jEMZA^^GL!zYd?%JPczM#6EJXk@xL<0i zDbGr$>jE5CiokXL4u3)g#)0y`cW zl)QfOYg#8=Ndo$*7&>__uzaLu-^inIP|Ku(9$0Q{kyQPP+*rcgXgXM41&nbI$ zPq<1Hp2mo|^!WvDwCYj|$GaeNJ2n(>m2Gh?d+JajM;i|P@mnXbH1KIY$+JRREpWzX z@tusm1mHMvQUH55kYuf6qgJx3gc^dYZI1Kq${bKYYD78B^SWmiz5RV`@SiMxtkzDxt?-w4lx zKTxy|;lBg7IYHNL5PzwNjg$Xp;TW`FE6x0g;UYw)(L$ECNi^*QPEAgk-kfLxoeODi z75HU^3qOJ4aXcK5Co~|nqsbvG_;y`tnXeitBC84ji{|fY(>DM23#PvUj697I4BvVScIav_e9upL!kuyR;Sk$b@IUuJ(P-`aD|wi18;^fRDo-o{qCa0jo{ zG4u^uAQIt>S|MHZAtFgd>CB14g%>cqW)mhfBq1~`5C3s_`lZW_QRyRy1k9U+U^T)(pH%5u zqjQ0NEQ9%~0CSb`KZ_l6^uM)KNPp(TsZd}RcNPfoZ{wHxj|Zm$s`!v z>ui&WGy4gmQqD%uI@$83Li&VPF3P}70%YPPOcRxUp23x3&K3Ur9c`q4>1SO7>Ix8LFk+6= z&1upF4vv8Kv$l{STQJzy710#cy$WYF-`T_KicJ{f10oHjK@D zY7!dKHWW-qXjmxti95P2xfw)5(%y8LX9$dP%t~-~|3`(1S1SRDWs#hk4g0!6&`(|@ zet5r##lR}Y6o61W0-RV6%zPp4XeUmDN&HCwG%Q#wv3x!ZpWk8f%T^ynx8w*bnCBc4 zi$U5<;mm>U$YHHr5+QsFg%?mp3j|{ksAdMh*lv9_}p`!*>7D?l5UkTj^%x82qykoj4D)5 z^ccrt5Xz!MxJ>vpg+i+<7f+7T`;ok*+9@g&2B9YKrrj-*s(LJ+HLzPR-XysC2a`h? zkETt2B~xJB*0^d^{{0GGy?qag`vI7V1N1!>QU{gMqYrT=0U0Cw(gb0_-M{?SgZHz? zM~R##&6!u~;6X0{dK3(AL(f2%;U#W|RHFdUj2DoUIdxy&1tZiY{-nhuj}G{N50F_s z+C_~~$6F!hDg^(ymrI;kIx^7qP_Qk32Ky;nZiBI z3iCjGXx+qTV&yAc*6CeUKn@1&?dgTSo1q+nVu~EU5Nx9uBCauaw*1u_dCwMp@x-6V zT!SgzL6Gk=$_ayx9wTj2XhTz+6?7(I?13ki;JHjeK=EsD0v-JXm4uhEP%ggxlX6eiN9T~6Y{EIQ*re9Gg>J}iaID)Mr5VzyFWmfc%myWMY?^zRLQ^v~v*x_6??MFQCm_v~kboS<9XNFIwl4z-dQwLk3IAByEE|Tu`tfVM`i@aCw0Y1`!JETy z;KM0^W3?9<3-%|%DZPgkusku`iY6h+Ui^8S^g5_NF?xr=C93);0N8{@nS-nQ0)SKt z6e`)EFeKMFZp9~n@(-;TE`7^{CDjWIN{~DqA^5-(NAih=#oSJ}u`a;~ro8U;5K4U1 zq@tpBT)yp{^>}EbNqjwveMkNq64j$BTok4-Jix(Vze2-?xQ@ z_g)M50>1<#j(Jt1OG0``U#Hm!uhTpbE0?GyeR>`Z_ooi*n1QA4{@aqq|_4rqWi|izu%y|OLIUG`WGu%c5 zEq}`)VUhT^tZi$gpT^e%Kg+}`5=6`#(PMlUYt(g-K>w0({Vu(_0$Yl}Ao48%oTZn8 zbiR51Uw2IA${GHs%yo#3h{cdQYg+O5foDDGZ+GUU!O!sVP!W)fD><4oC=QVHS$IE^ z?k0mhh%M;ORX8SHlAsw##)#dHg)rL`sEsvZ?$wyjm+M=dr62z5eEdua#y{Hep<~9O z5=Q|=+vq0N-IBgCD6#i@$Fa(!pfwT>^qHo$hPR|Cp~oa+ut7XvjEw&?>Fd||>{x3( z4wsPJS_7q(okwpb11_a!6|fcuu{p2xJ0N|%pbj|rQHVzf{Hgw$hc^A-o#z=~gR<%q ziQp7{<3E1|NHr!{h6|v7c8|leNK}!ogh%h!xBGR5jA$JtU~EVI1Uzyel<6;{?9zGX z`^10<_kkcw{`@@Y+LVmIHlvR#M-bLG{CRv)Xp|$ePduRK_8y_qAM*?3=LI{Qh{EIh z@w^|%(3w&53~X^weZVY4_d6ghNP|Qt6z)oYS;oH0Peq^az6%TPZGnODV{p4;^R%(S zU!s0D1-oR8B;_z&nGwj}P46px4~>M8xc!05@S<$~GX`G%2f+|(a!^A*@F?8YHRdZS z(5olZ3`QtpN2srq)Rd_&_8M373J`7Y^r_VgXs?Zua4?LqcTDloziz2Ru(9K8O!eZgiEdkL`zP z3Ph&A1>`qhno&Lt@zWZKew1T15-G_=#WYlP0B~klXt#+Wn9yM6Xo`4Je%DC4_+L3QoulF%=Zk z_QR|+nmmt15c8YlWXmpi0BM65kvU7Phv5&|Ni;VF&ZI!_5~732c}7=vf;3bXS^+Xg zQjF{?Ys02|YL63v1`SAPdRJ)$Xg(t99hw>nQRRCBQF_cL!Gl2lY$>Edw^1=(K!yJe zf`lY+25(kIOHZ!>qdH>fVX+t;2+_~AdH;$;s@Lzg!&gGChGT}BWNCUvi$w4Op-W%3 zMA+ti0nUT$p2{d(y5^4W&=D~ZwY8y0L|CB4P(`|sx}hi@7Ha1Vg_fuQD1;aCfQY0< z8c5UdoY^*nlM{ul>P7?-I$dGHdl;uWjm7d-g zUwON6*irLe`tDvN7kdJxx{W|2xyn<$Q72ve)r%u{tRdJIb8-eI;3<}eM=fH>Tw{@s z1oi^B!$@!diI@OU6#bvZ}Agdw~~tKnL#v*z=FwR7tyoeSghtVxo<`G>pM&3DzXKFg}L&T_0^jL)otCyD(eGPe*WXd2-`V< zDm}BrcVah;>RGq2dU%$&U}VNx(LSBAQyN8^ZtJ~Cb2Z#_d&B7ov3hd)S1go;-w)=z z9O3my>%#gk0bY+>`y>Lt5CEGFJ>{yvZ0H+@S#pPx&;U0v+Vjdup%Cco0M6Uv^frNj z0XhlLe(3QcxA9Sep;zT)9e8sg zL^Y`6a3Z54u6290tL;o#6(mQQcj6rW^vB@KuOl)l04Tjc(m84 z%yl{rOJ5!yBpB}MlFLbtn#?_j4E_$i4vF8J`i?)xZ+L+a;xL)nPVE~I7 z5FIEwk6Hn*9~>5bW1eW&1jU7p7KnOc@ys6#wW5W~*j~u_PR&74ZpFRL`GTxQ1Om>7 z4F@j96s6Nu^qqujq!~K4g&MV(FRgv|)q+6`Cl#?#OYa1yITAzp_o?y%#13gtp;-B_ z7}e|(Xp&YqzJp+_4_p!t@tD~@Ka;akYfR+h-dKuovo>5nPS{`%yN#ARNk?#@km8$c zB&H0%kq|^bLGY1-$>(8=3VDo7Zvg*2zqw>WB$!F9>>m<0NmPQr`VkOIQ{YCfNbgDZ zPlU(BJLbiFgWkKk7V{ zHMqK`!WETiM>gJYkb zgy@S90KMGKl!sxR`O|>gR?ULx1EJio%LrYGSb;Mw^L5SCx~g)y8oKy|{9#H2P_@;l^Ov2{Z=Q zxZ;rhzW%sk$VK8&Kx?IC?n zVqZ7utNZ1TS4)}^fK5oJe>TiTA`Z{NN(+Sr(8V5MHo?k6MP2;}Zk$ocDTj{z5D5a} zyeXHAv_}pbL!X#DDIl?UJDyenl-u4&sFJYj6zKUCnJm4Mh>Qy0Fmdahvt-Y(s_X}q zh0)TblIjtKwZ(XlhJF{NA5$Yxn&+@&V6}n9Au&-kj=q{Y5hPI0wAfwTr( z)7R;ZH1CqZio<;SFwFU_PDxkn{;rkhdL&bdB@`kS7#ID>{`{22uMcVO3RvMA2G+>6 zCX^+R{*HF`?+><7j#+J?&Cw^+Na>p26O$E5u3 z4>{eu>G)X;Adb$)l3^2}{27ZWfu>tCjIEJwgk?q`UE?l?j9mid;FRPV{D8eRl-5G~ z2xMM~^r=Y1MkD@yHmZ3^f*R6W`W;nP^^o^%h$sHc`O0{b>PZscZ2o}C44f2%d)a5w zAAb?#b#f`Um^lJ_B<6LApj)!u-BDhQCC#ee1|Cj6OeFp366M+b7Y`RoYDzSCsR)J0 z0WLsX5FMjgB`qywoMs^jp&V)|9Lxz;LrvhwxxOz!YgqY8)7j|<31(q%4MHm`A~s1{ z{Zs@V9GM)ahol($9y?XO@Q0MpHwaIb^KZmrmdyWIGH^CcbM37JA0RU7xVDVFf3D3~ zpF^8ofXjFS#0(|E76S^%VJN160^tbA=r{IxIF6riCIz8VfNrJR5>zh`Pgvjg_{B32 zHSuyt*MJMKT$3@DZbl8=(a7}>c)TDa`fJ2biQyz;{5rH;iiD5H_LSDO(+~cy!Ra2z z)1e}e2SS&vp6d*n z;U_*mZ_ob%tNQQD%gFq9aj*|ny8d_P$OH}j|L3vtIke(_oINoDw2CAGq?A{3Z{CEW z6!!MSbQzAy-bUQGF^;oMw_`4!75c0qfuufx7)QXlSi$JP?P07VjabpY`ZnxNfP8)v zfQvb{OP9Ao<(dQ-MZkg;dYmyYk!m@VUtZwfo1$h8&$=4Zj3z1*$`-!yr`yS@8sryC zlN5u_hUzW%0s6~BQs4!JXA&73s#-aD=`bqP(U1fcB8+?CX1$l>%<*1)Sszb%GZi)p zK|wrKKs;3y*!VXT&yO+8%xqtj^nM8P64r2XCYvE1?}I67J!BfqGzQVt)WDHmhylA|0t&@}m=2cacGfT|Xda zA`xJptGQJG5l}yB14uW!m4{SQSy%v0GAyA$`Y8OyVBtjmxC=LdyBUbq?~F{8u%m=R zj;%Mlb=AxwW4$wgCX4baj``pe0l$fx3iQYL@3_7_Of@%hgmzdDO`3v@UF)SEDF6ub+BYXYs%Y!B(ey zqk&%nR89hXvWLL@-se2=INg^_2H14{8Dt3A_@&DyK)Np$+e7FKKR$rDLLrg^qlDSg z)Wu+ga&mJA_ET|uJL&Iw)auKuU0LV}t-wM>uh(@dNyTgA-u&yx;ButL;agoYe%AyN z|3N?0zwz6%q8mUN9(eUSM3muW-$ZooD;e+1cTmwhbv5wM0{yY-bq!Xv2gC)n2Y>#f zi>sCM_k#r+eL@17E){IdAHQLn+ja6{)f%nS3-$%2uCuY_SolpSIG>=4 zO_4n?Hz8`)yBpe*gTT$|45Q8GNWZem;2HjtQ%`G+rda$o_zNp^xA+hq<5@Gya|TQ( z6ha0Fq#?AJ_)UwP6#2Vn4Jk>Q5Y3EbhD1bVzGsRzecM6ASm*(nI|<7-dWl^bVV# z`fIkoOAx{|1_wD2gr-2r_4{Hr7RsaB%M_*|Wk1`(+=kEaS29JPFDur7U{_Ui#6@ya z?%6%k&*wKf`OrVcs`#Vv|4rF2vgyD1ELwj4o9yE}{100Fzop85OBG4j{QpX+LUm1b z00&!g+LU+)Ba{#7AiIFM8J9Og!i5};+(oA_=|}P?>tIu| zhh*m8$evl2$ry4$1Hyl3JwivPq^dd#5}c_qg4lFaYfGj36KM0zty@5`SV6<@jRu&O zPa)#~AYI$q0Q|HM2~czdJ4C!mRj>Z*lp$E8#N^=;_9*!Dc(vR}g@#c31Hinlq)ow} zI!+$1o*U`D;Ae*WPrmzqB+=z)P(X=_0IDm@^S5ofHg4F38#gu|uA_1axSbEOmNZYV z`im#cx9=7XzUTMkuxWw9dK0Z0c~kUp@&=D-Tb~+W=daJQQ@vf!wigPDnxgP57SO`ItlO` zHnP3w8!%i2J^#P*6Wq}~5OLd6nqK>A@MOUm?I1=@kE0D98GWXSLLq2;Im-3PQq7L| z^`CbNx_QFJR{pNI;aPU1bs@A?K4^D%OxBhZ7n!JRn;++P>c7yqnUJ7KKds09|A!Y_ zy(iQL67e4RliNSUX1X($+1f@PlJT$%{#N+p2~}bzPMr7#!eBPo2Co(WK(ZPG^n8Eu zu(UrqTmB$N4MQ2P$VxIY<)2UPwlAo=#uN7N0>z*01R3lc0I-GV*YF0fCU{n&*F}qjigQV`dS$Nfp0%irx@pCR!5 zrQ|6ZXq&Rp26<>jC%J{_qbh{*1LdLDL{Kh=R`g6YB)`Danpyuy=aB|mEZrJxh-ORb z3{XjnKW`5DMClosJxbB3$qrKa0zVIUI%r8GcFrTeh84Kw=&)>m ze~~}Y$EJ4QHx4W_k#T{4e{R{xl-(B^P#X6qJI@9bwzQkBi%cw_xB-#@=o4q`ZG!l- z5XJW)+RE^3q4&mzN(2&2R5g387%aB}`e|k1u9HElaWz>>7GLe|=iU?EZk$DWY!l?4 ziO_%_TA?`pHlH8fQ6jUTFp#sUs5U78g*wW4jlne%u^9JzL@eg0$?MJ7yy8L5*+Zz> za&4*|TTcPGwcV1>7hoRBl2lcl^ zdaa^f7tu~60*N%?CE7+MI&ug!upwRq5h==sY$q6q83aS}grX>ZN9(Z?1y&Nut4ojJ zn$`d)ys%*)v!>c?BEriBG$Ovl4nvtg`{?L>jmA(Mko&-4dOWMwG&!O|67qzN`n))( zDU`^AFhE(NU?pL644y1@4g zG_|A9t~vlgh?wCMm~$0Sf6KLppknmUSl8oBD*Iat@bOugdSyBd0&#|UKu*}D%m_)?}egX9tSW@U*E9II-Dql!?o^D$av z3z|qX?~=H|ThEw7;EosNkvQFnOz|e+=RIm%n0W-!Ix# z1<$tF3Pu9xD*!5@wPmh>QFP5gG<4q3xaX}i<4QeGA7?7)Ugg|`2itgO@F+tQpiDzk3jDrT=IgSf*AK04(J}Ft_gd;1begw- zR|i8ZFs3BVy5S_zVh}jFEL{h^+Foi~;kO5NMw)5P07|CYCD5 zx8k49_P@hM(+yT$W0i$j=vUw)jY62!)NBJ-XCo>iHfMbo0OELMA$4o})%usEAtat* zOS|}~_-RLZ)8F8jaawRRVBL+m&rfTGy{H8>kSczP9)%!r-&rmG(8zwF*+#1Y`l@Be z+%))D3b^#b3uiPm(6r1}R0J+z@#E0*ZmDM`Y0iP4F(OMEzm%v5Js7^Y9mm{c*RyP$ z5pL=YG~&_J+=lKJRoEsw_tI(wY33ITD{`-At_c`NDaR091Bd{c|{eg>LG6=3ZRTsj&IgCQK~ca0B0L8T$Va9M*=sI&b0fzC%8Hd6|xAYC=U&;VmYCQ;iQc`X<|W zS@-o9OdnjDXw=si&8*;fX+!CEaybQWU2{(@Ngi!5)2Gb0`&q^wJ=1JKM< z%r05MQ9cEoZ;$)1i5QCv7&pV<;;g+W8CGCTAenlK9BZ|03HEdq-HVxJ>D-?N31UXf z05p-EJaNJXdF^KOd?u<4Dhb6!^jk`DaP<34_c{ztxYYMBt){nf|hO{XP0^}TY zrtCs|_A=If6A=2x0_fj#rU0=<03eUO6EDVfHw4U6n1m%;#NUx7hLx0`&72!iipE? zU6lYEtwnws=gsnvF&ELC7QKR6wT2lcQ$N{Sj7Qe^8R9~1sK4mV1O(fE+%S~PA0C#L zRJP?o>=Wi`Gfp!fIn6F~jcmrw$~ftcDAr$q=eV?s*~4oKA>lZO{gu%;1MNaiuzJhL zy$7uqo(P7P7ooXg?Yk^U(o4O?Z;^%%xUeO}1Yx}`2X`4(3}-w={1jzW=55Q+&1gEZ z1;ug$_m>O8dofimdFh4IEBKtDM;YRRFM+&pA|a__ z;)KZJu8!5K*W7^Y00A zK`N1)bl*a|wi5W*7~ftst;El|EY>VU33lx1vg&af(1$fYR5+JE0bCpGfArSln0V&b zv2-BfaR$2A80?kIzn-8zJ4$AB>z3huCZBJsZ!MgxLo_1y%J zrMo|)6iL;Ef6X%VUG(c+hxobB*tHZM^2*GFnp;9L>v_U4{!c;~R!+b+3k5BEBesfaNDk4c(9()suu(C`nuA z<}pfmete@W#Kbl8bmN(im{{YsLJyEuW=4&ty=@8dlaqWdPIxg@Z#{ZRXWCuSm}6Vl zbjCjx4m*f$xTw#8#$3Oufu00xrNbU@%+pSQ1&7%!CCKRs33{gIAqb^WSQ>Gz{rHOy;3;2_Hbhdoj+ap}`M4q>KsnR4$V zNMEln6wxhUSwhE$yO?ifBd6U=H&pRcYWd-uP~a_Qt?T}(mSTA}+VmIbjx=vyeGE^j zZ%K7?tNEwsh059xxq6GSYh2m1&V4tufxV143F=OOM-rywhN+LEFrn;FYr9-ztUnGx~}jf zV5|5CyKF%8-ub%JJ;Qz{m0`FU^le;#Q&x?`6{hXp*sJL==cNl4SD3X+=mgB+ zDRf<<+mN->@y^WJHDm8rR1ftdDxGjtJUhQd55@hrstR7VFg_i*EB+jAE#et2z%okF zz;cxF2$gjaLCx)>8 z>km44=2zpl@iowWY~pwqk1KX#n{mwsh%lewTGW0Td;hHg`r?rfg;o2%z%x80ILhv= zvrQq2yDL$~Ub{9cRQjOl0d7Q0i{(tc?R4STB4n4^9(Y)5r0a8-P0%hsY6j$lQg!S~6U)1Z+BJ*FXD zRZDQ(&oMb_g%&m)!qKSftw@Q}kyhA=R-=IoH$4_I=bB|g9QvHP%{Yy_eyV0dxiu=i zRBY2?qE>NOlg(&qOPoBdK4<;ykNbIG__1&W12<^EE85voUup44fe8-P!414_M5{UJ z0>|95g2r-mQjWr-qOVdZzFy`Zm)kq7PW2n>f{fAziy*uEI)cNsB>R4}TwyY>9OBth zxt(~f$-sN;XscNxsMkWy-kOdEgDO;TSG8|Ah*mSFK}ZkHbOu)5{Oq-no8?{Sip|Ft zYWoM+Jldsi(5b|lLR;FkW~jxXz>BCIz6duszd!CWTq#9+WYtXV^H8e1MVe6!R5cAA zeeM}0?ONhVH0-SXoMUjgV?s6%r87{Ir=eS72yg^n`j*uW33D*I2+qKy$+Z%SRz1S9Y-P840lh`Mhn1a)I(oT^Jbh(hfpE`vU79C=#0>Jn$u8V zY1Ohoo*AIq@|S)C)R|e?S*Ss8KyQFbY(?p#4Sreo&=%~O-kbJBV`8#}N8n;)jsgca z0Fvu4=LDm^Gj-5p=~gwCRhGASD#((uLb;U@m{)HmIh4-%Mm5)943p8W27ZMWJ<-or z31F=m*H>6YDc4T?6lF`;dHrA9-k^8U2^pL2+5q-OD+>XoJp$f-?~JilnW?eg4dgal zN5Rp~12^6unAJ0}_QkATHV1kR>XuL`t9pI9Hkw|Qg=`@tH_3bs17jPY_Ez)&-F z=>>=kZi9Q%^1Wv}HxEQsr%zY$hozrzp%g>VdYs1ERVX}DS=_)FJ374&4=NBW$i)iN zPg`BXS;|2I(m1iB--fQq_ji>c<5!!y#dOWZ6YMgHsLd>`LxFLzn~XE(2$0IAJO`-b zEoR=k9wuBl_-MF`aPdSh?i6IoH=&0x4~|x*agTD=>^Nr7WuJvg+**w;%&2RM0GBN3 z*XdrwNX^i}8&Rdl=Zfbm&pDimyW#fNr0?JyEYwRo>t@lXh^@Ci2a=JDJ*N#C0zgkR zI%p=`wSxo7@-NtzvhFR>wVEXiPG!#RO@$6w{p+I{Wn_bgBSmv=Kn`SAvdz*vB0AFy zdk659ab5{Z;}l*FjPpnttUjJ*kA2@us~hp-)u>M$zEU7V|FOYl49)&hbMm*%aTb25XcVZoK z{goCC;&@v=&T6z#JwxlrpBiUYAr#S^+f!iAnIDZ4`_?C-k^CryeutHGl*#Fh}in{`x<5Ql=FPC0#rRdMUmCt+btPNmH*7_xj%|P`RWrbb=^y z!bw%zr@~5wz6_huT+;w#P;T%N6Q48RXED|OSeF2{C>HBrJYe@{lZ6 zA9HeMKfoK`G#<-9j(7~+`^jh~dUN~M9l$f1!W;1A)zaw&W^hyhY-OWt(?+T8#3OP# z?=ZtoQ7tyPk_u~;E zJ!6n5oJ-G4)dVXPXooG)0Gvk7?HodB4Bl?amQM!#9IJQ+z&9vk+`4S=A2pTv3AwUm zJjYDgs39$E{N@T^)+Kf96S+(CTdzD&{4izDI1MHC-mdE4r=)YA+`A5Le$QJ2LfOZP znh0KLXMld|PhMnv+m=>Y^n8fO=;ic?u%v5Yki+e2=q&F(cML1}r6t9(b&2UxPHx@=V*-3EA7p#=r}-l@Sf5)hVfz!`;iNfCE5Wi$YH3ur zw{suGqjJw05G41G<+thpc%}G^R3E3wvSYi4!rzrS6NfRT<_Jdp78ZiG39s>kD(@K( z)~jDNgu=~;NY4S?)!FGUmq~=r@pW^MWL2oFMyo=F`x>|ju$46Wlt5URKQn>0vF8wN zqTjck9MMCXP4J`x&~UqVMxnVkdYRHV;Q|yv`NJEbBTt34TY(o@T?<27vx!y6 zU#`}6e2$12Ks(Xs-%xYVR;gS|wxlERe{4>mh@Lk5tYCD`|GEw(JUu@cY+XQxD^guA2YrLgz6k|PuO7N zR_7n=P?j9}^3I04723OHyppSj`)Q(cIt9#s=+|n{3;6y-ih#frBi5h8J%+0n?Y6~> z=L|Bo`<33d2zhT7&q=HGV^a@8X)!?JrDN8$Z=N`#zh5r|?;_5b#D;bO6kmca;6LEs zWfcL~H)HTCN3cK{?^mN^*bNCi-Kg~^KgY1IDnz}AYp*?0o7JYdqFQVDGls1=gF!*% z;2Mep^b!TmDu<9Dq>J4gLodA(izl~NH?H;|z@fW#uz`ISdNfIL`N20biXmDKt-aL- zJ#%REJCyUALDxRR_S=PpD|?&Itp$N`I^@0ic`s7?fWY&U$Xpd4*Z_WH4u|^ebL(>x zpO8qD150oHAs+PlPYRIpaTHW*j^i-iiFHC!DG2T@2 zk@?IqQB$$+8-k&$z3|G(Ar(20OIeuc}vxG2sq$U9U#0slrBlhPL1mC|;J| z?nDAV2T;^ZB~qHpvSS=pX96LNF$?Sm3@~~m8oK~6EwdhPjZ_ZTuw-LFdSYg+SQ)B5 z>i~HXpkEbbPj|0JB3_+-xbJ=ka3=2`^Z21z{-B$*iNMCa0|8pf0C7d)se4}-j-(3H+$T3L-BR-!Or-J_7{10)%n@5#gE zU05NWZDOaVtYJI!|Jh=1b6f{AyvYZidRjF-(QQ2nL>P7A)pAgkXMxO^d@Ln&2PIQI zp*Wl?V!UUYB2MeK;JKuvR>sRr0}W@lv&F+Q0Lu!bc|xvz@WUIRnxi%<83SeK9UA>% zQ^~fh0FJ*x!hM!%0oB0CTSEn!^%=l*^?1!U;5I7)d%d`yOBL|ckvAJ!x5yYP-y-d< z<(5u+dFJ>ZOM%fY_;k+lEX;1tYc#$DR*6H%DIy;$n}K?C3%B<@!x&mjqgVy* zkWt$J1Fs^ynm;uf=eE3>s}(P|XTLTW2V@t@c2iEwJ^>!ZM0W1djuztM15{8cTD~=weiI4k1+^M!3MnVKXqwt2I{xMq&M& zKF)ZDBI^%UdiY?aYc8KXiLwcx*g1goqi+VHbMRx@Z9K5JOxJjnFB0qk^H54_M?M(1 zla&=N-{^=u@YQQwr?1dDy#yCZw7Prz25b<|k?lB&!W_h8H>IL|D*h%2dUBT@)t_hD z2`S5&w15fMHVtxt++v)tY*!bsaI-2vp>ewsJz{b`GjKZ%U>jqnyM~tkl84p50sY#k zWw!ngZ-D5NpIJwbW*eaeWecxHi_j zfv2`U50)WMvg&tfpdETDARF1&4KD3ZTSif#gFeAiJdM~TlTd*!D<7``v~nA6AG8pA z+E5%sQUIETj>G*gb0l8$BG2!x$c9t+p>&jPLE>}^3Ejh|*1F9tZSc+oV1h(htKCHI zBgpBmzPRNb@+2;`dU*Y&eD}pg2b}R>0H9$}yQPHgdCK}$yJB0(w%w_SWvIjy;P+!T zYy9*U0q|5!U>s9%4|khY8V}1A=srp~U_*Ap6kQghnSnrGQ4C>s883IkI|4U^OV*lJ zyOPmSJNckq0mfchT8nz@YVD<2M8L3j!@tew={6?x%T9-#JEI`Y?=OfN)Y=9(Bcis` zUr0wS?KC=<%qBDb1^wW$@JY$&*Z0yqa3eR!V|+Qt%Rz7yk2RfpoAv=M@+S6KaHSFZDZv}yWGDQP>%p0#H?Pe0IQn1yM5;pWN?Ol z7j7W`$#|$W{Sh&7gJsM7sqp707tfo{E-tZ?&NpQA$F1ShOCJ-V5)ce;CA2tR&EwDk zavy*t52b-SczAOWH7EBnd(<#RPD8(HmZ?Qn`!euYMNng*Y|@`rV-&p=m&cgqHjuZ~ zC|Xl-j^DPIb<<*rW3pnaG4(eLob{O_7-0$B!l_fTd5Gql2d~r2 z4^iy@o3M&tUDOHy6yt=UKDiTMghZ~BoM(^4quv}MX{;=S<<>JcJFjh7VBWVIg%UVT zGwTr-9H^}ET=@-kW*|jgv(B|k9h)8y5cvwccEYbA^0-5Fvrkt6@8)zeA>=*sBOZ6h!vt z_xEsHnyljl6GO1FRD}7ti0YaCaUDCkc)cwD742ZP$ThFgUvs zs69^NZNIF$yn2si0F+d8R*((0c#BIeBeN36I@&^ioF<@>wi13wD!T}jFo`Qcgc%UJ z#m}18TXgy(UP=b+0~)^&h1yg!93Q z@!zfOmT=oBXvs z3b-RKz;IM8+Tn$$CY`dBI=K=|_XPJ$lhVHMJq z+ZqQ-d(CMdvP8?hvF>hd=M^YCP+*iI2R2RuztH+{-_T9}V;e(M69Y z7vj|Pb2OVX9cgXY4U``w)M+5Is)0l41V`z=FyO}OkZlz2oIG_(p*5xrnO`zj*Pcsd zgUfz1>g!PLdwPyc&zd1HIgWA4`$wAlZ%8{cDN3U_8xja3>lT{$3yu<#5`^vzT<@$L zONR~`BaBjc(2IC)~g%YCh4rg<_x{aB-;eu}(P*a5J z_fs)mmoYyboPBtbofsjtl%uT#oETumG{fJ262Mf1XfTP2@f$zb_3_>9@)TFf^6ko( z%k*xPCA~V;@JB3^Q-5PyD;!-iel3em+pB{)B<8Tilf=y-#XYJIQ3U`k6JSn&51}zM zv&sPNBHG#oN5*3~CGo_+bA?IdA|OxsM;-90|MV7C z6Tn2q(}5HqFQ9|+btrh7K=K3Qe(TZqq5A7z4f9cnJO0hD4g@-lw0}I;R>D4K`RC3Y zZ_qvZ-Ch0>0!+#-tZTOv)St%va;%V&c{W{ETC|V|oPtGisAE3iABI-thi`VKp2EX0 zVoohd=IhtJL-1ErzezKpZO}xZpvHwndaHp&l!zGPp)H;6rw>tSKf4w?NJ38x1l`6G zlDQ)JCddqi@Qx)k@$q4qqt?6!bf^Y!vk}qe4l~cC%j@92v6>7&G9d{Fb}|9sf?JqC z5y*)cjnryNo6Ipy5+x%(gG4fe@Jl#uMtaw>*I0e*6p(Q{e99lg?(CRgaj?3L+k}E_ zyw{80dgYuSlF>J`xpi+mu-BVO&Um|I=(At6$R|wZLHYRc9cS?HbCORca`|^I;IOV5 zDUQN^Lk@BxagU0g^0|-tG9@H1ivbq-QI~fPJe6lLa|^JmDgjz+PeL9PS{-$t5EnK% zK)>age)Bq&45PQDglxrCl3Bh9c0#bIJEvt)653c*jp`;WtMHLNZEfD7&~!NKR)cHu zx%er2C2%*|m4XYhA;&^EF*Oz8AoBUCPznIeboJq+Ew5Kd3)V#e+E>p#@9C9NJ$zmo z@~Lj>H`H-)N(Lu@@jXs6X;8$F-zT-0peAEs;@K2T*AwQsz}M7YEtAnb5Y$~RM}oO7 z-mWZ}3K-)?%@SaB+$s<I;&O2Zv?P0y?ex8b$SFDT*>(x9*cgGcwj>i|O> zyE)CCBccw<-=E4$ya0;R3=lazE;xjwqsY0JTg52Bq!#IZ@i{kM9K(o7hzH8`TP z>({m4DbT%if>QeE{Bm4ztC3J4A;NRH8d(9^AR48!RO1Gjn1pmH*-D5GPMLk*f4CP$v&fFMbT_~zUpwHK_DE$W4KC?1|u zIRRDKvhwAVfCZ;;ZXpOk*$pzr4Y<@TZlCv&aPJn7YE44vLluQu^qVD~FKt%3RblJh z`Wo{HQi-suVTx;3Vh4|0vh~H+vTnwxAf!w#{s8h}Lj zR(IrpE)aAKCt?T?cAbZ&M<8cr5KvVNbc8hH7**#(nzQi-6gZXCZ|Aj-)E(uuQ=EDT za@5uxxb;fO&p0+_NX+E+928UjRz)}gY_>^WD-z$UPU9=-E37QU0bc63`XWMdmuCjO z85@mUJKsWF%JNH|qFD{O^RwCt?qHxhOGR45vL@%(MU z3i^Uue!uh(`?DI`P(o!onGJ^ktn&tp-d^m6l2kW09{s*R2O;r!W6A{@2+alp{LPJ; zW+?QrJob7bUnJ}?NPGEM4qW)$Y@yEzQo4( z_57tdxHEB1pkfG#ZozXTJ%fjatL05>I(}1ekcZ_(o@QJwuoI8N02#NNEzp0T6C6dL zUb`v>Mb#OiujhN2BXM=XIeSw-u1m=<&K--sb$W#UxieIe`UuRFg}mh_P0j=&S_SOc zZ-C9LdmJN->yBD{)w|%U!)iR~gZ#V#*&oDsf8(=KZW%kXn%p=kN(vHrv6feuue3lH zLiKT^!X+qL%$4Oxd8gM7^GzkgHWA`3pcj+#*m8iKH!Z8IW7(;o?r)-4|FBwNg34=| z!K)N8(9rQy4B@URm_jT#3T@Vvt-APM!kl0NU+XL0sKAYq%rQ8K-pFZS$`i1*w1d;~ z426lT(V~k196tjuH0eP1{!1zjoo5ouK?Ot!z(`(x-U3@pEwZtnGs2)zBnXI0{mYIi zy;Lr7-V*aiG*Oi7-k-`lAMe4k7o8)A2%%BU$(kn$>~$=Zye7*nYfe@p-7qTE34Q-( z>&Go8HFViWk4FooLety|^3P;3KUS2&^hYj!I{PNdW6k__QW}P5xNFtvNSINCX@tHC zKB9A)D^7uhvJh=B0f-Evou3(8W6etu4Russ+hqba-i)oxSPH}d;Ei!yTNcvR|_7gRf!Tjqmul=}lpvBrHnkMr>=;$V11p`dH}M9*7~Iv2y7VX~yO!VbWm^vF+o^E3 zMmm*nCb*^Ljlrfx#Bd>g3hXjy zNXmguk=PA3BDqUFc4ED%p&5Nfe1|tNa|epsC@FoYP3abb(#;pQI1CcpK*2!EZ7bK) z2$hJz)`)9&I&t)a34F&sBf;}|X-F^vDJ2Gtm)$j2xr3-0m-)dOS3Xe>Wg%F)=aX+; zTl>Zv%qzD+xl_jk#d8y8Y$c$zDmOW_vVSYDC$Pj8_T)<+zL}RFm|N9Eix6Cgcwma5 zTY}DYO`bjtM{R-Hji*A-ktcY44TLG-VK{@hqhAhNhct-2E;1XEGuX3KqF!y1lyEqf z4QPT0PP)U~9L`%&NMbx?Td94<=d!wYRylPHIXGDNUHE$UE=Mu3)TI@0JTebY9VbwP z3X)x-hIx^(4>}Df!p3#@Tn#khIWj42$mL&?3R!!0xtv!qi1lPtTqd#xOuLov+$ZH$ z0{WmrpPP))n%s=M}2 z1i}_}H2@Q^Bmy7tQw%@Q7UjJ7Ks;p~60(mLqlBy#ne>)GZEWoKu>L^SZd^vgaG1Ui z1R>`Jd~$Z^VB1OpJU;5R5T>^hd$x6}D{cc)x9s+|(27GZP#W0*Dr8h>cRY0)yKx-S z_lCOV6Kb$del};Y%TQ$@D+ylXSDTtzL;C9uOv49c9?3zYUjn&Q@Vg-cS|E}0d8w2 z)KH#|L{lExYi@05{jOocIQjX@$W`A1s6Fjeqe z{GIaz;xLe{imDl;53?A@*9OCNXpc&edQ zp@{%n1n3jbQXQZH+ih)i5Pv;w*kN$BX%e7WhnA@=hJ;mIfWM}_beZnTxdu^qaToZ} z8ZEb|X^Mx8H6#0y!%z==Y4{ughLCS{2YZ8(Yi9{|lgZUIeA6iGB@{{8CVHhFvCpc9 zhb+(d?m|oySo8Ck3I=W92#8#izyX^(NwDYR-CMZbh^i`vYz`XI1xFShmP@G?Mkak4 z&oPC!Wqxbzt%v5H(9nP@lWbKkTe%ocQCj0^RUbdR6&ZkBEu(b_qEpGC-^%D~;!jfY zNK8Opf;+Et>c$XZa5u%?*{0{hhLj6R-cB^vz`Qqz+d)9oxy*8?Yxm#If z1;R+!!ez^9Hb6L=3h3j?xzYOrD?xHcIQ?E7OPNB^sRPMAxg`=|BzVRoz7VmQk`z$Z4-^Apv(V~e5nN(WZJ zACCU321gUx1S4z3M(WgX*CIt=PtAJ(1)k-ijHe4xT`oME9?jYrTW{K0*9Wp*iQt#- zk!w&E5_1ZC-?9 zSO0nfZd%hN+9T1M$txC|Kx#OdW9YqLDM&0o|w2|-uc@ntR4)T z-uvyap^sh9)%AKGtE;AY{&(Lm>1NBqaNMSphHE`aowhCT-V^VSfF^FkS}XRJe8H4q zyT{Gk03^`eF8D==wX|%fE<1NtL&swE~6Ya=)*Uz{#4|me~(kGPLl<>gZYCaC}NA|++?gLsfnBV>Ym{r;@(Vh8Apo}>O9J9%>M zhueXHN)WbQ>`*ds^5o5^D!X=i-{q)zE0FXK^MBXb{?((Tq~vCFwDAewgI-?qHb$9% zth~GBubDe{?vx+7WFIoDQ{HohY4gi!E`9yFaoL96S6(60&$+X8EtX-Ve;rhh7w@pY zTl<%d01&%c*ddgm7+$-%`?4-alYbBL{?+mm@OyN9MLqb^UgmSwwZK;hC_9oP_MI4Q zq9{5Oj}^g7>igb2FmvdE>}=DLXU7l7z*}m@-a_!>%4g4nmp<;(9}^ zda|SJ(E{zGPUx^w5wt0zxNqn?a@oV6VlnO)5xZ|@?=Y8w#xHe*ux_qsZhLGF#; zuk<$E)z<17oRy7ibw=iH_iE&oknSA1bmI2LUcGt^p1AQt*tIL^sw=Inv3dhG zgIis4()3RksHB&U`!;FPq_HY0Pmxk8&6zW&Q>RXf71p2MH=>6IeKaE$E?n5v1MCLn z-Fvcr6;3*fZ6RZdM%oTd(D``CWMiV2@m-xMHqj0l$9DM5+!cNE`um&PzgdwAd;a`+ z9FhgQBPQZMwXKu77uOwH8g}vS-MdS6G~wPi%KYPderHcv1?@Y6Via6kHf~&rl{>z( z+f1?1^maD;>boC3dh`r(z`c9+m_j<;ZY2`=SobzJi}+psC>s|K{;q0z-J_^!P_M?> zcY4hqlbDpW83qnu_3ka{_5nw6q?Xo@_@@vIcJ&xG|D@5oKj;%|cJ(BOqCa@q^=LhK z)!*mOPwAjkP`)B|vnOP>W4C`Wyg09KhOj#EkiwOh_5hfYI&8Cp!1R=iDRz~9{G~;g z3n4N<4ZWziCi%qZx@*>b3)UiS@WKgg4S&}<+9blrt^8BlO|vl&uUspe08L!Gl_=4A z$DPz!`5}MY$&MX6zI^@Ka9O{xT3RP=xC)K`%8efV%Zt=hZxqiTA?NNlc<^%!#We_i z`6463*hOZ?hx@;@3%Yo5*n|!5!<)bCXlh12;Vuu+g1fYp^h)uF6)G*X&WV;VQX?zB|w=`;1eEw{|etpCpg;tFz7bDXwX8w5- z0OAXbDqT72*^?y>_fYIEOg%CBRMifY`z@h27S0^%S)6jJkBpXL4;E2ESs zBGIsu5fVkR+Ej#4N<^}foy~K8`u*SIJ&xynj_2)H-1lc(*Lj`id0ijeJK6c_n^fDt z1#+?EKzyeC-R|7#ms@rlrN`g?mN0^Cg-yD5)S)^rC(83jMh)yM*cU8QW-qC%-CB&eYZEA6vG`~X~eCBa#7UeC% zX|BO4&x!~kMhom@wa5s#+O&p{hJHaEdud4l0e>`1opy0CIQ#^niGjR%vM4-{S0ffq z4t2a^Oo17VYBA=Eevc03oZ7pHEx)Sn9I8-54f+a^EwxNLP-89mKZ=TW=9@~Go0+ZV z;)-h}4lDC#qg5!+PqOV2u} z=hYgE|}PT8_&J~Oc>?fI!4J9eah zpTegUrXJ&%mpAVA7>F>}#mVjRV?>(8qP;o{Cp7P=+pEg<+-}>B}7In)h~O zk8NjloE>6njW%0aK;F>*qNuJoyGBbh5!6Ti+$ShxN9JW%O(~V7w2xP zzo)b2@YB;GUpfT?HFgW?sRdV$fC0HmAuQds6z#+(r&C|^9FiQ7`8r#C=RO21;AChn z9yI@`^w|Xe5XyoMW%kHchry{8Ecnp*hYG7D&ef7I#78YRSG5S#6?T9Nk!$jBjR#O8 zrVk?+?xEIVp1xfu|E^uPK};I-$=um}?r}}iQx(Cj-aHJeFXAIM5n=0hGlsm^jeuLI zYiKYwdG_aHLV)9@(;glQ=)}_qRU7^i@)`Sjptie5c5I!ZmxBJUO)sAWhlLrh|3$Up zpJ_%w;t`_mBFW1>4MTcQO5A0sNWXTeyxhxO>g2yl1b8hXVEvk;omoI+_oFig$ z`NWA6@KYUU#!Zd&*M0kT`^=d$YJ5!`gS*L`iwBvR_D7FC$1f1$rf7N>gLANXGllBtWB|I^1?~#D799`nxkUwYy4Kr zG77YTamCX1*48pqQE9o=yF3QUy4+qof1YfXLHAE)tK>*1@SRg!g=3CJ1DDaBdM|L> zJs!%+eq1Md`ua|c@B*Z14ID|QJLurH<8^^6>v#IjKFggd1WaTrLwWCl8owoS+iq+X z%KIoT83E>{OPBO}WZ+t4xMkwJvz1|$hT*voH-DPvGB0}5{`DuD@+!JQ8?o3p;rq0- zv=mVaJbJAU)X~(`dZ4VPRm42i6$3bW@W+^RhUX`_Ct1 zY!@xxydiEuxb4f=uSM4=E6y&te!Eu(!7M&BbO{s#i8#LSHt-YAfw_he85!4p;zLHY zV@LIx4;?f$bwQ=bZW2lE%7O(KtGB3&1dcmJDDw=)t)kP*kT*oT7moTO46~2QKB&y`06Dcs2x%F0 z$WBjBkK>1CRINj_%rHtjdd+wT|Lp9n7mnnr&_lu1gIjmL8sU*vtXgb&;)D(|nC-h8 zIuqJP=|-9>q?AjlpCi)j?wGSWdh}qtG7IuWOZWm(#(So{Sl_e8ymexdsg7^?{{@| zCGXbQKW5=K@YhYX($l+E;}S(a)x_*fcJ}|AvU6TE3>3sOaVSi&hF!IN~M_z5}f+4<0^_Q zkAzIEpbHmjTUsm{B2+I=)lMDrK63>=i}a@JuEpIrrR-yyRFap^oGW2OiRL|gD1HAU zebuVe%X!Uf;Bcc{NtXEh{H=(UcBfhPr`DZ9HCNe5r?jHCd;p~`SeN_v)j&XJNAOr7Ffo+8O@zHY?a^WzpskHRutMs^ z;}V|r0sGJ5t;+z2iZvfT^jWyKg5;0HkNydd1=;C`s4f{iIh?XECyG`4N)(SlJMLK-a}Pf)U=ulB0Z{6*WO}#D{)Ep%@hv6$LOI%(JB+3U~* zUQpM6Am33L6+*I;?-*8Pe?{!zkKNBvU_|MdPnLq@^7(6L7@Ry(*sJsK;X|{BN9V&# ztd7HV0gU$%47B3#Bj|Io!t?rg_70by!9(Aj>eHiY6vd1)H&7%Fi_GYhRBszTl4d0- znf;UZF@Clvjb(o0=MZrs6$~aDmFbab;!7 z9Y5aV(=Ex$M>Kv~Pyis4e{5675!LiZXNPT*iW(KkBS{^5uFmcW^8pouU!~h!1XaI7 z-T?WrXNSJNKFPHxwen3L)Kp)gJ49W*devZIJ6JxsrcTrmmF^cZGQ^N9vXV^~lp#qE zV>naAE*E~T1OKpQ-opja1&8|ya>e{Se<|tc|LL@k>ehCO7_kT{rZqmNl&Xbjlp`9_{^A& zdLn3(Vn-&N7QV9BW6)m^^oowqId_OD%v&kA6ILVN5YxD+XmOK7$5NM$g|I`~J$7oj z3nIaq3AW>A~FfJn$ zV#Y|^PWP;c^A5_=W-)MixzXcXy$X7L-a6Zg*7# z7kE>r(7ww3+ZBC)%=nzyDO=>~#S0fQO3D|8tD*?Yeumgtaw4x9-y*8@24_%Upfdyj z*yt!^yA#g7bUwan#G8yi`$Z3A9oPH5KREd#2%=xrad8K-%%l}og4IANJ&b`lD8b~< zkJ-F=R*YdM%gTY&L}EgYeY&4;Ti&K}IcqE0;UgcveXD^U(I~0_B1hBLua5xn)ZWR{ z!eia=r&!l-kL<1vIhFWull})}X_YdMv(gc}Tz_5RN}fBlatXgdhVLP#TBjyAXXjR& z-6-F$oa=YpXDiM$&1ZB=_Ug2i_8@_NvX{eQWaNmSGBaD7s&nf#4!lU*0xS=qB0&D_ z|Fvupf2}Aja@m{-Qfg&bXW&2Z`#EvnBIXo~D|2pR`E-X0G+~((I3KZD^%Zs)lVpu$ zO!iRDcjDgm@Y}@|zw3jBWo%;|tLXhy)ap9Df>aZTEXis~Kd@@dHy|eVJ}}mzcEOQe zUWig#fU>Q=Yc5i%ULv_MzQ%s>nNR}j{3U`kLPt_$6u%YUdjctl)e?Z~%Ivx3M|S%I z%KX3(t+t;3aV~0$xhccwa(@GAXon+5_8dEQ%w~a`ikG+d+3|rRsG>9tl0ue`wY^%D z#Iqq3)q^-l+2>e}M+YAsMO-f}S2+zjCzSn5?>;p(8I%ER17G%R0c~gtEEv^)9qh*` zM2k4LEczvWadGkT59=U+8T`2gYi0%dI9HE&5B~}s+Mqu79kko#^J5*A4cQje;LSw8 z*k4{HSv5ZHVY4xW?hu-qx(R1N`df4JlJ%#*W3HmDtu2zjzK!Xm9xfiu51&ITjDOMK z2SpSbt5@GY-n7+t^5EQ^YeHHpnK8!TjOUmz14waf)_scrVf1ApklyA>pg}cxViY0q z!-o&tUV5b<4_Pe%keGdggM$qE`G?JoD#>aH5qL4S4Sds;KL;E7Kbm0Pk-?4)Aj{0~ zwwT+Fb;s({_mL9te$O*MKZ+d1BQGw@#r`tH&B8JuU;ea{e7z`qIT$!?3hgg^%sv2n zVG6lKuH4mk{Ko>;R*YgW>H`pN#qt00?5yjV{_l67&_~^I68LccaPbZnXXM88zr?uB zRt8%!@9utZFP|Lq<>ci%k+UQJLJ&ZqatQ#CxEB>bD<*}US4oz0a&m$}SD_{=b?*H% z%<7lU=;<*@XdM}&%NG~F`h{<)uSuHT5qUYWt9-<&r*|aH@O;+fES)oA%$8e#j zapqeRAb<%B4l5_`0GVm5$cEyXg0i)xr6q$?on!FMzg%rx;&nEOGiU_$q$+j%`?JDwY44to-~$*HtHaX?kAn2W zs8~c{W$f?_&SL+Uh$B(Qd9g~y&8O?LEi5$0CPumq>(BDd&85Cge5|qLsFhVzGx1m% zHD#L>s!-x)1Ccf)^Oc+ z@|*p@_a&U1si=l5zz{GSy@r1+>Feuru(f>+%~QBRFGxcM!6G#@RL7rFx?-%fWzDwZ z_rEQInaUq>Q7aCn!jb1}LQ}6Uj=h?!mA-rTu39z^NGKGHWadkH|DFA3p#?;)q>KC^ z)u~CYpi}eH6vsw8R;p~cvw96i4OH(JSroqtaTK(4j!MwNOp8)Q{9B1*+5)fEDf!$6 zU71o^Iwx=b2CX7p?5f51k2MVqH=x1LZ1+z#NOOdL<1%%6da9kBMap+}nszrs(&=|w z+w;~|)K*#aG}Ey^%``u-L0a7j9Q-AQT$?w})*F_Do@hN0>N9GbpSLg2 zX_tYRfJX{}u6+BZdg{eI&z^mVX)?bX9^5jJxrgt?h(pPSi)NTqBRKA7=zE>r557i? zyh4uf)u8_?pz9AImCQAb0gJ-;L8b>*qEgwsGePNFF+Q&%Ydq?znqvTQGQf^($`6d+ z!T%`OWEQC5$j{Gz`qZfe1ir7e(2yMKg=o}9Q=8}Rbe?(Pj)WWY%-7>he zCyqFmL0&S+v)Au%uOVr~>MEboJ&^GrRu(g4yEVT^hc~IJtGgmDLf*?Om!7$B6@ZYN zB7?_1rb6ibAB8-N0~NJ(Gb$)F@X#rg8Z$bLc*Fz-8ql;=_Hkf6xF~?}0iA3i)uUR! zNAKaz@7TUwA3{K5V`G;a!r6oAEMD|7C4Sf!oY#Xylb4&Dh!Ll&PJCLS5?l>EvrQ=* zMiDmUO`A4_t=%4hP;nHVq^Mfi*DIAqfaCX(qWXwT*umiH)Ru`D#Lz!q9;usr!zo@5 zB8ldQzil|#>-1Cc84b}yiAY%}Cov6Pq=m1^NSOn$>Ry{~g)Gcgh5|d~WloTW zo`wbo)ETE7kscVep*_W?rHRZ;PivG&&Y=5=+h&t1Kn1{@qnzve|D>QUTobfeuX&cG z*jj=QrYR@O&!tZ2J!mDNYA@bJOZwL3-`HZ#pa3w^Yud}p%NeahC>%<=^8+=sH6MPL z`zHlKD_Y!eYkFqJ;lzm#0CTk{)gM28OuLb@Tp)jk*SJ(~ea0Jr5NTXccvux$kUDf4 z{}HzX7`9>|5Ng1|KYNv}GI;J8WjX>gKI&jmEJp}2#GQ>Vp&>5$=?&85+nEF z8L985;G@oa{Mh(=Clab*712Am6dE9+qE^(N&<3L06l5##GBtGl?pW-r?m$Z$R;Lb( z6m{_FX@|Q?zITx&eSCZ}4`kmpa1>Egyer5PEW$NiWjdp^)$&Z&$Me7@+BsK!9`aH|4MK*L0j0TM=~_LRFzXhQ5SE*Sav=4QstK~F+YC%5UjufUPfgwGi;svuyb6L zR^;Xc>!x#)BO<<&-J6m)b%Hb=+z>ZWp)%nik~iP9ZJV)3J(2H{yp6NWD!`6toZTJX zBly?T(9&{)to7UY<1&RHX;FN?NAMOY--d3d z-{+#M9;}*Ds*gJRX1R)ow)Pc+lfU2`JkW&pmXyersqy`1q=NIZz#h=?#tkOpvjLDYnqXRpuap61d<~vx zA3W;-P2rnx8kv3SJ2zXgdp>_j1-b$XY~HP$#Q|ee282fVjQallI|+*>S!UaX6ebK~ zVgl&`DX<}E5Kb(KVRv6rti8WKu68fCz$>WaWtMiavkAoF6uFpX(%gx!;X>HetDW$e z88z<2WiNjAtiWf+Q$%cI?PAD>fP_4G@{XT^sRGYY$E416uw+m-VeqJbejz(s5@tHh zHEY(y-n^NELh)OP_c?+B*Z*P1n@apqjz|&}OH;C#iF?TEf8aPqDLx^h78^ z(8M^m!UqqT2Y=cO;|Ty>8|soOly(tbr8xvz2<*E|r^bGNx&Az9xj+Z1>nqg33}Xpq zQHg2{QYJK{C5+0KuU-wpwynRiJV;~F$!`UFP`MxuU$}4~!pqkQZ3au3+bfY#cz65a z7}6BS8|QAM1Lfk6s^GhQ2&=wYKQmC{!wAb3A{O84?K-^!7bk*Bj(nnVo$Fk2MRoO6 zGyo+&cp#ypt$h$uG~mM4viQ(+jtdqz(#`5BSAHZ>^9;zc=^vMuu<)bUemVY zpW_#976SxB#c1z*63ciKG+n^D1eN5i5b6?;{&8h99i3_t=d(CtP1UMHLPMDb>D703 zHrn%f$C~liUPdI9!T9RT!^Kb2cOzsXNCVH)?rm$qYxFE1A=HfZx5z7G)pc8My02k~ z3;YU5qpr4Aru?_%KY1Gt8P(Yjt6GRo>x|HS8-Sw%rIOVBmubqxz0bHvkiRsQjT(1m7AM8$pjT>pLMY& zN4w`}&pryr?RQPm#TrEfp-mK=ANmauf%LSnl`6?D*!#Ue%O6ws^Fc4As2rShSUOgM zjxIydtDmS!Gb{C3hw4)EN6o_UyzeF6A*2FYjaHTPV$@cYAA?yYQ9UCnPFtXZd=LW35?zNntFNLZvlXPZg4cLXZC1S_ zfqIsxr3w&hCOJ?GIIXgRn3=u@(vI z-VR3Ll0Lch_-FbGQKK?6a%1TBQza>0p zY|4l|2oF&#EG#fpbz&X6e*IFT!0X6pgltx2q?gGf|M2O0}G#2 zShyWxl1KaNB>@B~sQ;_sX?}36zmu=t6Z|r9zs)fxr)n&KS4|=Esh-Sb?}B5UkgyFI z^Sy2}g?H?T6=FnM0swXQ^e|9sfD77GiCW_%2ujo%@CV-4I}es&(s~YBx@d}(fPjET zNp%j~cP<3UT3GaBW#C=oLtrxjk)j$CK)+;z%o)_%VRU?@ySj=?N98{18N!BL@kxLawDza~)*)wogdOhI zFMe!!xH3<;@cTF=i$arOcrBVzkp$R?EbKiv3dY3(82Q1Am@@LI99w!I38 zvO-1>pa4e?JA{OUSV4wihJ4|hg*;?vuqVW*6NENfnOUI=&#srgpr8pXfB3y8!emEc)~<;YtysQx?R(VoAAz=G7e2t- zMkl#7RreTC_v;-e(4q>P<&K(P!Y`i;3=bPJRzHE!6M%cx+IPn3A!udT0(9L7<^dl5 z0fq4_VjtVPaauU<9fec=FcMf98AaCqog6&|DI2B6^Z4Y~D4)5e#k>0VW`PSq>4J)z z=hSsb8|Bxs>|f9VVS%<2_)^1LqFDH9>qSe0PYfVeE@mg1XSVa}M$it0hQY=6M@M zMMd}|woS%tKKx8!uZl{9TbPPh2Dn8cbx{W&m~M^uiLIphp?EwniK7#O!o&`&3^deo zY())#?ee>{{BA0ofZ}y9i4k?!qs=K*H`|* z!G{8u;CvfO18cyY5;ov_nBd~(pKZs4_4I^%<`P(=0>jUQRnhE;|Sy|ZQ0URM* z6b|HMcJ{g1>9cTYn@_a4xw{iawZv_Qir{6ip5ibQ z6=70L6!-c3^(*n%8@x717JPRv<-~2)&n#0}t^>Z-Sbs*dh6lWvarrcf*I`}^YXRbz?iCmB{x!5*NpjTTUe?mb_Ota+Nm~J7T##@*zIQ+J3*^=IR-j^Fp zD0Vg%T6aW{cJjh#Nej3ih#em#;B(v~{fv4p3LHx{E{53o0lw^qm7do%dXYzs&L4jL z?A#baMA$#(Ty*ROgo$>vPDW}+fu7PgZ~X8<=j_}nfax#eOa0*3lrgQ@0~sGn&iL!) zeXR*ukITJHg(I9oMJ?ip?MSyj0p7BsRB7p%OINQRSosv#*PZm>3v!@bEA=H)ji z;xznn7ttN``9Jk@CR6dg0zhXcdR>*d2r8v zOiJC07kfubU`Vq;#*b8%MokRvjl@`#70f?ZL*Tr8npG0mi$r++ER4yw{QUgbuDXH! zq5fG32!%}Z1I@Zs!46gdhH@@qIVewMU*9=Zz9%pS0@;xyoy(5$>F}1r&kp8m>c@$+ zLuXUVe(2J{=oqU8Fjwkz!;VxS0g81JMOXjV#+OeV;c;eho*o~}JoID>F(z1^8=8@2 zpSgF~+fq@aS4ZH)B2G>+wKQgn`3|P=vqh`6I0N8T&Sk?QL%}Mq9MPYlj2a^V<+9=I zZl~JhOM5olRE#GqCzOcoAOsnloLAYjJmIq-R;d-*q|H(=rU+~de9EeqYx*7MmBG<4 z3@+o!)vKwnWe)8fX@9Hl{UwHV{zAcVDLVv5HN)K9a5f^c8=jdvc<2x)r*O5pb~K21 zczTL1YC=fo*Cdz^JG_{abJK*+#aK8&aqObv&tE;3u_%0HbD`@+T(i6iPKlF7@LstVV{3KnM^+6rLz z2+#;q9DYz#K@rZjMH~VA6rf^n-SQnu=(z|F2q}Gu^bJAdTL0?swzl^6sMa=4;&2CV zkTn9U%n}HvYWw%^&%$Fw2@lJ{L^l3%v`%^ zjDs+oB>Xn@8M!;DQ3Q@JVn6`U45+TgZ`k=789=l}v(TlZ4Vb=TN;R1mOlV3>3=ddt z5Fy9%KK;a@qWOUu($9Z~VDb)jNd~dR3-*62d;w|z27D10S; zWoaiSv&v5HyyO-4P#oLER)z=Lyc#@UQF@Iu>Vp4@?cbkw7BoaBWUX+4!_PeSfW0P$ zLIUfj@ROo;Bv1#zWe4!x#?bqDEYA2>aigZVwon^4qb85a+=`g+3)&Hvo34sr6k5{h z)NseUH-uN)W6Q@L(Olwvh$c0!3}k6)YjBXpF4%God~bYRyVJMeR_BXmCBZ0j+R#~g zO9)~{Lpt-FeH@{fBt%*}JJs=Vpe_jAbOXKq8~cH7y8y@3HJYF*O=!t;W&{er6cBY$ z6_mr&`049mXT*F}Fau|hSVLYT^A)v-*^cSQ} z%C{@2si_eu{a_0)mh95dE#ikj3`wnte|WXg4c6MXz!Mey!r`Lb?|A050#Ggqd-LYa zBN%Jc9(^U-nz3HVM;oS2oMKuGPF@$sS^BC7%=12r)-NjM0DW^MTwL6s!{7;QC!NXtOj^UubKkZymDiOh6Ze3 zI2xJ&)aZ!5&-ly{z7j|iBPaAVFJ{dxCitelAHo-rJYhweK((@*_W`}X7}jxM#PMGj zCCJ@jT?g;Yk-V#l8`MK`+blPGF6LYQsQzkD^_D7BkRxIxX@cIee*#yY4FMoyvSO;n>!C2&Y zab=vPJ0vH1l+~fLg0&UXl)0W&;jY3VX=TIWg(#)D`!s*VZ8!zf3{v31I`dnqsS`T_ z$5cFOXTredku`@^)gq7EH2Blc7qu%%sw9`~_;HWP5r-6S1X_l}ISPF!p)SXfpc%p^ zftS$YrdOeG1H=lO?7+m-6q$ya?$(SvD)xmIs1b@LR+*N_C3qjTf#INGx<9k|E1o3cycw}MtLKeQr7D3~$U5xy$ z30QvsfXsv3TJ*F z^jGo#;Rz=%@!#9n-3AYc##HN%`yE>^e@aBv%vJ_?b0F4J|cR^YHN+=5czDH=Q(9*fk8oCXKmZI4bk+#{2KIi+(Zp~^gQeQ z$m&2u*K#K)jztI~xv=j*B$C44xWD5Jp2zW(`1)W@x0{#|B8jVIdG!{a1NkL|;@p*N51^mp2?e*)| zta*nXh0V8km8v%Howd;Og?c4;D1|Oie;o$lFY9-EzJ!O}w_)B5!k{>O9Q7qcY-wp} zx&_Q<(3{Ycfv5fux|7z{r9PWqhVm}0>fFRoO0qTg+;-G#aDP7@D%5~wfWfI5%w~>0 zGJKqqCr_rEpRj2E|2m+zw|D5@?PrGsS)_n5xHvYHoCEJZ(P;D-M1t(o`~0eot5&Rt zYCYM3uqd`OR!RE@0F@4)Fbq1w2*7I9p`iGYgFHGaS3q77uJ|0Jp$q5jfj^75nv`WQ z#DrCEx56DI-x8O*$m`&3j^uSOY;eukd4w>;M};DqSC1@!;&U)}84XOO+4aHr9EcWYyFMmV zPlmxly#aNA?dhasdYXxz9vuN2L|BC7FQ&I`KN8=4nL`W1SAy3YM%CX6@)sNx<%3P^ z*h$`ORjWoIxgBwqNc1F4q76MEa$cjo9GRu&A9o4hz2@6Dv#1(v4t|4;xN31arM<1~ z1{!>1@KS^$5ft%bn6(cI3k!+SnPD+=)Ey_)Xi)?9NBr=!f?Tbt=4SJic|omHuefG( zFMx=s{4+m1J>Q}3wS7!Zw)EK{>;LM)-+;T9q4zAL&@h$G*l;3h3=fUVo2Xfg-{mJi<=|hO-z;o8+Ai z;)}YC?Wt);q_TQ?x*KFnlw~Y8C^E(ug<6DQyy{^l!iRu<6PS{~ z1|$OZJ(1wmHd3>Yi`dGD>@p@7DAj}Q!$I5zx7*;p&hGwbC9_A(IY$CSk%+VKwX6+1l>gNlJ6f!6F)X ziPx8|t;9u$dN`v*i^@S3+=ZEcn=Ix~Hl+`tYz{Xi#;D^!NQOOJ!jUp35Z?dE>KIaS z0i`-xaKdW(e>pT}-Km{J&R|zkCE_HOM$Dle{P+jpgm(e!`DaU^>YfDhE?-`&lDzVN z&}!Yfbv&zAkLxr}4zT}$jCn~;g}-*ojMHXK8!-bhB_$=O6w@J9v_*?h7V|)nidyHy zR|JFSe>86yWZsk+kk}-%Am~{<^BB|t0u+LtS@-T;2!Z7i8c0~ptz(~X$fH7qXf^}4 zq^;Ol2(4Zr<;l-w0pT9};l7B)G+IJX(0rnGRw~}Z7_8eTKw_S$>?CGb#D80?0Xjp$ z+ge)-zPZBl0{pJv)U!Y-VWJ=|Tpk|~FpqDyr?sZaweh=U^@ zbs$R){wO^n(-S3l;(shM*L0tds$*wI$15CNA8=;NmYsHY-$bFqV#_jhVb!6K%a;xO zgGX)t!p!jjuaA=)m0p4$AV4)B|CaX#1qGdgqC^-mV2yW(Y@0@xLu51|8z(TCD~bHH zRpDM;_s!ks&cw#Xx{zc#h2|P!IEJkT*Pv41u&OE>Xzs|MA^Q@Of9D#x98I#4Up^n)JM$ z&X044K>N+GP07IrLMg!X%$$NGNb`fsW+MI6qVQV(fB+M;&~|(;v@G|>>q@&(6RJ^} z#t&lmth`Bjgi^L%xpd`=Ll$Q1=)CJ(0<;cvgQNCoIUNem8yAJ+604EK zC18Uqbde%`HL!p9y7Y;l4G#H9kOFJ0>M%AowqMFBg|6b|1Q)SaIJN{Poz=|`fA#lg zGfd9?e7g)qv8hS$+v}S+VVSYc$$8@1sT&&;BSO+8;b(-_gkn4LdI7XhciqEjio=i> zoyN)_A~H z_BSV6NJ0C|H?)%XB!tbjc>Xh#)*R~%aQNNV$81>uh+&I7t$<$3mvPtVn&S9k zXgD%rWmPoG{5w3H1fA(WGvct9m)Czz!A^^_a=;)PFbiF+vMCcp z54bfWo_8`}PB8UIY`(34YFnC78W)S;P4j+N;^G1Zdw*x=lbYXJD#`Pa3-j{wuor-$ zkE-x2!}W->wx}mC)kSSjJ^??5=Am-zuh;P2jSwi(-ob)L+n~Sx7dqw+RK5?EQ;##DQBb0Y4Zwz9 zAmL(cT(8z6d_l7jp#C1WSXX0v_#Z$AD?k_-k5FSFPSCk?H$It?w-b)^$Vk?7pLU?R> zpoSdQjI1HyZ*WOBx6Fg9)Dk`3*Vq#rvhjUznS6ovze{mbi;NP@hP zWowY7Odl9ejFA>Qv}Y_>u!Q#|=}>_b|L@Q}LkXPzry9f`#u+p^eIM8yNOw37x02+q z|4Pn)b;nTQR)(Ovv@~~Moj4z6j9I6yVeN@i#h+0P7mbSXk;|Z=U5vhmpHDzn~Yh$s|P%AG3 z`DW@Rup(HT7%0odhi5B8?aN#I8rBmIzdwKeu(Q~}U_g{(7H1q_+F#nzrN;hjBPLdm zhY?El^NxgKzyu&>$2pbc?bt^<62ag5e1g%QwH0;E^|RJ0$%?qBkm9TF-XRhPJ_yv! zgNVr}MZ-y<0O5t$<8E_9$b**r5V|U6h_NA$-13)2Q2I%1gc&24KtXkNcc(cvO8!Ns zT4k62C=ubzKY<9+xL31~KTtyyo-hpQT!x;LT!l__b^_F8OoHAEr9NXG@N$Hw3az-d zX8?@Y>^AVX%s1%g);)CS5Mp74K;ZaE?}KU%$aAE33!GwCZ*Rs3adLoaPRqSWeza_di{sw>*OBodA217IELIu~2Du>&|+5a#8TX-8^cwTqXDu;Sv2w zaRo){5w?c(tM}aWNv(dfvw>J`z)K^@paCch*xw2QD=xTA;iB-* z;3FqW(FYDC2?$?cVs?8_NXR0V9H<6Y0JbKxP4h2P1wd+%yt#CXJ^&&NeBX&))-ph} zTu?3yXYZrB8bUc}J0NK}{wc^HCG&wg&5-UY+=Dd?9UC$= zscFpl4PDPkqY;q<8LLD=X9S!M!A=)~f`ncZLpk3KeHYT35;yxDkG?NUcSSkQK<0v{ z5%(i@m(R3^%oWpM$zf=LC@^lIKh-dwOaQ`{64Hcd2JaZCZv6E%OCtD*XwOA~A)?F!Xzo5(Dh)(JKgJvQuKQE^2(xj#Vf->6B|n z<*RGguBjH4Aivwdqi#e%Cpv9e4f}wQD*BUN#Qki(;^}5|M66GctCS*~wR0*J8DxmImOD{#$mP*_`m6+{05 z6kg%VkyJI^iWY>VTZ=d8-oD?HS~~W3WJIn2zQSy;m8!AJ)~vbJ`VgHSHQ?wGj^dFx zK&e~jsh&cCMD$Gxv!jxpJdu~QDAA^F1FWqIRd2YZ%4ou~pDdW9k&Ds*4E|d1#_!Pr zM5l5B_Y_wG zojxhgZrr-H2F`&e`?qXc7#`d8F2~1=q1F$QSD3<3Cb1Y4acv*%{44J4lqb_>rq4Bl zC+%qIL8tI$lX+aC0n30)knlvxZTN1iJA^vjMOQO;`6KHJE>=r)T3%Vtxpb*5%3tDc zUL$c}Ba~FU;DDG8`Upom3I#hqOzT81g#1iu9Y)Ll5CpVC2K$m?yl6|O;2e!O%dX;8 zf_sq*+7zN!R{CxknFt_!VNGIipl(94M-~duDdfAQ%Dn^Z%Fo~yZY(Zad#UQMRB-09wiP@K$G*d(KJqX4Hc zVG8}^|LY`jb{@Bm3B~TNHeWn4I*PO>fw&rZ#TWgBHma(s5g+t}li_8)yU2FoT9O21@4{;gwG1EsHlEeoL3h%iM0>2Vt{=?*d5wPR0b^vC`Y zO~kolM~GCSP=WH!0Qb1tNmagmm;-*pp)y7b;%=tW2SE71jw`q1Mf z|9Rg!ZtfSruW2i{V=7uwljbH>#xU$j>-_;xYFa(OCez3e45R!pTzCq-Y9Fh89zflB zi2ujf#sbp}62WwaJ2!kvawoqXq>T@ajQm9Az--Y&Lan6nI)X0|E zyz;mCi4)&{olAdf$PmojI@92}SP%qs3iZg(qCLqb0P{rjpKpMJkFgA)0L$`Sb4MOm zaK2ly;6EP{RMqs>SO|84tFK66`Kr?oVDcLpRV^lVEyolsn%5`04RD}O{mxv4OltGb zRZKcrnn<{FOy-P46J-!%y11;n`27^8s-&PSRSepm<<^rk`$VTR$21)x{KW2imRVGX? zSaPh;W-~0*#EuS@^ER5ktYN4r*}fxgl9`o-_qo z@yDZVaETv)v2x+(Q@cupywH*UQA9q$&+4UHMhb0S1%iIrj%XzMpLmL00%k!wIqXDj z=$TpEghDb|2hDeu*t-IZr6Wx!(9G9j(m_&UqDBPD4&vq@9u*mFa0-=Kci__)guUPy znxQb`D^--c4uywrvxH6w=TlPX5aKx5bw!)&_{0QkSdH;B7)32aWKE@VSEwMiBP`t* z+s@&KQ7)62(%_Kq!m}u|V<~^cA!TLdL>t*2a1<=gkY9GeFN{J_bZ5f8%Y^?zwfhCv z(y62YZCz2BGLtO^w9yI#*iG`N#0?-i9mJd0m?}8id*MD|S|gl&$U%us!S^AMRfC-6_UoBd0QF67 z$W#4&kRM=DCr$Jvd}zkvUVKgIbQk^Ku&B5@%nO3}mDTWj^6VCdlVU6HZcjOu9K-{S2wOPdUM~X(cgWeCCCM#|zMjHxZih<5!N`3M{|G*BFR#dUXy_X$ z<1_=I@?&`j%~XM9IVrIO4}+JJVriNaiw;3W)a_H&$bpE@^iy2K^` zkH1v7nkWDlre{Hf0bGMJHvXZpF8cm$I8Ob&0bx{0LH}C5^e$a90TGj}41}%V=Qm%! z-XfWJdnnQXp@zwHjeogTju*Zh0UmV;)yg98scj?{;D(|mDxI7C8owW<0L>5UDDN4H z`e}2VSfMYyB>;?92uV>OuxNe&aQkzda9}z7Fp&1Eo%v2ElE`#`URs$y7KZ->%dr=x zGvGa@W-%w)VMR+H{b?zkdzB5BcUgRVywln=T#ObuK^ni}M}$)tS9lWgT~sZqWqxnitS-SSVZz zbuh+oE-Ziv9#nn;$O{Ya87T7txR?L=&`~GAv4n>7$j9I!l8|riW2zmTdLufGrRaM_ z>-kbp0jMfCQCv`dA3y4SD?YahGJqdyQ2f_0v=Q-OkLK<*atny;@*Lp+UJruM3y`n? zqkaMuap+&64*H0&21RZS)|O+*l2@pdVGk7#yl~<9ix=~doEhhNIKo}feisH~+w=GD z7fVY^v%dkzxdIiHAAC8c(5^pz;>40k4AAEczH;Ry+=`3;RHKCq!yE7=Kk`uHtw_8z|_hC#wKI6ElXvw!L$mm`;mJ$~Z&eC?yGO+&F;`F@S%J zk*NCX>iRwBm4UHYz1tVZoUIJwefhUv5L3++g=UK~K>C#R-d;evv`p&w=Ki8@@qG>oq4fVUdh z%19py`x}^BFrgB9UB%cjO^h_L!C#7UOD3X9%AuffN%WG@P)O7KK!mAH<-y^9-Q*UW z2ph+i3w*$Ew_ivmQNLGBD#64LY@}cR1SWU3GAxv^M=?+$HwEc-sG{+KLCQiFQsB{i z8Ui(F*j-2&_sctfyjc7I#4WUa`OW#MsSthmVT^4hvqnd^V!jlts45+6De`1rVwDzP zh&;++uG1Jl1*Ppa6oOwk&J_a#1Ci?^z-eU1qa5;`^}44Oty`#%%3>AT;S+lrF)fI- z6?yB*;Y~#RB14?;rb=9elnZ~vYf`%%eaV4ohW;3+^%KFI<_AlX@hG8jR<1@Y*DR4# zH$>Y$D`}%ecfw03Y+~naNg~G0H9Tqxqb&+cv`!w#u7Y?F@e>G$*l;?|U&X(0$3TzV zc`Mq)U;wGZFcwsN>}hXDh5n+qWB5Zh8HbC~Xia1)rZIBCA35})ah1S!GI0@C7{p;K zw$|+t0r?7(2C0Fp4ys11}(k72lpLb8>k@ye8^AXSk-l%ni&g+ z-a(vZ?~}L%2GPe&h!r;F|7a{%pj-5G%aKNZG>pIjAvS~T12Gu0R^B6KrJ%11PAnXZ zbtu&cZ4&3zhyULxm=NKT)QKph4W?i^;s*#)=)$^1-GpI^82eD>Z6u>4GWdGpR49#V`S>p8t6%cArybO|G$5JVB(N(=bO?8tOXjJVh-5B{e^O$5Yv zN)s`-R~4o*5Zn%0dtCCK*y2Y>p<5deR- zGQ^k7Cy3AucANQS4C5uo(ReV3io0U_I({y5aLnZEla5`G{-B}n0ea>RG^aDgzB~}A zjl_EM?m7;Gusn-1Xe#!Ze_9-|70Q?X#Wy0<418}x82d{G!j(?Ms(6Kb{`^^Tc1d<= z^f+G0G3rCN89!xu@ZjdsiK~+;};;SIzP{288rpzFdRSJ_iCDPcV?SJu&mQjd6?-B9I3_e(% zj)G{4>JNeDB0Pmj-lj-QFh+|KdI`k~oy@a%gN;ks51>f%!%05SM7)nJyC>aJ0A4nq zpb7wp*eu-PZ6Zj%_6ZzNxoP`w4gCOuutzNkkozB@PtFUV2C5hF(36XWSyGUvk-nDD z{1A1ScgCEGzH8(nr+tGL0Ah(8@uN(GbnpN*KxkAH!vGtYQM&`w=L2z#)#v;G0g`@K zPK@vAMFcFw+^AWM9a_x6p^??ial}YZ@1tGx6OX^Yd5Ad_r1cGa3&VA!sSzKf5Ti*+ zubzo>hGFVbB&E!eMKqeG)O{I#OtrF2VMH12iB%Cy!P@Y8f5zA#SCEL%Fe+PTJTO3p z)e?VHD!S+bJ*^(vO$@BMIH?vkSBlz7Qs+%^vh`|&*q<0)% zVwOfixb9_PnhQfbWFaBS)WqZzj1%coec(zma@Y6HVLpG_WY#hPi8L}_MGDkEDxBQ% zLEKw}6T^)9^gqoQ@f0QA!Z(XiWvAeqQ?uwrP$olPYsnK*X2qWQr46ED2SSWICT!G(DNA~w#aLSb=$Ulfx-(S zsuB2spAXnMAn7b+$wB@}KjVGP8;PIEISJLW5N!>JMBEfUS6u5@9g!gIKW-3`4TYlt zS74LLfEeM`W^+jXA7Q(% z@P{pjt3p7ymdvT?xa*Fvt2Wi8wGN{cT3SD2k`@%E3Rn-E5uxLzCE&)>0`-fY0z#UA zzGvi}#j^We`hWKcr(XoGRpdEXP9T#qK;4V<;aCu96Payh zW`@~`Su^J;qwcw&@%3GEGlz35&!>AMq>c;>#KRy7O__|PNLzng4Gl*4wQOaGr=op; z+5hJ6O93eoy$GxQpi-j&pR<1K%3;hj#E_a*AmKz>c9O^>!^JUJ3{wz4OAc9u-OKq) zDpC85gN7rXN}>ge4%DEjnz|`=U<-Q6d~(ftA*L<%IRJBwtel*j$uEA@qa0wAf!T;e z+HhY#092IzI;VzA9u{YSBDLzPQ08FV;P3*G&VINlz470*s9R81^z^BWoLnS0 zBM^eyG)6i7va+($b19T-J6Uqj9+Q3yp6f_JR#}BoG=-s5cv5o;|2rDR$bm`Jt8qBU z`zzBHg&!SBF@tnGQ_*q^L#3cSF}EG*o`cj=LCh%q^UM{+6O4+^oIoFPMeB~qCBQ=; z7=J`K!tFt;Xrm;l?@WM}ovsMlm56EoS*h$tc0gAapol%7Li#v~MDhHZB((_WoJG4C zGJFWI*z?+2E>v&oU~!n<7%id?J`3|!+Ynuy(P>st1*dyWp{re_q{aGwI^O=<3g-c& z%9@*ZS9A)f9)-DeHJH;th$l(NX{%*z7t7ebzrPm7>s3&eF5p%lg(Cfb?Vb5w&w2O% zUlrL&WiN@0vL+dOLZ~by5s9+3*)xU|QbwUrYRD9=B%^F|jWsnQ*-}{>qfkniLP$lQ z`-$uN;rlmy-EMPn@$UV8y`RtXJm+y9=W)(cy%dUH7Y`7~lt8l1HX}xi2rwh7FdjU3 zN}hMqP;HnTReD9voICf7P=EZyiO-AbG2K{*6^Yu2UtYg{twH;k&I)=*x$t&KKt%)& zWSzISfRUi>+xKOGN-rPVbxam3)2D_5oy6Q33pRbEN0<)q(R8>(?+3@eFX>&MCaj8%yKW6@j{ zm6va4C*#>^iIk-Bf$W?7uo|MSl*Ny$*dY3~o!aAxHem$5NQ3~k(H z+|)p+U7dVx-*3Mitzod3E}U~FV#I+=3JF-k@s6jGeP+$8_Mm{RXf=A?(1APa82Z=d z;l#8p)v9n`ut+G_&Ss?CB7f>qRl&QeNM~oWd8vp98|^OIX@eGtJ?Y}x_3`7!@K@s! zb8u8rj3*dUxOrH%rm9mDA$gp}b?BbkkNksGwp+YH?39U;qSZ%c#*~)#+)p9HDg`F` z`1puW0ZD=FZCF)(Y-I{OrmD#6WDpM9*sHpL5puSPbL#D1bk+|Wht6IaG=QTgH`RZg zut}@m+;jGiRKA?x$+Z;lz?bom$n zf#YBx{X`|oc)ougy=lu;T^IqGl>ai#Lw2a}C#sA=neB9Sr+_tC<~;`3(RG|;epc4R zmje9-8f9i~frHSO=C++EIU1#7@T)-i^h}JRk#-#4Q#Iz)sZ+i8oM2WU0u7nUr@&8@ zU;4P|TM{V)e0wkc9E%uUMoJXc`B)SB{-jr0j(Z4NUN9{Qyi?X_QX8o)>e3M0$Ibjie>%66qlbg8GoU#_nU%%tEETjcstVJO)#zxE zQGMa>l$tQr^!mgM_`N=0yvU^Y6u}sfnf~|RU9dCKZ*wa5E13fXfbR^S)VMM&d;(Th z^y<|PYFx4Wr}%M)2eDU+EaVImbeKZ1V&xY~8!^yD%%+}n-@94pEczjK0(+R2BSkCg z>>gncDTyF12%(3eC{S;sx#TqOH!?R@XXr`=M_|D=PxoZ#&UVaVJ^@1U!(BY%rQ#w_ z;17}4#j%wL)qcs_M3i)A(8~2+`|ZHAkEAfU!kBhNE!0$3fS4g^^U#eGhPRT}^}qvD zODW4sY_SnA^4W~BQ(w<_=WmJ28O;9*{>Z%(8F<0Bv@W7c#mynm5^sBL?*Mt~Rv{Di z1o!A5l(2fsj(!jiigNSTt+r$~I_H^+0grIFT(5omtx%Rv32@SRYyE5AW{NOw1PQ6; zWoBl^AT@Qr|NEm}lio5?mS&!ISi2BJ##|wrGrX6vu?9J`1tK{ljo}}9bDoau_%X3b zH}<)1FGRc!q|-Q{Y+AJw(j<5MBfUVuPB&C zM|4-@lmmH1d}{u=HA}pcjPiu-VRVo}g@51BRdIPKx!k8bMy+L+A6wELKdo`LY%M29 zO(EzR)b9JmaxzKVRd&T?!2*9$*CIwI?W6t($1T%vE*BJZ2GN`^A2JQUGEG9v=uKV8 zh3)6AD83eI=#ZiVPVuO8v7X6?pD#@)M*^*Bm3>Cn{Z?bM;h`7aU&h7_wErneP)SV*pQ zjm{csj6rm*gOF8d1Xlb|&v%SMVYve;+0TF$lOw19e)K377cQSiYVS`3nzTE(x_{Y_ z9=O{68D_(yTa)lPL=VDH34k(L&}x(gJM7$N{QF0Ol7yzs#GFcnNSPK)1_an zCVj|!FnGbT8HkS*W+VnL?5-$Du7?gJQ%KFWe6rUpqy>l zbIod)#c;<`xt^Vf$Xc*ZPww~j9wqc~Ev};tI`8s48Xwm)+g}3gCOrH4s@8@u~ z#^};ZXVC)jD#?n0uZlkeJ--{}Nk|h4wi^5eTLEr_@wDVkfpq73TITQeFyx z^AoH5G>r6z5AV$2m2^guYv||%6J!@~)^Wjqgxxdg*3JB7YJCbBtb4&}BZyWN1*k^# zw;gSTO%-9zTs%A?yRR12pDCxUdB}tS@NhgKCVATU9y3X}31Iq8=JUrPz1?R#UzL?>D>(fWg9EMgTfpi^n;Jys z1!%CvUnk+fY*|LBouJ4tM|gLflVB=+Fm2-K1$>}&EkXY+ zcjy{snAoW~B&>ng`-|FADB=bt7%G%&Z7&{%jNE~QCWER8J$}UBPAyY%3HJ#1y5M}o zYx;dMS_SbE-a^CUy0n`rH>gNG=Sn<(l4@~$lz#}5E;O(vL2)&t3nau>F-NquJ;M#B zsVbGASgz=3LuE$lERKIJ4?$YegHnOfk3;k|^I^p4NTz7!*otUl3CR<4 zPIuDwu>gZq&q6S^4Lg+URv8o%0F*C3GxhLgwl_C%Qiq3+9`$^{+{?BS)+jYl(6=Q; zv_Iz94ypGQ25w+{EvZpRMUcq}6Rg{St1>%$W171+#z{0L^o#+rRKo0Z10G5?$M@b& zbnHP;q)2cT8pL>Ar3-3}NyCP)X)>sd7!f}H6)ry>e|E?74*?4@7E6kA6g`awkJnF| z&Ebcv+eR8FPecwnq%5D9!b}SdX}Q}!@Fj=Hklqd^2?vp6TdfSX+=Eu41xi-D`9e-^ zN2KlL)yVe-qW0pqCPd}UGi%LO@qv?a(GX%|O|Vqkn!>ZIn~>#OA6uiJ)(i6897bq2 zJ_Nq{@1oe-9F}SHCa_}qrl#6>+_5BXcJ8Og)=_7CqR%!^G0pgvT`G$3D{VV;2qgA) zXXuxd3ZtWS=|58;qrb4BwmlV-Ob#{k!qgP`LEb);M7E>`y<-MT84PZV!97YwX|m{= z9~&A+@5J@B+sQgkKZjhc=2Fy^FxrIU3@VGrRxF5~5oT1J#52hSotSa_r-q4RwDkI6 zZCCGu82L)%;vw)ZdgLkxwfT%Gxz z6R@cWGjx0w48lPe*n-qYT&^Nqqh!KFwF#`-N=^ay=xEcYFzdp)fn+mV@Q8+AezCm4 zbqqTh$r~f7CpY6}yv6JHfKQ?*CQcVEI5c&b7kVN)omCu_-U;-Gafe6Rq zf7*8J*p!Mh_?ZSd6=;L8PrPK{$fY?Ewb!@K^< z{-hc-FwYjvhta)Bh-{&-Vx7t4UGKQ@9rl?lZcZ==;_RueJNR!yhwg1#g_9;ul187f zkpUgLx2>+Ob^+E6W#S|rE)d@u%fWXqOuLxZ>pPD^GB19bkv+GIhD(rx9lVpa!6*Jh z{x6n&sMb?EEGjEY@^n7`b3deF!Pxu)Y6=r_bQxF&Z5}A0x@*m=LHl}!+szHC$mN-A zsR~+5m=H%9Mg$0SC~l*4E>%I<6>_C*MEqFbyU{2o{jc|MpP|$esMqS7nRQi)o;~yD z1jGZxl5biuPkAg_qcNH^{$>E~1wKgNXXb@c`E_F)6EUw31J!1dnmm2^vKbT3i=(4h zLW@CEmxDVGZm!(n3Nfm`Z5@xb$BkV1j+mhjBkU!;eIsrI#NLB%s-M58q;o27*(GGI59uT$HPauAm!KE@67r44$WlCDrP2P=8 zg~8hWojNuoKnsb3LN@_AwyLP9C$&G%M8zL$4g@o(urXwsdKQx?_{W)sofIM8poe?T z+Gu2IYHyVL6C#Qk!#(u#{0ZYORNIDbs4=yS18>Z_xPCA=UA^dw+AV(Xj*muRa3EK6 z0cEDkq|L0!HqoZPF*w24S3;=9Xm9^0pni)ckOMEX34MaI%*T#IS|t zdIG`8McMvbF9wR!!+ARB>WO*cBM70-p)#y%g|I>*Ozm2i^nS>h(z*5)@^u)E!ADeGjxLDv4m`f6gDL*mDF0sLds0JR6v2i zQi5-QblhB=Nf}f)64s*$CuvFwjk}!@JpCMH|>3VBB2ma8tDCSDAUxC=dLh3O4XcTIc z9b_sV2W~urMP_c_FeRNB^R%=y5HzIUzkh3j=-~CsaRlVpalWELXao|K?STFIuJU=t z>DM&qLESeJrc*H|c!s#fkj_s8Un}NoMn5es-a^$^K8kIyIgo+w3aUvpY?@R~ELDYN z;XurHa|@)mPsY*T@eIj2jECvMjZK@8DhTNg?+{=H3HcYDOj2I+ZrVHVG`7?Q$2bNn zm)09PX*yONVV0e6zDNh+@OP}wE=JF{WU5loch)JJ$sU>^X|LyDD##Zm$lgIN+V8xy z{zG%LfaWV#9{0@J^qo0Z%$eCVfBEvA98hi~ZViFKOo5p2r&{2N-uwm0V;X~j^4XtQO0iFR-Mra%nS^&xmp;zr|+qc>hSxw)}I6aR5q!NfvQWMvz7 zk(CV!@71XRmKz`Ok$hkw`JK#V1qMW%>`Z0g3V+$t5(CIfqBL!PbY`pi+QRxu z)=*9hkvM=WQjmm2Y@{1UDl?V~;9)1E{(?JcwxD zK$KfKAkT>V5+Z24*i5BYP2u3kkp>wQaqvveOvO<#1E)pNhWn9iX3v=u&mn3s=CMKb z+S!I|5dA-d^f-9I|7z-Hm&!Sy3bUDt75BUDU;s$Zw}!u1cIMzs5QY1Qhln^fqvuvp zB>4018CS2WlPmj&goI=a=0K`5H%fL5v}Uhci;~h7)38xL2$P32yd!{{#?4kjYSGab^h&(Khg>y;0+YQM@MU9F)di_wKa=h>d4Hr{-%? zoE>PfMOjCDYU+76NktioK6nepI32Sl7kBS(C*%APhI z#X2q8ck0CHxEgHp*?8t)GJ>-F!)-8RW16!KbPsA+EoS$Vkfb13*+!z^g23S+mqAgI zO0LSLj>+?H7Kz^e!8eLJBbJ{%KAKL}^QJj{kk z%w8qi^K2S^Y#GW)l}fU~Qja@WSwj>&Dvx z?jbabl&GjE?qmL$qbF6V?+Ti2Db(|nCl%$BEooBTZ|b2MJ@xQuE-H|dGoJimk8ki; zgCEIH#D)M*9T{^>1$5wsnx9TDeUulYa}ylP{Yk8;g{0V@b&zg9C46T}Duy2CG(8eM z4|TUVDcO`jX#_&3I{tA#NNDa37a+v1G(+5M&@SsBkK)$HR;X`!-ua3zo0aA}jH2Ey z2B*gWK_M!my`~~h7QTY%iY*0w#f}Sf`NnE?BQG@?+zvA+EV^vxvz~=%tO%znp_!N2 z(hLKgq0ZqOPe1H&kQ(~t_KHwTNPK$6%hls6%kLU78$rk^bossUH4(mh;D87rR}!ia z`eFS7MUd`dkP9ha6T^3uufxlsoCqMl6jWpm^Gm$r2sxlSQ$VP`F1HN+2z{P$UAGy4>$PBKk90Ch=`WckKp5Np=7Mc$k#SV6EOz#D*sj=9Ulamf#bQhldIsZxT6Palf?uiel z7r5|uPIKkQk1|7-gA<)I+ztB{Mjuf^tD+4@B9R)qpvI)AG|sNILy*0=d&E6m1=9hh zI=#_q*RE$_J36U!du)RbDk61QxoXuIXfj*m?E4}kRTR3Nf+<+Ia02)JxXiKnu9-aZ z0x6F|%DqKD#XvGWqO;5sm+!13G13*O!+^v~Y}3e5qjFQ7N8kIB!DJ4B65KU6_))18 zI~dc-6cPE|f>&udT}we4#i}=vFuH`&)G9^M|~85xSOQ(_zV)IP(1iInW=p-P@D`_6<_WD9efy#G7zJ8M@l2LZeFjV zK$Igmu>eh$7uK*iv83>lxiVX5Ya6}R)J#i;O)l-2_yeo8Wy=;9j)hF=l`jI{zyWP-G^%gI7vWU7Gl5-dZzQ7& zim!#1Jv`9^hpH${4sQX)rYICKCvXVJoDsq|r?gZu9HSYF$qa;7gkzeIqxj$Vu{LQC z4b~U3dNQt9xN%AshFrTNGzHD8339FZ2cqdOJa{_nD1db{0mm!Y;KGFq#!M(%bZxf^ zDeUH%ecl#~En}9<(@piYdQ_`6V`qn}R`RtHxT#MMO>=wb1|b9pIEq4Gmjcpm1kc)C zV~I^G+CoQ@HTLM+x1|(1sdVujl68(^F=&f}aYG9*a>WlqDh5m&v}4COY65b_u8_hs zEU7o3E3k&cKLHJ?MbM^R4P3_8_fqou<|}MHgkNrdNMOAn~MHkI|XqB%se`t7v^#w9x3j~#6Whkdt2c( z-SZNfiAxk2`qFM^sj(7Ax8t&(Vi(qro)L$NKp9u5+C-$`jx5M$29oR|r1|01NI5D-`| zjRO}*+&i2u^=4q7;9W(baMc77S-Y#ug~>b(Hm2RN6|C#P^@S}Jz}ywwkrWC=8EHMj zilNV12sbUH-bjl&Tb>6 zWoOf-R3@ylW1EM%N>!0?bOn~`DY_USay&f1@#DuWU&c0*6NgXNFnR{NA3i54?>P%%=N@BnhHX2nd(u%Udh6 zxPJqz^KN!3_hYJ{DH34-`;rA{)7mia+tSFBb^naKM+V_{`+TL887A+o2OX|ms8#fT#$n1Je zoO&aLwKH$F=w)tv6Dcx5ZI|eTq1bE92o!aCsicCAFQ4FyXsqGmb)7Y*6K~;PH z;WA$oNO)YX)*WL~pL)@!)w^@a^~%>5nk`y)w%g*=-N~{4)uxV_&9`S1>AKq*Uh}_e zzREvo%(S-A+CJttU4CAr?df6=b!MpT$aEd`EECrf&73!TQbk^*T_30j^ zHakAlcR6|f&8rWUKDR$b<#>OLF09yqrXuBb>c$U8oqoz4A8G1ghY9QjfGuXJy#GC0 z>iN&GR*IsSUw-@Nr7!&=A|lS#lpmEFC-DaTz$ag97jm!5zyTMl?8rN!NQ+&WWGY?B zl$XO%(k?=UVq|1wg;C_gh7G!)sVHFyRv!X~>1inCv41{U--j}mRoLTo&qHQkT)&3$ zr_<_-c3~sGRONpzc#!t1*f*_3xT{}Sq&1mbX{jE;IJ4p(P(N3N*V@6m4@%rqW|NL!&8}+Sw zu9rIa_H>(3Gv05+9lb9KX!GLNIm@jmt(zs6$aAi2Phv3~jl_*!qd#Z+*5n_&jbJFB z1Y(fMM^Z*SM^yOUy`@7geV%gb&@q^yk|T!?Sn~rp*G4Kzl(nt8Uwv!~i07y;sWG!VN<>3pubJ zCcu=@^LQwwZm)Djn|(T)Q^L859KObrRuZ2HS$ZamEYW}dW^lGFZifkO90k;i;M*!n z`jJM96?a=S*-`jOS8_-XNV>GD!~u(OZil0uy}Q<9S21emoV}OoN|;{%?DTV|wg0RU zYv}6p`o!b|BR`LOFn#Xa4Of3|E9+uAR?H2*i;frU2etxCIBad?yEWMf*9)s**rBQpZxkKm94gd6bb&f}tlro99 zd!zsZ+HhNKBwKX%1ZP6KLx6JIMQ>EE>xyl~m*-V`%gf8_$|jB`&`$R(p!LFw z!{bH)L>`vjjnLvRx?{K~ZDE&mP~|D}GUGtYZq-Lq}d zhF?-rViiWYz>U$Z9tC$dx+;FBZguFWe0V}+wwpUQ8c!9i8D{t_7yAa-XiFEvvuA6MCzN}}$tQ%8QEd3l$U*qV# zD~sRtgVn$1E7Ix~roM%_KY0G%bA2R3eU$W}Lga{42yP>?)~(a4)0z$ z*E?FOD=|B(o2$h_>tmGHpIm#$e~kq zedM`5%(1ev3M=m8{Mowyh04Dii8dR3=syj^36~`9otNxw#-;XxTVO+Th=gBDbie@C zpvLzhD|~ybxbSuYbagcO&xIZsf3xZIcvYUnHWl}I;G;K=D(u3hg36Z+Uo-`FPY%0K_wL5voE)qa zjou)xSuyI@Z`7OfscAKyDQBK-XYA6*)C=#d&E7}mEP^ZLUvCAqCDkdx*KKVoh6dT& z*XrF3=dUIRXOG?cdV560-8y$E-Ayk@NvkQZs|*}HnIvWOyWw&Wljd;Hvav`x#M;{0 z#aaieEyR(tIOh-9FdC94Y@9zjWoC^V)Pv2tuOFV&|INUUcLhsQOaAls@)2)*N)Pxf zN1(Br!&Z_zQSTN6r3sAG15Wzg9#fJ>m-Qh|g+lt3ti4n_cX`_97jO#4T}yMwzP#Sw z8sbI-KU*9&=_K=(ho@-sRDS0wZw|^S{;jaiRT@!_9s>(_zrE5SpYS3Ef}i#N^5MZC zZq#&)-3vCCi&e47M^un-SYMsjjO271_3!^RU2BPaNq-Z?w5fPB2qqcM@8tXT3Zjx( zy?ggQNy2d9!~HpOY0?4irHAf5oHD5~Pf^sjkC9P!$zJCJ(k99Gy+zK%blB9Tq>0oR zr!ss6GGlik^MX8}2=EcV66y|bVW?e2@o|m_}~!`>RA1_N&=- z<&F!M*rL;@^*`Z|ZM@BpluDBbULZOCI**_vO?oiTXW4-bA0NqiW@<;ak%O)-lvoF6 z-&H{EJrWRLkFCNgHdOdTk_vfbbs6ThNT3AIb0DHd_|X4_4~h`Q12%o01Z%X1)o0nx zq}&jbjA{J`+G9-SR-e=hVZek3o(u!bT3s5w_QlpN%da6t@jNhqJ4vW2-{y^(2C)N4 zV>g!JcF2$?>wdfeN7`32Tx?2F$}iFmFSpK|<=f>$rA{w^l!;)dSB24l0XBpK&x^Gz zXd)=?Y>|J9lVo3xZ(x6H1mv*FyMEuuy96GpPixWehUWi3lP;kGxF7DO^yH2HlMr%v z{j=sl2_K&Ha&>mky$0U(<^Se;6P)TxbT~QUj6$|>GUb=;fQz6m41)V~mgEt{*z}$P zh~Px>nXj`HiL4byTWyeylqm}5?D)LywcF@PVO14{^{?BtQOqwI7^*eA*WE6x^34aA zzJ6f9@z6FSE6uSYFYrx*IG``DoKNwsoL1i&{0Pa*)t$P(5yKvP-RK9}o@hO3(jYkA z{jVaZR7O)@FV60Da58?tD`(WFyKl?c@Fi1{j~+ex>Ri)?5A!qN_ONB>rNRIj(tLdO z#r`D%kEYk?KvKcS%5gi1oE3@NkBNziolF4=Ty)PFPQbCrGlV4&xum5J?Bmd3lByEZ zbyeK=by?A}>&T%FbJxre+(OKI49NMTMv_&s6PqxZziI`KaxgqRyg2!2igg%bk>H04%yFO>VNk=k~J-9;aokI?{EsAObC5Yeu}5mZr3i681Bt+xAEY95L<}! z-2^%bs%}S@DoSUCIN9*)!*!hTeio~jTwLH?U`DjE3Oh7qN&UT5V6a3AU$VD%yZ?7T zMzDTz)z$mwdi6sI=c5zffUCTjZm`Dy@RhpbouatMa0cX;-}=MQi2_&2p!egG-Kdqy zWAP^YoxDpTygxp2%f~_<14!4*?X4)SEcXz(%g^-)Xw#9#!G(pnA@S@HA>|exob;$6!CU4C3@~&HN{-5)S^?v zzsJm@HEfmF_*UGS^lf0;Hj9|L0@J0tj15ZNEz$m|9`1pi>3eo literal 0 HcmV?d00001 diff --git a/soc/software/gps_measurement_python/output/03_noise_burst_transition.png b/soc/software/gps_measurement_python/output/03_noise_burst_transition.png new file mode 100644 index 0000000000000000000000000000000000000000..37e4ec4cb9651d28b42a42568de9c875c2932e3a GIT binary patch literal 217925 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�zb3R0&Fkq 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

lQn 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­_x!eRqju0H_C8U;a-Cl<1=2b>}#$g-Bt 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 z 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%0DnXe@;7~c)0b${N71$%&`EMtSll78*Ki9Qe!HRJ; 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≻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

q}yvEz4!Yu7U^kw+@OO1E-awbv=sJ!P?6 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 OP;Cu;^%tsk(fA9qv+B&YYbPJcWSSR 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