From d85abe214f006599dd84c31df7db4c1f292a6f06 Mon Sep 17 00:00:00 2001 From: WB2OSZ Date: Sun, 20 Nov 2016 14:58:51 -0500 Subject: [PATCH] AX.25 v2.2 connected mode. modified: CHANGES.md modified: Makefile.linux modified: Makefile.macosx modified: Makefile.win modified: README.md modified: atest.c modified: audio.h new file: ax25_link.c new file: ax25_link.h modified: ax25_pad.c modified: ax25_pad.h modified: ax25_pad2.c new file: cdigipeater.c new file: cdigipeater.h modified: config.c modified: config.h modified: digipeater.c modified: direwolf.c modified: direwolf.h modified: dlq.c modified: dlq.h modified: doc/Going-beyond-9600-baud.pdf modified: doc/Raspberry-Pi-APRS.pdf modified: doc/Raspberry-Pi-SDR-IGate.pdf modified: doc/User-Guide.pdf modified: gen_packets.c modified: hdlc_rec.c modified: hdlc_send.c modified: hdlc_send.h modified: igate.c modified: log.c modified: log.h modified: multi_modem.c modified: pfilter.c modified: pfilter.h modified: ptt.c modified: recv.c modified: serial_port.c modified: server.c modified: server.h modified: symbols-new.txt modified: tocalls.txt modified: tq.c modified: tq.h modified: waypoint.c modified: xid.c new file: xid.h modified: xmit.c --- CHANGES.md | 14 + Makefile.linux | 17 +- Makefile.macosx | 6 +- Makefile.win | 28 +- README.md | 4 +- atest.c | 18 + audio.h | 14 +- ax25_link.c | 6523 ++++++++++++++++++++++++++++++++ ax25_link.h | 82 + ax25_pad.c | 192 +- ax25_pad.h | 57 +- ax25_pad2.c | 16 +- cdigipeater.c | 325 ++ cdigipeater.h | 59 + config.c | 366 +- config.h | 21 + digipeater.c | 22 +- direwolf.c | 107 +- direwolf.h | 5 + dlq.c | 351 +- dlq.h | 63 +- doc/Going-beyond-9600-baud.pdf | Bin 968034 -> 968518 bytes doc/Raspberry-Pi-APRS.pdf | Bin 1873750 -> 1899430 bytes doc/Raspberry-Pi-SDR-IGate.pdf | Bin 553308 -> 558351 bytes doc/User-Guide.pdf | Bin 3531958 -> 3592461 bytes gen_packets.c | 2 +- hdlc_rec.c | 20 +- hdlc_send.c | 18 +- hdlc_send.h | 2 +- igate.c | 4 +- log.c | 83 + log.h | 2 + multi_modem.c | 48 +- pfilter.c | 54 +- pfilter.h | 2 +- ptt.c | 14 +- recv.c | 46 +- serial_port.c | 4 + server.c | 215 +- server.h | 2 + symbols-new.txt | 30 +- tocalls.txt | 27 +- tq.c | 423 ++- tq.h | 6 + waypoint.c | 2 +- xid.c | 262 +- xid.h | 31 + xmit.c | 589 +-- 48 files changed, 9609 insertions(+), 567 deletions(-) create mode 100644 ax25_link.c create mode 100644 ax25_link.h create mode 100644 cdigipeater.c create mode 100644 cdigipeater.h create mode 100644 xid.h diff --git a/CHANGES.md b/CHANGES.md index e1a7bdc..9df5e58 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,20 @@ # Revision History # + + +---------- + +## Version 1.4 -- Development snapshot D -- November 2016 ## + +This is a snapshot at some semi-stable point in the development of the next version. It is not well tested. New features might be incomplete, poorly documented, and subject to change. + + +### New Features: ### + +- AX.25 v2.2 connected mode. See chapter 10 of User Guide for details. + + ---------- ## Version 1.4 -- Development snapshot C -- June 2016 ## diff --git a/Makefile.linux b/Makefile.linux index 40498e3..8564f31 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -230,12 +230,12 @@ z := $(notdir ${CURDIR}) direwolf : direwolf.o config.o recv.o demod.o dsp.o demod_afsk.o demod_psk.o demod_9600.o hdlc_rec.o \ hdlc_rec2.o multi_modem.o rdq.o rrbb.o dlq.o \ - fcs_calc.o ax25_pad.o \ + fcs_calc.o ax25_pad.o ax25_pad2.o xid.o \ decode_aprs.o symbols.o server.o kiss.o kissnet.o kiss_frame.o hdlc_send.o fcs_calc.o \ - gen_tone.o audio.o audio_stats.o digipeater.o pfilter.o dedupe.o tq.o xmit.o morse.o \ + gen_tone.o audio.o audio_stats.o digipeater.o cdigipeater.o pfilter.o dedupe.o tq.o xmit.o morse.o \ ptt.o beacon.o encode_aprs.o latlong.o encode_aprs.o latlong.o textcolor.o \ dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o waypoint.o serial_port.o log.o telemetry.o \ - dwgps.o dwgpsnmea.o dwgpsd.o dtime_now.o mheard.o \ + dwgps.o dwgpsnmea.o dwgpsd.o dtime_now.o mheard.o ax25_link.o \ misc.a geotranz.a $(CC) -o $@ $^ $(LDFLAGS) ifneq ($(enable_gpsd),) @@ -588,7 +588,7 @@ install-rpi : dw-start.sh # Combine some unit tests into a single regression sanity check. -check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest pad2test check-modem1200 check-modem300 check-modem9600 check-modem19200 check-modem2400 check-modem4800 +check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest pad2test xidtest check-modem1200 check-modem300 check-modem9600 check-modem19200 check-modem2400 check-modem4800 # Can we encode and decode at popular data rates? @@ -708,6 +708,15 @@ pad2test : ax25_pad2.c ax25_pad.c fcs_calc.o textcolor.o misc.a rm pad2test +# Unit Test for XID frame encode/decode. + +.PHONY: xidtest +xidtest : xid.c textcolor.o misc.a + $(CC) $(CFLAGS) -DXIDTEST -o $@ $^ $(LDFLAGS) + ./xidtest + rm xidtest + + # ----------------------------- Manual tests and experiments --------------------------- diff --git a/Makefile.macosx b/Makefile.macosx index c77c9cf..2b2c77f 100644 --- a/Makefile.macosx +++ b/Makefile.macosx @@ -221,14 +221,14 @@ z := $(notdir ${CURDIR}) # Main application. -direwolf : direwolf.o aprs_tt.o audio_portaudio.o audio_stats.o ax25_pad.o beacon.o \ +direwolf : direwolf.o aprs_tt.o audio_portaudio.o audio_stats.o ax25_link.o ax25_pad.o ax25_pad2.o beacon.o \ config.o decode_aprs.o dedupe.o demod_9600.o demod_afsk.o demod_psk.o \ - demod.o digipeater.o dlq.o dsp.o dtime_now.o dtmf.o dwgps.o \ + demod.o digipeater.o cdigipeater.o dlq.o dsp.o dtime_now.o dtmf.o dwgps.o \ encode_aprs.o encode_aprs.o fcs_calc.o fcs_calc.o gen_tone.o \ geotranz.a hdlc_rec.o hdlc_rec2.o hdlc_send.o igate.o kiss_frame.o \ kiss.o kissnet.o latlong.o latlong.o log.o morse.o multi_modem.o \ waypoint.o serial_port.o pfilter.o ptt.o rdq.o recv.o rrbb.o server.o \ - symbols.o telemetry.o textcolor.o tq.o tt_text.o tt_user.o xmit.o \ + symbols.o telemetry.o textcolor.o tq.o tt_text.o tt_user.o xid.o xmit.o \ dwgps.o dwgpsnmea.o mheard.o $(CC) $(CFLAGS) -o $@ $^ -lpthread $(LDLIBS) -lm diff --git a/Makefile.win b/Makefile.win index 24fa6ff..156e291 100644 --- a/Makefile.win +++ b/Makefile.win @@ -16,7 +16,7 @@ # -all : direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients log2gpx gen_packets atest ttcalc +all : direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients log2gpx gen_packets atest ttcalc tnctest # People say we need -mthreads option for threads to work properly. @@ -39,8 +39,6 @@ CFLAGS += -g #CFLAGS += -fsanitize=address -fno-omit-frame-pointer -# TODO: Development in progress. Don't try using yet. -#CFLAGS += -DNEW14 # # Let's see impact of various optimization levels. @@ -86,16 +84,14 @@ demod_afsk.o : fsk_demod_state.h demod_psk.o : fsk_demod_state.h -# later ax25_link.o - direwolf : direwolf.o config.o recv.o demod.o dsp.o demod_afsk.o demod_psk.o demod_9600.o hdlc_rec.o \ hdlc_rec2.o multi_modem.o rdq.o rrbb.o dlq.o \ - fcs_calc.o ax25_pad.o ax25_pad2.o \ + fcs_calc.o ax25_pad.o ax25_pad2.o xid.o \ decode_aprs.o symbols.o server.o kiss.o kissnet.o kiss_frame.o hdlc_send.o fcs_calc.o \ - gen_tone.o morse.o audio_win.o audio_stats.o digipeater.o pfilter.o dedupe.o tq.o xmit.o \ + gen_tone.o morse.o audio_win.o audio_stats.o digipeater.o cdigipeater.o pfilter.o dedupe.o tq.o xmit.o \ ptt.o beacon.o dwgps.o encode_aprs.o latlong.o textcolor.o \ dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o waypoint.o serial_port.o log.o telemetry.o \ - dwgps.o dwgpsnmea.o dtime_now.o mheard.o \ + dwgps.o dwgpsnmea.o dtime_now.o mheard.o ax25_link.o \ dw-icon.o regex.a misc.a geotranz.a $(CC) $(CFLAGS) -o $@ $^ -lwinmm -lws2_32 @@ -260,7 +256,7 @@ strlcat.o : misc/strlcat.c # Combine some unit tests into a single regression sanity check. -check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest pad2test check-modem1200 check-modem300 check-modem9600 check-modem19200 check-modem2400 check-modem4800 +check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest pad2test xidtest check-modem1200 check-modem300 check-modem9600 check-modem19200 check-modem2400 check-modem4800 # Can we encode and decode at popular data rates? # Verify that single bit fixup increases the count. @@ -317,6 +313,7 @@ atest : atest.c fsk_fast_filter.h demod.c demod_afsk.c demod_psk.c demod_9600.c rrbb.o fcs_calc.o ax25_pad.o decode_aprs.o \ dwgpsnmea.o dwgps.o serial_port.o latlong.c \ symbols.c tt_text.c textcolor.c telemetry.c dtime_now.o \ + decode_aprs.o log.o \ misc.a regex.a echo " " > tune.h $(CC) $(CFLAGS) -o $@ $^ @@ -412,10 +409,23 @@ pad2test : ax25_pad2.c ax25_pad.c fcs_calc.o textcolor.o regex.a misc.a ./pad2test rm pad2test.exe +# Unit Test for XID frame encode/decode. + +.PHONY: xidtest +xidtest : xid.c textcolor.o misc.a + $(CC) $(CFLAGS) -DXIDTEST -o $@ $^ + ./xidtest + rm xidtest.exe + + # ------------------------------ Other manual testing & experimenting ------------------------------- +tnctest : tnctest.c textcolor.o dtime_now.o serial_port.o misc.a + $(CC) $(CFLAGS) -o $@ $^ -lwinmm -lws2_32 + + # For tweaking the demodulator. demod.o : tune.h diff --git a/README.md b/README.md index dc70652..3d0cb11 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,8 @@ Decodes more than 1000 error-free frames from [WA8LMF TNC Test CD](http://wa8lmf - Includes separate raw packet decoder, decode_aprs. +- AX.25 v2.2 connected mode. (New in version 1.4.) + - Open source so you can see how it works and make your own modifications. - Runs in 3 different environments: @@ -95,4 +97,4 @@ Here are some good places to share information: - [TAPR aprssig](http://www.tapr.org/pipermail/aprssig/) - +The github "issues" section is for reporting software defects and enhancement requests. It is NOT a place to ask questions or have general discussions. Please use one of the locations above. diff --git a/atest.c b/atest.c index a97ef22..c78094a 100644 --- a/atest.c +++ b/atest.c @@ -743,6 +743,24 @@ void dlq_rec_frame (int chan, int subchan, int slice, packet_t pp, alevel_t alev ax25_safe_print ((char *)pinfo, info_len, 0); dw_printf ("\n"); +#if 1 // temp experiment TODO: remove this. + +#include "decode_aprs.h" +#include "log.h" + + if (ax25_is_aprs(pp)) { + + decode_aprs_t A; + + decode_aprs (&A, pp, 0); + + // Temp experiment to see how different systems set the RR bits in the source and destination. + // log_rr_bits (&A, pp); + + } +#endif + + ax25_delete (pp); } /* end fake dlq_append */ diff --git a/audio.h b/audio.h index 746d96d..b50c05f 100644 --- a/audio.h +++ b/audio.h @@ -89,6 +89,14 @@ struct audio_s { /* statistics reports. This is set by */ /* the "-a" option. 0 to disable feature. */ + int xmit_error_rate; /* For testing purposes, we can generate frames with an invalid CRC */ + /* to simulate corruption while going over the air. */ + /* This is the probability, in per cent, of randomly corrupting it. */ + /* Normally this is 0. 25 would mean corrupt it 25% of the time. */ + + int recv_error_rate; /* Similar but the % probablity of dropping a received frame. */ + + /* Properties for each audio channel, common to receive and transmit. */ /* Can be different for each radio channel. */ @@ -166,18 +174,20 @@ struct audio_s { int passall; /* Allow thru even with bad CRC. */ + /* Additional properties for transmit. */ /* Originally we had control outputs only for PTT. */ /* In version 1.2, we generalize this to allow others such as DCD. */ + /* In version 1.4 we add CON for connected to another station. */ /* Index following structure by one of these: */ #define OCTYPE_PTT 0 #define OCTYPE_DCD 1 -#define OCTYPE_FUTURE 2 +#define OCTYPE_CON 2 -#define NUM_OCTYPES 4 /* number of values above */ +#define NUM_OCTYPES 4 /* number of values above. WHY IS THIS NOT 3? */ struct { diff --git a/ax25_link.c b/ax25_link.c new file mode 100644 index 0000000..b15bdd9 --- /dev/null +++ b/ax25_link.c @@ -0,0 +1,6523 @@ +// +// This file is part of Dire Wolf, an amateur radio packet TNC. +// +// Copyright (C) 2016 John Langner, WB2OSZ +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + + +/*------------------------------------------------------------------ + * + * Name: ax25_link + * + * Purpose: Data Link State Machine. + * Establish connections and transfer data in the proper + * order with retries. + * + * Description: + * + * Typical sequence for establishing a connection + * initiated by a client application. Try version 2.2, + * get refused, and fall back to trying version 2.0. + * + * + * State Client App State Mach. Peer + * ----- ---------- ----------- ---- + * + * 0 disc + * Conn. Req ---> + * SABME ---> + * 5 await 2.2 + * <--- FRMR or DM *note + * SABM ---> + * 1 await 2.0 + * <--- UA + * <--- CONN Ind. + * 3 conn + * + * + * Typical sequence when other end initiates connection. + * + * + * State Client App State Mach. Peer + * ----- ---------- ----------- ---- + * + * 0 disc + * <--- SABME or SABM + * UA ---> + * <--- CONN Ind. + * 3 conn + * + * + * *note: + * + * By reading the v2.2 spec, I expected a 2.0 implementation to send + * FRMR in response to SABME. In testing, I found that the KPC-3+ sent DM. + * + * After consulting the 2.0 spec, it says, that when in disconnected + * mode, it will respond to any command other than SABM or UI frame with a DM + * response with P/F set to 1. I can see where they might get that idea. + * + * I think the rule about sending FRMR for any unrecognized command should take precedence. + * + * + * References: + * * AX.25 Amateur Packet-Radio Link-Layer Protocol Version 2.0, October 1984 + * + * https://www.tapr.org/pub_ax25.html + * + * * AX.25 Link Access Protocol for Amateur Packet Radio Version 2.2 Revision: July 1998 + * + * https://www.tapr.org/pdf/AX25.2.2.pdf + * + * * AX.25 Link Access Protocol for Amateur Packet Radio Version 2.2 Revision: July 1998 + * + * http://www.ax25.net/AX25.2.2-Jul%2098-2.pdf + * + * I accidentally stumbled across this one when searching for some sort of errata + * list for the original protocol specification. + * + * "This is a new version of the 1998 standard. It has had all figures + * redone using Microsoft Visio. Errors in the SDL have been corrected." + * + * The SDL diagrams are dated 2006. I wish I knew about this version earlier + * before doing most of the implementation. :-( + * + * + * The functions here are based on the SDL diagrams but turned inside out. + * It seems more intuitive to have a function for each type of input and then decide + * what to do depending on the state. This also reduces duplicate code because we + * often see the same flow chart segments, for the same input, appearing in multiple states. + * + * Erratum: The protocol spec has many places that appear to be errors or are ambiguous so I wasn't + * sure what to do. These should be annotated with Errata comments so we can easily go + * back and revisit them. + * + * X.25: The AX.25 protocol is based on, but does not necessarily adhere to, the X.25 protocol. + * Consulting this might provide some insights where the AX.25 spec is not clear. + * + * http://www.itu.int/rec/T-REC-X.25-199610-I/en/ + * + * Current Status: This is still under development. + * + * Features partially tested: + * + * Connect to/from a KPC-3+ and send I frames in both directions. + * v2.2 connect between two instances of direwolf. (Can't find another v2.2 for testing.) + * Modulo 8 & 128 sequence numbers. + * Recovery from simulated transmission errors using either REJ or SREJ. + * XID frame for parameter negotiation. + * Segments to allow data larger than max info part size. + * + * Implemented but not tested properly: + * + * Connecting thru digipeater(s). + * Acting as a digipeater. + * T3 timer. + * Compatibility with additional types of TNC. + * + *------------------------------------------------------------------*/ + +#include "direwolf.h" + + +#include +#include +#include +#include +#include +#include + + +#include "ax25_pad.h" +#include "ax25_pad2.h" +#include "xid.h" +#include "textcolor.h" +#include "dlq.h" +#include "tq.h" +#include "ax25_link.h" +#include "dtime_now.h" +#include "server.h" +#include "ptt.h" + + +#define MIN(a,b) ((a)<(b)?(a):(b)) +#define MAX(a,b) ((a)>(b)?(a):(b)) + +// Debug switches for different types of information. + +static int s_debug_protocol_errors = 1; // Less serious Protocol errors. + // Useful for debugging but unnecessarily alarming other times. + +static int s_debug_client_app = 0; // Interaction with client application. + // dl_connect_request, dl_data_request, dl_data_indication, etc. + +static int s_debug_radio = 0; // Received frames and channel busy status. + // lm_data_indication, lm_channel_busy + +static int s_debug_variables = 0; // Variables, state changes. + +static int s_debug_retry = 0; // Related to lost I frames, REJ, SREJ, timeout, resending. + +static int s_debug_timers = 0; // Timer details. + +static int s_debug_link_handle = 0; // Create data link state machine or pick existing one, + // based on my address, peer address, client app index, and radio channel. + +static int s_debug_stats = 0; // Statistics when connection is closed. + +static int s_debug_misc = 0; // Anything left over that might be interesting. + + +/* + * AX.25 data link state machine. + * + * One instance for each link identified by + * [ client, channel, owncall, peercall ] + */ + +enum dlsm_state_e { + state_0_disconnected = 0, + state_1_awaiting_connection = 1, + state_2_awaiting_release = 2, + state_3_connected = 3, + state_4_timer_recovery = 4, + state_5_awaiting_v22_connection = 5 }; + + +typedef struct ax25_dlsm_s { + + int magic1; // Look out for bad pointer or corruption. +#define MAGIC1 0x11592201 + + struct ax25_dlsm_s *next; // Next in linked list. + + int stream_id; // Unique number for each stream. + // Internally we use a pointer but this is more user-friendly. + + int chan; // Radio channel being used. + + int client; // We have have multiple client applications, + // each with their own links. We need to know + // which client should receive the data or + // notifications about state changes. + + + char addrs[AX25_MAX_REPEATERS][AX25_MAX_ADDR_LEN]; + // Up to 10 addresses, same order as in frame. + + int num_addr; // Number of addresses. Should be in range 2 .. 10. + +#define OWNCALL AX25_SOURCE + // addrs[OWNCALL] is owncall for this end of link. + // Note that we are acting on behalf of + // a client application so the APRS mycall + // might not be relevent. + +#define PEERCALL AX25_DESTINATION + // addrs[PEERCALL] is call for other end. + + + double start_time; // Clock time when this was allocated. Used only for + // debug output for timestamps relative to start. + + enum dlsm_state_e state; // Current state. + + int modulo; // 8 or 128. + // Determines whether we have one or two control + // octets. 128 allows a much larger window size. + + int srej_enabled; // Is other end capable of processing SREJ? (Am I allowed to send it?) + // Starts out as false for v2.0 or true for v2.2. + // Can be changed when exchanging capabilities. + // Can be used only with modulo 128. + + int n1_paclen; // Maximum length of information field, in bytes. + // Starts out as 256 but can be negotiated higher. + // (Protocol Spec has this in bits. It is in bytes here.) + // "PACLEN" in configuration file. + + int n2_retry; // Maximum number of retries permitted. + // Typically 10. + // "RETRY" parameter in configuration file. + + + int k_maxframe; // Window size. Defaults to 4 (mod 8) or 32 (mod 128). + // Maximum number of unacknowledged information + // frames that can be outstanding. + // "MAXFRAME" parameter in configuration file. + + int rc; // Retry count. Give up after n2. + + int vs; // 4.2.4.1. Send State Variable V(S) + // The send state variable exists within the TNC and is never sent. + // It contains the next sequential number to be assigned to the next + // transmitted I frame. + // This variable is updated with the transmission of each I frame. + + int va; // 4.2.4.5. Acknowledge State Variable V(A) + // The acknowledge state variable exists within the TNC and is never sent. + // It contains the sequence number of the last frame acknowledged by + // its peer [V(A)-1 equals the N(S) of the last acknowledged I frame]. + + int vr; // 4.2.4.3. Receive State Variable V(R) + // The receive state variable exists within the TNC. + // It contains the sequence number of the next expected received I frame + // This variable is updated upon the reception of an error-free I frame + // whose send sequence number equals the present received state variable value. + + int layer_3_initiated; // SABM(E) was sent by request of Layer 3; i.e. DL-CONNECT request primitive. + // I think this means that it is set only if we initiated the connection. + // It would not be set if we are in the middle of accepting a connection from the other station. + +// Next 5 are called exception conditions. + + int peer_receiver_busy; // Remote station is busy and can't receive I frames. + + int reject_exception; // A REJ frame has been sent to the remote station. (boolean) + + int own_receiver_busy; // Layer 3 is busy and can't receive I frames. + // We have no API to convey this information so it should always be 0. + + int acknowledge_pending; // I frames have been successfully received but not yet + // acknowledged to the remote station. + // Set when receiving the next expected I frame and P=0. + // This gets cleared by sending any I, RR, RNR, REJ. + // Cleared when sending SREJ with F=1. + +// Timing. + + float srt; // Smoothed roundtrip time in seconds. + // This is used to dynamically adjust t1v. + // Sometimes the flow chart has SAT instead of SRT. + // I think that is a typographical error. + + float t1v; // How long to wait for an acknowlegement before resending. + // Value used when starting timer T1, in seconds. + // "FRACK" parameter in some implementations. + // Typically it might be 3 seconds after frame has been + // sent. Add more for each digipeater in path. + // Here it is dynamically adjusted. + +// Set initial value for T1V. +// Multiply FRACK by 2*m+1, where m is number of digipeaters. + +#define INIT_T1V_SRT \ + S->t1v = g_misc_config_p->frack * (2 * (S->num_addr - 2) + 1); \ + S->srt = S->t1v / 2.0; + + + int radio_channel_busy; // Either due to DCD or PTT. + + +// Timer T1. + +// Timer values all use the usual unix time() value but double precision +// so we can have fractions of seconds. + +// T1 is used for retries along with the retry counter, "rc." +// When timer T1 is started, the value is obtained from t1v plus the current time. + + +// Appropriate functions should be used rather than accessing the values directly. + + + +// This gets a little tricky because we need to pause the timers when the radio +// channel is busy. Suppose we sent an I frame and set T1 to 4 seconds so we could +// take corrective action if there is no response in a reasonable amount of time. +// What if some other station has the channel tied up for 10 seconds? We don't want +// T1 to timeout and start a retry sequence. The solution is to pause the timers while +// the channel is busy. We don't want to get a timer expiry event when t1_exp is in +// the past if it is currently paused. When it is un-paused, the expiration time is adjusted +// for the amount of time it was paused. + + + double t1_exp; // This is the time when T1 will expire or 0 if not running. + + double t1_paused_at; // Time when it was paused or 0 if not paused. + + float t1_remaining_when_last_stopped; // Number of seconds that were left on T1 when it was stopped. + // This is used to fine tune t1v. + // Set to negative initially to mean invalid, don't use in calculation. + + int t1_had_expired; // Set when T1 expires. + // Cleared for start & stop. + + +// Timer T3. + +// T3 is used to terminate connection after extended inactivity. + + +// Similar to T1 except there is not mechanism to capture the remaining time when it is stopped +// and it is not paused when the channel is busy. + + + double t3_exp; // When it expires or 0 if not running. + +#define T3_DEFAULT 300.0 // Copied 5 minutes from Ax.25 for Linux. + // http://www.linux-ax25.org/wiki/Run_time_configurable_parameters + // D710A also defaults to 30*10 = 300 seconds. + // Should it be user-configurable? + // KPC-3+ and TM-D710A have "CHECK" command for this purpose. + +// Statistics for testing purposes. + +// Count how many frames of each type we received. +// This is easy to do because they all come in thru lm_data_indication. +// Counting outgoing could probably be done in lm_data_request so +// it would not have to be scattered all over the place. TBD + + int count_recv_frame_type[frame_not_AX25+1]; + + int peak_rc_value; // Peak value of retry count (rc). + + +// For sending data. + + cdata_t *i_frame_queue; // Connected data from client which has not been transmitted yet. + // Linked list. + + cdata_t *txdata_by_ns[128]; // Data which has already been transmitted. + // Indexed by N(S) in case it gets lost and needs to be sent again. + // Cleared out when we get ACK for it. + + int magic3; // Look out for out of bounds for above. +#define MAGIC3 0x03331301 + + cdata_t *rxdata_by_ns[128]; // "Receive buffer" + // Data which has been received out of sequence. + // Indexed by N(S). + + int magic2; // Look out for out of bounds for above. +#define MAGIC2 0x02221201 + + + +// "Management Data Link" (MDL) state machine for XID exchange. + + + enum mdl_state_e { mdl_state_0_ready=0, mdl_state_1_negotiating=1 } mdl_state; + + int mdl_rc; // Retry count, waiting to get XID response. + // The spec has provision for a separate maximum, NM201, but we + // just use the regular N2 same as other retries. + + double tm201_exp; // Timer. Similar to T1. + // The spec mentions a separate timeout value but + // we will just use the same as T1. + + double tm201_paused_at; // Time when it was paused or 0 if not paused. + +// Segment reassembler. + + cdata_t *ra_buff; // Reassembler buffer. NULL when in ready state. + + int ra_following; // Most recent number following to predict next expected. + + +} ax25_dlsm_t; + + +/* + * List of current state machines for each link. + * There is potential many client apps, each with multiple links + * connected all at the same time. + * + * Everything coming thru here should be from a single thread. + * The Data Link Queue should serialize all processing. + * Therefore, we don't have to worry about critical regions. + */ + +static ax25_dlsm_t *list_head = NULL; + + +/* + * Registered callsigns for incoming connections. + */ + +#define RC_MAGIC 0x08291951 + +typedef struct reg_callsign_s { + char callsign[AX25_MAX_ADDR_LEN]; + int chan; + int client; + struct reg_callsign_s *next; + int magic; +} reg_callsign_t; + +static reg_callsign_t *reg_callsign_list = NULL; + + +// Use these, rather than setting variables directly, to make debug out easier. + +#define SET_VS(n) { S->vs = (n); \ + if (s_debug_variables) { \ + text_color_set(DW_COLOR_DEBUG); \ + dw_printf ("V(S) = %d at %s %d\n", S->vs, __func__, __LINE__); \ + } \ + } + +// If other guy acks reception of an I frame, we should never get an REJ or SREJ +// asking for it again. When we update V(A), we should be able to remove the saved +// transmitted data, and everything preceding it, from S->txdata_by_ns[]. + +#define SET_VA(n) { S->va = (n); \ + if (s_debug_variables) { \ + text_color_set(DW_COLOR_DEBUG); \ + dw_printf ("V(A) = %d at %s %d\n", S->va, __func__, __LINE__); \ + } \ + int x = AX25MODULO(n-1, S->modulo, __FILE__, __func__, __LINE__); \ + while (S->txdata_by_ns[x] != NULL) { \ + cdata_delete (S->txdata_by_ns[x]); \ + S->txdata_by_ns[x] = NULL; \ + x = AX25MODULO(x-1, S->modulo, __FILE__, __func__, __LINE__); \ + } \ + } + +#define SET_VR(n) { S->vr = (n); \ + if (s_debug_variables) { \ + text_color_set(DW_COLOR_DEBUG); \ + dw_printf ("V(R) = %d at %s %d\n", S->vr, __func__, __LINE__); \ + } \ + } + + +//TODO: Make this a macro so we can simplify calls yet keep debug output if something goes wrong. + +static int AX25MODULO(int n, int m, const char *file, const char *func, int line) +{ + if (m != 8 && m != 128) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: %d modulo %d, %s, %s, %d\n", n, m, file, func, line); + m = 8; + } + // Use masking, rather than % operator, so negative numbers are handled properly. + return (n & (m-1)); +} + + +// Timer macros to provide debug output with location from where they are called. + +#define START_T1 start_t1(S, __func__, __LINE__) +#define IS_T1_RUNNING is_t1_running(S, __func__, __LINE__) +#define STOP_T1 stop_t1(S, __func__, __LINE__) +#define PAUSE_T1 pause_t1(S, __func__, __LINE__) +#define RESUME_T1 resume_t1(S, __func__, __LINE__) + +#define START_T3 start_t3(S, __func__, __LINE__) +#define STOP_T3 stop_t3(S, __func__, __LINE__) + +#define START_TM201 start_tm201(S, __func__, __LINE__) +#define STOP_TM201 stop_tm201(S, __func__, __LINE__) +#define PAUSE_TM201 pause_tm201(S, __func__, __LINE__) +#define RESUME_TM201 resume_tm201(S, __func__, __LINE__) + + +static void dl_data_indication (ax25_dlsm_t *S, int pid, char *data, int len); + +static void lm_seize_confirm (ax25_dlsm_t *S); + +static void i_frame (ax25_dlsm_t *S, cmdres_t cr, int p, int nr, int ns, int pid, char *info_ptr, int info_len); +static void i_frame_continued (ax25_dlsm_t *S, int p, int ns, int pid, char *info_ptr, int info_len); +static int is_ns_in_window (ax25_dlsm_t *S, int ns); +static void send_srej_frames (ax25_dlsm_t *S, int *resend, int count, int allow_f1); +static void rr_rnr_frame (ax25_dlsm_t *S, int ready, cmdres_t cr, int pf, int nr); +static void rej_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, int nr); +static void srej_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, int nr); + +static void sabm_e_frame (ax25_dlsm_t *S, int extended, int p); +static void disc_frame (ax25_dlsm_t *S, int f); +static void dm_frame (ax25_dlsm_t *S, int f); +static void ua_frame (ax25_dlsm_t *S, int f); +static void frmr_frame (ax25_dlsm_t *S); +static void ui_frame (ax25_dlsm_t *S, cmdres_t cr, int pf); +static void xid_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, unsigned char *info_ptr, int info_len); +static void test_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, unsigned char *info_ptr, int info_len); + +static void t1_expiry (ax25_dlsm_t *S); +static void t3_expiry (ax25_dlsm_t *S); +static void tm201_expiry (ax25_dlsm_t *S); + +static void nr_error_recovery (ax25_dlsm_t *S); +static void clear_exception_conditions (ax25_dlsm_t *S); +static void transmit_enquiry (ax25_dlsm_t *S); +static void select_t1_value (ax25_dlsm_t *S); +static void establish_data_link (ax25_dlsm_t *S); +static void set_version_2_0 (ax25_dlsm_t *S); +static void set_version_2_2 (ax25_dlsm_t *S); +static int is_good_nr (ax25_dlsm_t *S, int nr); +static void i_frame_pop_off_queue (ax25_dlsm_t *S); +static void discard_i_queue (ax25_dlsm_t *S); +static void invoke_retransmission (ax25_dlsm_t *S, int nr_input); +static void check_i_frame_ackd (ax25_dlsm_t *S, int nr); +static void check_need_for_response (ax25_dlsm_t *S, ax25_frame_type_t frame_type, cmdres_t cr, int pf); +static void enquiry_response (ax25_dlsm_t *S, ax25_frame_type_t frame_type, int f); + +static void enter_new_state(ax25_dlsm_t *S, enum dlsm_state_e new_state, const char *from_func, int from_line); + +static void mdl_negotiate_request (ax25_dlsm_t *S); +static void initiate_negotiation (ax25_dlsm_t *S, struct xid_param_s *param); +static void negotiation_response (ax25_dlsm_t *S, struct xid_param_s *param); +static void complete_negotiation (ax25_dlsm_t *S, struct xid_param_s *param); + + +// Use macros above rather than calling these directly. + +static void start_t1 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void stop_t1 (ax25_dlsm_t *S, const char *from_func, int from_line); +static int is_t1_running (ax25_dlsm_t *S, const char *from_func, int from_line); +static void pause_t1 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void resume_t1 (ax25_dlsm_t *S, const char *from_func, int from_line); + +static void start_t3 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void stop_t3 (ax25_dlsm_t *S, const char *from_func, int from_line); + +static void start_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void stop_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void pause_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line); +static void resume_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line); + + + +/* + * Configuration settings from file or command line. + */ + +static struct misc_config_s *g_misc_config_p; + + +/*------------------------------------------------------------------- + * + * Name: ax25_link_init + * + * Purpose: Initialize the ax25_link module. + * + * Inputs: pconfig - misc. configuration from config file or command line. + * Beacon stuff ended up here. + * + * Outputs: Remember required information for future use. That's all. + * + *--------------------------------------------------------------------*/ + +void ax25_link_init (struct misc_config_s *pconfig) +{ + +/* + * Save parameters for later use. + */ + g_misc_config_p = pconfig; + +} /* end ax25_link_init */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: get_link_handle + * + * Purpose: Find existing (or possibly create) state machine for a given link. + * It should be possible to have a large number of links active at the + * same time. They are uniquely identified by + * (owncall, peercall, client id, radio channel) + * Note that we could have multiple client applications, all sharing one + * TNC, on the same or different radio channels, completely unware of each other. + * + * Inputs: addrs - Owncall, peercall, and optional digipeaters. + * For ease of passing this around, it is an array in the + * same order as in the frame. + * + * num_addr - Number of addresses, 2 thru 10. + * + * chan - Radio channel number. + * + * client - Client app number. + * We allow multiple concurrent applications with the + * AGW network protocol. These are identified as 0, 1, ... + * We don't know this for an incoming frame from the radio + * so it is -1 at this point. At a later time will will + * associate the stream with the right client. + * + * create - True if OK to create a new one. + * Otherwise, return only one already existing. + * + * This should always be true for outgoing frames. + * For incoming frames this would be true only for SABM(e) + * with all digipeater fields marked as used. + * + * Here, we will also check to see if it is in our + * registered callsign list. + * + * Returns: Handle for data link state machine. + * NULL if not found and 'create' is false. + * + * Description: Try to find an existing entry matching owncall, peercall, channel, + * and client. If not found create a new one. + * + *------------------------------------------------------------------------------*/ + +static int next_stream_id = 0; + +static ax25_dlsm_t *get_link_handle (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_addr, int chan, int client, int create) +{ + + ax25_dlsm_t *p; + + + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle (%s>%s, chan=%d, client=%d, create=%d)\n", + addrs[AX25_SOURCE], addrs[AX25_DESTINATION], chan, client, create); + } + + +// Look for existing. + + if (client == -1) { // from the radio. + // address order is reversed for compare. + for (p = list_head; p != NULL; p = p->next) { + + if (p->chan == chan && + strcmp(addrs[AX25_DESTINATION], p->addrs[OWNCALL]) == 0 && + strcmp(addrs[AX25_SOURCE], p->addrs[PEERCALL]) == 0) { + + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle returns existing stream id %d for incoming.\n", p->stream_id); + } + return (p); + } + } + } + else { // from client app + for (p = list_head; p != NULL; p = p->next) { + + if (p->chan == chan && + p->client == client && + strcmp(addrs[AX25_SOURCE], p->addrs[OWNCALL]) == 0 && + strcmp(addrs[AX25_DESTINATION], p->addrs[PEERCALL]) == 0) { + + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle returns existing stream id %d for outgoing.\n", p->stream_id); + } + return (p); + } + } + } + + +// Could not find existing. Should we create a new one? + + if ( ! create) { + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle: Search failed. Do not create new.\n"); + } + return (NULL); + } + + +// If it came from the radio, search for destination our registered callsign list. + + int incoming_for_client = -1; // which client app registered the callsign? + + + if (client == -1) { // from the radio. + + reg_callsign_t *r, *found; + + found = NULL; + for (r = reg_callsign_list; r != NULL && found == NULL; r = r->next) { + + if (strcmp(addrs[AX25_DESTINATION], r->callsign) == 0 && chan == r->chan) { + found = r; + incoming_for_client = r->client; + } + } + + if (found == NULL) { + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle: not for me. Ignore it.\n"); + } + return (NULL); + } + } + +// Create new data link state machine. + + p = calloc (sizeof(ax25_dlsm_t), 1); + p->magic1 = MAGIC1; + p->start_time = dtime_now(); + p->stream_id = next_stream_id++; + p->modulo = 8; + + p->chan = chan; + p->num_addr = num_addr; + +// If it came in over the radio, we need to swap source/destination and reverse any digi path. + + if (incoming_for_client >= 0) { + strlcpy (p->addrs[AX25_SOURCE], addrs[AX25_DESTINATION], sizeof(p->addrs[AX25_SOURCE])); + strlcpy (p->addrs[AX25_DESTINATION], addrs[AX25_SOURCE], sizeof(p->addrs[AX25_DESTINATION])); + + int j = AX25_REPEATER_1; + int k = num_addr - 1; + while (k >= AX25_REPEATER_1) { + strlcpy (p->addrs[j], addrs[k], sizeof(p->addrs[j])); + j++; + k--; + } + + p->client = incoming_for_client; + } + else { + memcpy (p->addrs, addrs, sizeof(p->addrs)); + p->client = client; + } + + p->state = state_0_disconnected; + p->t1_remaining_when_last_stopped = -999; // Invalid, don't use. + + p->magic2 = MAGIC2; + p->magic3 = MAGIC3; + + // No need for critical region because this should all be in one thread. + p->next = list_head; + list_head = p; + + if (s_debug_link_handle) { + text_color_set(DW_COLOR_DECODED); + dw_printf ("get_link_handle returns NEW stream id %d\n", p->stream_id); + } + + return (p); +} + + + + + + +//################################################################################### +//################################################################################### +// +// Data Link state machine for sending data in connected mode. +// +// Incoming: +// +// Requests from the client application. Set s_debug_client_app for debugging. +// +// dl_connect_request +// dl_disconnect_request +// dl_data_request - send connected data +// dl_unit_data_request - not implemented. APRS & KISS bypass this +// dl_flow_off - not implemented. Not in AGW API. +// dl_flow_on - not implemented. Not in AGW API. +// dl_register_callsign - Register callsigns(s) for incoming connection requests. +// dl_unregister_callsign - Unregister callsigns(s) ... +// dl_client_cleanup - Clean up after client which has disappeared. +// +// Stuff from the radio channel. Set s_debug_radio for debugging. +// +// lm_data_indication - Received frame. +// lm_channel_busy - Change in PTT or DCD. +// lm_seize_confirm - We have started to transmit. +// +// Timer expiration. Set s_debug_timers for debugging. +// +// dl_timer_expiry +// +// Outgoing: +// +// To the client application: +// +// dl_data_indication - received connected data. +// +// To the transmitter: +// +// lm_data_request - Queue up a frame for transmission. +// +// lm_seize_request - Start transmitter when possible. +// lm_seize_confirm will be called when it has. +// +// +// It is important that all requests come thru the data link queue so +// everything is serialized. +// We don't have to worry about being reentrant or critical regions. +// Nothing here should consume a significant amount of time. +// i.e. There should be no sleep delay or anything that would block waiting on someone else. +// +//################################################################################### +//################################################################################### + + + +/*------------------------------------------------------------------------------ + * + * Name: dl_connect_request + * + * Purpose: Client app wants to connect to another station. + * + * Inputs: E - Event from the queue. + * The caller will free it. + * + * Description: + * + *------------------------------------------------------------------------------*/ + +void dl_connect_request (dlq_item_t *E) +{ + ax25_dlsm_t *S; + int ok_to_create = 1; + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_connect_request ()\n"); + } + + text_color_set(DW_COLOR_INFO); + dw_printf ("Attempting connect to %s ...\n", E->addrs[PEERCALL]); + + S = get_link_handle (E->addrs, E->num_addr, E->chan, E->client, ok_to_create); + + switch (S->state) { + + case state_0_disconnected: + + INIT_T1V_SRT; + + if (g_misc_config_p->maxv22 == 0) { // Don't attempt v2.2. + + set_version_2_0 (S); + + establish_data_link (S); + S->layer_3_initiated = 1; + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + } + else { // Try v2.2 first, then fall back if appropriate. + + set_version_2_2 (S); + + establish_data_link (S); + S->layer_3_initiated = 1; + enter_new_state (S, state_5_awaiting_v22_connection, __func__, __LINE__); + } + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + discard_i_queue(S); + S->layer_3_initiated = 1; + // Keep current state. + break; + + case state_2_awaiting_release: + + // Keep current state. + break; + + case state_3_connected: + case state_4_timer_recovery: + + discard_i_queue(S); + establish_data_link(S); + S->layer_3_initiated = 1; + // My enhancement. Original always sent SABM and went to state 1. + // If we were using v2.2, why not reestablish with that? + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + break; + } + +} /* end dl_connect_request */ + + +/*------------------------------------------------------------------------------ + * + * Name: dl_disconnect_request + * + * Purpose: Client app wants to terminate connection with another station. + * + * Inputs: E - Event from the queue. + * The caller will free it. + * + * Outputs: + * + * Description: + * + *------------------------------------------------------------------------------*/ + +void dl_disconnect_request (dlq_item_t *E) +{ + ax25_dlsm_t *S; + int ok_to_create = 1; + + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_disconnect_request ()\n"); + } + + text_color_set(DW_COLOR_INFO); + dw_printf ("Disconnect from %s ...\n", E->addrs[PEERCALL]); + + S = get_link_handle (E->addrs, E->num_addr, E->chan, E->client, ok_to_create); + + switch (S->state) { + + case state_0_disconnected: + + // DL-DISCONNECT *confirm* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + +// TODO: FIXME requeue. Not sure what to do here. +// If we put it back in the queue we will get it back again probably still in same state. +// Need a way to defer it until the next state change. + + break; + + case state_2_awaiting_release: + { + // Erratum. Flow chart simply says "DM (expedited)." + // This is the only place we have expedited. Is this correct? + + cmdres_t cr = cr_res; // DM can only be response. + int p = 0; + int nopid = 0; // PID applies only to I and UI frames. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, cr, frame_type_U_DM, p, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_0_HI, pp); // HI means expedited. + + STOP_T1; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + discard_i_queue (S); + S->rc = 0; // I think this should be 1 but I'm not that worried about it. + + cmdres_t cmd = cr_cmd; + int p = 1; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, cmd, frame_type_U_DISC, p, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + STOP_T3; + START_T1; + enter_new_state (S, state_2_awaiting_release, __func__, __LINE__); + + break; + } + +} /* end dl_disconnect_request */ + + +/*------------------------------------------------------------------------------ + * + * Name: dl_data_request + * + * Purpose: Client app wants to send data to another station. + * + * Inputs: E - Event from the queue. + * The caller will free it. + * + * Description: Append the transmit data block to the I frame queue for later processing. + * + * We also perform the segmentation handling here. + * + * C6.1 Segmenter State Machine + * Only the following DL primitives will be candidates for modification by the segmented + * state machine: + + * * DL-DATA Request. The user employs this primitive to provide information to be + * transmitted using connection-oriented procedures; i.e., using I frames. The + * segmenter state machine examines the quantity of data to be transmitted. If the + * quantity of data to be transmitted is less than or equal to the data link parameter + * N1, the segmenter state machine passes the primitive through transparently. If the + * quantity of data to be transmitted exceeds the data link parameter N1, the + * segmenter chops up the data into segments of length N1-2 octets. Each segment is + * prepended with a two octet header. (See Figures 3.1 and 3.2.) The segments are + * then turned over to the Data-link State Machine for transmission, using multiple DL + * Data Request primitives. All segments are turned over immediately; therefore the + * Data-link State Machine will transmit them consecutively on the data link. + * + * Erratum: Not sure how to interpret that. See example below for how it was implemented. + * + *------------------------------------------------------------------------------*/ + +static void data_request_good_size (ax25_dlsm_t *S, cdata_t *txdata); + + +void dl_data_request (dlq_item_t *E) +{ + ax25_dlsm_t *S; + int ok_to_create = 1; + int nseg_to_follow; + int orig_offset, remaining_len; + + + S = get_link_handle (E->addrs, E->num_addr, E->chan, E->client, ok_to_create); + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_data_request (\""); + ax25_safe_print (E->txdata->data, E->txdata->len, 1); + dw_printf ("\") state=%d\n", S->state); + } + + if (E->txdata->len <= S->n1_paclen) { + data_request_good_size (S, E->txdata); + E->txdata = NULL; // Now part of transmit I frame queue. + return; + } + +// More interesting case. +// It is too large to fit in one frame so we segment it. + +// As an example, suppose we had 6 bytes of data "ABCDEF". + +// If N1 >= 6, it would be sent normally. + +// (addresses) +// (control bytes) +// PID, typically 0xF0 +// 'A' - first byte of information field +// 'B' +// 'C' +// 'D' +// 'E' +// 'F' + +// Now consider the case where it would not fit. +// We would change the PID to 0x08 meaning a segment. +// The information part is the segment identifier of this format: +// +// x xxxxxxx +// | ---+--- +// | | +// | +- Number of additional segments to follow. +// | +// +- '1' means it is the first segment. + +// If N1 = 4, it would be split up like this: + +// (addresses) +// (control bytes) +// PID = 0x08 means segment +// 0x82 - Start of info field. +// MSB set indicates FIRST segment. +// 2, in lower 7 bits, means 2 more segments to follow. +// 0xF0 - original PID, typical value. +// 'A' - For the FIRST segment, we have PID and N1-2 data bytes. +// 'B' + +// (addresses) +// (control bytes) +// PID = 0x08 means segment +// 0x01 - Means 1 more segment follows. +// 'C' - For subsequent (not first) segments, we have up to N1-1 data bytes. +// 'D' +// 'E' + +// (addresses) +// (control bytes) +// PID = 0x08 +// 0x00 - 0 means no more to follow. i.e. This is the last. +// 'E' + + +// Number of segments is ceiling( (datalen + 1 ) / (N1 - 1)) + +// we add one to datalen for the original PID. +// We subtract one from N1 for the segment identifier header. + +#define DIVROUNDUP(a,b) (((a)+(b)-1) / (b)) + +// Compute number of segments. +// We will decrement this before putting it in the frame so the first +// will have one less than this number. + + nseg_to_follow = DIVROUNDUP(E->txdata->len + 1, S->n1_paclen - 1); + + if (nseg_to_follow < 2 || nseg_to_follow > 128) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, Segmentation line %d, data length = %d, N1 = %d, number of segments = %d\n", + __LINE__, E->txdata->len, S->n1_paclen, nseg_to_follow); + cdata_delete (E->txdata); + E->txdata = NULL; + return; + } + + orig_offset = 0; + remaining_len = E->txdata->len; + +// First segment. + + int seglen; + struct { + char header; // 0x80 + number of segments to follow. + char original_pid; + char segdata[AX25_N1_PACLEN_MAX]; + } first_segment; + cdata_t *new_txdata; + + nseg_to_follow--; + + first_segment.header = 0x80 | nseg_to_follow; + first_segment.original_pid = E->txdata->pid; + seglen = MIN(S->n1_paclen - 2, remaining_len); + + if (seglen < 1 || seglen > S->n1_paclen - 2 || seglen > remaining_len || seglen > sizeof (first_segment.segdata)) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, Segmentation line %d, data length = %d, N1 = %d, segment length = %d, number to follow = %d\n", + __LINE__, E->txdata->len, S->n1_paclen, seglen, nseg_to_follow); + cdata_delete (E->txdata); + E->txdata = NULL; + return; + } + + memcpy (first_segment.segdata, E->txdata->data + orig_offset, seglen); + + new_txdata = cdata_new(AX25_PID_SEGMENTATION_FRAGMENT, (char*)(&first_segment), seglen+2); + + data_request_good_size (S, new_txdata); + + orig_offset += seglen; + remaining_len -= seglen; + + +// Subsequent segments. + + do { + struct { + char header; // Number of segments to follow. + char segdata[AX25_N1_PACLEN_MAX]; + } subsequent_segment; + + nseg_to_follow--; + + subsequent_segment.header = nseg_to_follow; + seglen = MIN(S->n1_paclen - 1, remaining_len); + + if (seglen < 1 || seglen > S->n1_paclen - 1 || seglen > remaining_len || seglen > sizeof (subsequent_segment.segdata)) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, Segmentation line %d, data length = %d, N1 = %d, segment length = %d, number to follow = %d\n", + __LINE__, E->txdata->len, S->n1_paclen, seglen, nseg_to_follow); + cdata_delete (E->txdata); + E->txdata = NULL; + return; + } + + memcpy (subsequent_segment.segdata, E->txdata->data + orig_offset, seglen); + + new_txdata = cdata_new(AX25_PID_SEGMENTATION_FRAGMENT, (char*)(&subsequent_segment), seglen+1); + + data_request_good_size (S, new_txdata); + + orig_offset += seglen; + remaining_len -= seglen; + + } while (nseg_to_follow > 0); + + if (remaining_len != 0 || orig_offset != E->txdata->len) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, Segmentation line %d, data length = %d, N1 = %d, remaining length = %d (not 0), orig offset = %d (not %d)\n", + __LINE__, E->txdata->len, S->n1_paclen, remaining_len, orig_offset, E->txdata->len); + } + + cdata_delete (E->txdata); + E->txdata = NULL; + +} /* end dl_data_request */ + + +static void data_request_good_size (ax25_dlsm_t *S, cdata_t *txdata) +{ + switch (S->state) { + + case state_0_disconnected: + case state_2_awaiting_release: +/* + * Discard it. + */ + cdata_delete (txdata); + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: +/* + * Erratum? + * The flow chart shows "push on I frame queue" if layer 3 initiated + * is NOT set. This seems backwards but I don't understand enough yet + * to make a compelling argument that it is wrong. + * Implemented as in flow chart. + * TODO: Get better understanding of what'layer_3_initiated' means. + */ + if (S->layer_3_initiated) { + cdata_delete (txdata); + break; + } + // otherwise fall thru. + + case state_3_connected: + case state_4_timer_recovery: +/* + * "push on I frame queue" + * Append to the end would have been a better description because push implies a stack. + */ + + if (S->i_frame_queue == NULL) { + txdata->next = NULL; + S->i_frame_queue = txdata; + } + else { + cdata_t *plast = S->i_frame_queue; + while (plast->next != NULL) { + plast = plast->next; + } + txdata->next = NULL; + plast->next = txdata; + } + break; + } + + i_frame_pop_off_queue (S); + +} /* end data_request_good_size */ + + +/*------------------------------------------------------------------------------ + * + * Name: dl_register_callsign + * dl_unregister_callsign + * + * Purpose: Register / Unregister callsigns that we will accept connections for. + * + * Inputs: E - Event from the queue. + * The caller will free it. + * + * Outputs: New item is pushed on the head of the reg_callsign_list. + * We don't bother checking for duplicates so the most recent wins. + * + * Description: The data link state machine does not use MYCALL from the APRS configuration. + * For outgoing frames, the client supplies the source callsign. + * For incoming connection requests, we need to know what address(es) to respond to. + * + * Note that one client application can register multiple callsigns for + * multiple channels. + * Different clients can register different different addresses on the same channel. + * + *------------------------------------------------------------------------------*/ + +void dl_register_callsign (dlq_item_t *E) +{ + reg_callsign_t *r; + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_register_callsign (%s, chan=%d, client=%d)\n", E->addrs[0], E->chan, E->client); + } + + r = calloc(sizeof(reg_callsign_t),1); + strlcpy (r->callsign, E->addrs[0], sizeof(r->callsign)); + r->chan = E->chan; + r->client = E->client; + r->next = reg_callsign_list; + r->magic = RC_MAGIC; + + reg_callsign_list = r; + +} /* end dl_register_callsign */ + + +void dl_unregister_callsign (dlq_item_t *E) +{ + reg_callsign_t *r, *prev; + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_unregister_callsign (%s, chan=%d, client=%d)\n", E->addrs[0], E->chan, E->client); + } + + prev = NULL; + r = reg_callsign_list; + while (r != NULL) { + + assert (r->magic == RC_MAGIC); + + if (strcmp(r->callsign,E->addrs[0]) == 0 && r->chan == E->chan && r->client == E->client) { + + if (r == reg_callsign_list) { + + reg_callsign_list = r->next; + memset (r, 0, sizeof(reg_callsign_t)); + free (r); + r = reg_callsign_list; + } + else { + + prev->next = r->next; + memset (r, 0, sizeof(reg_callsign_t)); + free (r); + r = prev->next; + } + } + else { + prev = r; + r = r->next; + } + } + +} /* end dl_unregister_callsign */ + + + +/*------------------------------------------------------------------------------ + * + * Name: dl_client_cleanup + * + * Purpose: Client app has gone away. Clean up any data associated with it. + * + * Inputs: E - Event from the queue. + * The caller will free it. + * + + * Description: By client application we mean something that attached with the + * AGW network protocol. + * + * Clean out anything related to the specfied client application. + * This would include state machines and registered callsigns. + * + *------------------------------------------------------------------------------*/ + +void dl_client_cleanup (dlq_item_t *E) +{ + ax25_dlsm_t *S; + ax25_dlsm_t *dlprev; + reg_callsign_t *r, *rcprev; + + + if (s_debug_client_app) { + text_color_set(DW_COLOR_INFO); + dw_printf ("dl_client_cleanup (%d)\n", E->client); + } + + + dlprev = NULL; + S = list_head; + while (S != NULL) { + + // Look for corruption or double freeing. + + assert (S->magic1 == MAGIC1); + assert (S->magic2 == MAGIC2); + assert (S->magic3 == MAGIC3); + + if (S->client == E->client ) { + + int n; + + if (s_debug_stats) { + text_color_set(DW_COLOR_INFO); + dw_printf ("%d I frames received\n", S->count_recv_frame_type[frame_type_I]); + + dw_printf ("%d RR frames received\n", S->count_recv_frame_type[frame_type_S_RR]); + dw_printf ("%d RNR frames received\n", S->count_recv_frame_type[frame_type_S_RNR]); + dw_printf ("%d REJ frames received\n", S->count_recv_frame_type[frame_type_S_REJ]); + dw_printf ("%d SREJ frames received\n", S->count_recv_frame_type[frame_type_S_SREJ]); + + dw_printf ("%d SABME frames received\n", S->count_recv_frame_type[frame_type_U_SABME]); + dw_printf ("%d SABM frames received\n", S->count_recv_frame_type[frame_type_U_SABM]); + dw_printf ("%d DISC frames received\n", S->count_recv_frame_type[frame_type_U_DISC]); + dw_printf ("%d DM frames received\n", S->count_recv_frame_type[frame_type_U_DM]); + dw_printf ("%d UA frames received\n", S->count_recv_frame_type[frame_type_U_UA]); + dw_printf ("%d FRMR frames received\n", S->count_recv_frame_type[frame_type_U_FRMR]); + dw_printf ("%d UI frames received\n", S->count_recv_frame_type[frame_type_U_UI]); + dw_printf ("%d XID frames received\n", S->count_recv_frame_type[frame_type_U_XID]); + dw_printf ("%d TEST frames received\n", S->count_recv_frame_type[frame_type_U_TEST]); + + dw_printf ("%d peak retry count\n", S->peak_rc_value); + } + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dl_client_cleanup: remove %s>%s\n", S->addrs[AX25_SOURCE], S->addrs[AX25_DESTINATION]); + } + + discard_i_queue (S); + + for (n = 0; n < 128; n++) { + if (S->txdata_by_ns[n] != NULL) { + cdata_delete (S->txdata_by_ns[n]); + S->txdata_by_ns[n] = NULL; + } + } + + for (n = 0; n < 128; n++) { + if (S->rxdata_by_ns[n] != NULL) { + cdata_delete (S->rxdata_by_ns[n]); + S->rxdata_by_ns[n] = NULL; + } + } + + if (S->ra_buff != NULL) { + cdata_delete (S->ra_buff); + S->ra_buff = NULL; + } + + // Put into disconnected state. + // If "connected" indicator (e.g. LED) was on, this will turn it off. + + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + + // Take S out of list. + + S->magic1 = 0; + S->magic2 = 0; + S->magic3 = 0; + + if (S == list_head) { // first one on list. + + list_head = S->next; + free (S); + S = list_head; + } + else { // not the first one. + dlprev->next = S->next; + free (S); + S = dlprev->next; + } + } + else { + dlprev = S; + S = S->next; + } + } + +/* + * If there are no link state machines (streams) remaining, there should be no txdata items still allocated. + */ + if (list_head == NULL) { + cdata_check_leak(); + } + +/* + * Remove registered callsigns for this client. + */ + + rcprev = NULL; + r = reg_callsign_list; + while (r != NULL) { + + assert (r->magic == RC_MAGIC); + + if (r->client == E->client) { + + if (r == reg_callsign_list) { + + reg_callsign_list = r->next; + memset (r, 0, sizeof(reg_callsign_t)); + free (r); + r = reg_callsign_list; + } + else { + + rcprev->next = r->next; + memset (r, 0, sizeof(reg_callsign_t)); + free (r); + r = rcprev->next; + } + } + else { + rcprev = r; + r = r->next; + } + } + +} /* end dl_client_cleanup */ + + + +/*------------------------------------------------------------------------------ + * + * Name: dl_data_indication + * + * Purpose: send connected data to client application. + * + * Inputs: pid - Protocol ID. + * + * data - Pointer to array of bytes. + * + * len - Number of bytes in data. + * + * + * Description: TODO: We perform reassembly of segments here if necessary. + * + *------------------------------------------------------------------------------*/ + +static void dl_data_indication (ax25_dlsm_t *S, int pid, char *data, int len) +{ + + + +// Now it gets more interesting. We need to combine segments before passing it along. + +// See example in dl_data_request. + + if (S->ra_buff == NULL) { + +// Ready state. + + if (pid != AX25_PID_SEGMENTATION_FRAGMENT) { + server_rec_conn_data (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], pid, data, len); + return; + } + else if (data[0] & 0x80) { + +// Ready state, First segment. + + S->ra_following = data[0] & 0x7f; + int total = (S->ra_following + 1) * (len - 1) - 1; // len should be other side's N1 + S->ra_buff = cdata_new(data[1], NULL, total); + S->ra_buff->size = total; // max that we are expecting. + S->ra_buff->len = len - 2; // how much accumulated so far. + memcpy (S->ra_buff->data, data + 2, len - 2); + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Reassembler Protocol Error Z: Not first segment in ready state.\n", S->stream_id); + } + } + else { + +// Reassembling data state + + if (pid != AX25_PID_SEGMENTATION_FRAGMENT) { + + server_rec_conn_data (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], pid, data, len); + + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Reassembler Protocol Error Z: Not segment in reassembling state.\n", S->stream_id); + cdata_delete(S->ra_buff); + S->ra_buff = NULL; + return; + } + else if (data[0] & 0x80) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Reassembler Protocol Error Z: First segment in reassembling state.\n", S->stream_id); + cdata_delete(S->ra_buff); + S->ra_buff = NULL; + return; + } + else if ((data[0] & 0x7f) != S->ra_following - 1) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Reassembler Protocol Error Z: Segments out of sequence.\n", S->stream_id); + cdata_delete(S->ra_buff); + S->ra_buff = NULL; + return; + } + else { + +// Reassembling data state, Not first segment. + + S->ra_following = data[0] & 0x7f; + if (S->ra_buff->len + len - 1 <= S->ra_buff->size) { + memcpy (S->ra_buff->data + S->ra_buff->len, data + 1, len - 1); + S->ra_buff->len += len - 1; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Reassembler Protocol Error Z: Segments exceed buffer space.\n", S->stream_id); + cdata_delete(S->ra_buff); + S->ra_buff = NULL; + return; + } + + if (S->ra_following == 0) { +// Last one. + server_rec_conn_data (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], S->ra_buff->pid, S->ra_buff->data, S->ra_buff->len); + cdata_delete(S->ra_buff); + S->ra_buff = NULL; + } + } + } + + +} /* end dl_data_indication */ + + + +/*------------------------------------------------------------------------------ + * + * Name: lm_channel_busy + * + * Purpose: Change in DCD or PTT status for channel so we know when it is busy. + * + * Inputs: E - Event from the queue. + * + * E->chan - Radio channel number. + * + * E->activity - OCTYPE_PTT for my transmission start/end. + * - OCTYPE_DCD if we hear someone else. + * + * E->status - 1 for active or 0 for quiet. + * + * Outputs: S->radio_channel_busy + * + * T1 & TM201 paused/resumed if running. + * + * Description: We need to pause the timers when the channel is busy. + * + * Signal lm_seize_confirm when we have started to transmit. + * + *------------------------------------------------------------------------------*/ + +static int dcd_status[MAX_CHANS]; +static int ptt_status[MAX_CHANS]; + +void lm_channel_busy (dlq_item_t *E) +{ + int busy; + + assert (E->chan >= 0 && E->chan < MAX_CHANS); + assert (E->activity == OCTYPE_PTT || E->activity == OCTYPE_DCD); + assert (E->status == 1 || E->status == 0); + + switch (E->activity) { + + case OCTYPE_DCD: + + if (s_debug_radio) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("lm_channel_busy: DCD chan %d = %d\n", E->chan, E->status); + } + + dcd_status[E->chan] = E->status; + break; + + case OCTYPE_PTT: + + if (s_debug_radio) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("lm_channel_busy: PTT chan %d = %d\n", E->chan, E->status); + } + + ptt_status[E->chan] = E->status; + break; + + default: + break; + } + + busy = dcd_status[E->chan] | ptt_status[E->chan]; + +/* + * We know if the given radio channel is busy or not. + * This must be applied to all data link state machines associated with that radio channel. + */ + + ax25_dlsm_t *S; + + for (S = list_head; S != NULL; S = S->next) { + + if (E->chan == S->chan) { + + if (busy && ! S->radio_channel_busy) { + S->radio_channel_busy = 1; + PAUSE_T1; + PAUSE_TM201; + + // Did channel become busy due to PTT turning on? + + if ( E->activity == OCTYPE_PTT && E->status == 1) { + + lm_seize_confirm (S); // C4.2. "This primitive indicates, to the Data-link State + // machine, that the transmission opportunity has arrived." + } + } + else if ( ! busy && S->radio_channel_busy) { + S->radio_channel_busy = 0; + RESUME_T1; + RESUME_TM201; + } + } + } + +} /* end lm_channel_busy */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: lm_seize_confirm + * + * Purpose: Notification the the channel is clear. + * + * Description: C4.2. This primitive indicates to the Data-link State Machine that + * the transmission opportunity has arrived. + * + *------------------------------------------------------------------------------*/ + +static void lm_seize_confirm (ax25_dlsm_t *S) +{ + + switch (S->state) { + + case state_0_disconnected: + case state_1_awaiting_connection: + case state_2_awaiting_release: + case state_5_awaiting_v22_connection: + + break; + + case state_3_connected: + case state_4_timer_recovery: + + if (S->acknowledge_pending) { + S->acknowledge_pending = 0; + enquiry_response (S, frame_not_AX25, 0); + } + +// Implemenation difference: The flow chart for state 3 has LM-RELEASE Request here. +// I don't think I need it because the transmitter will turn off +// automatically once the queue is empty. + +// Erratum: The original spec had LM-SEIZE request here, for state 4, which didn't seem right. +// The 2006 revision has LM-RELEASE Request so states 3 & 4 are the same. + + break; + } + +} /* lm_seize_confirm */ + + + +/*------------------------------------------------------------------------------ + * + * Name: lm_data_indication + * + * Purpose: We received some sort of frame over the radio. + * + * Inputs: E - Event from the queue. + * Caller is responsible for freeing it. + * + * Description: First determine if is of interest to me. Two cases: + * + * (1) We already have a link handle for (from-addr, to-addr, channel). + * This could have been set up by an outgoing connect request. + * + * (2) It is addressed to one of the registered callsigns. This would + * catch the case of incoming connect requests. The APRS MYCALL + * is not involved at all. The attached client app might have + * much different ideas about what the station is called or + * aliases it might respond to. + * + *------------------------------------------------------------------------------*/ + +void lm_data_indication (dlq_item_t *E) +{ + ax25_frame_type_t ftype; + char desc[80]; + cmdres_t cr; + int pf; + int nr; + int ns; + ax25_dlsm_t *S; + int client_not_applicable = -1; + int n; + int any_unused_digi; + + + if (E->pp == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal Error, packet pointer is null. %s %s %d\n", __FILE__, __func__, __LINE__); + return; + } + + E->num_addr = ax25_get_num_addr(E->pp); + +// Digipeating is not done here so consider only those with no unused digipeater addresses. + + any_unused_digi = 0; + + for (n = AX25_REPEATER_1; n < E->num_addr; n++) { + if ( ! ax25_get_h(E->pp, n)) { + any_unused_digi = 1; + } + } + + if (any_unused_digi) { + if (s_debug_radio) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("lm_data_indication (%d, %s>%s) - ignore due to unused digi address.\n", E->chan, E->addrs[AX25_SOURCE], E->addrs[AX25_DESTINATION]); + } + return; + } + +// Copy addresses from frame into event structure. + + for (n = 0; n < E->num_addr; n++) { + ax25_get_addr_with_ssid (E->pp, n, E->addrs[n]); + } + + if (s_debug_radio) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("lm_data_indication (%d, %s>%s)\n", E->chan, E->addrs[AX25_SOURCE], E->addrs[AX25_DESTINATION]); + } + +// Look for existing, or possibly create new, link state matching addresses and channel. + +// In most cases, we can ignore the frame if we don't have a corresponding +// data link state machine. However, we might want to create a new one for SABM or SABME. +// get_link_handle will check to see if the destination matches my address. + +// TODO: This won't work right because we don't know the modulo yet. +// Maybe we should have a shorter form that only returns the frame type. +// That is all we need at this point. + + ftype = ax25_frame_type (E->pp, &cr, desc, &pf, &nr, &ns); + + S = get_link_handle (E->addrs, E->num_addr, E->chan, client_not_applicable, + (ftype == frame_type_U_SABM) | (ftype == frame_type_U_SABME)); + + if (S == NULL) { + return; + } + +/* + * There is not a reliable way to tell if a frame, out of context, has modulo 8 or 128 + * sequence numbers. This needs to be supplied from the data link state machine. + * + * We can't do this until we get the link handle. + */ + + ax25_set_modulo (E->pp, S->modulo); + +/* + * Now we need to use ax25_frame_type again because the previous results, for nr and ns, might be wrong. + */ + + ftype = ax25_frame_type (E->pp, &cr, desc, &pf, &nr, &ns); + +// Gather statistics useful for testing. + + if (ftype >= 0 && ftype <= frame_not_AX25) { + S->count_recv_frame_type[ftype]++; + } + + switch (ftype) { + + case frame_type_I: + if (cr != cr_cmd) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error S: %s must be COMMAND.\n", S->stream_id, desc); + } + break; + + case frame_type_S_RR: + case frame_type_S_RNR: + case frame_type_S_REJ: + if (cr != cr_cmd && cr != cr_res) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error: %s must be COMMAND or RESPONSE.\n", S->stream_id, desc); + } + break; + + case frame_type_U_SABME: + case frame_type_U_SABM: + case frame_type_U_DISC: + if (cr != cr_cmd) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error: %s must be COMMAND.\n", S->stream_id, desc); + } + break; + +// Erratum: The AX.25 spec is not clear about whether SREJ should be command, response, or both. +// The underlying X.25 spec clearly says it is reponse only. Let's go with that. + + case frame_type_S_SREJ: + case frame_type_U_DM: + case frame_type_U_UA: + case frame_type_U_FRMR: + if (cr != cr_res) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error: %s must be RESPONSE.\n", S->stream_id, desc); + } + break; + + case frame_type_U_XID: + case frame_type_U_TEST: + if (cr != cr_cmd && cr != cr_res) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error: %s must be COMMAND or RESPONSE.\n", S->stream_id, desc); + } + break; + + case frame_type_U_UI: + // Don't test at this point in case an APRS frame gets thru. + // APRS doesn't specify what to put in the Source and Dest C bits. + // In practice we see all 4 possble combinations. + // I have an opinion about what would be "correct" (discussed elsewhere) + // but in practice no one seems to care. + break; + + case frame_type_U: + case frame_not_AX25: + // not expected. + break; + } + + + switch (ftype) { + + case frame_type_I: // Information + { + int pid; + unsigned char *info_ptr; + int info_len; + + pid = ax25_get_pid (E->pp); + info_len = ax25_get_info (E->pp, &info_ptr); + + i_frame (S, cr, pf, nr, ns, pid, (char *)info_ptr, info_len); + } + break; + + case frame_type_S_RR: // Receive Ready - System Ready To Receive + rr_rnr_frame (S, 1, cr, pf, nr); + break; + + case frame_type_S_RNR: // Receive Not Ready - TNC Buffer Full + rr_rnr_frame (S, 0, cr, pf, nr); + break; + + case frame_type_S_REJ: // Reject Frame - Out of Sequence or Duplicate + rej_frame (S, cr, pf, nr); + break; + + case frame_type_S_SREJ: // Selective Reject - Ask for single frame repeat + srej_frame (S, cr, pf, nr); + break; + + case frame_type_U_SABME: // Set Async Balanced Mode, Extended + sabm_e_frame (S, 1, pf); + break; + + case frame_type_U_SABM: // Set Async Balanced Mode + sabm_e_frame (S, 0, pf); + break; + + case frame_type_U_DISC: // Disconnect + disc_frame (S, pf); + break; + + case frame_type_U_DM: // Disconnect Mode + dm_frame (S, pf); + break; + + case frame_type_U_UA: // Unnumbered Acknowledge + ua_frame (S, pf); + break; + + case frame_type_U_FRMR: // Frame Reject + frmr_frame (S); + break; + + case frame_type_U_UI: // Unnumbered Information + ui_frame (S, cr, pf); + break; + + case frame_type_U_XID: // Exchange Identification + { + unsigned char *info_ptr; + int info_len; + + info_len = ax25_get_info (E->pp, &info_ptr); + + xid_frame (S, cr, pf, info_ptr, info_len); + } + break; + + case frame_type_U_TEST: // Test + { + unsigned char *info_ptr; + int info_len; + + info_len = ax25_get_info (E->pp, &info_ptr); + + test_frame (S, cr, pf, info_ptr, info_len); + } + break; + + case frame_type_U: // other Unnumbered, not used by AX.25. + break; + + case frame_not_AX25: // Could not get control byte from frame. + break; + } + + i_frame_pop_off_queue (S); + +} /* end lm_data_indication */ + + + +/*------------------------------------------------------------------------------ + * + * Name: i_frame + * + * Purpose: Process I Frame. + * + * Inputs: S - Data Link State Machine. + * cr - Command or Response. We have already issued an error if not command. + * p - Poll bit. Assuming we checked earlier that it was a command. + * The meaning is described below. + * nr - N(R) from the frame. Next expected seq. for other end. + * ns - N(S) from the frame. Seq. number of this incoming frame. + * pid - protocol id. + * info_ptr - pointer to information part of frame. + * info_len - Number of bytes in information part of frame. + * Should be in range of 0 thru n1_paclen. + * + * Description: + * 6.4.2. Receiving I Frames + * + * The reception of I frames that contain zero-length information fields is reported to the next layer; no information + * field will be transferred. + * + * 6.4.2.1. Not Busy + * + * If a TNC receives a valid I frame (one with a correct FCS and whose send sequence number equals the + * receiver's receive state variable) and is not in the busy condition, it accepts the received I frame, increments its + * receive state variable, and acts in one of the following manners: + * + * a) If it has an I frame to send, that I frame may be sent with the transmitted N(R) equal to its receive state + * variable V(R) (thus acknowledging the received frame). Alternately, the TNC may send an RR frame with N(R) + * equal to V(R), and then send the I frame. + * + * or b) If there are no outstanding I frames, the receiving TNC sends an RR frame with N(R) equal to V(R). The + * receiving TNC may wait a small period of time before sending the RR frame to be sure additional I frames are + * not being transmitted. + * + * 6.4.2.2. Busy + * + * If the TNC is in a busy condition, it ignores any received I frames without reporting this condition, other than + * repeating the indication of the busy condition. + * If a busy condition exists, the TNC receiving the busy condition indication polls the sending TNC periodically + * until the busy condition disappears. + * A TNC may poll the busy TNC periodically with RR or RNR frames with the P bit set to "1". + * + * 6.4.6. Receiving Acknowledgement + * + * Whenever an I or S frame is correctly received, even in a busy condition, the N(R) of the received frame is + * checked to see if it includes an acknowledgement of outstanding sent I frames. The T1 timer is canceled if the + * received frame actually acknowledges previously unacknowledged frames. If the T1 timer is canceled and there + * are still some frames that have been sent that are not acknowledged, T1 is started again. If the T1 timer expires + * before an acknowledgement is received, the TNC proceeds with the retransmission procedure outlined in Section + * 6.4.11. + * + * + * 6.2. Poll/Final (P/F) Bit Procedures + * + * The next response frame returned to an I frame with the P bit set to "1", received during the information + * transfer state, is an RR, RNR or REJ response with the F bit set to "1". + * + * The next response frame returned to a S or I command frame with the P bit set to "1", received in the + * disconnected state, is a DM response frame with the F bit set to "1". + * + *------------------------------------------------------------------------------*/ + +static void i_frame (ax25_dlsm_t *S, cmdres_t cr, int p, int nr, int ns, int pid, char *info_ptr, int info_len) +{ + switch (S->state) { + + case state_0_disconnected: + + // Logic from flow chart for "all other commands." + + if (cr == cr_cmd) { + cmdres_t r = cr_res; // DM response with F taken from P. + int f = p; + int nopid = 0; // PID applies only for I and UI frames. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + // Ignore it. Keep same state. + break; + + case state_2_awaiting_release: + + // Logic from flow chart for "I, RR, RNR, REJ, SREJ commands." + + if (cr == cr_cmd && p == 1) { + cmdres_t r = cr_res; // DM response with F = 1. + int f = 1; + int nopid = 0; // PID applies only for I and UI frames. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + // Look carefully. The original had two tiny differences between the two states. + // In the 2006 version, these differences no longer exist. + + if (info_len >= 0 && info_len <= S->n1_paclen) { + + if (is_good_nr(S,nr)) { + + // Erratum? + // I wonder if this difference is intentional or if only one place was + // was modified after a cut-n-paste of the flow chart segment. + + // Erratum: Discrepancy between original and 2006 version. + + // Pattern noticed: Anytime we have "is_good_nr" which tests for V(A) <= N(R) <= V(S), + // we should always call "check_i_frame_acked" or at least set V(A) from N(R). + +#if 0 // Erratum: original - states 3 & 4 differ here. + + if (S->state == state_3_connected) { + // This sets "S->va = nr" and also does some timer stuff. + check_i_frame_ackd (S,nr); + } + else { + SET_VA(nr); + } + +#else // 2006 version - states 3 & 4 same here. + + // This sets "S->va = nr" and also does some timer stuff. + + check_i_frame_ackd (S,nr); +#endif + + if (S->own_receiver_busy) { + // This should be unreachable because we currently don't have a way to set own_receiver_busy. + // But we might the capability someday so implement this while we are here. + + if (p == 1) { + cmdres_t cr = cr_res; // Erratum: The use of "F" in the flow chart implies that RNR is a response + // in this case, but I'm not confident about that. The text says frame. + int f = 1; + int nr = S->vr; + packet_t pp; + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RNR, S->modulo, nr, f); + + // I wonder if this difference is intentional or if only one place was + // was modified after a cut-n-paste of the flow chart segment. + +#if 0 // Erratum: Original - state 4 has expedited. + + if (S->state == state_4_timer_recovery) { + lm_data_request (S->chan, TQ_PRIO_0_HI, pp); // "expedited" + } + else { + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } +#else // 2006 version - states 3 & 4 the same. + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + +#endif + S->acknowledge_pending = 0; + } + } + else { // N(R) out of expected range. + + i_frame_continued (S, p, ns, pid, info_ptr, info_len); + } + } + else { + nr_error_recovery (S); + // my enhancement. See below. + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + } + else { // Bad information length. + // Wouldn't even get to CRC check if not octet aligned. + + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error O: Information part length, %d, not in range of 0 thru %d.\n", S->stream_id, info_len, S->n1_paclen); + + establish_data_link (S); + S->layer_3_initiated = 0; + + // The original spec always sent SABM and went to state 1. + // I was thinking, why not use v2.2 instead of we were already connected with v2.2? + // My version of establish_data_link combined the two original functions and + // already uses SABME or SABM based on S->modulo. + + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + break; + } + +} /* end i_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: i_frame_continued + * + * Purpose: The I frame processing logic gets pretty complicated. + * Some of it has been split out into a separate function to make + * things more readable. + * We have already done some error checking and processed N(R). + * This is used for both states 3 & 4. + * + * Inputs: S - Data Link State Machine. We are in state 3. + * p - Poll bit. + * ns - N(S) from the frame. Seq. number of this incoming frame. + * pid - protocol id. + * info_ptr - pointer to information part of frame. + * info_len - Number of bytes in information part of frame. Already verified. + * + * Description: + * + * 4.3.2.3. Reject (REJ) Command and Response + * + * The reject frame requests retransmission of I frames starting with N(R). Any frames sent with a sequence + * number of N(R)-1 or less are acknowledged. Additional I frames which may exist may be appended to the + * retransmission of the N(R) frame. + * Only one reject frame condition is allowed in each direction at a time. The reject condition is cleared by the + * proper reception of I frames up to the I frame that caused the reject condition to be initiated. + * The status of the TNC at the other end of the link is requested by sending a REJ command frame with the P bit + * set to one. + * + * 4.3.2.4. Selective Reject (SREJ) Command and Response + * + * The selective reject, SREJ, frame is used by the receiving TNC to request retransmission of the single I frame + * numbered N(R). If the P/F bit in the SREJ frame is set to "1", then I frames numbered up to N(R)-1 inclusive are + * considered as acknowledged. However, if the P/F bit in the SREJ frame is set to "0", then the N(R) of the SREJ + * frame does not indicate acknowledgement of I frames. + * + * Each SREJ exception condition is cleared (reset) upon receipt of the I frame with an N(S) equal to the N(R) + * of the SREJ frame. + * + * A receiving TNC may transmit one or more SREJ frames, each containing a different N(R) with the P bit set + * to "0", before one or more earlier SREJ exception conditions have been cleared. However, a SREJ is not + * transmitted if an earlier REJ exception condition has not been cleared as indicated in Section 4.5.4. (To do so + * would request retransmission of an I frame that would be retransmitted by the REJ operation.) Likewise, a REJ + * frame is not transmitted if one or more earlier SREJ exception conditions have not been cleared as indicated in + * + * Section 4.5.4. + * + * I frames transmitted following the I frame indicated by the SREJ frame are not retransmitted as the result of + * receiving a SREJ frame. Additional I frames awaiting initial transmission may be transmitted following the + * retransmission of the specific I frame requested by the SREJ frame. + * + * + * 6.4.4. Reception of Out-of-Sequence Frames + * + * 6.4.4.1. Implicit Reject (REJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, the frame is discarded. A REJ frame is sent with a receive sequence number + * equal to one higher than the last correctly received I frame if an uncleared N(S) sequence error condition has not + * been previously established. The received state variable and poll bit of the discarded frame is checked and acted + * upon, if necessary. + * This mode requires no frame queueing and frame resequencing at the receiver. However, because the mode + * requires transmission of frames that may not be in error, its throughput is not as high as selective reject. This + * mode is ineffective on systems with long round-trip delays and high data rates. + * + * 6.4.4.2. Selective Reject (SREJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, the frame is retained. SREJ frames are sent with a receive sequence number + * equal to the value N(R) of the missing frame, and P=1 if an uncleared SREJ condition has not been previously + * established. If an SREJ condition is already pending, an SREJ will be sent with P=0. The received state variable + * and poll bit of the received frame are checked and acted upon, if necessary. + * This mode requires frame queueing and frame resequencing at the receiver. The holding of frames can + * consume precious buffer space, especially if the user device has limited memory available and several active + * links are operational. + * + * 6.4.4.3. Selective Reject-Reject (SREJ/REJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, and if N(S) indicates 2 or more frames are missing, a REJ frame is transmitted. + * All subsequently received frames are discarded until the lost frame is correctly received. If only one frame is + * missing, a SREJ frame is sent with a receive sequence number equal to the value N(R) of the missing frame. The + * received state variable and poll bit of the received frame are checked and acted upon. If another frame error + * occurs prior to recovery of the SREJ condition, the receiver saves all frames received after the first errored frame + * and discards frames received after the second errored frame until the first errored frame is recovered. Then, a + * REJ is issued to recover the second errored frame and all subsequent discarded frames. + * + *------------------------------------------------------------------------------*/ + +static void i_frame_continued (ax25_dlsm_t *S, int p, int ns, int pid, char *info_ptr, int info_len) +{ + + if (ns == S->vr) { + +// The receive sequence number, N(S), is the same as what we were expecting, V(R). +// Send it to the application and increment the next expected. +// It is possible that this was resent and we tucked away others with the following +// sequence numbers. If so, process them too. + + + SET_VR(AX25MODULO(S->vr + 1, S->modulo, __FILE__, __func__, __LINE__)); + S->reject_exception = 0; + + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("call dl_data_indication() at %s %d, N(S)=%d, V(R)=%d, \"", __func__, __LINE__, ns, S->vr); + ax25_safe_print (info_ptr, info_len, 1); + dw_printf ("\"\n"); + } + + dl_data_indication (S, pid, info_ptr, info_len); + + if (S->rxdata_by_ns[ns] != NULL) { + // There is a possibility that we might have another received frame stashed + // away from 8 or 128 (modulo) frames back. Remove it so it doesn't accidently + // show up at some future inopportune time. + + cdata_delete (S->rxdata_by_ns[ns]); + S->rxdata_by_ns[ns] = NULL; + + } + + + while (S->rxdata_by_ns[S->vr] != NULL) { + + // dl_data_indication - send connected data to client application. + + if (s_debug_client_app) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("call dl_data_indication() at %s %d, N(S)=%d, V(R)=%d, data=\"", __func__, __LINE__, ns, S->vr); + ax25_safe_print (S->rxdata_by_ns[S->vr]->data, S->rxdata_by_ns[S->vr]->len, 1); + dw_printf ("\"\n"); + } + + dl_data_indication (S, S->rxdata_by_ns[S->vr]->pid, S->rxdata_by_ns[S->vr]->data, S->rxdata_by_ns[S->vr]->len); + + // Don't keep around anymore after sending it to client app. + + cdata_delete (S->rxdata_by_ns[S->vr]); + S->rxdata_by_ns[S->vr] = NULL; + + SET_VR(AX25MODULO(S->vr + 1, S->modulo, __FILE__, __func__, __LINE__)); + } + + if (p) { + +// Mentioned in section 6.2. +// The next response frame returned to an I frame with the P bit set to "1", received during the information +// transfer state, is an RR, RNR or REJ response with the F bit set to "1". + + int f = 1; + int nr = S->vr; // Next expected sequence number. + cmdres_t cr = cr_res; // response with F set to 1. + packet_t pp; + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + S->acknowledge_pending = 0; + } + else if ( ! S->acknowledge_pending) { + + S->acknowledge_pending = 1; // Probably want to set this before the LM-SEIZE Request + // in case the LM-SEIZE Confirm gets processed before we + // return from it. + + // Force start of transmission even if the transmit frame queue is empty. + // Notify me, with lm_seize_confirm, when transmission has started. + // When that event arrives, we check acknowledge_pending and send something + // to be determined later. + + lm_seize_request (S->chan); + } + } + else if (S->reject_exception) { + +// This is not the sequence we were expecting. +// We previously sent REJ, asking for a resend so don't send another. +// In this case, send RR only if the Poll bit is set. +// Again, reference section 6.2. + + if (p) { + int f = 1; + int nr = S->vr; // Next expected sequence number. + cmdres_t cr = cr_res; // response with F set to 1. + packet_t pp; + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + S->acknowledge_pending = 0; + } + } + else if ( ! S->srej_enabled) { + +// The received sequence number is not the expected one and we can't use SREJ. +// The old v2.0 approach is to send and REJ with the number we are expecting. +// This can be very inefficient. For example if we received 1,3,4,5,6 in one transmission, +// we discard 3,4,5,6, and tell the other end to resend everything starting with 2. + +// At one time, I had some doubts about when to use command or response for REJ. +// I now believe that reponse, as implied by setting F in the flow chart, is correct. + + int f = p; + int nr = S->vr; // Next expected sequence number. + cmdres_t cr = cr_res; // response with F copied from P in I frame. + packet_t pp; + + S->reject_exception = 1; + + if (s_debug_retry) { + text_color_set(DW_COLOR_ERROR); // make it more noticable. + dw_printf ("sending REJ, at %s %d, SREJ not enabled case, V(R)=%d", __func__, __LINE__, S->vr); + } + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_REJ, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + } + else { + +// Selective reject is enabled so we can use the more efficient method. +// This is normally enabled for v2.2 but XID can be used to change that. +// First we save the current frame so we can retrieve it later after getting the fill in. + + if (S->modulo != 128) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: Should not be sending SREJ in basic (modulo 8) mode.\n"); + } + +#if 1 + +// Erratum: AX.25 protocol spec did not handle SREJ very well. +// Based on X.25 section 2.4.6.4. + + + if (is_ns_in_window(S, ns)) { + +// X.25 2.4.6.4 (b) +// v(R) < N(S) < V(R)+k so it is in the expected range. +// Save it in the receive buffer. + + if (S->rxdata_by_ns[ns] != NULL) { + cdata_delete (S->rxdata_by_ns[ns]); + S->rxdata_by_ns[ns] = NULL; + } + S->rxdata_by_ns[ns] = cdata_new(pid, info_ptr, info_len); + + if (s_debug_misc) { + dw_printf ("%s %d, save to rxdata_by_ns N(S)=%d, V(R)=%d, \"", __func__, __LINE__, ns, S->vr); + ax25_safe_print (info_ptr, info_len, 1); + dw_printf ("\"\n"); + } + + if (p == 1) { + int f = 1; + enquiry_response (S, frame_type_I, f); + } + else if (S->own_receiver_busy) { + cmdres_t cr = cr_res; // send RNR response + int f = 0; // we know p=0 here. + int nr = S->vr; + packet_t pp; + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RNR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + else if (S->rxdata_by_ns[ AX25MODULO(ns - 1, S->modulo, __FILE__, __func__, __LINE__)] == NULL) { + +// Ask for missing frames when we don't have N(S)-1 in the receive buffer. + +// I would think that we would want to set F when sending N(R) = V(R) but it says use F=0 here. +// Don't understand why yet. + +// I like my method better. It does not generate duplicate requests for gaps in the same transmission. +// This creates a cummulative list each time and would cause repeats to be sent more often than necessary. + + int resend[128]; + int count = 0; + int x; + int allow_f1 = 0; // F=1 from X.25 2.4.6.4 b) 3) + + for (x = S->vr; x != ns; x = AX25MODULO(x + 1, S->modulo, __FILE__, __func__, __LINE__)) { + if (S->rxdata_by_ns[x] == NULL) { + resend[count++] = AX25MODULO(x, S->modulo, __FILE__, __func__, __LINE__); + } + } + + send_srej_frames (S, resend, count, allow_f1); + } + } + else { + +// X.25 2.4.6.4 a) +// N(S) is not in expected range. Discard it. Send response if P=1. + + if (p == 1) { + int f = 1; + enquiry_response (S, frame_type_I, f); + } + + } + +#else // my earlier attempt before taking a close look at X.25 spec. + // Keeping it around for a little while because I might want to + // use earlier technique of sending only needed SREJ for any second + // and later gaps in a single multiframe transmission. + + + if (S->rxdata_by_ns[ns] != NULL) { + cdata_delete (S->rxdata_by_ns[ns]); + S->rxdata_by_ns[ns] = NULL; + } + S->rxdata_by_ns[ns] = cdata_new(pid, info_ptr, info_len); + + S->outstanding_srej[ns] = 0; // Don't care if it was previously set or not. + // We have this one so there is no outstanding SREJ for it. + + if (s_debug_misc) { + dw_printf ("%s %d, save to rxdata_by_ns N(S)=%d, V(R)=%d, \"", __func__, __LINE__, ns, S->vr); + ax25_safe_print (info_ptr, info_len, 1); + dw_printf ("\"\n"); + } + + + + + if (selective_reject_exception(S) == 0) { + +// Erratum: This is vastly different than the SDL in the AX.25 protocol spec. +// That would use SREJ if only one was missing and REJ instead. +// Here we do not mix the them. +// This agrees with the X.25 protocol spec that says use one or the other. Not both. + +// Suppose we had incoming I frames 0, 3, 7. +// 0 was already processed and V(R)=1 meaning that is the next expected. +// At this point we area processing N(S)=3. +// In this case, we need to ask for a resend of 1 & 2. +// More generally, the range of V(R) thru N(S)-1. + + int resend[128]; + int count = 0; + int i; + int allow_f1 = 1; + +text_color_set(DW_COLOR_ERROR); +dw_printf ("%s:%d, zero exceptions, V(R)=%d, N(S)=%d\n", __func__, __LINE__, S->vr, ns); + + for (i = S->vr; i != ns; i = AX25MODULO(i+1, S->modulo, __FILE__, __func__, __LINE__)) { + resend[count++] = i; + } + + send_srej_frames (S, resend, count, allow_f1); + } + else { + +// Erratum: The SDL says ask for N(S) which is clearly wrong because that's what we just received. +// Instead we want to ask for any missing frames up to but not including N(S). + +// Let's continue with the example above. I frames with N(S) of 0, 3, 7. +// selective_reject_exception is non zero meaning there are outstanding requests to resend specified I frames. +// V(R) is still 1 because 0 is the last one received with contiguous N(S) values. +// 3 has been saved into S->rxdata_by_ns. +// We now have N(S)=7. We want to ask for a resend of 4, 5, 6. +// This can be achieved by searching S->rxdata_by_ns, starting with N(S)-1, and counting +// how many empty slots we have before finding a saved frame. + + int count = 0; + int first; + +text_color_set(DW_COLOR_ERROR); +dw_printf ("%s:%d, %d srej exceptions, V(R)=%d, N(S)=%d\n", __func__, __LINE__, selective_reject_exception(S), S->vr, ns); + + first = AX25MODULO(ns - 1, S->modulo, __FILE__, __func__, __LINE__); + while (S->rxdata_by_ns[first] == NULL) { + if (first == AX25MODULO(S->vr - 1, S->modulo, __FILE__, __func__, __LINE__)) { + // Oops! Went too far. This I frame was already processed. + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR calulating what to put in SREJ, %s line %d\n", __func__, __LINE__); + dw_printf ("V(R)=%d, N(S)=%d, SREJ exception=%d, first=%d, count=%d\n", S->vr, ns, selective_reject_exception(S), first, count); + int k; + for (k=0; k<128; k++) { + if (S->rxdata_by_ns[k] != NULL) { + dw_printf ("rxdata_by_ns[%d] has data\n", k); + } + } + break; + } + count++; + first = AX25MODULO(first - 1, S->modulo, __FILE__, __func__, __LINE__); + } + + // Go beyond the slot where we already have an I frame. + first = AX25MODULO(first + 1, S->modulo, __FILE__, __func__, __LINE__); + + // The count could be 0. e.g. We got 4 rather than 7 in this example. + + if (count > 0) { + int resend[128]; + int n; + int allow_f1 = 1; + + for (n = 0; n < count; n++) { + resend[n] = AX25MODULO(first + n, S->modulo, __FILE__, __func__, __LINE__);; + } + + send_srej_frames (S, resend, count, allow_f1); + } + + } /* end SREJ exception */ + + + +#endif // my earlier attempt. + + + + +// Erratum: original has following but 2006 rev does not. +// I think the 2006 version is correct. +// SREJ does not always satisfy the need for ack. +// There is a special case where F=1. We take care of that inside of send_srej_frames. + +#if 0 + S->acknowledge_pending = 0; +#endif + + } /* end srej_enabled */ + + +} /* end i_frame_continued */ + + + +/*------------------------------------------------------------------------------ + * + * Name: is_ns_in_window + * + * Purpose: Is the N(S) value of the incoming I frame in the expected range? + * + * Inputs: ns - Sequence from I frame. + * + * Description: With selective reject, it is possible that we could receive a repeat of + * an I frame with N(S) less than V(R). In this case, we just want to + * discard it rather than getting upset and reestablishing the connection. + * + * The X.25 spec,section 2.4.6.4 (b) asks whether V(R) < N(S) < V(R)+k. + * + * The problem here is that it depends on the value of k for the other end. + * X.25 says that both sides need to agree on a common value of k ahead of time. + * We might have k=8 for our sending but the other side could have k=32 so + * this test could fail. + * + * As a hack, we could use the value 63 here. If too small we would discard + * I frames that are in the acceptable range because they would be >= V(R)+k. + * On the other hand, if this value is too big, the range < V(R) would not be + * large enough and we would accept frame we shouldn't. + * As a practical matter, using a window size that large is pretty unlikely. + * Maybe I could put a limit of 63, rather than 127 in the configuration. + * + *------------------------------------------------------------------------------*/ + +#define GENEROUS_K 63 + +static int is_ns_in_window (ax25_dlsm_t *S, int ns) +{ + int adjusted_vr, adjusted_ns, adjusted_vrpk; + int result; + +/* Shift all values relative to V(R) before comparing so we won't have wrap around. */ + +#define adjust_by_vr(x) (AX25MODULO((x) - S->vr, S->modulo, __FILE__, __func__, __LINE__)) + + adjusted_vr = adjust_by_vr(S->vr); // A clever compiler would know it is zero. + adjusted_ns = adjust_by_vr(ns); + adjusted_vrpk = adjust_by_vr(S->vr + GENEROUS_K); + + result = adjusted_vr < adjusted_ns && adjusted_ns < adjusted_vrpk; + + if (s_debug_retry) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("is_ns_in_window, V(R) %d < N(S) %d < V(R)+k %d, returns %d\n", S->vr, ns, S->vr + GENEROUS_K, result); + } + + return (result); +} + + +/*------------------------------------------------------------------------------ + * + * Name: send_srej_frames + * + * Purpose: Ask for a resend of I frames with specified sequence numbers. + * + * Inputs: resend - Array of N(S) values for missing I frames. + * count - Number of items in array. + * allow_f1 - When true, set F=1 when asking for V(R). + * X.25 section 2.4.6.4 b) 3) says F should be set to 0 + * when receiving I frame out of sequence. + * X.25 sections 2.4.6.11 & 2.3.5.2.2 say set F to 1 when + * responding to command with P=1. (our enquiry_response function). + * + * Future? The X.25 protocol spec allows additional sequence numbers in one frame + * by using the INFO part. + * It would be easy but we haven't done that here to remain compatible with AX.25. + * + *------------------------------------------------------------------------------*/ + + +static void send_srej_frames (ax25_dlsm_t *S, int *resend, int count, int allow_f1) +{ + int f; // Set if we are ack-ing one before. + int nr; + cmdres_t cr = cr_res; // SREJ is always response. + int i; + + packet_t pp; + + if (count <= 0) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, count=%d, %s line %d\n", count, __func__, __LINE__); + return; + } + + if (s_debug_retry) { + text_color_set(DW_COLOR_INFO); + dw_printf ("%s line %d\n", __func__, __LINE__); + //dw_printf ("state=%d, count=%d, k=%d, V(R)=%d, SREJ exeception=%d\n", S->state, count, S->k_maxframe, S->vr, selective_reject_exception(S)); + dw_printf ("state=%d, count=%d, k=%d, V(R)=%d\n", S->state, count, S->k_maxframe, S->vr); + + dw_printf ("resend[]="); + for (i = 0; i < count; i++) { + dw_printf (" %d", resend[i]); + } + dw_printf ("\n"); + + dw_printf ("rxdata_by_ns[]="); + for (i = 0; i < 128; i++) { + if (S->rxdata_by_ns[i] != NULL) { + dw_printf (" %d", i); + } + } + dw_printf ("\n"); + } + + +// Something is wrong! We ask for more than the window size. + + if (count > S->k_maxframe) { + + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR - Extreme number of SREJ, %s line %d\n", __func__, __LINE__); + dw_printf ("state=%d, count=%d, k=%d, V(R)=%d\n", S->state, count, S->k_maxframe, S->vr); + + dw_printf ("resend[]="); + for (i = 0; i < count; i++) { + dw_printf (" %d", resend[i]); + } + dw_printf ("\n"); + + dw_printf ("rxdata_by_ns[]="); + for (i = 0; i < 128; i++) { + if (S->rxdata_by_ns[i] != NULL) { + dw_printf (" %d", i); + } + } + dw_printf ("\n"); + } + + for (i = 0; i < count; i++) { + + nr = resend[i]; + f = allow_f1 && (nr == S->vr); + // Possibly set if we are asking for the next after + // the last one received in contiguous order. + + if (f) { + // In this case the other end is being + // informed of my V(R) so no additional + // RR etc. is needed. + S->acknowledge_pending = 0; + } + + if (nr < 0 || nr >= S->modulo) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR, nr=%d, modulo=%d, %s line %d\n", nr, S->modulo, __func__, __LINE__); + nr = AX25MODULO(nr, S->modulo, __FILE__, __func__, __LINE__); + } + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_SREJ, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + +} /* end send_srej_frames */ + + + +/*------------------------------------------------------------------------------ + * + * Name: rr_rnr_frame + * + * Purpose: Process RR or RNR Frame. + * Processing is the essentially the same so they are handled by a single function. + * + * Inputs: S - Data Link State Machine. + * ready - True for RR, false for RNR + * cr - Is this command or response? + * pf - Poll/Final bit. + * nr - N(R) from the frame. + * + * Description: 4.3.2.1. Receive Ready (RR) Command and Response + * + * Receive Ready accomplishes the following: + * a) indicates that the sender of the RR is now able to receive more I frames; + * b) acknowledges properly received I frames up to, and including N(R)-1;and + * c) clears a previously-set busy condition created by an RNR command having been sent. + * The status of the TNC at the other end of the link can be requested by sending an RR command frame with the + * P-bit set to one. + * + * 4.3.2.2. Receive Not Ready (RNR) Command and Response + * + * Receive Not Ready indicates to the sender of I frames that the receiving TNC is temporarily busy and cannot + * accept any more I frames. Frames up to N(R)-1 are acknowledged. Frames N(R) and above that may have been + * transmitted are discarded and must be retransmitted when the busy condition clears. + * The RNR condition is cleared by the sending of a UA, RR, REJ or SABM(E) frame. + * The status of the TNC at the other end of the link is requested by sending an RNR command frame with the + * P bit set to one. + * + *------------------------------------------------------------------------------*/ + + +static void rr_rnr_frame (ax25_dlsm_t *S, int ready, cmdres_t cr, int pf, int nr) +{ + + // dw_printf ("rr_rnr_frame (ready=%d, cr=%d, pf=%d, nr=%d) state=%d\n", ready, cr, pf, nr, S->state); + + switch (S->state) { + + case state_0_disconnected: + + if (cr == cr_cmd) { + cmdres_t r = cr_res; // DM response with F taken from P. + int f = pf; + int nopid = 0; // PID only for I and UI frames. + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + // do nothing. + break; + + case state_2_awaiting_release: + + // Logic from flow chart for "I, RR, RNR, REJ, SREJ commands." + + if (cr == cr_cmd && pf == 1) { + cmdres_t r = cr_res; // DM response with F = 1. + int f = 1; + int nopid = 0; // PID applies only for I and UI frames. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + +// Erratum: We have a disagreement here between original and 2006 version. +// RR, RNR, REJ, SREJ responses would fall under "all other primitives." +// In the original, we simply ignore it and stay in state 2. +// The 2006 version, page 94, says go into "1 awaiting connection" state. +// That makes no sense to me. + + break; + + case state_3_connected: + + S->peer_receiver_busy = ! ready; + +// Erratum: the flow charts have unconditional check_need_for_response here. +// I don't recall exactly why I added the extra test for command and P=1. +// It might have been because we were reporting error A for response with F=1. +// Other than avoiding that error message, this is functionally equivalent. + + if (cr == cr_cmd && pf) { + check_need_for_response (S, ready ? frame_type_S_RR : frame_type_S_RNR, cr, pf); + } + + if (is_good_nr(S,nr)) { + // dw_printf ("rr_rnr_frame (), line %d, state=%d, good nr=%d, calling check_i_frame_ackd\n", __LINE__, S->state, nr); + + check_i_frame_ackd (S, nr); + // keep current state. + } + else { + if (s_debug_retry) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("rr_rnr_frame (), line %d, state=%d, bad nr, calling nr_error_recovery\n", __LINE__, S->state); + } + + nr_error_recovery (S); + // My enhancement. Original always sent SABM and went to state 1. + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + + break; + + case state_4_timer_recovery: + + S->peer_receiver_busy = ! ready; + + if (cr == cr_res && pf == 1) { + + if (s_debug_retry) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("rr_rnr_frame (), Response, pf=1, line %d, state=%d, good nr, calling check_i_frame_ackd\n", __LINE__, S->state); + } + + STOP_T1; + select_t1_value(S); + + if (is_good_nr(S,nr)) { + + SET_VA(nr); + if (S->vs == S->va) { // all caught up with ack from other guy. + START_T3; + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + } + else { + invoke_retransmission (S, nr); +// my addition + +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R) so no need for extra RR at the end only for that. + + STOP_T3; + START_T1; + S->acknowledge_pending = 0; + +// end of my addition + } + } + else { + nr_error_recovery (S); + +// Erratum: Another case of my enhancement. +// The flow charts go into state 1 after nr_error_recovery. +// I use state 5 instead if we were oprating in extended (modulo 128) mode. + + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + } + else { + if (cr == cr_cmd && pf == 1) { + int f = 1; + enquiry_response (S, ready ? frame_type_S_RR : frame_type_S_RNR, f); + } + + if (is_good_nr(S,nr)) { + SET_VA(nr); + // REJ state 4 is identical but has conditional invoke_retransmission here. + } + else { + nr_error_recovery (S); + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + } + + break; + } + +} /* end rr_rnr_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: rej_frame + * + * Purpose: Process REJ Frame. + * + * Inputs: S - Data Link State Machine. + * cr - Is this command or response? + * pf - Poll/Final bit. + * nr - N(R) from the frame. + * + * Description: 4.3.2.2. Receive Not Ready (RNR) Command and Response + * + * ... The RNR condition is cleared by the sending of a UA, RR, REJ or SABM(E) frame. ... + * + * + * 4.3.2.3. Reject (REJ) Command and Response + * + * The reject frame requests retransmission of I frames starting with N(R). Any frames sent with a sequence + * number of N(R)-1 or less are acknowledged. Additional I frames which may exist may be appended to the + * retransmission of the N(R) frame. + * Only one reject frame condition is allowed in each direction at a time. The reject condition is cleared by the + * proper reception of I frames up to the I frame that caused the reject condition to be initiated. + * The status of the TNC at the other end of the link is requested by sending a REJ command frame with the P bit + * set to one. + * + * 4.4.3. Reject (REJ) Recovery + * + * The REJ frame requests a retransmission of I frames following the detection of a N(S) sequence error. Only + * one outstanding "sent REJ" condition is allowed at a time. This condition is cleared when the requested I frame + * has been received. + * A TNC receiving the REJ command clears the condition by resending all outstanding I frames (up to the + * window size), starting with the frame indicated in N(R) of the REJ frame. + * + * + * 4.4.5.1. T1 Timer Recovery + * + * If a transmission error causes a TNC to fail to receive (or to receive and discard) a single I frame, or the last I + * frame in a sequence of I frames, then the TNC does not detect a send-sequence-number error and consequently + * does not transmit a REJ/SREJ. The TNC that transmitted the unacknowledged I frame(s) following the completion + * of timeout period T1, takes appropriate recovery action to determine when I frame retransmission as described + * in Section 6.4.10 should begin. This condition is cleared by the reception of an acknowledgement for the sent + * frame(s), or by the link being reset. + * + * 6.2. Poll/Final (P/F) Bit Procedures + * + * The response frame returned by a TNC depends on the previous command received, as described in the + * following paragraphs. + * ... + * + * The next response frame returned to an I frame with the P bit set to "1", received during the information5 + * transfer state, is an RR, RNR or REJ response with the F bit set to "1". + * + * The next response frame returned to a supervisory command frame with the P bit set to "1", received during + * the information transfer state, is an RR, RNR or REJ response frame with the F bit set to "1". + * ... + * + * The P bit is used in conjunction with the timeout recovery condition discussed in Section 4.5.5. + * When not used, the P/F bit is set to "0". + * + * 6.4.4.1. Implicit Reject (REJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, the frame is discarded. A REJ frame is sent with a receive sequence number + * equal to one higher than the last correctly received I frame if an uncleared N(S) sequence error condition has not + * been previously established. The received state variable and poll bit of the discarded frame is checked and acted + * upon, if necessary. + * This mode requires no frame queueing and frame resequencing at the receiver. However, because the mode + * requires transmission of frames that may not be in error, its throughput is not as high as selective reject. This + * mode is ineffective on systems with long round-trip delays and high data rates. + * + * 6.4.7. Receiving REJ + * + * After receiving a REJ frame, the transmitting TNC sets its send state variable to the same value as the REJ + * frame's received sequence number in the control field. The TNC then retransmits any I frame(s) outstanding at + * the next available opportunity in accordance with the following: + * + * a) If the TNC is not transmitting at the time and the channel is open, the TNC may begin retransmission of the + * I frame(s) immediately. + * b) If the TNC is operating on a full-duplex channel transmitting a UI or S frame when it receives a REJ frame, + * it may finish sending the UI or S frame and then retransmit the I frame(s). + * c) If the TNC is operating in a full-duplex channel transmitting another I frame when it receives a REJ frame, + * it may abort the I frame it was sending and start retransmission of the requested I frames immediately. + * d) The TNC may send just the one I frame outstanding, or it may send more than the one indicated if more I + * frames followed the first unacknowledged frame, provided that the total to be sent does not exceed the flowcontrol + * window (k frames). + * If the TNC receives a REJ frame with the poll bit set, it responds with either an RR or RNR frame with the + * final bit set before retransmitting the outstanding I frame(s). + * + *------------------------------------------------------------------------------*/ + +static void rej_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, int nr) +{ + + switch (S->state) { + + case state_0_disconnected: + + // states 0 and 2 are very similar with one tiny little difference. + + if (cr == cr_cmd) { + cmdres_t r = cr_res; // DM response with F taken from P. + int f = pf; + int nopid = 0; // PID is only for I and UI. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + // Do nothing. + break; + + case state_2_awaiting_release: + + if (cr == cr_cmd && pf == 1) { + cmdres_t r = cr_res; // DM response with F = 1. + int f = 1; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + +// Erratum: We have a disagreement here between original and 2006 version. +// RR, RNR, REJ, SREJ responses would fall under "all other primitives." +// In the original, we simply ignore it and stay in state 2. +// The 2006 version, page 94, says go into "1 awaiting connection" state. +// That makes no sense to me. + + break; + + case state_3_connected: + + S->peer_receiver_busy = 0; + +// Receipt of the REJ "frame" (either command or response) causes us to +// start resending I frames at the specified number. + +// I think there are 3 possibilities here: +// Response is used when incoming I frame processing detects one is missing. +// In this case, F is copied from the I frame P bit. I don't think we care here. +// Command with P=1 is used during timeout recovery. +// The rule is that we are supposed to send a response with F=1 for I, RR, RNR, or REJ with P=1. + + check_need_for_response (S, frame_type_S_REJ, cr, pf); + + if (is_good_nr(S,nr)) { + SET_VA(nr); + STOP_T1; + STOP_T3; + select_t1_value(S); + + invoke_retransmission (S, nr); + +// my addition +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R) so no need for extra RR at the end only for that. + +// We ran into cases where I frame(s) would be resent but lost. +// T1 was stopped so we just waited and waited and waited instead of trying again. +// I added the following after each invoke_retransmission. +// This seems clearer than hiding the timer stuff inside of it. + + // T3 is already stopped. + START_T1; + S->acknowledge_pending = 0; + } + else { + nr_error_recovery (S); + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + break; + + case state_4_timer_recovery: + + S->peer_receiver_busy = 0; + + if (cr == cr_res && pf == 1) { + + STOP_T1; + select_t1_value(S); + + if (is_good_nr(S,nr)) { + + SET_VA(nr); + if (S->vs == S->va) { + START_T3; + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + } + else { + invoke_retransmission (S, nr); +// my addition. +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R) so no need for extra RR at the end only for that. + + STOP_T3; + START_T1; + S->acknowledge_pending = 0; + } + } + else { + nr_error_recovery (S); + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + } + else { + if (cr == cr_cmd && pf == 1) { + int f = 1; + enquiry_response (S, frame_type_S_REJ, f); + } + + if (is_good_nr(S,nr)) { + + SET_VA(nr); + + if (S->vs != S->va) { + // Observation: RR/RNR state 4 is identical but it doesn't have invoke_retransmission here. + invoke_retransmission (S, nr); +// my addition. +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R) so no need for extra RR at the end only for that. + + STOP_T3; + START_T1; + S->acknowledge_pending = 0; + } + + } + else { + nr_error_recovery (S); + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + } + break; + } + +} /* end rej_frame */ + + +/*------------------------------------------------------------------------------ + * + * Name: srej_frame + * + * Purpose: Process SREJ Response. + * + * Inputs: S - Data Link State Machine. + * cr - Is this command or response? + * f - Final bit. When set, it is ack-ing up thru N(R)-1 + * nr - N(R) from the frame. Peer has asked for a resend of I frame with this N(S). + * + * Description: 4.3.2.4. Selective Reject (SREJ) Command and Response + * + * The selective reject, SREJ, frame is used by the receiving TNC to request retransmission of the single I frame + * numbered N(R). If the P/F bit in the SREJ frame is set to "1", then I frames numbered up to N(R)-1 inclusive are + * considered as acknowledged. However, if the P/F bit in the SREJ frame is set to "0", then the N(R) of the SREJ + * frame does not indicate acknowledgement of I frames. + * + * Each SREJ exception condition is cleared (reset) upon receipt of the I frame with an N(S) equal to the N(R) + * of the SREJ frame. + * + * A receiving TNC may transmit one or more SREJ frames, each containing a different N(R) with the P bit set + * to "0", before one or more earlier SREJ exception conditions have been cleared. However, a SREJ is not + * transmitted if an earlier REJ exception condition has not been cleared as indicated in Section 4.5.4. (To do so + * would request retransmission of an I frame that would be retransmitted by the REJ operation.) Likewise, a REJ + * frame is not transmitted if one or more earlier SREJ exception conditions have not been cleared as indicated in + * Section 4.5.4. + * + * I frames transmitted following the I frame indicated by the SREJ frame are not retransmitted as the result of + * receiving a SREJ frame. Additional I frames awaiting initial transmission may be transmitted following the + * retransmission of the specific I frame requested by the SREJ frame. + * + * Erratum: The section above always refers to SREJ "frames." There doesn't seem to be any clue about when + * command vs. response would be used. When we look in the flow charts, we see that we generate only + * responses but the code is there to process command and response slightly differently. + * + * Description: 4.4.4. Selective Reject (SREJ) Recovery + * + * The SREJ command/response initiates more-efficient error recovery by requesting the retransmission of a + * single I frame following the detection of a sequence error. This is an advancement over the earlier versions in + * which the requested I frame was retransmitted togther with all additional I frames subsequently transmitted and + * successfully received. + * + * When a TNC sends one or more SREJ commands, each with the P bit set to "0" or "1", or one or more SREJ + * responses, each with the F bit set to "0", and the "sent SREJ" conditions are not cleared when the TNC is ready + * to issue the next response frame with the F bit set to "1", the TNC sends a SREJ response with the F bit set to "1", + * with the same N(R) as the oldest unresolved SREJ frame. + * + * Because an I or S format frame with the F bit set to "1" can cause checkpoint retransmission, a TNC does not + * send SREJ frames until it receives at least one in-sequence I frame, or it perceives by timeout that the checkpoint + * retransmission will not be initiated at the remote TNC. + * + * With respect to each direction of transmission on the data link, one or more "sent SREJ" exception conditions + * from a TNC to another TNC may be established at a time. A "sent SREJ" exception condition is cleared when + * the requested I frame is received. + * + * The SREJ frame may be repeated when a TNC perceives by timeout that a requested I frame will not be + * received, because either the requested I frame or the SREJ frame was in error or lost. + * + * When appropriate, a TNC receiving one or more SREJ frames initiates retransmission of the individual I + * frames indicated by the N(R) contained in each SREJ frame. After having retransmitted the above frames, new + * I frames are transmitted later if they become available. + * + * When a TNC receives and acts on one or more SREJ commands, each with the P bit set to "0", or an SREJ + * command with the P bit set to "1", or one or more SREJ responses each with the F bit set to "0", it disables any + * action on the next SREJ response frame if that SREJ frame has the F bit set to "1" and has the same N(R) (i.e., + * the same value and the same numbering cycle) as a previously actioned SREJ frame, and if the resultant + * retransmission was made following the transmission of the P bit set to a "1". + * When the SREJ mechanism is used, the receiving station retains correctly-received I frames and delivers + * them to the higher layer in sequence number order. + * + * + * 6.4.4.2. Selective Reject (SREJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, the frame is retained. SREJ frames are sent with a receive sequence number + * equal to the value N(R) of the missing frame, and P=1 if an uncleared SREJ condition has not been previously + * established. If an SREJ condition is already pending, an SREJ will be sent with P=0. The received state variable + * and poll bit of the received frame are checked and acted upon, if necessary. + * + * This mode requires frame queueing and frame resequencing at the receiver. The holding of frames can + * consume precious buffer space, especially if the user device has limited memory available and several active + * links are operational. + * + * + * 6.4.4.3. Selective Reject-Reject (SREJ/REJ) + * + * When an I frame is received with a correct FCS but its send sequence number N(S) does not match the current + * receiver's receive state variable, and if N(S) indicates 2 or more frames are missing, a REJ frame is transmitted. + * All subsequently received frames are discarded until the lost frame is correctly received. If only one frame is + * missing, a SREJ frame is sent with a receive sequence number equal to the value N(R) of the missing frame. The + * received state variable and poll bit of the received frame are checked and acted upon. If another frame error + * occurs prior to recovery of the SREJ condition, the receiver saves all frames received after the first errored frame + * and discards frames received after the second errored frame until the first errored frame is recovered. Then, a + * REJ is issued to recover the second errored frame and all subsequent discarded frames. + * + * X.25: States that SREJ is only response. I'm following that and it simplifies matters. + * + * X.25 2.4.6.6.1 & 2.4.6.6.2 make a distinction between F being 0 or 1 besides copying N(R) into V(A). + * They talk about sending a poll under some conditions. + * We don't do that here. It seems to work reliably so leave well enough alone. + * + *------------------------------------------------------------------------------*/ + +static void srej_frame (ax25_dlsm_t *S, cmdres_t cr, int f, int nr) +{ + + switch (S->state) { + + case state_0_disconnected: + + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + // Do nothing. + + // Erratum: The original spec said stay in same state. + // 2006 revision shows state 5 transitioning into 1. I think that is wrong. + // probably a cut-n-paste from state 1 to 5 and that part not updated. + break; + + case state_2_awaiting_release: + + // Erratum: Flow chart says send DM(F=1) for "I, RR, RNR, REJ, SREJ commands" and P=1. + // It is wrong for two reasons. + // If SREJ was a command, the P flag has a different meaning than the other Supervisory commands. + // It means ack reception of frames up thru N(R)-1; it is not a poll to get a response. + + // Based on X.25, I don't think SREJ can be a command. + // It should say, "I, RR, RNR, REJ commands" + + // Erratum: We have a disagreement here between original and 2006 version. + // RR, RNR, REJ, SREJ responses would fall under "all other primitives." + // In the original, we simply ignore it and stay in state 2. + // The 2006 version, page 94, says go into "1 awaiting connection" state. + // That makes no sense to me. + + break; + + case state_3_connected: + + S->peer_receiver_busy = 0; + + // Erratum: Flow chart has "check need for response here." + + // check_need_for_response() does the following: + // - for command & P=1, send RR or RNR. + // - for response & F=1, error A. + + // SREJ can only be a response. We don't want to produce an error when F=1. + + if (is_good_nr(S,nr)) { + + if (f) { + SET_VA(nr); + } + STOP_T1; + START_T3; + select_t1_value(S); + + // Resend I frame with N(S) equal to the N(R) in the SREJ. + // Note: X.25 says info part can contain additional sequence numbers. + // Here we stay with Ax.25 and don't consider the info part. + + cdata_t *txdata = S->txdata_by_ns[nr]; + + if (txdata != NULL) { + + cmdres_t cr = cr_cmd; + int i_frame_ns = nr; + int i_frame_nr = S->vr; + int p = 0; + + packet_t pp = ax25_i_frame (S->addrs, S->num_addr, cr, S->modulo, i_frame_nr, i_frame_ns, p, txdata->pid, (unsigned char *)(txdata->data), txdata->len); + + // dw_printf ("calling lm_data_request for I frame, %s line %d\n", __func__, __LINE__); + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + +// my addition +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R) so no need for extra RR at the end only for that. + +// We would sometimes end up in a situation where T1 was stopped on +// both ends and everyone would wait for the other guy to timeout and do something. +// My solution was to Start T1 after every place we send an I frame if not already there. + + STOP_T3; + START_T1; + S->acknowledge_pending = 0; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: INTERNAL ERROR for SREJ. I frame for N(S)=%d is not available.\n", S->stream_id, nr); + } + // keep same state. + } + else { + nr_error_recovery (S); + // Erratum? Flow chart shows state 1 but that would not be appropriate if modulo is 128. + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + break; + + case state_4_timer_recovery: + + S->peer_receiver_busy = 0; + + // Erratum: Original Flow chart has "check need for response here." + // The 2006 version correctly removed it. + + // check_need_for_response() does the following: + // - for command & P=1, send RR or RNR. + // - for response & F=1, error A. + + // SREJ can only be a response. We don't want to produce an error when F=1. + + + // The flow chart splits into two paths for command/response with a lot of duplication. + // Command path has been omitted because SREJ can only be response. + + STOP_T1; + select_t1_value(S); + + if (is_good_nr(S,nr)) { + + if (f) { // f=1 means ack up thru previous sequence. + // Erratum: 2006 version tests "P". Original has "F." + SET_VA(nr); + } + + if (S->vs == S->va) { // ACKs all caught up. Back to state 3. + + START_T3; + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + + } + else { + +// Erratum: Difference between two AX.25 revisions. + +#if 1 // This is from the original protocol spec. + // Resend I frame with N(S) equal to the N(R) in the SREJ. + + cdata_t *txdata = S->txdata_by_ns[nr]; + + if (txdata != NULL) { + + cmdres_t cr = cr_cmd; + int i_frame_ns = nr; + int i_frame_nr = S->vr; + int p = 0; + + packet_t pp = ax25_i_frame (S->addrs, S->num_addr, cr, S->modulo, i_frame_nr, i_frame_ns, p, txdata->pid, (unsigned char *)(txdata->data), txdata->len); + + // dw_printf ("calling lm_data_request for I frame, %s line %d\n", __func__, __LINE__); + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + +// my addition +// Erratum: We sent I frame(s) and want to timeout if no ack comes back. +// We also sent N(R), from V(R), so no need for extra RR at the end only for that. + +// We would sometimes end up in a situation where T1 was stopped on +// both ends and everyone would wait for the other guy to timeout and do something. +// My solution was to Start T1 after every place we send an I frame if not already there. + + STOP_T3; + START_T1; + S->acknowledge_pending = 0; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: INTERNAL ERROR for SREJ. I frame for N(S)=%d is not available.\n", S->stream_id, nr); + } + +#else // Erratum! This is from the 2006 revision. + // We should resend only the single requested I frame. + // I think there was a cut-n-paste from the REJ flow chart and this particular place did not get changed. + + invoke_retransmission(S); +#endif + } + } + else { + nr_error_recovery (S); + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + } + break; + } + +} /* end srej_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: sabm_e_frame + * + * Purpose: Process SABM or SABME Frame. + * + * Inputs: S - Data Link State Machine. + * + * extended - True for SABME. False for SABM. + * + * p - Poll bit. TODO: What does it mean in this case? + * + * Description: This is a request, from the other end, to establish a connection. + * + * 4.3.3.1. Set Asynchronous Balanced Mode (SABM) Command + * + * The SABM command places two Terminal Node Comtrollers (TNC) in the asynchronous balanced mode + * (modulo 8). This a balanced mode of operation in which both devices are treated as equals or peers. + * + * Information fields are not allowed in SABM commands. Any outstanding I frames left when the SABM + * command is issued remain unacknowledged. + * + * The TNC confirms reception and acceptance of a SABM command by sending a UA response frame at the + * earliest opportunity. If the TNC is not capable of accepting a SABM command, it responds with a DM frame if + * possible. + * + * 4.3.3.2. Set Asynchronous Balanced Mode Extended (SABME) Command + * + * The SABME command places two TNCs in the asynchronous balanced mode extended (modulo 128). This + * is a balanced mode of operation in which both devices are treated as equals or peers. + * Information fields are not allowed in SABME commands. Any outstanding I frames left when the SABME + * command is issued remains unacknowledged. + * + * The TNC confirms reception and acceptance of a SABME command by sending a UA response frame at the + * earliest opportunity. If the TNC is not capable of accepting a SABME command, it responds with a DM frame. + * + * A TNC that uses a version of AX.25 prior to v2.2 responds with a FRMR. ** (see note below) + * + * + * Note: The KPC-3+, which does not appear to support v2.2, responds with a DM. + * The 2.0 spec, section 2.3.4.3.5, states, "While a DXE is in the disconnected mode, it will respond + * to any command other than a SABM or UI frame with a DM response with the P/F bit set to 1." + * I think it is a bug in the KPC but I can see how someone might implement it that way. + * However, another place says FRMR is sent for any unrecognized frame type. That would seem to take priority. + * + *------------------------------------------------------------------------------*/ + +static void sabm_e_frame (ax25_dlsm_t *S, int extended, int p) +{ + + switch (S->state) { + + case state_0_disconnected: + + // Flow chart has decision: "Able to establish?" + // I think this means, are we willing to accept connection requests? + // We are always willing to accept connections. + // Of course, we wouldn't get this far if local callsigns were not "registered." + + if (extended) { + set_version_2_2 (S); + } + else { + set_version_2_0 (S); + } + + cmdres_t res = cr_res; + int f = p; // I don't understand the purpose of "P" in SABM/SABME + // but we dutifully copy it into "F" for the UA response. + int nopid = 0; // PID is only for I and UI. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + clear_exception_conditions (S); + + SET_VS(0); + SET_VA(0); + SET_VR(0); + + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Connected to %s. (%s)\n", S->stream_id, S->addrs[PEERCALL], extended ? "v2.2" : "v2.0"); + + // dl connect indication - inform the client app. + int incoming = 1; + server_link_established (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], incoming); + + INIT_T1V_SRT; + + START_T3; + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + break; + + case state_1_awaiting_connection: + + // Don't combine with state 5. They are slightly different. + + if (extended) { // SABME - respond with DM, enter state 5. + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + enter_new_state (S, state_5_awaiting_v22_connection, __func__, __LINE__); + } + else { // SABM - respond with UA. + + // Erratum! 2006 version shows SAMBE twice for state 1. + // First one should be SABM in last page of Figure C4.2 + // Original appears to be correct. + + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + // stay in state 1. + } + break; + + case state_5_awaiting_v22_connection: + + if (extended) { // SABME - respond with UA + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + // stay in state 5 + } + else { // SABM, respond with UA, enter state 1 + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + } + break; + + case state_2_awaiting_release: + + // Erratum! Flow charts don't list SABME for state 2. + // Probably just want to treat it the same as SABM here. + + { + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_0_HI, pp); // expedited + // stay in state 2. + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + { + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + // State 3 & 4 handling are the same except for this one difference. + if (S->state == state_4_timer_recovery) { + if (extended) { + set_version_2_2 (S); + } + else { + set_version_2_0 (S); + } + } + + clear_exception_conditions (S); + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error F: Data Link reset; i.e. SABM(e) received in state %d.\n", S->stream_id, S->state); + } + if (S->vs != S->va) { + discard_i_queue (S); + // dl connect indication + int incoming = 1; + server_link_established (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], incoming); + } + STOP_T1; + START_T3; + SET_VS(0); + SET_VA(0); + SET_VR(0); + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + } + break; + } + +} /* end sabm_e_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: disc_frame + * + * Purpose: Process DISC command. + * + * Inputs: S - Data Link State Machine. + * p - Poll bit. + * + * Description: 4.3.3.3. Disconnect (DISC) Command + * + * The DISC command terminates a link session between two stations. An information field is not permitted in + * a DISC command frame. + * + * Prior to acting on the DISC frame, the receiving TNC confirms acceptance of the DISC by issuing a UA + * response frame at its earliest opportunity. The TNC sending the DISC enters the disconnected state when it + * receives the UA response. + * + * Any unacknowledged I frames left when this command is acted upon remain unacknowledged. + * + * + * 6.3.4. Link Disconnection + * + * While in the information-transfer state, either TNC may indicate a request to disconnect the link by transmitting + * a DISC command frame and starting timer T1. + * + * After receiving a valid DISC command, the TNC sends a UA response frame and enters the disconnected + * state. After receiving a UA or DM response to a sent DISC command, the TNC cancels timer T1 and enters the + * disconnected state. + * + * If a UA or DM response is not correctly received before T1 times out, the DISC frame is sent again and T1 is + * restarted. If this happens N2 times, the TNC enters the disconnected state. + * + *------------------------------------------------------------------------------*/ + +static void disc_frame (ax25_dlsm_t *S, int p) +{ + + switch (S->state) { + + case state_0_disconnected: + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + { + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + // keep current state, 0, 1, or 5. + break; + + case state_2_awaiting_release: + + { + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_0_HI, pp); // expedited + } + // keep current state, 2. + break; + + case state_3_connected: + case state_4_timer_recovery: + + { + discard_i_queue (S); + + cmdres_t res = cr_res; + int f = p; + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_UA, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + // dl disconnect *indication* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + + STOP_T1; + STOP_T3; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + break; + } + +} /* end disc_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: dm_frame + * + * Purpose: Process DM Response Frame. + * + * Inputs: S - Data Link State Machine. + * f - Final bit. + * + * Description: 4.3.3.1. Set Asynchronous Balanced Mode (SABM) Command + * + * The TNC confirms reception and acceptance of a SABM command by sending a UA response frame at the + * earliest opportunity. If the TNC is not capable of accepting a SABM command, it responds with a DM frame if + * possible. + * + * The TNC confirms reception and acceptance of a SABME command by sending a UA response frame at the + * earliest opportunity. If the TNC is not capable of accepting a SABME command, it responds with a DM frame. + * + * A TNC that uses a version of AX.25 prior to v2.2 responds with a FRMR. + * ( I think the KPC-3+ has a bug - it replys with DM - WB2OSZ ) + * + * 4.3.3.5. Disconnected Mode (DM) Response + * + * The disconnected mode response is sent whenever a TNC receives a frame other than a SABM(E) or UI + * frame while in a disconnected mode. The disconnected mode response also indicates that the TNC cannot + * accept a connection at the moment. The DM response does not have an information field. + * Whenever a SABM(E) frame is received and it is determined that a connection is not possible, a DM frame is + * sent. This indicates that the called station cannot accept a connection at that time. + * While a TNC is in the disconnected mode, it responds to any command other than a SABM(E) or UI frame + * with a DM response with the P/F bit set to "1". + * + * 4.3.3.6. Unnumbered Information (UI) Frame + * + * A received UI frame with the P bit set causes a response to be transmitted. This response is a DM frame when + * in the disconnected state, or an RR (or RNR, if appropriate) frame in the information transfer state. + * + * 6.3.1. AX.25 Link Connection Establishment + * + * If the distant TNC receives a SABM command and cannot enter the indicated state, it sends a DM frame. + * When the originating TNC receives a DM response to its SABM(E) frame, it cancels its T1 timer and does + * not enter the information-transfer state. + * + * 6.3.4. Link Disconnection + * + * After receiving a valid DISC command, the TNC sends a UA response frame and enters the disconnected + * state. After receiving a UA or DM response to a sent DISC command, the TNC cancels timer T1 and enters the + * disconnected state. + * + * 6.5. Resetting Procedure + * + * If a DM response is received, the TNC enters the disconnected state and stops timer T1. If timer T1 expires + * before a UA or DM response frame is received, the SABM(E) is retransmitted and timer T1 restarted. If timer T1 + * expires N2 times, the TNC enters the disconnected state. Any previously existing link conditions are cleared. + * Other commands or responses received by the TNC before completion of the reset procedure are discarded. + * + * Erratum: The flow chart shows the same behavior for states 1 and 5. + * For state 5, I think we should treat DM the same as FRMR. + * + *------------------------------------------------------------------------------*/ + + +static void dm_frame (ax25_dlsm_t *S, int f) +{ + switch (S->state) { + + case state_0_disconnected: + // Do nothing. + break; + + case state_1_awaiting_connection: + + if (f == 1) { + discard_i_queue (S); + // dl disconnect *indication* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + STOP_T1; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + // keep current state. + } + break; + + case state_2_awaiting_release: + + if (f == 1) { + + // Erratum! Original flow chart, page 91, shows DL-CONNECT confirm. + // It should clearly be DISconnect rather than Connect. + + // 2006 has DISCONNECT *Indication*. + // Should it be indication or confirm? Not sure. + + // dl disconnect *confirm* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + STOP_T1; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + // keep current state. + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error E: DM received in state %d.\n", S->stream_id, S->state); + } + // dl disconnect *indication* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + discard_i_queue (S); + STOP_T1; + STOP_T3; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + break; + + case state_5_awaiting_v22_connection: + +#if 0 + // Erratum: The flow chart says we should do this. + // I'm not saying it is wrong. I just found it necessary to change this + // to work around an apparent bug in a popular hardware TNC. + + if (f == 1) { + discard_i_queue (S); + // dl disconnect *indication* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + STOP_T1; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + // keep current state. + } +#else + // Erratum: This is not in original spec. It's copied from the FRMR case. + + // I was expecting FRMR to mean the other end did not understand v2.2. + // Experimentation, with KPC-3+, revealed that we get DM instead. + // One part of the the 2.0 spec sort of indicates this might be intentional. + // But another part more clearly states it should be FRMR. + + // At first I thought it was an error in the protocol spec. + // Later, I tend to believe it was just implemented wrong in the KPC-3+. + + if (f == 1) { + text_color_set(DW_COLOR_INFO); + dw_printf ("%s doesn't understand AX.25 v2.2. Trying v2.0 ...\n", S->addrs[PEERCALL]); + + INIT_T1V_SRT; + + // Erratum: page 105. We are in state 5 so I think that means modulo is 128, + // k is probably something > 7, and selective reject is enabled. + // At the end of this we go to state 1. + // It seems to me, that we really want to set version 2.0 in here so we have + // compatible settings. + + set_version_2_0 (S); + + establish_data_link (S); + S->layer_3_initiated = 1; + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + } +#endif + break; + } + +} /* end dm_frame */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: UA_frame + * + * Purpose: Process UA Response Frame. + * + * Inputs: S - Data Link State Machine. + * f - Final bit. + * + * Description: 4.3.3.4. Unnumbered Acknowledge (UA) Response + * + * The UA response frame acknowledges the reception and acceptance of a SABM(E) or DISC command + * frame. A received command is not actually processed until the UA response frame is sent. Information fields are + * not permitted in a UA frame. + * + * 4.4.1. TNC Busy Condition + * + * When a TNC is temporarily unable to receive I frames (e.g., when receive buffers are full), it sends a Receive + * Not Ready (RNR) frame. This informs the sending TNC that the receiving TNC cannot handle any more I + * frames at the moment. This receiving TNC clears this condition by the sending a UA, RR, REJ or SABM(E) + * command frame. + * + * 6.2. Poll/Final (P/F) Bit Procedures + * + * The response frame returned by a TNC depends on the previous command received, as described in the + * following paragraphs. + * The next response frame returned by the TNC to a SABM(E) or DISC command with the P bit set to "1" is a + * UA or DM response with the F bit set to "1". + * + * 6.3.1. AX.25 Link Connection Establishment + * + * To connect to a distant TNC, the originating TNC sends a SABM command frame to the distant TNC and + * starts its T1 timer. If the distant TNC exists and accepts the connect request, it responds with a UA response + * frame and resets all of its internal state variables (V(S), V(A) and V(R)). Reception of the UA response frame by + * the originating TNC causes it to cancel the T1 timer and set its internal state variables to "0". + * + * 6.5. Resetting Procedure + * + * A TNC initiates a reset procedure whenever it receives an unexpected UA response frame, or after receipt of + * a FRMR frame from a TNC using an older version of the protocol. + * + *------------------------------------------------------------------------------*/ + +static void ua_frame (ax25_dlsm_t *S, int f) +{ + switch (S->state) { + + case state_0_disconnected: + + // Erratum: flow chart says errors C and D. Neither one really makes sense. + // "Unexpected UA in states 3, 4, or 5." We are in state 0 here. + // "UA received without F=1 when SABM or DISC was sent P=1." + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error C: Unexpected UA in state %d.\n", S->stream_id, S->state); + } + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + if (f == 1) { + if (S->layer_3_initiated) { + text_color_set(DW_COLOR_INFO); + // TODO: add via if apppropriate. + dw_printf ("Stream %d: Connected to %s. (%s)\n", S->stream_id, S->addrs[PEERCALL], S->state == state_5_awaiting_v22_connection ? "v2.2" : "v2.0"); + // There is a subtle difference here between connect confirm and indication. + // connect *confirm* means "has been made" + // The AGW API distinguishes between incoming (initiated by other station) and + // outgoing (initiated by me) connections. + int incoming = 0; + server_link_established (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], incoming); + } + else if (S->vs != S->va) { +#if 1 + // Erratum: 2006 version has this. + + INIT_T1V_SRT; + + START_T3; // Erratum: Rather pointless because we immediately stop it below. + // In the original flow chart, that is. + // I think there is an error as explained below. + // In my version this is still pointless because we start T3 later. + +#else + // Erratum: Original version has this. + // I think this could be harmful. + // The client app might have been impatient and started sending + // information already. I don't see why we would want to discard it. + + discard_i_queue (S); +#endif + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Connected to %s. (%s)\n", S->stream_id, S->addrs[PEERCALL], S->state == state_5_awaiting_v22_connection ? "v2.2" : "v2.0"); + + // Erratum: 2006 version says DL-CONNECT *confirm* but original has *indication*. + + // connect *indication* means "has been requested". + // *confirm* seems right because we got a reply from the other side. + + int incoming = 0; + server_link_established (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], incoming); + } + + STOP_T1; +#if 1 // My version. + START_T3; +#else // As shown in flow chart. + STOP_T3; // Erratum? I think this is wrong. + // We are about to enter state 3. When in state 3 either T1 or T3 should be + // running. In state 3, we always see start one / stop the other pairs except where + // we are about to enter a different state. + // Since there is nothing outstanding where we expect a response, T1 would + // not be started. +#endif + SET_VS(0); + SET_VA(0); + SET_VR(0); + select_t1_value (S); + +// Erratum: mdl_negotiate_request does not appear in the SDL flow chart. +// It is mentioned here: +// +// C5.3 Internal Operation of the Machine +// +// The Management Data link State Machine handles the negotiation/notification of +// operational parameters. It uses a single command/response exchange to negotiate the +// final values of negotiable parameters. +// +// The station initiating the AX.25 connection will send an XID command after it receives +// the UA frame. If the other station is using a version of AX.25 earlier than 2.2, it will +// respond with an FRMR of the XID command and the default version 2.0 parameters will +// be used. If the other station is using version 2.2 or better, it will respond with an XID +// response. + + if (S->state == state_5_awaiting_v22_connection) { + mdl_negotiate_request (S); + } + + S->rc =0; // My enhancement. See Erratum note in select_t1_value. + enter_new_state (S, state_3_connected, __func__, __LINE__); + } + else { + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error D: UA received without F=1 when SABM or DISC was sent P=1.\n", S->stream_id); + } + // stay in current state, either 1 or 5. + } + break; + + case state_2_awaiting_release: + + // Erratum: 2006 version is missing yes/no labels on this test. + // DL-ERROR Indication does not mention error D. + + if (f == 1) { + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + STOP_T1; + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error D: UA received without F=1 when SABM or DISC was sent P=1.\n", S->stream_id); + } + // stay in same state. + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error C: Unexpected UA in state %d.\n", S->stream_id, S->state); + } + establish_data_link (S); + S->layer_3_initiated = 0; + + // Erratum? Flow chart goes to state 1. Wouldn't we want this to be state 5 if modulo is 128? + enter_new_state (S, S->modulo == 128 ? state_5_awaiting_v22_connection : state_1_awaiting_connection, __func__, __LINE__); + break; + } + +} /* end ua_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: frmr_frame + * + * Purpose: Process FRMR Response Frame. + * + * Inputs: S - Data Link State Machine. + * + * Description: 4.3.3.2. Set Asynchronous Balanced Mode Extended (SABME) Command + * ... + * The TNC confirms reception and acceptance of a SABME command by sending a UA response frame at the + * earliest opportunity. If the TNC is not capable of accepting a SABME command, it responds with a DM frame. + * A TNC that uses a version of AX.25 prior to v2.2 responds with a FRMR. + * + * 4.3.3.9. FRMR Response Frame + * + * The FRMR response is removed from the standard for the following reasons: + * a) UI frame transmission was not allowed during FRMR recovery; + * b) During FRMR recovery, the link could not be reestablished by the station that sent the FRMR; + * c) The above functions are better handled by simply resetting the link with a SABM(E) + UA exchange; + * d) An implementation that receives and process FRMRs but does not transmit them is compatible with older + * versions of the standard; and + * e) SDL is simplified and removes the need for one state. + * This version of AX.25 operates with previous versions of AX.25. It does not generate a FRMR Response + * frame, but handles error conditions by resetting the link. + * + * 6.3.2. Parameter Negotiation Phase + * + * Parameter negotiation occurs at any time. It is accomplished by sending the XID command frame and + * receiving the XID response frame. Implementations of AX.25 prior to version 2.2 respond to an XID command + * frame with a FRMR response frame. The TNC receiving the FRMR uses a default set of parameters compatible + * with previous versions of AX.25. + * + * 6.5. Resetting Procedure + * + * The link resetting procedure initializes both directions of data flow after a unrecoverable error has occurred. + * This resetting procedure is used only in the information-transfer state of an AX.25 link. + * A TNC initiates a reset procedure whenever it receives an unexpected UA response frame, or after receipt of + * a FRMR frame from a TNC using an older version of the protocol. + * + *------------------------------------------------------------------------------*/ + + +static void frmr_frame (ax25_dlsm_t *S) +{ + switch (S->state) { + + case state_0_disconnected: + case state_1_awaiting_connection: + case state_2_awaiting_release: + // Ignore it. Keep current state. + break; + + case state_3_connected: + case state_4_timer_recovery: + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error K: FRMR not expected in state %d.\n", S->stream_id, S->state); + } + + set_version_2_0 (S); // Erratum: FRMR can only be sent by v2.0. + // Need to force v2.0. Should be added to flow chart. + establish_data_link (S); + S->layer_3_initiated = 0; + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + break; + + case state_5_awaiting_v22_connection: + + text_color_set(DW_COLOR_INFO); + dw_printf ("%s doesn't understand AX.25 v2.2. Trying v2.0 ...\n", S->addrs[PEERCALL]); + + INIT_T1V_SRT; + + set_version_2_0 (S); // Erratum: Need to force v2.0. This is not in flow chart. + + establish_data_link (S); + S->layer_3_initiated = 1; // Erratum? I don't understand the difference here. + // State 1 clears it. State 5 sets it. Why not the same? + + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + break; + } + +// part of state machine for the XID negotiation. + +// I would not expect this to happen. +// To get here: +// We sent SABME. (not SABM) +// Other side responded with UA so it understands v2.2. +// We sent XID command which puts us int the negotiating state. +// Presumably this is in response to the XID and not something else. + +// Anyhow, we will fall back to v2.0 parameters. + + switch (S->mdl_state) { + + case mdl_state_0_ready: + break; + + case mdl_state_1_negotiating: + + set_version_2_0 (S); + S->mdl_state = mdl_state_0_ready; + break; + } + +} /* end frmr_frame */ + + +/*------------------------------------------------------------------------------ + * + * Name: ui_frame + * + * Purpose: Process XID frame for negotiating protocol parameters. + * + * Inputs: S - Data Link State Machine. + * + * cr - Is it command or response? + * + * pf - Poll/Final bit. + * + * Description: 4.3.3.6. Unnumbered Information (UI) Frame + * + * The Unnumbered Information frame contains PID and information fields and passes information along the + * link outside the normal information controls. This allows information fields to be exchanged on the link, bypassing + * flow control. + * + * Because these frames cannot be acknowledged, if one such frame is obliterated, it cannot be recovered. + * A received UI frame with the P bit set causes a response to be transmitted. This response is a DM frame when + * in the disconnected state, or an RR (or RNR, if appropriate) frame in the information transfer state. + * + * Reality: The data link state machine was an add-on after APRS and client APIs were already done. + * UI frames don't go thru here for normal operation. + * The only reason we have this function is so that we can send a response to a UI command with P=1. + * + *------------------------------------------------------------------------------*/ + +static void ui_frame (ax25_dlsm_t *S, cmdres_t cr, int pf) +{ + if (cr == cr_cmd && pf == 1) { + + switch (S->state) { + + case state_0_disconnected: + case state_1_awaiting_connection: + case state_2_awaiting_release: + case state_5_awaiting_v22_connection: + { + cmdres_t r = cr_res; // DM response with F taken from P. + int nopid = 0; // PID applies only for I and UI frames. + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, r, frame_type_U_DM, pf, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + enquiry_response (S, frame_type_U_UI, pf); + break; + } + } + +} /* end ui_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: xid_frame + * + * Purpose: Process XID frame for negotiating protocol parameters. + * + * Inputs: S - Data Link State Machine. + * + * cr - Is it command or response? + * + * pf - Poll/Final bit. + * + * Description: 4.3.3.7 Exchange Identification (XID) Frame + * + * The Exchange Identification frame causes the addressed station to identify itself, and + * to provide its characteristics to the sending station. An information field is optional within + * the XID frame. A station receiving an XID command returns an XID response unless a UA + * response to a mode setting command is awaiting transmission, or a FRMR condition + * exists. + * + * The XID frame complies with ISO 8885. Only those fields applicable to AX.25 are + * described. All other fields are set to an appropriate value. This implementation is + * compatible with any implementation which follows ISO 8885. Only the general-purpose + * XID information field identifier is required in this version of AX.25. + * + * The information field consists of zero or more information elements. The information + * elements start with a Format Identifier (FI) octet. The second octet is the Group Identifier + * (GI). The third and forth octets form the Group Length (GL). The rest of the information + * field contains parameter fields. + * + * The FI takes the value 82 hex for the general-purpose XID information. The GI takes + * the value 80 hex for the parameter-negotiation identifier. The GL indicates the length of + * the associated parameter field. This length is expressed as a two-octet binary number + * representing the length of the associated parameter field in octets. The high-order bits of + * length value are in the first of the two octets. A group length of zero indicates the lack of + * an associated parameter field and that all parameters assume their default values. The GL + * does not include its own length or the length of the GI. + * + * The parameter field contains a series of Parameter Identifier (PI), Parameter Length + * (PL), and Parameter Value (PV) set structures, in that order. Each PI identifies a + * parameter and is one octet in length. Each PL indicates the length of the associated PV in + * octets, and is one octet in length. Each PV contains the parameter value and is PL octets + * in length. The PL does not include its own length or the length of its associated PI. A PL + * value of zero indicates that the associated PV is absent; the parameter assumes the + * default value. A PI/PL/PV set may be omitted if it is not required to convey information, or + * if present values for the parameter are to be used. The PI/PL/PV fields are placed into the + * information field of the XID frame in ascending order. There is only one entry for each + * PI/PL/PV field used. A parameter field containing an unrecognized PI is ignored. An + * omitted parameter field assumes the currently negotiated value. + * + *------------------------------------------------------------------------------*/ + + +static void xid_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, unsigned char *info_ptr, int info_len) +{ + struct xid_param_s param; + char desc[120]; + int ok; + unsigned char xinfo[40]; + int xlen; + cmdres_t res = cr_res; + int f = 1; + int nopid = 0; + packet_t pp; + + + switch (S->mdl_state) { + + case mdl_state_0_ready: + + if (cr == cr_cmd) { + + if (pf == 1) { + +// Take parameters sent by other station. +// Generally we take minimum of what he wants and what I can do. +// Adjust my working configuration and send it back. + + ok = xid_parse (info_ptr, info_len, ¶m, desc, sizeof(desc)); + + if (ok) { + negotiation_response (S, ¶m); + + xlen = xid_encode (¶m, xinfo); + + pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_XID, f, nopid, xinfo, xlen); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error MDL-A: XID command without P=1.\n", S->stream_id); + } + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error MDL-B: Unexpected XID response.\n", S->stream_id); + } + break; + + case mdl_state_1_negotiating: + + if (cr == cr_res) { + + if (pf == 1) { + +// Got expected response. Copy into my working parameters. + + ok = xid_parse (info_ptr, info_len, ¶m, desc, sizeof(desc)); + + if (ok) { + complete_negotiation (S, ¶m); + } + + S->mdl_state = mdl_state_0_ready; + STOP_TM201; + +//#define TEST_TEST 1 + +#if TEST_TEST // Send TEST command to see how it responds. + // We currently have no Client API for sending this or reporting result. + { + char info[80] = "The quick brown fox jumps over the lazy dog."; + cmdres_t cmd = cr_cmd; + int p = 0; + int nopid = 0; + packet_t pp; + + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, frame_type_U_TEST, p, nopid, (unsigned char *)info, (int)strlen(info)); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } +#endif + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error MDL-D: XID response without F=1.\n", S->stream_id); + } + } + else { + // Not expecting to receive a command when I sent one. + // Flow chart says requeue but I just drop it. + // The other end can retry and maybe I will be back to ready state by then. + } + break; + } + +} /* end xid_frame */ + + +/*------------------------------------------------------------------------------ + * + * Name: test_frame + * + * Purpose: Process TEST command for checking link. + * + * Inputs: S - Data Link State Machine. + * + * cr - Is it command or response? + * + * pf - Poll/Final bit. + * + * Description: 4.3.3.8. Test (TEST) Frame + * + * The Test command causes the addressed station to respond with the TEST response at the first respond + * opportunity; this performs a basic test of the data-link control. An information field is optional with the TEST + * command. If present, the received information field is returned, if possible, by the addressed station, with the + * TEST response. The TEST command has no effect on the mode or sequence variables maintained by the station. + * + * A FRMR condition may be established if the received TEST command information field exceeds the maximum + * defined storage capability of the station. If a FRMR response is not returned for this condition, a TEST response + * without an information field is returned. + * + * The station considers the data-link layer test terminated on receipt of the TEST response, or when a time-out + * period has expired. The results of the TEST command/response exchange are made available for interrogation + * by a higher layer. + * + * Erratum: TEST frame is not mentioned in the SDL flow charts. + * Don't know how P/F is supposed to be used. + * Here, the response sends back what was received in the command. + * + *------------------------------------------------------------------------------*/ + + +static void test_frame (ax25_dlsm_t *S, cmdres_t cr, int pf, unsigned char *info_ptr, int info_len) +{ + cmdres_t res = cr_res; + int f = pf; + int nopid = 0; + packet_t pp; + + if (cr == cr_cmd) { + pp = ax25_u_frame (S->addrs, S->num_addr, res, frame_type_U_TEST, f, nopid, info_ptr, info_len); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + } + +} /* end test_frame */ + + + +/*------------------------------------------------------------------------------ + * + * Name: dl_timer_expiry + * + * Purpose: Some timer expired. Figure out which one and act accordingly. + * + * Inputs: none. + * + *------------------------------------------------------------------------------*/ + +void dl_timer_expiry (void) +{ + ax25_dlsm_t *p; + double now = dtime_now(); + +// Examine all of the data link state machines. +// Process only those where timer: +// - is running. +// - is not paused. +// - expiration time has arrived or passed. + + for (p = list_head; p != NULL; p = p->next) { + if (p->t1_exp != 0 && p->t1_paused_at == 0 && p->t1_exp <= now) { + p->t1_exp = 0; + p->t1_paused_at = 0; + p->t1_had_expired = 1; + t1_expiry (p); + } + } + + for (p = list_head; p != NULL; p = p->next) { + if (p->t3_exp != 0 && p->t3_exp <= now) { + p->t3_exp = 0; + t3_expiry (p); + } + } + + for (p = list_head; p != NULL; p = p->next) { + if (p->tm201_exp != 0 && p->tm201_paused_at == 0 && p->tm201_exp <= now) { + p->tm201_exp = 0; + p->tm201_paused_at = 0; + tm201_expiry (p); + } + } + +} /* end dl_timer_expiry */ + + +/*------------------------------------------------------------------------------ + * + * Name: t1_expiry + * + * Purpose: Handle T1 timer expiration for outstanding I frame or P-bit. + * + * Inputs: S - Data Link State Machine. + * + * Description: 4.4.5.1. T1 Timer Recovery + * + * If a transmission error causes a TNC to fail to receive (or to receive and discard) a single I frame, or the last I + * frame in a sequence of I frames, then the TNC does not detect a send-sequence-number error and consequently + * does not transmit a REJ/SREJ. The TNC that transmitted the unacknowledged I frame(s) following the completion + * of timeout period T1, takes appropriate recovery action to determine when I frame retransmission as described + * in Section 6.4.10 should begin. This condition is cleared by the reception of an acknowledgement for the sent + * frame(s), or by the link being reset. + * + * 6.7.1.1. Acknowledgment Timer T1 + * + * T1, the Acknowledgement Timer, ensures that a TNC does not wait indefinitely for a response to a frame it + * sends. This timer cannot be expressed in absolute time; the time required to send frames varies greatly with the + * signaling rate used at Layer 1. T1 should take at least twice the amount of time it would take to send maximum + * length frame to the distant TNC and get the proper response frame back from the distant TNC. This allows time + * for the distant TNC to do some processing before responding. + * If Layer 2 repeaters are used, the value of T1 should be adjusted according to the number of repeaters through + * which the frame is being transferred. + * + *------------------------------------------------------------------------------*/ + +// Make timer start, stop, expiry a different color to stand out. + +#define DW_COLOR_DEBUG_TIMER DW_COLOR_ERROR + + +static void t1_expiry (ax25_dlsm_t *S) +{ + + if (s_debug_timers) { + double now = dtime_now(); + + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("t1_expiry (), [now=%.3f], state=%d, rc=%d\n", now - S->start_time, S->state, S->rc); + } + + switch (S->state) { + + case state_0_disconnected: + + // Ignore it. + break; + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + // MAXV22 hack. + // If we already sent the maximum number of SABME, fall back to v2.0 SABM. + + if (S->state == state_5_awaiting_v22_connection && S->rc == g_misc_config_p->maxv22) { + set_version_2_0 (S); + enter_new_state (S, state_1_awaiting_connection, __func__, __LINE__); + } + + if (S->rc == S->n2_retry) { + discard_i_queue(S); + text_color_set(DW_COLOR_INFO); + dw_printf ("Failed to connect to %s after %d tries.\n", S->addrs[PEERCALL], S->n2_retry); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 1); + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + cmdres_t cmd = cr_cmd; + int p = 1; + int nopid = 0; + + packet_t pp; + + S->rc++; + if (S->rc > S->peak_rc_value) S->peak_rc_value = S->rc; // Keep statistics. + + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, (S->state == state_5_awaiting_v22_connection) ? frame_type_U_SABME : frame_type_U_SABM, p, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + select_t1_value(S); + START_T1; + // Keep same state. + } + break; + + case state_2_awaiting_release: + + if (S->rc == S->n2_retry) { + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 0); + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + cmdres_t cmd = cr_cmd; + int p = 1; + int nopid = 0; + + packet_t pp; + + S->rc++; + if (S->rc > S->peak_rc_value) S->peak_rc_value = S->rc; + + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, frame_type_U_DISC, p, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + select_t1_value(S); + START_T1; + // stay in same state + } + break; + + case state_3_connected: + + S->rc = 1; + transmit_enquiry (S); + enter_new_state (S, state_4_timer_recovery, __func__, __LINE__); + break; + + case state_4_timer_recovery: + + if (S->rc == S->n2_retry) { + +// Erratum: 2006 version, page 103, is missing yes/no labels on decision blocks. + + if (S->va != S->vr) { + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error I: N2 timeouts: unacknowledged data.\n", S->stream_id); + } + } + else if (S->peer_receiver_busy) { + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error U: N2 timeouts: extended peer busy condition.\n", S->stream_id); + } + } + else { + + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error T: N2 timeouts: no response to enquiry.\n", S->stream_id); + } + } + + // Erratum: Flow chart says DL-DISCONNECT "request" in both original and 2006 revision. + // That is clearly wrong because a "request" would come FROM the higher level protocol/client app. + // I think it should be "indication" rather than "confirm" because the peer condition is unknown. + + // dl disconnect *indication* + text_color_set(DW_COLOR_INFO); + dw_printf ("Stream %d: Disconnected from %s due to timeouts.\n", S->stream_id, S->addrs[PEERCALL]); + server_link_terminated (S->chan, S->client, S->addrs[PEERCALL], S->addrs[OWNCALL], 1); + + discard_i_queue (S); + + cmdres_t cr = cr_res; // DM can only be response. + int f = 0; // Erratum: Assuming F=0 because it is not response to P=1 + int nopid = 0; + + packet_t pp = ax25_u_frame (S->addrs, S->num_addr, cr, frame_type_U_DM, f, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + enter_new_state (S, state_0_disconnected, __func__, __LINE__); + } + else { + S->rc++; + if (S->rc > S->peak_rc_value) S->peak_rc_value = S->rc; // gather statistics. + + transmit_enquiry (S); + // Keep same state. + } + break; + } + +} /* end t1_expiry */ + + +/*------------------------------------------------------------------------------ + * + * Name: t3_expiry + * + * Purpose: Handle T3 timer expiration. + * + * Inputs: S - Data Link State Machine. + * + * Description: TODO: still don't understand this. + * + * 4.4.5.2. Timer T3 Recovery + * + * Timer T3 ensures that the link is still functional during periods of low information transfer. When T1 is not + * running (no outstanding I frames), T3 periodically causes the TNC to poll the other TNC of a link. When T3 + * times out, an RR or RNR frame is transmitted as a command with the P bit set, and then T1 is started. When a + * response to this command is received, T1 is stopped and T3 is started. If T1 expires before a response is + * received, then the waiting acknowledgement procedure (Section 6.4.11) is executed. + * + * 6.7.1.3. Inactive Link Timer T3 + * + * T3, the Inactive Link Timer, maintains link integrity whenever T1 is not running. It is recommended that + * whenever there are no outstanding unacknowledged I frames or P-bit frames (during the information-transfer + * state), an RR or RNR frame with the P bit set to "1" be sent every T3 time units to query the status of the other + * TNC. The period of T3 is locally defined, and depends greatly on Layer 1 operation. T3 should be greater than + * T1; it may be very large on channels of high integrity. + * + *------------------------------------------------------------------------------*/ + +static void t3_expiry (ax25_dlsm_t *S) +{ + + if (s_debug_timers) { + double now = dtime_now(); + + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("t3_expiry (), [now=%.3f]\n", now - S->start_time); + } + + switch (S->state) { + + case state_0_disconnected: + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + case state_2_awaiting_release: + case state_4_timer_recovery: + + break; + + case state_3_connected: + +// Erratum: Original sets RC to 0, 2006 revision sets RC to 1 which makes more sense. + + S->rc = 1; + transmit_enquiry (S); + enter_new_state (S, state_4_timer_recovery, __func__, __LINE__); + break; + } + +} /* end t3_expiry */ + + + +/*------------------------------------------------------------------------------ + * + * Name: tm201_expiry + * + * Purpose: Handle TM201 timer expiration. + * + * Inputs: S - Data Link State Machine. + * + * Description: This is used when waiting for a response to an XID command. + * + *------------------------------------------------------------------------------*/ + + +static void tm201_expiry (ax25_dlsm_t *S) +{ + + struct xid_param_s param; + unsigned char xinfo[40]; + int xlen; + cmdres_t cmd = cr_cmd; + int p = 1; + int nopid = 0; + packet_t pp; + + + if (s_debug_timers) { + double now = dtime_now(); + + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("tm201_expiry (), [now=%.3f], state=%d, rc=%d\n", now - S->start_time, S->state, S->rc); + } + + switch (S->mdl_state) { + + case mdl_state_0_ready: + +// Timer shouldn't be running when in this state. + + break; + + case mdl_state_1_negotiating: + + S->mdl_rc++; + if (S->mdl_rc > S->n2_retry) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error MDL-C: Management retry limit exceeded.\n", S->stream_id); + S->mdl_state = mdl_state_0_ready; + } + else { + // No response. Ask again. + + initiate_negotiation (S, ¶m); + + xlen = xid_encode (¶m, xinfo); + + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, frame_type_U_XID, p, nopid, xinfo, xlen); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + START_TM201; + } + break; + } + +} /* end tm201_expiry */ + + +//################################################################################### +//################################################################################### +// +// Subroutines from protocol spec, pages 106 - 109 +// +//################################################################################### +//################################################################################### + +// FIXME: continue review here. + + +/*------------------------------------------------------------------------------ + * + * Name: nr_error_recovery + * + * Purpose: Try to recover after receiving an expected N(r) value. + * + *------------------------------------------------------------------------------*/ + +static void nr_error_recovery (ax25_dlsm_t *S) +{ + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error J: N(r) sequence error.\n", S->stream_id); + } + establish_data_link (S); + S->layer_3_initiated = 0; + +} /* end nr_error_recovery */ + + +/*------------------------------------------------------------------------------ + * + * Name: establish_data_link + * (Combined with "establish extended data link") + * + * Purpose: Send SABM or SABME to other station. + * + * Inputs: S-> + * addrs destination, source, and optional digi addresses. + * num_addr Number of addresses. Should be 2 .. 10. + * modulo Determines if we send SABME or SABM. + * + * Description: Original spec had two different functions that differed + * only by sending SABM or SABME. Here they are combined into one. + * + *------------------------------------------------------------------------------*/ + +static void establish_data_link (ax25_dlsm_t *S) +{ + cmdres_t cmd = cr_cmd; + int p = 1; + packet_t pp; + int nopid = 0; + + clear_exception_conditions (S); + +// Erratum: We have an off-by-one error here. +// Flow chart shows setting RC to 0 and we end up sending SAMB(e) 11 times when N2 (RETRY) is 10. +// It should be 1 rather than 0. + + S->rc = 1; + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, (S->modulo == 128) ? frame_type_U_SABME : frame_type_U_SABM, p, nopid, NULL, 0); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + STOP_T3; + START_T1; + +} /* end establish_data_link */ + + + +/*------------------------------------------------------------------------------ + * + * Name: clear_exception_conditions + * + *------------------------------------------------------------------------------*/ + +static void clear_exception_conditions (ax25_dlsm_t *S) +{ + S->peer_receiver_busy = 0; + S->reject_exception = 0; + S->own_receiver_busy = 0; + S->acknowledge_pending = 0; + +// My enhancement. If we are establishing a new connection, we should discard any saved out of sequence incoming I frames. + + int n; + + for (n = 0; n < 128; n++) { + if (S->rxdata_by_ns[n] != NULL) { + cdata_delete (S->rxdata_by_ns[n]); + S->rxdata_by_ns[n] = NULL; + } + } + +// We retain the transmit I frame queue so we can continue after establishing a new connection. + +} /* end clear_exception_conditions */ + + +/*------------------------------------------------------------------------------ + * + * Name: transmit_enquiry, page 106 + * + * Purpose: This is called only when a timer expires. + * + * T1: We sent I frames and timed out waiting for the ack. + * Poke the other end to determine how much it got so far + * so we know where to continue. + * + * T3: Not activity for substantial amount of time. + * Poke the other end to see if it is still there. + * + * + * Observation: This is the only place where we send RR command with P=1. + * + * Sequence of events: + * + * We send some I frames to the other guy. + * There are outstanding sent I frames for which we did not receive ACK. + * + * Timer 1 expires when we are in state 3: send RR/RNR command P=1 (here). Enter state 4. + * Timer 1 expires when we are in state 4: same until max retry count is exceeded. + * + * Other guy gets RR/RNR command P=1. + * Same action for either state 3 or 4. + * Whether he has outstanding un-ack'ed sent I frames is irrelevent. + * He calls "enquiry response" which sends RR/RNR response F=1. + * (Read about detour 1 below and in enquiry_response.) + * + * I get back RR/RNR response F=1. Still in state 4. + * Of course, N(R) gets copied into V(A). + * Now here is the interesting part. + * If the ACKs are caught up, i.e. V(A) == V(S), stop T1 and enter state 3. + * Otherwise, "invoke retransmission" to resend everything after N(R). + * + * + * Detour 1: You were probably thinking, "Suppose SREJ is enabled and the other guy + * had a record of the SREJ frames sent which were not answered by filled in + * I frames. Why not send the SREJ again instead of backing up and resending + * stuff which already got there OK?" + * + * The code to handle incoming SREJ in state 4 is there but stop T1 is in the + * wrong place as mentioned above. + * + *------------------------------------------------------------------------------*/ + +static void transmit_enquiry (ax25_dlsm_t *S) +{ + int p = 1; + int nr = S->vr; + cmdres_t cmd = cr_cmd; + packet_t pp; + + if (s_debug_retry) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("\n****** TRANSMIT ENQUIRY ******\n\n"); + } + +// This is the ONLY place that we send RR/RNR *command* with P=1. +// Everywhere else should be response. +// I don't think we ever use RR/RNR command P=0 but need to check on that. + + pp = ax25_s_frame (S->addrs, S->num_addr, cmd, S->own_receiver_busy ? frame_type_S_RNR : frame_type_S_RR, S->modulo, nr, p); + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + START_T1; + +} /* end transmit_enquiry */ + + + +/*------------------------------------------------------------------------------ + * + * Name: enquiry_response + * + * Inputs: frame_type - Type of frame received or frame_not_AX25 for LM seize confirm. + * I think that this function is being called from too many + * different contexts where it really needs to react differently. + * So pass in more information about where we are coming from. + * + * F - Always specified as parameter in the references. + * + * Description: This is called for: + * - UI command with P=1 then F=1. + * - LM seize confirm with ack pending then F=0. (TODO: not clear on this yet.) + * TODO: I think we want to ensure that this function is called ONLY + * for RR/RNR/I command with P=1. LM Seize confirm can do its own thing and + * not get involved in this complication. + * - check_need_for_response(), command & P=1, then F=1 + * - RR/RNR/REJ command & P=1, then F=1 + * + * In all cases, we see that F has been specified, usually 1 because it is + * a response to a command with P=1. + * Specifying F would imply response when the flow chart says RR/RNR command. + * The documentation says: + * + * 6.2. Poll/Final (P/F) Bit Procedures + * + * The next response frame returned to an I frame with the P bit set to "1", received during the information + * transfer state, is an RR, RNR or REJ response with the F bit set to "1". + * + * The next response frame returned to a supervisory command frame with the P bit set to "1", received during + * the information transfer state, is an RR, RNR or REJ response frame with the F bit set to "1". + * + * Erattum! The flow chart says RR/RNR *command* but I'm confident should be response. + * + * Erratum: Ax.25 spec has nothing here for SREJ. See X.25 2.4.6.11 for explanation. + * + *------------------------------------------------------------------------------*/ + +static void enquiry_response (ax25_dlsm_t *S, ax25_frame_type_t frame_type, int f) +{ + cmdres_t cr = cr_res; // Response, not command as seen in flow chart. + int nr = S->vr; + packet_t pp; + + + if (s_debug_retry) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("\n****** ENQUIRY RESPONSE F=%d ******\n\n", f); + } + +#if 1 // Detour 1 + + // My addition, Based on X.25 2.4.6.11. + // Only for RR, RNR, I. + // See sequence of events in transmit_enquiry comments. + + if (f == 1 && (frame_type == frame_type_S_RR || frame_type == frame_type_S_RNR || frame_type == frame_type_I)) { + + if (S->own_receiver_busy) { + +// I'm busy. + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RNR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + } + + else if (S->srej_enabled) { + +// SREJ is enabled. This is based on X.25 2.4.6.11. + + if (S->modulo != 128) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: enquiry response should not be sending SREJ for modulo 8.\n"); + } + +// Suppose we received I frames with N(S) of 0, 3, 7. +// V(R) is still 1 because 0 is the last one received with contiguous N(S) values. +// 3 and 7 have been saved into S->rxdata_by_ns. +// We have outstanding requests to resend 1, 2, 4, 5, 6. +// Either those requests or the replies got lost. +// The other end timed out and asked us what is happening by sending RR/RNR command P=1. + +// First see if we have any out of sequence frames in the receive buffer. + + int last; + last = AX25MODULO(S->vr - 1, S->modulo, __FILE__, __func__, __LINE__); + while (last != S->vr && S->rxdata_by_ns[last] == NULL) { + last = AX25MODULO(last - 1, S->modulo, __FILE__, __func__, __LINE__); + } + + if (last != S->vr) { + +// Ask for missing frames to be sent again. X.25 2.4.6.11 b) & 2.3.5.2.2 + + int resend[128]; + int count = 0; + int j; + int allow_f1 = 1; + + j = S->vr; + while (j != last) { + if (S->rxdata_by_ns[j] == NULL) { + resend[count++] = j; + } + j = AX25MODULO(j + 1, S->modulo, __FILE__, __func__, __LINE__); + } + + send_srej_frames (S, resend, count, allow_f1); + } + else { + +// Not waiting for fill in of missing frames. X.25 2.4.6.11 c) + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + } + + } else { + +// SREJ not enabled. +// One might get the idea that it would make sense send REJ here if the reject exception is set. +// However, I can't seem to find that buried in X.25 2.4.5.9. +// And when we look at what happens when RR response, F=1 is received in state 4, it is +// effectively REJ when N(R) is not the same as V(S). + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + } + + } // end of RR,RNR,I cmd with P=1 + + else { + +// For cases other than (RR, RNR, I) command, P=1. + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, S->own_receiver_busy ? frame_type_S_RNR : frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + } + +#else + +// As found in AX.25 spec. +// Erratum: This is woefully inadequate when SREJ is enabled. +// Erratum: Flow chart says RR/RNR command but I'm confident it should be response. + + pp = ax25_s_frame (S->addrs, S->num_addr, cr, S->own_receiver_busy ? frame_type_S_RNR : frame_type_S_RR, S->modulo, nr, f); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->acknowledge_pending = 0; + +# endif + +} /* end enquiry_response */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: invoke_retransmission + * + * Inputs: nr_input - Resend starting with this. + * Continue will all up to and including current V(S) value. + * + * Description: Resend one or more frames that have already been sent. + * + * This is probably the result of getting REJ asking for a resend. + * + *------------------------------------------------------------------------------*/ + +static void invoke_retransmission (ax25_dlsm_t *S, int nr_input) +{ + +// Original flow chart showed saving V(S) into temp variable x, +// using V(S) as loop control variable, and finally restoring it +// to original value before returning. +// Here we just a local variable instead of messing with it. +// This should be equivalent but safer. + + int local_vs; + int sent_count = 0; + + if (S->txdata_by_ns[nr_input] == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal Error, Can't resend starting with N(S) = %d. It is not available. %s %s %d\n", nr_input, __FILE__, __func__, __LINE__); + return; + } + + + local_vs = nr_input; + do { + + if (S->txdata_by_ns[local_vs] != NULL) { + + cmdres_t cr = cr_cmd; + int ns = local_vs; + int nr = S->vr; + int p = 0; + + if (s_debug_misc) { + text_color_set(DW_COLOR_INFO); + dw_printf ("invoke_retransmission(): state=%d, Resending N(S) = %d, probably as result of REJ N(R) = %d\n", S->state, ns, nr_input); + } + + packet_t pp = ax25_i_frame (S->addrs, S->num_addr, cr, S->modulo, nr, ns, p, + S->txdata_by_ns[ns]->pid, (unsigned char *)(S->txdata_by_ns[ns]->data), S->txdata_by_ns[ns]->len); + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + // Keep it around in case we need to send again. + + sent_count++; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal Error, state=%d, need to retransmit N(S) = %d for REJ but it is not available. %s %s %d\n", S->state, local_vs, __FILE__, __func__, __LINE__); + } + local_vs = AX25MODULO(local_vs + 1, S->modulo, __FILE__, __func__, __LINE__); + + } while (local_vs != S->vs); + + if (sent_count == 0) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal Error, Nothing to retransmit. N(R)=%d, %s %s %d\n", nr_input, __FILE__, __func__, __LINE__); + } + +} /* end invoke_retransmission */ + + + +/*------------------------------------------------------------------------------ + * + * Name: check_i_frame_ackd + * + * Purpose: + * + * Inputs: nr - N(R) from I or S frame, acknowledging receipt thru N(R)-1. + * i.e. The next one expected by the peer is N(R). + * + * Outputs: S->va - updated from nr. + * + * Description: TBD... Document when this is used. + * + *------------------------------------------------------------------------------*/ + +static void check_i_frame_ackd (ax25_dlsm_t *S, int nr) +{ + if (S->peer_receiver_busy) { + SET_VA(nr); + + // Erratum? This looks odd to me. + // It doesn't seem right that we would have T3 and T1 running at the same time. + // Normally we stop one when starting the other. + // Should this be Stop T3 instead? + + START_T3; + if ( ! IS_T1_RUNNING) { + START_T1; + } + } + else if (nr == S->vs) { + SET_VA(nr); + STOP_T1; + START_T3; + select_t1_value (S); + } + else if (nr != S->va) { + + if (s_debug_misc) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("check_i_frame_ackd n(r)=%d, v(a)=%d, Set v(a) to new value %d\n", nr, S->va, nr); + } + + SET_VA(nr); + START_T1; // Erratum? Flow chart says "restart" rather than "start." + // Is this intentional, what is the difference? + } + +} /* check_i_frame_ackd */ + + + +/*------------------------------------------------------------------------------ + * + * Name: check_need_for_response + * + * Inputs: frame_type - frame_type_S_RR, etc. + * + * cr - Is it a command or response? + * + * pf - P/F from the frame. + * + * Description: This is called for RR, RNR, and REJ frames. + * If it is a command with P=1, we reply with RR or RNR with F=1. + * + *------------------------------------------------------------------------------*/ + +static void check_need_for_response (ax25_dlsm_t *S, ax25_frame_type_t frame_type, cmdres_t cr, int pf) +{ + if (cr == cr_cmd && pf == 1) { + int f = 1; + enquiry_response (S, frame_type, f); + } + else if (cr == cr_res && pf == 1) { + if (s_debug_protocol_errors) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Stream %d: AX.25 Protocol Error A: F=1 received but P=1 not outstanding.\n", S->stream_id); + } + } + +} /* end check_need_for_response */ + + + +/*------------------------------------------------------------------------------ + * + * Name: ui_check + * + * Description: I don't think we need this because UI frames are processed + * without going thru the data link state machine. + * + *------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------ + * + * Name: select_t1_value + * + * Purpose: Dynamically adjust the T1 timeout value, commonly a fixed time known as FRACK. + * + * Inputs: S->rc Retry counter. + * + * S->srt Smoothed roundtrip time in seconds. + * + * S->t1_remaining_when_last_stopped + * Seconds left on T1 when it is stopped. + * + * Outputs: S->srt New smoothed roundtrip time. + * + * S->t1v How long to wait for an acknowlegement before resending. + * Value used when starting timer T1, in seconds. + * Here it is dynamically adjusted. + * + * Description: How long should we wait for an ACK before sending again or giving up? + * some implementations have a fixed length time. This is usually the FRACK parameter, + * typically 3 seconds (D710A) or 4 seconds (KPC-3+). + * + * This should be increased for each digipeater in the path. + * Here it is dynamically adjusted by taking the average time it takes to get a response + * and then we double it. + * + * Rambling: It seems like a good idea to adapt to channel conditions, such as digipeater delays, + * but it is fraught with peril if you are not careful. + * + * For example, if we accept an incoming connection and only receive some I frames and + * send no I frames, T1 never gets started. In my earlier attempt, 't1_remaining_when_last_stopped' + * had the initial value of 0 lacking any reason to set it differently. The calculation here + * then kept pushing t1v up up up. After receiving 20 I frames and sending none, + * t1v was over 300 seconds!!! + * + * We need some way to indicate that 't1_remaining_when_last_stopped' is not valid and + * not to use it. Rather than adding a new variable, it is set to a negative value + * initially to mean it has not been set yet. That solves one problem. + * + * T1 is paused whenever the channel is busy, either transmitting or receiving, + * so the measured time could turn out to be a tiny fraction of a second, much less than + * the frame transmission time. + * If this gets too low, an unusually long random delay, before the sender's transmission, + * could exceed this. I put in a lower limit for t1v, currently 1 second. + * + * What happens if we get multiple timeouts because we don't get a response? + * For example, when we try to connect to a station which is not there, a KPC-3+ will give + * up and report failure after 10 tries x 4 sec = 40 seconds. + * + * The algorithm in the AX.25 protocol spec shows increasing timeout values. + * It might seem like a good idea but either it was not thought out very well + * or I am not understanding it. If it is doubled each time, it gets awful large + * very quickly. If we try to connect to a station which is not there, + * we want to know within a minute, not an hour later. + * + * Keeping with the spirit of increasing the time but keeping it sane, + * I increase the time linearly by a fraction of a second. + * + *------------------------------------------------------------------------------*/ + + +static void select_t1_value (ax25_dlsm_t *S) +{ + float old_srt = S->srt; + + +// Erratum: I don't think this test for RC == 0 is valid. +// We would need to set RC to 0 whenever we enter state 3 and we don't do that. +// I think a more appropriate test would be to check if we are in state 3. +// When things are going smoothly, it makes sense to fine tune timeout based on smoothed round trip time. +// When in some other state, we might want to slowly increase the time to minimize collisions. +// Maybe the solution is to set RC=0 when we enter state 3. + +// TODO: come back and revisit this. + + if (S->rc == 0) { + + if (S->t1_remaining_when_last_stopped >= 0) { // Negative means invalid, don't use it. + + // This is an IIR low pass filter. + // Algebraically equivalent to version in AX.25 protocol spec but I think the + // original intent is clearer by having 1/8 appear only once. + + S->srt = 7./8. * S->srt + 1./8. * ( S->t1v - S->t1_remaining_when_last_stopped ); + } + + // We pause T1 when the channel is busy. + // This includes both receiving someone else and us transmitting. + // This can result in the round trip time going down to almost nothing. + // My enhancement is to prevent srt from going below one second so + // t1v should never be less than 2 seconds. + // When t1v was allowed to go down to 1, we got occastional timeouts + // even under ideal conditions, probably due to random CSMA delay time. + + if (S->srt < 1) { + + S->srt = 1; + + // Add another 2 seconds for each digipeater in path. + + if (S->num_addr > 2) { + S->srt += 2 * (S->num_addr - 2); + } + } + + S->t1v = S->srt * 2; + } + else { + + if (S->t1_had_expired) { + + // This goes up exponentially if implemented as documented! + // For example, if we were trying to connect to a station which is not there, we + // would retry after 3, the 8, 16, 32, ... and not time out for over an hour. + // That's ridiculous. Let's try increasing it by a quarter second each time. + // We now give up after about a minute. + + // NO! S->t1v = powf(2, S->rc+1) * S->srt; + + S->t1v = S->rc * 0.25 + S->srt * 2; + } + } + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Stream %d: select_t1_value, rc = %d, t1 remaining = %.3f, old srt = %.3f, new srt = %.3f, new t1v = %.3f\n", + S->stream_id, S->rc, S->t1_remaining_when_last_stopped, old_srt, S->srt, S->t1v); + } + + + if (S->t1v < 0.99 || S->t1v > 30) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR? Stream %d: select_t1_value, rc = %d, t1 remaining = %.3f, old srt = %.3f, new srt = %.3f, Extreme new t1v = %.3f\n", + S->stream_id, S->rc, S->t1_remaining_when_last_stopped, old_srt, S->srt, S->t1v); + } + +} /* end select_t1_value */ + + +/*------------------------------------------------------------------------------ + * + * Name: set_version_2_0 + * + * Erratum: Flow chart refers to T2 which doesn't appear anywhere else. + * + *------------------------------------------------------------------------------*/ + +static void set_version_2_0 (ax25_dlsm_t *S) +{ + S->srej_enabled = 0; + S->modulo = 8; + S->n1_paclen = g_misc_config_p->paclen; + S->k_maxframe = g_misc_config_p->maxframe_basic; + S->n2_retry = g_misc_config_p->retry; + +} /* end set_version_2_0 */ + + +/*------------------------------------------------------------------------------ + * + * Name: set_version_2_2 + * + *------------------------------------------------------------------------------*/ + +static void set_version_2_2 (ax25_dlsm_t *S) +{ + S->srej_enabled = 1; + //S->srej_enabled = 0; // temporarily disable for testing of REJ only with modulo 128 + S->modulo = 128; + S->n1_paclen = g_misc_config_p->paclen; + S->k_maxframe = g_misc_config_p->maxframe_extended; + S->n2_retry = g_misc_config_p->retry; + +} /* end set_version_2_2 */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: is_good_nr + * + * Purpose: Evaluate condition "V(a) <= N(r) <= V(s)" which appears in flow charts + * for incoming I, RR, RNR, REJ, and SREJ frames. + * + * Inputs: S - state machine. Contains V(a) and V(s). + * + * nr - N(r) found in the incoming frame. + * + * Description: This determines whether the Received Sequence Number, N(R), is in + * the expected range for normal processing or if we have an error + * condition that needs recovery. + * + * This gets tricky due to the wrap around of sequence numbers. + * + * 4.2.4.4. Received Sequence Number N(R) + * + * The received sequence number exists in both I and S frames. + * Prior to sending an I or S frame, this variable is updated to equal that + * of the received state variable, thus implicitly acknowledging the proper + * reception of all frames up to and including N(R)-1. + * + * Pattern noticed: Anytime we have "is_good_nr" returning true, we should always + * - set V(A) from N(R) or + * - call "check_i_frame_acked" which does the same and some timer stuff. + * + *------------------------------------------------------------------------------*/ + + +static int is_good_nr (ax25_dlsm_t *S, int nr) +{ + int adjusted_va, adjusted_nr, adjusted_vs; + int result; + +/* Adjust all values relative to V(a) before comparing so we won't have wrap around. */ + +#define adjust_by_va(x) (AX25MODULO((x) - S->va, S->modulo, __FILE__, __func__, __LINE__)) + + adjusted_va = adjust_by_va(S->va); // A clever compiler would know it is zero. + adjusted_nr = adjust_by_va(nr); + adjusted_vs = adjust_by_va(S->vs); + + result = adjusted_va <= adjusted_nr && adjusted_nr <= adjusted_vs; + + if (s_debug_misc) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("is_good_nr, V(a) %d <= nr %d <= V(s) %d, returns %d\n", S->va, nr, S->vs, result); + } + + return (result); + +} /* end is_good_nr */ + + + +/*------------------------------------------------------------------------------ + * + * Name: i_frame_pop_off_queue + * + * Purpose: Transmit an I frame if we have one in the queue and conditions are right. + * This appears two slightly different ways in the flow charts: + * "frame pop off queue" + * "I frame pops off queue" + * + * Inputs: i_frame_queue - Remove items from here. + * peer_receiver_busy - If other end not busy. + * V(s) - and we haven't reached window size. + * V(a) + * k + * + * Outputs: v(s) is incremented for each processed. + * ack_pending = 0 + * + *------------------------------------------------------------------------------*/ + +static void i_frame_pop_off_queue (ax25_dlsm_t *S) +{ + + + if (s_debug_misc) { + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("i_frame_pop_off_queue () state=%d\n", S->state); + } + +// TODO: Were we expecting something in the queue? +// or is empty an expected situation? + + if (S->i_frame_queue == NULL) { + + if (s_debug_misc) { + // TODO: add different switch for I frame queue. + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("i_frame_pop_off_queue () queue is empty get out, line %d\n", __LINE__); + } + + // I Frame queue is empty. + // Nothing to see here, folks. Move along. + return; + } + + switch (S->state) { + + case state_1_awaiting_connection: + case state_5_awaiting_v22_connection: + + if (s_debug_misc) { + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("i_frame_pop_off_queue () line %d\n", __LINE__); + } + + // This seems to say remove the I Frame from the queue and discard it if "layer 3 initiated" is set. + + // For the case of removing it from the queue and putting it back in we just leave it there. + + // Erratum? The flow chart seems to be backwards. + // It would seem like we want to keep it if we are further along in the connection process. + // I don't understand the intention here, and can't make a compelling argument on why it + // is backwards, so it is implemented as documented. + + if (S->layer_3_initiated) { + cdata_t *txdata; + + if (s_debug_misc) { + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("i_frame_pop_off_queue () discarding due to L3 init. line %d\n", __LINE__); + } + txdata = S->i_frame_queue; // Remove from head of list. + S->i_frame_queue = txdata->next; + cdata_delete (txdata); + } + break; + + case state_3_connected: + case state_4_timer_recovery: + + if (s_debug_misc) { + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("i_frame_pop_off_queue () state %d, line %d\n", S->state, __LINE__); + } + + while ( ( ! S->peer_receiver_busy ) && + S->i_frame_queue != NULL && + S->vs != AX25MODULO(S->va + S->k_maxframe, S->modulo, __FILE__, __func__, __LINE__) ) { + + cdata_t *txdata; + + txdata = S->i_frame_queue; // Remove from head of list. + S->i_frame_queue = txdata->next; + txdata->next = NULL; + + cmdres_t cr = cr_cmd; + int ns = S->vs; + int nr = S->vr; + int p = 0; + + if (s_debug_misc || s_debug_radio) { + //dw_printf ("i_frame_pop_off_queue () ns=%d, queue for transmit \"", ns); + //ax25_safe_print (txdata->data, txdata->len, 1); + //dw_printf ("\"\n"); + } + packet_t pp = ax25_i_frame (S->addrs, S->num_addr, cr, S->modulo, nr, ns, p, txdata->pid, (unsigned char *)(txdata->data), txdata->len); + + if (s_debug_misc) { + //text_color_set(DW_COLOR_DEBUG); + //dw_printf ("calling lm_data_request for I frame, %s line %d\n", __func__, __LINE__); + } + + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + // Stash in sent array in case it gets lost and needs to be sent again. + + if (S->txdata_by_ns[ns] != NULL) { + cdata_delete (S->txdata_by_ns[ns]); + } + S->txdata_by_ns[ns] = txdata; + + SET_VS(AX25MODULO(S->vs + 1, S->modulo, __FILE__, __func__, __LINE__)); // increment sequence of last sent. + + S->acknowledge_pending = 0; + +// Erratum: I think we always want to restart T1 when an I frame is sent. +// Otherwise we could time out too soon. +#if 1 + STOP_T3; + START_T1; +#else + if ( ! IS_T1_RUNNING) { + STOP_T3; + START_T1; + } +#endif + } + break; + + case state_0_disconnected: + case state_2_awaiting_release: + + // Do nothing. + break; + } + +} /* end i_frame_pop_off_queue */ + + + + +/*------------------------------------------------------------------------------ + * + * Name: discard_i_queue + * + * Purpose: Discard any data chunks waiting to be sent. + * + *------------------------------------------------------------------------------*/ + + +static void discard_i_queue (ax25_dlsm_t *S) +{ + cdata_t *t; + + while (S->i_frame_queue != NULL) { + + t = S->i_frame_queue; + S->i_frame_queue = S->i_frame_queue->next; + cdata_delete (t); + } + +} /* end discard_i_queue */ + + + +/*------------------------------------------------------------------------------ + * + * Name: enter_new_state + * + * Purpose: Switch to new state. + * + * Description: Use a function, rather than setting variable directly, so we have + * one common point for debug output and possibly other things we + * might want to do at a state change. + * + *------------------------------------------------------------------------------*/ + +// TODO: requeuing... + +static void enter_new_state (ax25_dlsm_t *S, enum dlsm_state_e new_state, const char *from_func, int from_line) +{ + + if (s_debug_variables) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("\n"); + dw_printf (">>> NEW STATE = %d, previously %d, called from %s %d <<<\n", new_state, S->state, from_func, from_line); + dw_printf ("\n"); + } + + assert (new_state >= 0 && new_state <= 5); + + + if (( new_state == state_3_connected || new_state == state_4_timer_recovery) && + S->state != state_3_connected && S->state != state_4_timer_recovery ) { + + ptt_set (OCTYPE_CON, S->chan, 1); // Turn on connected indicator if configured. + } + else if (( new_state != state_3_connected && new_state != state_4_timer_recovery) && + ( S->state == state_3_connected || S->state == state_4_timer_recovery ) ) { + + ptt_set (OCTYPE_CON, S->chan, 0); // Turn off connected indicator if configured. + // Ideally we should look at any other link state machines + // for this channel and leave the indicator on if any + // are connected. I'm not that worried about it. + } + + S->state = new_state; + +} /* end enter_new_state */ + + + +/*------------------------------------------------------------------------------ + * + * Name: mdl_negotiate_request + * + * Purpose: After receiving UA, in response to SABME, this starts up the XID exchange. + * + * Description: Send XID command. + * Start timer TM201 so we can retry if timeout waiting for response. + * Enter MDL negotiating state. + * + *------------------------------------------------------------------------------*/ + +static void mdl_negotiate_request (ax25_dlsm_t *S) +{ + struct xid_param_s param; + unsigned char xinfo[40]; + int xlen; + cmdres_t cmd = cr_cmd; + int p = 1; + int nopid = 0; + packet_t pp; + + + switch (S->mdl_state) { + + case mdl_state_0_ready: + + initiate_negotiation (S, ¶m); + + xlen = xid_encode (¶m, xinfo); + + pp = ax25_u_frame (S->addrs, S->num_addr, cmd, frame_type_U_XID, p, nopid, xinfo, xlen); + lm_data_request (S->chan, TQ_PRIO_1_LO, pp); + + S->mdl_rc = 0; + START_TM201; + S->mdl_state = mdl_state_1_negotiating; + + break; + + case mdl_state_1_negotiating: + + // SDL says "requeue" but I don't understand how it would be useful or how to do it. + break; + } + +} /* end mdl_negotiate_request */ + + +/*------------------------------------------------------------------------------ + * + * Name: initiate_negotiation + * + * Purpose: Used when preparing the XID *command*. + * + * Description: Prepare set of parameters to request from the other station. + * + *------------------------------------------------------------------------------*/ + +static void initiate_negotiation (ax25_dlsm_t *S, struct xid_param_s *param) +{ + param->full_duplex = 0; + param->rej = S->srej_enabled ? selective_reject : implicit_reject; + param->modulo = S->modulo; + param->i_field_length_rx = S->n1_paclen; // Hmmmm. Should we ask for what the user + // specified for PACLEN or offer the maximum + // that we can handle, AX25_N1_PACLEN_MAX? + param->window_size_rx = S->k_maxframe; + param->ack_timer = (int)(g_misc_config_p->frack * 1000); + param->retries = S->n2_retry; +} + + +/*------------------------------------------------------------------------------ + * + * Name: negotiation_response + * + * Purpose: Used when receiving the XID command and preparing the XID response. + * + * Description: Take what other station has asked for and reduce if we have lesser capabilities. + * For example if other end wants 8k information part we reduce it to 2k. + * Ack time and retries are the opposite, we take the maximum. + * + * Question: If the other send leaves anything undefined should we leave it + * undefined or fill in what we would like before sending it back? + * + * The original version of the protocol spec left this open. + * The 2006 revision, in red, says we should fill in defaults for anything + * not specified. This makes sense. We send back a complete set of parameters + * so both ends should agree. + * + *------------------------------------------------------------------------------*/ + +static void negotiation_response (ax25_dlsm_t *S, struct xid_param_s *param) +{ + +// Full duplex would not be that difficult. +// Just ignore the Carrier Detect when transmitting. +// But we haven't done that yet. + + param->full_duplex = 0; + +// Other end might want 8. +// Seems unlikely. If it implements XID it should have modulo 128. + + if (param->modulo == G_UNKNOWN) { + param->modulo = 8; // Not specified. Set default. + } + else { + param->modulo = MIN(param->modulo, 128); + } + +// We can do REJ or SREJ but won't combine them. +// Erratum: 2006 version, section, 4.3.3.7 says default selective reject - reject. +// We can't do that. + + if (param->rej == G_UNKNOWN) { + param->rej = (param->modulo == 128) ? selective_reject : implicit_reject; // not specified, set default + } + else { + param->rej = MIN(param->rej, selective_reject); + } + +// We can currently do up to 2k. +// Take minimum of that and what other guy asks for. + + if (param->i_field_length_rx == G_UNKNOWN) { + param->i_field_length_rx = 256; // Not specified, take default. + } + else { + param->i_field_length_rx = MIN(param->i_field_length_rx, AX25_N1_PACLEN_MAX); + } + +// In theory extended mode can have window size of 127 but +// I'm limiting it to 63 for the reason mentioned in the SREJ logic. + + if (param->window_size_rx == G_UNKNOWN) { + param->window_size_rx = (param->modulo == 128) ? 32 : 4; // not specified, set default. + } + else { + if (param->modulo == 128) + param->window_size_rx = MIN(param->window_size_rx, AX25_K_MAXFRAME_EXTENDED_MAX); + else + param->window_size_rx = MIN(param->window_size_rx, AX25_K_MAXFRAME_BASIC_MAX); + } + +// Erratum: Unclear. Is the Acknowledgement Timer before or after compensating for digipeaters +// in the path? e.g. Typically TNCs use the FRACK parameter for this and it often defaults to 3. +// However, the actual timeout value might be something like FRACK*(2*m+1) where m is the number of +// digipeaters in the path. I'm assuming this is the FRACK value and any additional time, for +// digipeaters will be added in locally at each end on top of this exchanged value. + + if (param->ack_timer == G_UNKNOWN) { + param->ack_timer = 3000; // not specified, set default. + } + else { + param->ack_timer = MAX(param->ack_timer, (int)(g_misc_config_p->frack * 1000)); + } + + if (param->retries == G_UNKNOWN) { + param->retries = 10; // not specified, set default. + } + else { + param->retries = MAX(param->retries, S->n2_retry); + } + +// IMPORTANT: Take values we have agreed upon and put into my running configuration. + + complete_negotiation(S, param); +} + + +/*------------------------------------------------------------------------------ + * + * Name: complete_negotiation + * + * Purpose: Used when preparing or receiving the XID *response*. + * + * Description: Take set of parameters which we have agreed upon and apply + * to the running configuration. + * + * TODO: Should do some checking here in case other station + * sends something crazy. + * + *------------------------------------------------------------------------------*/ + +static void complete_negotiation (ax25_dlsm_t *S, struct xid_param_s *param) +{ + if (param->rej != G_UNKNOWN) { + S->srej_enabled = param->rej >= selective_reject; + } + + if (param->modulo != G_UNKNOWN) { + // Disaster if aren't agreeing on this. + S->modulo = param->modulo; + } + + if (param->i_field_length_rx != G_UNKNOWN) { + S->n1_paclen = param->i_field_length_rx; + } + + if (param->window_size_rx != G_UNKNOWN) { + S->k_maxframe = param->window_size_rx; + } + + if (param->ack_timer != G_UNKNOWN) { + S->t1v = param->ack_timer * 0.001; + } + + if (param->retries != G_UNKNOWN) { + S->n2_retry = param->retries; + } +} + + + + + +//################################################################################### +//################################################################################### +// +// Timers. +// +// Start. +// Stop. +// Pause (when channel busy) & resume. +// Is it running? +// Did it expire before being stopped? +// When will next one expire? +// +//################################################################################### +//################################################################################### + + +static void start_t1 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + double now = dtime_now(); + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("Start T1 for t1v = %.3f sec, rc = %d, [now=%.3f] from %s %d\n", S->t1v, S->rc, now - S->start_time, from_func, from_line); + } + + S->t1_exp = now + S->t1v; + if (S->radio_channel_busy) { + S->t1_paused_at = now; + } + else { + S->t1_paused_at = 0; + } + S->t1_had_expired = 0; + +} /* end start_t1 */ + + +static void stop_t1 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + double now = dtime_now(); + + RESUME_T1; // adjust expire time if paused. + + if (S->t1_exp == 0.0) { + // Was already stopped. + } + else { + S->t1_remaining_when_last_stopped = S->t1_exp - now; + if (S->t1_remaining_when_last_stopped < 0) S->t1_remaining_when_last_stopped = 0; + } + +// Normally this would be at the top but we don't know time remaining at that point. + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG_TIMER); + if (S->t1_exp == 0.0) { + dw_printf ("Stop T1. Wasn't running, [now=%.3f] from %s %d\n", now - S->start_time, from_func, from_line); + } + else { + dw_printf ("Stop T1, %.3f remaining, [now=%.3f] from %s %d\n", S->t1_remaining_when_last_stopped, now - S->start_time, from_func, from_line); + } + } + + S->t1_exp = 0.0; // now stopped. + S->t1_had_expired = 0; // remember that it did not expire. + +} /* end stop_t1 */ + + +static int is_t1_running (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + int result = S->t1_exp != 0.0; + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("is_t1_running? returns %d\n", result); + } + + return (result); + +} /* end is_t1_running */ + + +static void pause_t1 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + + if (S->t1_exp == 0.0) { + // Stopped so there is nothing to do. + } + else if (S->t1_paused_at == 0.0) { + // Running and not paused. + + double now = dtime_now(); + + S->t1_paused_at = now; + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Paused T1 with %.3f still remaining, [now=%.3f] from %s %d\n", S->t1_exp - now, now - S->start_time, from_func, from_line); + } + } + else { + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("T1 error: Didn't expect pause when already paused.\n"); + } + } + +} /* end pause_t1 */ + + +static void resume_t1 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + if (S->t1_exp == 0.0) { + // Stopped so there is nothing to do. + } + else if (S->t1_paused_at == 0.0) { + // Running but not paused. + } + else { + double now = dtime_now(); + double paused_for_sec = now - S->t1_paused_at; + + S->t1_exp += paused_for_sec; + S->t1_paused_at = 0.0; + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Resumed T1 after pausing for %.3f sec, %.3f still remaining, [now=%.3f]\n", paused_for_sec, S->t1_exp - now, now - S->start_time); + } + } + +} /* end resume_t1 */ + + + + +// T3 is a lot simpler. +// Here we are talking about minutes of inactivity with the peer +// rather than expecting a response within seconds where timing is more critical. +// We don't need to capture remaining time when stopped. +// I don't think there is a need to pause it due to the large time frame. + + +static void start_t3 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + double now = dtime_now(); + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("Start T3 for %.3f sec, [now=%.3f] from %s %d\n", T3_DEFAULT, now - S->start_time, from_func, from_line); + } + + S->t3_exp = now + T3_DEFAULT; +} + +static void stop_t3 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + if (s_debug_timers) { + double now = dtime_now(); + + text_color_set(DW_COLOR_DEBUG_TIMER); + if (S->t3_exp == 0.0) { + dw_printf ("Stop T3. Wasn't running.\n"); + } + else { + dw_printf ("Stop T3, %.3f remaining, [now=%.3f] from %s %d\n", S->t3_exp - now, now - S->start_time, from_func, from_line); + } + } + S->t3_exp = 0.0; +} + + + +// TM201 is similar to T1. +// It needs to be paused whent the channel is busy. +// Simpler because we don't need to keep track of time remaining when stopped. + + + +static void start_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + double now = dtime_now(); + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("Start TM201 for t1v = %.3f sec, rc = %d, [now=%.3f] from %s %d\n", S->t1v, S->rc, now - S->start_time, from_func, from_line); + } + + S->tm201_exp = now + S->t1v; + if (S->radio_channel_busy) { + S->tm201_paused_at = now; + } + else { + S->tm201_paused_at = 0; + } + +} /* end start_tm201 */ + + +static void stop_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + double now = dtime_now(); + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG_TIMER); + dw_printf ("Stop TM201. [now=%.3f] from %s %d\n", now - S->start_time, from_func, from_line); + } + + S->tm201_exp = 0.0; // now stopped. + +} /* end stop_tm201 */ + + + +static void pause_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + + if (S->tm201_exp == 0.0) { + // Stopped so there is nothing to do. + } + else if (S->tm201_paused_at == 0.0) { + // Running and not paused. + + double now = dtime_now(); + + S->tm201_paused_at = now; + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Paused TM201 with %.3f still remaining, [now=%.3f] from %s %d\n", S->tm201_exp - now, now - S->start_time, from_func, from_line); + } + } + else { + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("TM201 error: Didn't expect pause when already paused.\n"); + } + } + +} /* end pause_tm201 */ + + +static void resume_tm201 (ax25_dlsm_t *S, const char *from_func, int from_line) +{ + if (S->tm201_exp == 0.0) { + // Stopped so there is nothing to do. + } + else if (S->tm201_paused_at == 0.0) { + // Running but not paused. + } + else { + double now = dtime_now(); + double paused_for_sec = now - S->tm201_paused_at; + + S->tm201_exp += paused_for_sec; + S->tm201_paused_at = 0.0; + + if (s_debug_timers) { + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Resumed TM201 after pausing for %.3f sec, %.3f still remaining, [now=%.3f]\n", paused_for_sec, S->tm201_exp - now, now - S->start_time); + } + } + +} /* end resume_tm201 */ + + + + + +double ax25_link_get_next_timer_expiry (void) +{ + double tnext = 0; + ax25_dlsm_t *p; + + for (p = list_head; p != NULL; p = p->next) { + + // Consider if running and not paused. + + if (p->t1_exp != 0 && p->t1_paused_at == 0) { + if (tnext == 0) { + tnext = p->t1_exp; + } + else if (p->t1_exp < tnext) { + tnext = p->t1_exp; + } + } + + if (p->t3_exp != 0) { + if (tnext == 0) { + tnext = p->t3_exp; + } + else if (p->t3_exp < tnext) { + tnext = p->t3_exp; + } + } + + if (p->tm201_exp != 0 && p->tm201_paused_at == 0) { + if (tnext == 0) { + tnext = p->tm201_exp; + } + else if (p->tm201_exp < tnext) { + tnext = p->tm201_exp; + } + } + + } + + if (s_debug_timers > 1) { + text_color_set(DW_COLOR_DEBUG); + if (tnext == 0.0) { + dw_printf ("ax25_link_get_next_timer_expiry returns none.\n"); + } + else { + dw_printf ("ax25_link_get_next_timer_expiry returns %.3f sec from now.\n", + tnext - dtime_now()); + } + } + + return (tnext); + +} /* end ax25_link_get_next_timer_expiry */ + + +/* end ax25_link.c */ diff --git a/ax25_link.h b/ax25_link.h new file mode 100644 index 0000000..060b6ab --- /dev/null +++ b/ax25_link.h @@ -0,0 +1,82 @@ + +/* ax25_link.h */ + + +#ifndef AX25_LINK_H +#define AX25_LINK_H 1 + +#include "ax25_pad.h" // for AX25_MAX_INFO_LEN + +#include "dlq.h" // for dlq_item_t + +#include "config.h" // for struct misc_config_s + + + +// Limits and defaults for parameters. + + +#define AX25_N1_PACLEN_MIN 1 // Max bytes in Information part of frame. +#define AX25_N1_PACLEN_DEFAULT 256 // some v2.0 implementations have 128 +#define AX25_N1_PACLEN_MAX AX25_MAX_INFO_LEN // from ax25_pad.h + + +#define AX25_N2_RETRY_MIN 1 // Number of times to retry before giving up. +#define AX25_N2_RETRY_DEFAULT 10 +#define AX25_N2_RETRY_MAX 15 + + +#define AX25_T1V_FRACK_MIN 1 // Number of seconds to wait before retrying. +#define AX25_T1V_FRACK_DEFAULT 3 // KPC-3+ has 4. TM-D710A has 3. +#define AX25_T1V_FRACK_MAX 15 + + +#define AX25_K_MAXFRAME_BASIC_MIN 1 // Window size - number of I frames to send before waiting for ack. +#define AX25_K_MAXFRAME_BASIC_DEFAULT 4 +#define AX25_K_MAXFRAME_BASIC_MAX 7 + +#define AX25_K_MAXFRAME_EXTENDED_MIN 1 +#define AX25_K_MAXFRAME_EXTENDED_DEFAULT 32 +#define AX25_K_MAXFRAME_EXTENDED_MAX 63 // In theory 127 but I'm restricting as explained in SREJ handling. + + + +// Call once at startup time. + +void ax25_link_init (struct misc_config_s *pconfig); + + + +// IMPORTANT: + +// These functions must be called on a single thread, one at a time. +// The Data Link Queue (DLQ) is used to serialize events from multiple sources. + + +void dl_connect_request (dlq_item_t *E); + +void dl_disconnect_request (dlq_item_t *E); + +void dl_data_request (dlq_item_t *E); + +void dl_register_callsign (dlq_item_t *E); + +void dl_unregister_callsign (dlq_item_t *E); + +void dl_client_cleanup (dlq_item_t *E); + + +void lm_data_indication (dlq_item_t *E); + +void lm_channel_busy (dlq_item_t *E); + + +void dl_timer_expiry (void); + + +double ax25_link_get_next_timer_expiry (void); + + +#endif + +/* end ax25_link.h */ \ No newline at end of file diff --git a/ax25_pad.c b/ax25_pad.c index 2b15428..8b34051 100644 --- a/ax25_pad.c +++ b/ax25_pad.c @@ -24,6 +24,10 @@ * * Purpose: Packet assembler and disasembler. * + * This was written when I was only concerned about APRS which + * uses only UI frames. ax25_pad2.c, added years later, has + * functions for dealing with other types of frames. + * * We can obtain AX.25 packets from different sources: * * (a) from an HDLC frame. @@ -77,11 +81,24 @@ * SSID = substation ID * 0 = zero * + * The AX.25 spec states that the RR bits should be 11 if not used. + * There are a couple documents talking about possible uses for APRS. + * I'm ignoring them for now. + * http://www.aprs.org/aprs12/preemptive-digipeating.txt + * http://www.aprs.org/aprs12/RR-bits.txt + * + * I don't recall why I originally intended to set the source/destination C bits both to 1. + * Reviewing this 5 years later, after spending more time delving into the + * AX.25 spec, I think it should be 1 for destination and 0 for source. + * In practice you see all four combinations being used by APRS stations + * and no one really cares about these two bits. + * * The final octet of the Source has the form: * * C R R SSID 0, where, * - * C = command/response = 1 + * C = command/response = 1 (originally, now I think it should be 0 for source.) + * (Haven't gone back to check to see what code actually does.) * R R = Reserved = 1 1 * SSID = substation ID * 0 = zero (or 1 if no repeaters) @@ -165,8 +182,8 @@ char *strtok_r(char *str, const char *delim, char **saveptr); #endif -#include "ax25_pad.h" #include "textcolor.h" +#include "ax25_pad.h" #include "fcs_calc.h" /* @@ -236,7 +253,13 @@ packet_t ax25_new (void) /* * check for memory leak. */ - if (new_count > delete_count + 100) { + +// version 1.4 push up the threshold. We could have considerably more with connected mode. + + //if (new_count > delete_count + 100) { + if (new_count > delete_count + 256) { + + text_color_set(DW_COLOR_ERROR); dw_printf ("Report to WB2OSZ - Memory leak for packet objects. new=%d, delete=%d\n", new_count, delete_count); #if AX25MEMDEBUG @@ -434,7 +457,7 @@ packet_t ax25_from_text (char *monitor, int strict) this_p->frame_data[AX25_SOURCE*7+6] = SSID_H_MASK | SSID_RR_MASK | SSID_LAST_MASK; this_p->frame_data[14] = AX25_UI_FRAME; - this_p->frame_data[15] = AX25_NO_LAYER_3; + this_p->frame_data[15] = AX25_PID_NO_LAYER_3; this_p->frame_len = 7 + 7 + 1 + 1; this_p->num_addr = (-1); @@ -1517,6 +1540,39 @@ int ax25_get_first_not_repeated(packet_t this_p) } +/*------------------------------------------------------------------------------ + * + * Name: ax25_get_rr + * + * Purpose: Return the two reserved "RR" bits in the specified address field. + * + * Inputs: pp - Packet object. + * + * n - Index of address. Use the symbols + * AX25_DESTINATION, AX25_SOURCE, AX25_REPEATER1, etc. + * + * Returns: 0, 1, 2, or 3. + * + *------------------------------------------------------------------------------*/ + +int ax25_get_rr (packet_t this_p, int n) +{ + + assert (this_p->magic1 == MAGIC); + assert (this_p->magic2 == MAGIC); + assert (n >= 0 && n < this_p->num_addr); + + if (n >= 0 && n < this_p->num_addr) { + return ((this_p->frame_data[n*7+6] & SSID_RR_MASK) >> SSID_RR_SHIFT); + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal error: ax25_get_rr(%d), num_addr=%d\n", n, this_p->num_addr); + return (0); + } +} + + /*------------------------------------------------------------------------------ * * Name: ax25_get_info @@ -1678,6 +1734,25 @@ double ax25_get_release_time (packet_t this_p) } +/*------------------------------------------------------------------------------ + * + * Name: ax25_set_modulo + * + * Purpose: Set modulo value for I and S frame sequence numbers. + * + *------------------------------------------------------------------------------*/ + +void ax25_set_modulo (packet_t this_p, int modulo) +{ + assert (this_p->magic1 == MAGIC); + assert (this_p->magic2 == MAGIC); + + this_p->modulo = modulo; +} + + + + /*------------------------------------------------------------------ * @@ -1793,12 +1868,9 @@ int ax25_pack (packet_t this_p, unsigned char result[AX25_MAX_PACKET_LEN]) * * Inputs: this_p - pointer to packet object. * - * modulo - We often need to know this because context is // TODO: remove this - return cr instead. - * required to know if control is 1 or 2 bytes. - * * Outputs: desc - Text description such as "I frame" or * "U frame SABME". - * Supply 16 bytes to be safe. + * Supply 40 bytes to be safe. * * cr - Command or response? * @@ -1813,13 +1885,14 @@ int ax25_pack (packet_t this_p, unsigned char result[AX25_MAX_PACKET_LEN]) *------------------------------------------------------------------*/ // TODO: need someway to ensure caller allocated enough space. -#define DESC_SIZ 32 +// Should pass in as parameter. +#define DESC_SIZ 40 ax25_frame_type_t ax25_frame_type (packet_t this_p, cmdres_t *cr, char *desc, int *pf, int *nr, int *ns) { int c; // U frames are always one control byte. - int c2; // I & S frames can have second Control byte. + int c2 = 0; // I & S frames can have second Control byte. assert (this_p->magic1 == MAGIC); assert (this_p->magic2 == MAGIC); @@ -1835,6 +1908,41 @@ ax25_frame_type_t ax25_frame_type (packet_t this_p, cmdres_t *cr, char *desc, in strlcpy (desc, "Not AX.25", DESC_SIZ); return (frame_not_AX25); } + +/* + * TERRIBLE HACK :-( for display purposes. + * + * I and S frames can have 1 or 2 control bytes but there is + * no good way to determine this without dipping into the data + * link state machine. Can we guess? + * + * S frames have no protocol id or information so if there is one + * more byte beyond the control field, we could assume there are + * two control bytes. + * + * For I frames, the protocol id will usually be 0xf0. If we find + * that as the first byte of the information field, it is probably + * the pid and not part of the information. Ditto for segments 0x08. + * Not fool proof but good enough for troubleshooting text out. + * + * If we have a link to the peer station, this will be set properly + * before it needs to be used for other reasons. + * + * Setting one of the RR bits (find reference!) is sounding better and better. + * It's in common usage so I should lobby to get that in the official protocol spec. + */ + + if (this_p->modulo == 0 && (c & 3) == 1 && ax25_get_c2(this_p) != -1) { + this_p->modulo = modulo_128; + } + else if (this_p->modulo == 0 && (c & 1) == 0 && this_p->frame_data[ax25_get_info_offset(this_p)] == 0xF0) { + this_p->modulo = modulo_128; + } + else if (this_p->modulo == 0 && (c & 1) == 0 && this_p->frame_data[ax25_get_info_offset(this_p)] == 0x08) { // same for segments + this_p->modulo = modulo_128; + } + + if (this_p->modulo == modulo_128) { c2 = ax25_get_c2 (this_p); } @@ -1868,7 +1976,9 @@ ax25_frame_type_t ax25_frame_type (packet_t this_p, cmdres_t *cr, char *desc, in *pf = (c >> 4) & 1; *nr = (c >> 5) & 7; } - snprintf (desc, DESC_SIZ, "I %s, n(s)= %d, n(r)=%d, %s=%d", cr_text, *ns, *nr, pf_text, *pf); + + //snprintf (desc, DESC_SIZ, "I %s, n(s)=%d, n(r)=%d, %s=%d", cr_text, *ns, *nr, pf_text, *pf); + snprintf (desc, DESC_SIZ, "I %s, n(s)=%d, n(r)=%d, %s=%d, pid=0x%02x", cr_text, *ns, *nr, pf_text, *pf, ax25_get_pid(this_p)); return (frame_type_I); } else if ((c & 2) == 0) { @@ -1960,6 +2070,7 @@ static void hex_dump (unsigned char *p, int len) } /* Text description of control octet. */ +// FIXME: this is wrong. It doesn't handle modulo 128. // TODO: use ax25_frame_type() instead. @@ -2108,10 +2219,12 @@ int ax25_is_aprs (packet_t this_p) assert (this_p->magic1 == MAGIC); assert (this_p->magic2 == MAGIC); + if (this_p->frame_len == 0) return(0); + ctrl = ax25_get_control(this_p); pid = ax25_get_pid(this_p); - is_aprs = this_p->num_addr >= 2 && ctrl == AX25_UI_FRAME && pid == AX25_NO_LAYER_3; + is_aprs = this_p->num_addr >= 2 && ctrl == AX25_UI_FRAME && pid == AX25_PID_NO_LAYER_3; #if 0 text_color_set(DW_COLOR_ERROR); @@ -2120,6 +2233,41 @@ int ax25_is_aprs (packet_t this_p) return (is_aprs); } + +/*------------------------------------------------------------------ + * + * Function: ax25_is_null_frame + * + * Purpose: Is this packet structure empty? + * + * Inputs: this_p - pointer to packet object. + * + * Returns: True if frame data length is 0. + * + * Description: This is used when we want to wake up the + * transmit queue processing thread but don't + * want to transmit a frame. + * + *------------------------------------------------------------------*/ + + +int ax25_is_null_frame (packet_t this_p) +{ + int is_null; + + assert (this_p->magic1 == MAGIC); + assert (this_p->magic2 == MAGIC); + + is_null = this_p->frame_len == 0; + +#if 0 + text_color_set(DW_COLOR_ERROR); + dw_printf ("ax25_is_null_frame(): is_null=%d\n", is_null); +#endif + return (is_null); +} + + /*------------------------------------------------------------------ * * Function: ax25_get_control @@ -2140,6 +2288,8 @@ int ax25_get_control (packet_t this_p) assert (this_p->magic1 == MAGIC); assert (this_p->magic2 == MAGIC); + if (this_p->frame_len == 0) return(-1); + if (this_p->num_addr >= 2) { return (this_p->frame_data[ax25_get_control_offset(this_p)]); } @@ -2151,10 +2301,19 @@ int ax25_get_c2 (packet_t this_p) assert (this_p->magic1 == MAGIC); assert (this_p->magic2 == MAGIC); + if (this_p->frame_len == 0) return(-1); + if (this_p->num_addr >= 2) { - return (this_p->frame_data[ax25_get_control_offset(this_p)+1]); + int offset2 = ax25_get_control_offset(this_p)+1; + + if (offset2 < this_p->frame_len) { + return (this_p->frame_data[offset2]); + } + else { + return (-1); /* attempt to go beyond the end of frame. */ + } } - return (-1); + return (-1); /* not AX.25 */ } @@ -2184,6 +2343,8 @@ int ax25_get_pid (packet_t this_p) // TODO: handle 2 control byte case. // TODO: sanity check: is it I or UI frame? + if (this_p->frame_len == 0) return(-1); + if (this_p->num_addr >= 2) { return (this_p->frame_data[ax25_get_pid_offset(this_p)]); } @@ -2372,7 +2533,8 @@ void ax25_safe_print (char *pstr, int len, int ascii_only) if (len > MAXSAFE) len = MAXSAFE; - while (len > 0 && *pstr != '\0') + //while (len > 0 && *pstr != '\0') + while (len > 0) { ch = *((unsigned char *)pstr); diff --git a/ax25_pad.h b/ax25_pad.h index 2426e56..075ac2a 100644 --- a/ax25_pad.h +++ b/ax25_pad.h @@ -64,8 +64,10 @@ */ #define AX25_UI_FRAME 3 /* Control field value. */ -#define AX25_NO_LAYER_3 0xf0 /* protocol ID */ +#define AX25_PID_NO_LAYER_3 0xf0 /* protocol ID used for APRS */ +#define AX25_PID_SEGMENTATION_FRAGMENT 0x08 +#define AX25_PID_ESCAPE_CHARACTER 0xff #ifdef AX25_PAD_C /* Keep this hidden - implementation could change. */ @@ -159,9 +161,11 @@ typedef struct packet_s *packet_t; typedef enum cmdres_e { cr_00 = 2, cr_cmd = 1, cr_res = 0, cr_11 = 3 } cmdres_t; +extern packet_t ax25_new (void); + + #ifdef AX25_PAD_C /* Keep this hidden - implementation could change. */ -extern packet_t ax25_new (void); /* * APRS always has one control octet of 0x03 but the more @@ -169,6 +173,8 @@ extern packet_t ax25_new (void); * whether "modulo 128 operation" is in effect. */ +//#define DEBUGX 1 + static inline int ax25_get_control_offset (packet_t this_p) { return (this_p->num_addr*7); @@ -176,7 +182,29 @@ static inline int ax25_get_control_offset (packet_t this_p) static inline int ax25_get_num_control (packet_t this_p) { - return (this_p->modulo == 128 ? 2 : 1); + int c; + + c = this_p->frame_data[ax25_get_control_offset(this_p)]; + + if ( (c & 0x01) == 0 ) { /* I xxxx xxx0 */ +#if DEBUGX + dw_printf ("ax25_get_num_control, %02x is I frame, returns %d\n", c, (this_p->modulo == 128) ? 2 : 1); +#endif + return ((this_p->modulo == 128) ? 2 : 1); + } + + if ( (c & 0x03) == 1 ) { /* S xxxx xx01 */ +#if DEBUGX + dw_printf ("ax25_get_num_control, %02x is S frame, returns %d\n", c, (this_p->modulo == 128) ? 2 : 1); +#endif + return ((this_p->modulo == 128) ? 2 : 1); + } + +#if DEBUGX + dw_printf ("ax25_get_num_control, %02x is U frame, always returns 1.\n", c); +#endif + + return (1); /* U xxxx xx11 */ } @@ -202,11 +230,17 @@ static int ax25_get_num_pid (packet_t this_p) c == 0x03 || c == 0x13) { /* UI 000x 0011 */ pid = this_p->frame_data[ax25_get_pid_offset(this_p)]; - if (pid == 0xff) { +#if DEBUGX + dw_printf ("ax25_get_num_pid, %02x is I or UI frame, pid = %02x, returns %d\n", c, pid, (pid==AX25_PID_ESCAPE_CHARACTER) ? 2 : 1); +#endif + if (pid == AX25_PID_ESCAPE_CHARACTER) { return (2); /* pid 1111 1111 means another follows. */ } return (1); } +#if DEBUGX + dw_printf ("ax25_get_num_pid, %02x is neither I nor UI frame, returns 0\n", c); +#endif return (0); } @@ -225,7 +259,11 @@ static int ax25_get_num_pid (packet_t this_p) static inline int ax25_get_info_offset (packet_t this_p) { - return (ax25_get_control_offset (this_p) + ax25_get_num_control(this_p) + ax25_get_num_pid(this_p)); + int offset = ax25_get_control_offset (this_p) + ax25_get_num_control(this_p) + ax25_get_num_pid(this_p); +#if DEBUGX + dw_printf ("ax25_get_info_offset, returns %d\n", offset); +#endif + return (offset); } static inline int ax25_get_num_info (packet_t this_p) @@ -249,7 +287,7 @@ typedef enum ax25_modulo_e { modulo_8 = 8, modulo_128 = 128 } ax25_modulo_t; typedef enum ax25_frame_type_e { - frame_type_I, // Information + frame_type_I = 0, // Information frame_type_S_RR, // Receive Ready - System Ready To Receive frame_type_S_RNR, // Receive Not Ready - TNC Buffer Full @@ -268,6 +306,8 @@ typedef enum ax25_frame_type_e { frame_type_U, // other Unnumbered, not used by AX.25. frame_not_AX25 // Could not get control byte from frame. + // This must be last because value plus 1 is + // for the size of an array. } ax25_frame_type_t; @@ -354,6 +394,8 @@ extern int ax25_get_heard(packet_t this_p); extern int ax25_get_first_not_repeated(packet_t pp); +extern int ax25_get_rr (packet_t this_p, int n); + extern int ax25_get_info (packet_t pp, unsigned char **paddr); extern void ax25_set_nextp (packet_t this_p, packet_t next_p); @@ -365,6 +407,8 @@ extern packet_t ax25_get_nextp (packet_t this_p); extern void ax25_set_release_time (packet_t this_p, double release_time); extern double ax25_get_release_time (packet_t this_p); +extern void ax25_set_modulo (packet_t this_p, int modulo); + extern void ax25_format_addrs (packet_t pp, char *); extern int ax25_pack (packet_t pp, unsigned char result[AX25_MAX_PACKET_LEN]); @@ -374,6 +418,7 @@ extern ax25_frame_type_t ax25_frame_type (packet_t this_p, cmdres_t *cr, char *d extern void ax25_hex_dump (packet_t this_p); extern int ax25_is_aprs (packet_t pp); +extern int ax25_is_null_frame (packet_t this_p); extern int ax25_get_control (packet_t this_p); extern int ax25_get_c2 (packet_t this_p); diff --git a/ax25_pad2.c b/ax25_pad2.c index 43e2d83..48a7df8 100644 --- a/ax25_pad2.c +++ b/ax25_pad2.c @@ -254,7 +254,7 @@ packet_t ax25_u_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad if (t != 2) { if (cr != t) { text_color_set(DW_COLOR_ERROR); - dw_printf ("Internal error in %s: U frame, cr is %d but must be %d.\n", __func__, cr, t); + dw_printf ("Internal error in %s: U frame, cr is %d but must be %d. ftype=%d\n", __func__, cr, t, ftype); } } @@ -270,7 +270,7 @@ packet_t ax25_u_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad if (pid < 0 || pid == 0 || pid == 0xff) { text_color_set(DW_COLOR_ERROR); dw_printf ("Internal error in %s: U frame, Invalid pid value 0x%02x.\n", __func__, pid); - pid = AX25_NO_LAYER_3; + pid = AX25_PID_NO_LAYER_3; } *p++ = pid; this_p->frame_len++; @@ -303,7 +303,7 @@ packet_t ax25_u_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad #if PAD2TEST ax25_frame_type_t check_ftype; cmdres_t check_cr; - char check_desc[32]; + char check_desc[80]; int check_pf; int check_nr; int check_ns; @@ -444,7 +444,7 @@ packet_t ax25_s_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad ax25_frame_type_t check_ftype; cmdres_t check_cr; - char check_desc[32]; + char check_desc[80]; int check_pf; int check_nr; int check_ns; @@ -573,9 +573,9 @@ packet_t ax25_i_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad // or 0xff (which means more bytes follow). if (pid < 0 || pid == 0 || pid == 0xff) { - text_color_set(DW_COLOR_ERROR); - dw_printf ("Internal error in %s: I frame, Invalid pid value 0x%02x.\n", __func__, pid); - pid = AX25_NO_LAYER_3; + text_color_set(DW_COLOR_DEBUG); + dw_printf ("Warning: Client application provided invalid PID value, 0x%02x, for I frame.\n", pid); + pid = AX25_PID_NO_LAYER_3; } *p++ = pid; this_p->frame_len++; @@ -601,7 +601,7 @@ packet_t ax25_i_frame (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_ad ax25_frame_type_t check_ftype; cmdres_t check_cr; - char check_desc[32]; + char check_desc[80]; int check_pf; int check_nr; int check_ns; diff --git a/cdigipeater.c b/cdigipeater.c new file mode 100644 index 0000000..a28ab07 --- /dev/null +++ b/cdigipeater.c @@ -0,0 +1,325 @@ +// +// This file is part of Dire Wolf, an amateur radio packet TNC. +// +// Copyright (C) 2016 John Langner, WB2OSZ +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + + +/*------------------------------------------------------------------ + * + * Name: cdigipeater.c + * + * Purpose: Act as an digital repeater for connected AX.25 mode. + * Similar digipeater.c is for APRS. + * + * + * Description: Decide whether the specified packet should + * be digipeated. Put my callsign in the digipeater field used. + * + * APRS and connected mode were two split into two + * separate files. Yes, there is duplicate code but they + * are significantly different and I thought it would be + * too confusing to munge them together. + * + * References: The Ax.25 protcol barely mentions digipeaters and + * and doesn't describe how they should work. + * + *------------------------------------------------------------------*/ + +#define CDIGIPEATER_C + +#include "direwolf.h" + +#include +#include +#include +#include +#include /* for isdigit, isupper */ +#include "regex.h" +#include + +#include "ax25_pad.h" +#include "cdigipeater.h" +#include "textcolor.h" +#include "tq.h" +#include "pfilter.h" + + +static packet_t cdigipeat_match (int from_chan, packet_t pp, char *mycall_rec, char *mycall_xmit, + regex_t *alias, int to_chan, char *filter_str); + + +/* + * Keep pointer to configuration options. + * Set by cdigipeater_init and used later. + */ + + +static struct audio_s *save_audio_config_p; +static struct cdigi_config_s *save_cdigi_config_p; + + +/* + * Maintain count of packets digipeated for each combination of from/to channel. + */ + +static int cdigi_count[MAX_CHANS][MAX_CHANS]; + +int cdigipeater_get_count (int from_chan, int to_chan) { + return (cdigi_count[from_chan][to_chan]); +} + + + +/*------------------------------------------------------------------------------ + * + * Name: cdigipeater_init + * + * Purpose: Initialize with stuff from configuration file. + * + * Inputs: p_audio_config - Configuration for audio channels. + * + * p_cdigi_config - Connected Digipeater configuration details. + * + * Outputs: Save pointers to configuration for later use. + * + * Description: Called once at application startup time. + * + *------------------------------------------------------------------------------*/ + +void cdigipeater_init (struct audio_s *p_audio_config, struct cdigi_config_s *p_cdigi_config) +{ + save_audio_config_p = p_audio_config; + save_cdigi_config_p = p_cdigi_config; +} + + + + +/*------------------------------------------------------------------------------ + * + * Name: cdigipeater + * + * Purpose: Re-transmit packet if it matches the rules. + * + * Inputs: chan - Radio channel where it was received. + * + * pp - Packet object. + * + * Returns: None. + * + *------------------------------------------------------------------------------*/ + + + +void cdigipeater (int from_chan, packet_t pp) +{ + int to_chan; + + + if ( from_chan < 0 || from_chan >= MAX_CHANS || ( ! save_audio_config_p->achan[from_chan].valid) ) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("cdigipeater: Did not expect to receive on invalid channel %d.\n", from_chan); + return; + } + +/* + * First pass: Look at packets being digipeated to same channel. + * + * There was a reason for two passes for APRS. + * Might not have a benefit here. + */ + + for (to_chan=0; to_chanenabled[from_chan][to_chan]) { + if (to_chan == from_chan) { + packet_t result; + + result = cdigipeat_match (from_chan, pp, save_audio_config_p->achan[from_chan].mycall, + save_audio_config_p->achan[to_chan].mycall, + &save_cdigi_config_p->alias[from_chan][to_chan], to_chan, + save_cdigi_config_p->filter_str[from_chan][to_chan]); + if (result != NULL) { + tq_append (to_chan, TQ_PRIO_0_HI, result); + cdigi_count[from_chan][to_chan]++; + } + } + } + } + + +/* + * Second pass: Look at packets being digipeated to different channel. + */ + + for (to_chan=0; to_chanenabled[from_chan][to_chan]) { + if (to_chan != from_chan) { + packet_t result; + + result = cdigipeat_match (from_chan, pp, save_audio_config_p->achan[from_chan].mycall, + save_audio_config_p->achan[to_chan].mycall, + &save_cdigi_config_p->alias[from_chan][to_chan], to_chan, + save_cdigi_config_p->filter_str[from_chan][to_chan]); + if (result != NULL) { + tq_append (to_chan, TQ_PRIO_0_HI, result); + cdigi_count[from_chan][to_chan]++; + } + } + } + } + +} /* end cdigipeater */ + + + +/*------------------------------------------------------------------------------ + * + * Name: cdigipeat_match + * + * Purpose: A simple digipeater for connected mode AX.25. + * + * Input: pp - Pointer to a packet object. + * + * mycall_rec - Call of my station, with optional SSID, + * associated with the radio channel where the + * packet was received. + * + * mycall_xmit - Call of my station, with optional SSID, + * associated with the radio channel where the + * packet is to be transmitted. Could be the same as + * mycall_rec or different. + * + * alias - Compiled pattern for my station aliases. + * Could be NULL if no aliases. + * + * to_chan - Channel number that we are transmitting to. + * + * filter_str - Filter expression string or NULL. + * + * Returns: Packet object for transmission or NULL. + * The original packet is not modified. The caller is responsible for freeing it. + * We make a copy and return that modified copy! + * This is very important because we could digipeat from one channel to many. + * + * Description: The packet will be digipeated if the next unused digipeater + * field matches one of the following: + * + * - mycall_rec + * - alias list + * + * APRS digipeating drops duplicates within 30 seconds but we don't do that here. + * + *------------------------------------------------------------------------------*/ + + +static packet_t cdigipeat_match (int from_chan, packet_t pp, char *mycall_rec, char *mycall_xmit, + regex_t *alias, int to_chan, char *filter_str) +{ + int r; + char repeater[AX25_MAX_ADDR_LEN]; + int err; + char err_msg[100]; + +/* + * First check if filtering has been configured. + */ + + if (filter_str != NULL) { + + if (pfilter(from_chan, to_chan, filter_str, pp, 0) != 1) { + +// Take out debug message? +// Actually it turns out to be useful. +// Maybe add a quiet option to suppress it. +//#if DEBUG + text_color_set(DW_COLOR_INFO); + dw_printf ("Packet was rejected for digipeating from channel %d to %d by cfilter: %s\n", from_chan, to_chan, filter_str); +//#endif + return(NULL); + } + } + + +/* + * Find the first repeater station which doesn't have "has been repeated" set. + * + * r = index of the address position in the frame. + */ + r = ax25_get_first_not_repeated(pp); + + if (r < AX25_REPEATER_1) { + return (NULL); // Nothing to do. + } + + ax25_get_addr_with_ssid(pp, r, repeater); + +#if DEBUG + text_color_set(DW_COLOR_DEBUG); + dw_printf ("First unused digipeater is %s\n", repeater); +#endif + + +/* + * First check for explicit use of my call. + * Note that receive and transmit channels could have different callsigns. + */ + + if (strcmp(repeater, mycall_rec) == 0) { + packet_t result; + + result = ax25_dup (pp); + assert (result != NULL); + + /* If using multiple radio channels, they could have different calls. */ + + ax25_set_addr (result, r, mycall_xmit); + ax25_set_h (result, r); + return (result); + } + +/* + * If we have an alias match, substitute MYCALL. + */ + if (alias != NULL) { + err = regexec(alias,repeater,0,NULL,0); + if (err == 0) { + packet_t result; + + result = ax25_dup (pp); + assert (result != NULL); + + ax25_set_addr (result, r, mycall_xmit); + ax25_set_h (result, r); + return (result); + } + else if (err != REG_NOMATCH) { + regerror(err, alias, err_msg, sizeof(err_msg)); + text_color_set (DW_COLOR_ERROR); + dw_printf ("%s\n", err_msg); + } + } + +/* + * Don't repeat it if we get here. + */ + return (NULL); + +} /* end cdigipeat_match */ + + + +/* end cdigipeater.c */ diff --git a/cdigipeater.h b/cdigipeater.h new file mode 100644 index 0000000..5a50b87 --- /dev/null +++ b/cdigipeater.h @@ -0,0 +1,59 @@ + + +#ifndef CDIGIPEATER_H +#define CDIGIPEATER_H 1 + +#include "regex.h" + +#include "direwolf.h" /* for MAX_CHANS */ +#include "ax25_pad.h" /* for packet_t */ +#include "audio.h" /* for radio channel properties */ + + +/* + * Information required for Connected mode digipeating. + * + * The configuration file reader fills in this information + * and it is passed to cdigipeater_init at application start up time. + */ + + +struct cdigi_config_s { + +/* + * Rules for each of the [from_chan][to_chan] combinations. + */ + + regex_t alias[MAX_CHANS][MAX_CHANS]; + + int enabled[MAX_CHANS][MAX_CHANS]; + + char *filter_str[MAX_CHANS+1][MAX_CHANS+1]; + // NULL or optional Packet Filter strings such as "t/m". + // Notice the size of arrays is one larger than normal. + // That extra position is for the IGate. +}; + +/* + * Call once at application start up time. + */ + +extern void cdigipeater_init (struct audio_s *p_audio_config, struct cdigi_config_s *p_cdigi_config); + +/* + * Call this for each packet received. + * Suitable packets will be queued for transmission. + */ + +extern void cdigipeater (int from_chan, packet_t pp); + + +/* Make statistics available. */ + +int cdigipeater_get_count (int from_chan, int to_chan); + + +#endif + +/* end cdigipeater.h */ + diff --git a/config.c b/config.c index e358b14..1293535 100644 --- a/config.c +++ b/config.c @@ -53,6 +53,7 @@ #include "textcolor.h" #include "audio.h" #include "digipeater.h" +#include "cdigipeater.h" #include "config.h" #include "aprs_tt.h" #include "igate.h" @@ -60,6 +61,7 @@ #include "symbols.h" #include "xmit.h" #include "tt_text.h" +#include "ax25_link.h" // geotranz @@ -680,7 +682,9 @@ static char *split (char *string, int rest_of_line) * * Outputs: p_audio_config - Radio channel parameters stored here. * - * p_digi_config - Digipeater configuration stored here. + * p_digi_config - APRS Digipeater configuration stored here. + * + * p_cdigi_config - Connected Digipeater configuration stored here. * * p_tt_config - APRStt stuff. * @@ -703,6 +707,7 @@ static char *split (char *string, int rest_of_line) void config_init (char *fname, struct audio_s *p_audio_config, struct digi_config_s *p_digi_config, + struct cdigi_config_s *p_cdigi_config, struct tt_config_s *p_tt_config, struct igate_config_s *p_igate_config, struct misc_config_s *p_misc_config) @@ -789,6 +794,7 @@ void config_init (char *fname, struct audio_s *p_audio_config, memset (p_digi_config, 0, sizeof(struct digi_config_s)); p_digi_config->dedupe_time = DEFAULT_DEDUPE; + memset (p_cdigi_config, 0, sizeof(struct cdigi_config_s)); memset (p_tt_config, 0, sizeof(struct tt_config_s)); p_tt_config->gateway_enabled = 0; @@ -865,6 +871,19 @@ void config_init (char *fname, struct audio_s *p_audio_config, strlcpy (p_misc_config->logdir, "", sizeof(p_misc_config->logdir)); + /* connected mode. */ + + p_misc_config->frack = AX25_T1V_FRACK_DEFAULT; /* Number of seconds to wait for ack to transmission. */ + + p_misc_config->retry = AX25_N2_RETRY_DEFAULT; /* Number of times to retry before giving up. */ + + p_misc_config->paclen = AX25_N1_PACLEN_DEFAULT; /* Max number of bytes in information part of frame. */ + + p_misc_config->maxframe_basic = AX25_K_MAXFRAME_BASIC_DEFAULT; /* Max frames to send before ACK. mod 8 "Window" size. */ + + p_misc_config->maxframe_extended = AX25_K_MAXFRAME_EXTENDED_DEFAULT; /* Max frames to send before ACK. mod 128 "Window" size. */ + + p_misc_config->maxv22 = AX25_N2_RETRY_DEFAULT / 2; /* Max SABME before falling back to SABM. */ /* * Try to extract options from a file. @@ -1568,6 +1587,7 @@ void config_init (char *fname, struct audio_s *p_audio_config, /* * PTT - Push To Talk signal line. * DCD - Data Carrier Detect indicator. + * CON - Connected to another station indicator. * * xxx serial-port [-]rts-or-dtr [ [-]rts-or-dtr ] * xxx GPIO [-]gpio-num @@ -1582,7 +1602,7 @@ void config_init (char *fname, struct audio_s *p_audio_config, * Applies to most recent CHANNEL command. */ - else if (strcasecmp(t, "PTT") == 0 || strcasecmp(t, "DCD") == 0) { + else if (strcasecmp(t, "PTT") == 0 || strcasecmp(t, "DCD") == 0 || strcasecmp(t, "CON") == 0) { int ot; char otname[8]; @@ -1595,8 +1615,8 @@ void config_init (char *fname, struct audio_s *p_audio_config, strlcpy (otname, "DCD", sizeof(otname)); } else { - ot = OCTYPE_FUTURE; - strlcpy (otname, "FUTURE", sizeof(otname)); + ot = OCTYPE_CON; + strlcpy (otname, "CON", sizeof(otname)); } t = split(NULL,0); @@ -1784,7 +1804,7 @@ void config_init (char *fname, struct audio_s *p_audio_config, } /* end of second serial port control line. */ } /* end of serial port case. */ - } /* end of PTT */ + } /* end of PTT, DCD, CON */ /* * INPUTS @@ -1984,14 +2004,14 @@ void config_init (char *fname, struct audio_s *p_audio_config, } /* - * ==================== Digipeater parameters ==================== + * ==================== APRS Digipeater parameters ==================== */ /* * DIGIPEAT from-chan to-chan alias-pattern wide-pattern [ OFF|DROP|MARK|TRACE ] */ - else if (strcasecmp(t, "digipeat") == 0) { + else if (strcasecmp(t, "DIGIPEAT") == 0 || strcasecmp(t, "DIGIPEATER") == 0) { int from_chan, to_chan; int e; char message[100]; @@ -2175,7 +2195,82 @@ void config_init (char *fname, struct audio_s *p_audio_config, /* - * ==================== Packet Filtering for digipeater or IGate ==================== + * ==================== Connected Digipeater parameters ==================== + */ + +/* + * CDIGIPEAT from-chan to-chan [ alias-pattern ] + */ + + else if (strcasecmp(t, "CDIGIPEAT") == 0 || strcasecmp(t, "CDIGIPEATER") == 0) { + int from_chan, to_chan; + int e; + char message[100]; + + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Missing FROM-channel on line %d.\n", line); + continue; + } + from_chan = atoi(t); + if (from_chan < 0 || from_chan >= MAX_CHANS) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: FROM-channel must be in range of 0 to %d on line %d.\n", + MAX_CHANS-1, line); + continue; + } + if ( ! p_audio_config->achan[from_chan].valid) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file, line %d: FROM-channel %d is not valid.\n", + line, from_chan); + continue; + } + + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Missing TO-channel on line %d.\n", line); + continue; + } + to_chan = atoi(t); + if (to_chan < 0 || to_chan >= MAX_CHANS) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: TO-channel must be in range of 0 to %d on line %d.\n", + MAX_CHANS-1, line); + continue; + } + if ( ! p_audio_config->achan[to_chan].valid) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file, line %d: TO-channel %d is not valid.\n", + line, to_chan); + continue; + } + + t = split(NULL,0); + if (t != NULL) { + e = regcomp (&(p_cdigi_config->alias[from_chan][to_chan]), t, REG_EXTENDED|REG_NOSUB); + if (e != 0) { + regerror (e, &(p_cdigi_config->alias[from_chan][to_chan]), message, sizeof(message)); + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Invalid alias matching pattern on line %d:\n%s\n", + line, message); + continue; + } + t = split(NULL,0); + } + + p_cdigi_config->enabled[from_chan][to_chan] = 1; + + if (t != NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file, line %d: Found \"%s\" where end of line was expected.\n", line, t); + } + } + + +/* + * ==================== Packet Filtering for APRS digipeater or IGate ==================== */ /* @@ -2252,6 +2347,74 @@ void config_init (char *fname, struct audio_s *p_audio_config, } +/* + * ==================== Packet Filtering for connected digipeater ==================== + */ + +/* + * CFILTER from-chan to-chan filter_specification_expression + */ + + else if (strcasecmp(t, "CFILTER") == 0) { + int from_chan, to_chan; + + + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Missing FROM-channel on line %d.\n", line); + continue; + } + + from_chan = isdigit(*t) ? atoi(t) : -999; + if (from_chan < 0 || from_chan >= MAX_CHANS) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Filter FROM-channel must be in range of 0 to %d on line %d.\n", + MAX_CHANS-1, line); + continue; + } + + if ( ! p_audio_config->achan[from_chan].valid) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file, line %d: FROM-channel %d is not valid.\n", + line, from_chan); + continue; + } + + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Missing TO-channel on line %d.\n", line); + continue; + } + + to_chan = isdigit(*t) ? atoi(t) : -999; + if (to_chan < 0 || to_chan >= MAX_CHANS) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Filter TO-channel must be in range of 0 to %d on line %d.\n", + MAX_CHANS-1, line); + continue; + } + if ( ! p_audio_config->achan[to_chan].valid) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file, line %d: TO-channel %d is not valid.\n", + line, to_chan); + continue; + } + + t = split(NULL,1); /* Take rest of line including spaces. */ + + if (t == NULL) { + t = " "; /* Empty means permit nothing. */ + } + + p_cdigi_config->filter_str[from_chan][to_chan] = strdup(t); + +//TODO1.2: Do a test run to see errors now instead of waiting. + + } + + /* * ==================== APRStt gateway ==================== */ @@ -4163,6 +4326,154 @@ void config_init (char *fname, struct audio_s *p_audio_config, p_misc_config->sb_configured = 1; } + +/* + * ==================== AX.25 connected mode ==================== + */ + + +/* + * FRACK n - Number of seconds to wait for ack to transmission. + */ + + else if (strcasecmp(t, "FRACK") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for FRACK.\n", line); + continue; + } + n = atoi(t); + if (n >= AX25_T1V_FRACK_MIN && n <= AX25_T1V_FRACK_MAX) { + p_misc_config->frack = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid FRACK time. Using default %d.\n", line, p_misc_config->frack); + } + } + + +/* + * RETRY n - Number of times to retry before giving up. + */ + + else if (strcasecmp(t, "RETRY") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for RETRY.\n", line); + continue; + } + n = atoi(t); + if (n >= AX25_N2_RETRY_MIN && n <= AX25_N2_RETRY_MAX) { + p_misc_config->retry = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid RETRY number. Using default %d.\n", line, p_misc_config->retry); + } + } + + +/* + * PACLEN n - Maximum number of bytes in information part. + */ + + else if (strcasecmp(t, "PACLEN") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for PACLEN.\n", line); + continue; + } + n = atoi(t); + if (n >= AX25_N1_PACLEN_MIN && n <= AX25_N1_PACLEN_MAX) { + p_misc_config->paclen = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid PACLEN value. Using default %d.\n", line, p_misc_config->paclen); + } + } + + +/* + * MAXFRAME n - Max frames to send before ACK. mod 8 "Window" size. + * + * Window size would make more sense but everyone else calls it MAXFRAME. + */ + + else if (strcasecmp(t, "MAXFRAME") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for MAXFRAME.\n", line); + continue; + } + n = atoi(t); + if (n >= AX25_K_MAXFRAME_BASIC_MIN && n <= AX25_K_MAXFRAME_BASIC_MAX) { + p_misc_config->maxframe_basic = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid MAXFRAME value outside range of %d to %d. Using default %d.\n", + line, AX25_K_MAXFRAME_BASIC_MIN, AX25_K_MAXFRAME_BASIC_MAX, p_misc_config->maxframe_basic); + } + } + + + +/* + * EMAXFRAME n - Max frames to send before ACK. mod 128 "Window" size. + */ + + else if (strcasecmp(t, "EMAXFRAME") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for EMAXFRAME.\n", line); + continue; + } + n = atoi(t); + if (n >= AX25_K_MAXFRAME_EXTENDED_MIN && n <= AX25_K_MAXFRAME_EXTENDED_MAX) { + p_misc_config->maxframe_extended = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid EMAXFRAME value outside of range %d to %d. Using default %d.\n", + line, AX25_K_MAXFRAME_EXTENDED_MIN, AX25_K_MAXFRAME_EXTENDED_MAX, p_misc_config->maxframe_extended); + } + } + +/* + * MAXV22 n - Max number of SABME sent before trying SABM. + */ + + else if (strcasecmp(t, "MAXV22") == 0) { + int n; + t = split(NULL,0); + if (t == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Missing value for MAXV22.\n", line); + continue; + } + n = atoi(t); + if (n >= 0 && n <= AX25_N2_RETRY_MAX) { + p_misc_config->maxv22 = n; + } + else { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Line %d: Invalid MAXV22 number. Will use half of RETRY.\n", line); + } + } + + /* * Invalid command. */ @@ -4189,6 +4500,8 @@ void config_init (char *fname, struct audio_s *p_audio_config, for (i=0; ienabled[i][j]) { if ( strcmp(p_audio_config->achan[i].mycall, "") == 0 || @@ -4221,6 +4534,39 @@ void config_init (char *fname, struct audio_s *p_audio_config, //p_digi_config->enabled[i][j] = 0; } } + +/* Connected mode digipeating. */ + + if (p_cdigi_config->enabled[i][j]) { + + if ( strcmp(p_audio_config->achan[i].mycall, "") == 0 || + strcmp(p_audio_config->achan[i].mycall, "NOCALL") == 0 || + strcmp(p_audio_config->achan[i].mycall, "N0CALL") == 0) { + + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: MYCALL must be set for receive channel %d before digipeating is allowed.\n", i); + p_cdigi_config->enabled[i][j] = 0; + } + + if ( strcmp(p_audio_config->achan[j].mycall, "") == 0 || + strcmp(p_audio_config->achan[j].mycall, "NOCALL") == 0 || + strcmp(p_audio_config->achan[j].mycall, "N0CALL") == 0) { + + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: MYCALL must be set for transmit channel %d before digipeating is allowed.\n", i); + p_cdigi_config->enabled[i][j] = 0; + } + + b = 0; + for (k=0; knum_beacons; k++) { + if (p_misc_config->beacon[k].sendto_chan == j) b++; + } + if (b == 0) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("Config file: Beaconing should be configured for channel %d when digipeating is enabled.\n", j); + // It's a recommendation, not a requirement. + } + } } if (p_audio_config->achan[i].valid && strlen(p_igate_config->t2_login) > 0) { @@ -4243,6 +4589,10 @@ void config_init (char *fname, struct audio_s *p_audio_config, } + if (p_misc_config->maxv22 < 0) { + p_misc_config->maxv22 = p_misc_config->retry / 2; + } + } /* end config_init */ diff --git a/config.h b/config.h index 1b3c602..c895e29 100644 --- a/config.h +++ b/config.h @@ -15,6 +15,7 @@ #include "audio.h" /* for struct audio_s */ #include "digipeater.h" /* for struct digi_config_s */ +#include "cdigipeater.h" /* for struct cdigi_config_s */ #include "aprs_tt.h" /* for struct tt_config_s */ #include "igate.h" /* for struct igate_config_s */ @@ -76,6 +77,25 @@ struct misc_config_s { int sb_turn_angle; /* degrees */ int sb_turn_slope; /* degrees * MPH */ +// AX.25 connected mode. + + int frack; /* Number of seconds to wait for ack to transmission. */ + + int retry; /* Number of times to retry before giving up. */ + + int paclen; /* Max number of bytes in information part of frame. */ + + int maxframe_basic; /* Max frames to send before ACK. mod 8 "Window" size. */ + + int maxframe_extended; /* Max frames to send before ACK. mod 128 "Window" size. */ + + int maxv22; /* Maximum number of unanswered SABME frames sent before */ + /* switching to SABM. This is to handle the case of an old */ + /* TNC which simply ignores SABME rather than replying with FRMR. */ + + + +// Beacons. int num_beacons; /* Number of beacons defined. */ @@ -166,6 +186,7 @@ struct misc_config_s { extern void config_init (char *fname, struct audio_s *p_modem, struct digi_config_s *digi_config, + struct cdigi_config_s *cdigi_config, struct tt_config_s *p_tt_config, struct igate_config_s *p_igate_config, struct misc_config_s *misc_config); diff --git a/digipeater.c b/digipeater.c index 817032b..aa2f11e 100644 --- a/digipeater.c +++ b/digipeater.c @@ -23,6 +23,7 @@ * Name: digipeater.c * * Purpose: Act as an APRS digital repeater. + * Similar cdigipeater.c is for connected mode. * * * Description: Decide whether the specified packet should @@ -255,6 +256,10 @@ void digipeater (int from_chan, packet_t pp) * *------------------------------------------------------------------------------*/ +#define OBSOLETE14 1 + + +#ifndef OBSOLETE14 static char *dest_ssid_path[16] = { "", /* Use VIA path */ "WIDE1-1", @@ -272,6 +277,7 @@ static char *dest_ssid_path[16] = { "WIDE2-2", /* South */ "WIDE2-2", /* East */ "WIDE2-2" }; /* West */ +#endif static packet_t digipeat_match (int from_chan, packet_t pp, char *mycall_rec, char *mycall_xmit, @@ -290,7 +296,7 @@ static packet_t digipeat_match (int from_chan, packet_t pp, char *mycall_rec, ch if (filter_str != NULL) { - if (pfilter(from_chan, to_chan, filter_str, pp) != 1) { + if (pfilter(from_chan, to_chan, filter_str, pp, 1) != 1) { // TODO1.2: take out debug message // Actually it turns out to be useful. @@ -322,11 +328,15 @@ static packet_t digipeat_match (int from_chan, packet_t pp, char *mycall_rec, ch * Otherwise we don't want to modify the input because this could be called multiple times. */ +#ifndef OBSOLETE14 // Took it out in 1.4 + if (ax25_get_num_repeaters(pp) == 0 && (ssid = ax25_get_ssid(pp, AX25_DESTINATION)) > 0) { ax25_set_addr(pp, AX25_REPEATER_1, dest_ssid_path[ssid]); ax25_set_ssid(pp, AX25_DESTINATION, 0); /* Continue with general case, below. */ } +#endif + /* * Find the first repeater station which doesn't have "has been repeated" set. @@ -795,11 +805,15 @@ int main (int argc, char *argv[]) /* - * Change destination SSID to normal digipeater if none specified. + * Change destination SSID to normal digipeater if none specified. (Obsolete, removed.) */ - test ( "W1ABC>TEST-3:", - "W1ABC>TEST,WB2OSZ-9*,WIDE3-2:"); + test ( "W1ABC>TEST-3:", +#ifndef OBSOLETE14 + "W1ABC>TEST,WB2OSZ-9*,WIDE3-2:"); +#else + ""); +#endif test ( "W1DEF>TEST-3,WIDE2-2:", "W1DEF>TEST-3,WB2OSZ-9*,WIDE2-1:"); diff --git a/direwolf.c b/direwolf.c index 5be1b58..5debb08 100644 --- a/direwolf.c +++ b/direwolf.c @@ -88,6 +88,7 @@ #include "hdlc_rec.h" #include "hdlc_rec2.h" #include "ax25_pad.h" +#include "xid.h" #include "decode_aprs.h" #include "textcolor.h" #include "server.h" @@ -97,6 +98,7 @@ #include "waypoint.h" #include "gen_tone.h" #include "digipeater.h" +#include "cdigipeater.h" #include "tq.h" #include "xmit.h" #include "ptt.h" @@ -112,6 +114,7 @@ #include "recv.h" #include "morse.h" #include "mheard.h" +#include "ax25_link.h" //static int idx_decoded = 0; @@ -158,7 +161,8 @@ static void __cpuid(int cpuinfo[4], int infotype){ static struct audio_s audio_config; static struct tt_config_s tt_config; -struct digi_config_s digi_config; +//struct digi_config_s digi_config; +//struct cdigi_config_s cdigi_config; static int d_u_opt = 0; /* "-d u" command line option to print UTF-8 also in hexadecimal. */ @@ -181,6 +185,7 @@ int main (int argc, char *argv[]) int xmit_calibrate_option = 0; int enable_pseudo_terminal = 0; struct digi_config_s digi_config; + struct cdigi_config_s cdigi_config; struct igate_config_s igate_config; int r_opt = 0, n_opt = 0, b_opt = 0, B_opt = 0, D_opt = 0; /* Command line options. */ char P_opt[16]; @@ -199,6 +204,8 @@ int main (int argc, char *argv[]) #if USE_HAMLIB int d_h_opt = 0; /* "-d h" option for hamlib debugging. Repeat for more detail */ #endif + int E_tx_opt = 0; /* "-E n" Error rate % for clobbering trasmit frames. */ + int E_rx_opt = 0; /* "-E Rn" Error rate % for clobbering receive frames. */ strlcpy(l_opt, "", sizeof(l_opt)); strlcpy(P_opt, "", sizeof(P_opt)); @@ -247,7 +254,7 @@ int main (int argc, char *argv[]) text_color_init(t_opt); text_color_set(DW_COLOR_INFO); //dw_printf ("Dire Wolf version %d.%d (%s) Beta Test\n", MAJOR_VERSION, MINOR_VERSION, __DATE__); - dw_printf ("Dire Wolf DEVELOPMENT version %d.%d %s (%s)\n", MAJOR_VERSION, MINOR_VERSION, "C", __DATE__); + dw_printf ("Dire Wolf DEVELOPMENT version %d.%d %s (%s)\n", MAJOR_VERSION, MINOR_VERSION, "D", __DATE__); //dw_printf ("Dire Wolf version %d.%d\n", MAJOR_VERSION, MINOR_VERSION); #if defined(ENABLE_GPSD) || defined(USE_HAMLIB) @@ -332,7 +339,7 @@ int main (int argc, char *argv[]) /* ':' following option character means arg is required. */ - c = getopt_long(argc, argv, "P:B:D:c:pxr:b:n:d:q:t:Ul:Sa:", + c = getopt_long(argc, argv, "P:B:D:c:pxr:b:n:d:q:t:Ul:Sa:E:", long_options, &option_index); if (c == -1) break; @@ -518,6 +525,27 @@ int main (int argc, char *argv[]) exit (0); break; + case 'E': /* -E Error rate (%) for corrupting frames. */ + /* Just a number is transmit. Precede by R for receive. */ + + if (*optarg == 'r' || *optarg == 'R') { + E_rx_opt = atoi(optarg+1); + if (E_rx_opt < 1 || E_rx_opt > 99) { + text_color_set(DW_COLOR_ERROR); + dw_printf("-ER must be in range of 1 to 99.\n"); + E_rx_opt = 10; + } + } + else { + E_tx_opt = atoi(optarg); + if (E_tx_opt < 1 || E_tx_opt > 99) { + text_color_set(DW_COLOR_ERROR); + dw_printf("-E must be in range of 1 to 99.\n"); + E_tx_opt = 10; + } + } + break; + default: /* Should not be here. */ @@ -552,7 +580,7 @@ int main (int argc, char *argv[]) symbols_init (); - config_init (config_file, &audio_config, &digi_config, &tt_config, &igate_config, &misc_config); + config_init (config_file, &audio_config, &digi_config, &cdigi_config, &tt_config, &igate_config, &misc_config); if (r_opt != 0) { audio_config.adev[0].samples_per_sec = r_opt; @@ -621,6 +649,12 @@ int main (int argc, char *argv[]) audio_config.achan[0].decimate = D_opt; } + // temp - only xmit errors. + + audio_config.xmit_error_rate = E_tx_opt; + audio_config.recv_error_rate = E_rx_opt; + + if (strlen(l_opt) > 0) { strlcpy (misc_config.logdir, l_opt, sizeof(misc_config.logdir)); } @@ -711,6 +745,8 @@ int main (int argc, char *argv[]) */ digipeater_init (&audio_config, &digi_config); igate_init (&audio_config, &igate_config, &digi_config, d_i_opt); + cdigipeater_init (&audio_config, &cdigi_config); + ax25_link_init (&misc_config); /* * Provide the AGW & KISS socket interfaces for use by a client application. @@ -890,7 +926,7 @@ void app_process_rec_packet (int chan, int subchan, int slice, packet_t pp, alev text_color_set(DW_COLOR_REC); } else { - text_color_set(DW_COLOR_DEBUG); + text_color_set(DW_COLOR_DECODED); } if (audio_config.achan[chan].num_subchan > 1 && audio_config.achan[chan].num_slicers == 1) { @@ -914,26 +950,41 @@ void app_process_rec_packet (int chan, int subchan, int slice, packet_t pp, alev if ( ! ax25_is_aprs(pp)) { ax25_frame_type_t ftype; cmdres_t cr; - char desc[32]; + char desc[80]; int pf; int nr; int ns; ftype = ax25_frame_type (pp, &cr, desc, &pf, &nr, &ns); - (void)ftype; + + /* Could change by 1, since earlier call, if we guess at modulo 128. */ + info_len = ax25_get_info (pp, &pinfo); dw_printf ("(%s)", desc); + if (ftype == frame_type_U_XID) { + struct xid_param_s param; + char info2text[100]; + + xid_parse (pinfo, info_len, ¶m, info2text, sizeof(info2text)); + dw_printf (" %s\n", info2text); + } + else { + ax25_safe_print ((char *)pinfo, info_len, ( ! ax25_is_aprs(pp)) && ( ! d_u_opt) ); + dw_printf ("\n"); + } + } + else { + + // for APRS we generally want to display non-ASCII to see UTF-8. + // for other, probably want to restrict to ASCII only because we are + // more likely to have compressed data than UTF-8 text. + + // TODO: Might want to use d_u_opt for transmitted frames too. + + ax25_safe_print ((char *)pinfo, info_len, ( ! ax25_is_aprs(pp)) && ( ! d_u_opt) ); + dw_printf ("\n"); } - // for APRS we generally want to display non-ASCII to see UTF-8. - // for other, probably want to restrict to ASCII only because we are - // more likely to have compressed data than UTF-8 text. - - // TODO: Might want to use d_u_opt for transmitted frames too. - - - ax25_safe_print ((char *)pinfo, info_len, ( ! ax25_is_aprs(pp)) && ( ! d_u_opt) ); - dw_printf ("\n"); // Also display in pure ASCII if non-ASCII characters and "-d u" option specified. @@ -992,6 +1043,9 @@ void app_process_rec_packet (int chan, int subchan, int slice, packet_t pp, alev log_write (chan, &A, pp, alevel, retries); + // temp experiment. + //log_rr_bits (&A, pp); + // Add to list of stations heard. mheard_save (chan, &A, pp, alevel, retries); @@ -1051,24 +1105,31 @@ void app_process_rec_packet (int chan, int subchan, int slice, packet_t pp, alev digi_regen (chan, pp); -/* - * Note that the digipeater function can modify the packet in place so - * this is the last thing we should do with it. - * Again, use only those with correct CRC; We don't want to spread corrupted data! - * Single bit change appears to be safe from observations so far but be cautious. +/* + * APRS digipeater. + * Use only those with correct CRC; We don't want to spread corrupted data! */ if (ax25_is_aprs(pp) && retries == RETRY_NONE) { digipeater (chan, pp); } + +/* + * Connected mode digipeater. + * Use only those with correct CRC. + */ + + if (retries == RETRY_NONE) { + + cdigipeater (chan, pp); + } } - ax25_delete (pp); - } /* end app_process_rec_packet */ + /* Process control C and window close events. */ #if __WIN32__ diff --git a/direwolf.h b/direwolf.h index c584664..a647b60 100644 --- a/direwolf.h +++ b/direwolf.h @@ -233,6 +233,11 @@ char *strcasestr(const char *S, const char *FIND); #else // Use our own copy +// These prevent /usr/include/gps.h from providing its own definition. +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 + + #define DEBUG_STRL 1 #if DEBUG_STRL diff --git a/dlq.c b/dlq.c index 3d0a2c9..6a4236f 100644 --- a/dlq.c +++ b/dlq.c @@ -24,7 +24,7 @@ * * Purpose: Received frame queue. * - * Description: In earlierversions, the main thread read from the + * Description: In earlier versions, the main thread read from the * audio device and performed the receive demodulation/decoding. * * Since version 1.2 we have a separate receive thread @@ -32,7 +32,7 @@ * received frames from all channels and process them * serially. * - * In version 1.4, other types of events go into this + * In version 1.4, other types of events also go into this * queue and we use it to drive the data link state machine. * *---------------------------------------------------------------*/ @@ -85,10 +85,13 @@ static int was_init = 0; /* was initialization performed? */ static void append_to_queue (struct dlq_item_s *pnew); -static volatile int s_new_count = 0; /* To detect memory leak. */ -static volatile int s_delete_count = 0; // TODO: need to test. +static volatile int s_new_count = 0; /* To detect memory leak for queue items. */ +static volatile int s_delete_count = 0; // TODO: need to test. +static volatile int s_cdata_new_count = 0; /* To detect memory leak for connected mode data. */ +static volatile int s_cdata_delete_count = 0; // TODO: need to test. + /*------------------------------------------------------------------- @@ -109,8 +112,6 @@ static volatile int s_delete_count = 0; // TODO: need to test. void dlq_init (void) { - //int c, p; - #if DEBUG text_color_set(DW_COLOR_DEBUG); dw_printf ("dlq_init ( )\n"); @@ -189,6 +190,7 @@ void dlq_init (void) * Normally this was received over the radio but we can create * our own from APRStt or beaconing. * + * This would correspond to PH-DATA Indication in the AX.25 protocol spec. * * Inputs: chan - Channel, 0 is first. * @@ -244,11 +246,17 @@ void dlq_rec_frame (int chan, int subchan, int slice, packet_t pp, alevel_t alev } #endif + /* Allocate a new queue item. */ pnew = (struct dlq_item_s *) calloc (sizeof(struct dlq_item_s), 1); s_new_count++; + if (s_new_count > s_delete_count + 50) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: DLQ memory leak, new=%d, delete=%d\n", s_new_count, s_delete_count); + } + pnew->nextp = NULL; pnew->type = DLQ_REC_FRAME; pnew->chan = chan; @@ -458,6 +466,7 @@ static void append_to_queue (struct dlq_item_s *pnew) * pid - Protocol ID for data. Normally 0xf0 but the API * allows the client app to use something non-standard * for special situations. + * TODO: remove this. PID is only for I and UI frames. * * Outputs: Request is appended to queue for processing by * the data link state machine. @@ -486,7 +495,6 @@ void dlq_connect_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num memcpy (pnew->addrs, addrs, sizeof(pnew->addrs)); pnew->num_addr = num_addr; pnew->client = client; - pnew->pid = pid; /* Put it into queue. */ @@ -603,9 +611,10 @@ void dlq_xmit_data_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int n memcpy (pnew->addrs, addrs, sizeof(pnew->addrs)); pnew->num_addr = num_addr; pnew->client = client; - pnew->pid = pid; -/* TODO: haven't thought about user data yet. */ +/* Attach the transmit data. */ + + pnew->txdata = cdata_new(pid,xdata_ptr,xdata_len); /* Put it into queue. */ @@ -614,6 +623,195 @@ void dlq_xmit_data_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int n } /* end dlq_xmit_data_request */ + +/*------------------------------------------------------------------- + * + * Name: dlq_register_callsign + * dlq_unregister_callsign + * + * Purpose: Register callsigns that we will recognize for incoming connection requests. + * + * Inputs: addrs - Source (owncall), destination (peercall), + * and possibly digipeaters. + * + * chan - Channel, 0 is first. + * + * client - Client application instance. + * + * Outputs: Request is appended to queue for processing by + * the data link state machine. + * + * Description: The data link state machine does not use MYCALL from the APRS configuration. + * For outgoing frames, the client supplies the source callsign. + * For incoming connection requests, we need to know what address(es) to respond to. + * + * Note that one client application can register multiple callsigns for + * multiple channels. + * Different clients can register different different addresses on the same channel. + * + *--------------------------------------------------------------------*/ + + +void dlq_register_callsign (char addr[AX25_MAX_ADDR_LEN], int chan, int client) +{ + struct dlq_item_s *pnew; + + +#if DEBUG + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dlq_register_callsign (%s, chan=%d, client=%d)\n", addr, chan, client); +#endif + + assert (chan >= 0 && chan < MAX_CHANS); + +/* Allocate a new queue item. */ + + pnew = (struct dlq_item_s *) calloc (sizeof(struct dlq_item_s), 1); + s_new_count++; + + pnew->type = DLQ_REGISTER_CALLSIGN; + pnew->chan = chan; + strlcpy (pnew->addrs[0], addr, AX25_MAX_ADDR_LEN); + pnew->num_addr = 1; + pnew->client = client; + +/* Put it into queue. */ + + append_to_queue (pnew); + +} /* end dlq_register_callsign */ + + +void dlq_unregister_callsign (char addr[AX25_MAX_ADDR_LEN], int chan, int client) +{ + struct dlq_item_s *pnew; + + +#if DEBUG + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dlq_unregister_callsign (%s, chan=%d, client=%d)\n", addr, chan, client); +#endif + + assert (chan >= 0 && chan < MAX_CHANS); + +/* Allocate a new queue item. */ + + pnew = (struct dlq_item_s *) calloc (sizeof(struct dlq_item_s), 1); + s_new_count++; + + pnew->type = DLQ_UNREGISTER_CALLSIGN; + pnew->chan = chan; + strlcpy (pnew->addrs[0], addr, AX25_MAX_ADDR_LEN); + pnew->num_addr = 1; + pnew->client = client; + +/* Put it into queue. */ + + append_to_queue (pnew); + +} /* end dlq_unregister_callsign */ + + + +/*------------------------------------------------------------------- + * + * Name: dlq_channel_busy + * + * Purpose: Inform data link state machine about activity on the radio channel. + * + * Inputs: chan - Radio channel number. + * + * activity - OCTYPE_PTT or OCTYPE_DCD, as defined in audio.h. + * Other values will be discarded. + * + * status - 1 for active or 0 for quiet. + * + * Outputs: Request is appended to queue for processing by + * the data link state machine. + * + * Description: Notify the link state machine about changes in carrier detect + * and our transmitter. + * This is needed for pausing some of our timers. For example, + * if we transmit a frame and expect a response in 3 seconds, that + * might be delayed because someone else is using the channel. + * + *--------------------------------------------------------------------*/ + +void dlq_channel_busy (int chan, int activity, int status) +{ + struct dlq_item_s *pnew; + + if (activity == OCTYPE_PTT || activity == OCTYPE_DCD) { +#if DEBUG + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dlq_channel_busy (...)\n"); +#endif + + +/* Allocate a new queue item. */ + + pnew = (struct dlq_item_s *) calloc (sizeof(struct dlq_item_s), 1); + s_new_count++; + + pnew->type = DLQ_CHANNEL_BUSY; + pnew->chan = chan; + pnew->activity = activity; + pnew->status = status; + +/* Put it into queue. */ + + append_to_queue (pnew); + } + +} /* end dlq_channel_busy */ + + + +/*------------------------------------------------------------------- + * + * Name: dlq_client_cleanup + * + * Purpose: Client application has disappeared. + * i.e. The TCP connection has been broken. + * + * Inputs: client - Client application instance. + * + * Outputs: Request is appended to queue for processing by + * the data link state machine. + * + * Description: Notify the link state machine that given client has gone away. + * Clean up all information related to that client application. + * + *--------------------------------------------------------------------*/ + +void dlq_client_cleanup (int client) +{ + struct dlq_item_s *pnew; +#if DEBUG + text_color_set(DW_COLOR_DEBUG); + dw_printf ("dlq_client_cleanup (...)\n"); +#endif + + // assert (client >= 0 && client < MAX_NET_CLIENTS); + +/* Allocate a new queue item. */ + + pnew = (struct dlq_item_s *) calloc (sizeof(struct dlq_item_s), 1); + s_new_count++; + + // All we care about is the client number. + + pnew->type = DLQ_CLIENT_CLEANUP; + pnew->client = client; + +/* Put it into queue. */ + + append_to_queue (pnew); + +} /* end dlq_client_cleanup */ + + + /*------------------------------------------------------------------- * * Name: dlq_wait_while_empty @@ -817,12 +1015,145 @@ struct dlq_item_s *dlq_remove (void) void dlq_delete (struct dlq_item_s *pitem) { + if (pitem == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: dlq_delete() given NULL pointer.\n"); + return; + } + s_delete_count++; - if (pitem->pp != NULL) ax25_delete (pitem->pp) + + if (pitem->pp != NULL) { + ax25_delete (pitem->pp); + pitem->pp = NULL; + } + + if (pitem->txdata != NULL) { + cdata_delete (pitem->txdata); + pitem->txdata = NULL; + } + free (pitem); } /* end dlq_delete */ + +/*------------------------------------------------------------------- + * + * Name: cdata_new + * + * Purpose: Allocate blocks of data for sending and receiving connected data. + * + * Inputs: pid - protocol id. + * data - pointer to data. Can be NULL for segment reassembler. + * len - length of data. + * + * Returns: Structure with a copy of the data. + * + * Description: The flow goes like this: + * + * Client application extablishes a connection with another station. + * Client application calls "dlq_xmit_data_request." + * A copy of the data is made with this function and attached to the queue item. + * The txdata block is attached to the appropriate link state machine. + * At the proper time, it is transmitted in an I frame. + * It needs to be kept around in case it needs to be retransmitted. + * When no longer needed, it is freed with cdata_delete. + * + *--------------------------------------------------------------------*/ + + +cdata_t *cdata_new (int pid, char *data, int len) +{ + int size; + cdata_t *cdata; + + s_cdata_new_count++; + + /* Round up the size to the next 128 bytes. */ + /* The theory is that a smaller number of unique sizes might be */ + /* beneficial for memory fragmentation and garbage collection. */ + + size = ( len + 127 ) & ~0x7f; + + cdata = malloc ( sizeof(cdata_t) + size ); + + cdata->magic = TXDATA_MAGIC; + cdata->next = NULL; + cdata->pid = pid; + cdata->size = size; + cdata->len = len; + + assert (len >= 0 && len <= size); + if (data == NULL) { + memset (cdata->data, '?', size); + } + else { + memcpy (cdata->data, data, len); + } + return (cdata); + +} /* end cdata_new */ + + + +/*------------------------------------------------------------------- + * + * Name: cdata_delete + * + * Purpose: Release storage used by a connected data block. + * + * Inputs: cdata - Pointer to a data block. + * + *--------------------------------------------------------------------*/ + + +void cdata_delete (cdata_t *cdata) +{ + if (cdata == NULL) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: cdata_delete() given NULL pointer.\n"); + return; + } + + if (cdata->magic != TXDATA_MAGIC) { + text_color_set(DW_COLOR_ERROR); + dw_printf ("INTERNAL ERROR: cdata_delete() given corrupted data.\n"); + return; + } + + s_cdata_delete_count++; + + cdata->magic = 0; + + free (cdata); + +} /* end cdata_delete */ + + +/*------------------------------------------------------------------- + * + * Name: cdata_check_leak + * + * Purpose: Check for memory leak of cdata items. + * + * Description: This is called when we expect no outstanding allocations. + * + *--------------------------------------------------------------------*/ + + +void cdata_check_leak (void) +{ + if (s_cdata_delete_count != s_cdata_new_count) { + + text_color_set(DW_COLOR_ERROR); + dw_printf ("Internal Error, %s, new=%d, delete=%d\n", __func__, s_cdata_new_count, s_cdata_delete_count); + } + +} /* end cdata_check_leak */ + + + /* end dlq.c */ diff --git a/dlq.h b/dlq.h index f4f0a90..6874fb0 100644 --- a/dlq.h +++ b/dlq.h @@ -12,10 +12,30 @@ #include "audio.h" +/* A transmit or receive data block for connected mode. */ + +typedef struct cdata_s { + int magic; /* For integrity checking. */ + +#define TXDATA_MAGIC 0x09110911 + + struct cdata_s *next; /* Pointer to next when part of a list. */ + + int pid; /* Protocol id. */ + + int size; /* Number of bytes allocated. */ + + int len; /* Number of bytes actually used. */ + + char data[]; /* Variable length data. */ + +} cdata_t; + + /* Types of things that can be in queue. */ -typedef enum dlq_type_e {DLQ_REC_FRAME, DLQ_CONNECT_REQUEST, DLQ_DISCONNECT_REQUEST, DLQ_XMIT_DATA_REQUEST} dlq_type_t; +typedef enum dlq_type_e {DLQ_REC_FRAME, DLQ_CONNECT_REQUEST, DLQ_DISCONNECT_REQUEST, DLQ_XMIT_DATA_REQUEST, DLQ_REGISTER_CALLSIGN, DLQ_UNREGISTER_CALLSIGN, DLQ_CHANNEL_BUSY, DLQ_CLIENT_CLEANUP} dlq_type_t; /* A queue item. */ @@ -28,10 +48,13 @@ typedef struct dlq_item_s { struct dlq_item_s *nextp; /* Next item in queue. */ dlq_type_t type; /* Type of item. */ - /* DLQ_REC_FRAME, DLQ_CONNECT_REQUEST, DLQ_DISCONNECT_REQUEST, DLQ_XMIT_DATA_REQUEST */ + /* See enum definition above. */ int chan; /* Radio channel of origin. */ +// I'm not worried about amount of memory used but this might be a +// little clearer if a union was used for the different event types. + // Used for received frame. int subchan; /* Winning "subchannel" when using multiple */ @@ -49,7 +72,7 @@ typedef struct dlq_item_s { char spectrum[MAX_SUBCHANS*MAX_SLICERS+1]; /* "Spectrum" display for multi-decoders. */ -// Used by requests from a client application. +// Used by requests from a client application, connect, etc. char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN]; @@ -57,9 +80,19 @@ typedef struct dlq_item_s { int client; - int pid; - /* TODO: xmit data */ +// Used only by client request to transmit connected data. + + cdata_t *txdata; + +// Used for channel activity change. +// It is useful to know when the channel is busy either for carrier detect +// or when we are transmitting. + + int activity; /* OCTYPE_PTT for my transmission start/end. */ + /* OCTYPE_DCD if we hear someone else. */ + + int status; /* 1 for active or 0 for quiet. */ } dlq_item_t; @@ -75,7 +108,16 @@ void dlq_connect_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num void dlq_disconnect_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_addr, int chan, int client); -void dlq_xmit_data_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_addr, int chan, int clienti, int pid, char *xdata_ptr, int xdata_len); +void dlq_xmit_data_request (char addrs[AX25_MAX_ADDRS][AX25_MAX_ADDR_LEN], int num_addr, int chan, int client, int pid, char *xdata_ptr, int xdata_len); + +void dlq_register_callsign (char addr[AX25_MAX_ADDR_LEN], int chan, int client); + +void dlq_unregister_callsign (char addr[AX25_MAX_ADDR_LEN], int chan, int client); + +void dlq_channel_busy (int chan, int activity, int status); + +void dlq_client_cleanup (int client); + int dlq_wait_while_empty (double timeout_val); @@ -84,6 +126,15 @@ struct dlq_item_s *dlq_remove (void); void dlq_delete (struct dlq_item_s *pitem); + + +cdata_t *cdata_new (int pid, char *data, int len); + +void cdata_delete (cdata_t *txdata); + +void cdata_check_leak (void); + + #endif /* end dlq.h */ diff --git a/doc/Going-beyond-9600-baud.pdf b/doc/Going-beyond-9600-baud.pdf index 2996aec648611e3f8248803baab82ad1a0dab708..18e0aa6b82de556ad5ca24f70f320ad3f5bf7280 100644 GIT binary patch delta 159305 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
    Z{5^W7#@~$8--mE1hANxG~NSEAI1= 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

    %n?)C9fS6wiKFZed!v<)Lon(g!dA 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

    Mm0lYvIxxaLSu#zwyKGT`qv);HJZoP2P5KbY`Q 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

    y8{c|F@-kH1OJ+i9?y>qI^#Z*oIuqn%=0 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 %(2*P+WId&!0m1F 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

    4H#4Us_yhE(q9UQ@faN}d@Mb`GD{y6R*< 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�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�S#!+X`)jhK7hYMcM2UQgs;1*pzZawr-5=uo5y-w*L#&gn2$&uXNAt`Cj-y z#NYr>_%gtc_mzby$=%fL6F-QZ#9{H8+4Q&FBU>C4jf)N|OO<$$Kkj~7{DeL0Xol2G zMH9~Sp9eu8NL;SA%HQhodKZ;&bht~)Ny(g9-5NEHxW`_iU@tOqRS18MxgqTv=GzKy zfN2L#1pt%jBFj*=zZlw8lFwhyBVQAX6-@xly(xc7X_L0`s*%8VHbswKs15&%p;zM8GqzVw`EBN|daU5l#DVW#5K8eXmNfI48qrqXaO zq;{^tbJKR_9Yj-GIqGnp)3L21-OSN7l$6cal4dCA5BDs%dbHxC3Q`pjIWAd+VG08n zDCA&x%hi+?@`}gy6_OsM$i1ROQ%_7sG_OZ0EAwRO+R;D8`<9U}G zYnYF(&q-O^N*PaAd@xWsb8pDB%F}0S9nDKcnd0vwJY^n6X!#I*91vs0jnQ>fyV_N$ zC1UeVQsG-$*)@8x#Zg;jTPJGhM6&@D)Jfo+SK)+LD+z|apw*tp)KJhpJ-|DfCep_= zJx|pQXOk&!Dywn`J{7!8r&aA}WMyK)Ms^JyC zly%0^fZtRQO0w?)D1)VGij&N^)J&7eN!K;d(y8YSJ)=p#%vx8nh%NlTr_@tRl0K9` zeh?>ZXKRk2`^p-Ynl$TwS`xx*3|r7a`xm+lw$r|Oq;k2VW*WT-cRg6 zo^dE#(O|Eyt;7@TfN5#H-YC@y?I)zFg1yL0Uskp*^4zoC12xDl0Zx5aVu^$_3pBmJ zO77L%6vcBOe$%a!S&vA{miTWszH|}MjNWv5*)dXhiMz=SaJzP9qZZqggV3|o3Wx%K&%owz6bdHUnf{>PoO5d-tnICAj-B9;&xX|@W*sMvRSgN zaoAe4$DskhR$e3jl|$3Yh9qmR+@?tlR-?!vyRQ*4sdB@Fnp=6`tjeQ2%;saS%kXUo( z*(ju>gkaG%?F+?5u}p(cfSFogj$sBi2>a7bm!F)8P?CE&38~37T@5{O)bq%}EM*B) zrigX-(K!IG!L#LOqby1Hw<*mDN2b8UG3hl%sG>y7UBDg=OTFuoS2t>Cu5#`qqmsBO z0Ivbyb0BNbxG!Xo@--7E$R}UG;=tuW=|Sy5>_Iar7c&oG(9(&Nv8hL_xSBdQ-AWtd zU_M`7L$eRM3^UXC@-=c?9wWJDDi0WxFnk(eSmyWXuxy83`qnr zB-0FjUyzq80at8k)&Z~NiAY-fEHII&a^nHE8da&8STQNbJ*334O_F5AE))qWv6y;+ zx*)nnQ&&YPozaW4bm!F2qg(!2Bo7M(+-s$BA)#m?zB_qYtN@Mq(qN<;u@<#sIcd|f zij2u_A#4f>?5lNUV={olY(#sUKddNrKWHhy{rwZ1=@k!gw+Jo^t%$NeYzen zN?1}nEvucr_+=lWjjC5VSIjVh z%FKE+v=qNu8p^}KdbCqcD5@+xA_I@f##(f`6z@gnEXpaw=Neq)8Z6@!{Nx^7#3}T_ zCDg$w)G*MVMy~u%Hseq>zz5Sw5q$_4cO^t=%9I{63mtJ@K-iqVC%1j(S{>dss$?hD zxbdaBhX^t~c)ahnVLnv;=Qz8QS9vXpOFJjx7YeezF9q#G?4XrL?Vw-~*Y{5(-d7~x zZQx^2#5sUtW@l|@+>$nZ0@P@SX2vAGf<3B(;Mo}g2bC!3Pp7DU&+vYY?}`L4dVkh$ z%u6`3EIp3;f)?idN8*-yH&vUBL%w>p=})(6Ks1#X;X6i0hV!ASJIl>nB!C#pYb)zl zqJ=n#O+8P!$U2BR9*ca+f@l~QNG7hN5nq{{a76<(X$Qmfm~>S;=F(THaSNwqFI_Qv zOvNmifNO7>nv$NJQZY6An6TJkYEd%3OxNCYA!%0(Lyw`OTjV9X8*003s zd@cIS8m03tSKsV@GRLA$j&V)( zh2Q;PUe`8#aadnfTVDnIYYwXp%c%=qWyR^CXoKvk`))`!0U({mw!^~Q!PAop8$4@h z-7IdUa$h9igR1sH*7{HyX2t)mahfZp^kuajC|}KaX~<0@_lLxuDh86U%`hdGn<|_y zRn>Q*-uv2$3ah`#s_JUv3g4>J`amg@B)xaMxeP&7Y!^OJfH2mS7Ee--bR zC2Or_e-rCRQXQKv(iR|EXH{#`yoyPFC1#u>Qx^4Re?=)Yojv7Ds`o|$7GbCO9<}f% z<-JY{G(+=hIC3^jao?}>ujS?`dpjn$dqNoWkF`%qucFb!~RD%B=W2>RSA2`#VJZL`a^EJrCo-JGeft? z!H>o#w(Na6F4kS6Di$^j>~h-gykXXEnQoG;vu;m<2z26roX^W7r3- zGq{p|Uh5igh|^#pcH9CW?|DgpejfNET#m_^g4~(4cQ#CBsj1d8H^Dp!)0r}LL;+Zp zm^~JmLt19O#6r6nF_X`p&&)+^Go&dVZ9b++?0e)>_#=(aR8~VIKdsERSOcrT&$kPK z$s6hqz$YlSA^p>ltMg6GPmE@%xx|-a-_;5cI#yvpUmTlYanu6)`rlE7x9Pq5L(Np2 z=C4T3gtQ0v?)dAS@qcWpN<$=liYzy#KPo@YPX~=2ylzVA z8GCQC2GV^LI7A{xyfRBpPI^WhjMMKU?+Modl+dPOeYMlY^DLN!Jpp$4x=&OWH>K`p zupf{`MfD-X1hCYbo;>n<;26Vde3P;Tpey!yZCXna!WqJwwel;uwj1+XJ?%B`HjRch zj65TgBb!#fpM|+LReh)|h}tqWYtCnJM*GotltaHXh2A+*qd%L)^ z+~d_r^0ap*B0Ing4BI<8(LvPPFnX8;*;ps=eOJnTf$VH_5#!L2OSH89WLFRk3(^rz z45xO57W)t{CP6-Qk_A*{TwU<*a#zTu2Rr+No?p=JL6A@I?7_p9-V+e~2wfV0!pr~x zF_LzGm=7Ww`DdV+NA$ArdANEYW__z*egA|hv?Y5R+$L3k53uZzyWIg%BLHJDz)5l{?M9g!eosu<17;HnCUk`(iBt| zB&=a!|A4|b2wnhM#Hz6+>BbXwj~VQ_7Jx7Oh`r~AuoP!mIV5pUxljWr>GY&OX^W~s z>wGh;niRMiy=?Pmx9YZ})Q7c%E2tdeT@sx_*3FwmKKIs}xvqDfHMZ@D#4NHVEXYEL zFsl0K#3A&$Q#w1x(Hdt>8j#(Ru#a+G%B5~frE{^7Li5>&TeTuCOPRg2KeO+9=R=en z5pJ%H7*yb{5|;A zbK>lkvV#756WaO@F2k4%St+I5Z5S%QDCUK`0*XR8J}YgiVhIw1qYKH=Qxr^9| z;$@%3hJY>4hAZG5H>vLn4p+Pgyq+Xu{4UNLDqCkCpU<~Q@?%LDAG!TVlVmx|?8*|?&A7oxb_IEQMs}K3ho2279L#VicW2`yeZ5&`-$KhV zfNh;#IuBH}?%HFT_iVU`S(7h~nH@4GLzXM>z`BIt#qnX%NCTxs8M!_g&3i}JxfY@z zYa47d#IzX?_eNVS6F}IaeQ@AndBlix3;y;PPDdsmkju)OnqoFI=io8=^-o(JsJR3J za;5t_v1tg<N!8PW5L9HiC$Xhe(PfJjcyDE|O$4KKkbOQ)fnrhOtrA z!Ts4D9k16KE&7x&4&@BtwsQ7^p9zw@h4*vN#cS}*MoWp8W98&P3c-8tiUuFt1|?px z!Tq1g7*-$ow}89Cee*%teeQNp==%jX<`=(ikEeEk-bs5~>NOhT9?MS(Y}e!4zKjO4 z+2bJQ*bL@LFb^Yqrac-u@tL)Tf3vZ;HPEce{24~2B>x&tA_ji$n7)T_)e)U>Ii4Ms z)Zj6!nEGy@8+bOGs9oeXT05M>UQpN(FU*=0J~+xMLyZ`heucU((^ z$nZyN`;5imm?`9ZjSwJfrPN)^v?srgC*=r;{XK zanI>;rR z{@ijiOPV>&$o!Ecdu2?wshKu&Z-lfNqlqfmo2UpMz`CPQ`V~UE(kWWue*pYkQGnLu zprUDmv8Rr#}`W?Nq1TD_rKZ`$~Cnr)()_xHmx#q%`V-K-(;^o?)!)f2Ew zlL5XH>2Bv>=e97jy+ppJo9mw&h$Bvwjz~R->WAS)OpHI!^8$K!_n~kb8;yg7zoY+| z9`)eqm!!kEA*$E4b73rw;4eh=R)>icL$Yi%&$(mmz9REa#ruB%SwN=0qSMya;*s1Y z`iNfb_GlaeSVX)pY z>Oc25_fq?-2R%-wrExvA%o9oxW15dJIVhXLHbo!tk&Y_ERk1wR&%1#S@p zaS+?KC7Tze2dQ80oP1&_>6_EqZH5baV4Do@LHTf?PO_fX3KD(}Nac#p5G z2Co?fuNfI02H5EZ_kn&FQ7g)iRJw?Ae@BM%WMpI*9KDllg{Gd%wXW&2gQ-MfrW%|b z)=;z$nv;|hH9S29P3W|MhG(P5DKR(|>zg%0?bWanKdJYGhT}DqO7mSAaL&UGa2ox! zY89UOBg<(sf0Q_7-kIB{hi1Bt+dBpfd+b9Lge^4oVTb;jiv}vdkm{J^mLyMGf34@z z-5Y-5F{9h%krWDU(D0SMIUDzu)y53N!2I^lSy?D`?iO&nnT%z*F&Vhv_bQ9AaglOThc{ePqg3qR9Dt0PyJ-K zcMvP9N$lzc8zHd^m3xQFT_Zku*qiqa6WbwHC{agHVUc~aFC9yN_#r!Av zk>}Qu!RKJdKSwYEG+c=$e~mQ^Xjkh2$Wx0#Mw3ac>)6@WUK=vTjV4bW7qAgdfoj|7 z+1k9DFWY(L(iy=!7RRQ=GG;-xySu~PvEvraJ5Y+B8uB?@$)+it({(uLnSI{s)0Urj z-nDzLU$P}~>CA@nZg;sQS+u$=@qqvQa`*b``W4^viZ+RTq%sH8fA6Ktt}9Ppcr%b} zjNhTwQ-6m%ibW}nH|&I=C#YM{6YJSAJy7)`ZX)3BABAW;d}MHXhXkUi7h)3g-snHm z(P)}1uc%ZHK|cE)u(>`hnX;yN%HXj(&7x#98hDT7bWd>_dO6Oy*{&eOgW1S|7lt4U z@nTumNu_sGcW3x*e~?N*SSMQO?9@THRTSH6@-zX}afu#XcCn;NsZ^!w(WKQb%BG9v z&%ekdi*{?`VGVz}0#o?ZxWy}&tuIsuw>(fCeBKHowZ!m@Do7w#Jw&anKW&PmIG;?( zK88FoCmKBxZ!p5sn$7Ug@VpL4SSaKRZW+S8?iZa#Ap}kEk zwo*y8?!=-*t^CTT{bWUTtonG&D#O!0k5Ab006yUbcv{FvsypFn(O)PN{a1L}9B$RF zaRvCe7Wm9}P%-q#Yn@lS=&(PmoTSicsFX4Q7{}bw$N& zI_WSQm;}n@f0TscN+c8o@I9^s{H{R2@AvrwKE)}zoKBHrSw$3FqA27NN<3gd4L+wR za0WZ8Ad$;4C^1OWnkbmWewIZhrPm)3_do=&58{oQgVp@KV#Ea3GG8`eG>A)@Wmdzo z2C6}B{KbR|R(f@9k9PTFe%R;bhbzOR=LK<+U3q`Gf0N{PcpS=^x-+h|H+nPde{>k= zApP2w7F`oH_{WtBATSnc_$wsFozgIFLCJAVwI}MH>!CWl;4WBjnt89_tN!B=UKS+x zBagVc@E5D-3~$47a(mw zJxqz|e+47z*9vlfIE)bMdWi359%3E+9LEOUME$I%Ul6?gJkR2OlZkz^$%?IVgza19 z&7eG7@-*Z`FByim%NcXT4bDu9->xWb{Ra=OJjebG5Q4APyllAt*nK4!y?-+dj>ji* z{oDoICHOM#diHwm4ty8)0DgqqiFV>&;ODvD<9G4<+~@cp=dp0uGKhbB`%qX9*Bi&D0MpF1sKblz*L> zkR4XH;bD(mc31#_{sy1>fPqww^7!#>B4v&bjeUyfv5~DgHr35RzhP_yCC9!%5^V0V zFLnm(oSn5(Lt_UKKlbU?pgl+KNRNH0#Z!iWJ#3GO7qX#%h#GOyV2j1=(UO=ge;GuB z!R9Lgclp)Mf>N@}P4^AyIaszHJo(Q-!ex?r>5kSZbk?vBlC61EBd>a8k1WY<*(Do{ z0e{dR@`wG5F{w7FDK)J!MvK*K<*cmLWHlIRH6|z;ia325&KMIK$}xEj#~o1(`(n2hbJm%fTL?MjvMVHb$^vPmP)IDt2FL!bY0yc! z0s=IC9vayJjmKV&lP2ksY|w*-cENRYNVJr5W@seR3%cYed6N${4|E(ZPng^lE>mV+ znBpM~{)+h%^4N2+n>W=GK9ai?c|DjxO6QSGt@SLBf}Btyd0tDiSfmfEe_FV4#x;$> z;~XC7&HPSdXc{lg?n%oHozrjH+>`M(be?eIX6lbGS3mjwRg;U+TS{|Qyo`C$kKNKW zXXT|YmEv-|`u4NWT>9%$OjdC8S>kQ`f$AS%4nov>YOBcl2geR-4#9|6&ae6V#6Ca6 zIfkf5kQLvpalF;);P-MYe?>+NFd|}ufx>&)`Z7V2=ywfKuOoq4^fWSXtW~C5yMPY} z$V2^FGowXyU#})Q9$u$jYQV%vf znA&CCp5|<#St?pP(o8Cz4rN@)P(vK@Fk&gT55!^VU*f35G_d26eDmqLAPsx)egIYr z&>jqwiQ~*x-yr^Sf4ly>cL5CorzceE9if!ywgDH)ArFj(;Cc&nA!H~W)I)AW&R)5O*&`A#nm_OBewd} zvA-}NCNjXuOk?8681~RUUuIad)xwUvl#{Xsc#+m*_yCllD!@4}l5-)T*Z~a%YRdX!~#oUtLoK zz#<9Oz5Dl{%)bk=?^dp~9jIdfOVT)ltf!VWa;Vk|5gz?W*V4F;)RaU!FTUcl!KDWp z9Uh){-TnA2KRah0Nc+a?e_*n|@FH2{P0milSFE8^rSn6^a^y;eZ5U zeRpRtxL0zxf&QPZiFW&5cO)8JMA48b(^NDZ0l_~_(~Kb+vV}-(0oft=K)ebDh#N@A z0b`Pz9;B|(9N1uA6by!uBZR>fLPOL=D2n?ve+&2!mSYU#wnDV}EvQ2|td4=+(a$Rb zq^>jC#goj53G-$uKHP6H&EI@u$R^Vw@%<9kP;X#huyxJ4MxC&oK?`pmY#O3gqZGAt2VA)*p$y_bJ$4ADea$ry8_=j3 z1VWfwstd#6KkxYE!D6C4Dv7dq)AJAA{P=OaSE6zRhX6iBkgg9id|!kGCp=W3Opuf*x?U!rBJm z&Xo+qur9{Ms*K8}os*n1o&C-w&dZ(GIae#YoI8|1SpFdX-R87l18a&HRoS6L648Z` z^P-nWFK<|pU*5DWwk!R6>tD?8e_F+PEF?X=AV!?7usb9LJu>gL#gJmNCM>EMH|43u zEJTr%DU&vMjCPw+03Uf^N3KNEoPQAiS(Cygmmyi=Y~FW_C6wmVk#tjDH0a23+yKo0ybvUJ~kb($5TG6RK1Q4R@{k7`)5rwosA{&V^e@@;ZI7A0+ zwAw5-%9v%+8jd()gZPJ<8>wc<b4V)AyP9t!gTP`lOI^P=HMD(RWRzt`z;p;*CRNe*&^`aJ#@ZG$>>&-4GiZ`w%6@ zKG>R!MM)YYW*Rg$UP`5m!IIOEFBxs|LHz$TK9!PqwM4(;E0v{L5+x1dVa?JKDe>=Q zOPt(%4DBGr--=${?aaTc8!E9=-87qW1%Fs@Gi*qVXei(Ue;jHw0cU73Ko|`RfJlBf zG&we}p#l($2{J(f>whu{RKb-2G|)p9e`UrFYy&m`ALPI`APHozH33I3c;U$4g&rn7 z?A6Cy*0S3Rm%GWBn~b^1*iqDA?&0{YR}7Pf=d4V|_SRapkl42Kh(7IHe8JnBH@|(s zlC#p2es{S;1Ef1Z2`yc*r`+|pBi=C&O zyY4r?S$A&Vr1zKJeb16}Z@sl@TDE1&Mc;V%VZcQv;GzfYB7s_PpO!PROxlz|jgKlr zicuvX8P7sv_d;W{hnichF=(2lmTWTXCYhL{zwkHlf6Mqk(<6U zXMOv+d7VD5VD%(heutY~#d{ZDaR2@1PhQayf2DrD;^MFUc*(}mo7X=6x2>1--H|WH zc(35GIC0B+={H`yb^A@%Z_~64=vl9o(B~o>aK3`ZIkrj`b}KT9yRZb9z+h>I#Ujgr ziQ-9DFJEI3dd>H!5{mQxDyU2}^tpZQlTRkw==vk7Ea#$brjzLfZg`Crddi4dj#ChJ ze<99{$Xu#|1n9F!VEgePesmi$_Y2(|eiWJUZirfU0LOd`v3U1Z<1=`WdJJp?-cuIQ ztX1AY9EX%e&SS40#`X^n!#^aCc!y;knzd}bYREQv^$w{@IdR?FFs?_GbLkr;iy+4i zeNJ;RS+Gddbo?)?EXdAkU$xH(9V_Ixe+%(CW-)EmW!b*fq`lEpv5KN^?p>to*rHZGtN znvN^aAb#xGZGlj$NTz-{G1O|)pee)AHrPAsd#}Ftw)T*#JkS|pcWac$=WTJG{yG~8 z;!<1ZAhv7fwzlRHW~NV>796Ave;Owjvi3Kp^qWhhiY+kNY13r0QOU}d$P=AY+JK83 zuh}H?lwzAQWx9geFp$4ZTf4KSL7dktl3U41O0F-9v%B$o=mhi&GKE2k8eL?9`Sa0{ z$|y;kyU28;o=pKN5&8$gYrh`oby~r9p^6SorGFQ>&T@BQhc z*PTDToC!1?x9!e5W(vIEf9*Q^?!MKzz{$Mlx~1Pgb=?w|%jWb>yY}`A&lM6b+-PB# zJC|Ph)HxU3sK`qBscWh`ep3BnI`8EpYH4z7_>M`ZEXREq-T$5A?pr+iECnf?o5OG8 z@60~wd;|IaEChs@eatN=jT-SzEz>4|MEz5;?YZgViN2Gv$LIRQe?Dn}Z$Y*%cQEb9 zpmaLhh$$*(<_D=Qnq*sV+hn8OvSC|Fu-SMaXcokHikz~mYD-#GQ|Vwlo#kkK$Y^ZQ z6TTovxTWC2wQ}14 z*usczouoUe*WCyMCV5mvU$_JIy4Il6-?iY*Yrl2$lxJlie?RivF>|2*`=Nff3DRA% z)g}e#V+b^^TVxa;bAqPhG=1gh8w2{fiR#Zu+l^No)T?|C;f>w;@Gl6_-hAtU@H=>I z^`&uwO@BaO^4~u>Ot{xl=Z)S=);gU5HZ&J(D1efv8K1B1c{2T2=I7?0Szb3A)~DBH z?v31?*pzu9e_^~*S(#Xo`DSjtdA;ifWqpD@onOeWG%x3u3(LjjPScD?Z}dcEW@e4u z(CnBTnG~IrD5oc9j&n@sSuQU}0#Sd$pZ4eDj&z2-oZqedB2OP5IWcibWKCpU)9sN5 zB0C~%mJLX92BDxtv4#xBLAEJkr{fLw=14M_Ql+HIe};mgLUXgkQW6_aIILl7-deWK zvM#VLvzn}f_!=#hOCWGQ${}nJo)ume-WEOyZgfJ4&mrnWlT9v9^mOZ){qGMJ_$%-zs#i?czX;&_X6XtjhXT?+wDHb({(L`oV z=H3Pde+DY>N(k{IVx6fDD0M|Uqkuj-mx~I~=C)cXD~i#8K0(Fb`?CkGxuWlZb4K;a ztDoW2f?1_$w_RG@h95cQvMF=Fe?#@RvuoHCoD1hs8O=hpe?f9fb36-OUy~L$E_bbvmV38*%a#npkk^5&L;BjS%?M6-6u)7~73ha5IUihM;xCUcUaF_B^%-zaC&^?Xk43cw ze<#W*^MI2CfPq1jAF8c4*&#`ufLE$>m$`(xfTxdFZI4)LV$#dDFog7+vyS&918Ss; z#a0nU=r?K^hTx$Lb1uH^oH?30H5tJC_N9;Y32sr!ochw@{`n`&zrK0(duv~2!jp+g z-Vgh{{@LAgGvVCH3yweY*4@>=&tKq{e*{ndtV-N}!eie(%;3K>!LR$*QM5{tq|pskyIc`zRJYimD~}fdRR}8;H|}% zLOx#*1wAZ9j*EtrUQZ9QLZc%blB8hB!)8JpM}=5QQ5_EKa6}xG!`GM%g>VG4e@!7d zw+nY-cB1|<;S4181t-uO!p#5M#02<4Yb0%U+Z{HC)nRckMm3R4G$c|9#^@AXB4vyw z(q^R*N8Is7oN#0saZC(1)(c}~8mnGxhxmM?e~@V)qBqk766#(-I73qRjG(>>1V6Xr z$;Mf!;5SyE_nm4N8Mzx5mON9Df0e1qji*$9Q+J9pI~FYIU3~GXPv=b~Ua{`S^Y1*l zG`BB%BKX6ZppQK0qliV#w;;UCxY9@q7JEh%gO*qzT#Uzq0h%+CT+0zElf9O8$YtXk z3ZkOR=gByoL0@YlF>tDoDHel`$sDOYQR$4T26N#-yj1J*QCPLa71dWne`+Fxki|z? z*qG`F;C}?h0#u-zRuPB$xXs+l+}qs8oPjHjn1H%Aqbu=5Tm3GNLK(ArMe^z;|>u{%zX!>C$Gk)UmIGJ|B z!uZsOaJbext|ei-Br|bMe|-d>POTwgKXeY!$bgPv^a?UE`XJWplAr}IRjh{fI9A<0 z5v{6kk&&0GGZ*M*J|gV`(9$N*(#4>qR`iKB|7-(xaMldZ2f3&}RE))f{+67hDcnRg zWm;Q4S_wzx z3pVpts{nLxHAIfpe-Jsku&Q<37}*%1@_d<}#nUHRk5}ecD%Ls5gO&%C-Nqp+$HYBx z)tZc}N}FPAL!BE?XD14_74rnJS{%)|xvjCeIo}v8n%QuY&pC0(Yc^5z71Qi-?$DN)-5Zz9KO)r zu52R{Xp0|3aoBcpquj+7JeN%V)RzfVk)DeWrEf4wR@Rwwye|5q5HF9`4)m9B1O*wQRKM8Li?;n!J z&x6hV4G75lU~^&gx|Yi`jfS{2VvD#U?tCC0nqp|NHo2PI3`ReqJW{$riSQAMse_1$CEYP_u{`FhQZ znKB`)31JfSoeREt7szcY^);>H&3W5=-AYTbrM+!>w7+{%bZPgc(W|=GY3sW0((dkl zvU^wei!DwEYHK;J<&0Lw5zDk4-`ZWAe^Yp_{8R1OZq^_37Z%4B7jA2PGWST^f!LS1 zFWbz`QxPhR%QA0FsrQ|{^76DCyD!o)kyE>&@W?5d5ORj3GRGB0bj0 zVpo^UkN8Hta5&&2%NhtA_+%Xwe}=tf->?oCqg{IHtglM!A~WrJ!1@22eG7aORrdef zJ9#HfCX-1rlgA{J$K=^2ZIZre1}a5CEj|#6L=X@aaSJ{c@kL!x#K(dn>$0fyx5}=M zRj~yuunOxB6=iq9zpy@cL4SykpD6lAR)wa&duNii6!EjWO76_uygD=If1LY0=X}q} z(y9dJWpRYWH|Gh-Q-=nw1`W{MPG6ACajT zSMH9>*aT_E6r>#jF;A*T@I8m&I|hdY;dLYU{(cFq=P+7_qS1{3xJ3{2E`;-V8_fmQ zEgDwTb*O-Fo013^LT9I7HcUAkBANd9bprcfmCOj5flqelPWdW)e_U2|a4t5X#Y;x0 zJ0MteKHJgx)We9>_>uPz58H_G_1lR(#9QDU&zs(3#4&KpYX}n&Z-f`?$9X1up5Qn0 zdx^bZulIBCskdSZ4@|P=+16qQ(1#qrn9X9LZC;a4UUVrUFfjlFF)(m2w_W)#7Fbvx3)vXMvUbMnu8JxepO~0{iC83&h(^3s zeFOJM9xovL9j{GQ@(h|n+Uk{zd|34Pc;4d`0X`n@@wn^jAZZufuqqX) z6;mmr(WJ78CY>0mulMr2x2~3tNW^a7i%gGnMxKjoi>M<~e{nPxl0yf9-ots|YY-TL#_a|U zx5{Xhh0GkI&1Ngo*l7SD;a>%U;sL=hX=@QklX~3 zl)^bnvOPIH*_m9P+@I7WT~(0eX*Yhkjh=4nv@N$Cv8gOJVB;zquNrhW7GNKoQsO5G zWHk;ce=wrC1S1s2y6kO~RsjppA&UZ;rRwf6u7TXswHK(RPP}RlP?4U^!+ZAJMNe zJr18#KdFD*^oHgQo$hvculhb+muZ=8nf*byMy;#U)af$%W>X`Tp)-y~Ru_i}Q;G`H zVMmH>g4#b?woyHFkFCeP-m#6{!s(u|JWH*ke`|Zp{;|zz^?aTmz#e_HnC zvPoaQ`22C8UH9Ubu(_aotMSDjyt)XMfyJs2+r; zN!d#X5`37pgz_O63bDvph=nZ(e*n8ul?WnIT-C9m5Oz6misPm@&Ql;{4G&4^+J}(8 zh6bYrduSb{3h{s4k-+?892z}M0I00MG7&jk${GX(uzqCZ2O*A6pLu^=&4h`K7Ztw; zrov+rp87>`A2?9F?qrSr^Rn}P5w3UHF1+A|mRXM~I&GD8x{7E7uS?UHeMJwQ5Fr!p2$NtcMPhuqHQQQyR>OqGLTGCEqDUcqL1t2Ra^1xZ z(;8;UHol*B}`mtnV#(Wy3LKRCSFYk(xy5j?VB16X+?hD-$xjnI@YDs!o?V8Y<$jZcus#WRLwd;uACEiMW z*6>66SoT=$4~?GMx`swoHj^fkVgMij5)3dw8ul0+XU^nk;DygabER2T;c{mFE)JE=}C%!Ng+32AuWe;_#vX*qSQ{~!)H z`XOK4#Ip3=Pb;>=?2LWyZN23zvCUQd_W@v*fF0^K?ED zMMD*~5VbrSvUsS)^&43{)bi+cwYYvGi-%fVzmdg5f5)=3m{HTRE z*@0~uvJgIhJRxWTmC2y5il{Alqm=}os=`WNh4sCvN{1X>F&@W}2HzHVBT)&vr3wO_ z2v23g9zp~ne-f{ai#^Ld2#B>IelXu73QylQWlv z1qTZU3v&Hnvs{fN;|)2ZjSO+w2_2rt{8!CRJuzWDU5a-0_)PvS14r@CJ#0vrat2CoZ1&X_ry!ILSK?ks-$ z@y~kCdvZ~67c>;dpKP{XyJhOyT+74X$PS_NrQC%R=ha{MYlJ^HBSgX=>vab4z7!vo zIosWyDP$Hp?sP15Epy-7uzHN)EPvZ*h(+Sb(NB!o=RD;6)~R*lleDq5m}uUSkYb~n zT&zXSe-NO~T$2uxRauI{!ch(wiHQuADx+jti3$3IIEjxmo_N)s}=R0}GyV{tr zR4oQYX>@07acp^PZS1+2I>wECWDD>OV;>(pjDVt2Q>)}c%gNAwt6VgpkdPJHxl?KR zfjOH%F76zW=Tt~_Jd|tZ6?#{hK3n4BjjW{4f7FmG6(mPHf%>r}_dH&8_KZ1CkDlCd z=)d2;9bZ=EnXQjL`a;{-^snEXHtnrv)~i}P`0o6T$EnXdmtR_Qe#U3@cq4aTvSQb= zG=Az+oE4q+(4+IlT+Z8F!86aiW64X{FIbNBx>;V$e<{T+dQ%RkasnP-El##UojQlJ ze>XPHQH#8IE=VKC10prz`atIq}FgQe_p3+ z*H71X>KE&m>(zR$dYIo+kTWb;Y73<%IKv&D|0obH*M`bwrM^_oi>~-!x~uHN$_%X9 z+z3C0?Em8T^PjzO9Pculc*Sd3^U^OaSa!MW+bR>Pmi{r%ADQ{u4e%v7*(H0gWA1tR z>_=zGGv)XTRa$uxphNO#2`!r@f6ivdCuVpbp!RsbXTMJvo*6Hw}9IT2i((}lvz@^waC#!g`)+TUtW-P zr5we;|EE&rSjLZ#qehaSwZZg^R%6P&-em?vdTOZ`BsUAo7HVVI1@R`Kg zS?F-8H7exTMO}BNSkS#HT7S3*h`bh7hlxO}}6Nm3{yz>I$`9uTgtVYL(xGU&45&dx1B{dA%;q>*rVkov^>J_=A+S zt4KeiR;hS9!=N=Je~Ltm!`)98h%j!JkV!D-r;Zc9B%+ zBBJ2J|NMTNSfLRsO!)V=lLUcQxB|hUi(Zgwc5}eT0ZxkNI4N73<+@U6Cm70dk{HQy zqGXBsqSK>`qsyafqr0PDMRn1wa1jE5P6WT54)ivMltK^me^!U&%2^y=$>kDLHb6?Nc7bzP$}7c4A{;9Mx@k$P`9g>t9Pqa>KDYRN8N1k_3 zWr&7D`h`M=5X6ka5%C|JEn~Bdm?Pg_^5thsZuZHhvmUQtJ39a8w$HA9MX{xL!bj#$ z{7Ka^nB@zQsS|IK{}^UPCn8Pj!ue&Gkyg<;&?wXge{-#psol|DHM;&h({x9n>b&|( zO+Rz|tm@MGN2^xU|31)1_X&O3zSf=ePGM(uXX`t}7um1!hg<(id=0*)0xbI28bG&N z>DC|>2vR~eQv-x-ww0!7UdS?nkgW+)G{u7&27nrfa5g1cM1xJFMM3n7t}$Y(m=$wk zQ?*zlfBO624Uz}pbc4>NYl3n3RTgB$*4BJ|eLfhhs*1E?Xin!xt0@rxwaKLRdQA?8 z7vO2DMV(UTkz7qztJSWtHDVCWZj8+FqHn^_8`_c1b$UrJcg9vA%493MvTkzc9A%NI z#awc{dUEF+Wa)CWnZvgnKPk^~=wNWNPy&WBe^@*`e82*TT}Gb5NhJy=l_;E4q5?FZ zr_2=&G?><7JBK1T1y+n$p@!h-&j4Y~X| znSrk*o7tJSTCASDRc*%uWzXZ-l4L_u0*jt(#RJ7!80GWPwgzoqKwGOB`E+2=NtF}Y ze;K0m?G%E^ zg*8E0AZb;pd2A@VA*xf^U{h%57k7vhbq%A2s>K4^0+1K&Ik&1L2b<|}L@e{pLG zs&C+<-qQ93r#TNvi?3O^y9GhW4ORA81v{{plWAn}#M|(x{x@;r4DRc{2rj`F_eSzX zt=x|bOjvkgj2?vXJ^|pUVn4Y`^$B4m+9c6xG=D=7HAdt`e1r5~XEabcngAg^Wk?$) z8b||2U-snibbtQGvU+7X8)_Z%e`i@}4k)2D)dN3l!+(+bbGgVCErZR)e)ypLH?&Cp zk$(ear1gdn$jdc5%D0~=fBVSqRuA#(N@5T5yN2@wo>Py;#H}A>PXo8G@87NZOEE}P z5EUD=7Xzazl~Q`FoLpJ6>iA>wUtaKWT>tJtd4W`~+(Lf)3R&s??LO2`{0#Vv)bH-`~qBaJ|j7guY?E?p- zso<_CVaN!iQ7_;i+x#S%e~dMmOi|`xO7Lp&6BUHtFG$D^Sp<+0@W&05Vi&3=ta!_~#N4!J5IaZdlCbCm)B<xIkDU3ksaTW2l$&Fan@H(98=#?EOlu(Z`+am62*)xTGcj{Me2wKtuA z_7#(-&1^+vB?L02AXT=C$AgvoDba1n=v>16gZ$QZ;f`Q`B2fp5aW za^O6VdtMzx%idwM>>Vue@_woz%7pc%(#?=AoT~?EV>&c0e|k}LcJ#@>y3h+?v+87BL{p3g#QhH9?^#E5yu(+bHe9DCix5Dsgb#sx!jfE zWt_=@6F1k|m=4=T_N&5kBF9{6jf+rje>K#v*j27|_I2pBL6NpvIL0kA z`#FzOiEz3^zakECAoy8@%#@O2!2uo5;wj3Va=P8DGr$`h zfvCPfjFu3{RMhj28dIh|{O{e|O=2^#Hh%VWA5-czxjB-bB2sT%EL_ zbbW9jw^=TOKr7Ng^zSIvgVP62s?!tJJ4#B>Yu3>^Y+{D=Vlxp(et@5e;NX%t@JVk_ z7vctO)Zh{q%xMPQ?HXrUl!q5ytDs_H9{BK@Hy15>^V$!7B_Gd!XVtIXdFNNF-cfyW zfBb4}TYkTD(Se0G?7wj*cu$e!?hiib#*z$W=5Pv0GDrA{J<^p1$7(yQfn(tLa29+O zzG{1edyjsP`@sD_?8m+z92J}=?#aS>e!Tl^-!%7BU#EMX?^gG{?$w^v{0nN!^^Pr` z9pn!BblOSL$urA^TJdfZ%Y9C?-)P zlTaF8YE_jdo^X8p?%8#f4hD&_;ZQeevVvV&`ceY!$Zv&B=*ZKGDg%$6-E?G znd1pJx}ixQk#NU+00*dUyX~~BcC=F}5g+Pxp|RV`I4lKZJKEog$6cH7xakkST(~r2 zXBnOCp(}p25G<1oZAJgMGIEETu{;djplK)RoHur{g4-Z*OYv6Kf2~L|BSZ%9 zQuSD7J_A1x-U@#q91I^9j)pW>#jdWLm70~gvEt^~g3P_KuFNB``!i3+x-(mNGt^;g zFjF=VdbL`o4?u!XRI`4{=|}g{%&)8#{Dy=;tQ57#z0?2=haY0=~0 z>T~+tdbQq_s}j0`D}vp@fAvAtw&3pIf#8v#D#&Hym!2f7vbDh6G;}jCfXpAnCN*EK zTWc6$B!)@xR>D1SlyD6k?TPD<-}PM&uOo1tHK|MEP0WH7E6KxJ_C6LhSr$=g5TwUyolHaV*{Uf6VdY&+J>e>%RNm zc;mkNcEO#$kuApN3&$iciOLN1v(Ji;KCu~qjT-?`obceE|FZJIzx)O1!X%^%S0i1h z2iHiIt6j(aPzCH@w&r@x3h*H829Lw_pcfj}X?~~Opx&r`Rr`*1zf0@VS)H=owlF>h zGSgUwak2qxEF}Y;f8?}uGMP#TVw6F#_Z6UGnjAO}PzruEhNqSAD{j&ItQ5?pCy*mxlec*q48^&EaSd)s4jI2>5 zlP`x`t*15k|0>TMJylLRgMsb1e-FUyPOGcL?nDYnx!h{4eYW@Z}0!-p#G8<-&pBi*#E^~AG;Q%w-NCok_Ly`N{|S_E|%f} zu7;Di^SN2ve|6jvPHU^6rZ5P{YE1emYIVTm@Nlc_2*;AIz&`NcCXc4VWFWv+fKwe1 zxglniO6|9|Gl1c|=Pe%c5vhLpE;Z+m9UkE-62q%>?7^Jv6y|s70>BkFF9zfBdH1uj zGdKQQ%%)RY-+i}u-idF9St^8OuwB|vyp^n%&&*4#f0YsxZX*aO@?uMe2cbL9b(Suo z3v|IQa+Sq=u5P(*t?p^h7LVGabK`Wa2Whj~sOtmIYyg8me7{nu0!HP8C9_fEx{&kJ zHnU?Tk5g#VB`bs^$@@$dey_J(1ymfr1#ARw66{cVM=p6Nr_lNj=8yFc)raAJF=zqA zXFhnw!;ALRHGj1^xc}zciWQhh2FFdAGU~$OxAFzhU$q3Eeg6qr^JiVPqS7ZT{=JtY zE#HRj>q?~MIoP+Eh#@g{RODm00*^7tTdAEk<}bJX&IWg6L7a()t77qNG}jQyheyTo z*}2TzpmB~31Z}l8m|)st?}p#aei8m6dpvwRt7{B5W`E~~=H{Meo(^h4xnPh`%(!vT zhI_EmZy}r`Y8*nqWq=@Io#bVRKv6vVRB*UR_DCEy&nOrU#WNfs}PXrl) z2oknjh<{NBL7>Uwu{XIjVpB5HR9Tr!LSqwcC3H;y8W`+C>pO!W_?vKOQf>?ACcVhU3y6A{rWW8!RwGl&(&@Pj}To-NPLL!j(?T` zR}{*5AsqZJ#k}Pbi4v>P*|1bqrNk0#1ABYkV^R|6t`Y4r30IEQfH-AY)z_j8>i!;QZq-XYmzq zS${&-l?rS)E-m(fwU^37i6eNnsrV51dGYRHuHz3NiOq-HCFRRv$6(;{TBK21kw!5{ zqgbLKWoO#2wcl<>;KMWpV@8A$r(lFgv-VY1Yk(yXFeHHAN>T09Hj1P;Zn!m+Tb7>Q z3ZB*i-hZQWXKU08aAE)Xwx=r@hXjuGQ9f#%jlUCTZ1aUEL^IKle9+#peb6SNxIEU(-w2U9`?yVfe26m7--`I0UsX-*QS-p43&YIwtrM6 zlTHO{+ax@B+5T40+Lmu^mGXhgl!h0pDx+SH2594TQWMdpi3_Al(CbNUU2SbRY&TSx z{Z5DE%cUJ%4(K=`dU=0D#K&Tn2*ndEM9QCU!GSEIWn0Vc7P5sK7k`Ew7Bj)W?9n{9 z87xvO6)lxnB6I`sA5@zaPAwiOYk!RfTVWYYj06=WRN;@tSk7Qlsg2>7D&hlb4QFur zKvW&~0oLU5DP0k8+bFr=SfPO6hI^=}(lGEPp+XPszmhUun%>rRGNUEd^`-Pj8xK3ubMY{rci%v5pViw7g5soOJEjwzjcNXHV_lDF4pDL(+v~FYA9x-oL+f zvNtwcIT&(Akd)6uQa%|;c|BMv)$P;l)4?5@9Xj}!u1C|OBNu49v~ZSowr;kYT;pD+ zfj9Yj!3Icrd~;gBva-12j2M5< zS^ZxPq1%p|TJPxpdW3)=40!**epNG)5F_CPXG-<7L*-zc4)S&Ix^W+TU;TIOKBML; z?Uhz|8N5t&rS3|@+<%IB*2`>joI1NeS_D05)N4%wA$Km|^77W~l($laJ-40!6pd>fnv;zbIZU-XvO`gw}Q9wL;hp|FQYQa)#$(l5Pu9FtT?=Bv+#K%g9e=e z4O%={aRWs!LVQ}rNTVmw;9#uI76uPC1}6{u26jj^+A$aqSkvJ_PBeisDScSuK^(g+ z$7hB|xtfcIU*1vt63{zd2DV8bc6Wb>AKZDlugg;z=^Z&cH*#F{( z_bPd~&S4?-N8bAN>b-kcKeU&ex%%R1*X_P$V{zbxqDEmYB3#iV1EMSM-@RwW{d;yR zozGQM$$y2>0^NW;00Y+YNK+Mf5WISDHs`T94xL`*xO)zT3V9K8t{{B(A60ejzxO$3P9`&xWHK|EnM__MlgT8IWF{m50)sF@L{tKZfbjt(kYIu#i6I~; zMYMh_mnxz~ipb9&wG@@o$i+tyQG1ahwfxXaDSzcsew0#5sn@FYQc9^L_q*3QlT5;+ zY9IEGWPjG$Yp=cbd#!!;-q~|bM|5K01p39gzsQ>GvRN&OW>Z2EcQRM9-4e);up-qm z%8rQ>>vpkx&#fKF(9~(u*&w^v1o0Mg06w|Melg%bYf0 zv48hD^3-9U^)l}jCrk`qsxf>oJ6*|cM`rA4Ym88@*A!gtuuhUTe&?DS?oW4GlAU=K z=|i7-leg0{Z=Trk{e*r%B+ojydTPDTi5+>KujYH56*M%CRFAaNcox1ZzMlkZs^Wi$ zE_aQ}yjpUMXScA%sx8`LV}H&=?n5JgG5WuqCo4{m{?vJ<;@oJ5)v3Bo zBNIpGIMdu|BQr*S!~aCZYbn;7owrstR?dywQ@J$qZ5;3h%1zB3W7*CJza(oR9@@^=M1M1b zLvnLjBw^~X+=4IJJtDK`43J(2t6%k~#C)8HC2GV4R4Ha>uRRSRpeivPSGh0&SGllV z&J_8eXN1rX#6!p>P~3EkC&8s&(j;DP9Cv*={!3u)o);e%1Ovu9M&%{?&VNVz52$kT z*B_Y>8C&|$3stpW+5h(2_nFi5?|-Fx@}6wjxZ%dhoo_E6fAE_fa#0pEbyc>{oj#(V za#+#e5rvs4PH*0lad$pj?{_8pvcC`YO$+6ej=HC6LO85dG>mAvPwY@0$CEiCe%Hu; z91Z*>gC}M9GNg@`mo2+2KYz8Hw3rqqKa~7L@}}fH)8?sCBf|H zc2{CrYKlG8;WDM$25jfwiKb>p0)d1G=S;QbrdwUhmF@ibsH?cxoTvqJ_pnTRrk2^7 z`DUgGPmABYSRytB;!87hB!4FMk`wXsQ~jT67rnVjKa2NeSgclGVt)>^WY}_;eil#v z+MLc~7M|+r`|ph4;NEBR?lde7>6gr%l?(2gx@V{>$?i?k{&d$jJLszIQ(`dWS;Dw4 z{O5JE%C#i%)rs8d6$_-WVA5NEL_gk!e!NAV#R@PJ+bqhpOE7&;)c@La8@2GLm~6FPN3IU1 zc-yX1NzGvn)us2mZiY_73}0tyFh4gQoQ|#&#($USvOqyx_kYva4DAWV?g~7#W$(Sw zoAgtIh6(@gdo&Cm(USAt^EGaT=BC`u_UT_5!ZG;H)?fCk#Op$)E83a)E#^-bMnM!Qq;jq9W9Ox z*zPNi*ZB+3nS7pW-26N<{jO7V=lS<6?%w*S5m&tK+<*7-<|S@wUgG8^eIhUKq647v zz8q=m%Fbt}(Gdx~SMD3UBAnOhG(ag# zEAUh*m49jDlyPY{D>u7p(rVIc3g_@Um4>uCJa?quQFyPiC~d8Kjc1eeJ>|Ky4W5^! z*OcvPTRlHW|3Tr8-EVt-;Xdg3o%^Jx$m-5;7fD6#BG1>;zh1b-{hE7^X^-ou`!ql8 zIVb(aea@4r-#1CNcV9TsZ#;KIi(3Pn1++jkAb)=>s11Sl0&;6$SwIq3prt_INxJ{+ zH|{@oL5gXwFEI z8h^3nYFbi~O>OaV?_23y{L3}SzL_2^9h@F5EUHM4<`)2EWdo)AfKpN`(j(ECg}m@J z{w!U9{zlZ}o+?EL4XcoZoFwF=s6Dkp+RmSiCYiLEX*}&Mm-0wS~9)PPp|=T7ISv`^zLW(@5P^=VQ>6^CAJ6g6&^wCP{F8MOcmRC=p}8;x>0uVkA)0z z?KwBsZL^t}n~ST@>rzZDPz~QTWr%+(+NHnyCmtn@02#b+6)M$}U~ zctZEbfnp2clie@Uj=KRpU0ih**P!XTv$&A|d$0Xu?EbUi`QaiRI_i;g_upAhFD@Q-cF7%}pqE78$B`w(%7y14riwFSxS+2ZDMwzx^{?@rZy z4O)Nnzntn#N~tK{-gSB#eB*68^#20mhV+SOqQg2WHQVYKRW3fCay^Jti`z3Y6_3o3 zW3JA2jN$@~8Jd|oiVHMmXn%$s6wnxPot6ufYsu0^R-^!xxzaO6+QquNOf0nFI}Cr! z_O9J8+Fjz5baylfMBWIXT!Ak8(|xfR=lU;hu5{(vc(4Cuu3W2m(guEi(3RrL>HI_( z#Wy-%?RvZoQwR+oy+~NroQgn;osx`xjz}E=_qrgmO1q`O?FaJxO*{^ z;m=-{&9k5MXJ`BU8Grt~qCw*SgP~H|8+xMFvQTJHnZKyanW$eFGnt;$uZtyeCSF&9 zM~5Sn?Mq5?)1Cdh_|1IsUB-=myDN0zgRhb9(N9%*0_J8% zQd%NS&J(47*MC(A%Jr8Y#mfRfqU2TGRn{i3pf`3f;ElXm#ucD92qe)iAD_9`GoStmlx*t&;`PgprN_8& z0Pa;f&VPShWN2E9=|hahYkaHXlzz$b+2ZK+`Q~8afNc4ethx5J_E!UnIh|X~Svhu- z?9R%tnN>@UEjK4C>o$woWwDsqf!y2F4(9>eZ5b^xPmx<>N%j@E(}UgLSA`XXt1p~6 zbK#`;`jGw&UAq5m7=rOWG~VkxEFtc*a^1hE27f94x82)uUCHfJhefkoVe2SuSb4*Pi$7@<~JdcGtDJ7Eh`@ck-x$Vbinb?{ zg#+MD3<$v0!redM{(<)uO(-@MzgRLk#6pL|zbqYJ`jfKuvUe)38a!c0=8*G4&JTTS zSjMn7hu4cm1y4^}BxeWjQAPhD&cS@kLzmHq7#V!5z%I%yNFIS`cS9!KGbQw4|Q7aL!DOQWb{7NX}u41TJJ-h*85PW^*+>T zy$=O#iL1X=)GZ-}Xj>dVSCkHLd?~y2~J~^!Mg+L+u3{y)x)oc^g`e|NPmhP79iY6 zT#ZeDe>eO_lCK4{Q{Hvp&x7B_?gX!e&G`cL61g^0j(WPO2sI)kYND~5K-E%6FS!}q zFy)|8-VH_#XH$)vsa}mF9in#K0d5o3uy1{aU#6AAsTbOiL#%#-k=GzNjTIu7MwHct znEBM+b~b=byQF+spZxXQCx4+u)##&fh`XEWC0cm{;@aVwNb(j+r%}%?hQEMDNADqh z1m;jl?bIV8+)C-@QNP7{ZWg7D_3Aa~*YOyCJ#AZDOe?jf4yDYd9QDz-o64FEeCcxa zu#laNS}!0?s3X}H;5v$LrJi5hJ#KngjYbZ$jlAj!3+>b{YPpbTB7dq7=?1_T`ZlY( ztV`9a`J%i(doT6mUPn3I0bUzvlde~@yS4Vxt?$v~-t~&a^?_)K-j;SMFJ=!Sf4!}B zq#L5;Eo5VtZmHhWwY_?^-mr_l)**Ve9dZjOrKs&fYE6B2K0>ky5?36f=e4rZ(n@Vg zL%mkr(%jO%xV2sz(|^*|+R|3r-q_L{(ynf5(k3_F(a=6$n_NG?zHMQBU1&_pg0{x` zHf=)v-CE;(tyXJqtF5b_SKD@{)-va^d1;N!T07#VHaE7{*J(Gk*S6OqadTa`rA=!= zOq({lWkGX0vYsEBTz|)crrNexKEvaR9KNu=ZNA8FaA?pVt$(n(adunF{FXWG1E%%x z%M5vlPr9jk%D9%hYuoCy8|vHJo9f$cX<4Ant6i)um|u?yp#gJRn%lM7`C4mz+q}kh zQMp-*sjAmZ9e*`q+bGc5)>5}%cDrcC-3^Vi8{*Q!Z)~33w4e@2+gr4{#`&#HC;)9k zszwORhE#oXdw)pNVuiOfH!ao*8wY6h^Ja-uJ$W_9q%T<|60d7)zC&xPpO3zpExIssz^ZfdEGFBFxo)vJm=?jDYo1?{a1+O@j+g^jc8 zg-k|6P7veiQJj zyhGj+mzR)k><<5m@~-byR(-GBC_g1z8Km5xT&r9KJPgvcFbZLA`a`0DZ{^>{dQD6M zS3|zdc)Zlc){OY;%)?C1y4P~?e=-v*r2ykyv{nK~ymYRL)^;<157B$RevY`q(!-2P zk4R54S$|q5tpoj(^c3jz(t6PUM|v9c|CK%l{RinB=s(LQ#${DbV6tqM&7c!ytg>W_ zYy+Jnr!q-)$Zl{vvIiWm>;s)4XMoO>GeKv`LqHFe$3pU2`37*t%lCp_B7YV9rSg5C zm&s>9|55%F^aTa&QMe+0hc1g1onjH|D$S$1z#GPQ4!V4eCvxr>IjvPgQF` z-+!WF4Xie*bD5;xsbW2*HmOaZ=c)5RH>(Rl->u#anMLX%a2Bh}K;N%E0RGq1M?tSr zzXkqU^E+6v{lxq`CY#^4CNXYJwxZ9i9xLi&Ewl~v+)BR;(ngldO|K-)OxN^knNzpr=@G0e^j~?FOv;#@niyWSd}n0otM%nkK*kb2-T5 z+P2zR%+*jotBsX4)wVaYk%-|_Cs%3A#TYbC(sh+6k%P!Xgt%C}GHLvjaT;?^o>;B1 zOyaX%*d!)trV$=UxMJR&^X_D~5}wt)canNhsaV;oSjC&MVz)3W^gf9tvlNt<%6}Zp ziJGO6706T@-OonN$HD}s!8Yc=%oehx>>;+2tzl2IE$j`pj~!#D*oW*axA9_L!AI~a zKAunExAQvQr1uIRf_ymqb0{CaO+zi18h`Gasa02|O&Uef- z`~$l0+Cg%Pr^&O-v)c0^1bit)Z;U@X6(*5obf>> z%XI1aWUbcy>}9&2b1O-jwF+&VHbZOIR%jcvSG0Y^O$zJ`ycakbIG1nB*YYd!$K~Ii z-fXS=N5ci_Y0bIf51JuKX9uqSNw+I?;%a##hvhlY=7Bb%Kz~W zWu?&U#c19#(~M=oEahZYnt_rO6+2D`?6{CQ$%0+5-H9wioeT@sV7t?pU#)=!2ViGu zEFV@fjg?qyU@N7JCsrjsBlbv`Rm&JF9t(hlh4#ar45$Hp5I*MJ;yS=Wz;eJFjFn<0 z3>^X8YQzs0pM^94d)xBS@PC&8RsvQ79ssNZYyfOB{4IcOfbGcZIQ-oJ%nqSb@ZW>~ z0rGhcFb*&QfM-TIcI)Lc;m-jy0XhIL0d@d>2-qWK6x%|DB~ORv6bC{ff`OrE@xX9f z@#s)pcu{z1i8*w>_*m$Ci7zxmKyg#(f#R72tBYrbA1r<;^oD?vvVYKr1j(Tp;T5`U zNf2-aU>QO{@M!Yc{dK+hpqS$qJnG_-}_!O)hHSKvQ~ zx;2N8*#?U)q zzQrR#W5YY*#;xx-im}(ne=f@XA;x?%!IV&Icn`vTj*@+jlvrMo8sl6v+?qqNPY!$N5HDkHUqX3tT12=;?_{S&R-we5AF0Cr_71pg$$O?LGb{NhijVPC^$iihmz8<`kM6f)r1B+^x@MorXT2A?Q1=#Pob5 z!Y2_19ey9-Duh24@nKd{7Cu{&9JYm5gg+(ONkPiYx!ZAkHR;f|75!b3{-!`~bp(G!pPm-qD4(Q#=g+1m&98xXVk58!`7b8=mH73va`I~9r|ehTDng+H_8 z9Qsc{rw(zt^-h~p9Ftecfa?2MtrKgOqy7Kj6`I66(nr|CGVDDOlFP9Jb<6i-kLklM z??$##nS#CEDpRrPJ8ZRSlj(VGGj*7DbGvDeX%8B)AKyEl8mTw+BxL-=MS|!GHIIXA#>O+!#C<+zje`a9!|F@C2x{!BxQ@2G@Z4 zB=`_g?+3LSd2b0~Zyj8LlpVnxpq2$2f@_1#pcV#aAoZqyxNgdH&cW0c?EcNP=e9#f z9DE6ON;bBG6)~3c2>><7>10g9zE#7xYZ!A4`l3NcG>mcH3HX_MTn^U$Ie#DMph3Ta zAHo-J7=Vsw&>aoBqd~7U=!!Pk@S$TG^hSf;XwVZ4`l3Ns3b0=Yo&lT(jV)|}3V@zr zL|DPC0PG_Qu#dprj}^4BqWq2doAbBkzmmT*e^>tA{Qda{^N-{o&p(y_0q`sNp9B{| z;#_`b{>GppFrYJkYtRz32Y=mwcY;fT4+NJ7S7LP51>eKy9Sxoco<={VVieF1(i!QG zOp^YD5m9JFR2mU8M#RAqX+$hEA}KT?b{dgXjK~D$r4h+gr(s00F%}M%V|8If0yH8) z8j%72#F9AdrGZ9yAWJ}R!xA;@?lkP`H0nbu#pADpN?`Ojf7W$<)s+Jq|l_?eDPbPL>{#o^|5*Qc;K}})+>QPj z{yP6$f2)6?e@X8C-2MIsa<}@I=Wd1T^sn>R_*eQjKyq^KM!2my`1QZ|9DDMs6M2c8 z;__LI_!>};gY$TACr&#g%sNb!Hb}3dFaAUN5zCg|mQJxe^?x4q9yUfiAy}0)#~NhU z&{?f`Lz%-kX>)g{SCAf01!RLv>h-yc4BorDsux z?@M@!NiRq*Ab9RAYAf;=uFX zVbwVs;5Gra5T(0#`ch%xw)Np}yM&Bz+b_fayzWYM>|4Lf)#Xz4+4TAAf)TKg6*96y zPF5(96{=)~X0pOWvO+6ap^dCC30C+!mhzdkm`h`&$A6*AHmm`BjAdcYi34^CxE%j- zvhjIIxyQ+`&U*MFw;3)*Z-u*9;^C~v;U3OlE->xZeC-S^K-`y;&c` z#e71Xb63bSzE=CQI)M)o{@dM^TdlWOFY!pPnmpX6jq$DfyzTm%otQ7WpC8}C-18)! zA{O&c%zr*+X)>0a&ZEBRz85&dwv`>Xs8T@Kdlgtn&2oskCe= zP2ANnlMOPmL4|BkB^yj28%!h{w2%#2=}DOMcYn@F^ai8eFi~&hf5|zCeii>K!0f~h zQXhJWCvL2X|2cH_@VKgv6VHs}Wz#5eUJ=I|qK^|FAIF4SsM#Z^*<+|5r<$o$UczNl$kIw_mC+WN>Zx3Ij6RR- zm49n;sT7~B<-)?&u?J~9b<0VoQP*vb!}?-832VQ#G@kKt&*-Dcwi~>^pIu$qe&b^= zZvAJA6>U0b=)B%0AMrk6M@i@7c-+Fy#PyNRt1xsvo;Tjm`FP%3L+4|>f2_v;{dD$k zv!{PmjpytYwvX20Vsw}ndu=cF+G%gFYJbiZ2qbFr)b>?^9i)>x8~o1_nB9P zY#ZCrvrlni)#h2ks-1`6jtcCVLUgxp#2k$a^>ICtuF*QgrR$E5%kSd6;yA7yy`8X8 z^UuvkzGw>_odnhHrEm|zEp5CBm+E|Kf~AaVuaVmb0xDRaj^q_ zpcl7UYT)M>eUT!Ldr;ah%|LisJXanrS4d)=745~{Ag_}LB0MmTD=AD~6*t3W#I?;K zJtKVwZTqgY3A66=((|zEEz%b3Re!fiTha3E(sq`Bmj4GcOS{qjMCo1WJq@S`R z>1Wc{@^F(+zP4Rd0iHIJoP^R4+b@>iNQ{<(D#JNHKj zKlUY-{p6QY_G4dS*^hsTWv~7c%YNcZEc;2Coyx>K#ACPBGKn`3a~5YG_kZH~Y2R?P z7thDVDspcxo`c&EdZ`!B!o}^T4ZV00`xK#v<9XN%o{3x6Wg6?c58~E!I`4gUGHzX` z^G?wEZ$vNN5!w?K_Tn9&b%d*%CuVXn<1ku>a9W2*v<{K64mpO^@Nuk05_(xkx5k=} z_R?N~zZu8Z>4QC5Ce}FJqksNL9Q{}i9WP^~eIhPTo&Nv5v`4h7koke#;$|SVEUQNj ztq^kCn0_|OnT46K>bG=i^A)TkTq1{-XGoGB> z4IZW;e1E86Foo8m%meMcL9s5#C|HAI?w#WLctAEcE+)a8vmSMDQ zAwUIViLI9go5i4Odcfvp)#kBZ+}YUQlKQW?FSxJ&LN=Aq!Fa;bZV=(V(3?N=Vi~iq zM;3GpV!Ueg=)bT#VZgtb`={HKxbJ*EZZ9GJJ7?}}y>K$#eU7KDSYdFoQt=$y+f^BR zu1U3~G{V`yb%f`eN`Hyw#4iM%OZ*z~i(JXCR1?1dxY0BlII7eFzoLvMeu_w|+z5QT zGMQq9%sh&{O<7H`f*z{eM)XNRQ~r}l@-{0PiNOmw1rMsuY+ccPVFyUPPE`NTu%*X{9R4 zze=Q)s%R{#DD82QTt#%Tf!7mXLFH?}8sU3PCxFkHz5~3~bOAln zYJz@9D?~rb2Y=OKfki)qUM2W~gILk?W@`0L!Yin5D|DLbwt{+Kh4dWt%uMPHs;A)a zRdOrUc{kAqiQY=IP1K)ciYd3RbPXabbgZpw81TZbn}8d-#JErHdLH=0uBXI^3r&_* zUpOLYf!X;^aV~qFG<+}7dppJYZ;il`L-2Wr;7g9qSAPhf7Gr8~M6KE`KudYDh~;f0 zpWN9>c%Kab1E~Xszk>vH%KWBsO9Ge7Z^2Qv3(QzPRs^1#Q7uPHz{o!(cdThU&L8Lw7whE_jS(_-bVOc!Usrl z72)H=SwooimE248`-EQm$PULH-hxd?mS9DE7s_g=UKZ*D*K`VO&t@?@c zhJTn7gbdrGU{@w(Uf4tQc#&4n$N_s>=~rqE;i$l3WM#LQA!SYc-VC@#O{gXlJ4y#dZXwonqelWO9UsuLo>XXd8*W85t~p${PzeGt?r}wa1qg~C^ynB%Av~O z9Hm&w^MZKF)OFqoyzYXSR~KIRfq2SX_+bCVB>S(lhA$^lTC~{+Q{1sXOzy z9J>GipX)l;nU+c0l~lAR(Kc6m6e;brOB?MfttusZsR)I%sFW5FvP6g^5fWurb|q`s zcfxPxM0fXn`+Pp%?;oGv{rK{Dyytyp&b((jbDpnr&di*-==PJn^hYsmwK(r_WPek< z?*<%yHnWweWFinuv;=Gq5Xns2ht~&T--Rh*whL0it=lCW|0cFA_=xYZZDh7GZ%MEd z5Oe0z8MfzfYsF=>3v^%wJHfP5v}MMA zudpVp!Euf_$bG) zrF#oMW_^FkSRAJn+a_#Z0Jmo<%Y~MWYHspfu%6u z1_nmPfOu>dV7n|RA}j=~oE;YB53;b$35yDg2Zh*{hQ&okfUVe8(;5B2K5XkEq5~tq zF>IT$ZH){L3Ii9hy&lWNynl^tH~!n%gO-iwECSp+WGotD`G#1|5K9iR@Ml>9+{0un zF~su!w8C@=r~)lu@Y`9B1N+7NTqX?6;{$63daW!U+6vIigrCcG154uaz*10y&QC9g zogUavxbNre$K3<##eU946#F?(P;3!1rUNV?2OK}1d1nxC_=Na|@qY>PiQs2TpBZ&$ z$+Hyj%)t|M6e*wtH0ZN819rfTK4XRw4isnJ)Wn|kpl37a*$#SkgPuM12>OT;Kn5t# zWuk$jyv7mU;Jx4CJ>TKI-s3$!Fkil*Ync>XiYkyENw7b`5qK{dyq6@-FU{m3! z4##mM@V?Ab!`Jjt0e|F!e1H$XiOG*gosd{YEM?;w3kN>_BM1d?A6f{P1DyjtB_!Ym zCI=x&NYWU{5cG(WdHJ>CAu>j$Xfm=yw#XSxL(`Ebnu+{TFbYGFC>qU0acCY&L`i5NT8x&WWV9Tmp%o|t ztwxz>E!u$cQ4!jVD$q8x2kl3PP(5lyP3R;#g<4P>x`eKw8|V(|LJ!eX^c=lL@6l)U zjbIUo5FmyTVt>SNLY`10l!?*A7-B4;PG}O^1dq@s42cPZDKUxgB4!Z*L?|gm%8;W- zAJUHuB16dtGKP#N=aY-bWn?OuPOc)e$ZRr?EF??Fa&jxVgWOH-BM*{C$YbOQvYBL_ zcveAKC`(@rc_>d`4P~ed*l-LSLthPbs7}`+O{fVF|);Oa}aLIb03| zU>ZyVf^Y>~0Z5nuGw9lo2{XYkxE8Jj!f*q9HAP@9%mt#b02Tl-SPYASI4px@fD0>O zC6IvI;dU?_?u0vmB-{mefe~;I+ykUw4Xgpu@BlmjWZ+?V7>tAsumOyMO|S{b!c&kQ z)xxvzEPs%PZLkd}z)SEFP=wduHJ}7(9Q1T;8q95`_+LiB&2jVOAQN+BJj19(Ue=>Z*N zfDC{xGD1c`51AknppVRu88ARo&=g>ZY>*8wLVr`yRA7vp=$_Ab2aY=_nmIpp|GPa73%nD&U0H&@HJm z%6~#xzy)QaY~YIWP#$nYg{TlrM6sUVqUezHsyoy#o>G6Z!-qQ9tSjQ3NCG(FBL! zfEa?G;0JRFAwmem5~74Ch$AEj3Bb%tkpuGx1wsKN5K45fGLcXrRKR>fl~4sqgc_j+ z77*izabO{#LHGR@5n6;6SWHj^1(pzcgdSK*7!U?v88Mz150VKJ!UUuc6N!mnIe+0v zc!E@7CNUGF5&ncfNGC#w5U_$AL5=_`Noi6VWRS9?ELcT)lipx8=}Y>8HDn+e2r|hK zG6ZCi;bb^iOGcB?U>zAp#)0)@BAE!X$%W)Xuz_4kE(JN{a&kGyCDX_>kVj^a86cm` zBs0NAay_{o6p*=OE+`}m$O2GA7Jrk)U=vwJmVsijlB@(JHo31||sK!4WA9=Re% zGy{1fUlfQ!P&itTa!~;)MrCL_szC?PVbnm!P(^3ZIdlPCK^^E8x`!U1$EX**L~qeY z^cDSpPY4n!5nMu=&>?&XKO%^fBWIBT~Baf2DN#-5waDS|104o^_D;XPW7{nUJ!5W6JRuNdG_^>|lV|^09`Xq?; ziNyLOgmq{b)*)f6Ln2s*M6nKuVI303I>f~~B!P8kIMyLatV1KP4oP7hlEykDgLP;m z)}c{Ydt|Zp$YJe~$GW0`bwv^DiW1fpWvnYISXV}4T~WolG6w648h_T6u~=8eVO>$j zx}t%J*TlqYVdAwh@f0SWhgsLbtm|Ud^)T!Dm~{h8xgn<92vcs1DIbq1pMWVh!IYa~ z$|qvVCt=FXFy)gm<>r`j3rzVGOt~ed+zL}}jVZUmeA{Ba?J(c=xDPNDlR6Ev=zv*t z#4I{t@|-bwE|@%5On;smCT}_>&mEID1C!^0$@9eId12bTF>OAWwwai=S(r9oOq(C3 z%^%YifN2ZFv;|?>f-!BgF>N83wopu47$$5ET?_j_98`p(;aI2*b>UmM8m@==un2C3 z6>uBe4-dh5*a%O;Gw>X|0I$FfcnjWx58z{_R&ZS4TaF9I9e=Jy}JgEpc~sFYUiDzq2XqB?Yx-scJ&jZULh)Q&Er>*yxBi@MPx^bEZ~ zZ_o$y1$~E)(Re}-DiY#^6rqF6Y0sPRB?8f9awIvE^e2PKFfx*yOU@&c$i?Ieay7Y@ z+(71&MdW6(f`8mb?j-k+`^iIOJ=sW}q5syn|6{~4ZN4n#P7ZS?kGWI8t-2znPYKhf zjOkOs^o_>!sbc!ZVEWWBePc0w<1l^dm_7|mpC+bH3)82K>7y`xJWQVsrcW2Qw|baC zeaxT%X3!8bXoMLw#_jEROyUGgq6sF^6q7g+lQ;>JXn%%DoQz2{$0S-{5~pAiEis8! zm_%z#q75d|7L#a)Nwmi#PQ~r*G|Zy|=Ft)J=!AK6#yq;6lG-%;pT- zPI_QMJu#tPm{4y_s1GJ|CMI+iCe#-b>W2yS$Aku8LIW|OL732BOz3P(Xb2`W6cZYT z37vxp4S&akMqolCF`-eI&}d9(3?_6gCNvhmT`fe9aQr|ys0IhYanK5`g1g`ecmw+B z5zEi<4;Tk1dL(87>9Gzy*7!);E8$n#W)aD>l_SCc8)*{ZwACgeY0LXfgbz5v zCmi7mj?j-Iq~Hj1aD)gPAqq#JM{qkv3Kvh0 zrB@D?-A&NLOu=GFu;f^3EFG2!%ZlZM-;CpsYV^3U0DEHxy>Y)hb{p+ sTLcVW=G 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 {wCBLXf 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�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�QfGDux{)gomA^nLDv_gm}UT zbcXVdZy(9*V*|q!;iyga5@dY5+k~i)Fv!%^HX;K5&1Ds7hfQea-6g5!;mB8V@N41deg&V1XDv z#k6eKBw8*SrN8n>G1nBfUiGvK-ns)VygeV^Y}RfR!~uRkdy}vdnzB(+#={Xc$|6Es z63t7xGvWSUKQ*jNrvxR`%?in(cWCnXMOo%sSs{kC?D+C|D+1v|?`)h-!MjXGfwE2W*1$!zEYJ$mKi4q<~#UZ3hltMsa%M3G2gE$yJs z(%9;@lw+}Ju)FF^?>~8kCX)hNCvc+n^C#QlB{hH&p6XdirCsI%8#(^s8p%z`E9mia zOHnc-6!o`A*~(1ztg%d4e@a^43{?^?7v`VC8;dly6h9=`FY2FE^Wv5Bi%J@XD&uSl zm~+N(G2JBa!V4@0kZW0(lhIOM-J@9UVbJD>cX=Vk*n|6nEUs%9uANU zVozYR_FM3pP2EY z>ZhBocmLM54_`m{Yvy!^eu>rJfkHmZ3^xbH{b->UD5}3xEJMlsF^{7Nj!M9w*_Bda z_xK&LN$wnwu|D_)>aM4x_SB!?@Vs)T-xq&sE|qV3d#UYy4i3v~(6M_yq+Uit#ffe{ zZfvS*_bBG=-LS$x(sG*Kc#(r{D&GyAG)Z>Dv2F93&Nc7!x|xcK%kgrXJv~6F&u{{+ zE9P-$&>PG-&s#5(tcOu%;u!deS(ynWs3?F8gGw zKN>6R7RE!VkrL(7)jLZ|?VOxyJHZus4FVn^WswX*`t!21qgGjzmOD#ZJ>MMmSW0W*HpN(J$s@Yu@# z$qEWA_%&bds-qqX71Xn@It1AN$zB}5!Bw45jGUd?dc!}`8Hjl0z&+h+F8<+3inR3lp=xbv?{7zSFx49>Y z2X{t%Bf~8b)jvP@SAfC`F;!}Bnoep@`6SWx31{6Vw4+{z%J;oKGo5*3>akBPPcMA7 z)G7%*slJl2DFygAcFcNsCd4|}^&B6G#teD+T3tc|IJh**=Kb0&!m&BDoLY9ax+yx* zIeYA$=`md%L1JxtiesKd#gT2WLQCEuv$l5P=RvVkxSzxI7~$5R6@P1sV!v6E&9#kz zQvWqAR|R{Eqz9hfy~D-E?Z@fgl$nCQ)YL6h&{s?8k_8-v6|BOhkFmi^Dn%fJCuOB6 z%w^jkE>4<<(>|?lTHZZGiJxvFHUys!=h<6SpW}Zw`2tW_ZQ$($tX%IK7%?DiYzJmX zpWU3tcA?XK2t+KHo{&K}$l<7A)}xc93gM`rXpo?sn`2qm)oLxCF;7@yjb{Bjy1q1B zehtGt2kf}a?YKLiz!qqdE_CM9(kv9HT65)oFNq_*k~w@Z^D+`?TwB(SJ^JT}u9S6F z%qUO4?reCu+MupoVcm$jWyeD%*!IVZbg#QZyY34MnsZ<5<&Xy;>l%t5`_lU@{<-&O zwWV!&Mje47oR2bD1|KGyLcpr3EsMu8(s7EbIv&t%?G>NSu-`A+4EqnQPMmd+ zfw$D`5ebZWx`pZFX?TJabd159xV zfncT_zve+Z8L9oaBPIIy0Ikeh2VK?66C4SeKOJ;WOQ3WtFKhHAg|-9pIa)IQXXf~G z%^Fy%!efp=Svju7%ew>IIrE_{%q(f+aV!1KPDWc_50Ir_EYT`=8S*;sfI+t@AFEpY z>6`|afrLmZ8Xs4w>rG3e&*B=LF8H&LK#w87o%@(_UGA>X?iE$ zgr$6Mjsu%iS89rL6aO!@Qn5)CD~n7$OPm=JB?}Qf;SUjued8|-&{c)LMtVr=0NE-r z_@Qt1m^!zEx!Zq_DOGMjR$awZ+Z<51|2Lv;d=WQat1oqubn0oZkWYMNhHdqCNe%{| zR9W$`O5G;#Kg|=3!X>JZ;@KzDGsBrW4)SIu&g;5Ne)F(W*AcN3A9$G!x{FW|z!(`o z|FxL=Pd<;BRS31K?t3OY;(#y#zCBG5dlO61>KdvA3vM1bS$8S*j=JnM?I(p$M&2cz=systV6k#Wb5#TV4k7c8=!dpSbSgW~3^U#a6(4veG?j4$1<6gxe(bnKjs z_9Qy*>r=*bxko|^9BcZp_nYz)3;1zb_i-5XnN*9Z*M;*L&sKEPm8muXk0?pTP_cq9 zmZ~FDTZwLGv5Z>a@{*nXrTT&#=Gnb+>|`w_+THl76c>M%SjS)ikO&`hE(*aR|fBS6)Ci2bDCVp;o=c zqoBalw&K#k)WP)jr^7RVL;opR6UhNwoIN?Kku*XJCp>N?ljM^z zrDn1v;p)}zs12b;L`6zKuu0;}ibP{B6zBg?Qa-JacO?%^3p8#w+@^ONb##S3RQ?qtB03dnpC??LUoP!iiPs()9CjZQIX4yKl8bE_(r%%wIXPh`un6= zBFw$0Pe5FxYjQfq1s`|xgVdE%2g6aw;KS3v+`Lp~VVU$U$LGNam0%6-+Q|EuA~!G2=@Dm0E&+31ET@%p5@(W)<&Jt!Emz~N zxPG;b2_=9_6iL0PF%isp^_>m$K-)#rVTeFA5KZ;7Z84eX^S6zTzui*zdq$WD(clv_ zX{qnOKDQvI_;H<=9f2l|p~tTVb@HJlXB#p~&u27s+;lR_EL#ffXY;GWMZLNrm16&@^EBM zEu?a@714d5{rhotkp7DP36YCK3ljnRQT-B%GKJ&L-Xz?+C2UWH1Yel&bvh;73t^nV zd~g|nOunYcVu*`34Pd=edMAo&$X_P%gdZr=I+z{C^|nos!hqic@BAiNwoew-U3eG!#gp+2L@Pyhzn*@z4!<3Um2W#hULtDkzu5XF1zv~Dh5sQbh=`vRM) z?Liuf>!qQ)tf$%OVx%;x>tU;TdR1l(9bXt3;L&~1+CL9i9BV<`e;(AX^vlOn_Ui!O z@MFii3>XG#%8KnoU4~kN!)i^LuVo0$V`i8l^jjmqfDCKmEKHz>X`BufX&SxfN`bb$ z1YSA)n3JrCqI{~A26yUl{SX!dk=_BCvq&ph?Rr~+U@6P$?AE;6F5Cqx7c66xM|hD! zS3G#J`8BwIG^7Xlo6lRSLo$wjQaj*&+SY2bcZECJoNVIu%mnT`OKp_9n>I;_Mb0Bc zbcYTwKp8b$hF_(72nWVS4HUjIff}L@UWSUUdv;`-Eg6K;4d!d_DVKjl*Q@R5xl*I+ zsb40Rr=d37^3TmDKGj;YROu0$kQ*6}h4S04bySy9*EswO(d-PgR^ysI0fp-xCDZAs zweBU}v4)&sF8-%2F)0vHo8${=wfe@W)BQ}Q^5hF_uyu#EZ&xB#b<}(!??Aw#cpRoj zosE1HqoGU(m}Wh=RhC!Zq;k>#gN)%Vo9><~SiAh&D zD{h6}k1yxL?L-WkkddlEp*;>p&C!-EpI4tbDaB9owi5LxwC-ki~`vc}5c z1vU@U#z7fnh2FHtT>|PHVr|^>WXJDjAVmj;aM$%3kMjE-@~gwtw@_mQ=)DSE~(>n?T`pePqy^06B1!pm0<&cA4zC5i1-W+laV4MJQ z4YhZsG`CBBSb`3q#BC*y;|)V6{#>AX`9#IjHVeEsaHdpyUe6Kzravc`ri`tv&sA2# zz}D%p9Q=svw(8?@ySIyxT#CRBbmqEm7WO0ajE-bBZ7!i+@9VjZ4AiRM);a5)IO3)* zzI`*Z+wD#QBf%rq}12u>SAWAg~|@Tdch!x{E8HD+w1SlW!75;sTY zGDoL*s0?sGaUF6RG0R22Z1)1R6OkE{OO{k@55HH`ve&Yi8=-|V>9qf{Z09>p{$V;9 zFbi^;%)QYvsnQ(f)zh3eT-R){m##Bk(Ld&On*k6DROOg3)*r!{LSK*$u_%R2kQ5PX zRo$#vU8Ddn={zvmB2{N7;$29vNF9 z_2nlgDElcK*7^f0R%0cHq?$%_*>rY#Xrp?aU36^nJg;RV=PX=x21+RMah#$aWTtX2Ei8 z#Nn>GHI2G6HPdLn*|9G<79g(gFGcTl@;m^xh{~#hLpUg>d8MnMx&B&2wBxAGK)4~~ z97IC+Yb|v3sL9`nnIJ99iTkxjG{?A;_3En+(R04|O;U(=@?%)CAdCA4Z(KpLTk&vB zt}*-4();k1UHSNERC>Jp^MQqqiw>vI68%)xDK*1duPH?j8u#H#+Yl{R`TMc5#Bu<< zRc`^| z@<1RcnYr_Q6Lj64az%AE&e(vmcwv#m51mHyqT%vopYZ5WKwa;3Hhw*{AVb#T%FA%_ z^}>#;#o=gJ=_BhNrXF2bD_yD)%r5}sx04{m(j2==oglV4nGse<5X?HWqeENtqGs+? zw&W=fNmfn%ff^BRW+rrNzI@%f3#qMzMYcRj)s7N=&6Z2?k-@DSLB5vHV)AuAnXhG3 zB4kL3CFeT?4gTyl2*y@AQ8-G9Jjn$sr7Aj48bnsOKBK~WDMvR(`lwBs4gp3FD>sNw zmVL6hCu##766u$+2^qdT_{l*&ctqM5wO+%5U2$^nql2)lf7Rt6!uSZ)Iz^+XZ>5Ep zTy@#>P8D9g*gP4fWu%?6=DM8gU(2QrUgIA)=l7HvALxgaogdH88>2FleY&Ssz?fOt z?~nQ-N^IwQIA(OtN?KFC{Xpq=5lC7r4?mUf4~T>Q^$fcHTi3#%gBI+C98U$7SEQWy zKDGlt1kd1c!sMOQBpn|5`EW443Ymwual8D7JgzuL-OUN6U=@7Z#Mrs|@QS2pt8g@H53NOfoCK=gC z`k@m;&)^|BE%XzF9f&w-7x2pJrH!)kI{UB|dY=8m9=pAlzj&&DT?9vQ_QW&W&0kFe zr0zFuDR#B9^SsM=UrvuS-tH~(>cVJFq=2K^dGw>!<4qZm%^1 zaY3*0BXw$RLfhrT+eo6OASw5WrG|pPfwueZ?X_8zfyEvUEWlBl3H#Vm%9xOjQLGF0 zoL*+eyC;`lx@0YG*A371Jh4O#pOo}V>V6% zC%(;+MOlu=-#ao=D6Eer4+BsJHO3 zF6P9rbq@yp`rny43a->gZ7%Ic?MJR$x1{Uzp68%+cS?o*8Rkl~ix60?R0R)3mOG(c zL4pg=cT7_q?BO-yzy5K%SB_ueg;#GF9kqGE24SdI0kFu)2#dVDFKS5@e~|HhhO@ex zLKbv{e*r^}K|xO@{#)9!L01Fo&qxA)iiYpG)Gyoxc!jF28gzdMFk(8|ys^4{qKyYuj?{|M2(A zM~Q6F?&kZJD6k)nQHdedlqcjN+tDa&;Rz_qvjT2A<666VTn<8yhx9*Qdls`mw;*%t ztNbAd9F(2>p0yf|Q9-sYl=+P8zYWrb3!ePkOlDb*u{qv=m3F z#+1d7q)FP^cpn9i#fLVF_b}#6nl>?pc!ChV#CQ52VCaL? zWCMa3YU;%x}@7-pIm2mQp41d~GCwiM`!CcL%>h@()`!N4Q7z zZWcREo9s}xjVE`VkkcFMS(?x0n0F1@?e24rdp4;tI7Sv*%idbAu7ahMlW2UM=ep5- zPI^Q3XR1KUuJhcw-Zzv@W6T+%Ecy{5aGFU}<7 zTV|4ICC2CSa(5~)`bcc7;vcFh>Za_?o;akHs_4|~*vSg4NtssF4uOO?_&lql$QV`B zeMR$Xo)X2)nK(X69bd;EW@~ljr)5*pl=J5?rq*Bdw9F%$-OxyUe%MESG#5#*ep|c2Cm2ayX6@+ouJgs3v+mHmdjKxwU868o7~)( zCuZfi;@^?|I&N3@iE@~;1Tt>ETFWg-a&u$jPc01$bU7cknw5C`uRx5 z-j0DyhLG>f=DF`GRYvuJeFEh8g0J# zm{eJD$j3WL&ose-ZLR6rA(lZDqaLX4zEaX)-OdLWfWWwcPMWWpaCM@-71tb4F851r68{u%qj(`e|W=@KNVWTjC<8v%Qg$rwUJxg&{3L|!?Apv_s< zf%&S1cN-%EVPX#-y-ms2S0h}=LYR>4-2`hV&i*=~xC_B4<>`6my6{~SBMaO`y;DF< z>nt{0&o|EGaY&j3JQCkwo|7j+`{x|T-g6>em(nfHq0bp~!LNJKgJya)h2$Hqm-7-_ z=I$OgkBz{hM&fd{)9X>=l|a^&P)q$ctrOQg=tvZwazmG)+$qrW55~jAgR$2db)!{0 zwgjfTGab7|{-)2(bgsYDr8(owVPs(yV-H2$V4XPhOzvd>6&EKS?w%|!)*MtI5S)p* ziKXl7RYI{wEB`6PQTi%tnW$5$i(DcOR4#7d-P_i@}DlGu(6L4%q$`SX%bwd}9(L@DE4=W$J9JpVhszeEN z1`DMEFM>BxSC9#&{U1AzXwJmAb3IqlLqGC66y|z*oFM*GwU z@k8_3lJTA7r}+YpoHsuzm!+Ye^(`H->UlhHoMS>nhsGwx1O!rE@NY;f(Jvk-1-uiE zO@{78ghzXOhajR^a=vh$RFBjLlRKSpuJyKnkh82KlrvD9*f$xhnLY2=PU608(W{x$ zKEx^t@9{O^1<9EM9i8SK%M*PbKF;8`P*1O9ix6B^-y|F^slpqIC-%WsaT9baH7{PP z@FTC|r`rycc3j`D2=8EVwA{723H|z=&qt=4N>^_G8s`1s)$tQ|R)|pQ3;B)3mE;ca zxm-|D@L-zire^1Of;P_n8~XKybfsjRupg=TLimq2UR|j zJNP%DI|kVy7-RvN!lKbs2LG;=!*}(CK9zqX=KI^5^REZk9IEZdu2P_N$z(x+q%?3h z(z)NFYuUW791fCp91h-gWN)ly9*}^WUstpfv>xs-xRnx-!i9Rpmz|m;x zP^+W8@Nw(Eg^~o2eLntU*debM=~cgcBH2lTZ`l>G^N7(Q-ATH?m=P3kL04SuRs9!2 z{{f)WJgz?6cR}^Nr;>hq2IQiDLC7{i!aah(Z?885$p7x|UzFXu(0zcouQ`&T3ei11 z3I|C)k)4GdNdtq{MNHJbb7YYP!s7P+aQsO6fK!k6g?0l97ma)$(cLd7wMnt7r)+|9 z==ui629)2M@G3rGl-~j66LE}X(aUxoYg8X%IY-%R0UxG z2ToF+p_ovf`M92w6dk6+7Qga=L~)>xx$8mju3~!!J!hWAAlOb3?b~3yWFKz65V~N7 zH^S4;E5rlkLgnpDW8tm$4}t-;uYb%9?m>|r?6=I8$H$8lS<=AjOIQ%B@gE$j+kzY3 z+@B%TajbBs)qya5u&!DXFT1W<Et^!*ojU(X?s2`U>w-M)f&QJThjiVm zO%SuNj?oB2W8ta}r}5?gcbY{@lPXG)A3Q2)A$Uk-o1b+P2ldj4RTeCrL^-4Q)Eotn z7h>g*sstqzdo8PKJ-w$BXSGe+y0$Wm#3G$g~0At;sac)l}!A{Z>{hjE6#=dCi zozNGaNz0{{n1=1{ijV){9uYr@Cdvh%H8y^!+P`0@@xgsur<(6 zrSDZDoT!2q&ZL`FZ0tm3jlpl+ZEvOF)o-=Pzka;NAH7#_JMq~@jfErz{aj06ucJ-$ z*jN6ve`>kUWNOS|p4IZMCy$S5+1BL1Kk|RAnj@DaLUaNkVjx#LdmPr~ zk<-CPH(nOX*_d|S(g*i+U4um1cEZiqjLbIovS&jhVdGRDH%EImT*bz;FmuYq?|{$J znmTb{fA%YQAKo2#J7XK#Tkc1Je3XA=G}>BQCO8Uht&`twz-f_M!dGHZ!;s#*vKYg7dO?OGEK&xD&OAAXc z(8=S9P$@6MCvwfVZq+LDWU2N(6e4T_rG1h28V|pAZIVy(V(9~=Sr#^0Pr{(HQQ_iR z!zomdzaB1vGa=@J-hh61JEh79q()k(!7NZ;N2j>_;eYoI4O52d#ldZhH zRnLPgE|!5ov4+=*jFff;wabnp%4Z?_@z9x3o_V*%+k3Q|vxxK&ujgmaXOqkEH4uZ7 zrDk$ViPQYqgI`ODNp>EfDCsqOrKPza^`=ng)D@As+I~v%3JC6fD>v^F^W0Z(GB0nd zv+itZ;^Xq>MY6wvWIQL()sy~FT3BO zpz1m)=S*D(lqHwDn4GftgK_KopFWw1x5Bq=W%{r!axAP)MrS~iIM^9>ogANww`tcI zwU?E-RkaYI0zCX}&&IY6b#;Rg9K;p`VJUiGwU_;C(%%{0Igx3VfixgiOFo&7E2$B^V*-2OZ^W^y`TF> z+iTwJ%2@XH8dqz4Im`1p8BU)@R9rry_jclpLlHaq0<%3HuERErrYd-S&nBlNt2J-O z1f+9~mmMpxko%g0M*ZfTqB@got5rjtuiR|YHs@@bxA%7gZiCxC$?BTtt8GoC{OXlR zi)GvYQtx&<_~d$CWfy*aavF-hpsnq0jxuWixzd~EM}R-&frsZ);w9{h8^eFf%j<08 zAU(GLc-&6*$9~k9uBznUT_fLUJZI0cdbznZo`RHcJNdnqTH%(JvEQuEi4Tsy!;U)n zyk`EL2-YPLyky`|ce6)t$HMv6>7k~ZzI2zPgtkaM2;2JWmIGgfSMl}Jmd z5C=nTD$IQRScfqMu~=JcYbq+^;jU4s=QV2pusJ{IKBU0HZTkc|H2Wx;>%foHwdIxB zBW24TBClc1o|5pJ;3KKm_;>i6ti-(_zoEzIu->V&Wg)=A=Gh{-DSyCt3VuM6 z4>N}qeF=|jU;1+e#WS##qr5hC9|fF%9*r8hiq-F-g_RDFP?cjbLhq`AO`R)ld+ z`Uv6MXu)(}@-M=3w}SyK`|aCpJkniw!@83~gD^HcNZs{eK*|35TpJ#GFMohaU zUDxm%yo$YQd1IW>`jKx7632e#I6vBP-1+>>$u3Z8yi~fb9S&GOLMXegu`dLW1%zQi z^M3ob4w2d6$3fZ6;wkiv2u?tsZ;k?3)Zzn(W@8aXprUIUT7U-%a@ytO%}!e2{E-y> z;`e`z;DlDBy&(PwdWRD*_y8L8+vnYQ6ubaKNzijjy>g1l`V|qnCqY3ZHbS8k$u6k; z_VF*gk=#3w1froKZlA6{UVsq1hL^JGe^~QGn6kobh7igTTMk*L7VZTts~QF9)<6 z(zRZtU8)}h)Vt~s+_^tMT)L*=1rRq{kllq41)@Jd=>NB$pag&qpr(V~fOs@y-YyPk z_ai@Z>I)lK0HoJdhwd))K_J9`A8n)MUx+AR01vW?YzGIz|L?`oHatGLD?mYzyRLOM9vMln zQCcPGa^QaxdWu^rs`(<4m9|byLK%IYd#KdhdIQo3Q zd|o3D?u-6|v&Fb2a9Q50{1VtK>a8w7_ofUcb2>G#AyG0dWq2kex<^Gt%~ZuHExjGd zbt5JuTpCm*BqFlsiy%|aF2(Ox{3u*1p>EEEA!`$`B6~(H`5AmtOTy2+>U47uV{5TU zJ_3AFCTWONo-QLjQzcPLgrpV@MU*Ir%%V%8(?<14IFkn zJ?b5d(x%Rv?3iul>)j%Woek})(IBlV)t~_h*FH6fUC@J5#oA%z%K!8qs-+?)P1LVGFw4kqz0=KJFs}e^q!>Zy zuu7KtivP!kUjg?K6w2aZ9Rs;K9z(OE2=;Bzr(T9B^93XdD}$X^_nf?PKM4wmdSj)o zjS}HCtL*H81Jy*7sLTARa%2J+vMxP!7K7+Mg*DRB`S!u!5=!%J8xo9GHTbeJPyjm? zcD{c66t!s$D|bKhQ=gBC&x5;A*3b{be}7nra>B>)PWVQ7Ft``WZ8FR zQeF5VTR2@Ok2@00#MyQ;FMLvpv?zAe0vjrlQ)I%1(4Q|&bYf>-?N;wkpCgcxb^M%x zNMV^F6#?H6S$?TOOK(Y$Bb@MJEP|9Rtb%tN*M}bv9y4EVikJ4CtD(bPds}`a2{m(? zv(z%EPp+$IN8zny)-)ev!H^ps_Ko2u;gndZG%nV}ud(d35t#bDxjp!_Q5vU6UTl&u zc3A}u3~8Ib!r&n!n~!K1q$B`^I8~Zqwy+xhwa8G_4bFaaQU~Si9L$n>~v_)6UO+}XkAf^-Gq<_IO9QZ4CcEmob?)1@vIXL&O zHw7=2M$W9ts&2l5#wFwoznR?Mr$etVFFxEh}^Qw&*761Kx!TrMS|cHTNhvmrT0zQG@ziKtfhzdUVg1m3+lJ@a7eGzE`PZhh#*QS0AO`APR1`T!z zA_DK4qr+{Dq?#;jB{OuLVU4+u|C~SmkhXt(e&+U)?GGJKK_e?WnkpCxGymOdb8h%2 zfV@b=Z#kF=pJDr{EoQZQ$S(iy*(a2sQ-5Aj=31x5V*pJT-nERrweD^9yLiG6Z!)6J zO1!V?oVs{43%|_*qyv~mf0Bvp6OO~F#20sW7eua%lBQBPvtLq~35ga3=b*rkB3K5Y z#7}N+ZpKSRP!pE-NioLHZO&~5_EzX>T@C#vSMJ3K{T%w5ov@h`+{CR$RBAAxzTWQ( zI`eFOJ^)k)C86`6>`EIGrRUk=Gj&07Y@4AVF~bG+0mjWSi(WrY&X;|1f3e?UQp`iN zcDbK092r|e@fFxud2K!g!q7^IzXy5eFHu%dWu z(*T2@@+HYT0<0~Kt}NB(&Wg`omzw^oa<5a=Te$MfcOUIl0cnCv6&=l7d-H zQqPa&@XL;)nFe~^f*OclGAu+}&^d0(M^YG<_G)?T*T7CxTK@QGW9sLThpugccMZVb z)C0N_@vtXGgfItm$38{qich_k~e8x2?vH^PWyerV#yivsFcFlRms9 zsT|?^r#`jGhoDeMG|qjY&~x&oF&l8cKuU6_M3ESjFsEpF+Cxn^PqK(l>yR7jBIGEs z9a{v|%8m2%ZH{r$YT-QOU#(O$suxwPj%1~>FsnUXnzkgLn}u`1EuFH#3YA?6f0%{= zEB%&uj}w-D>gSGn{bcQ`vhsPZxnsCvmyv~i+9bAAZ^L5nob=XtSVYg`QeY)&a zv!nEVyF3a`K&Gb3_jvz(oi|dT`EA=aqgmb=v$uR5>Ee&a7IMuG8w}p9l&`kaVuFk+ z=6dys-(Sz-71{?PByKO5Z0-Sx#(1(Q8)1A;d6E~`gYe^M>-ytph;#GXgU$87fVt%? z<%{F1!;0oS8IO(AtHXcLb{~Sie17!@;itff?hSMD~tKxdJ8&;7h~qhvDiZYaO$i&c@xP z{O*e22HydOcpW_D@3u**8ta!^B=+6mZgSTA#d^66Zs3JV#WuCDqSX`E>m{E2`W7ed z-8%l{wU*q@X&i!E@Zj$5?jbmZyIbQLf;$8W?k>S4xCM7j!{z(-KKtx*{&UA~ zcZ_#DJ!@8Vjq0vi-Am?Lllf%voAd;xz@83ukp^H}mF5~u8DnuXTpLsCxuax$(=zi2 zU9~x}dF%{8z~f)o$eR_A6st7Pz->O*XgFvIb-U7=ano9BfNJ097$=YV4pca|bnLIy z1I8WGN2rB=nx6|{YT%UNC6t!X`FmW`Uh)U7KtnHhg^!hJP}3j6pz-SJRzgkZ>+aGM zU4W0FpxMScvS>P*6mbH#`$pW2=q_5?h{r03_a)5X=V!->yu7tYp{CFsfs_mP&8=gy z(x|2tR5?8rnQ1y_R{+Xivyr|24BVE8xA7Cb;BLHt*dAn(tntLFXR4YJEB zzNpSb5{^Y-TXQPc5#0}(SA7~2iszwW(_yVEk&W(15HM$S{mc7bFgv#7 zgy5Q3C30w}2eqWNPkp12sj5W6v?$@|Z}BW?3233rC|5ewv}lsfa_Ai>9X5=kRFu`e+GP?z&IAjj75&L!+9*we5%R7@=OHGGm?kOG>Gk?5#n8W}A*tn(1_s zJbZE2VTqZBeuX-ldfBk>C}N;ci>i*XpI%QVN`sY)-g>1dO<73iH!wzUgkd0|Dn9%M z@+((6s(7p+`G8kF1qPGCMrH(N&eKs&$wtOhuSWgb^N4YU`Fs+QZq3bua^sxd`;Ky> z3a4kK8ucy%1NA>SBNNHWJHtp19q;GTAIc&d#-E2TTwKeG0&Rwwuj_zp!pir<1M#xY z7CR8e=ZUsQSL*yaPwTMAW(%D)aRC=y#@WjdHHl*OTU(V0f`j6{u=dEAX~}H?wHAW| zUnzkqv2pD(as98wyyy(o*;X^tGU`mnT?dY30AX7K{pG&+seXk_KDk zn?YmBXvq$xK50&T#5ugD9rje-)V`i^x#lT0Ft6gL-z3I8jO+dM_15+!JHXZ_^hflD zCG`n4kp^6=TMLt8e9#ZhiHe+XV#FVIiGP&HC@g;Wh{O4O4VwjMhqF9GnljvUYbWs# z5NkWX(Ay>;xHsxr9yrXDci=Xhd#YQumUbX4Qxk?&?Yyax)6YF2JvhlbaXKJv6ri;K zEtW1^wrV@UjY!|7N~%^I=1GE#Yu^@(cZvy_8Ml{;86Z0aTpsoa5(OoXa)WPEJ@A zM4tkG|7F5Uo9gFDg|HjX=Fw@?>uJqvuJSp9YTjlYCbyBc@>i!T-F#m>`DCDD*#ru` zP%%-(4xMQoC|cbp=0uOByEuHWfob6#y=;KS28VmrL~SClV}EXN2H%S4(8ZSzNrgY{ z{(KFX``sGBj|OS65c%Tx^zpvE%j2-jwClVtRtAeX#~;C&mq&T{t-|Kc54%tx5JJjJUBdj^+$)MmaG z^@Re_qnuzMXWO1nd*Me-o56}1;CD=wW&+^q2hJNspez)1FW3G&@plXQC5XD3{DVY5 zEMUw26J~f!4GY>TMjNq1_lKMCU&2Q*3JcE&48{P60pEwjW+6X#i#T(y4cSqNikD+* zL@V~VW6`mV8nF(q{5%qwcAh0O_h9Et|)`AUu(yxU`ryENMNCO|t3>LKkh zns!=nB)+jA=EMj^jkuG(nUoylc_7;{y>9Gt-!i$L@AC}#Bh8GdcLu3^nR(;c?B0E$ z4x@n^K{Fqfgx<7JD-ck~*6W|jA?BnH{9{%D;e9pC0cjp~68 zyC@XL*zxZjDh`Rd13nLqIlskNvb?U}!J=0H6F*~zkj0!N(1$VNKmSDa7$Q8jXqpC{ zsP<)*HcgMM6vDYlZ7}IIjRdX~a=2L*J@INo1?t0$IUkXpe+*VevRkAU(y+OCgI70P z30sk;Hw4_t%sXXY=9rVKg!GXvAV0oCz7gdl_9N#0>tWay&f}+z5qTAnOAsR*&i@XG z5q+PTBB(?e*$XNT#>fn=UZEWyy56Mae#tmWp_?!eY=B19nfvOG;#*-*3>X0poQqZ38IwcqQs zM%)WwiBHfJAocFP54L^o`hvM9WCE}<_)lygFB$aTJ1iIsJrUl_*L1+WT!19`E3=Et zt=F&fh*64jW0Mu%&}7C7N;1Y_Bk(xIVGr=Uqm8+|+JM!4{T`h=n8A5z+p`Fuk+Tr+ zSh;uje${u+u{zaDJhh;W>&hybQU?j2s1yGnXTR7D*%FVb&AzSR(Su080^ zC}uU}e$B2AjnWX>nw@aJo}Qj6Zx#R*ctlMVL{0Jc?<@UcT-xV{RKqKnpxXBlt^{y! z$GdWc|91iZ7njq%1@QwY)VJS=bE`7$JY~#%#Ju%hi#bvAMf87*GLeARcW#JkZfGtF zTgb)?YjvXkanW6f=+t5hiq&cmaEpBIORkk*Dz)h&41^2oi zo@v=1m;m!DILl|wrRR?~Y-er;0-+#iTn1H!wkP|4n&FZ=3iuU==;f{r>MMmN>Ebsi;E9=a`D$VO z3M%4yFewtcp{(uHA567JKF$?bLDVz#FQETy(!qBXM@#J1<8!oz?&Dt7!Qe2_ix?Kn#>B^;bT&^^2RRePUA_* z*AG2gwYjTw9wOX>CW0QL9e+ULJ|^%yHp4}MDg5G5Sl8~Jq{TvgH&(2Qy&G|_i4*)p zu^d0aqDggih3HBOEgekUD7^G?o%Vu=Avb?r__*rJ z#0PaggV6VE5X^)_?+lk|BhEjlDc#QFKo1AKA$57cb#0K6DN6*3MEnN-XtQ%=#iq8( zE}w$4x3v2F;d=$PS`-O&Cd#s}tJs-DV|#Hdno2z4ZU6WQC$0aNj@4FYbfZAg1nBcxMp?vKR)_z)Y+H+{n`Kf zOKf`}C3~oB@3BC(4YsS+1ANNR{_)@&Rxy}-O=49ZCU|dl@aQ|!2xW2MPNnx`cPY-n zxr))IpOApQJv0=s^^1;!(KlQTTSCz>q_++9q2L4~-$X9#(@@Z~@GR@RBgI-*zl#oQ zD2Rose3x0s_a{Lma5B3|CUzm?yEXcnyy#Xp_WHr52xq!y! z{>-u$HUCl%uE* zkocfacU_@4w+J3ruh}Fv>{AlrSh2`r+_07U1vIeFxbcP4jg#&josS5aU{5W*x~It5 z=-BdTar&h|Wg~_V4U#)VyB(B1ZnQ-hgj@R9Ea~++WU!}RbM(ky_{f0pGHnIB?)8ln zCC$Ire*Uv6><<#$rF)(GHe!Pysndxrn2j4om<~adu!gzL-Wpi?lx;|RQF4TLtPh&; zMPN4#=Tu2yS>>hLEl;Gr-s=u!K^F|TKVxO^ zQ@Hzz70rfQoIkS=NO)k?`e|jn4d3OoZwdR%g5c$Zq|iZ?oZ6;mVT(&IduVMleV?xgY-v)?dfok${_&y5yMHULeTU0JHrvnT+Pa zH2-v@2%_cfnHGo?sF?R2{8=>kTk#|+?oY)Hl9vWnCEJi1P4lo=wCT(ziGKl7GX&y< zR1Sf#MH7@LK^*@LE8Y6HC8sL+dY|ek!|Z9Me5|7rk1gv+^t|^sMFTU!o@rLI6pog| zefVk|Xm5@o;9(FQ5cZ(;m80Xsw`=PurN=-9i(b;bUvk9I~N7A|8@EwzQBh&s|U%COnmWtk14f@heswKT<^V^Hjr>gL@ z;i@gAeg5aI_Jh96|8M6|&!@E5r8K(M!{G@hRWW*TdC4AobV@GbpMU9MM#thMWKEmyeZc&NZN&S36p^H2@e=xMLo(kuC03;E*?vO-+ZEu| zEd*PfQ0YS%(c#!Z|AY01yNFh^ghttm6sc9VAsrf}LQFNn|D!-e@M!*sQx|3|1Ss8w z8RNC7uN`PI9AG=ZpPOUYz&n+srk~3bo||I4bbkB;>;6&~2{&L_lV=B8A$6hTjq(z? zo<&3%grVHU5@`rj1NUa@6&+xd(bsP!EqmrF$#-cYkM4u((%!#CwYYG;fug?!!X z4rcBnZ+S485lML{YBeSs(21O}?eTD3%J6eF$?U31GlRLTUSS(_-o&Y7Kc(+K@A&(W zMcmv*Wy9{Q^TU*C#`q1KhiV4BO9Q$QsrPHZBF03pOz5M1i4X>S7bOcpNT=eR096l} zApt*9Y?mVe3=kB5#vK*#66A7+&HqNBhy9F!KAtE$P^jmUg;3uQ!1ouNFM3H;Q8M-`) zcr_E)w2OrIRW};h0I`Ai{ro~ZTA~Mqiib~Rx{CXk^uPX=zex>&x6N=boEzDfh-*1D z;0KNU7+&y-d3#-hZ1E~lPKZ7Mf;%)4v27-PQA^>W72j&QD3j9m{|@B;&eU3! zR3piz%?S(|2|LoYx>AtO;~)xvK_hMlsaChE^uSE*y0+9)ORcTER9{_Qgc{|k&!Kn&D@g{EgH_xcKWYP-&Zx=d;8Lzz;$vTQ{c2C;ttnHyMBW|G`7<4Q%! zTey1#Hcc`3$U#F)5CcVEuqjKJ!uL1`cmmYO`EYP={m)v&La&ROMJ*1647tq*dF<%H zZcr@-4YCm%1_j)~y+Blp(F|&VJ%MXaF_8p>auUP>`8Wwe(G60fjp8+$K`f9baP2O} zmdL8EWx1fJJgbMOJ34%wBddMhOSe`a*xV}940WqHfc>|)m?b^idmUx~pNXmltn+RqAI~ zvChjqjaH9?A{w5VC5o@Ni?Xl2XnTSC*+nc)iM{s1ZUWq+1Rs7EkdcV&V<=CAi(!xL zvx6voXq1}wT_|e}L^|YZ4diahKpr%d6QpP=`UvY#MKfSLRP zi{if^-<&2f-h|CrRw8C-kQKyZ?vp&Nz@VYFRcfuP7F|~Aq{dNM+OIa-R7&{&(3#RM zl$RggZZxI&=s)p3V+YL+d16jyr)){S8Bi@VswhvstaoA4iA@eUN$_p+FP|h5mE0e1 zCU?yD0xo@`Y{rq`S|{-E(|XDor6_ z$>_V_+s#>LCv3N|SrJD(-%X|fg)KD4Zbr7RZt-TG8vF19+g5FjqY+T)>~N^IIWXXh zyjJ%Nx6D!dj+2Dbu{G^j-KyU{@VGj|h3CTdNSOO|sE1IFi)3!xR)J#_CkiM+K5{S+;_r)kuq(cstFHodLQp;0BMVifh0VqHDyKKz7Zyb^1g?Z9F{;;k{ zeBzQ4F$s=?^^P-QrLP1ZWk>g{&-omh9%R||#~*@F^!^P&;#GMEI*o(qT-L|NNXXUP z1tRg9{3#WH@Y`*O%gI;6o6F#ovS=TDxJb)iaMQ&JF(-2N^xmf=Ha??#P1*9Jf@*uf z)wdwN94cDcCYSead_%uvPt2Y1RXVa1UdFkZT?mF^CP!C0W0`!)Qfu1_!4S_Ki1WS;EwqVg`#sTzU@L>_- zL8FX>xbIRQH>1e!L^_`YC+(mmS|z@qCGvhN%!pA5*TP{DRjn{EGN??P4j|o`DEQ-% zgwCoSNl+$ky3P;cj&-gZ>Xw?xAn{V>Hn!OgUtm`pdE(h{T-=t>h~nR9L9~YljGcd> zg@0tIoU>ha{6%8B?7X62-a;B*rW`@7hfjk zqpK5Ua#=5sg58q0ATZaVE-3CW_m=Uc2=^G})tHNCdIk`yB@{?oFQlyv|3koTr}XDy zF$4|;H7qY`7ZsitT>{EHm;Wh`EK2$`i{XFB4)J@lbNsPrDgs%T_Zn4Q0_eAH)OsPdD(_gC+m3jz`^aF20R>i|OQZGzo4TlFCR7n%FVj{?gL zm#uCvOvBMj)ZdluC+%|m(UdN51=1_@p0F)|+<6Njb;02yCxTF+VcmODmmRMMxeJFT zsM5+4l|6vfC^V!E%_C(Nn#FcMRd3RZn$fAYLzH4mR*D;@Oa0ooaffCp1N{O_W<${? zmC#JavwAZhxoQu{%SdYvjJ~3nK0#$WGA?gFD)7ji_TA|3Gg=(p*0hm549*kCDIB0z zKfjwtfgm6F+SoBt9>RI!##U{nRn4;)JTrHXzveGJh51XB=DVD%6pg1S*(qOB0&5QpSa zF*0RgdoxenLKljl*{2@u1ABW}KeBdw)-Kzhu?;V{E~|%YnS#1lUWbU34qsHMYrW^{ z?g5XCtG~J7y-Sbyj`_VfxV(idygpcLNrb{KuPyQMhaoeL@Y@J+Aul0-Te15Rp&8F# zG*jav^(o2jAG!hSYy3xo8UM1Bh3f->(%%%1ulM8}v3yn0Yo*D)b~8~#>|ys^PEpGg z*G3*qAGkiE)SqW6%V>5@2edrMCWnEr8 z9kHAzp$K<>klitS5z)I|R|=uTb{1p`eH&IJG^2~IU9Yk{1rRIc0t|Xg-LbMa7cH8e ziQH43UKYv$&wo4j;M1}z(k5WQfd<_1hE)aL@iw7r&YQ;Ecd>8^4zdPBqrK!)bJp)W zXE`P|S}C`{k=2^qX(c6GZ%SthiIdumlj4l$iJ?xulDD2@nw`tD#*2f=CWrGLIanP$ zU@B0J@aoUqCq;L2=S%gX)KZW!qg zebiHWh8M>o7CR%fMk9t!?-~)169G6EHXf$Xcpte2hM$Wg?A>kKE&R@Uqy@G#lz_Yh z6E!7-ZE0+~nXq)1c4pN?3RR_h4^Hvh7q&fqP1tJiGgnQmn$QwULr{+ETv z6VGZ^zf;yj(A{vJF`iPmba--Bue6Nv@l$*$R(@$vShRp#3?T@n5R=w2xeZ^h61i4O9E0Ac6eg+^q@htvHfNC5LKnN8=>*2&^m1Xt zMiytQN{HL=nKVd?U2F~|ob&6o1j5F@>+2q%odYE=N~qCT7I1DM%;U1wqVh3bW|$brV+-i zq!gk!iR2MO7=5N;#y95;o5cK>y-Q9`)bwl;45Q}PW;GABnm$U#6oI%You|*8rx|CD zH0tVbzUW)G4R_v*f(9c<5jEDvcT{jWrq#yAchrHnSSD(wHQ-uJT&+8RDo_p6M6LJ5 zE{|Zy7xEvQGcIco17N)>`t*&CaLsY4sEe_8~ZmVw}!;5m$W3 zc1-Gxny><{eoS8ot0(f5PUfn}6<&U$`CoR}YWi=+AV%W_3W=(*7fg&@=?YKaUg`QX z8egr-o{nAV3!ma%k>=l;dsbnF;{&mN%o zS-%Q}G8$*c%vLZR$N+(z9A)6?Xq`~Tq-2;bvM+_aF1bm^-4n|3M1LM z6~x)aT|hc*&8}27e-JgLCTjpL<<$oCM~&_7H4mPEzc{7lhXC=m94xWwZN&b#9s)2( zl-i`Yw{%qjUEX*$QS+MWucH(UrxG=dbsIpP7uqz*sLPyTxQeCm^|6X z@%ra_7mTAA=P*^|M)R}JIau3i`lox{(+Ok%Y!gc(6vn8okz>|}*eM{&*W`+*V1nl1 z^5P4FRj{3=5kB66xPD9mq~OXRVn=4bB$=Ps>}GW>X5raj_1DB5O238sbGH8q4mFo} zO(&D*n#Aeyz7LVddujcM1W5jNA>E5f8o_p{x1CGJz9!BT&X#Vsoj})2CCwC`AOqwd zC6_ovZF5tWm{rn(x)Nf9PH%69Ry%lC6d2!|#Oewc#yazhv{@?X}aLr6h<{DhlG};8VDX1 zM)9b#4uE$xgCS*#U(D!!u&L^T@MH{P`{qr~ugeSATJ?kH%c`F|%R920_qP1iMg?*_ zG&Zim{5ATSk=H$%LM!Kq@hU?(QEzAc5W1t9{4u#$THwn``j?C(7CYY(RYROMUIu)s z9SIIYYV7|;DuE3RS&llcJ`Q4Z9eNno=^l(msWod{n=)m~H+Vf2QCz#ii0{hcI&D8x zCzbCB1l?gtHfvQJ#6mxaiZm$SYfnL=RXddHeJRtw!rQHVYOpC>YEVAbo;r=*zm)*% z(I;2pj%`A9YjJ)li_TgV9@N7FZGe_JYrt5Pq07MVW7r($<&}B%3d4tfXWb~Nr`>7l zYMj*&w{<;D_z|r`P9D}zuU*NXKbxuVeMA?$?apt@L%&k9+YjOWEK1Un7jvLC!caDe zh$^PV!&meAf2WkQ`j5EUxoC`vq2fSkwHQ%KaW|IT%rh^;R0w>rDBMgQ%u8ZSq7=)5 zn|Yn^3zM7c*&yjLIRKf0po{F4 z7+>R7!)tw+^#-xfft#%w=<`m+>(vWiXWa-lEO%Oex7HjS+B0d2-|$~m zSYgrBStZTC&G8`|e`_%5*WSIi1C)+pk4`>vjoyoi#q384lvYdP@QI!OR`T}5$sz5_ zQThWaY>>8fc?}ql_HikBWB1`J{lVx%{|iq_M`SOs1#p%nYkdBOs;(5XQ~o}cK;Q58 z@(NC#5z{J}*_&55MMb^Onr0vN=BX+SgWcvXQSxG!!|W59y-d^ zqn%}QiLvPh#3suee&zB_-ac#AG2bFM9>W56i?yP6{5WIT!{-(w5_jHj!LR7q%eZZz z&t^MMJocQ&++=;@S9ioz> zY7$u0+4?0Y1mwSZnUtGGCA)XPPH3>SOZRIGrGgWm_36~)u}X}C-L)$)CORDqThakq zeP!k_h!K-%C%t2kmt-EHd?|Y0`v%R-5cWxUp_0BO@q7p;3R8&8x-tP8q-%!-R-&7( z309&f*%4P4b-uHK1-`%Al?AOb^g|PjebCFWThkl+;B&{9fi}0!EJyqm)Z5NBM>1L5 zwuXuW9YzJanf6fc1^8v7qNV)ffM0;(E1_b>e(URib8_$3!I`JQ6o!=&d~^*9^P&}J z*8zh0kgAt)P?rsUZZh5L0Ol?z9(RR4OO+py;Wurg@qk4ZgxwO4-Lh&wuhVdS^X4UE z#HkU&AtxN&JWlNbBVyf&dpo}g25)mYwaAKCa-sts2fruYj|(7_YFXIRY~7d z?*7gxie4^#Cfv*2x$?`NBuY)p;ki%y7an_Fr51g^GYIauyf+|rbL1aq{l@uiy#vQK z`=WS>!k4-wPyUA}`aWV?F4xy?ahAWoFs3G=6MwG_!6q_NKZDLdKQ_$R?rCu3;24E- zT|zux;P3;*DDYRTo4&G5*e-|IC1Jh?>Qrn0psIL(M)lh#ScfhHqnD7M!ZXfRxYKSn z%`q>sZb@rY{fP?_b@6sWZg|&qXXxtznoo`$Z{*83z75_UD@TW#$FFj@y|4aQaqe(tOPNv} zr-|gy!*|BS5D0V@ohfL-+2p(Jp!G~@{%Yei)%HA%o zDw3pObD+(~>Q|x29P|uB)=x6wS+J!uz4v_n3}xaE{I^nD8=Ae#b+uIVsxBfwABH27 ziXgRWLcyTeb(7V{OcTxl;uyYnu%WrI;JoY`qIK?Gzvj9*B!*pkR<}7_PMZ^%4#hX+ zKWv@z$XgPwe;{EqocYfB-?p{G?7!xGoyQ*c<_%Cb_^7wv>(0xXEgvOx3RVAX?9Ik1 zm`0Ez8|Br($`Q<+Ba*2=K3;^erxJGgev@NLycG?3UEvJ=4+u|$rWG-Ao#~>jm1naWCsE_U? z(=2rTBO1`Qjc(0CwXUzm?wOEws5x8?X@a7g)h&&SwxlA*EpS@LyW(-U+UB~ zrdZ50=f>Fxdp(X#0bT_>F>k-lW|P|c z^iQk?p>OzOJ7oWud13;XC@FD$ z{SRi57Xr4f*yV+`t_+ZRHrW0yF`A+}Q6tZwZI^b`?`4X^c3>RM!rj+`LEg!r1+?IN znZG*&ZeRpa*Qa0o@9^=Bst7J|2pzG1fg&o0BZ_q%n(kDgO7{NhZ?C~nyK0gzo$?EB ze!P?`;ID$^wd1SdcPKlK7!;0g!MVzx8>ht~oUqw|`Hh6EnkpZNp|6~2Gc<`yrhhph%LgD3 zFtftK!6iF~n&28ZqYqg+RQA%du97)+EoozFm@j;pd-3nip_w$(16elLZ`}PJjP3yE zx`@DsPNy(o%1l2R?x9Pe(l@5p|E8HPR|*^x98;)#3tLoQR>&6XFsA3T`;c9$Jv z!c<_~h{V5DL=8}d%dp0n87MYU4a)UpA6TBHR}H2uK~hl0we`t&zAiE<^$a{Pr^_&d-I7O;;+plveRiIXAn!pxk|-_N`qw@;%bxHb}?^? zB}=GgRWVPAc62M}6QLGwGpvnN7;Q^~@Hl6?ziBV1BL9ao8e((=!e>+}V6vVO zk8UYen%Ar}?niP*SMPp|dqdU<)~ujW^#4oMZbN3L2_vi25J>J3i11Bmyc|a@q~i!g z0$6h3SL_mw#rfe`2CFy{j(;S=&{1vr4A$kvwdchh&+9hJFYci`V2M}~R|+k0$M$B$ z6;%sWnl%EieSVPv{k(ja6^B2PWkGe%H-o-WoVOootNs6on$;_<8O^v6T$4!ngq9?I z{|!C7683J#2)VEYqwFp1WXAf%vmjLhxv^8aWIfOt;(_oJx+@l3S6JLxiNa8&-$tsQ z1j(fTFu}*4|D{XnRRFXr0^bUIIYV4}`XZ6Pbn?2iQgqgJ6o~L^eiP<&6VR+`G!PZ> zDtRFfi%-=!RQjk|Xw(cy9eHAbK#iD^7mZ?5M@U(@<_RY*8=a^i`N?|qwUO#yriP75 zZ(;v7OE%L~&t(s_1Qq;Cz$9Zw+I5DUqyCU}voqf@2+9dai9U@kR5nSJW|(}M;)!8% z;-65&PAd+Vo#};rk*XLkm;xKO<`pFD1jGs8!8{YE7CA2>?B#=PRfD5Ts~6Gt9)$K* z@#9br4FjE(h|sKigzdPWuqsLRnh8E!+y}kQ{YZQ>+Wa0{{M}hLFPj zj5Vi`j_ZtMTev+vSUL@NVaUSztu=L+He$YdKymWB|H0(=pWXjAUP$aIh#gXK3c~#h z2*As!`y?tBig9(Wa2-l?o(_pJF6uAW5m|*F8{9u-Fzi|@L}b(#^;RrRZ<0g5uqx%G z|9SeZvrTzGlUDFV-dOy@EJ>gnvyx1WRjUARM7u#|F5IQCEW)f!I?VqnfkIHF&^QBJ z*l2ad8NF)$b6M8&N8oD6^fJd4XXYwX5zwf!e@yIoDC;o)bNTw}CVy0o=R#-Ur#^FI zX;leV;e}U&+-_MTK_9HdB)CiswV)|QskM)es^HE~X&bp?rR<4DG%A{;g+X0m2zo&D z`)m%zH4Z7bf?#Vt>f9#VJBe4lcY4I#vy#EyVefaW`vaQw68viF7!iHnyYrMLWdIpT z<`6|^mcR7yUUi!2%4@+U9(1)=Qf<>`C}8lb_*B*H5O-6$O-q2W%HlbR-nMktY;<$& z>U*S5N>blZp7e}{svMa>J$o4zcyA?U_&wi^cEaN9Ag}qZbDKWNdm zcdxQKL*Bi_hk`Xe2eX#yMg`B$paJK+41PjgL}wP7Z`00b7y=rrx3~`C29-k3On7`5 z=3BaXCQ)1dSrfhTZ=WQC?|j4Z5@ZqlcaX)WU=-Y!@C=VL@E^?G9-Fg&ova+qM#k`c zE9z@&?8Ep5G#{nmc5Dt9F5@Z8w|Bo_y5a5ooVWhHU-( zFrI6jt(vb#X`6Vqy%605oyzwHvP7Yh4~yfjg%1SnH`+a_Ttus<;G4!qg7?P=(SB^v z^2Y-xI)xzNO1Ir+5O}~H)4ZD@71d>(+Wnt}dmUNL-n57Jj>{YIaD#r~RfcNs9lWz4 z`!>+sSpB9wup$m&O;pe}(72&z0Ua%=6Xqq3?X4&eanM_0Wjea`UtmuwEya5g}=^HYw@@FIgcn z1UGJwxZ|gEIS;C=xjv9y7!lcql2l`V>9VKuBQr$D>He>0{f{bKv7hvHR#x^OuIDw^ zb}~(`?sun^l#wm9L9H64OTD5;WE!=A?$DDH_2WSDUmG1@LqM(bsTA;os=+*#!PeTy zF6VV0xezYweW;$WGR&Fo6fE*@8$r5ZqF*RGGODT#Z5t+qIvn6=&66*aKHZV+1nh> zZ9Xb^uC3w&-z%kk6|~?8YhmOx{q*TS7I+BFU-@Qh`JGsOy#0{tO86&3jev2>XIWo# z*aRGzO`lU}(`$q=97lK_*8(RXyO80EWVE4dKH*MnDAI&QHsZC7J66|>@AmwMMMJNsM zoefBs(iJ;}IH^-rns56w@0p;Xvz|z*=4EzeUaDrZGTlS>V-(LFiTS;YQo)sN&~>WMNIHw8>hpW`fC> z(n}8sOC;ev$>cc(Q=v?{qLSmIb+?hUgKAxx%7hVe1R+~I(U)NqqWOsUklW+qgvO9FpdaI*8P;JO z1Mc_lCVaV}Z13_S7VQ$4tk2-zk8rCFo?F&Yb^Tu-tUGn|24D5@PfOrgZpn{&jjQlp zRpUG0WBOBXzsVQnIR8RvM>^2+%Y(Kn>zHJs(Ub9~4W@=@eQT^1zDq^W>V)7_ig$M; zTOutM|I`=G{x%2Q!e7d+GyqR2hC-B7OdWy1&M(&)n9ULd@F|Kwrd`k4lxH-<^^+I{ z&p3v~qpHAZ*6-A7%oDM`cj_XPtb~SrS0;U*%}BP9qMx~FI*wbD=^P-dYfcIL$9qy) zbu4wa<1s9AgeSxW(YzmuMt*so{vg(*JzfzIKRmY3vG_IfQ=0_y^fzF83a#Xy`gtC7 zt5@oKqE6k>oD*LnP@X+g=Qh-{`b+y^HnC#1Bz>FkX6dq>wiWls^H=Z`=fD)(YL5T& zSHk=4d$ukWi(J&Q=dTecIo9I0^@LffnY0lJ6L^ zSr&Ye$XvHaUbX6rEwTj8ZAVs#s9UEb4v&k=IVFA?-u>RNRnSMKuAdB1(5bekzv1oE zu}In+TQW8HHtAj#-?-!AVub=%R498m2ZAggLp3&p-l(K zBO_Rm8-1mt<++eA#WB->*baRSR(~jqJ07Cd`CZWcmge}Ew09;TKTbKCMYwv~PmGrp zO-j+XKh*SaCNDHK`*EIN53$2ZFz3<5;ngj?lLO11XcJeGS4nS{(N%t^OS2cu0Qp@v zr>EnbN?+8fzRr~+lYoca_1?p)O7yFxjR%a%=@^zogdZ4dE5wA1W{%f%_L zxkQp|xusT<8QyD#Dg6O(s@P1Xq}Xatc0qhtYqCJ7%xeKTRkU~Df!e)d6AoF5{BcU~ zsnNvLC)HJ8IJ<|sC7Xr~0VB;Mn)JA+rrWXH5mBAM{>sXs52>dnU~fW6lLA);h5g}j zs21MTC~H zcV68TH#g!($B_%mv1SfJ*=^8_qvL_PMzV=jU;bHuPDcJ6L}*n12{Sp_n?AJB+5H6} zP+)Z_+k513{OITQY|g|SbWe7EJTD&|UnDBeS3mR5n|;b&y-i_OWmyb#musbSBB!iW z3cPT>#l9+B<}l)#;JS)Gjbb=qaKQz73N_+<8hjc@GY>XB zeE`$3{V}Q1w_ioSXonjH>IeFS?GiYpR4o%hE`^+OUi!pS`ZH|e(ceGmkT2CI|AFM2 zof~}A=>xLrIhM4?=Du5tYg_mP2}&PU#m-gD!5^4hu`XdiJq6^5O4rKQ^7X#P&JWn& zA2uGkSwZ%1_irsBhv@t0)|4;#GANgD9{@3*{4dFZQaNAsDugP83iJwu%7n_Ir-}|H zY)r0&_SqYVt`{GOmfU^vp78Ago-};YIF$_YI*J4epXHt#Z=%}u*DB@a-3}1yg?^ho zVA`eWm(AOd9Y#MO9+UABYCjhFN(&YErZzKdBm1!RCZYGLR(eQ=D&=L?CdO|JAWlEJdQ8eQCrgIk%*bS z8FIRSx9ez?TFp-$_S*K*ZvIo~EyhPhmZ)H*#3T14ZxaW^)zznF((hS2-A8zf+oX(a zJ2R4Z#2HvtT+rVqf04FNB5IhvAOg~=vf{nWO5~x5*Sxb5;I^C%cHYClXwrW12eW=| zlT6<_)*g4!j=sSUfZ^=|r(`-NX#dmqk$=XJbEN-UDMlVNU9*kV#JmU53^o?VtiAF!L%W3RJ z@4_jk#-=B3^X%5`QY;R5kLWT~ajkK#C3B^prkxJyjNXnhc$D48-=lkEG|%bMpR(4C z*?LqpcdfiTW#>xE*oN+!UjjP!e$BHhV8F_r%WW`p^w%!weRcEN3NvjwwRyAm3csnu zPU5c8WpSqQT)L}ssmD*-ln#ywO_6p(*V=#!@v_KGu4Em2&VKeWsRkN=hWG=6t>=}d!H%wu zDT0%=gEi}@v%Sa5==i7So)y%%UugLu;zkWi%{SABb zP|kl{vfu>>*1QAfD_~&wyp0Hhr2va7evBi0r~0NO|J|h!aCuBaMTPM;<@wjzsC+x0 z-RXEH&srNFEpjU}oLp<)DwqEUhqPO}+~CG;9ZbvL6&LDn*jgL(zr34%99kx^+&jL$ zf#-EcXod543HaTW;vdsBYG|J8!a|>lyN`85ctps}wLrN*Imxj=zd%39=q_Askn836 z(NQti;w*pt4EUI{PTeH~yBDhevf_EuyDRnmiq5#n-pSt1$;qV2AO4Xdr@{Y=uCEM> zqiLc|aCg@LA-F?ucMI8jey}(QI|MrC#9Qh=X$5q zKe>0I&lPg7*S5D00<%veL<0sVSR=TJ8-FL?ulwH#)#JZOPd`+k1h`T7fcaoKLI=tP z2k=2%M+)u&mx8wzJftsmuPc*3KiEFlETRRM435X|k{`!1#ouLs!kf&l(T^Uji>kXO zuB{iHw~9##ptx&jUm1&U-I>P3wgAzf*r+T!?_QhvtY49oxj@jM?xsdK53{0Y zR`zp6)K-1XRG~ri?dw#;KMd#2GtxOh^U!v7bC2yzb0pvLyV^=m+O>PINiCa!{N zI_(Up)3L1=p_;@OhvU3S(m9GdD1P|Ayl9N`8@E5-zA5uQoqcM%Pheb@>vZG$h3JIKeH$**x+`o`%079>X4No$axyTms#7NyvDZl1hxMlotcC1-4Ja1v1fy1@bwLI&MzG)$*?Q8sR z7xk?iU*5|&wr-F&>e~BO?)|$T-&~UO80pXo8{>=E?OOy!Lgv8LgSbA6R_(i3%*jBb z?ILttCsEJqs%uEYOEI4gVJ=e>y70i+Fr8N;P}0DGT_xjDh;zK7Lj+)YX6CuSY$R(`NXDXFle=OXDFc0n}p zVx2qtAhCs5857<_s`X#?F0CU2umSVoiM>Iy7&_sC+kSk0`)8TPZKiK9xkz$= z>eF*=muw&1GpAI+ZZ92=Mh))LQTZUgw2Nko`d`_6W5oeaGUc{(7NROd9QW~2+m zuT`FC7?Ke8lk3F}hb!vmkz2@~7a#R*Gq2h#6M2V;6n2dkx&8+l}X>kdb4hW3Q>Fcmr))H=#8i{cw>fM?KOKbFz3-OmiNZ zoBd;jO_t<~Iqu9^Ut_4kuGkUl&M_lP(PB!`Bo;KP0r@c+Il5s>j*5O+ql}6|JZ;JJ z64otnA+$A1ro$(J_R?9u=it&AqxRCds$1TL9230QD?V}+53yA~a$k~I0f~JMEULtN-S2E1FLsOw}047%6Y~Wi>SX{q(9P4Gw5xbr^12^=w%n=fK^MV@y88AhB zky*Wduqob4e6Sg%e&Glbo_H`W3TBxj5&Qdl{kI{o?2GqA+Ow|0_dxGF1?l;IF7Vs! zV^1Kaj;V#I=eqWVRVK=D=*yJmgRACX%ieT6=Q^ih&uhV-)a(+A0N&4q-&!$^vUh(7 z^MhJJl|18RdoYty^jvk!z(Z z=a&x&PC^cQCuhYqb$2Q?H}{q{NBR5amzl-S4`0+=QCslhFN_{EN-y3I-$QU>n!EC+ zRu@zU*i6gQEIe@*E`z9sdzs-Chn@L;Cs6TAvt*sNsIK-23!^fHKZxju_5v{S)B`#2 z#{ZwDt#!sA(cZ5k(rbtSja2lOBhXS_g_Uo8eh%~y@og0KW8p@5(?L{*qWSw8lMiq-Iz9Ka!( zby&)MU9ZXzJE@qe`lCU);!knIs7O|0DZ^x=$~g_v{t28n)dIZRHtud^Dc!DJDQ_Y~ z_+3G5Y4V9Yd}+){V21C4r)5nx!KX1H4m=LXjp!O-kZC4!$Ob;w ze3P8Hv}!-&WB2*|FWEov`(6$tRz}b*)-&3bBzyeKC0oG}1f*>mDp9?EAllZ$iR`vKqI=vaLO$LOJp&hDCqgRcOzgU^wIp( zygx=e1_JgaRNyNfC4bI7Whk;t2pCC752R>nzf$`_c@YprS`g7w`r&q|AW;~W6IVlG zp`P9RL0KUSuY+BM^!Ez@6iVJM7G1`RN?^e8? z?gpb_t7>}x8v0?)BqaJa0=8G}2kri)mL;;IyNkO}dl!4LpAHjdx`+~vwh6olNp1c% zC=_X@o1o39=KD|Agu2fDHZkPH!u3?^RI%Ti4_PZ$B5j1->v;(Z^#KQipaH{-F+AL8 z<8`_Vx@y7#XZ(M0_l+nEy{$r-4ipM$)(9-O3B zfsU1J-FiW{81Bf%fsTyKjIdULc4l}R7r=P zk#u8t$wUKOxSHl{NkB0F)=jLrD#8ScuZ+Is4@;C?&s9C~h632dr!dB+*u|sR^+!)v zvWOlP{!45Pdkuo(>1X4C!*Jal=TCzH6+aXxktetO`=eH7YQ*u`shKJ()7Jjw=I zA$32tdj?+hkAX?&*cQ%S*^k%T_6?QAxd>K4Oi^SL!J&fAUpZ=@j>I; zRHGbdaqE{qRj$~)O60ojt8BEQzTov1aBn5luYUZ#x;VTM4$-*r%wPkUeH%)vSKT#-HVqw8Yc<1rP(?u$74|MG^Yb$iWEX~}^coX}$U+3s+ zufMI5uPv818Ge-j8Hp<&zDsTDogO*(Y3!pkYzD0xh*#P8H{LQ8&&)ElJWRYVi;{9} z;`+iZo#ebnf#h(T+nfj8AwEJV+{KK|L0qnr>pp<70RsOim)XU`9jsSri=;x>v)bF| zweKh5z-uQX(-O^6Nc{XO|Fm(8KKc_(toDHO1FU|`H>cylm8hl0W4%F39lpR( zmEXq(*(X(ZRKu}ydRGF;wjWWIhVB$dJU1j+wGXk_Ue=pieRo{GnSLqR1#fgyY4C*C z#~oDU+=nK)AUwKDzK-egS@4@4_3Cve)&i{vxa3=Ei`gO-yo2Mfo4KJPdac(K^xnNO zdYb~LuRFf$j+~&}m)%NNZZ|I*-ukKDQqvhx(G^GRS(~IWS&uCm^`pd=^JHzpmCIu* z#pYm{Pgd9Ske^-=*nEiVDmtDU$~dOi#_;{7Ww_7s4&uJD%JY-}-1vFs_WF-}gF!oh zqsAs7l&3? z1c$fGZ54Q4F|+c9-AjIm*OgL3dOoDyLCpiAu+6+IL*&Qh&*+bn}7E7=UdHj zh4*R=xE6eh{$lYxhPRT5b+LIXf*S@YF+OM2(ROKl1a;d$4Q7MWh}hHis#h0P z2y-#Gd560tB{%Qa9?#wUe76NwpNFe7@Jz6AVUuR8x?+h`uyvGP(E}VQ4`DEJF!i!oNknW6N2}&vePqyz^wAxkmwKJsvSi z{!f5Yz8UBIQ*nG6znE$mMhi05!Kq4aU#PlT z*VS3|?ERem25pn}J0GI=6b!CcV_x;|AB@*9=AXuOUUj1TzC72J34(0-G* zxG$jMw*1|%g%%Q9b@@hq=&8z2xNBxIgLRLbJ1Z@e6f`I;U0gBsDbg;zRlSJyiQY`C zRku3gw}Y>>?KMvuo)^VD`F_zeY*$`%&$z{p_=Dre#i6%3j=6qGITh`-l!hypj}uim z*B5SVfPhpj(EPGE)A()*qrD#spo*B{L>S97&#%5NpUTBx@Pn57r+BYZNTvex2Byj^ zb!ezGlXqXVO1p|`6H2>6H)%3SI|75y3%s*EQ59AqpoxG#5AJ|3olpNq%EssCRz4fp zw|Qw=hwze{;yEo&87F4!w^c|7)MLnCJ4Nc>|rp)*`1{#NJNypxxM?fUHm-$OpaFQTYI%z9XX z&wgpCdg3+9h@S7N#*4P|j_5`%;2ip*?U=$#4*r>&V3?ih0h5B`bIppUx!*)W{?>y1 z-dY;aN9FmUR%uUaOLq=_70Y6F-JP;r5qT+Yu(!Ia295-xDDWQ>wb{n^98oM8+@^1>+e*Oq z>q#bw2s1;~hy#6|WNdZD8d`1Ff7*-cPq;Q^>sH7$A=7$`iHnKs;c99ZjTiMKg)ikp z6*ISyN@}?pk);Uu@`*LKrC?#HoO_Xz{RcZn)Ia{%Z)tNM;6Zs@TQR~kBUQCyQOC+- z3ATZ#-EYrg>$G(y$oIzbTaFbF5b_DGFl) z8oPAbG&m8Iw;h_aNi)`0nUB$np^3(n6&z{Q^^?(cvNK-!AtEah$ia=P3+E^G8zs5Z zDEYrc1XoktzMVJftZCH`+1WG|cHDE{bJtIiSfb{=-7CJ3^9*-keheHZ0Mk_x#r?|Q zUW%TAo?^Se$wR5mmM?EyNN9^uR;V&4UCo;Dm1@A+3`?f`ULv=jXNfvNlRru%Y+(!x zI{pLyF>k~S#5TW_C~HFS)i6$F@@0%S3{|De38QGkIA%-YG~Efnv=x}0{KMQnHtVS$B91jOt0*nvbbzj=aP^q-U8apXh}%uq6CLnJx3{7UWXDgI&q|R zDA$npu(y;8>nd4Z-3$u4UZh*-v30$u7^;07r`9bym~P^nOQ)G+Lm=Pv$^Sym$c#Xq zm;Dg+5OoalJ@uu7@t|u@G|o{%Ll4A_3JAqB#uDovkPsHr1v}|Cli(H8HA;@eCcpDf`yX4oh=-c_b z+Y5OAJ4kr8?9Zi+^0R8WY5H=`^80z1D(<&k_+w2|~2bUt+ zsi219K)IRq{yend_K#5}M@gtpEXN2b@!*YKTAk=m4Gy@`H&m=9SQl!$8df2e%bAq} z<$ao3ziVn4P0aKLN4>g7f0uOLRo^j>3P7yOLD&h1BbOIfd?<>ZdKy|14^Hz$=DOmE zs`%$({>g&-Di0kuS^RwwcM*4fUfYnNfZYbYx&hy$>{DYAnH@|}Vq`T-WOV@g_Ym|( zEQ+5n6hCbxmL(#qM}(H)RfXlSF#l$F0FrV=;l>EeO&BJ2l!NP7h8Ohx*`GYe*sj%$ z_8DOJ^&&msFFBzf+pw-!a~wP+cCI6P6Y+z~SP@|Td!K+U(6ln*Xxi9lZ3(yZH!@Up;_!je_<&k$Gs=Vt+A=c0RSO8*HI>&w z(7Ll^R*dbYV@hmhLb7h3L>}n*yjGI zKrQMspAbs#5dl4u$XoJQ*);IHa7|F}RMAdyxBkUG7ssifJ!|Db~Z^vmZ{hp(bQJSFqQ!mo9s z%Czb$$$vYED25dI%Nwft1b#&4*IpxYXPpdl9;7FH+lsT_K~PA*MDGG9sCHg@Wg?X| z!_ZAACEjBWhDwZ*UZHTxhla!M@b0Vjm#XO#B1-(V5{(SVG`c&LD?{F3pCC^RsFrdo z?wlaCx2QRl8B!VQ{^qWKTyJv?Dw-Kh*vhHOgHi6Cfg*l1OSwei7}aZYcwnjf@1{9asShu8#7|IZGF zqi=N!!Be}f!twjqL_kOW8oH~S6YtJXizYUDy>-Ttl{1byB(|K^5d1GNY(hxpzwpLC zv7~%9W`^uHgbD3I3cc$GH?%-}MTS14KQL@L?BF}h@lQC+kN{X?zMC1+8qS;<-t(Jx z{9pXX9@v8Rf161ApJjz;s-c#9F#b6EH+{NF-b}9kMVF)J0KKofQ<3w$DPvE09mt}{ z&m7WFU4FB;bLPcF_%FLXdwSH)p0k04DBvVev_NIWaLiCvhE*;=8982vKn{W>1--hrN>N{U1F0}uT_6;YydKC-CYy@>#n=x zeDg~(puTq0AlRef1M<53ZYg)_^zE+1BCren-%mlpC(ftzKbvRv5}7)$3|xqZVhc#l zd0$fIew6NjuHBW2KJvR@t*WV)QJ-PaNw0z2w0ENq=CiJsp_10B9iGKcRR~J1*y;jm zYFvh4N-PQRMTwte^JMbULhO~$e99npvDDB#f$mm^#Bsh=-^OZxg zW0_x(SRV1=`=&|~b}S5aMCL907X6=64b8vh^U?QqBW+!$+NX9XL!uEDxuURD{1~s_ z1yZbBjf&JlQq>{YD#XmS&2G+(+&ob0#=KLAH~Y>mNe;h&{zvqAr}VY|UfJOvNBO_R z?*CAhf{#ls!+>n-;K02NnmtQ`&Aw4!_E38p*(XsD$p7n^spksdHB| z_I;!Ue%$4`lr^~u0C%;F)y!);F1u#t3C8V_%=~ZUMPL2zK6`AsoT_ASWPtb%eQd#QOeU8|GOEy5#-Gl7 zeon!xop%2O=~j2xjX#Yuo_+$=Mjz-c*0hhcvV)XD$0&!K!W(Oykd z*R6V0>5*(5hS~#B#{5w>_*xaBNsSXgLjd0W=tI{T>%Z4?H*S3VS3ht4+nZJf({_23+#ns8HV zsuE^XYpW7|Q!B>P05zg3z{si$E=&B-^|}kZL#8EQyL*sWre*<^_4Nt z4x6;I;A}pen$*`s+LJRJTnWRsAYz*oGtV%~G?`>!hUuf>WiCz_r`bzUaWniuV@kwT zXbOC%NtI7BTU_>k$}=s(8EW8Ynx!mIGMCAks%s>z=x9B)`(&{mSaK5( z4Och0JeB$+vhLelb1Wm<+l;m|$aXSp0Y&%Y%d`7mnH!O~wRUw(Hj`+IN3G^z&dx)HL;@&jMaqCP<(DZH2?h|pt-nTe0j!wpFmZeN_SO_H3;Eqw2>=1@|G9-_f4R`4> zN|N-Qr?EASnc6M=s7$m`3N-T28o!)P*)e17vzb7u;%93wa!Owhsq;S2pEm)QLQwIP zdWVTH@|Z~7DQxS-o*zSQz0BQEw!<*)yJzjWFD1A2(6>4C)UxAmLg&gb@;*;F&m8($ z#lY51Z|-r#(r0tj=(wg>yS8Z?vwYcpKYp{?qPJ05GFL)Ht*+pp$uC^v6<~Y^^?Ly` zpge0jaRHMEOs|t&pw-*4V-YO^ii+jA)2SR-yIP{Tyf)NdYeGaYY^b@)bGNHQ0{RFL z!ofo~R@BssilHUF;G>i=GW2f_EG)3j(|->Bvj?k+@cqyB|5?OcTm9!ENArI^|8urK zr|6(5N;dvKhhVGYECtaXBV=e`fB*r-=0Eq~;s1#LE4!E?2TzvgqD>JX9My)1Xn+j{ z2@p24M9IQ9{(I14up>S28G8%-?`-10wx3lLa$Fp4WkTt^qi7;pJP1MBAnj2oimqtZ zcEWbTk{0)Tcg$wc#O6eG%&mkntMe^8NF4-x-}Uy8+S=I&UcS6@+vMNmFF6th3HQf% zD}3>r^@eHSKYb(g%(}_SFWLmU_t-i#+BFP0`8pdOiXOgsT{k{_zm`q0pLk@r@ zi=^zGimOFMn7UW?!-rJ;=w!$-6nj{0PTekI=eL`7{>>?BGd!TEX=^Qp54J-zq35hi zo|z)$^LP7Yz^huXnz#YQ4Z$r>zh|;%GGQP~NTS-Jn(7));S2vV?=s;(aI}vp6cdtu z=<6V<<?~wUseiY z^Q}EXCN5)21yfyqo}GKc-`=fz)vCrL%?TGA%7z@{0|b^^cHS0J9*S8(RnVJVSV?Av z9}OvQOP3mtbbq!k-&KLAE*y&`|A(bdpsio4NT900_AU&zcUr&bY|*<{+xPGNysyNe z$RPXP_O9YC*!Hg6kGd{Y;QsCXvvv1b7g^oM;P`v`W7l(6?{zv5bn-0umOuR0S6*I- zmf_MP_h)G_1g(&(8eFF^RK|%CM2@kn#{g2Yp$x_5wiL0-{3vsm7 z7t)^UvZdW8R0~>f1t?{d3+hK@h?;DF1N-K#jFlTU-QoCwm7xI+l z&6}zvl%62CLQfLd0tqMOQOcfhG_7IQ-NB5W* zl(2XU^Y1`c2zym%$IzMk z{(PTb?{B#r1=mEr9_%34n-8aO)S<(P()V%$XM#3J)*i(S4Hyyh$^}iKbqZ+)T{862 z2HnBwpt+I1MmmJ{cep#}7)f%6dXtKIWLP!}eR4sK5vC4QM9F0pkq`2U^+UGD_}6!N z8{ck`TWN9S_v5QWY9(9;`ZF1l1RnZ7&?Q|SXo+k+(t)>kBepdUw7ZFmHn>}75aNJ5 zyLa<5mKoj18kql1Y@|Lfz)8><8A1s+hVCb{99qqh_8>W_&_^11+oxN+bEwTXw!|0b zPTFg^qvjJq>-Y@vhkZ_3x-60WC_Xb09OixAx|Dv8t8 zUTiu1lA>1tYVO+!F}jdY3%Vm*7#ucQsl=8I>6BpJXFx>zmLH2DISJ$gBcc=Z18xKT znfzAp-LA6>T@;;BxEW#Rnf#sck@14fmmthRa=$LB8Fy#r_`w&(f5@kkd3VIp17+u9 znfIgQd*e&@7QSiE9{M;19|;+sh({2bi0-c9P~kioN({y*MFQFo8OpGxRN(aMv?V(M zJXur_8W7;Y-GAk%C!?Fx9K;ob5uHp)@2Dk1LrK)@NL?t9AR3y?Lq9}DZ`8pkd+%L^ zHsv=N^C0D#9^W~W(;2wqa=KOx292m1Avh7WgH?t7}_wc8fqMilA}e z66edcmC;mdmul$Z8CaIVW_FF=fbh+ZjlZ zrd+pC#CGa{h36PkjJD~5>e@v16}@g&bu%AgLx+#Q1^k>2G#|**!EY<_Ku^Qc6F{PG zJo`K*)iHaG<)I|jO`wE0AHgCNkEd`VZOtyQw5HTH9AT|{&RSIx<{FTKkN~e|T-sDN zNo8IV)=<{2BmZ|}`^^Dan1yhe<`84|+4TxZcZ8x-RKDsI2QhkuE=yz1hV(|yT0MW= zC8YY-CExUdD#R^EB4nVvTK8m;HL!j6Ei)~6%38y`wc1gr@l1ndHE);Ha9B94X@fZf54Z{x-C z@xt24{R*XK=JV`7_iPcCIE zNjy9&@@-H~?wKmVWzpGnS$S>OHkq{L`IO~2V~uQQl@8xP%97kwb>eFAh`nIS=pasf z(@v+(v2$+-VN_fB%RmL%83?2EXMSqdzmS1cZ(;Rcs3gjnbS1EK$b?SQI|{HepHbVN zSjapgEv?mZOoU;Rwy(^`X)1#_9_nYX-D}10lf6sj)y0Kl3O;S-Psyh{a-Yv>8B;5U zapd<{_30acnmQ?c^lg}1honGtaU8l6NQNSE;Pw|~#P(Ri{uJF-2|!TkEzSS%vAfKu zOcPYBI(31la7(w)<=pD=Tw-X@u|Uh4*U!`nRePCu&})JR5iM!x_E~rRz`~dpzDcvW zO+nSeJjwZi9=8zN>Q@8BMV$mGDdj6y4zY<@=0BH*!bL^!D%tjScam2r$yLl~AdLZnP#JJE4B>(w z$FZ0<)5}&YsMH^!U zP4T3|yHK0&7fxp4ee`Ka5W?LIb|43WW#eFJjEj3PA~T{8XdinfZ98)&3Nd-xV;~L5 zMQ4sVSav!ly&m)ATQJXEjh%$y_Uh}RoNI#})Q!w<4p<48)s7pD*7D+x2Wek%P9}$w z%|yb*x}c+Zet?U_qi{$Y>Z~pa0=68xo9q;NTkn)|ySZVq&CP6f)Pqz+Fz#7($>QJ_ zTL7kqf#Qyrc{zpy31*W=lM9_lcSPlS6OTWgeSAGgSF5gc^NkL*;xowKPQLkML4Tzd z!f`|Lbg_IX=UuT`;^Oq%4#PIeUyzPHBxCFx(Y2yYnRif}D(PPi`rPtOz?n0<}PktdAXUyNCLblsENPH1?bAGIz z`D|i3S$oMJI|#Qty<2wC)&MJ7+Nb83=ajLZ3XSj)<2Ldx%tCca3)Mfa0N&HVfb~AG zlf6SF9Jv2^szx(e7sVgTq(b@!qedf6`Pa6M5BGDKa%<^~L42($vOZJi+;jRYjV5nS zQ)k_?j&c@HaTmh@BuFawB*agX`YyBY=9F$WMrPn7%TAvbvX|>o<_=Stk_7V~IkQW# ziZZf;`mDD~%@90JYLl*tHBRGekMd2ljrs&92x!Ck1zTB2@uKTrp?e7-+eT6nP}$vp z((iVNL3ps*|9z+d8A=wT+{8q$%~~*h+bi$>6t^D|r1utQdaZU$Dir_<@Y9R)O}O7h9#eb%En#$ObSJ9$gEcC?Owr0G zFSe9uZE?*te$(nGL^W!{SifCO>iovlk=rfio*GY!ZDF?T-ZCc6yq!FgiCQc%`Bm=5 zz7M!-c7;$Y9th@s2HlV4XwHRyk`rU1?Y*! z*}|n*x0Oi{vi{ub{<&5#Wi{L|;ZcNS@$-g(K-B-d(;gy5NVa~b-IlUojlnSlV~yZe z#m>9L8cD6OB1ufN!M2!^63d9drSUDvC9ubBIxcuge2gYgtB6eIw`K=r4D;5PQKekC z_QF5aDb#&pv z-})~3?M|6BJb~SCDub{x=xe*(ajY}nX^6lRdw(Aqc9RPs%zj-iUUOk`b+$t_qwIKa z4ME)0XOQtOxE5-V!#Fb|ZZP>ml6Q!7%e=E?N-W*4X%vQ=>tMzCRaSW}NuW7Y!*`5z z$2v6R<(e{7oQ&Ldg}Hp#70pvbclCO>`Wu^d_)hNl=O$Bl<4L;}_!`Qr=vS%fcJ~~HP9Jqeq?{U+e zGcn_gq`%+f;&p4%+LsXyBAl5;;#O~b*Y6cr)uaMF%SJ}N_8XvV;v1Hyz`Cs&p-R#MCFLW+`b%MZBY`TN^*!q191)^4q2B1Eg^|$ zsbbz$t-}S&FAHYhh$ShwSg)#BwC;NpiC>BBJVW=8KNhhAJ+`-uf2>G~I0gg19kSO4 zKF3>-+7vo=aD>ta6imjq_d`OKzj5Myr^*KMm(nCsq*DUlR8Otsnr%cR zss*99kV)F_=qc#n_&6S~7M&x(OZM@2*%**Wv{%~$GKpX9VeV%t#DfY=iOf@eP%f02 zRnp;adKBr5+yh0d9Ws?Xy|;80+H}jNOGbZ;=F&L)^}p9~6Qs-$6)#p7r(-Vg-T!nB zw+Q23${^X_PN9EnEO}B@G?q=j*#=L+kGfR(lbhC621U>-Vt=RLzDJ>~>%TCe61;CwIfYvYopGW~FQ* zvuEv$BlH7Q&6!>W`+G%aVxu~Sjq@R7&*9$98E{DGnB#-H+c}ICV&`4u!^tqDN&`U` zFaJIKw@uHx#)qqGh?|BRD0`-S<8&!(32QAeQC59~aPBgk72rGFj;@P(e!c8!Nn^^H zPTG@&_yRo3JGJEU*e`4Oy}xo=Q&Ej0Vb%n!6RShKwJ6Jz>dtXgo4UOeu- z(XW`){`N3{=j|bB-*cuS{%D=dMEL4W`D1VL7qN1|~7 zVz;`Un+k4b4Pdt+R~Lt5x_XCt>ZY!pY4!3R-~056$k}86#f>+hL5wYPiLe%MN59t% z){W9pinw}j>WG_b+mO7A2;$(EC)G^cN-b55%Z9tY*yKBwyUj1pf=8Vy)|kZTMVs-g*#)oomfz=8Meabb zXX*Oo(DsJbDMRm?Mrk66YyM{%-wJnv`ca`%;*Dn3{SE6-rHe)s&VIVRiu@qV{vSVx z&ntda)FDfcnx2YSW-t6H9j|BPFr~h!KqaV6e5p7^ZW)z1HSfbWLry8<`?>M$yL0lT zw5WgWf*0I6yd}XT-HZQm2*$w|G~#Q32KfMm2hF{oR#Np#P3|f>p_J7$H->gC0n&C1 zE5UfQDMyvCO9AvOA(o{1m$IJoVfc*MbFLrWdxWpib(<+6C_~%}zt0Q0VA=k-r^497 zxk|=%QDL>F-B;VIek+aAyN2~Vv&ADTOs}e>I89Z0|oV(MxXD(!?>9~&2Ot47Q z1lbw#JDS(uurJAkYkH-64-Z+_e%W0Ps+AChNX1_t^E?Gwf*S|onPQM9X&zlAU{5$_ zE8$GjUXQhq`#WS{k=&4*VSmCNu#6m;`hzzM>LPWL2L*Dj$oYr7APvX4qI8%s5M8t)vmh0J#Bzc{vyBlZREI*1tg$Q!Ib&WF(Va&c^em-G8B zIM3jZ^p8*$xl+t~t)gFbwaBTJJWP#N@=F;U-RYx#I+6d9RJN|?UDm9w0s7PnuHZ(G zxoQE-grm0C8OFC7lBwTH4PV%Rd`dm(P zD_d@d#~O{9fws^^dPkx5y|?|`i*EW$GtBuv(or%WR%Kk`C;v5GOGG(WR+O@=wk)e} z;2r7O&2fB7i(7MP#Xho52Xa{kT4u~U<#5uf&XFW!r>L)f*mV#Da zqn_lo0XY++_{Iu~`cr#)yKt*hYkHe-`!@glyP z5fZ3d=^o}tt&!kP#C*+1R71sW?QOaeyyTX!);LSutzCp3rJwIsV(>-mEpAnk{Vw5| zvmn<`Tt!MYJE!58^4W|BrbBLMrYh%Qx@tD;_-m$I7iot`@tl3m!>rb=P)i9 z$G?5}eO`R;Yxd{Ok@k3KOZ>_r46EU__?qLdUho|OrPE`_5T&BoqF%RZF7R(u^I@+g zh;Mk%(}H=~Io!7@v;=RM*rFYc^fu$1bQK>>jWYu4zMFI1! zr9rLIzJbpWcLpV-N(Rx7cKz-&S`=146ZG<}eG)`5=Y0~LtU8OH2nwy=@99lXvmtdfhaQ%yPlCp{&WWBUyM~(WrsANyjF2u z{2}#Xd(NyEp50JP*I=>=6bM%7%~Vd~oI{?&Fj#Xo0O>CAZnACSZS`H#7c&!&e`!|B z-nv#rd46T5rg`Qu6oW|v0hazo!y z-iXC!whFrtw~*(yMA2_ik4bYd_x~v}yiq($Qip>}m|?t`c)^3S5Q>-#W9EW#0g(@= zfjA3cg;~L3faD$UB`<+Hc?8&a(R0Pa&{@z~sA^*%INSxZPd(wSJGU(0*j%2gw*nGGR1~hJ3_l&nE+K1_;u)w*rc^?@q zJFetXk3f(UKB!wmsNELLNLTJpj$at#UlB6YAi8P>1^1gCiMeb@z4*56;n?kQ@`5y* zfs;b?6wy~GNK150WWI0GisXt2SjeMdq!Lt$C<#)x-intu8&8G?2svW;&Wiegg!r-i zb;w5cFL3D^od-%)`OS(l|My$P%?Lbd_~G!cx3o@QsJxIpbJ|fGgrs50ZaHrKZY>n` zC4tYB*l*Y;lB7ag{@23nP?W^Jq@#q#UBV+mg1@fGZksF#D(z8ZaGngF1p?Hk1@nL2 zGATMuE9Ckhz0oD8SmM4hHQ!SK#~(Q{`J&X>IhM2-2TC)BpKnIkHUKyrW)$o{7OhiC zf9GLmic2_4IHxU!(|yGaG3ln$_kn8KqE3;2)1)fk7`SK5Yae%f&pHsps9dTN_karD zGm%-oDL4d9ML-oEhy5300J5#5L0+efp145~IQIP(``XU{d3laSRW=Gx**iwykbZM7 zC^j$Yl7u-SEdhj(?nJFgIMCi~q3F8FoU!DHc1PG;L=yOAgmJFdGdN_Tlw+|DVy-C& zJ*ULKDU7V-Kj(J_6De&)KYzClXxR{Z5qp^02CRbRp+`QAz>Gk1JAZ|ibRsE$@{OG^ ztXt8&N7CuevXEVNY77S|%w2^bZOp~(lGQXhPc3+t8Si1%`tEBW&(OS+i7lvB@ZGXH zrYfs#&P3fJHjExtAfpfSnl-86by<@K&78Q`tuE-@qv>{KS`aQE+{4QD@Gjto95Ige zRT;bW4k{fvTXfcKFHqcvk)89`p*W$mc$ShEX=X8#e<>~rLug-;P}E+pFg zX`;>Ni8g-*w7D79fQRzH8o+NZ{4vqy5~9te)Yqx6!+O9vT}Iwnc#CLrInm|{Y992s zl3Jh^(C4H6BI++tRa9?OFZx2%Uq}5lekV6hjq8AUih;3z8Bx|He}v2fAVVN`LB@~T zCP8LE=0Wb`Hq9&MJJvz2 zzg_S#=2`2UdBM8Knco)tXY-PEnG-=2+XeFj>ni8|?Lv<6+b)^cts7j2b;G=AeMDs2 z`k3nixgk9y^&VRtf7fSY%)8b-^Aqb+Zs2Vpe;%@N=0gc_cYlYB+azw%=43UJmPoV| z!^TPR+)PMt9p4)_|F+;ivx!m?cV9}vpF~omRBq*W3qFobmonHaDVtk+Uf5GoZn)oP zh0T-Ba1Y-WHeV`uHzF=M;@CpzJXmIgv<;JMh_@yD zF5z=*qx@;x#IxsfNw(zYB-NJog5Yz{+NQV+TPAO`#i);(O?s|TcaM`vTF4uPY z1vz6o%N5wpy&&gpMb8RfYFi51_UCNzk*y5dIKIO6AZ&y93%2!V?Z~m7JUg#Pb8EM2k^J$ zQ`okXdj@^y@5p&!`^*o^`TVF{i0_-9kc;tH@KbUbww<_7BC~QOzaU@am*g7$fvo4( zWfQ+C3;eb$6Ca6v5cUap40pj#9{Dr=3HYDze>fk?iGoIU;Xd$pLbU7?;^ZLlJz-z_ z%p4u}iRH+rgna?NChQx9M7a}Rn~)-3Kb~iNJj@-Qd*YYD=iz%3(&cX4CS-vR9}Wrj z*LZxNlc|tjCO!-MWB8r0FUFrlK!3=+y~D@iPb|VI>mC;DW5a$mEJB{7#S-?B#AhD) zf5vBh<#Rsr$WMkv$Ok_Nb4+|6_(P#k%EdzT7W=upkR01A5TRJ^C7)$-zfdU;k~IeQ zL%1l92sQGUpqK9nCV85)!y3l^gREOvM|eF6f;=b4@*=iHf=gZ|>*8n~gzX~ME!+>b zbAk`-Q+SQw`2xFz&kx(c7uME0)>YWPe;ltZ+y~fAAt~L6qqpkZ5_Eflc^f_(I#P<}I7wqJ-wi4UNu#J4i9+J7o{orG;ZGtfn=4?~ee=JA7 z^^~I!3yy8@eB+qLn&&7cZD6x3C3e3x-%%EhU#x|WO5v&f46$PncUX%Z7fDP3HqDY@ z*9m*}+;B`_EpyZmn}+>AjvKJ8t90nGkG5WPn5;Dp!E(kfTJ;XuYI3-&g2QK(9YL$h z(P{NLu9KMT$X?=eNo*F5n{do?e-xvTzK;4J*BEqkV|z)iD;(Q}<1o|PHke2_hB=Bo za9=ncvvxXqalB)_?&v>0A0LnJ2mcwzf;i@ad$V>s21y%^8^dxGCq5_dj0KNkzvtv= zT;Cbj9Se@d!t&0zE*zu%n%K)cdjj1 zf5M_Y=7n{&Y>yAeSi-73N!YNbVq0`tKEN1%v_B~-C_6YV^Wc|TCTSWVi zMX}!{eS`h5xb5TQK97#K`0bOH4*QIy%RXOU7$ONwBObf5~{CVA)bK@iEQTDHbWJSgHiX3gxPJLAfSgQf`WM$}N#mZsYM4 zIpq$qV{reXqzsc!f2T5v^+8mX2{E8diC2|b@tU#_)*l>$0osVs@Nln3H%Wu3Gi z*Ft4jJznf5(lJ#u?ze@xIY;RJw?) z7}t#Eqw>(WW!y3D8xI(oiDF`zgfHeX$xIrP$>cDnnX}9}rpV|wx~ivbLop&Or23-7=~k{FAg$JMr8ubRpuIVlexv*W*DOwDsaRdW|$deCX7m`z!6i- zEVIBYk?X@(e}s?3-{D_`U%=V^_w0a%fA-%c8~PTkkk3JRg=9nHNjCJoBpdoF$%ZB( z2AR-n$P6W!oNeu(5mKTL9>StKX=5t0+l zCOOfMlALG`th{-23N1kSILV2gCOOehkeul6lbq-ofAp{DXXumYe?rM8nbAKanbAKY znbA*?%xEFWjDDJAMn6NPQmLqjWJcd4nbBgB8U16D87(21(a)01Xer5z{t3y9mQl@= z2bEJ^%8UM#WJW7VX7uwUGx`OR6TJZI{lB6wQs1Y(kE%&#^vfhO`W2EHt<`jBzKV3@ zU!tqie~f9qkMyv*XOKbjNb@tqz$)H{v80fK+;8iuArGB4+dJCo^{(}wMX3-gg*-g|tLiFfn7{Yps~`;vd-D%^SDCpAGV+h*A1g=}e=NWF zDrla6GXG4~74fOAxgr7Ys$26)G)gp$G>9~+x)Pa@rrwoV^GdXgw5)noqFqEUU!-Nt zE77sAS)`*}`n)W?5?PUv^4dMpyXuM#yV$ze?~aAc^PUZwE73dBKhi%D6dZK%mFO?y z8&Y*is|)`nyem-iDrjBMUivh;f9fje)fgl$#t+G8d-SpRq#M$iCjw~EA%ROII`AU1!D@v7fgz5lv$q= z*?93tq|YRoVJVtGSBg~a>bs1vQ-Csks(JX$}R8cmniX5!JZ$VmCSMYL^XNVG$=bF`cESmVDu z+7qvBh-OE#^UG8tza-i(e>zZXY1T3#G)=B(Y?kFOkKP+u7#)^h6pf4gnCQ)vtUDGR zA>7pHsOZ@IInfExqUhA<%;=ox0&;n|xuT1sC7Q3%Rz+7wH%PXYnv9KZj+XK? zc~W$j^k%Q-Wb~j|E{h(EmPb!U&%}KBCu0GVf0}`jK&)=8fyCNKf8s45cN@t(&x$pT zWk#09TE^PR9CwOrjCG7;MVrO4V%=lC#p{!01_H65M5)HytXO}!21TaDvP=ZZ#ayAc zkeCr!Y=}@KvM?qQ9~&w1_hX}D<6;wIlVj5&qhqsTb0gEDsj-ETk+CJQrJ}PUwl=mg zwl%gRHj5Y!#NNlwfBx8^*ddAHRk0(n~T-FrE=_9&a6Q9|^`gMYhJfNc4`^NR0Q0_lbukg15?Ffr3eiNTfj`5tkT= zG);_@YMYf99a)$dmtQUs9FZyzC|oU-A~P{DKRYowf0T@Ne{F15Vp?LB=C#C(cq=hC zu`sbDu{5zFu~s5fDu+~qrWym0Kw@KJqiAeREX*%2>{hT{Y-znCg3+YP5W&qN?Giik zPezNR8on=gBBIww@}_@czi=ze>{13iat%BG`wLXI6O_OnPC6nX~Q#yHy_?QnmW9F{;}bmOy#0>C8B$W zcZrUTtSxMzJ&E5X)-`t4#s|mqB7t~RFX?SF>33%Q0gaFN!|^e(V0^sXokUCoBa`D( z^Fup9-GQLXN##cp_#MepOfAr7a8{ZV`7=J*nb@A=d5%Hb! z#7r6Y;iyw^IMP49Cw?G)IDS;Jr!4+i{Of}8`6nY;`7>jg(Sgxa>Df~5oQ_u%IK<5rv})$L5bJoDj(@ERsByx?4Ckwn9eOC^9RWE-^B* za89Im;ex`&g^MM7f?~6zaCzj2#Li^#-jV@F3pYe27H%#q72H+0xA0)$=E#!5vchAr zL}7X1NzqO%JQL58t#2UKG2xS3>6oaSXb|fdfBTZ%RGa@jXa0{nXGVP^_=ZEO{#y-0 zoBI4ihxi%}O_M7_uI59V4-O6v4sAWO^*wv<**moT(DwQ|c+lWM_ZQt?gshWXU50iU zJaO>Ep*`g4BbT=8DA%mPvxbI;hUGa{%FL8!i*?pI0oev*mS} zb9vwTd5eAsWv`IeRH5{LLd^_iZ#C4n#Sf&mLLDwaoegCllGkoOjIxi*Yfq1|J?dvD zySI7Gv4oO^A1HM1#gx-fUWff_%E=IFe=dC7qY*-*YEaut(AXL@;oqPlp{bXknU}Du zG^YkF_+gZ*zF#a<@=s{Fq1EX%u4zpK~Vs(M*f$5vgae=j-fzF$Ai$4T{ht(uoAA8o4U+wI@))A^cGy#`d} za8-Wkn&HKKuJqx1F+IfG&)F%oN9cg55xTzQ95r$sQ_g2XU*}O@^QM?OnNyLsDCp#| z1_W#8nfgA=#CuSE;??J%tZBh?Gu~h`E4bQ|OZ^DSniP~ZC@AYs zaF-{S9M<)Nyj^DUDJbhq@SvB#QyLT$Yg4zh{rMVLGq-Bw)%p5Tm0MqXm*`U(X-}!} zTF1QoORnsVLPNYdCUcsrd!lkv&qC^Z^_RCN$X)K$GF|_DUY*nUlQlY5?B$BRkn}fK z_dmL?kvPj$o4SuV=G9NHUedO6-i3YB!Iz*^8Yh3d#LE*ITR)#CTU?EnUxI4x1xqhM zo?mP3>(0}$YE*MySG7m`@9fQ*=6!$v)iUqGzN^|EOZ!UO%nLrbD7Pg4LLD#8t58 zyo-PLF+!nP9?dmG?y3ES-s_SJIjA`ilC>_hwp#v)UTCAqw~(ySp&df+o3*Ekbi8`T zQa|aKL;HmedA4O7p(EZnJ^hfJ=|W!$of0~mM=c6lLUM)+rwBDP>z@*JQuYMlG@%Sr zkHgKqIF+?9+*+u;P$%QBa2KH-=9~}?8$W-A?=t#fSv$gcLQ%5^)cRjlo5QjOgdg^( zy;)~8w!>qL-@~#84No$07M^1KsPh<};oY0<*_dx?d06&{Vc8#srS^nnKNgmKSXlN| zVcAcGcN+hO_jq+o$A7?kJ#6A3EPJ7_?193vMubmSiywKW?gzrM7s{2rP;PBc?$v+X zT-gugrh4-yd6FwW%9TApZi{NMT6GSnTBC%|ZEJLLI~Wu0rM_2vzN8GH=0dH7+6#3O>Qe2shfp7(u+UvXgN5>hqCyV{JuEavXuQxQp(#Q$ zgk}rP7g{7#?9nozRYL28HVJJP+9`juN9cgphr`}8kN%U_&xF4ANcB$(Rrq|#j!IvQX8Th#jdR4dD)?n1qVf#tHCv(mOeZfGmZm@qruu-sSFjKCU!FIup!K`5SVDDfs*grTZI7C0ThDHWQ z^Y=KpCI%-9O$*Kn&J8XMF3BkiE)A{-t_^MsZiRLP-w*B&9ts`_9uIyQJQX|}vO>wB zlu*M^S|}sbJk&bWKGZ4HCDbF-Cln6d6&f7M3q?Z@gdPr!35^d;3Qd0r%?Qm7%?~XK z6?1=CXjN!kXj5o=XlH0o=s@Uj=xFG((AS~Up^C60R6AThoElCKH&dR!TZG$&JA^xj zyUEp4u57vVRsUALpIrL)K)LP>4-3cT8X?!H@YwK#a8Y<_cxHG`ctLn^xFozhygIxg zyg6JN-WA>(J{T^Om7#y}C4Y&*=lv2xGQY%7n_pt6%P%pc@JkH!`6Y%1{1QV$eu*KK zUt+k5-(YB*5=nW)cXi66DU*F|QeIA3>g$@aJmn4F9Vu&5-tzTL*_^V)mzz?W@+aR< zQ})&K`v%mr>p8yh^-}8H{+TvMjT= zXDjH*`+GFVd#>IaV*bvI_*&)6k*j(}DX!L>s+LjaI-gfL2ZMDbFMOI^Im^kf>ecQWF zeU;Zm(%XOS3V%Di(d@``C7UXe;d{W>b~+>1aruzn;mMWHg6|2|L9-|R`O3LX_%?1K z{qIaG`N!Npj+TqXW}%KN|J?sW9;K>s)J4YBhLco_XN&YwhXIa>t#IeXN;^8PQ7 zM4WwsS*qhZrReVieh02sv~4u+#LfWK_kWCqCGf9sw-@@A=(mJF3T^^dqJP4X*t4?T zcZ7c@N34MRmhcrS_vg8#f@O}xl9i@9z7y^ff`3=^AN3@Hc6;okf$6l(2d9HqIhEYK zU-?U_x<$lTRPcWEZwGGzYk}8+)4{)k?|8ThEC!1}wftXr z?>DMrzYUgpypHi3+TQJqLlN|AIzo`!$rG%TlKIStEc>OILywO@?pLGVkD7k&SH?C%20 zJ$?lBiqV0ur;Uif{!ErlzMm)eul1_{!gf@mzjTRteU=4 zZh^?JprTF$AH!o~(P>Q%egOX?aEVukVm zyi^;lC;gBw_9~L{m!oqx{B(blx#)kwSTuM%q34>Q$F<@Rj+Fq^yEz}vyQ!CGLGq~2f&Pglt!8bwl7lEQjD7t@V$cWS0%FQCj zE0F}j=48Q1wP0UGel=t*YnRlCsM8o&!F>79JVD0Yra36lzLrX2a0^+icYAO*pDOf6 zFI!dK7WpPtv23+3^YRvzP$Q}xE9P?ga5*Egbwu`^=zM}?mm|AJe|IEz;fLdaZv{`$ zY6vyzE+j{(TGt0Y(3O8zdoE}y>J!u!ebypyI=Crtz2G~6X9T6f}eP(?x)4iw_cGUh( zCq?j>?(VF{ioSB5_z>eA$r$Hr9k6erhTNcNXE-9U-o^6sXg+_3<^KcU3(Gr*iXCdx z-$#4vTSlLcgLk{NMe-f{kbYRcjhSkRotmvz)5d><^T8ZiDa1NXzN}w^Xoi$?G(Fdjgy5w1;*F zMqSJ6t@flDd~1J4PA>j!jQR~n_S?QM>DzYNu0W@=lhBGmtNywlw))$j3(j=z5X)Vd z!4=Lhjcx0B;rC$eQxDbJ3)s2E^O7U{$BGhfO?^$M<8oJRtPw7*(ID5%u&Qq%CGiRS8oQ8iIb8hMlzKgZS*gpmC1xsi<5bR0Y z)yO{ucQ_Kafo3|cK(V3|R~=`kyGAMi&kBrmbp;%ZuSVd3@6bYkG!%yVtStj0?ihkD^;I3x9Updf zvU_=fHL<69%>I~_rHE>|nbl;g?rQ7>?4PHyHZ4@N$0B)(-BCGqHh_D;55Nzxa|D0f z2|mJ_^&uL_;H}w+n-`>`W3t4R_qTy^!Qa^F<1oZp7ujMb-Ks#|D9;o1#b=f zOwgQ0$AW7-EC!1}weT96?7E$mDiKskSS9YgM8#lst&f0x!Dl(kj9}+El3i|3_S=hf z7wR-8ir(aj=-WkFQ5__LI+kPDzs`TdRbVk#1d28H20g6@-Xe0gxvA2s4%QZcL&1I6 zY={RQg*e_9U*j?ETj`eUJI0C#6 zB%*Xj7pTqb{~XPpS|Q!*+-<^t;l3^S9P+&$jsWiiw}3Zl)Nyw!lC4Od)}4Q_{i^1v z|3BG*HwFI#e1tt`24}Zh+0(XW&peg5dW5*0s{2E$CzfA_e^mFn)(ZOeSLAj>8BfD70yj3=8KazcNQESSsP4?Ua* zjsWiix1b~bbgt2-xNqw_z=D6O!`WX@dGkKTDZF&REhZzH>Rp4J$B*iX+c~BZcfIz+ zSq1+EyhEHg=#Ot#rCq=}ZbLzz&X?Ob zkSqK`mAlsv$$teO^(v~?pLJB!>F7*G|7G&-bMmMTb+r?9cn=dxbp|_VMUwwh3wM6Bwh8$;_2`!(SL!qybEd< zsU#59Y7i(y{xz8W>doAJz)any ze4w^_ncO|i%C$z%%M!g>6ME>~q~5GA3pAUgUabYUP?y$%x{~(c+}#TKA>@aUe}Vi6 z@(+;@#@b(biaD2!WqsTOuF>bZhjl~&-p96=a}r<3N;jMH_&a*;mMV829{!d-YhAik z&)|W}$og`!dxL+X!@HeQXKth?iaWVmhuu+~z-`pSbL7H2Du&)22NrqNLtE{mZoH-E zanYHBd=CAmUIiW(eiePb!?{}U_liyi{$IvOKVo)9p>wyVsgkCgiQd&QI+yDS+UB%w zn={>h&UD+U$&cZObmqN{Ieil?ja;ckfn-{J%Rb>%J*R)WaYxP<&Qxmb1GIgBwo~Aj z=(DUJ^Ta&nKpBKGNM6hC-5*hM$uW|yh6>?T)16%ceFd2 zUa2ShqvL<0YOSY^xq8=rNY^jdkDdB>ehoc*QP1P{0r)TU6mQ=I-%C&N_8%EbJ?)80 z?l^ZljYTq_{*Sl65PaO07;uj3=WBsKuqV7-pVX z1O80U5%xcH?15A~(1%lb8Lfus`Q5$}egk(;(w~37(Zl7)zv9!M4E0Q)1yAn+-p6&yIQ{nooi&-KVI8%BO&R4Pv1$7W!hL7n5JlkNcjka}q zz&~LS$rEZ#a6R&7U=!AK@r=8h(ZwA(720#Lc`NqK=(>Q9>Dg2I&nU3j3Y)DMX*nY; zS6?}ItK~os_kHk5jUp^8Gl+lk;CthTu7Q7Se5DxT{C+^s?=p&PeNW8U&2zKKppUTd z4c4-Cozh-O%~5>bxlZt2XM)H_Q%gB7%lTUGJ`JWL>EcWjeuSfaYlDPJ>oj35J_o;2 zv`ZD;or+Ey@Cj|}w&f{TV)IV0Gq?zAMaEZH_yTN!haUxpYpqM#rXENR;?L8Z`wD;g zG-0^%NdeZo`}MASJsvJavj=>>@=4p&T5?eLByI)g!CM)ZiH%Ooau4QZE__2QWTEp% zeSg3nqW*W%n1yA;#x=Tr*++GB_ABu9;m4tK2y8>EW?(~RGgaHV3w6fbMaXYP^Cf2a zY2~fYk=z>S2O^K7IsDXcqyRcaTe;s{phz}oAxoDoIx2MTa{bs^1Dqr^b zeJv{A)o(adzM`MwgTuj}fmxL=2@b8i0eO*rqX2oHr};9t5DQ~yH3mr|aJt~{Jqt^D z;!@RyrlpzoWm65Dtt z9ZXY+pHcho2H!(|5PluF3mt#sz1)hQh=mUDKULo93MRk>JY^TWPf_}y{7~>&aB+q1 zS~p_(Z|M9d_%?T+$Np?HM)<4Xr=e4U&NVz`4SYI%TfyDkXdXlUq>rDwD;|7~=;t z`*>}|OTN?i>T%@lD}szs)_3bNMc)zlA~2@t{{Z|u_#Ha$z*m50(OiGd)0=}C;7#DC z^w7lT4ERsLw2JP6{o$`*-Y1%fRk^hkzIBD3)<1ynjGUOUk`x2PVc-!(XAKt4sb>Pi zm3K>tgd)axxbk`Zv=seco5;c14EpdbI@|D1u4b-eTqCkWaT@wRIww0H|34V%kHH|A z0DDweV1|xPQ9P-b&E0=-Sk6|7#EHsVAa9TN_JgOuGQDfJfBeM?_fU!e}&5J2f4cgJc)%{7*QiLFL;3Y@*glWh-Y3f*#SQcofUZXeN&6n zx6U3sY^p&+_+&h}3H?nK-Sk~A_`S$SVeOYl<|*2yGJHoopT>XN)459wNVKcX%V~Q8 z{~x0N0mf1ap9X(S{V#E-{yz*J^W+)W$)FE&=%GgMtKb^&1ajm5UxNd{`@zRO-q_Sn z3Vw_J3gp8<=E(OYIdvSr%>(~jd4=FP##kH4Yw%6T%5_9V82L^{eT=(}8T*OKB_ip@ z-G`9R$7AG_eG`9tdn}}>pRF5^o4k7$ybqiCSjflbY9vkIO?5Rfu!H`5il3=$eutU5 z4Lhb9?=-cm@@DlRe5t9!Xii4+TCWc4Q+6XK$DQ$H=r;IoD|<;l&04mQTK9o^$+-=_ zC-QRad<#!CwrYV?MXQ;q4CrhF-=P1mR@@@UYUSUK&I*51H$du)H4`s&L1zzWsuR&} zu{McU<-B84Vf-(FBSBMlDoh-@%$)v-vM6+%gBfc9~ zkJA5_${MI>_p=Y_8B;ZV8x;L1wA!lZ>{oxZ2iwnxWC?B4^<5EbIc*1Xx4EJlrquzk z6r2nmvGo(81Gf4+&mN=w*Y_pFno2smgV51az&e%q7AWsqfn+B98P#`Ap}$Mff70Hl zqqApgJx6oCqO%r$JeZE8j8^4}?jZQdU;}WVCy`!R?Uc7uwYR=mw2dp;V-)?1=!t)A z`4!!h`kPAdmSw5Lzk$2@&Gwu9;^&Hg@U5P(HCd~KzF%amvwou^vVNugw_enISKgXr zP14A;bhXV;egCWAR7Lw~bk-D^&`u-r8tLXc?qHSZLH`WGN zjkQ)-?_tyMAM2W;yuSp^Y%EmJ_DAqX!MFW#qV%tz56AubsbX8dzAG#BQY2^n`uX@d z|4CgPG_(9C;rloZb?4weto>2+|HMiayuwze-)v5*Ef0NW~xH9_CU@Y8?52L3~6 z9@4yqKjK5*W9L)w@8tVzpHJp}gd=w=N&*ex{|o*y z<@sEGVc^HeUsbuQ?==2Cut;za*aQ4b(LM&gqUhE|epbp1Xf%2XhlE0wYqTkUHHTFCxFg$ zu$a4B;9rCP91MX!L(YiobF?+qc7RWUG4KO4JHRt8`yV{h{ zEJc0|{8IRN_+&NwBj5|*4Yc}wlB_;~tIg~v?|cSUnmJP5t&8L=d^dkHM@VLvnNr^V zIhY5Iz}mfLzG#(XW(^*n1imn{hW;zyQSLTVOlpecE&6sNnp42I@efbGogQv9K2eF4 z4sSe$pPhwZ7Ei?6{;#-;C#`i@AnM$i;8ye(fbWAjAft9nq|KwBM+A~ew;lq8j#kbC6@OtdLj!rx5<4@}+v|WLmEOSk)MtPRW#HJ?pu=8hlG_9v; zbpoB=f+j-no;}h;GS9sRUoBPie}&|Eo@L_j7VtJOm$tj$Z^nN@d+<~6JLHpi)=>DL zVux|LJl*Yx=2Yy=hR5?3^}$&LjsgduW1jdI&_u|a+${u|7rQY}`~`^TlaM&y@We65 zO-&;Q9h2Q;u3HaD1CYvK6BRbrEK{kdD%O|i)7E(yd>LGV+|)*R`#mJv;1BV1;>sp> ztgmTB)VU^`%!q&1qf;CGxk${sZ$RD;Oatk&P0b7xVbk=AsBk_4$tj1}@YD0aMgDgowz+gb5ZzC5eEDRX! zt~zz+P8N z%&R@H9`JvRL2&~3cZ0SA{!N420zMB;3CMIZ7}^fWQoyEYEd;td=ys4i1`hbv6oWD! z=;CPo26!19+(rBdx)=O=-IHz zSD;4%-vpM#wRv!D24wC9Jp-*NpgV&vff!5ZJg_`krvm!}@5fauaNi{K(C<0MYrO-k zjcYM#b`h-@5l_Xnn0~zxWKT6`%)};rD^R z7<_oI?fXDqX!AYX_tg#HLxw*K&S|v12*m7g*g*^dz7B2vJXQtP0=7i!CeW2}RVCnY z;BVkR4V^teKLkDKxsAKn)gUv^yhRbS_c4ONs$Y8 z91Mi@BskV3+;KGcel&phTK>9#&)Xh2S%Fwn0`n-Kjr(gH>ycl8Jg&8d0Y3oF2j7n> zpv6z%tO30bcZVkkcsNhPRqzwr_j!Lr%ODeh{2So-GrJu8R>0gq^jRR1Tyey%a0`I zK>IU=*%YvU2p%Fj0O9juIuO1mH^Toh*EZt04POnxh7uzRq1A%CKztB24AMw`R?}(L zMlyeu8Nq45G|h3$`*BgnoH>X|I8T3Qgw{E>P3F0X1mk-+Md60SPl7)U&)tP^24Wcw zdky@K2JOuTt#Xi0f`$~do-i010=hS_A!N=$!)4sPU2w8dMB_Dca>5@4=bBZ{=)oz< zL7bvg^G`p(Ifk>8L*TE+wW&BW83mbhz!CoWi5WFd#>qo#+x+cM6@wxkrzn4$Oeng)u)Y&odAm!06!d{d1sx?dc)iuocX}jz+whtGcwG1REvy_MjPmM=AA6xWN7vP z==Nx>2YMOk9grLYIt;odTEE9tr@+bTYXj#{%=DxTWU}I_3c&7Y-R2`&bA!H))>omS z2>9=TUk!9Aw1zA^~HfS;MIdCCb!v@)9(C2^^AWx8)1}p`fgw_%0!%WcKLC?n>PeW!j z=(T7~hMoxcy>XZCfOCWXoBs3%=PPhhfm47OFHMYXF|!a`YWxtKQ89mW;#UBg2L*jF z{I|>;@goLl4|Fa9PRHGELh_p5HzOks#LSa*_kdr|=;s$>?`wXHn(AJ~L-L^E@C(q> z8v0K{TSp@w$_xH;h88^biN-`DZ>{w23!TZZ&m6JJ5dx^xQFgrhu{7P0in6kdFYiGswOJ9sr(#%wmJ$e)OjuJf{jU z5qDo5%)aJO`tW%yfF&@ZA-@0nGwb&R`~wEV&?B+>^zK)WF_aV6E-RSk3>WEpG2hHt#d0bl)nn!{26*$)*pGY38@eY4{z}P$n3x}cqWoSEtdF*T? zbfkg)tQ+U|Ezn@%=ZhwO>K+;o&k0Lbf=plB z_j<5e-^XYA{<^z~$eatk^|PCwUyKb~m{?>j!6*u3j6cegO2qfIr)u=bPvMHD>`@ zyO@7x+sxk)XnGasbD+-{+WgH?Y_NG|J~jjVD&`4Bt>Hs_lg|b+-+H(*cmy+G(&J-^Q(^KE}lqotnB*b^aWM(dNIQ|S2tXp4uW!6)Rs z<{3X}zK>{P*nH|y%boD9eYgH#JvpvvCwts z?*RQ%@LfiRKMDMX=K1{CB>5h$Ep7THJD~rDo&b7cXsyO?rE}(Oml$u5A!{7WevEV_E3w2R)B~ehG8~^F07s=Sb)= z^a9LOgHR$k+GAtShpreq1ZX&)gKhwNFzAN%MvV8e=|B9fC9r{QS~~z6$kOmDL)Qw; zgN*URyWxQ)&F7VResjRKInZ;11LS{4;D4-fIOr!q4-PFyAC|+5rh-2ecl-?aB5(%o zz8Uy4IGcfn9t!&m#VV+bX9FlbL(}=q(*m)m`Mf?>G2MJKRbC*ao7GX=eAXYU=wrHG z`?2il%QO}PCvR*#S_?o=0dSxPIxD8@^&9Ku>q$3#D49MRe6tqvrGJlmZPS04kbVvv zgZY6K({}<*oT-$4Tw}IaU1SNO2zxoMDTyAB4N0biK0|s9poz)dh7F>xNWZsys8!tp zq$6cU1|^b1Axfgcl$FX+RjNt%Q4?xMowbfuIxh966dFNeXd+FfX~7jPNyxch zYE+Br>bU<1>3O4vs22^OM`?c~jio2)S$YA#vFTr>D6HdIQA(f+beF#S{q!KUr>?}Q zHT9-s8iHR0okUY;x|SA=TC`|LO((n~!m4ecQ&04D>d17`u>0?zNzEqR#u7`Ozu61Wk# z19+%Mx1qhn8DJXl8Zdum(6WG$9z6!8SnfFpoodJY;q z(3%LG44ej>349Is7I0qgA>Ddd3xQt%R{+-mw*dD6PiV#6tTf;?V9cOxB@Y@t(2fA( zfr-E*U?E@$V7cVMJ(BGzz?#6iz=ptPT4adb8rUA#71$e?3><#~95vWz8wZ>OoC2H< zd>Qx#@SVX!dJeMZ0~Y}orx^Yc;0oYs;CkR@;11xvp?aq5BfwL@G~hL0%wQ-qwBMlK zAqSWhm=l-}SOi#V=)fK+p$fp7z25>HL zA#gD;6}VDk<;1S>%;AM?fLN^Uc4h#boFaelbV^vuISPWPOSP57iSZC<) z?n7lgU}InlU>jgZVE3WJQ-;dEz(K%az|p`7z^8|4Ys;y?8NgYtB_&*@K9EdwwHTDV zht|As*M=NyQyT0vLLnNrsSqtSs^wZ`+_hzyrVjKCr=G5^8v#q%ogdbBjLoCdt(EV` z)^~!br=e&z<t zfj;U)-)NJfazi;Ce%!Q@jzbtX=5+j`NPkatDm~_Z(vX{iA6u``IZ->5Ps)mI)wyCT zSKUZz)hRSQ^Z*v0n-_7mRQMb;-_#D9y1Od)@B8mP=Eu4qz? zf{0#zqXVMnuBbpv?NzEm$8O>S&a~Mg!_+ymY7>v%HdOm)#JR&bS7G^19Vl&Zryk-7 zQ?zk~;G=VXMybE+tbRUu0v|!|Q@;USApo#V4NXd(xxTKX)#3I?LF1A7jR@F^3rWf} z?2Cloi&yD-T#2;0qw{8+mb<%HyYEOjXOT-j0CYkg2zN9RmBVLHDW3<-KK)(~PeMFp zp=~FO(L?ncH1yKGzoZP#)kQtRNbCJru(}1f0(r)QW*x0y(go;2a932)rWmWjX}wi- z<+nuby*4vad%U+Oh*wCR6L=Rh)ZDPs0`+c0vIVN{_*ua^dx7ry9+}Deq{r|&e$6?n zfEOl#%=nWSZ=A}%SuYmv@!@OxTfFQ6@>z*@I3P&nD%Fdu^04}!su_Itc=No*xpxu@(g* zxgzDWM8(+oLm^rg8QA0w<CsU)o7Jqg^?S@Xi}#T%t)Q41G- zo#4o8R4SAUVKs_WA{#G8pNPuKSS#TOyElqkqo6I&pJ2$#TPte{lQs&TBPA};c=DFu~OA#t#lq zDm%D!@ULQ$m&d6!JfAvWclE1tROK43!aRh9HLL4X)f;Zg+!qIkb)2i)%q|yiEy56V ztS@b5<+*Hs4X_J18J=;rR}pJ}AD@}+KV(x^Gi6&+hdPzI-r)Wf=uW5;vg-z|^M_~% zmePWJeRO}t|BQcsjnV~%6430nB%j7NjLvoQ%;1TtTR}a8PEfv6>7-0QDSuY@b5i}R z=#p3wM=1}l;7<`OAy1j02rn;4k&ImwByYni5ZPlZ#VsO!Vt>beplrCPHdZ`TewCoh zlbe+Tej}yEORYQdH(JFdvG!M1Q4XkeXn}|gaR!- zQKTwFFCSFW@XqbZVX_F-5HMCQlPGksXw{H8Sd?gtqbganU{zK+UEnM$U@L)F`sA7L z$)mEUUz1W^L~jf%D?PX1+AMS_%T&@nS7|Q|S}VU-kZ#mHFV;B8;S_6J)OSv~P!U~} zFUyZA-*bxQER~t-1Wp<_r5{S`PiPjEj~3nAbhVW*O0(Ju=w`p3l(k9REwVaCVwaqr zaIz}>T9mdZFrX5NQuUYxxr zq~{l1U((5oszdbTa89t^J6Mu$s!T3$6yc)Jp2CWD`{p!d23(?Dg~>s_b_t4Bm#HRl zy1Tl&%9~aPsrt9MHFjt$pk3Y|S(m~XSewVcsF5#;*L&9L3{=op(ua=Mz{Nw!!pP3q zKk{uo5L~`o-gj;MJry=nL|}T+1DW;vQR$ z7WzXxonqq#S%T!Qk4P(v4fEJSi>@49_E>9P^{^{F>e9YK>8+p0X zlJ(P2!pLe9K4c8^616j4SMS|JB(378nds`JzWEs=KqPTss_o0^#rFFNM}0@CU$_jmNxPY2CCM9W{pH=tipQ=y)cLK(K1kS{dJh`h#yXts%v*PF$J zp3y@Cyu*cdy~2fvx`c`3Kh4XZ<|p(}w@>xzQ`A3$1q$0>%Z3I-2op`|){Bv(+s2Ch z`4pFJqFA9%!TlW8>IH-gIlQ2U?nBeW{ZJ#Z)r)=g6NZ66rv$x76v*kN_W2oyK_pRP zs}-r~rSAF(OMFMCL{lqp(u-yC6CV4VhY{=N!vVtAShArBkKyQ)1Zo8Wda+@C!c^bT zOL5f-Ec9Y6{Dd!HXcTyA#3Fl$8o|RCK3Bn2FP8Ju3{3+#=<3C`eKrwk6zKmYLV}Mk zAkxhLtdZ*PVTuGFPw*Em>mg#*kM)c!PSMq1eH+5k=As&9yZI%oIIDGw?kxl`{)R*A z9~8Sv!K5Y&Hy!+Om61Y~wS4&pF|>a-gqB9rHc<-u^`g~FKmF#+|*n6;0=x-n|gQFW|v@Ng#V%&>Q3%VRa*tT`5 z+xAc5rbL5-8b_s;ip|Yrh{k>P18epdHx(7?bYo3INezAKsW3J9@mej(<6rq#D(E*) z!T9TLo8pe}%@<84F@~F_o1%vhMc4;FZU($+<-AB#!jugf)rgnE2nIN>^3~|sUQ-7r zL(`JABCwGF67*waTIB817d({WkK8vN+PhpEZK9+wrCKQ(jO`G#UCmD}#%*q83UrI}PXgtJ`$P{NnuvZgdQoVg>`rzFEFBNV%A~4Y@UqW&2eC}LDj$N!Z)q~XeEF;JjT0EqDOEi~gc+26+l?; zGSkfI;3Z3Kj#gR3+K}WkW4|w|A&X;1{3etRGR0H&$)#;bY?^ghO`Hx8j<25wDhB^|ykW56&NnJ9sX8xUOY7m@oUFbnp@M z#6SJ!4M9Ale3gGk-|lt2*7o|f-T!dy?ZpT1^&nmgzB2IjMPD1fvh(%IUMs$`@DUTe z((sYzy>fT=&|kCogz6ruJ}SRccMk!3%TMq=@x?co(=+BV&~yPc0ki@FVKpJBw8GR^ zF=n)!VKRB;AhPdaqJtz?32qwP#5zB!!+s46@1kC%s?l_z=!Qq`lGlpA(y)c=4xrQ5 zDu0so4I-^6sxJIYy!q2GMM=$Dv&nP`dx9XzLs9#3k9ekydz8?I1lbEe0d}ftGNG9GF z1?1(@nM=S#^l=QtTq#PP!a%Jde+>RX=BPt+Y zU(|<&FE)E@df(uwHDWY^Ay7R$E8rj!zK+Cw0&yMcwJ2`N)W^&8K#ZOaSBsfWM8E0P02p5+*CM))r9xpgpaJh0h zXLx3KX1-*!0Wv&CV8vbYJ?0=52W&3sj3OKH<^;_(+Px&_@z#S)7#rc{IL+0{T@~l@ zR@c_WO>7(K<|NJa&h^T@t-Y<&t)nI9OV`s@#Fo3w?>2(XvFj_=yKK$`PU)?ao9H%@ z&518D>ucUC)_YCP>#fl(=bH#NqRsK^tLM8e&Yvufz$U(pY;*GZ`uX0y^Goa7CYVi~ z=M2w2zDsnA=%(R?{X>A~9M3_P%XEwBrX%MC`t9_+{Sa?f_oy?(;ONtOUhUMS=Ab`k zw=KrGFytB~XE{9q7-lhX zp~R+Ih9HuEV#ZP?BSP%7iCEcd%2L)^C9Dh^S!I!0dZ6FXz%RKjMVmQ0_l;J2wvSR~ zTH_m!>tgFuWTi$2y1h>JDISUK08Z>+`puz{sEde;0!19YI5}1&dS%g_y(jO-6F@Nx zm`v4t07uIonQ)d4pv=R`kI{@&3dnKM1G%S$so!LdO*0(zv~}vDnW;L$S!cP91*1_u zHd3wq6^|3$Bf-E#kfSsHtLgU+*7jGvB>0ci^FD#2f9|Pu28x|844#ORldv5T0{jf0#X)={AgHv2NKjl7Pe(7Y#$(flk zC4*61K0kSUack$n*_p8=Lr`2jKYe@&XBU_0H}%uBCjPp3^?sOdy1A^?B3ENeeo6Yp za7!7noUQDfpsxCqVptGi>bY2*y?UzuDf5qvelh6sNzGX)GbWz;L%06=4VVDN%Rb3; z+TN4v91l0VK0X9oY^K=9tG34uO-L#H8ucnm8F(G(dpYZMl+y0>y-S!*ho9xq*nHs& z%B&c0q!(8)?@<;Ft7}&mQoW~q@-Dof2t*8@pm>wW{$0I7r%hzoEwHcUpe}a)sF#bZa+p@k}!qaE(+o?#j+BLlUW#}SK5(B&8rLR^t-4# z)Xcj2^;PvLq`;5^m@6dHR>5a$=5f?9`Z@UG*1kzh-RT)qDH*AC`|jhlo!!s)KhGV+75bg% zK7v|2`^Y`)`pnp;SVUl@Y9u&T*h+SPZv@5VXB@V;aj|m~&&ZU}Ts~WSUcEIQdN^A| z*QD|7CJ1J0lH(-l@7|{F#@AQR4{^-5EGJ}M*W&>X$P9X$9fq>fNzmo*u;a|nJjnMf zA1tkchwqoUERDwe)~QwJi}W|#GUh58FESh|GUS~n6>UqazO29uWf8Qc0DAhM$&PzQ zfkwwi+Fp2_8OgGa^v{wCm*egaC@BgYL$U%WBID<>f$-Ji*$RE_Ig+P zTVGR6r4`QlluJ#f6~_AHeNCqo!TK~pjsF=E*F;oJ{uw6MluS+h;ri|hmZVxz3zZMr z@__AbTMMC0m=l1EiUkCk9_Omz9>Jq$rA+=o&B=Hsr4a9?;f^-9JWV7NKe(f=sMJur zM7KOu4LAX*CY;QE-IqgsQ&>>x=Jp6!JJmKYeH)YDxueFpTdan_mguM8;t|QGgp6FS z)^g*e`gNnmeK1SS`s={>NsV_b*wpBHFSHcgW3j3D&m&;fjI?B_pEMCy3YC>cITlop ztP~MxYO_^ld}XPmQoT1_imTb%Rd{X1sws%J>d}-%wYN|T zv!u&D3lnx;V*O^SW2_79i=B+M{t=lGno;;T@+5|B97!g8qhP=SG$0*BphqSZ zkYoz0DDYL}E(*H_~80AF|^Yc_fG*!or^yGBRlWz|g{X1I-SQ)Ve6#OT*zPzqUy zWI)6#(a(PAUZEIWtNmn(Yf11Y(ovs5AOF#s?Yb8R_x*g7Yx%(Z!P(vg4)7?j+wglO z9CxbUS=dCfk$)*xB2#-9|9xXaaJLTZX!6UChd%r=OeV?Bm&;SvpWnUVpZVp*l;T?K z_Y2g9T=#I7_0wwu0|JrXYO^)_zc06Vnxla2r9aPKj9P|XX+0WH2!ni-It85o1zjJ- zCy7EhRDmuK5t-M|uYQz=8Cthozidd7kxkI=W{0r!-4Te~^rNh4*LPZ2dBa7&&446k zN@5OUMu+t$u}2U0pRhwqN5IO?5@Xn)+FKZv8&kq-fsGFn}dG<2d9*v*JQbSb&ZJ|ADgtH_D4?oje z3}gunrTVh^V|kJCv)z9DxhbH;6qzPwgnicddMLry8QAKG-5Oql-XaU77M_)2B#CSw82%$gm42bb| zf8y;D;St3mTzy&y@#21S4v2D+ggTia%@LXx2-achHO?BMT@0{KaE@^Hasr5ZSJM}x ze|_Oe{SI#-_q*{_kH#!a)Ch9C)jgi<5Kuc>THwjOkb4%7c9@2O47fwTzlsRKsuQq(pIaipB<8}35Mlcg z!Ow=2@)HL_Di;2`VJtk@UJN`C_!ixy--Ekq$AG^|p%-aIgR5$u{v{)pR&R7ZsWrLK z_l!4*$lCodfW=yUE&$FtunbDwNEXFmgbmq@k6roq3v@V=8J|8IV@gwue$dbK!Fv7= za%{6tX7}D%{9sGsojJ&;Cl>zSjlntsnE|{4fxh^CD$sB9{^NRI%)y@llP}4+JxFx@ zJrpf)km$FLKYLK<41LkGh6F5na#fq`QlZZNI>6KfkCQNf(ZTu>YgK)fu~Q$3>$L+_ z(`a27&Q52iq2^&C@Q~_zltJNZWswa0tqVme&bA`b1AO1FcH*SP4A^h2k+e+o(`sy= zdgXtiM>S!scv&$fg;(|iYzB#H@GeMECZ;vxEASPtQ!l#Soz0M%ad1{w7B#f;JxD1% zOGdC6IWo_`yZdu7H1!)`^a7d)PZ6nNGvS(ualVwrz(a7wz<=lZT+zjm?|#}NL4P(! zg8ZL5DQ~GlpPw>N%JPwmf56 z&|_MZV_H~a8{ZS^BPmP|D8kd_4%zZ2lyfGmb8q-5azm)|L&|eP%JV|Xb3+h?kyS;J z34(~K{D^E`F^D!HQy8Y=euIg)lgxYwN5uEAFu+bg!seP(1Xbq2Dfv>#eMR^^$PSjc zOSI7N$!Zb(8_`V=0O`Y_L;iyjH1dXmHF|@VG$Kdci-rGL5d%+B5erXb6$4LZ6$?*z zW)?1qbZ^EJVfULY!%l!L%#NQeDJ8@Td?(Th3|T-Evs`Yi&n%G8GY(3$DKsR9HbR}G zj!5W7ofT196N3ZehzYV&^)7M^UoUGL-xHFP>@~UBVU`poFt1J`@+m_zsl-wsEtDcB zy3krD^iX>zbZBPIaEQ(FJg7F+L8K|C4`Qw3chQ#Fw`jZK7lIxB2fjYk15cFA4=DP! z4`g17hc1c-ABu-}iiddli?4DQU*#|S z3~=>D)R2+}-1@?5$gH3=`=V;daYLX3hK&05RQv&lnq7;Y@ zKa776v1bM&T%_5TqJI^y)E~jQqvd;6`c?+9C$Rez3@GcB)XKPFvq)__82+jw^9IoG zh(4mmhkhZ7fg<_??MM^=McNl)NAxFzBrn8_=(|D>o(skc-3$H;?+e%q;R`YexIRKJ z@=guFf&2OYJx1tWR6uJkx)zVH4>1?(^rt~@i1A3xj)r58Lj~6|3cfgTe&{LFG14*9 z(cdwCeyVlwc+YG9){)mJ{{4fnCqPXEm5a9!Is(~X_d5~6lM%YQ+$J|#So4gWXCH0iB@z*Q!rQVf=PiYa*~P2 z5C$A1eSAW1LVf(;EP@`dcZsNv$&7aZlIelg)ar*coUkIqpgj1XJpQ0Oyn9t3_b;KW zcA{w>Bu&|8ufadUbpx?7D~82?=fH8eYcSq6sy;dbeQc!vLG6~D>y?}{$OQ$;@rozN z;*S+$juo?y6+?`X6C5a_95^D475^A3W*IAn8!M(6E5@Bj=Og<#ICG~71v8Ze`rPM| zePpSTEm|=xTE8@E;WlawC3_F5y@I`r{Z4x?BF$#~V;XoH(d7`Ft1>B2se##O`mCr3 z%NYJ)&4W{-)c3cV@&~6R{75C{i63^!vU&b{(ajS!vKzvdFQP7mCT?=yfxWU;y#8>Q zA!$ufO`JNjdcC^iC=^pz1mWHY0O0_WDkVcYKXPpJog+L$&?N3=)XD*@HAYLqhNL+z z(FmC# z`ufm%_`$pU+I_3V{5(MfWh#C%K`3kdRyb|_yYtJez{7WLW7(PMd~bJ$a{}Jr`*U?x zH@J--*{|neD@U{la^&4Q@_oJ36&O?A@OH$H2$C(6SgwOS_O=^{h=E~gP>oL%-rJ9= zfnBQHH9h&SY7y^hAg=MR0IWB`bMoMIv4Qk<;d?IoXNHw)1tdCXJo^W`#hYBtG#~n< zE*ksTo19*P4^6!MQy2cTVyG|av#i8!H4LsiK$FFn=$kFEAAJxGfUNikcDhyH-}lD| zde(L*Y{5eV-n&Q;Z#O0RfXg`x_GQ|Bsv0Wxbsk^5A(@`13*ia?ekfXCTJg19G9R!! ze!Zjt+?}s(8b#??jP}owlq8^lk1u&=ze@W~qwIGDhf0pc%LP`|ma zpWy6;NWaKK|5gG=O8oNws|ozS4>!7O3;BGn%`b7=oF|c2nG#2kSh`P2!o)S6%2){6^Vh}0HHDoVVY!B)(CJNZFQxI@h0Bmw8yhG0X#1 za)ydS=PC*+#5s2r#!h{5zF8%%{i97tMgrp^3nzv9;s|amy9)Sd7yq-0r~mj#OM9;R z@ssA50GA_hcm9YgVYF~X7jg8b&q)kiTcVl}fdxetK>?=o=w8!oj?7}C;Lw;l-Y#tg zZJY~rn)0vFbK#W$)pgZvsC*cS_F$hF02dqiCt4f|eL54}-dTFP;bwuTlnp1Pr(Va2 z$484Sc~;cI`Y1pfqT6V-0&mMSr{r{d=utG*cke&;x=Jt^-No%m+`e;QV|(g<&$ieL)|?vvjAQ{QYffl3P5NJ2O2n8GFy=T-QsIvG~L*bN6~EpsBT2 z+t!0D%brRh1IP93%o-MBiaIyB-{HJCo5k@&dv76C(;2vLkXPCox}RuXi{DU!vDxP+ zMiTv1LYs--@#{7yW|wGPnbX{He6BtG>;mmPp`0@@R!axU_>3{3c6{3yu12&-wXtY= zMF`+Q(RxuIn)@I&$d#Z3E^ZyZ>LS7`Iz)$s1dG1;#~h#F!2MwINKE6p{16!F>d3qz zxBV#YYXIu#duyuvYjyX^?gHy_z8)+Q2owxibl11KU0=n=Tb3_s7cc2@^`pl9*v6#R z^kVOsB`zMHEwmn8oy++=p7ZNFB+sMlOy`*=FuQHjt;oW6cyYFQ?;7r2?}%je=5Xr0 z@ITv|n3QC$vr&_?kJC*3V8BjO%5a)zK)I-c3n zrgt}5Zko)O<7CwuTTySRawS$1;$eG`=o(0KSyw;b<1`+ISk@w_?M_jxoaC;XVh>D5 zZvaIkh6S_La%3vn@5(9Q`a-Whi}F}s7pRJ}Y26BZ?sYas(Wvi_=;-31|M(|Sztyp$ zo(zguTD(p_&E`YgQibzr$?EA@G5nb;7Qs5jlG6b1|M!#j4M|XfdWC^qYn)x_ml_g^ z1QsUF@yAc!;z0ry-HO<2@M013Q*rV0Y`ITJ1p#*-^xvj15_-@HJyzv__!oW6AX+T8 z-7jNelCn94lF$?+e!O2vWljY%o6-}xiSx?@&ZLwwVj8#Bw1U-ps6fD zyNa~&BE%VH*85Favo$j}IN(ue=mJZD!0MS#=pL`>`V^Nuwo3J$=Eki(wc_7A|L|(y z7R?Rq(M|XfIYl~BHn{>y|EFyC4jp9gP>c|f=vRN{2}ABoSh``5;-UvJSSRno-#d$kM?awikQ?bbGIhnDqIbY z*9#@iCC8d&#qK>wCzcUj)X%_Uf@*|S%8n{L7@2;INHFR>eydBkMZ^*AG6qC*gd-m- z5G=MAdua*5Bp{?zmE4rX9kJGPDf*?puJ5e7A1;kai<>JaGyKiA?b*dy_n)p6*D)b9}bvfttuW z%(2*PtiS}fb(4jKHTl+K8d&(%;c6**nei2|lbu*)lh$BUTv2_toWLTlPQczFc;wnY z?#)}V(}-*C0lIoauCXWGOp|_N;@?U5Ld3jvr<(m*ZneK*`KecRyGy%cvMxBE>-k*= zwPLmE$oaUoeEi|dT2ea=r+1MNk)z2*)IoJMY18VNCB;H$=k(h0C*PM^YL@`h-s7UQ zHeP)dZl<&AfiS97w7!X_hv>#Q&z0@+X(s168?$@l&Yf@}qp|x_AkJDedl`VDfyby+ za_nQgtO(u7-MdEiwNJd8WAkk+OOUW_%OogxJToP#XxTgPuB`(*E7B3sy8a(q%5AJ^ zV(yR=O_xOiQC4+b2SDoJH8vJNjR4J6f0@D3K*6!S?6z{W8I<#uFqyDuRhmhSpt;Y3 znqG#xpHS9GGgD9c0@pCMg0tLpUQgSN^+SvPc|>;&=xwE4HVLx71n*z9tYk9La(6sF;R zQO_U8L4X&xefs&uHq*c54oMDk$~(7ZQpB47ROArA-RP3Kpt1;a1Ix8H2n!$Gm|j?M z`VYnu4wrj#xx`!@PmyP@E@5@Eld)E_p3eZDHd2>iF3~}RsC>kbNq?Gy{|bc0`$oM_ z69zW3elF{Q{A(+p3{dR)^(3P@J!O(me^3W`#Y z`J13Ny?O9@V_$Gm!95f&HjiOV*vJ^=Ng(IRndXS+G2ZlCUFec(!@G-Jo(r)M6lvFU zj}|&i0^qNaCb`FGV!Hc`Vm59!RV|89&B6ZD(fMfeR=xu15qR%SeM3cifIYXG2%WWv zcev>s^2sB7JlFBfO2E`|nBUo2Gpkb!zPb!(*_U6)OQ zv6iEOQc|c>OFzNqQhB%NOP!x47`#0KBttj5SUHWeHh42pHixsOOU<4EQj1qD zl;ZB)oh>Afd&i1kOW?_G{g2uv3#}y5jPQx^`597@PSVNQw5%v&*N)c{3z$=Ln@2Mz zxDFqAD*qg*=U);b?uXhM9{*e#I6pwnH?MWq@ctSbC}|;^tk!CC8#TW&&LWFUBm#?& z)V*?GiU^tJn=92d*!mJXUPSU82t$X(OHp|1f-jD~zWUR19QWMU5yk3fNCg3%E``u! zE?>93MH0%~>c5)8#fAnuM8kMP@cSlN;`kbi<(vX%tZblefZKCJ7jn{;p1ik6`i4+I zDjF=rT$0}a-#10%V~i&Kf*~n8`dPFk;Q8E|+oh@PF6siJ-eQwycC$bR@Cwwnb?sRo zM;$V2)UY|a&GsoFUCHqv>o=anHU5xL%!GyI|^madKY?(w_kIvTu5#n|B)hj&TuUF@}Rt0aREqGu(Hk9jw zY$ue|7E`G!9`ojp&v)m5L&(=_G#Tk@jAYUS_-qtaiU*b4;Wvu`tVCI#Fw=4LWyJMF z{9TT&iMzA*V4MzaTl8I(J!fzo?eeyaQk?B(#^~)uJZC_1bwp5_cwnTa(6YLl&XYcu z4#gzl#p@aAr41G@3vo(TlXlN_>^IflLn`6+LXF_2(`Z#UDmF0y;ilXCZ}~>uVZq2e zjYF*??x-u%GtfzVdc&b+6MAOu(8#=p>{D5v?(0(q2b zlrm`|rtQ{qjXZKRwiGQl#R{HVWr6U!1IanW`DjKS>>-Fmtv?A!{qu zl$YiNRA%g6oYa6ur5gHNc}iJ67L_p^xl|?@+51D)79eEZi(KGte1n}5R$YN|g0b01 zHCPLqglTG>sr#!`IpN7r;3Ni_m27UpKzm@d+dh2Vcw)1fdgD;ELU+(0cZ&Q6yJ*U?B-8Tk zeg>9?^y$!3% z`0~2JJ=@N1KTALLbvqsOWFx)jFQC39vOw(c`AHTalR1U_7Dgw8P9~zxx4K+qq3tR) zZul0}J3sNw+!V$(GPSvk1!_B=LSu7Tvjw)Hgx$@{W0=!JDD+0Tv$;3K>Rt5YZM-~z zujGLs*6|{3dY8+UgVlAk`krifeGL?S!`y?n<*iuF za_Iy}Hy4qWEQ_VCBKNMF8*$TWD^y<3YO@Uk*7bB=Dl4-^s=cK@L~td zJrc~GDZ?kbodfV18j2fL+Sbiy&-T6(li8Yqc-i9(8TaZu-aV-o0F#AT-8@iwRi}AkRA@HV9U0=l6C5rPu%KFni>bDJqwsS^cG7&4#NYZ zXFD0V>aJ4`51X#hrWdXCwM2tCOUI8tl%emGqC(eqDS4NY;viiww~jGq8@6`mGn@`M z2K`I^L87C?AEbpTCroSd;$GEUB%Y_nCa*gkNy!n|l%xN>8M#?4x^EPo%tt*rLXbp8 z0n*AgpRUnLzsG$0z*+0gZF+re6+!h@=#OYG`bsN9B< zW$;7Y8r?y=rwd!~g4B(kHrujG>BOcwul4#x+@j)vkM0u=P!<+t^9@;dx82Q5aJ2qu za!j=yk}I3a&BC=EBYEbbHRcyu_;SLwJaekDK<5m0nDdkuiWtASPhEAE~Em!0p&VIZ#tl@vgl!xgim z22&K^u6L|Pq!sSF?ypCSA_>qdXXoD+XR?y=FcK0`QZO=U9~JWlrb07>S1Dh;G?~=) zH!(~rJ8Pw*8kQe^l#Eu`A5=LbJ_y~GiYNtkxSw-t&hG@hwhrf1%2jwBUWq?}M<2y~ zZ#Fri^)L)YJXb4|U819KYh>5iH-k2-AJCajX_np}d9>2{)#If$7z*Uof9a#<|kWs<#Abl@7gv6L=)=i(1cPuiwyF41dViH2q=!& z2A{JxT6TOU?~JRiuTR_~(u-40;vyiFMUK0I=P*vrTn_1%GO}EbtEAp8-8V}o=gXRe zR53=aCDim!6!kO}vH`hv-d)3szIng0;U!%CH4Io7GDxDZiX26)zA7p{@g1{ns>~fltN>-+uNn$T8JSal56kS{r*QpC_Oa@Kh*R1)-gDi`3@?R#j15+*cM?^La=gr*()j zAzXZv;DUu2&(ka>mkc54nFZSl@H)_$Jaj~<4WmNr4RgAGPBfgK)YDHE`&bBzC&VhX zBCj}9OxK#FJb-^TGDE!$*Hg-|xMe+YIuOn~GhNqMNV##tGt38Lfv-c);-&f8hHseSkf4MS~^tBjRF! zv;0bCtp7^dyx)%f4IG?>{eNk}NL|>?NL@H$^585S$%MvOSj~=zxJ_W-tPIK2$hf%w z-Nlh{@#Gj8elq-2pcfa?Fm07hvLG<>iHkaddJp*0+X-am!#`bM8R<_CCDx0=B=)`WuPn2U>f3JJ-_1 zQls!@qx^sXQoCl2=CVy~V%^fkg^RS$kx%y1738!f-BAXYsmWBwQ&wtI(^9s0{M@r= zT2qtEcMOh35K~)<#m^yhMLvbwjdoC@HKR17548tDI3O9$OKqsecrGuzO&jhLjy_+h zJ>liVIR0nQmxJ@zL$%Xn+0%pqA2)Oj+Q$>hM~t~3AL zuvU9-d*k!<3sq}{h`Q_iidQpgzUSrL6XI~oiq*z)jO9i7nYU-jFr4o{epP91I7!(% z;sl{LOQ~$MG2v6&Xy&)PZR|#^hqwRgfgSABc?P!1!(J)|-m+Y~U0-@I2G!E_&YA~X zRKu@^F;J7}$mjy5!!Y=$bU5LTFzDBn>9dtPnCc!El0GJMo+ezLyu7Xk4+fK8&~#}P zy*6PlfAIMzygE6PpIhIJ+)pSvrQ#s&R_2|Gb?7*GR)P-P=V=rs?zI_T;0J$C)WUG< z_W~Nd_kk|I&lB$h-_`;VDbZJp)oKy)?jzfGrVLPJS4t5g?=wvY8r|AfjFBo{tM1&* z_&_ZNa*&6D-f-)P7rMAiq*>Gmci}+`Mshbx^VQet<}wH*;8om~bZE$D>;-hD21tr}O z)+!LM2Cu2NX$8OC!1OF6vj+CQ4}S%|-B9){*!!RCS)?~36r=%w>+Ao|7B|e_9_l?X z-wpzye}^4qSf3$kh>;zg+<+qJuUm$%qCJdE-za9#yghc1A%w^-Zbl%p9Y8iU6v$3+ zw9BpKJ8lO}*EiVmBj1jcZWyfvW_brYVra1i{nws|Ry2+s>P3%r%eUrTmks}RJMwq` z_N$*4!<{XNh<_Qm{{;VIz#mj}1CKU@%Nn?GLzmsd;tqz!48~wU-@Ag*=@aS*Nxu57 z(_j8buQS~4hGV-++u=KKVld&b?~we$+D{s-^VhxmxF zy(jt_qwQ3X$rwfwFjPRU3`-G_N)KauvdUXos2SBm?J9DcTy1x6PKEK& zgq;s{Giy85CbRX|Aq)1 zTG`ff@Q;}O7ojkMO#~-DFLp%Ch=d6R>%V}M`H`{H|HYTUvX1cj^yei%CT6tHEb-Z^ zAc8}j{oiC0nAR|#{+nHX!tBt9DSlmTT75d32m^7f{H&Q_1LGg8(1@^4&ymOzPGoh! zxaTDBl%Mb!#?p!T4_0r)f-n(r3UU{P&H#%97Fy(t$glj;*@Y6b|9Y_^-h~;6Q{-ns zCIzhT)dZUp#d2d%x(%Nb3XSkO)Wj(WP0%~^C^J7?@3ZZd0I{^Z35&snCS9GW<_3S00tsb;OM* z!3BwN0pVjw(5O-2Eq8lIjY+FEX(Voqp-Ll5Kn=*^0-k7n3b>$vwJ~CYO^;C1oCKqk z5($k9;0Mh@3~5x7kjRo~jTAqQMk7SfBELky)$=ae!rRf;5aj`%I34% zC?0gBqT!I&&FHPuzuT6$Y-`l?^m)ZT<7*xce|TE-(CIlxPuLDt{53paT2yRN`t!xU z%W8bX$HYgiEy~zf9B{G5z5XG;sF)k?eff+0$fXInwGOX@?Z=A8y?2h)2Yem1qIH{p z@fb6;I;4Kw-=or6x6dy2zMplf*z2}^YklB@jZfM#pAtU18W-LB*nQ2YCbLDchSOm3WeI1_NOvx$tX@yI@RO^jI8xZrTk&E!#^+J7wb@NWEB zME0}EQ$wo0FB|+q^W)i-s~ghaNdcBBEeqgHrhCKg{FG^lRsSw?OKYBUd*%Aq-yf0I z@>D~{-IUO_Dz{A@UM-_%?Wu8y>c(NSvi{;AZ&Z}5UUz%ei)X{Lt2Qk-YoWrSy;$+i zw;R^)`A_JJRo6GUS;)vqbA(vH7!=qXyd`^~W9k!CS33r;Y@W6yC+V{dtq+n1?v4sO zyLDOB!j5rsTD+cHrl@Ti=)FXPki<(pQA-Z+~M z``mYN_T2dm1qF*gx{~?zuiiA4=fC=CXQ%sSy})Np&XoC`1yES8=Luh1z)Q5f^mpCm zn+1!0C^%4eW_65Jphuwumj>^zJ2NHLs>li`-$#S@)0WcPD@z`EP1AfTK%W=p!&aUv zo_?v;Jmwvrn#%wI`HMfYwkV%q;R7D?&idLWo3MUr;Q`v=V(-y-NBr9ID=|k7EdFRp z>;dhUux74hXa9K%Q{_;zmJxW{_2_(S8R&U*ZrZmNe6)5vdgW%w{<_*Ju@)@90n16j zOAn3y#3OEqp8o5bD@Po)4pW#@SM3ouQH%Dq9>KT%+f0RRPF=gQ<*`Gx_q;2zBLSQ} z8$c-FF}^weNZuJ=+Z5-)^0Pv}s?UCbRN}<=A^PC+gK#!dNN#^}S6G|cjMkZ$x zuRr*gM6;3SA{@`J%Go~SO7#cfgKx$>F@5*Y6UxXPw6ipP$X+u>ou2i5@z{g*&%@nA z?p@ejA3d)q^R?pP%j_?Q`(Katd~11F#ti5^;a=Bc+!A)@B>W>T*v~Ege*7bekp23R z`7J4}*)xiVzE{1he*D*wn-g~V7rUiaZUxLmrnT;z-Q;)P*KI}Xj^Cc(x9v@0(A}0G z+wKh2V^`%1e*_myW$Z93|dzB6jb z&X|eMRb49^vZ`spVYkaE7fF3{M8vk6DWgNq*~>=dH7$wQ{&C8`Bbd%?C?=_zuN@@)IV8_Y!QQz7( zZwd@-{P~v5eeJ^{THeVzZtn%4W5(&KI~^6vXO^6##@%5S{`Pb>@q4**9IK{f>@$~B z+tNE3Vej8JZ`gOaACwm^Le-DE#E{TR$cjHW!wst@~<*dqLYP zhf_cH->c3UyD;(6Gnen{g>7eBXRiOI=F6lz<$lL52W%c6+R-#(R?^s()Eh7TRQqix zJM(sZL7OfA{&yvdPA+uO zLZU+@;abo&ok>y9h=J3jYeIG!{Ofhb>|#Bl>k5Vw$OtAHkO2vxH0io9r0@eKBt5`3 zmaPUGa;OPst}s!EPJyPdVX8{S3ZPSaPuFueN=V)VlWb#5E^li{pwig@nP$2wnP*Iw zOfk-+%Hc|P9Q)Xw=ulx&Ryln8!e``6&LEdM0MUiQF(7rJDK0XoHc-@wlr6!yx`zBGi`D zDj4KgG9naRmcbl?4#%PA^>RQD+XEqKIL8)Ap>Pqd2uILyW5`!6)W~;yIcC z{~7}4jvKwxSkI6JF6&YS3uun`!~*&eb`bbYYEjSyt@+p)|6U_PXHw4-I>&P=6o(>3 zO8`72XE>Akpn&cA^i1a!g9ykc4x!+N)X^d9h(Msqg>FbE7F6mbhNh@E#fAw@xzC#} zXAEn2MMY!4>?+G(Mw9g9z5xL1o$h)DF94Xcds^}D4ZlIULBpl%dD~Z4u0(ATt>rB0$J6 zbU-Fld=iiu2%c0>6|*CdBgafg1%%L93vm9P@H6P1I)WmMGdgawOgCUQbd45+`w6C2 z=##w5NIx5Z5tp@A{29#j_(}jWh%7P!{Q!41&=Z(cfTszb78wJK;r$pD^D(I~p;3Ym z0akTI>&lN2YQv_T*U`^ z73ExI$ghmN3TqW$OR@#OVRgP5zzw6z4Isn;Ryo}O3LM~-<;GOtdHf2#DGVUX3;Vro zl1Vi@OmGG6�CEmAiV3X~qgGh9xko(?j&*SXe-0rxj>N^z2VcXg|9Av6$NK&Ere z6+$3`@zu3ZR2V-A8qq8nN8J$y80bg+oUw}ADMWWnkZHI*S~3_nT~4BEsw&VhVab4? zv7Ux6BPsyWwut z6@7bBRO>E+!wNEr_`%WxLUnZprf}DfDPSMM4Bt6i*-9k_e1Vf?8jcp|G0nADRTvi` zT&{+#5z>X#z%IyyiDo&KLCtVv7-aZ92YN#3HzZhXS!KZ4s8w4sjwT=#CJwOTbnw|8 zZikk~ai6zjFwME1L@>B(q2dA=5O3a3ui5-fs)jB}O4<+vD%RgL9{s;K5xQtyY-&)q?a=Tgv2jZ`thJsA4WvwR N5k`KZIbB>h|G)GYJZt~} delta 236909 zcmb4rby!v1w=N+YrIAhv>D)9(3DO`ST?*1jm-ME)Yth|Z(jXuqAV^3z2qGQQqIUs) z=lK23x%YYQAGr43YtAv}9Py61-ZiELXAYAU_R%T`>|8Nw>M$M(c8V7i9MIbf=by{n zkDR=>KXS3(T{!P9+;O)Z#>02pgy*gw?_ED$&gZwk z^4{I#yX(kzca!g~Ki{2fzPl#;clY=?Zu{}yO@{w&TqrwxoC|zPVi|-oP7c8v#?Heb zER2rg;An4bV1|2(@tY}c7P8aH zSinli@M%6QOw(KaSP*-l5J~DaNy1ZnS5Y=G|4=$A^tnRy>G%#sb1ihcn$67Dk~H`TrOWSKdmmR1!KTRuA9K$cW=zK)lZ{pmPj*@n z4@Z6azFoe)vjIR2{hlxfz3R=ZAUb=&seORKAbLGy^pmJ@zB!$dBf;RN zu&RIY01k_1WOP9Bq)px{jW7$9*N&n1B6@kk{#5t+@h{A0^L*;GGf!25Cug7C&pb5@ z=FtcdtjewxicjVWxWv%8rsXcyFp*-MlCE0E4LM3TDnt=LCdD4%OAm+rPIOWc%4T~b z?ZzI(qgb|J=wGqM_|B3efFZ`ev4$C2m;m|_%ab)u-fe@7n5$83zngYQA=WJ%(ADM^ z{OZY85&HpmTqPNkY_pge~mE0mj%3KYLdA_I@KRXTPQO-F#Lx&<=f6^9j zrRSY8(ba|sO9YCEIJQmp;mg{7_9P@>@$d^RIf;FwrOZOxE z0D3WJ11klJ2h`mF&&D1poAzzP<8%>1Bh{|6NKwXu+RwIcnNO_tdt|N)TvG_w@HBo1 zg(5}KX7(+uDea$d7sD>BXWCSEW4Tl9wed<(1P)-q>2U2VsD#ERXc?`zPRUu8JJLLz ziMm}xpPrC$S7QYSEYF~2;8mhC>p;+?n_arT@jV>$cYz_>N?Lxd-rhHVis*3dKfQ~j zMPNL5Ac9$~6f?KXf|bZkO|O(gHgt?~@N$kFOQX)Q%FP%4@CA&DUkPCd_ZhM2OSui9 zZa$5jkPlT+@pbMCa@XD=TrH$Fa#QKA!$`lxZcLNwjXNT>vLL^|DC%CS{}L0rL_#5U zp%y};C}6**VOm(*(8~0!jn-kdn)c)+rp|a2x)jnH5}z(=h~D^aLujh#*SAwadiSfp zi^@LlEgIYvoZXj$QAx!qL6g4B`8HRNwj4NHw-VTzQoB0V;_Y|!V$#t_#uC5FR3uCN zG9yD)tglem%apW6(oH%eCPv$|=`Wv1qsE7@I-LNWcdM#s&^f{&p}il4B&v{xcO|w^ z*7!Dj$uPdRB=83=CA5k-;-KfA+J?6!h8Y37OwrkQLwqqdnC&?9!d&}BcH9q9)Ic+} zx?|0}=gJZ9$-i3=`cFY@9%Up6d8w~eX}^U{5Yu8d+wX8t2_he0^tsZab=FgTq?eDq z3dh*wHtK6dKZH-jo8^5(=NwGhIzb1~+#+3Rdli}4*Qq1fi!GW#D?p8-ldZ8M7 z_R6<`JA>vZ3np%RsEX==SQQcwGO!y#Pa%dV`rH$n62N^XmprcfLf}JcofPV}LX79m zcwY{SIN>XY^x#jQh2#+wE=)Ul(S2DZZJ203!3{YrUreoUzt2V*#xZ_kzY|c9hptzp zrp%^~B%X&&DsSMaQv9O9fST%X@n{hVF{2F^o#ib8iX6=U*YrylZJ;)=DW#9qh%K*7 zg3Nk-Ki#UnBfAXdsF3l9!L(6IZYdL+Dg;klzY3A|jTn))&+Hph9=u{%4 zOLV9Sjgi2hX`a!kpSVYje9cTl>(x(w5MAZwKV3QhGM$GteLD`Z&)}_{a$qwqO6lTV$a=*fCBx&2JIHXvV z@cqiq!LEg{7ZR|iA)C6&4VF)_Kk&8Krd2(xz_wS11uLt_E^2gTmGXa>#%9W1n4~o8 zZg@O1x3ejI9csL2b%Kz5wRnG+oCe1oi#3mpWB{foq@T(2m4;q?BKYigx#~(r$JKK? z?-bciiG0@C0f(|qdsnSQjGr1T0#7d(*eNi|Kb7z+4I5B>>YpgoJezA`a;ASG#=B$s z^AQq3F6Ebezm|Q2S@>k2m+K3P_9SBN8n%wepf@(;h{iGI7B{9 zfB*yV9mAr7adU9~$F4+U?)khlmZ#L}qpi`%XHj#`S2dwjc5>Y)&JU6&ghk1T$Nk7Q z>YZ`o-!GNa2yv2|1w9QHa&}Ui;&PLS{FJ=fnqFgvk&Wpw$* zigxOn|SC_Td%;Sw_jCW1>| zC0h`3!(xQ>&)knXOIHJ&PS>bxwh^xqV7TtKJ9LXD5o`%(L%%V`MKCdkM=@r$-VHv+ zVw{`s+V&AwM{0^bRKh1aRQb#YJaa$FmSe~8M_af$j}jDqo%}4&QO2SD%LeRVc?q+s z`;2PfwP=jy*xPuq2)_KUuh3+eU)8u{G`siXr~>B2vbg2 z-db5DC`$aLys34`!QI;zzUOEF^B0#Rl%P@nfVS2EcycrJ^3 zR>>jE`>HQflCKRvM>RBcMJpfbbK8^oqZAq)0olljC*Nse=Wqiz*M)xOEhNqMI6TA7#5^R;r*~tMFsOJoU)p-~;Nko- z;^N5fR`ivR?vLy^q$NoAwmj(UIPfeQ!Tk!BJpNN&?nDbeUL|%Tr$hOP@rMR%2`o<$ z>7Gkuu|+eeG+^33@WVU~U48{)|K9rP;e(H^ExzQu=mXt4Jku2>8~^g)3IiHS&XXWjG}B3??Xob8L$0ou3;ARgA2SnxP1wjhG6(9N++Tbv{7baVQ)z&;RFi8QPs|k|% zxz?iZ4F$_3>cbfL_Jq4)c3pM5+j3JZ-0u1|?wQ-w`&H!CHlYxIuYADvWqeI7|(T3=t&k*?^|95TcsD=S+( zxy=0l%0UyoTR-;vdqReYom1$v(cp0dY#s@x{9Q7>CAPjyKFnXI}IBL0^+%`A_w0P(Ag2 zHkBvTTFL3yR+0=6C!133gpoN6Ghv4iPo5M+{>ngkkqxX@=hTyZcp&ykQJY z`ao*v>CtpA_0hpF^f9a)7UE5kEb4Agg00v+=8HQCiXCP)c%Q@~1Qo z$Ti(sWQrK&v4*IEI*Fe5bs~voDOAx5Q#J^%zmW(FWH;X1Ei)ieX(;{O^oCAzhT$WZ zz$ZNmg{+3ScnTd>IJ-syAL1>?L0VOD{&(frt zaVfIz^b9{+8>YNRMa)PVk?8SQ+em()oMhS@k?F^;d=lSpXdB_;!8#$1j~Hk+4C)IH zP|KG`-k+yl$@(nQJaK@bL>NyvlfH#kik09aP7Kp4CyCqBw=A8zNKMDc0f)?q!Y%z?Tb5hzt35iSIp;>mH_n{!>kK#SpDD~=ebCc zd7aKp+QEnC1E8Z2=C~3vDFi5g+z1wF940v`G8g~t^Kje~0wO?g6!HK#Ktv{udqrM@ z$94A@e3M6vt&MD6TcD$W=?1$4k#{yJjRLkrBpaGP&9&1VZ2c9j-(mPubnalz zfT@gj=f%ZlO-bwz{?x9uO$#-((w_a%bF1`-y|_Y;WYr4`S37tO-YHvd7VWqG*1Om8I)R>TqC0Qh=lh$(5t=F!>m&ZxVzEUc*Yq zQZ5{yXQ~U2ZD%q;KoeOf{s^lm(OT_503Zo|pydP)=cR&T0EC+qD;?J%7=STdp;5n*8T ziR6<;xI;U5R(bjEL$7eT8M~$gfBjj}4m{Ko=<_e+bSzJ>AC?i*HSp)CB#54u{med1 zy#MgLT4P0Lvpkh|j;nSllhdWjL@hqS!oCj3T3*DEk8^p%~Ac=dZ>L~u+b8?FdyPV?(|MJ-^PgtZb^gI7yfSsj-#2K zn>_QTWkkH5Yw2aRue5xn9v5fi*ORuMqo*E+2KyW(oDc2FUCPJf3@N(wHPUi?xAV)~ z2-!8XLZu7h&=+w0?1KE%fy?(r75y(}U$QkE?0N0i?Q6P&_j?&&__(I|SV=4LOT*e| zdXN`2qNj!QA&dcdAA~#HBuMda)$m4usd)m@HT0P;EUB6XRo=$+o*CF`Y&@vLloC=3 zaA8>&+Nxgu8gx;?ZuIkwy9b2iL)4gBc_M>`edo`}TM_}ePxAd969XhA_>_&+3|sxy z=>A6~{>x$Y7yCW1jXFkmI-^vq@8$-b3c>02Dp_y7QkPLynwO*t8?!Fs4M_Fu1?<5+ zB13HrpKw=yLUdknXx?$g+(%SA?psI8Vj}UvDzxnRGkleAAg?=-6?P?(k}myM^S9j53B#B0&j*YEFo_|C;2Lb{RwMe+#&{2T)0P@ zc2})28N*c*nyn#?us%>>8;z7B+HRIKAizkW_56?tx1Y-<$WZ@eZ5}G;9GtvhMIxfj zC|P?@E7A7G1D2!OoG8M?g!-C-p}?_BMh0X5BJ>yMfWA{?iOOU_cdq)7TWzV%d4#+y zGkY%y>^-XiNuZK?JiAT^HzM8xr=;eG$vpCX3;knF{$ZN47Qq9~(<|7I_vXkdG6$Z? ze-~z47mzz9vNCzm@vgAnpNCyb>pk-u&)LQqC1No?-4HEW(TWJW+ILKu=~nNz=c&}B z`F9QsUZ8wvbUs@kdoM)2tQ-y305b@tL2@uQiwYn_3uPGR$AQq+tjP#2GjyoyWzr!? z+jWmFATTAa+Sd9$8j6O&XP)mUz^o_zQozfzDP$6L=l~%MTeBo#U30WYf5j#0A8( zA`-{R;D{n{@ZKOjZX5+RE-=)FSc=HS&k4x1A(GtyJSEW7j>wO|agzbausPT?%#9q) z9Bw4sjs^g2h&+Jid&EW{yd4o6h>k)g4HD`=1pn?e2z4L~@uysO{3+KRx5{-#(Q^Iad+$1M-;uH0cP+W^$XM<>ncR0Bxc{`g6U}oc zn&++q4;SMd;d|GE=T0{7olxGpHoSMk^Kt|5b`V^qJ28BB_xSGm@!gHYch{Zot_eSw z>#8C2;5u&-7bf4|R^sFUVkRK8i0tg_z)w2}8SG_N=sCj!dW6T{k=;aX++{*NH~0Lu z_#&z+;+)c0E|(q!#qVTOV>Ag^SIby_4woE@T1%!Zj;r0ZcA8^x?%AHAGi}jpXw+H6 zef4~J|82|FJ}gc5w})ni$5wke&w{nndwwC7;U!(%Z&Pfq(pn9X42@~Rw&wsgP32@* zSrN=t%T9}4eR9m>=z2Y@$>-6pob(z5BNRvK^E3dMkTwhfF^Mv76s~?fy5| z=OjZPcg?B%*bMa~8tQQ#shUSTkoi8nhL;4Un1S;_O-WY!EQ<$IC8>im*5Fy8xGy>0knuN*!0ytHe33` zv~d(mPWK*p$RKTBb%~|vHb_y{Z>ET=UvBVU8({MxR>q2Z} zBxegPp5}%RaM>KstV+p3G^rg+!p#jAfoofxdGV@UyZLe+EbK7XC+zg1$_X!7HK0zY)!@tIAFcj)Fgz z=0AOV_5&`t`~A+7jgtTgQiPrI2k%%v2|rZ|B!z@qiT#|&F>*?2p%~O*P7P2S+PU9B zE^n+>A5H!fQH85^^VxV(4{`;A2{)|Ma#KAVs)O?>w0E8)N(%B>@KXHy+Fnw*xx_9I5-NtRIx26Ue%023aJ+zbV81Ks*TZy0^WM zIq1sC)Qs@b11XUJEBd!1{It@m&(@R(hzA=9_67}&Ziw0&*AfkFK51uXM1)ljqeB|Q zr`sL>23o2x?=~N}=2_Nn;h#g7Ag7ZJojkr_#0*j<%|2`tk5du( ztlKB$$#z`X6ZDD)N`_y{qA1H|^u({0m7O@KaGh>a6&gehH9S65B_deW$92z%R6%Fk z7CL!gOsXE-{hB%SBdis(m_g0r75Zzazedqg=m|QYD)}*u@I$sHuAFze+5y?*qS<-L4;WAs|RR)#`guxs%yA_ zrVE~8!5LfBcpPKHgW%jG9H-pa ztr5-@2B+LY><^@ahzfH#|TNY-l=UEQ+7U}l{&cE=8Pcoe!zqzlXmEe@V zK@QCK{`9lN&qHFmh(T6~;Ylvp(2{33&Yu`iR_UBCV0B&7OPBt+p#Wou!u`a@F@;d4 zDe>aDYD^t+ZV}GA$7zWne1s>`EZ@z$mHKMNm3~9UnWK0qP0;nqo*zFjO2r>ESxMDU zl5iuJUvIJ4d1i{C0w(fAs^DDI_&`2&(O^y#yXWzFb;yRn$JNb_qVu|w^(R;w*xl8V zXm-r*b~gIg!t(FRCZl1N)A#b`lD_s7EI;!0;`MnrP^eXWuRfI~+j_R9*wcnC<)IUz zLMLfK-sFh8G&|l?e7!O*qiQjZnrHkn?(Ct=$|?i(z9tNk>f;~Xh_Q`?X3hr5{O4c4 z)9Rc*8MtTiF_nP!=av`Gda93Gl8jGsg6CjGqh2{cL6$fCI9oms#y?f~NSep+a>bP$ zPaW|3%05x}$gsd{49#UKQH7rf66sQDOj6|)8`_cMf_(0g@XN~#XY;0fh<{xmKvauMbZ?WR z5FMc`TJV0bY}~27BMd7%A=PtDH>Kni=5Df5_6+Z^(2VrjeB8U;59vK#?sF`OJ-e-B z_B$-$h;y&Bke-CS^L-~R6J+|XexBT@HXJf#cPN-7K&+ce6T~oOazU3!Wtkh6*vq3X zYKapW?>K&@!sd`YFfuF@Ev++AQ>=01_)M)ZtKcxBTJJsIN^q@RX&}Mj>vor~0^BuP+}a;_T1KQW+;Mj`Im$#J#mQ`mK=ZV>mRW){`=> zapcr9Js0}Uw9x6dse^Jd!qJZej>-v=;|5{lSxPgZDEsM>7I0yCr=U%Mq5;l zL$L4lgr+mOOwIZ&O|+;~i+o}zb(2w9t)n>UO@?uA?9Az3>S~R<*>0fo>5CYf4v$E1 zpSuk_+sAcxck|HeJ*5d5sBoaE+>iqtQL-D;-hhM(hk23a`0+inmQwPl-sXsfjZ z+7k>$l((lmTAahnU)&E^%+0zb<*+6pI{1u+J_xHXt#`kE#O@%NjK4b zpzr8ak@BGm9saf`naTVVH(l4ZvCjqfSqfu@q$RHY%o_J*w8vbLSM~2f3D}iY)u!`R zgm`D7z#B>jxuc?`yeK11>#;MzB#VJ}7!FBWIzjQp_m{zW_qdfs%kwKcfxh`dSltOj zhCi+H8^T+7>P=f94*PE$i6+s;h zgdnw*sRccclkJ}sijZbLGZGPLZo?B{?rLdyUHy`U_X)4iCEVu%7@;Al`Za_e2c4@k z?x&BZ6YUoDjG%i6@%{JU7%Tqkqyk|KY7ElOk_w}?YlCt38VbFaX$f2zavtA!YN}?@ zpuCI8hg=RZ5{^r(y?#ltM!KsqW0#f7r2#AEOY7Au1H|5*sx)Z5%Gzp$A5urvCDXL& z*XDYqLKlphcXY5+)8Dm$eZ64Nk-@!4eDNDc1v_yxxu7~64{PwNe8Jsn5<|w~iXkb5 zh=UA1#BaJ0xD(&)CM>jdjy$xS*2UFu7OtJ^Qkm~cx6FcmFRIv%FyeG>6T&R;-ECe3 z&8@eOtAd>~Iw4C<%#`=AJcI*8x^Odv_?S-~bTCxRO=&hHrfwI>oV^R2CH)J$$3%m} zkezk>*zlOX_OT}JQhf`$9-LvmvIT+QjbgIhxOWGKh1≪{*D|uq1pd2H(>as{ELU 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�{N!W!ZMyqs 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�BNjup^R2Es?Zw0BxBWCf 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 diff --git a/doc/Raspberry-Pi-SDR-IGate.pdf b/doc/Raspberry-Pi-SDR-IGate.pdf index f8fd2e9a1486de9bc2380d95c28ab090823fc931..5f0d302f9e416bde5b35baa1e7a1485bc4432d9a 100644 GIT binary patch delta 351696 zcmZU)V{mRkw=Epowryj_wr$&Xp4dCaj&0j^vSZt}o!tGNbG}>mySKX58nfn_-K(m9 zjnQNF=00&;6iK`aFmr;c2{31UTL>_KgP$KB#>Lgy%*YNN#xpBh+s@&D1Ld25=qHe{ z7{o|a8Ex3uh^Tghetl3sQQt}OCfIlqcgOomRo(i~|7!}4e7H$WYeR1+mE2hpAvfL2 zoXY(>-S5@$`(mloCRLW=^8P(ak3TCXYX^pcHK*v($lsep6XXXRRop4N;jcA-f%WXB?OQjScf4ehm@WvYU)yY+@YCx=(uL(G>V(GoQ`{WO#z_p~u)##Ysh&;jmx;*^y` zXBTp?^JVcdga76hV(SYncl^}EH&qP$yK3@P;BxO|AqiI#f}uFux5ByRVQX9(!J+c~6ezkJ(v}HZ# z`q_It%q^w7JYJz4aZje_HItzj>S-uW#S0s2I?9t)<`7w8Q9fk6OOJ|@o4WmASI?6} zpW3Z0Gnu#OMNv(>m%V}sEvHa!45zjX2KUj*!R}4FKt2b8k?lf=OXvfnN3DvUIALgg z24bQxqO{4xJ;m~B+tE^iKIJ*Li}PZyoh{>{hb=q{niQ)4Db|f9rR7}}U9&CdGb#da z3${)<#J;pBX_rg~3ig5=2n1>l4w@co5(YDqF3hq=k4vy}D|t^z8#edsC=cge3g$NI z7hk+yjUz-cn;#EQ^}_><19gb{D2G#KJe7%2V6Ti|Ix~|EJwgL>X#xC9*3rCh84hYCU^Z6*j~!Sb7t{ zqWX!vwC3b1^{U$ZiHVU$P_Q_;Rm$&o(7)X?w$yKtz?^`we|85P*-A!8dKUvthcX^n zMXuA7)FaKUknf`Ddg9nwYhs1>o_U9&<{-wpZ3>iVySQ0W{stTd&zsFiD`yv8#YvQ( zHtT0P7gGg|sYl&hlC=veLg|xLtNgt+-r;$|EtfTdI)JZtC<1Nyqn)Dz@Fy-^70=sh z(U>d%*`+_Wq;UZFC0%=;L~@x^Wfb^nuQ{gmki2c8-!Kstl{@6}av%murU$xLCv_{rp zM$V_*X7>rCKsm8;%LtH>BzQWIfaw~fkEg%y=4?bq2I>Hgy`4)kb)X~K7f~;ZYf%%n zW9-l;aA1a5w!ahv$$ed@}?lF$Jk#^_;kg z`x@~;%$qk5#t+!})6ETGR0xmhzwmLvvxPbE!=^%05i13LY<<>^S{7O09v>;ZI zV=@9f@*vc1;1xqob*LCN?asZN_1C%Pj+pVy+wB)+Hl@V2F@CGpgXetWeX-2!CLMRXtUM2sqwLijAX6Lgau|X9W z?`hOwv2=4;fY^$(6BWLofHPt9K*l2}vn6R8XQJa7bqvhbg;Us6iMe>xRLLr}&?xvl zdPPP_;${+iM<5MtUtQa6rL_bU46+HpSaQHJ)%?Bd>0TTpDBGBLV(m%jjtW%#)$#;j zP3NK28`Cx(67q)3zt-6_)kI4r8lmU3g`F#qsY@MuUPZkZ!JdkSPhkz3?h(QpBKjk8 z;G}-hLJ`zMfH|QE$p-Qf)e~_X>S$UEB};(j0RL{H@F~fwoww$%uxSff0D*|V=^X8- z^6uUc&V(tp9XJ<1kh+TeAwp~od4UgDT&x!NIzLXuDVlJ{2smVHU8J-DU1lH1!73^Y zxM`|Sr*8q`;a0hco9ZO@9GNpQoKo)3n(cV>dBigdf)^_ZYjZShuy)9hk4B5v$tH_M z;8C0FP{jC?gYTe5KSWlCv0=E2yN}p{|OAwSOsV*X1PQj&1>p*>QhL&m#n|ISIm-Bp;~iWH%x_!#Ar{z^RIN9Tlcf$&TZ~@9EXd7iEY zz@(_+CJgq4>9-2uf|RITb1o-X1+kJ_O4>ReD0YP1>Ww)Y&6xLLp>YsI%{!cIiM7fg z=!`*MfkHWaY-g;(yeY21;DXRAOm9}5DoGig>H@jIX5v-yb@oWZ-sBD-4;Z_IhDy&w z;l^Bc;IXwgrbAc79{$@a0q(&AAVh!k-X7%8+hJZ@Zl3f|p5-fZjwCeWjlVa8L6iu3 z;8KmjlYvZW&=j-ggV+3MnvB+fhyDZ7kSU5amcPD771FnJy?372?HXHDF>Z#|CYVNF z3l-y9SaQ1^#W;&qjq3@h7gE_k-Ig2C+NKm&mk2G#mRJ+gNd;M}Xzd}$-s zw;`~9jO@2bXEnSKp8~>9B(jli%w?6P6;?HF!=s5D&%J~_3Oxg0FL}}5_^?^sRaAx% zjo2K-+SB}QGzJ{^4%Mh<77n26?#AsvOb8iYI%*%}C-tVX-)(zGGgre990cyvnMeTB z&^))qR>%!M+T0b3X0B(o#^42p?zV}tkzL)PRDW*ke!}MP>v~zZ(#!L}l}047)$8K? z6kX4TKB^fu1C0PKGlc=m*B&6pd$o?MUT1aa(lRksq~dC*@!_xznv3)P1{Q&*@l?o^ z-#|^^Z^lPhh)m*W+A1j@N8mGlQPz|iUNqs(ggCYivZLIX0QBh$4R+Gr_b39R_rFn7 zN_Qg`X0u&iJjR&dJ^#2$S#gahdFLBK=LIn=_5f3OUAMu}R?*ao%TCm7SD%LiPv!chu9o$uV~};VOI%{(bi*-ynbLrSg#a6P zWWT`C`J5QT05BO4l})Q?hZr*KAqHPiGEE`1_$I)I3De88q$5$f5&Kx?;;=okQ{Aix~YT%arLTt-Bz0gA51sDuHn{gNVCB#9%3WKxA1u zD^q*TV|v793e(1W&baQ>!#uvrM)Vyxw;15Y?=m8;1B8X3te_;iv<5=<@|^Er&;V?B znmM7gcpZ{sbbq>Iif~N^IQ3I;l;_X?zow1fPzOS7f4HT&ukO{#_V zlBpO48oo;q@qJx=Y_ku6(6&c2HH3#OFMn!5+9}B^18cj})z-GD&-`wDC+c@+b}xXD z!<&!T3``7MA%VQx{_F`VheRg0*2U9KuN=(Lg{xnGw)pYBj50{SUzc}plKKyR(bNa1 zs(-qM9dpt=kb8_rWlxOg0B=C{HQcYh&NWv)t0N3V; zX){$z(6QW$iac@8ZarVUERU3HZ)|QjX$aJLrHy>&z?(U5JEsmm-fp$PJP%v3n$5{( z3D1u6Nn<99)QOd2r<|IAEeo0$E1ZuXRu8Gov^+y7^duX^R8SUXmLxEw>wn0a^n_IM z580A(kgxtBdr~Y);6LO@LP72Nhg^+ws9eDR0?s5j^umA0-PnMh_%Ff2lq7-q_z#(r z__4hIAxlyxR?|OZYjnnD_)h_AQXx)qQam#3znHyI6gT!iNsgo?yoZ0tnKX&dh04Ur zz{E|&&dklg&O*e>!toE1&Iy>3#0e5mIXDq!VRDwe5 zU^MNZQ0IUon@e0NOiFk^k?iguBt48M33ZZ+a6i%v4Rs`DhvJ8V6M#oZ-v^^@?aI1Q zxM_FM!!BtSp=TuwhKX)7q}rbDNDGEvJzgaP0CFEoq1HPq^cx7U{@}D(8i}l z?NNZ@*uK81om>Q17dN6to6ibvVl|Y%0N%du`!3>3>j+L#-)r?$s0q)b&0}_5t>@zj z$K$bt#K$dlo2KX7DYKYvkks+~2;{PYvI ziy%^24M8tY+`sNg-i8_KWc^-NtZ4cC%9pNgsU9MTq*MbitX=1Xz6 zi?ty%e|8rv1+~VE0T8QxbHba{t>VxjbXWIY_-D%RC7BOX=$PYX99>xH zQ&g~-^~lzzs{3iX_y9h2A|sq(Qq>Y`cr2wZpd=2UGF2Q1K}3c5G$62BD9acLW6RmV zT+}eK3AzA-53cMFO<2uuJzrBMXeaAY!@N4rp)IdQL^%*pY1gMdy3xiOjT;T&O0PI* zw?}JyXbk}>ztmdrS{bVmzo-3zkB>1mb{x#p(mViDm;%=|KOMThKPR~wG#eO|ldqN= zQw4Y}d|B!1W*bU8PQqyt%J;nAHTH zn1FN~sGdq=GZuJvJ-y+yKaqh~RM>&xR=0u`p5H_{WZLFuH2Rgk!9-a#LCBh(;XT^c zEmxWZZq~!Cr6uD6nI%@~F;ml3DoNZfUT1y9C;Rx5Z>9}~VZqb#j$khrO1G)Rj(ho0UN5*A z2qhywf*@DX$DG7CxbI??LYxYHM<|W>jWDhWcn_?cjd4jBjW_xGxJD&~Vszsze31%d zg(^r!u139$aS8MP^lMOi5Xi7)^(RdYg&F{m$^@~{hmIKW1l6GwMPHaGbor(83$zFM z7Rg}*H88FeSxgcCf{qv?hqF!?R&Ug?fNGL6`D7mMzgj-U*(b8qhfGhd;z9$L;02~Y z?XlhJjitFI7C@TQ@R*sJ$K5q2G61Yl6kI z9h0p}$f9`BraEQ5ic4jNM{t8Dpr7$rQbp36vJ0)4Lhsf3bxnaE8)V0nKd$%}RhY-= z{7@g6N+;25iD{uZF_54@chS2I%X9(Iy5VeCMjn}(>7v(rWSKNF4HPkrTxok}EeQmm z!ICjm)dpq5f7zXhEZIa@-Y~7slC`l*NAo$uI`|;CRe$aK=Jt8Z?H7>EEqvi$_FV^X zIR6|KD<37(o(W29L`YZf)pA%iWexV_v^gK#$Vl4pkrG*zm0W3#@uc3uKv>-;}% ztgD3ZuG<{SIg+!+W6L?0bDP4J*EtGnyys0JC9y;C^IB4o1K8kJT4b%kaRm7}Q|h74 zvn(sI0x7V3d@WdO?>_QDORf|0Kxx(U7lOJw4KCQIE$}GpyfA!!*%Q6oeRZzf&))J5 zwj|W#r2!8PkYo&+MR3ZTiaG&OX;5d2ghp@k$Ls158g!$zs~Ng^b{1_2f5q55uEm4M zNxV@z+6%@Uo>_wN4ehx7F>?vMETVdlb`Q%K3F$0-5+N(BvE}sA9KlA2Pqsv-464dV zO+jU2PLrcZgAe~qPVQ$;L>DU&x?Pidg{sJO(T0vDI&lo=f@~mOlhFs-i;VE^@O_HkAr_yM26bSW z5YcxS;u};-JbZ(NB#Z>0AtBpiL8{v7fkUzcD$t^5~vHV!8J0r>5$ zfih95HH7d9YaTtg_hGx=WHh{nV~#c{gsLggYu)wU4;h7`t6Ri?${iav!m$^}#!zF$ z8(ms03T4e@?l=Bk2ncMNnXwC#=-74U@W?@~2DUdbhMtgO#o+;%zeYaZah6=zkmmb5 zq$aZjm91s@x|?@Qxg(Zyj#&1c$xmE=A@5b<<+}W-q%u+tiG5MXWTiC4oWvU{Hr4xB zhE=-I>cS~Psie{Y2~E-{DT8*9257D^zi(T^&K)O5ve%KWPq?HcpULidW5EKCL5dN9 z1wzK71o`)~&05w%tV9#J)F`CB8VXD-!OW+Cu}pw`<2)MYWj&u^nXtiP3XjD%yhq|OmV zGy$>@b&!fT0&)sQS@2zXmY*7*fNz@%yrW*uz`<_-E*RY#2HRP}_XY6chr+@RmMhh= zPv+dKf~ptCu7FxAELs0W*&+cv`?o(T*X8;1sz?n%7H)?(@WVO@U(}dwu}kYGBK$k_ zlfjA2I;Sl!s7v1VqJR-{_>IC!>@@S)Itth6pi$rHAa=mg%ML$N_YRxu;7eKIoleU4 z$(KLF#VOuFYigfRFFdGt?^ipTQH6W<38KkDr~F_&Z<_OV9)I2BSlRb;^Hp zQ!d(^f83BOX^r;&A95#6)0rhP0i%Jk5^*O9(zCz_+1op~y66zGawNs^QYR(T2Lo9D zFOsKY=kOnrr=Rx|*ypeLQKv3;CpKR&Mk2RR5bh_Ua=EXFhfqO3+M!Y;n3#F&DDZ6_ zmPoHfLeJ=)G=}l!$dzTm#cH}%xwCe$QtRLTcANU9p>a92f%|;CFo{{aJxup(JjHKk z(6jqD{DgV{<-6DD^ZE3B1baM4JI-G%z}REL*;&-4pw%d|*7En^ zo|^VrD+m4TKKF8A$DpSz6xlHufeR|X^&E6?1!}ko|FLY)=+kyGXOd5*A{pImup#J6 zTYV~4PoPMxMV=S7WHDiMW~|R1&~8*!%DTOi%_ELu;b|2qRv|2Y>RI_qK(OeUjT!-_OFg>I5OLQ4$SDXZ}ZpI$`GpB5WR*f1> zcUr!A0>EvlRe4Sh{307>rOh`R=I>I#$)ukglj!$3$i~#=2Gf|24yr#KKQKWU*)%oV zW2Tk!jXYi$eC=wZj;7G!kGjEanYw=In|5|+^eI>L zvxgSfUPPdm-lOJTE->>Xc%|&-XLLV8U4Qh`1{A3oAK6siemk-ytF3Gbob4*Iu8`gi z>dpquIMGB1bvO$DD%BPV*B0Boqpp`AN&p2*#y_ji{d{YEA@pyqLBblVyEz$db=a}3 z7HOpWO31>PA_Xk&5#b<$t)8TdIU}$uD_knZ5&9_4%rU=QQPIRwaFDtNNIm$$+w)L* z0}@ZRLG)17i!azdV94n2Ee>v17Z`MIcExgdSC-|_=#076W8@a=qbnqR?liB%n`)9i zn#?yUe2HGN(=Ny?)EdU6Tf$xoC0!0_dpc$&8Eeqm|85>~aKyBrvU4qrID=4p7)3m3f2T6`=~bR*jTyyXV5;aW@mA!Y%^e zMLA<9h^}mZ6$?F@_Ma`Ql^sw7ad|b!Ptn+=@oF+5?1NKP0%?)+Q+dw58mi!o0;wYA zZ-sH9Pr8CY0ACBZC_VU?x^53(T>}y zTdv=#ZVoaw$+icKQEAs9%5-}wJcrV*^_8MwhHfR`*0%$Yy%S%Ge{n82GQ3d>L@LbJ zxSXnd*oTMDskPz&t`#A7xB8{_>EKiPfJLLd!;P3^a|6*4@WD0;^_I>Q0LzY&UU|>k zlD6Pk(KC(+!6elXTW}}*fvk{`%O5Zy)$;{Lap){eTP1Dc=)OP=wqtgD~RSt!OQj^ryz*27)$oLD8g6>hEBWGfzMP%Gk`ba zkJfTk7frU=g90Jj7Q1m$MyR;ukGJNV@VOM)=p)cmM-ZH?6QFlp(fkxG2yD2x2(Z#t{r>AB+qq8qy^e)fbMxqtYt~Ew|*`5chiW3o8F5$T>p0krn3 zFB+!8JC%G66sE#4U~+$7itwl}iRV%C!#rFF&d-BbV~9-ygt5(%yrhl9IQGL6DEE=O zW~^NoS#uI8%~5RnNE-27w|}lb1z5V{rcB8jx>yd~kt|~vnR_Y$s1gJ-;(T`uoC+Zp zPB9BF0U=hGC_0!FG#OOFKCUvL28OiLGGQ0S_7s`g1V^P105@OE?#)8!bV%kTNUp8R zk}kC$!d&2pZR~$a5t|{0Co8uv6H#c6dIIHFvwKA%Pe@+gnIc&d(WpBNOX;=9=H<%^ z)-JdybssXY@Q#u^&H|9>f1_GBoFhe}1YaWa(uSE%Gn;tkfq7O!Knh{t&&aJfnQ{tB%_3rqW&a3k z$8|+9ti?aF;gVIq`&#MQ{)yW+79kuShqy8x^wrX}JuSpr-4)F&3JCBcCn)#|dqcib zp@ujRYk|Xz{1CNh(*QHs7)0gs8~+s&i_)W*k2ysGu*J%PGN%uNrtU7Ib=su3z^9d^ zDA)*sPl@?=a>3_{e%&=r(0_MGtzN0s&~L1y;h+DWPz{9&7DbmYP}1y<9#oP3 z(NQVC6h{sd0#1gPHF02fR$r;Ohq{z&Nue4gQ(-&4RDZADh%+g-q><&Q#)`W0kY|^D zq}kgC=oP zT1Lx86(EA-3W?0wdDgi7}{E2h%j;>bSe_9U) zo0!nHLBA%{RaT#~MncZL)^0lm;^z}QY7S*VOR`@c!le|I*}QL>hS%7#LGg7P;MF1G z{;?}+arEZB>eW=RFkRpx_?6?4E*0~e#--}Crtvuae53S_F^r1PDrT0fSco%Qid3K~ zAO`Z-qJ)LJ>R5A~Z)vxAX0TPG^0s+qr;HZZ;BDaK^F0c(c8WF>z}|y${(I)Y#@4wR z<=BQ{kFj@{@B!aFgjIyXqp({{7~isCp~{xuQma(+rO=-qO~0B=Xc_5li6xSgDuCHOl+J65S=xXdx8AjaL&n zBUXwd{mEC*$9Q%!t8x)?C6OZKiE4IpKCK=y)e zM%gvN=GRZ=89bV`E76awMV_B>nasC|PN2Nk?DHT7ACHfI#dpG&x53^SmMjQ^ta0|llK0EtT>=hYX6 zpsl-Wyv&U0hJ>8<4S3*!>a$nulobuR9qE*ys6OuuRjKkkLTF{7)lcA^Y&JWprAM5U z6Ij-Sya}+-576ujnr7C_UjvuGf}h{*ynzW8B6p1TI07Ia20}njQJT`Ff^Gq@Cwm=6 zT5!zfeUgx5<5_DtxWN4_@QG_=hAxG|;>UQ8NtvsM;cYBV2H`p8hTGf1O;zz>&K z-^*>ck_)*h)e?i}e-086M*d#GmrgRA`3{Lx2PqSG#hOftbGK3Q1F(*>P8(t2b>FvA zI@en5Nu1{#CAhP~^ znSO?S&QTWZmsR8<7^q;_U?w?lE2^CDxLsPq#5>^e%oDn80VoDX$#566#>OGvp6}?% zw%CYD21=YAhut`1&NGtAs6wQ=Uggte z{oKl|U)gN52QE;@Lkpl=1?K-w(YZ&LN&(Si4qa7w7lYbvr}9Cdqq!xcz#- zD|uh0;<(lz+Mm=>k%$D7R{{5zH5_;tGkeqjY5_~DFoc2y`KJf#2?%hwnHkub|9J*X zEdMM5B4$ojhJVh%KUaZ?>pu~ zC?`LE60tC5n$0vY4uF-NgZ=-Kr`lc)8{!y00)jn*dGsyH$SQb=gN3&^j;1{01^pP2 z9?`?bO0y_t$O+_WMf+~`g#J6stXT=7T6Qt3yyn|oUZXeoBFt}ES-A@Q@&dY%xBJ3f z-5F7>t+fVn_Ap9dVl?)cwFXki19509e*wWvDCx;UiP0P3E49K-alPB!{^Y`*DG?iM zy%K2}D?gu1-57S9wJXNmdetL8$gKdMuX7wIQYR6{L@OkkGy-06n1OVn8UguG$JJzn z%+9P(BO>@>K7WX|c$%$DnTP2xilVt`uv`+ zJx=m6U5HGO$7p{|2xAUoUKV^J{&U6LH}!YRfhXDek)}9ln}%y|M% zxFs~=WbJ{iYCpYh)UZ2W>YC;95)(Ck^`2jMnAFRGDOrYfR-CySU+Uf|t$er^w#sN= zr3K0T-j*gvc@0jkSRqg?cs2XhF2DhA)m}re0T+{WZV&FTU|ntFkV2qthbuam>G|a& zuEjcl`3`}58>EmOC3{e;S>hocE{O_(CHF8Mo?Hn>G(o_bQ{9R<<3mJ2pnLF$u@zry3^YR{a{r=F{sLP+a>me7PpSZ1%|i$2r7*w% zH~A{#@&c9S)1Ho8U^6}vJ}-MBShS<6r|#oXRYFyaV2H=_6Xfb|AwFR~JPzb5k^9Ub zQzx96yPH#LcKCgDN5q~I7Qg__F|9nh5$wBy_LWeds;g@VxS_2`$ifqUdzRGex63Yd z&k^V6SmHP=Us}$D%`3o)^6=zu=scTYT@0PXc90{yFA_Ko&0utl1+6~48wNaSn>^#K zvi|v0C`v^&XqqAH(=GY*QJMKo`^SHDtZiguQ~msz(D9)MWHKgRZ0WgClM zg}X6PZ;s*e{T6N;8LU2H%=&Nv;m&V(n_nIangK z_@G~G`8)PkLe`RnrwJCP`r)cTXUYNnSYI;VVpU{SqbGtBA|QtD3DxoT@aU?ImTN$G zFh}|#)$;d9w26nfC8v~3aPHng@=HZzdbhz?{8q>-GZ&I}CV&fWd}K9|H$IY`qgo=~ znbFAY3~R5ro})|b{H@*XdKDSAAvg!e3x&g{#XOux8d!8TtOVOe8x-Fp0G)-TVh%aR z^{BG-FWjABQA%47nHTFP^KLstDrpC0jXIvIgdmGgO8|c2EPY6VC7pbN3HGt!DK!u( zE%wm7%4nHxB%lKw-dyv~uvhyY?j64FS4^8rB$3Mp!DtJ5nB4>n^G4yKB~>#E1QKO@ z%v}&F*~<2k$uuKC^w%St%UVl+myLtuNZd7?%QN&$IuX2gWF)mbH$1G+nNWr9b(2!( z_TOdcbJE6mygA=SqSAKPtn}X-{gG6y2s!V2ae;|{#{nT!O~`J;+ZFZskYM;%x9jU+ z2l0j!kAK!W;_EFaM@XSWE?u+PAAt_B7>>yxTYM9lY?+Ea_cQpG?6>S!oNU&G@+mD1 zqnw{>w>=aZ+)aEE;0jj57GNs!(ao>+>o4oXq4VO$C0b?VuPrtpwiD3RFA#QkmG+i= z&uB}$-~l&FWf?{^lPUeIseHev0O1PTphvwXi{B9~UUE&75K~FfEKTat=4r-3N$bBo z!-j2@CUB^31Bd`ONaYWE|- zi`{wSBj?eLND>wqUY`?C2PSA3P^LeluJb20uJX;QJCAB6Nc0VE2H8FriOpXu%**ba z((nX`nW%5+Z1}$DS}{xTP35%`Za@(Qa(H^xeR(m?q%30Lny%SK?i$YEqMRbT6WoB5)72BQd`nd`((ZnJe9#DSv(W-yG}%|fl4me z*J55Nj>`QP@30V3SObqriw9oGCM4kb`wCmFUIf+|y{eQ?Tl8e3(x8N}_WONGZ;b&m zb2aboZ>Db%cTTYo*;hU59pBpc;4Fv|-nAT#Hc=G1)d+qk5{s1JF(D-87%bdUDZL`q z<+Ha5q#xo?#%0VGA%)@6f_XDmR&f-OKtd*$8dNRMz3qt{(?%7fhGYSm<5%^6mS7@ob z3@WycZAe`-vNq&ha-m~YjRH&!_-*Rzqj=-UK9{hD#&&k3QL5i6u@KHA`1(j)IM?#mYHsgQ2&IM!8nrtIiDl#Agd02mh65 zmZ`edU)PkFVFWZJ8|Al0uv_G{s2oQam-3vSh#0*88po+=RKPDY7 zY-o0Qo~isP{e58Z5n-3HcAbg76|mZL&BVlL@uZ4Vt&5|=6s38K$S4Ssbmm(S(T)>} zJBH$F({kd<^Q$T244&t+*bXr#+vzjNW?TCW0tm+d>S5ZnzfN39lmw5X zKwBNtuJY9Yq)(Smt}Q@%w91fayH^=S+>XkNFuy0bDSu%2NsK<}iZ(^MV$88Cb)^lNfMtuz89l9Ei?1N3T^qYE5dsYQ=; zesAa*{Wc6)QKbjeBaWzIW6cKj6xAq!;Er;j6{16@t<* z0lnh^;;)b zWNzx+7u%Jo7*Q*ud|(4k4}jAVqJKp-sNEk6q z2x`-O<>%J&=abIZy=CT}R;@xXMiH@TK=Gq`mZlK3n#hk1oSM zdIi60Ga&=W`f|wwe^4l}`*2`Zykfw!N47SdPSjg%1gT~va zmJ$40N%I$D!pu5qH!dUW2f=0v|4cv*>0v13o-5Mractp&j3XKw38#m?fkGGHw(gd zO5iKl2xUt(L^WadAl-~d;mB7;=tg5X>Xy><$K4_{Yt-jUFJBxZ#i=#c#VGG2iLnI# z_AFqv(5gfKv)~X5gD}>2iYu{7hA$co`g{v`tJi&@P{Lz^-fDDj>6@XJo5wAr`_g{62;p)V<6`Du=b&d|qhw;Dq$XmN zb1)S(ay6q8{l&t>%)#`(E0Wwqw17F2W<+q{Ihh#6t(;w4|NW1hJ#AMQ6c@n4%K1;X z{-2ksuC(vb^5hgsb z<`z>IAbxF#Els3%5hRGzzuB0%Z;ag{b!}sP9mjcSvOEjdN}NpUDM^c=ALvu8SR%Y+|KotH=m zU0&&JTp@_uYW1~oi@ka*h(_Zhel{);CDABkU|50(W+AvYI_jbuz+N&!qfM;R;}tZO<;5=d1K`fxO%+^^|| z0+7JsOee~SMx56gPzHfwU^Mm@MWGo`TkQbz{6qFgu^d<%N?zV~N)Ge8e+4CUBqBR; zh?+=RO4y_=-!z|jpjxtR9c@-YNE8%fC%j01NR1@cMGfmX z4*eNnuzj(4_RvT&&6$l&rZLo9%XIl}yxvI9WDsU#5WOk~XB%&{%E4rL1>j6$|E`)w zzPvI%bU)o_c(!2Sf@;HFGgtO(yHrZ%pea-Mpk(ZJbgfX;L0~P>s<~Y^+7TzqG*;yf)c_IpM@dEP&b0545H@I zq(Y`khQg2rgC!3NMd=p?L>lIc)|o=LFa^=a7%l`E8G-3w^<#+Fg(BPjPbdmYS`dmn zHxQxKX}P++DM5i{x=Mr!|F5Gy37%z`NClo{YF`BvnNF4n7JY00ydgeNeYMWn-Lp2I zE+mhc^fZK3f_ru3d2l?vRae(&&D}Xs&mLo}Gj9};?5q%gI^Nk(2?^_YAy#8NpdFSX z1*Cah7(eH5|KNviJqfdgN5PQe%0|g4K}PwUFpR9kkf}?@fP?;iT6R|>Y$QkA?tbsg zN1G-~r_taHOq(WU-yz6yJ|y9)?H4z*AXmF7SC7Xuv89^II(7yzp5jEHwL(pQ?)urS zA1Ux)=l%e&-SQGob+sF}H_O^OJ*IOWuQAKor&>8krS)ISG<(|Yj&V7BFWVa{>-u%h zHC_|v9mF_FclMl1&vIeubj!6c3124QZ@Fwl*v^uR4)BE-!#4!eQwXa84NaW}E-#Zi zXNJh;uXew0&{%}TsdwX+sIiSz=b%4m?$F-v&~^vVFE!Ydr|M1GMi{S-?EKH>#!bfH zXTpJ+1+? zc=BSH4qrwK2KZHO$;(O^`f+aL88x%|FHQO$jQTGvIn6QJ6!dNiRp#XEwB;mL@3f%?mgAc<-VWRyf!>j&(4m@={^{g^3C8vUY(c#Fb!sG--AfIy231VfG zgocP@@giOlaun*MM>~u6U$tpbY3K^+g`JgWmF@a8@@iQXU+0?&P8H`1s)XdJzH}=x z!%9&J&N0cRMRcUa*wiyY_jG`NV*8%%e_m|ppV#&lwFEIUHSV3IA74ffu7LUvua9ZB z1&18lTK6=S%4qN3pP3Ypkvn!+?${4 zx83lq=cDV26*2RgA5SkQ|8^dqZglvgevLH2Rf6f4wD*s5N5J@_eTJC?+t_R*OO;P4^fu$!c$L&><)_jnT34S zmI^HOy-}13ijAGdw|v1B--+l(r)Ae)!l}oWZxm0?5BFrJ=Oso&@3gl`(E7n2)catH zL;FR5gE|AEZc8{lE1%=|k7D|F{{6Idxlyf!+{4*S^^%J|d~>e&S7c>*;*&vZ(Yd@P z>%f!z>%+`9Yze+Y&VMn#f7d8jk_=_e{vm6c;WRKsu(NEdvn+5*z`qPz8q5^1BPbgO zYnsm#@czFH`+sUE0c_kHjIw6-7Os~6xFR<<2Q$n6pR-;1Li(zzy+3oiP^OP3|CMD) z;*c^=B!(sq1j-K~!IsPqNo9!#3JeJ;S)8q0WsiWT)2zo-qy&{jf~9%BF1S9gXzPfg zC0f=CB-?Sh_ECV^eP8&wzS;QkH;}*o*XhN5L;aHVlH+pCV;=7`@&^`^57$7G-}$v$ z<1&53)c}*_SWk(qs%}4ua0ifEU+Z8@cb#2eR0vC9KczXkYH@(g8jGc`srq^3B0wek zVg_z9F}HUxnle*P=t_L>-X61Kjjd0BRYH|6z`C`J9)k{Gs^KktnF09!Aenr|wE=A8 zwz}3sXLblXL+Wd&R$i)fT841D%zk)c)be@hoQ?;y9{k^}VnXXLA+e$*|EP6(63dwK zZ|=lBKWn*YOg9mH7z3H801Rzq2QIOjpLQgg+h%{zl3z06gP)8<2<|fzZdiP_6Vb;# z$TzSS`ctn39K;7d`BxBghgWHzVgTtYfAthKK9;_h3uEkBSyOeHYu$$jk^`;wEO%m_ zx8Ir{%-aa{n{w(s5LwLe8yx%h$?fdjsYedbk6>}l={`RqJJPT(Itg1{SoSvRC^6}= zn4ON;Hg*ZMx)LIrUM|>cq5Vf&j3*-x=y6F9a0x^>g3hqWn_w-fV{SO@_yA6yugejG z)(ZHE_Z~*|W(_zP5WCP!Jd;MO|BI_{46cL;qK(bXjcwbuZQI`1xyi=1ZQJHeHcmFS z?Tt3vx8GB}dR3>Udj8D(>FSv}-F+Iz&7fi@gI%%!)F4{L>L9Pf)U80JwPTiXk(qSv zV9J-L)Nu9)n^iwE*WR%Zus`nFkTEo1#2+{Gy@zRg>JQ;XfLDZMbXM`pPxX?0=Y#WY z+We_o`8QdIp8mw;FSB*i_Rm&aATgid-?`-9ESp4DrYUn5w?|dae4oyjm)P$OU&rnH zw}<`Pfn5v^95wHPFY^`o7t+Q);lxB%BS04eW0pj0*(Psc~aNdg~ja-^{1l)+qNg#3zTbw6AU40-@M|lYyF-r z@xRKRsn;d^h3a0hH@sf8Z+2Nt2~KSdo^LN6fIRW&gXAKREQn|D(`bi~7o&f^7R|5z zyV9e4b}8%s-2eY?9{)bE?x^ld9o^DxbFAepizU-#xp z(rmJIz}%c9dfwRFXvH&HNwX{&Q{l=^tKziVw7+X7Ubux43AAUFbYWl7s_^@2Ip5fo z{04rn{XS%4T%@NIuqvu5MaxaslLng_^s7*V&Mj?Z68*UHcbu!jtJbU1E70gw^i?%0 za)D0=5F>7U&H!05VJfaeN^eGq^FYCsw%oGrz^Xs&u{Cxr5KR40?=Mg=TJuUEl)=0w z|H{^%Zal<&NB_$CVbvdVdpLK8{U_#w6KfW=#{BiUcHr=P`C>nBrTIYqpYxUlstzSy z<74B39Cr}TSfFV>Szb2%C6Gt|i0`9KCishZ<}c7o?W?ZOqyBG8{s7SXv$bkjol3d7 z8c8EHBQ2ho+jIIXS(RKGiJ6Ix0f%d;K=>$kCi@-~$K2AH%+jGv( zO5TUq?7-@C=Z1;vogs(sFAmO0bNK#!^QVp{DRT5h+*ohby+h>HL?w0s-PuiKDak*u zc8WXK!*)m-?y;a_GG?3@s%a&FidO2u4JP4Leq8o!S)?;6L-qY(ioKU;^$3Qm#lebv zR;|&SFlnvD8*h7megP+o#k}O?((KHk?Tm-+eiVvcPw`8~W;xz*S>D?BHm}c?uUhC{ z1U$8=(}l<};&IYR#>Hho6Y35r7@M-VEuXq%{*Euhu=kDgFnDfMp1#n03k*xljB)!Xn@zK?ypQiJU(#~k7;e8|`9yDNi5>RI-kv3jcNn=WZHQoZxNwm>mTqtlbIwG`r))#Q z9?KmIN>?#&g$|ghu0b<)%xG6jTM8cC?_ZYYr{lCaR4!!n5^t~)p&8`@WsY#C@+$_9 z{?Zyokn_g3b}nm2&P#6I82Ux?mCjlts^X{xmL2uLllFpeSu1lBx6RU$)lEEmLBGn4 zUh}|qXpeCW#O=U>aOG`arzNmp8q$}xHDkfKC0Rqd^smyAq@)xx7ELnRMvrAUPc2RC zTs!<|Wekvx#o>82g(Ci*c_#GN-9|$niDprsqoi>JO!<;S0l#o%lQ}`1+P`QUhcWiR zB|cG74$qUxfzQ1pdsIF40cPFXxy(7dVKRdAh}f9+gv!58XgAr_SoXYB?#b4^ru3kd zAnjC@=_gQ4g@L^rqIT$jp~Jt{F0eD(c`lx(#JiN?nF}v~@;I*8tzd=p!3@^)*Zw)V zJ@=91)6fdT*!c;4{gco2&cWEmN&C|xe$L0&SePVd3v9HIKlvqoz;Rm0_Jz(A-DU<%-wsJ$t(m<8loQr}64^mL0nszO}~;U-NpIB5Y2+L*O#iHzKty zhfbVv$D|G;fqYKQ7JU2a(GxRP@66 z5*6o85#;HSkjqOu5RXowS}SL1Ty4#8a~fgsAxb1fQ8jy!|_%gf&Tj)FDx<7yQxOGi{wNCZ)DkGOOSPIZYHYD zB?*8n=MoIKEaNeb_E4)$Gm8V%lmT@pL2|TOGED~2mTC-XW>J8cG93z#7%i3zt8uiC z+H~510PSp=Sv;VnERzzXKx-wV$}E`&SS+hdE0&73RZ~bS){CZ9Q%E;U2572j$g!$M z!>d7+Rwfo3M6=P#mEkahcxcDuSf!#D)KXgWibEG> z9PLjVF5?mp2r0v%0Ey7T$Rtrq0%_l57qp{=)Q;p9^rMZ`9#hGrqlwhqGsyI#8ECs@ zlV~NiY1v9;GRPF8nbiK2%A}D=A~XPqXp_rilF3vNIsou$qw?s~lC=O%@s5jDugoUtpcFt| z%EJVjQ~MB)9+1CJ0SL?8hX8iv@ACk=axMzd&ZRtbAaq(3`TI5iFy(-r7De{H3}7sC zuT3kIallUdMFy%+BS<~KpcP6#AgBFe07a(-G4QPL!CTO<(^l-Fl}L%ALf1qGYJO9s$QA*RRFlwA(~;9r;wf{) z+b}HP6fa0nN|cEG>xoQ~AQ!t)E!>v?k$S;b(i{;X(^1fo;7M7ESLGGZ6l@@q@7lo*ugl;66dzKOw`i{4AP6otAJ>J;O!bw}n}#8O3*xvFI4 z{gfJ$A)`+Uo1B)QDu$zD|AremEPj6|YFhM1Eiqq)v?Sg&H?nGUGg5Dvt~bn;I!XzR zu%fwu_648c)BWkCZ&iPxP=-6tM5xH;L8D{lwwgq_$|D-eM;?t;S3_)qmg0d}kiTB8S zV0m*zWIn|qhJ;@f5%q@nk^-lf`VDKbp#*=FXQMm8t&FYYIC=~ji^x4dITTZB>KzZy#s0^J z7$fD_Ahp-YTR=n%NpLt=*IW&|UM&pwDklb-s{H>zl`+R!BZb5$D| z8iZS~K$K&c2m;MQQ3*(K6krnv4BBxR!HDRmc)Xm-K%)7#O6IgD(n)0AX3@SXtA<2z zg<9*Mq|a6;s;G85c{hoQsgijf7KI0@_eeWQB~R6 z?Tn*%=dI$t0ApnlYQ)Sm`%Za={85uSC_>E?F?aR+m&eDOIn=$`r* zg#|*tS)OIop86WK&ffQ$D>1xwG+3npZ0`w($8+yfoB8=f548y*Cp1mFa~ zwotcVx9o3jx?ugezhiG~!SC1!&AGuoUe9-ccZlu&=y#Gb)}LQhY}|(10y98$fZ+mP zE!u87yTx17nOiP*$*)mp5x`e`@vZ0BzU`8beK4p!@?kpg$w!2|gv55xC*~1utpKR>JaHPIr{9mY?nEd-+cSKH`web z5BXL$TPB}QC(LlXnf`mYtoKx{-dz4#zE2)=Dp^F_)lsm}IZK!vwW9~``+$PU6!IxIF#4jR4UtS7$fSn1{B@K&b_3=Ert7S43jGT7 zqnatbzX9E|+P#ffnDUt;g@wN^yg^tmR=Kmp8Cix7F#+t)DQnJVPYYjb(?lSKF`~mb zRRc38R&%;&%~@uOn`Q01%YS-9zD+YAN2UaM?IRbL6P`1k6BPsH&E3{Z2QH_UwsrSF z{OV0I!6ZHx+Zc_Hq`o)o&03-wC4-Gxx!7HV7~mP}2wQ*gn$>frN3j0`Ps^ zPR|R26~c?_Y$stUj;a^6mrryWHRx}CTo~(YgDIvi<&2b;);Es$0)nFq*u_cEvN0bm zPM}XBG?ik#!@);&HPyclJRBd0*kSpD5}&)d)Rc0l^!H?9vxoh!#_Hrf-=fbz%?|h( z6<`^i{l!69OiOdR0?6{>fKvB@+10=5rzL#JAH!ZKpZgY#nU-2(MGa&QN7i58Yz=;2 z)_rwQe-#i70)cjB2Qe_>o9@^xzT1+6VS~_vzI*;AgpF7_khL&c;Pk`cgM7%Oo0U?8rDpbD%4tX(jk2_6e(B}_S3O0cX5rV6|Q z6creFAp{NVWRRMP01FBZVl226B;_ED2?YxT4hjHLQiN0m3<)wEB9Md_2O<{|2?hon zG8kNhXrA~C_7VCGtV_hX5PKfuC%7-zcCZ5p;u(wugkdle384&RH<%C!rVMy*5D-=d zCOJrA5Saq(UW5P*aTJVc5MBaOH3+g1l8fY9BLvnUQf3g`ARJE6cM_y|RL2obaCb0R zoSM_dd#%EM$>?0Lct~N$zhGY|A5b4~A7K8d|L9pn0?2;wcnImBk-^o$-Jt&+j|Po{ z=Yr>g2EYm+V1t!|5`q(ggn^L65X4|Wh%dNa)Lz(LL;|ocuwKYsFlaJoC-?s}IQt-SpQ7GAP5u z0Fo->y8$HD|6O1*&`!Ww@SW$F*UOBm=u~OUA^SB*+6LhxakAI>6?f5BS1oXmfRdl?s+kak> z*1r`Vfh}|RmNQ-6Xs0z|#|pf!d*r>F_Hkg!89%A%dZoz;yHq$DwuYA*}gLWXD zA53p7bHEM65@TL*Ep|xCHl9pBw1(E7&}v$CK-RA@%&1A{q|q%q(FVI*d-Z0+Zba0i z%woW9idm=hw##Um0k*t*Mn|DL&1J(+TV62*;lq%0ex~|qd z2wPsCr5U%#0k<}W*gGnDi)LHD*aIMYkooVF48pX-x)HON2&->w2KxGLv^as>JrUb6 z)-D6p6e-6-XYcEfYn!M|jt=~RO6T#>f6$*B-;RFNMun}Rv|}j$W^K>mta&!3f2Vv$ znIW?4xH3&>0ru&TDmMl2*ye*0S_R-Y7qdME>`Fdbu6U0m87KP&jYi?05d6~m#&#^` z$X~*J1K_(l*7&bbuL7LHd~*WA>=FIwuiUUE!Ve%{4(}f79Owdvztb^l?F`Wtvq0hx zjx{zp{KlA$UJXFP|LJw@iiw5SgP%WKV=&$e2NV0J5oom6aqh9Q4G;g?za22bO&6au z)B8T_KOz;{^~y-x(VMjR`#z}>oLAa=R=ObYqv~^$n*h?)Rao%OwjqBj=|E*ab_o}0 z_Penis^M!`Ocgks-vkjn*-NaV$5-L(Wg|>oP>Ho&SM zhXgN!A!0?V!G#w(qK|J+tsXF9!eiK1X)()vEu}v z^tSwg@pZ+^dLz?k)+li&TE{G{L;h%*bb}M{lfYI3P%_ioWZCwo!(Ja#)ch`-bzmu)r-EwKgqz|v{t}=eXnL$yOoz!yuCbIWaft6af^Ba=GNW` z3Azgvh%=m=sjJNi`W#+h#W@5}aIv$eS1_*|tnyRY+jR7+M|ZckQyeMcVQv_!tS|>U zY}`G_?eYj!Hk0Hr3t4NeCps}Hhkp$tDSLvdSq16BPbIV7(q~rha~A?I^lJh_#@hTj z8eJPJIGLM(xQDgv*O@!t(qj#Q0s+!w_^D++l=2S%JWeE09DSV|8)n|p@ zh?brAPie$1cqiY(m#1k4E^SXQ<_z1U$ruwP(iiLH+Eg&Yi$_3ze+u7r? zCFrhm*DioYHGH#K%#Of=Idcl!8||}vETrBEu$js=#7^Kl$7%k;y>HN9Ww%7ON}oyR zq_nV6<`BpC2+1racrR!5&ieu5xN5p3+`4g$IipA(>~UJ=Iyg*q`vMlD z3xx?mL^X#}HL}72lZ2L~>v$zwvosweYramQf~TxAnz zbu;{WIbN+?w>FNzorR6w64qP86^is+i@_yN3F+|&?uUAQHTgpjcvWAL>oY%0>s)*R zC+=%|(xN6E3#&MNul3-b<~288AG}MI5_!2^t=@|?wHX#Ul4l3~#&x94Yt4`y9O8)N z-^fhMtlemH->y0sogiPbb^>9_53xD8a z&dvXmaD&&Yu-g~-E?V(=+`7HhFd$wF(X^@Q%sUG2ZTI)`iT+V4W+<8asaW<@u$5uJ zW;ui%2H0@3={vYTFTF?T62nV13E=!b`S@nUP0;Tr_7oyrkL$4?TMU&FXy>lh%GxLW zwl-FQRlDxxVygDdIBNsii39ICO0{kQ{#>@oCH>-hoNL!#KqqH!Ni; zsPZuIaJTC=Nl_EtIa7#|zvGKzvwWt9v zg%hifJDCjZ9D(<8f961Ax3dX^*zY#A!yMRbGhqsDq>BbWIk20@U8u4*p0C5H6`t8V zx-+fbMKe8DEWFDIyh7ru9RDBOI|8vx>D@RV7_NB^ zc^jto-FXH!4C&iF;DNKHk?EgJS-;Xg7|};ldA1kOdGd&oM)+K;L&;SibiA>YN{1YJ zc8%CA_R;d%tmoEp3DgrhJ3~))|L~#LFn7r_$ABnS3S?`AQ*?k-OY(N5>BI8RGyT*(-+R85)`AjF7(_mTj(dwPC21^!#(VHxjS&udmlB znSL;%9%f`?2%O(PINaDwRYmY!j#`CG6rSC)NqhH|Z3h~6Fr|mq-=tuqy(jm8a>$EQ z3^t66uun`*8-enk7HbYlGg)+-{~i~A1)jw!-o+|D_VuL_Y3Kdv9TzSaQP7TOj7sG% zeT}A;qh2<3RQ+%vqh9z?1l4WoT(9(7SJyU5@q9VuxjWEkXW)?Wgq(wuZ-i!!_Fq3EUQp$z(PGSrj3bDxmSLkqZIyu#K{REcYbOR@5BE zN$C!5cL?MP3ZBbIWy)^H03Xpswq5khV{7kHMSVG+^;Ww}cLkc`p`jgX<;h zRJW2UHbAp`Zn05j__MIOPssv9)Kf@g5WI6pp#;5YFSu7KXxZZB>?{Km)qNe!w4 z!$unGYk3%=b9Q=`(D_)nB)9T)bml|Aj4F}wvJiit&NfZ<2_Y;vxkb>T%MaPp(I9OFCd}O zxXqX^yVX_#X0!e0#4}O+msD)`K&B+n1M3r1`xaBNMXc=ORsQEHHR~3wKFHOk-sS%y zvZ00QxshDR-=V1B{j=$G5VA*2&b&=rDh>e@QPd)Yi2QGiM1YSw!E%=KwqB2KUD->3 z@zRClg_e9>oqUg8j3scQr|D=rUbojI7M$ONg~b$qIGvXwH}vROG|m3PW8W&+Eb=^Z|5pvx~prJ6}N8#H*a48I_mVI zkSG`b)qXZ@^oAltITSA={9e%E&{GWeXyv`~fSKm|T}Zjy*99*sC>A{t>88Xim#ky^IQ6yq{A99WJr!RFON@G zxi;MRDS1=bbbqm)(NJTrn_1m08RnY^d~=Fk=|{C}xGk^xT69oD(K{WQ>@DvK{w z0~8bJs`GVwRe^F`^2NBZobmz^Co}t2eN*u}mtrVeAeS@neo$EYhzE+Zn9)b5e0X`SEe37Jeoj<+vb!gXB6%lrtj%gk= z{4&b^H-mlE@_Yp)H*KEMYDC@e!rsPFk%{VHIt}^kejti_NmN|`?10dAi?w2eB5Vp@ z9BYUFuFR&pai@>n>dly#$)2iX4{kX<@#OI9 zJB1giZU{IcyzX+|MAa}po4-$Y_Q)VR<__A+)SlGrm++^ZB6^37cLxm}6#67VKcwJO z9!rg^*_>RyBJG~E)}^%8m2~x?bklA^E6lZaD)7(S7KR<3l_s^r{|mtgHyUPfTsk|u zWSu|g8)pFSW4(ENUQ$g#Z&y*t@}Xti%8UL>v8_BvX)DyN$KTtZ2w>kh&`2}olMJ}&;6XCbwaC%VzN#-#T z!5D-kN@yLymEatFA|-@8R+{8#%88pT+6{#mvLYD-o)Ln0_loPZq7yPMHdW^gv) zYmXe6`T0sp)a0&s62*H)G)t7iGg|aBd)6`~|bkWiV=n0ImjuP!Y+n|Jq?>_o2niuM=M)Sc=hSgIqc(mw(S zzdjakJ}BpIfmr?&xJ^3Kq2Pky0#GaUQpKK}h)&vJ^G0pJ;AdR}@+_atU2`9%1h3pV zNCwp3ukOkt4ButTS3^i}Ch z_(|GvthyKa{L`LxB$ytaCclS}wpK+M`=Pq^z z&&4XC?Pkcr3_oj6q|MW72&>Kfmmf3t>$G@HKYW}nu`5!JhlVnxzUz{Z6yh#8dx^NC z5fc){JNsBDeo)E>wjJH3!uqTp4*A!rjZqnJmf%bMZk*_~feh$`) za(vx_pbkGQ!@Ng5l1a^>q{jV(WbJXD!>qvr)d)xfw?hv&?Qxv!a-knxJPDe9PSF1r zk8|%EJ-O@|4lu)vi0i+H7mQlzSy~I}C_&))%0&19A zCW_gD1`F$P+>*v%mhPO0gUgljS>n~rX-Jcnt6D?V)1Rtfb}tpt%2zq-$ch(y8<*t- z#_yci>C}-0{YF-#S4VR?1e#n9Dn~N|WGdFM--LFJf8arJR#VSYB99ShLi6$T`+l6= zGj{a({+$;guCFbY58tMS~IN}qMoD>=G(;t79U1bD7es8q)g zlZM(ciqI^Ad$68qeuH_twc&Jm0eTi@tg(0U5e-{gN09C#YD<|;EHxe-`v zE8>US4`g8R9lvM=*_y_p43T6%@k#Eq4ky<~>d9DeM zAx~A-;TAm}g>6Md#~m{G#Fh(o)OXLNeuwJC17zhp|xX@?%k zk=+$N2P(TF4ijs-s5$(nWGcC9BX|>JTXAW%#y8wjuJv(tXv04XfS-6}(v|b#Iv=JB z6YPuZz$QLZmUBt$YLs@3d@>@kFZ9c?bW{AMRmzw|JTWb<(qMI>-)>|$_>*ZSE1?o9 zYS)NFyMl2>bgUS68f=+REL{6!in?UuEHZvPx<;pzkOH#DI2kb$Wik}zviGAfr{6;cUh3MD@OOSIS3)Nzi)9(B835V5 z(BW5MFcebFe&3OKvBLkA*CI|_DvGVs`q#W~&hcoil@lFX!?%hsV&6|9OqY&4#Qsy- zejkAOt)wY4Nu>ZCHLBcC{O07Gd`hpQ8%ke!e>K3b;@4}A5pd0Gszo2KOC)80c9Gyd z>;eCVP#)}yMdA&%m?%4&dwV7lyeW9_sC;7?O!v-N%+RdVf_q|do zX7z%Gv!28^5z3a;EqKup{W?ZK8-~5g3w9^Gf^*acLm=mi%#&Qe2O*=^wYLrX?^M+3 zzu*dLxYIwN8>Qz`#W0ElNr$UXTw~C3X^3|Xe>?&#Ug-K!-OST3(f6ul7*!N1+JrRt zrE|8F_&S>z3goqutGPAEr`mLV(ZdW&V^t7EU(~=O;|Q;1AN4W7U4%;%GQroM!zIwa zhH>Zq_5yzc)?lm&#+uhcsHw75xkGXp1`nO*1Ej0t3EOxJ;U(q+|CSP||E*`*);`gk zdM~<7X+?ou$(3?b7~##2e4n(!kxfu~eazw4>fB1K8C zqT8!TgQjjo`|XIt(6eC`+D$x}$3suNYV=gpLvT97T`Iq$ha&i$9^;LEBe$ALr)RA)7Cq$>CXkWoU)4;D^dTpJu4P!8*B z?1Fa}O*3Rttd>9jY^$;tAA%+XCoWiW4f!3b3Ek<*ctJPgX%Jw4VW`qDLSW77sp|?~ z$wL2vDq-15lv4DzL(AgrfvjhWc4@bqVGsP8xojh=-`=cU@;jPLFnCPb&c(WT$vTdF z(A^2}kTrf?tC9QL@FSrp@;0_6Q3kVCjptAO zN&LL8%&Fdd)V9hsP!;5J{p6lhFc)wN@6kTVCz5J# zRTz$+4s)CrQnyAePNB&j&Qgf29?-OZ4}L818pL$ovr{?vGaFFBZXDa=!HXVM4%>&K zX(n0PS(cw)%oS8~qYv2Z{^jntd2Q%H1byyqqbAfbcXd1G(%fF4cFJ)pA?*U!Zea&D z0-lE!c6yX|5E97mygU7O)6D`80}jbw9GOn6Z^XC6j%^Q4Rk$Mcd46<;iHO$NMQJU6 zb6kG6Szfn4rWh-pM_?Nw(S`$r?`QXlW#x1-HGF5(+sET`4ba=4$npjz0P5ATT0oR6 zQBC&~OX(5lb%`mqVM9894FiDNmwI`7A)5nU?vaQm;%PV4%oM^weBx*-em4$hN;+dV z!k#93JC1o~#SK-zk1_4}I|$S7*;7~Cs#}Rt4O9$-48P$jsMR#6F*K*hlU;2E9Ru2` zF4uZ$J+CzRU#kiI(D?PqEDg1PNxRyH=H-z)!tuKu(wrFM^D`&wA~pb7iZlb7+6;*K zTYgUaTT!vH8N`#Kb2W)0O*zqAKc%4$}JSrKV=DO9gyCAz|Ugn^e@W@20zNSLLNtEPaA z+ha|udomyco6`|jAqRo>ym-1%HXo9?R-AY_)DA8d`Wxc%+X|%>eP^st!$g9zU}iDP zQ!NZNtQF&Wr$+r73j~ah;|iftHI{L%%Bx2om>--xhiuQ;rE{_AQq)qnxPn}A%b2@? z4OrV2WoM#~shy=X)YylEo5{*mgA;AsrDk^ED54feZU(1=x5q#(1V*`-$7H3l=#qaK zl{a%=gMz>c&3F4i-hrsyDGa%yYhWSWX5>=<2*;k1t8I`gPL9e0x;@O`O<3P##CU3E ztAnA(io||7xiTo7q0Y(v%-IuEdR#+Qrek(7ui@P(Xle?VNoZ@!r9)$lR~kymq*$j% z3JP-Bv+CU8iU9InVVHiM|LzG@A^kQp9x!C_axt4eb1cy`>2cz1BUg^J<$SS=oF}cbPTs3X65uy>y z&F>hK{kR}UV+p$q_4S$SaE4b ze5=XCx548lmS+wpKt74v`$uk48TmhQW?w4Iv{S<|`Clz88s_z*l-87*6o2;1V&o}# zKdjpiYD(g1D0kLU(f^>~7d@dwH#R|w{pYCF%vMN~?jP>{G&$s)9ffZ7*5cJDFRKy{ z)71hq>BiktOOP3=THPxc>syR5&tg@EROVgaUg?KO8d9rVU)<(!7Wc25lrVzbFl^aBg*k8|L6R zXjXS6j&TW?TzMLxH%pK_39N*u^c*R%(^cCEQ?ZY!Mno@Gq($;^IY1kP?{!V$-~k>Q zId7R#&^IIj?Dm>`#K`2eWDe8~=wS@FnCH-p$#v`UU#~VR;biP$^~~aoOyDEoUH%Nt z@;>=~0GoV~gYDgAHW<;&w@}LjgFX)!xS+Pxv2*qC$p*eT7Ge^T+oB-{RT4`CkX%5k zqDFR!=0d?kw0Z@_d(J08P!6Y!TfM#UD`&@l793Cb_<2*3C6QB zp+Z$~4#lC`xlxN*7d)o54IH?y^_Z`O)cP;1!@37TG0#_@xht+q@RlA5TK2<`rpkGi zYk{ODYtEe6%s92V-5IVX8Vy`Sz?llwx_T%RQim3 zfRsMUH)}?a8-?kCD{)+3gXAwb_uRsRzfWqzyN|;KvbckACP=!SVbSh{`;14pS9z$K ze*7VcyyWT!5UKcs-#S*A)nnm88UU4`d9yFEloy@CXEax6p9X~7gN_R>gO$Xd>x2|7 zS-#l2!-qr%7pjQU+Hr2(%-!0`z(KLn1`C}ozm|$7Ob?`{l)~&g2GCM&E0r23Z8sIiK-EPn~2Qm z26``@O+2dIvTS8TO%J1Js3^{v%UdFAG1eIE`S~EstsiaH;tS^)TrcenN#FEfV8k~J za<_5^&Zjn;(-6ON842ei=jQDqT1$VpUSo4%R-!6WS$qM(#svT4EirN>1S2#=4VtyGKEjTz_o%8c z3#7lf7)gld*GH73*UJ62GL$O_8d&w>u0n&nM~_c!vLDEEpDsS6_gD{bahrPL%};bc z=5gz|k8pq`3L`q_X6IybgV_yElSdg$zs+qVKV4djT?UkshKf%^cXuOCR?kq&=UF+i zQE9OELQP5B$`hqO=)Hw|_G3LVuX*fd_<(qACQVT8hId-Yz=(3=@rIjOcdzn=TSoD$ zN3ajc0&u!pbiE7bqISD@H$ZwYpNTrCj4g4xLk1YKZtemFl{{7<8*^Ay9-Y{PiNCDH&%RxB^0iQ2yYKZ!kc3?JF{w zM+M#<22aN9bu5wVz#+F&l7)gQ{J`if_k3v;={Tmtp!FR?jIt90!r6d# zxA+y@J0jpEZ*a+pbM2#84x51f>LU6?`izE16ukO$H~UkXwNu{^!1j6J<{oJiLlR z{dZRH`#AYM5OGs3)()YfQLTc=bztaPFffZxJ=a|PrZMpfN9mrSpP2n+s|LgWt`>XX2-ngi4UDhhPaZzB5<7oD5ta6;+ znBY*AZXs_Al~`JI*96IiIJ9M)CDTcLD$|LbO;V4FhiNrRM|l;riB9Fgu$G4{V{ArO zHTVO)q2EB$3<6Ebh=ZF8z-dZJ7DyWt9;#>eQ)#RFgSmjNcGJsbcSFo~q-4?RkC$i6 zvN>7ZPQF>TwG0HbwPAa2Rf)5CM2*LG9jvqADuO4oFyEq7AM`zyEGx`RPOD9u{tqMi zN0|3bB!w47lHVf20K{F zCmFW|1>;1VUq0(?c5k@utSDb=&ZJ4?KFg z{A2Z+p2-1&U9pBacJ7Z~n}dFFf`P@4}g9)|`K_g?CRV@ruO z{44WgHY|o$w#33?7?g>3!^{m=67nD(B;KrjhfgdZ@|HWwZTxWXm&n%arlP`e=|A}ryrU>^2@PL2-`sY~CuLc}%?1_GMu33@zo%HA)?3!# zro|mq_Hv{|ev80g(FFH@`C+#SJ$}UA+C!@=9SuyBmqoLJx7M|E8Ymce4GTz#;C7efAr*AF`!|b&wQAvKB9DoC zEt4M3oT6|iohXmrm^SzI+d=o4eEaa*&d;AB6Sy=psij#?sDGGi`aP|AgBD+H#^di8q$|o46esUqgX@#v5sqN>0**@aih< zr2{qwe_mCe=pO&USMXe9ATf$G;jSz&ZtCcULKgx zq78YYcRgq3kKw0?;AI+*>Qs=aJhfRA^T+xpLfSxk^i)j9Z1p;1|7^E;G+--UxPB1K zq83=Ghm;4(aO8w*uY7znfSCZOt=ogWnSfpv~zM{t5OgY_smPnLpXgbF*|6%>%zXGO>5{ zq~_@AK1WDtIgWC3Jz5j$Yk}VQV){R}-F9UXp53ASxBHIAX1I5tuHA7iexV){^2uH` zAL*#+MQH%#>1jh7{|9Mr9aPt|ZH*$qJ-7!565L%92oT&|Hf|et*|35;B*8s+aCg`^ z1a}Fp!QK7iciyRU>wfRPf8MRyHEOI`ySit0&z{w5RrhF`FG8w6%dG+!gDraGQYJQ1 zCT2Y@O8DiQ+1tej?liW~OO~2Iw1sPDzVX4qPcTnRAK#WprUCDxzO}o3l_a-WKw*g) zIE-k8RZt1LsO~k@l~1#A&1SRbDf=j7T1*NMG#62k1cn%bCVnIx#!g%Q7EH}}@0Z-P zy{+tX;_W2O>2on8joG<5B&AjDBHXgy$4b;$kJV7NAK=CCe9F}>2K5?g5c7WCi{0Av z-~;ZiHOgYPWBpG4(m(Hg@o9AUJB#%5!5by@XpSL?>Ma~T@NEk5ZS^5SP)&`qCH7kn z0;4ar+Tz>%xWylF85fh35mJ@?A#irIoZd&f3hw0I(`Uuxow>GJtv1qbb7LiX_CI&m zg)(9o|tXaV39%|dNju^xfTU@%}@YreG&@=Q^b`;2$Bv&_og540)HCEB3 zvH7}b&V0$E3xJLO^0IrAE7Txjus_3IS>n{jAYkMfR-(DLe*}g6j@g$c>Q}+ zNgK1037qR&6cBlW4|orYDwZWW+LcEn`=H5iwDVKZ!&FHwGw(KlUk;@Zb3dTf{04p}l&$3XcF^JVz?I2C_V1-HW(S|* z5K;3{i2dT28|dCQ6zH@{PO|FZ7}O851~{Q`{8YK6SNS|Fb84eb9mR^FRp#~k#Px2Q z_miZ#f%18wS+&gZk>s_Vy2jKmn-(0FbmXMYd4FBti{Sf|ja``5)buEo@k_^J zZTVtYAF36RPc(kO2ESP+LYDs2gOS6E{exT`=)t7s#jXqZh46Xg-5_jZk1=YH%r{rq zKYAz;4YE2%r#<^S(~2DV5{JuNzXFFd6kTdAvScW33CTFcFs$)1*dC(X}*Svm7)$7w%R^g>{xe!X7$f#P1?zIM)i}ckM0_Q(KqfTJz7{TAkrN zaSky)Grg#=*uunwSU2pt&7%i>y=6en$s2p73If>YVwmlPY8%;9q;{*G6*+r!Kb5}Y zKmBdrse^ znloP_f8+w0azm~a+fN77alZPO(O7pg<>DvJJX@edwpE2D(dHfLWiF2onM~f+lQHi*La;5Sr2`g?kmQ8`(A||EuPWco0m5yWP2;x=X)7AOL(U> z<0v7U36>14<`>=AD8-F$3d1Q)zntr3V~_>@xG{D}@AcemsfEBqoskvVe==z0x$@;v z^kY8Quybw-ODls$ZpL?oJhCeK0!fe6m>PMQj=vqP>WJ`vmD|Eh)7Co-qLfKS|8`rB zJ1GINogROY*+52(PH&z# z>YN{gbxeddB7XMwMmvYDE4SCD(?+sBCD2rwb^vb}qVszS0%QGb1itu!2;lQi?iZmD zWlHa7xF|B6Qo;x5d%DS={%|NwZ>O;lR9JSU%e!I=ma)3Svq@xxJ$U?0)S9fdaKGEa zDOk}kMG{B**|LQ&v48Z3r~lsP{<9Hwb;17}-^+B_A5(dk=x~1GQ;^Wde&)>hs1)R| zFYRX!DP1Qdnjcwa$t*SJ{KWxc%)vCF0*%k}`W4;P1aWdh+htdaq|+EPXsaUPtwy7Y z6!+IFTV_hR#HezG6TK}3&S{i7i(w7IZF_$UXM0l}9{-lbWv#yJy*2GzQOM84Ah(xZ zykD7+K67Def2fldoy*>Q)45YC7#%Oe9=-C^g$SxQ?ayV>1h%g`du{<1EWr2lcU4+V zO1K>hx!yg^hi%fg?d9m-nvQSrq51ZYHJo7+;HbDQjJmTAB-3lJFCc8_&7poi#_UWL zT&y|SO%lY1UzYjH(d~A4`sJEcm-(+>q@Tve^gSSE{N7jWf-`6PGu_iqFYb;5;3!k8 z)3bwDM1DzXbHIu%1_W;m!PjQTC=wshxkJ8#l@-Gx2I0ftqcu^w@FMeSC(%>%rJRW^ z=%~Wq)PFExFCu?XsVh4Aw4Xie{n$$8ATrB^ld7ENJ)WZ~EAl~u8S?cz_208CW1#(J z*@qQnV)FX(?)kPFH0vBzgcKo|l( z1JOXfD+Idbbzc6Ye|Hr8d&`Gzb@OhnU5S+?!}%ypi1*4s$puq2W0-ZDs3S|bgTRh#xg9T2|x5G8ztB@ zp6R3vT{iY|a=2@&6XY7_$ZJl=1R{8599AQuw&+)}`#0=AkC3ElvA(JtDRo$sNk=8z zsYk3JZ$>RoqXNFv<)xD=xPQj?@hX!!-jPw0-erZ6T|(XveXSSRy;JJ=?l= zM~i6(j0K=Fe4rgg5d)w00Vy{N_FBB#WVfAC8%{wpR|A{q>u8D2%gnErDs2p2Oqk^b zy$%^8XP$Xaq~zF)8j^J7){F~N?V_3LxCt37inhMFTm^vaUCY7 zO^CzoSm=(zaG7%-EsG@%%R0kC{aF?kI~v{b=7Ibt!pcx=pLwcT@t4@Iu#PPRBG^&_ zg~Yz)k|n0E9!nTu@#~-|h;~x&bi2d7iUh669}#w#l#wdN{Oqxp)&SIGh16m7?0$5UwTaLrRb_hjBTX45GeYThW9d-Cphb~i25 z2jIRRT{mQ5hBGRKY19QHCR%C1m(-oWb&qGGE<8)ASCwgGUsi^_v!wra8};!8>uawO zC*0E*3{4j+_4teE>t_TC#~;_YMwzoHm)2PD2X%A)7*Q}Gm5_}k&BXoKPuYq@GOsln=|HIg(^nf4Kt2f z3l_Z;8ZJ`n11UoffsVr!#O6Ah4w>I4uN3K?eNqbVx#ECg)HCe(2tUe|5Xb#%_R(y`-BeX9 zyq5kGp4nnXb`=X#y`c$LkDyK{Bbur+@a=32{Pxt1!8sm{xhHkcL zC$U--q2(Ika}4TLljc5R?#`~fQJlntxu~7{$}+#Wyqn@|GEcg^`v(q!dGDHgR8oy( z_X6W8@j?OAKH;)srC)xOKpOAAV@Y2f{qj%~>a}Z(;iKJ6Vc1DATZu$6`#Q#SMnt@e za`X&8(>CLNTCzz|4foqzo5W-Jv*<6pwxra6?J{qYpMNi(3%ycW2%&^)Y5?nINys0k zjDl$97={)?)xeG!8KOYwQ-ju?y_@MF7VOmXt-g6hOWV zNBQWfVx;dwFrVLs{!iFCGSDW^H5lJn9MJ|J-g}__;W4JjReER>cUK^q@+;{`0a(}PFK{WXPGLqS!kgPXd{Qd-5b&HtX#gt~thA+*u6lc7TZ31F^LouD?P6Hk z6tHi$X6qA;(~!5VCmC416t>u7&M>j*zOHgj;uLCaSq)WNDrmLrG1%a|fY4-Gd;d=V z6-Qgl5_mb>F_$pQNW&UDvtZq$&}AcJ--G|%?&0@qq5EdYNd_DniM5atZ6iw49=i={ za0X5TT7z#9j>i|!Ynl4?Ak)_}sULu4DPc9%8v1>+a4?y4b~yJUM&?!HXbr`j*X*X? znDuG1ncQ{c9@dbBoQiPH5{p zn>S6Fl-Y>B2#xkEsyJIS&M7OR$QZ)Ne$!|