From eaa5c8e3ce9f5cf2b1ca7ec89835348a89604848 Mon Sep 17 00:00:00 2001
From: maxgerhardt <maximilian.gerhardt@rub.de>
Date: Sun, 18 Jun 2023 00:56:18 +0200
Subject: [PATCH] Make ardulink windows-compilable too

---
 minichlink/Makefile       |   5 +-
 minichlink/ardulink.c     |  71 +++++------------
 minichlink/minichlink.c   |   1 -
 minichlink/minichlink.exe | Bin 84992 -> 66048 bytes
 minichlink/serial_dev.c   | 161 ++++++++++++++++++++++++++++++++++++++
 minichlink/serial_dev.h   |  48 ++++++++++++
 6 files changed, 229 insertions(+), 57 deletions(-)
 create mode 100644 minichlink/serial_dev.c
 create mode 100644 minichlink/serial_dev.h

diff --git a/minichlink/Makefile b/minichlink/Makefile
index a60c9f9..15d3c1a 100644
--- a/minichlink/Makefile
+++ b/minichlink/Makefile
@@ -1,7 +1,7 @@
 TOOLS:=minichlink minichlink.so
 
 CFLAGS:=-O0 -g3 -Wall
-C_S:=minichlink.c pgm-wch-linke.c pgm-esp32s2-ch32xx.c nhc-link042.c minichgdb.c
+C_S:=minichlink.c pgm-wch-linke.c pgm-esp32s2-ch32xx.c nhc-link042.c ardulink.c serial_dev.c minichgdb.c
 
 # General Note: To use with GDB, gdb-multiarch
 # gdb-multilib {file}
@@ -23,9 +23,6 @@ else
 		LIBINCLUDES:=$(shell pkg-config --libs-only-L libusb-1.0)
 		INCS:=$(INCLUDES) $(LIBINCLUDES)
 	endif
-
-    # Until it's supported on Windows, add the Ardulink file here.
-    C_S:=$(C_S) ardulink.c
 endif
 
 all : $(TOOLS)
diff --git a/minichlink/ardulink.c b/minichlink/ardulink.c
index 5da4d10..44fa144 100644
--- a/minichlink/ardulink.c
+++ b/minichlink/ardulink.c
@@ -1,14 +1,7 @@
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
-
-#include <termios.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-
-#include <errno.h>
-
+#include "serial_dev.h"
 #include "minichlink.h"
 
 void * TryInit_Ardulink(void);
@@ -19,10 +12,9 @@ static int ArdulinkFlushLLCommands(void * dev);
 static int ArdulinkExit(void * dev);
 static int ArdulinkTargetReset(void * dev, int reset);
 
-
 typedef struct {
     struct ProgrammerStructBase psb;
-    int fd;
+    serial_dev_t serial;
 } ardulink_ctx_t;
 
 int ArdulinkWriteReg32(void * dev, uint8_t reg_7_bit, uint32_t command)
@@ -38,10 +30,10 @@ int ArdulinkWriteReg32(void * dev, uint8_t reg_7_bit, uint32_t command)
     buf[4] = (command >> 16) & 0xff;
     buf[5] = (command >> 24) & 0xff;
 
-    if (write(((ardulink_ctx_t*)dev)->fd, buf, 6) == -1)
+    if (serial_dev_write(&((ardulink_ctx_t*)dev)->serial, buf, 6) == -1)
         return -errno;
 
-    if (read(((ardulink_ctx_t*)dev)->fd, buf, 1) == -1)
+    if (serial_dev_read(&((ardulink_ctx_t*)dev)->serial, buf, 1) == -1)
         return -errno;
 
     return buf[0] == '+' ? 0 : -EPROTO;
@@ -53,10 +45,10 @@ int ArdulinkReadReg32(void * dev, uint8_t reg_7_bit, uint32_t * commandresp)
     buf[0] = 'r';
     buf[1] = reg_7_bit;
 
-    if (write(((ardulink_ctx_t*)dev)->fd, buf, 2) == -1)
+    if (serial_dev_write(&((ardulink_ctx_t*)dev)->serial, buf, 2) == -1)
         return -errno;
 
-    if (read(((ardulink_ctx_t*)dev)->fd, buf, 4) == -1)
+    if (serial_dev_read(&((ardulink_ctx_t*)dev)->serial, buf, 4) == -1)
         return -errno;
 
     *commandresp = (uint32_t)buf[0] | (uint32_t)buf[1] << 8 | \
@@ -74,7 +66,7 @@ int ArdulinkFlushLLCommands(void * dev)
 
 int ArdulinkExit(void * dev)
 {
-    close(((ardulink_ctx_t*)dev)->fd);
+    serial_dev_close(&((ardulink_ctx_t*)dev)->serial);
     free(dev);
     return 0;
 }
@@ -86,10 +78,10 @@ int ArdulinkTargetReset(void * dev, int reset) {
 
     // Assert reset.
     c = reset ? 'a' : 'A';
-    if (write(((ardulink_ctx_t*)dev)->fd, &c, 1) == -1)
+    if (serial_dev_write(&((ardulink_ctx_t*)dev)->serial, &c, 1) == -1)
         return -errno;
 
-    if (read(((ardulink_ctx_t*)dev)->fd, &c, 1) == -1)
+    if (serial_dev_read(&((ardulink_ctx_t*)dev)->serial, &c, 1) == -1)
         return -errno;
 
     if (c != '+')
@@ -102,64 +94,39 @@ int ArdulinkTargetReset(void * dev, int reset) {
 void * TryInit_Ardulink(void)
 {
     ardulink_ctx_t *ctx;
-    struct termios attr;
     char first;
-    int argp = TIOCM_DTR;
 
     if (!(ctx = calloc(sizeof(ardulink_ctx_t), 1))) {
         perror("calloc");
         return NULL;
     }
 
-    if ((ctx->fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY)) == -1) {
-        perror("open");
-        return NULL;
-    }
-
-    if (tcgetattr(ctx->fd, &attr) == -1) {
-        perror("tcgetattr");
+    if (serial_dev_create(&ctx->serial, DEFAULT_SERIAL_NAME, 115200) == -1) {
+        perror("create");
         return NULL;
     }
 
-    cfmakeraw(&attr);
-    cfsetspeed(&attr, 115200);
-
-    if (tcsetattr(ctx->fd, TCSANOW, &attr) == -1) {
-        perror("tcsetattr");
+    if (serial_dev_open(&ctx->serial) == -1) {
+        perror("open");
         return NULL;
     }
 
     // Arduino DTR reset.
-    if (ioctl(ctx->fd, TIOCMBIC, &argp) == -1) {
-        perror("ioctl");
-        return NULL;
-    }
-
-    if (tcdrain(ctx->fd) == -1) {
-        perror("tcdrain");
-        return NULL;
-    }
-
-    if (ioctl(ctx->fd, TIOCMBIS, &argp) == -1) {
-        perror("ioctl");
-        return NULL;
-    }
-
-    if (tcdrain(ctx->fd) == -1) {
-        perror("tcdrain");
+    if (serial_dev_do_dtr_reset(&ctx->serial) == -1) {
+        perror("dtr reset");
         return NULL;
     }
 
     // Flush anything that might be in the RX buffer, we need the sync char.
-    if (tcflush(ctx->fd, TCIFLUSH) == -1) {
-        perror("tcflush");
+    if (serial_dev_flush_rx(&ctx->serial) == -1) {
+        perror("flush rx");
         return NULL;
     }
 
     // Let the bootloader do its thing.
-    sleep(3);
+    usleep(3UL*1000UL*1000UL);
 
-    if (read(ctx->fd, &first, 1) == -1) {
+    if (serial_dev_read(&ctx->serial, &first, 1) == -1) {
         perror("read");
         return NULL;
     }
diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c
index 905fd6c..0513750 100644
--- a/minichlink/minichlink.c
+++ b/minichlink/minichlink.c
@@ -12,7 +12,6 @@
 #include "../ch32v003fun/ch32v003fun.h"
 
 #if defined(WINDOWS) || defined(WIN32) || defined(_WIN32)
-#define DISABLE_ARDULINK
 void Sleep(uint32_t dwMilliseconds);
 #else
 #include <unistd.h>
diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe
index be95741c4b2eb1f14e5805055bedb7a41cab47d1..f366cfcf2e1fb0fd2451a2c4217a62650e72829a 100644
GIT binary patch
literal 66048
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
S+M3=ny?q+G{QF<1f&T_FOm(XO

literal 84992
zcmd44dwdi{*7!Y>WFSC72V@i#B*M5Rifp2ygo|ci0v(ws2rAxLqfsAOMVJv-5fUd+
z+Ho+utGnyE7k72{S+A?BD-aZO!34xh49Z2k04nw{pj?!z(C_zD_e>_pKF{y@@689M
zyHA}ub?VfqQ>RW<S65t9@5*$!Tv`0LESGC3SNSVdzyI@3HOajPHS~79+T-2Rm%4-R
zo<8-q+h^y`oORc&vwrsT{K}u*dFNfB{F`pcpB26{|Molc1D8$7|M^`v-!d#Wx2Mk`
zJ*mv)y7_?|SLln_&B@YsxrSx*%E&m=^%)S|?Q->VyW0D4pQkWNf!OyMHsA8-aq%F3
z?Kbe)*WJ`>I;i;y?BwO%CX&2JqJqrKaGfk9sxw^m8rPRHT&4)6$n9FylWX#?F~jv}
z^8Ps2>8H6}1;>H!ie$LvilG0)->}dvb3>#Re9Dh7Bz2ea)BdKrT+@f${Ik%{fGHvD
z;zoGh%Kx;#QkSc7*en~d`lphB7>c-jDfgX!rH~mm)5cSEq^_<U(vf%ipTe7K;}wW3
zq;SE@KMvkavu8`*(!Qik>Y6Ta`KuQGZn5bpnIn5u*P&hUONGDNZ9LT`)!>P2gwM3U
zQlU5Q@~HxvE<g3)@y`~L0PMd~!3)h${0SM?lMde4<ItNmdsZbVN(aydS2rF4$HTj2
z#$6yPooICEUGgKmu~OXsAOBjas)lKUY87kRpi-9}*-@ZJJ^%K)UB#>0L~&d^zQ$wf
zVOjdaP#&skMpRrA*7V9rqjh(C%?Rn!p(?W7NTQLu>|(bo>Z)rDja!C%T;}QT@bmOr
zLfAX-MAG^idCBLU<WSF9x2l5gLlq+<+@VRuje2BdK}-EI;mG`Kjmwo-F8pdsCiSnX
zIn>J?Dw9h_cu{1j)TX!gz`d4bMe7gnP`tXXLwl?#emf9tP&E+B&TXPBGv`i{ZQ9zP
zfXfw`8zO5dh=FLesq&W9HA?28z^dwz&j@Pv7<q#+&$f%)E<NV`T3vEYE>V}^X_UvP
zrx=_-G+U2({wV+>;LA6?Fb<8CBU&6j{8O*E>dGm4&5nA?T9zvXHtMmdzI@$SzgK@w
zkB&J75d@-IS>0-_?oSBt7CoAEhV*7VI`C4`^ytj&;+?_h86V8ba3%UD>sQjM)oP$G
zGqE~;>qFfzcj?;8=jnBg;jMaf_z<!d?~Hbf9B^y3N04f?8}+Q6L6$bp(J^k-^iJ|#
zlIwPAwK*hGv4Rt%R2P&&Ic3F-4L}jG)ou>DT?uv?q%H4A*rA1=5ad|yqem=DH!{rE
zSJHgl?Z(}OjnEB`L1E^rEkeVl8Xl0Cmek4Gj!;=-i#v3tYIr@;=+<7#t3H&!V4L4q
z<&W%gS05Ve*8-~&UskF11K+Fk;<ZU`!RFZ`=-*OMe+mjjyVIVb6PJn|+ZXU%=ho^r
zaBFz>e1Z%H`UEFd>8_~!vb^cb%%HKwEPq>SH70`;-FT~RleYL4<WU~kkzKs0UXSJs
zGH(=&*i5%>>^4v3zTDVFa}Oj}zd^duq(@q^&0fHRC0~T!)7=TZjW!{Ran1{)srv!!
z2V&jb2c3#~eg!C+`v-oJM$q8b`=DUWLUp3KGq^Q8|HUu*Q2QlRqTZ?U)S=ai3h6Z~
z<#O!}H(u|*uBED8TN3b1kDn&GtK>t=7b5mIq#N0-TbFs%vX%|v+5GLQ6fhScC7&Zr
z6wN)6i}^UIZQZ1?(S^G2Xi!x3!OZw}?jSC`PU`f5<=uZ*hATc*!1d-tq3KyR3OZd_
zOX_LV8>ils(ZQvyoA71+lsxfjr7<n>_u<57GVcIZulk?ZCyyX26*U`vu&jFNQw8*?
zr2YCTPtxVj{QZy8&Cf~FQT&q~qf+1bhpP4<SNua|DoR}~ok{9W^;T@8f2nY)M@w{L
zoo=jY=+Beo{bnRpF}`o>etFsD=N4Oj<3Phnf@W;=*Q|2o4F+WmDCLIPkY&RyZ!-Wi
zvcL2sp#t)X!<24$pCly_u-f#<TUik+FZ_~!>C4>*yOJa=??MoQvGJvy#KJ(*2pO%G
z_ZmRxBk~cYXc21@*^!^*zZm8*H4gv7z-{Yxl`y~0Z|q8zq?jK9^SwzAM6;H37WhNS
zf8u^CDT%SV)v8C1=7nDt-iM^|-a>L9Iw6hsmw_C^`=0<Q-t*zTMUT4MTvuLJ9w=^X
z5jz~jq)rOP<i`m5rpaT0`NT|VTMVqKr;e`FKtzwKiX!Lk4bpH{I|<Vy0Z`9|>Wh@z
zfznb-U0Hv-reT3#c?Swg3U;4@^*9df`w>{vMlgk)(J(T)p^rlTk_4lru5oTjAPUqU
zE43mAj@&aL0M1Y~9xmUn8vCh@_!poIWjwjn6n2`-lSoPU6qe<^9|Y1uPTFC*MIyVc
z+mxx7Pc7bLY@p8iwKq7;TdK$A`$jvenU|kYT5cS$yc^(UKTK3tyIfjrGyM6N4sqXF
z){q4Tyj$KE!SFAA&iMA-PT21iOyOlG@gC^JOTlJ!;`x$zH+15qV3z=cod#h`73v3I
z3uk|$uogPIQ#h74igixP<@aCPa<MQCOGRvn9&O{Zr9IUUUMfnG?4Y#o^b4i&))?!9
zMys^*WqM@H6kx7UnI0{ydEez4oKiTeoz4n7O6A+iT$h(kxZLud1~$e#sqV>6q+4g?
zkm58<e7$OzLWjAVggNQJN$hl%-o3zPX<fi*OS04m%wg$0mutw6SrSuWvvd{m06VQ~
zCJTY3yGe0ay3%IpH`{D^y^jg(%983F;>f&XGZe5T)DsCc2|MA_9ZESirN23p>XMWa
z3q;e0HoVkbIupV@#mTT~osz~HC&N@SsOGEN7wUl>$$AaXt(QNt`LGxj9#mT^GD;Z&
zl#YjzRos{u;7~Mdit`+b8Bk1Yrrsk^cX3x8w3}?SyB)MmG(oD)PPdpO+OSUghAtX-
zB63xQUOZe1)#|9LD;o6aTEmu{S)Vq=vm;x&Yqd>4>-K4NPja<Z2V=QMC?ayuGbccI
z94)P0ne`BkueF)98%ax?&CMdY8O+Voa&s~_FUw6HH~*5G?%Yh^MoiZTWh_LXLB-EM
z&$oMo9u4_|s(K=&^DXa!kMLANzWg9uj-d2~5D@8}FV-S{$g(hAG)QO7u7{H9DadP*
zbPvb;tAPtyL=Jhh2VbPYjdsZWH{__y{i-ru?4TDq4nT~c;?jK_*v|6=4|>%Nc}cvD
z!0Pse`}vpR^`ya@Qn-nW)ACr}f20yRi9D)cT?tet@x+cORLeU9nBs0WH}T!@(4`&~
zDvL7ksd|)jg(aTq!px~Q!7i}wNm$ByT3#uSg43+0<-IWpQ+NgW8KstYViKmTtPQ&`
z33HXwcsUAh2r&QBY8QZ%rPP4M_ldhEUYO;*Yc17de2jVD{ZbmG$^7bocxA?%Jlb20
znT|P>uD<$QIE)smJ`l9cPlnZ=HsWGqrtxQa&jgd!s?BmW<WrE6=LrfnoB4Oc=}DMX
z3|^;s#Qzb%(jIx~1O3Me=F0P>4gRePmW@M{bTKUNzkn5YsIqRQETc8es65aC7cuW3
zr<NABzpX4w#!cG_iG@@-!w`v1^$qQ@Ytc!ziNNJalfhf0|G&v#h+;AG(R3MT3f5Hy
zhY3b>k->HW93z8u3f5Hy%?j341}_40WKc<2P93|5;@%IGD29C@HEuG$+xH_G+zk<1
z235w7gdomyBM6QV);oqDML>Q@T}UayX@V(AJ*2wU)&<MkGYLz{!Se3=sf~wGm8P(~
zUpatIIauBgY*;{ht<}MLGl`X*cc!fgmiIXuR@`BEr&E&nPN}hFVY{mPq^)+{4}8ze
zV1pwhTHAJT(;R^HLd(|p|D~eClbj5xPgV5vBrL6>xehE<(I1965=tq(<uz?sKwFZm
z=(;3UT1A^}m{fEQRFiF;Uf)M>QBeDPx7hW~R`pF))PJS_3MYIJ*-@k$@A-`n$Hqoy
zR2c8-u^GOh{*oWG$cHqC-#A)UxXr(BWoEe8A32)2;A|!!0b?uERm<A~8zN+_PEf@G
zEswmF<&Uh)@*8D8BpS%(4xN>jp)btZ8J;4;Lz2OI%WtjpTkrW7m093tgo-G}y&yf;
zJ5Dj-yPYC3D1!grWK>bk(J}_u#S`hzX$3u#%yLm$A(Rjw0-p2|xF6%-q*UZOTqs0#
z>t<VIAMF(tL1aZT`SD-pzutdCi%ft@WwtO~tj9DA;xa}o6n&~pB7(l#Bu&jO3M_9g
z2nOM~KsP>?4mav%Fe58VuWd<_eY7xgUp537QE}|bjCaBVbYr`D*LRjBlAQ#3CYF0X
zXF9qN=H2`K);n6=8GxOxM(UT6`ZH3c7p6@9fOEu}NT=$AWh+>q3+y{$r;g<)B$-}*
zin<J+_%3DBhp_t_m7|t#4<5Kd-UvlXo&LE8UkT;1;(v#zLuM-!yRh=h&LUd5Rb*rq
zW35a2=aU_JH$o2w?mC8E;;@~JUq&{umHqNFN|m|3NB~PqyC9tf4EC>;3!Y$)NNZ`y
z(OIu1UQAZto27q*)y_7xXL=(VJn&8v=&=wyd7nGmcHLbEEMhRsZ9WDdjWHFeI}GP8
zC(0f$n#;5$jZNG0%r9`=mAjwJ^LHnY1iF)X{@gXsKb<_;$vm^1JUd_~nJ3aU&%I8b
zoMfJhoIJ=YmFL#3c_uh{Ht%=p)6>aQOCD_rV;(v*kv!%=2h&VqZaz!-)HleW08)t{
z9l(p0s_sZ4Ew_<M9Hg@aX)Q>|PVjbtXL)}ElJxy>UkB|}L3>_2@<B=;mWviy-gPP<
z=IuwS=+|YtoL(p{yZ@>*!&S3m5$t2Q0tVCjK4Q9zhkclNmqcA_*P!?TWAhn2TVwdi
z4h{0xP@3hs=S1LT#rw{X_8sHeWew8mVnV8h=&~!Dc}y|9x<XeP8v;Ex|Ks9tMKSR#
zoAlUNzcVWg)ADLk9q}`qKH)tLzWv7TGGjBnW8SBV`}keZiL{ks7E4P$pVbh*0Hz|p
z$aaOY{VPZ!=9(mIE|7`}!LQ<dZPo+ES50QO$XAWhQ~a^40nF7gCXvRA0drTRV}j@m
z0bhRnw-76Ctg|%z0DZ#cB7}R{F0qWYPvh?y+r{h8m+s<n6&_8NsaGQJ&kCf^Ktr#5
zPp{mo8*c~Q-{|fG?zK9OUexoGLbq%0({v}Tb`C6yJ<CrLFt%Im!n0O)BkncGTZEWA
z9{|;YZ7Lp}?<*>q?;EPcG?18<6a<W~3%@P=25ukGX^_a#i?ziUa|3~;LZEW5uz)DW
zpgx^tMOsSj;zECOoY-dx>>+c%VIuS41Yt#E27ZGvdY@WT{m{f@_OjyDcJ<-eyXQ=?
z9kRA%8yKf?EpOaO=y7a9I|;_Of!KYe#-T`CRv_9<kF;hbiCf;6NDq`);Vnw$r%`$`
z4d#^5vb+x~;-x<>bv6mq{b{*~oIgi+$?R5pyq!nbPeP3C#y56VgdNL!h9Y~M$_#K4
zepH!ERo;AGzOjc&5Z2bIQj)yo{qiSLm!sh=Nl>y1(g5C8Ql<DG$?gRb;s-Dw$!s!Y
zXtn!*sODN>M<(~RQn{FS>Bn|!-L-?(I-MFCyUL2K9tR?u-6-_={t|1}S^n6BtdiDQ
zgY`-}xZVH!v3@^|v}Bb<10Gz(ky7NJ(CNs0-}$aG<4{@b#w@M24v4?x(5wsmC3|KU
zlRIEsC-Jj>XIb1%^^GXgUL${!rsbU_HI9N4z&4HWTg_!9ABW#aOpyHNrst2eWH<zt
zbRlqhR|1jd3@C)U!^G_6iCuog>yKEa4BKdV{7bA5qKtncCNiaZM}0~OEV-ciS~8{K
zW@=-#7w@Ah)T|Vf*XfS<Z){03h~mjbOKL8jT6TE_gIT#)#?~_9-B7=zb8dMTLB6fK
zV2J-xkc>{@N0Pt_MWeRpcNFo4M93mXyK9Rd;)xzyP`tBrUt4u(LF8*KHsNsOK({#)
z0<k$i1dQ(kbU-}AdkWO(iOpA|DLvQn4u)ts<z&V#JBT&e`}8s_0IeVL6$Xv3_dY$Y
zHH&7e+Zj4B5Uusqlje-XjJcl;!G}l>cE1aNj^5QDOU}=V_vx{7p4cEd#VDS8i`)^b
z8EQ^slH+(KuR@?<`gXyA{%^WGE$Z_0i!M(y<OvP6^W7;=(k6<^B%ajG#c~tN&7@#+
zJtG-2Y0O_k&m`iRq^E@wRG!0wQ?OJ-;p^kT)&f%*KITTEPZA$ifF=O8qhQ31X7dIL
zR`8dBi?eL4l8A9{tF`9ncho?uyMuO3i$^Hr5Xi^ErXL3uJPvFGFh%5Ixrus8<%0U=
zG~{1u^Vpu~xvU@jnmhmLa@lNzli|7T&EUkmJ0<*v<*qbw1_naTubgVMR%SS5$s#_%
zOeDi{cmt^giK69IN*?d27B6lT2}vLXFJIcg@}3F>YfY$F9FKj??(iqYjn!N8Ldod(
z%{CXc4i}$(jYlhMIEl>2s-&;zIEoS$uUj4J_K>@_G3?QeU5Uw~i^4yBXtG<6U7b<f
z$dX~Hf2oA8st?T#<@=X15O8}_$V<B0zcic2L=SY-uNDzywU)^N+E{cYE1o6S`3geM
zqT%A}s4y#QMangec`d?sD7mr59R4CPMVwof20bgFmu-_pj$6Qint4JeM)nHvZ<3{X
zS2-BFUr5pD>0oq&6f|CTFy8OP=(a)}C3_|T#%~;q7dkPr91Od6d*?YAQ5&NdoMsBA
z`H3usWN-DTv%`b+*hF`6hxs>ID|ELe`s$IlMRln>Q}Os>0jt#;o{~;_U*XVLqrx_f
zLxaRK4cWe<<^6M`Vn0I_-DLLPhM|3)4EP&ElUA-~n?;1PhFO_wGjj>c`wM6wn=Ub@
zDqw-w_^f0m%R5zJ_3DCEs$eqJ>cktWU^!jz`YV|1G3vz2Qn1`Ec)Lz>+l%|+<#tZZ
z3Aq%<?*H!dBX3f1V||6OQlj75V{g@5ba`OPWaBMHvYp}nC0Ax?b&IK1pybYeT3s!7
zaS?c@-LHo}AwhpuX=hk&KCrr-blTY}u}@Z3Q@EQLf~=-goUWZrO&RqKgQ2Drbpp6G
z7hQGvl*yrN(Y5KclrkQ!<O-za9Rg0kxU-+EVcIh*G`zPe#Fh7xw7A`&ftd6KS;{`Q
zb(0!d-oJxqw5d40l}N4(G*KH=uZ*Cj7>bc!GCD2j=L%&-#%E<!7@IqV`%g&rXp4>?
zkU748$@r{r?@r4d6v_u|4YMcoT|}+cwUIaBY>{=Du`+G$(AQ`$-q|@}DAgXN2}BBr
z?|h03=av=kEV(l$JSpBwxofEfSyqRZ*7~a(JLR4QzJKX2vuZoV?A<j$#3~Z7#o7a}
z$*(vPqS=nbPp7n2F#SvWHD}b<?Ud%qsAoJ%Hjk`Cb&C86P??W(3g;mKFx+BRQqd&U
zs&^}*GRAeb;`P9cJ9AjmrJA&o?Bc+%h#H7lJ}Su){Hc8$pyQCA{Dx|$6%uGPn&RS0
zlq|>!otsodDXc4x`%jhXbS?P{U`eLo-|}_<DDFU4F%VHtEhUErF%^(_SE~QNu1c=5
zOHQ0_C$ku|DWyd7ZIoMV6!ZHnC=u$TVmvDTCo!JXDrnU638gOoBLe~PG3A$ITi`Vn
zkXH+((!8l~yo@+4miH+#${=K~Z|?2^=y!m6v^d;G)-dn-X1QYcpu{Cn>099@F-OMo
z(SEIAvo_lokipB5YZJ&$K*0NzlVdnJ6n?TCSrsdlNiQ^5f9%SH@O1(p#=z0|Depq0
zM~mOsV4k(pnP96W(6mLd3Y)<dPI0Z9(-+0mMgV5Y7oI}X*@LpNMytJw@eXLAK(*R(
z`{_J+3ioC+)6>vkGtCeHU|pMn`<VLzpJ>D7V&h+tQ1DU5!pp>SHargesTBU`?F#;D
z8~=$Ed{kV)qc;466uj3~1<$nMa<R*Oz=rQVS@C(8iw!^gnZi%l@J%WBU>m;1hObS*
zKd|Yv*zjMc;HR+M2LBNoF63<bi*Y@G3t{B*MG8KP(G0i{27X=&{%>18Lu~lo{z*EQ
zV;{l)0s#1Tr10M-qzU}mW9ht#lMLLUBNv+=_ZJF&f{ia18{W#K4g5?Sen+a@I|*6}
zeW%<M{Fk;I9QeH{c$F<TA)w6TG74Zn*VC9GH=3+BZN(eR)Qw5~)gpcVwW&2o<301d
zJTRhT{=Sq;U88Qagif$~%X&tNc?|M&tHecS6e~`mIHhUnw>#;lnUf0~>*XMwWl8=@
zJKb#mRBE)*%)uV(I4=Xy;=oCW)##S!qcE>>F#oPFC0?u+&r+N7ScqWg8gnlbgLEf5
zcFqVErh>6E3S@mM6?!yJbj)FO=lbP`Nf<#1<RdoJ+o)jQu6W_I24>><3N{qJ{7XM;
zKl*k<Rua}<!RB6he%}T*JJ@(x3g*gv$<+zlrRW6$=bhJ?_Y+_eze^Rc7JxI`ILK^c
z7w)>GrwV(eYkIqro+|j)Y3Yb$4r}I+dB#Cw&$V5*8EI&w6K%7LNu~$8rr(|{CYe4o
zEnViCMMkr3>^J@36*n$Juc+1Tz0WZlqiGr_RvejPO!69bU6Pap*$9^Rb->zd{Vvjt
zxcLJ;)F4QqMGk1;Y}w+sUHU8=t!gYG7hYG~xG1ZeZZ+y-)bk!_Lo=-~%UcOS8?1`5
z(~37Cl2b9Ztn=Cho+brGrN9lz0(Ik{IZqYXqSqX@3nVHaI%Y=&()XPGPg|W{nuxGv
ztJD8!L1W~<yDn(_mrbQ}L8E5J^enZbCdO6>iA?I|y1&xOjMVc6J7d}RuhJ73bYtGA
z<E&rF7#nX9)s`I;GAWu=ysvmuFm|(Vy1AJA5{WF?zo1y+lx)~y59-ieBAovs4NtLO
zRn2_gZ4aCh?j<+>l~=86flt{zmUvsQ+Y~xq2(nVM(VU{t*$<jQS@tM-8_cLd6n1{%
zu+xT1%M!%Tg_~*2QGWP~U4zhBP7TgeHDGD;=fZQ$Ti|4rSqsJd@MnPrd;vv3rYqCi
zh_%p0RD|fMf0+v*HPrBI{tntwt7){Nh|X!n)D)m*$26e9=<~jpxa!77tPur`_bTdE
zGyO!j+4RAl4!?1b#jge_K}uS5f}lR^t0#+j0VRn1!<SZwvu{Jgd2O{mwKOEuS@D~c
z%ohMd5(siD4i$ZK_mhI=`T2*AB&N$A6i*e8YQ0OzrFb9KY(5~%+xHdWnT0TfQw~HN
zoV&50v|(TEwW-6&wT1RE7XnLc#~qmnlEOfIZ~RI2IoGU|iYG%|_Bwpc4vZ+`DraN#
ze4FKJ0Df(iL9m*5W)QV2T{P8qi8Q&|CpVGhbWp0O-h`U$)_||P8$Xw2n7^m3h#Hpm
z2=^Ruoo|X(8&jkQUiB|$I8YI#7npEZYpKQa&dlREJP*;AQdMQ!)mocWpbiJ=0gy^U
zzS0FhVZl1<LWN3oyI>pJMJU&SnfTCFD=B82Lm>d1A+KhoR9J;NRG`ZiKyhO*IyrmU
z0AUz?nk2%QZmgA^YCKLOS;SyheD8BgR3ek&4r$|Ras`bKl(-0mPE?XQRy=M~mYJyL
zR3#$h+wB-J6}_A;CfQ@5#8jsSvnI2aSnq!n({m2ejUbIeOtb%2F%1VZT}%TU3Il<6
z6_f1kl(3Ns_oF~cTaXG-7TFjd^Ik|+^N+T8#s1lwno6a$1HPG}%`<i5eZBHyS<Rg*
z0%iXTKgFvh1kaAt*rdDw8`vd`tVbthQ#^?I7-lKO90z5+<g@S^jB6<kr#747Gkn0L
zgI!x{Vub$Iu>=h|4U#WRhGj?BE1>w7_To|PiZ^e<Dk`^UM3TtEHj&?Okxp<tB6l7`
zWMC%|vGgqUOL%lTSY`%JsEA6BPRtf&l*sJqx-F`Sf;9^flcP-T+YdS%6<w=Xk^o(!
zTA3(kC=|=4Oo|Yz>j?Eg+5^az=*~@l$^R3(xkT*JPXBxMuNe+i_Aj_Gzg7&ZQR|q6
zz_|!96`y(?Ts?YwwwSe<qVi&GWh|M&JT7R=@Z}e;t}wRHY5?NqFQKZSz<5q(NRgW*
zMb7}K^r88_FdcfnFT`)iH=CCz3SV@&N~^8R(Cu>yxw=C-zZrHc#_82%#=$bR&*}={
z3zzf?P_jZ-^4m9j`>{yRIY>pvChU^^9OORf*n|Q*huMeiTZvJ}rk?N6+w3F+#7veM
zyQx7N<Y<}cV3;2g?@x6b(E({gq>=13Hw)6OH2?o3sWL$t3sUub-^`lu*<9|vBJATb
z%N-ubWwtwfqQeITi?0I<aan6+mqu7gRwXx@SxsMOX|FZ9+pM*+w>IWI$woHMhS3_U
zySRGMG52n!>o~hj#d>BsNZml9&y8T1*Nq9crMum1{5a`<e@@#734UkrLS>e{_|Dcd
zo|*C!4f$;&GE=-W&FHO6;lG>)%TZ6S+E3;kvgb;4@IPqV6X2Og;UB|0qhIK>PH{cp
zP$+}~aq0MY#6~LyeY5!u_+}~009t*Wj5E_LMkTq&c1=Sx|K;RPutFe$o+BE3kDW(|
zh++pE#lDyO8NOfed$Vtz+|ErWivkrW(onq|s^Wjxr5H^C9`pd!D-9So`$lk6WX^L+
zTqq?j=q&L*RpR_~(w!VjAwrlke&TRmtmwS%izFpY{)c@vJaJR&tL8>~?N#6X0ywS|
zQZ$v??`7I%e#(4RjUQq_lD>xj23c0?y3;@>Ju)v3r{-tb#@c}K7P}3!x;H6H#svmk
z*0?c*l*=lZcR93!IA^8Wnsl=m^cBg3Az!Hg-LS&g#j_Y3n$qQXg~GpiKg;=LY7mp*
zdAQVvkev(-QivIpv5c(RDxKWJYcjK4EO3rc+XF_MjR>lY*#w|`&}HqD%v3<UE}3O`
z^QG>OgO<3VxWky7hkfrWpj{Fkh<U2lI71M`)$pXoDn_WA*&mUjWHw`P;zw|!^h#>R
zDrwNz7j&C!AW%zv?zM#<5o)|z>L(6qaid+|pje=^%A%}A<}ZJPBFW~5S8Rp%w*P~o
zWZLuvvVrBdRx4v+o-LcQcAJks3jT&=QmM!HA1v-DX<yLC9}Pa{(pLKoF1pp6NT`;T
zmg~~8SIIb7U`|w_5D5!twGeYH>(7s(%d1O+KLH>MBIO1n92;K6jq=Q+;mVC^40SEK
zF%}=xQ-ut9GmX1?wk-ifl%DBWKyJ}p&x!UeI^lT-X#r)=hG({Yi*xK5V&CGzdDe>2
zGRD$bJr~-yrMeTEywRT3`IjDrCB3qyA2RV5Hu@t6G8gnRrn>t@6ez3ZM;O+s1vyon
z7#TmpV5`i6o{J!1DH6`A6K{H*G?E1=oP}t)ZmrX!z2s+Ne|c|6Ud@|WV2=N_v`BKn
zW`sQbr}t{cvH#}(KG}Tt?`SOMi*ZQpo;xyHQDL$vEjS70Ebq%D83cxHZCd6+%ly({
zbdLgAQ*gG(=yI2Dc|#zJFQ->U^Qv%APN<3;$_;m~YD20C_H#65B)+mM`THcMZj9>>
z=aZDb!(vSC%x+BGWd+dko+D*9wtA)lLK2=UxGI0GKrxtKJ!Yh&gt`|u#^)(5&V8Fb
zLYDV@p>BB25K`D8(ZI=)9v!%cAq!=HPSBXqcrF(dNoPYZ>A8D6Jjc9$N~WKcOz&f-
zci8EVC(|>M>AOX7qPhRF(;rQye=N^JAMZ@ke`TjXluTFnlK!%tKFd!3g`F-5zq1pr
zwiE77X1v=b9GVZ&F?QM=$+QY5Z8~YE+iABX(+Zt5rp~z@J8gP0O+8~Gq#5GGoDjt1
zWZD*aCM~Dc^A@-6_#*6*smmNsE#VS5JjSArz{_F7iN5q-SDaRH*Y5ZG=tiyYNowOa
z-tikB=}Q-_arNoL`{Dw}7`e<dp+=P#orFcvV~_e?1t{(>|5%q@zl^0tbdh=WOWfr1
zUyO!L6CkdM0{WNr<xVt`kVKQ^y$ofLVRNdYBKx_bp7WG~5H={@S==Fm;#BDe(<Gcg
zGH?dg`FiXRim0;l_Ewu&xJ6?5naRw@^1~WkCn)w`Wu>;#5$N1o(KBlu<mNN7=;l+8
zNDxFqFRBFN<2IKpRP)9v_D^PtbU}=^wN6_62l1++!ykl%6lGUeWt478?;?+l*#V|A
zim~e85Rbj?lW3I;VMYF>A~P8vB$8#9;k^{XQqH4NPR#qjDoHtLo(YdMaF*4Qc!;_w
zWL?PG^IVy&vHJx9k(i`tdEJUw=xse#mZe&1b#aFb$+T*ddZz^1u&grR$#cy|hV;>b
z;nGKW|L}mN)w0LbMH9*}kt1@U@#S8%-#;^WiM_1u%aB$TD0$i^{XwgHpXvbIsesS>
zey@NMo+)14P^xl1?5pN#$GcY&dLZ~*L3p`axiNl3BD0)$7ljCl+NyjCh152N#!C1`
z0ZH6NqUGJ?cDt~yeO%#_s-m^NJpikWaYfupI=AO0^H|<@z?JEq3e8O!VSY)uDrOXn
zmAcD~)}YZOvboJXj|9=U+mwJ+1ir~^1xTb)l;1c6S7TeVieTWsAzFoShRLi!n9QZM
zEbmMuzj1l#IoM})eB^O9GSkOS^6bw(KJtk+asgGejZd$(apyD3wTyAu!2V!YyT2G|
z9sRkim9E<t-o-pzsK@4JiDVanRorOr)PP^<;{q~wKMZ2Y>*}FFh-!gmW8C@W#%HP>
zGR_mNh?|#y#_q<c@oQzeFIs1L?}V=)bCsHvVp_Vm9QIZY8BJ9<GTKXz&K_ZUq^#(~
zJoAUBy2&^9+BXH}cDZ3}HTIgHbDQ8bUfC9*f))1b{!C@16G-oU1Sdo661xgq4U?#a
ztyOoDahY`Eq$Oz4+c>6$w_i#L$U{FirKqZ{6onQuv0lc@ad~RIGsfj}Ehui>`<&%H
z>0B9MslDoS<LGYEL1bQ7)WA*SkGsy!Vi6LnHoUxkzzUtNG~V)FWGVINi!UKgt!{Y(
z3KH%qq1i$lp@gz<G#c?=%X=cJO0(HJ0|I-bm88j+MM`356$*N#Qf9O~N8?@fsZs;p
zAHhpfa((9^VRT$ULX|KWr%Jry4YW`_oJ(+~a~r<#zVVT^WVN;g^U$gS9p%PKwIZ}B
zR9sbZZ+7^Ms**c;h6l+aP@W#0f~a<z9h5+1wWrjHh-?mCMD*GbiMNR!d(6uiFYvg<
zz!aDViKmI_E}$iy_X)a=NRb`4$<C#B)x1Hq8~gXzTz+3p(Acj$&X4v!S5b0c_K=`)
zFlcNuzcHkC=m_)pw`i-Uf$N1EgT~>#&jw}gM1v7#FOOD$#-7*HXck!nUQm?b8uJy6
z7&@_TQ@C#sb$%YlmUbL1+L0I_IqVHs61pB8H1=5D$z-DcbOcMjlKlyBQ>S#QGn(q$
z)<xG-k?Y6~Js7=RXUhtPH!{x$7i$8@f>(<PV!s!@uFdaLdKkSIRm0EB6Tah?cQ|F~
zv2j@QDFqVABm-tS5Jfw2L%qEfE8&5b_tl>!YhtHd$1~HTiN3_#x_$G8h=P+Nttyt+
z5R?vMijP)1DKXjDqe|Qh)M#e=bVumz#Dpj-<m!G5-L!z$yTe}V?VzzaSh5wZAFXTS
zn`LdGC(l6DqrnjoO?#hC^b$>#O?bA~p(iEN67^^A-%xh)>iDN9g%H;sZ8ZGZtkBrD
zK{fDudb9`q<OilU&Blh>jxgkQn_7xo(gH+w%tT<!FDD^Vr79KlHDkXW>kW#K3(92|
z3$w(AU%7iB`4GWMhH#OG<-Km0G-mh|>@jz?E?~7cnolzwhV#Url-StCpsV&*SwbJv
z<Uy9UA}eP~_pxKAO#Rf{0cOU~GhO%C`|4H@>|;%>`xB@sFBvw9wl<j?n0BeHNf9|a
z<Q33c{rz6hW0QHsQ!?wZ<+3{58em2uF;4Rn1lAUj8ILFn%Sh)eV>Fid6dU`VWn`7u
zgS_}2ZL~|chZ2_2*DW*j0E8k!?gi{YHlqu-3|{6EXd0~#sie_XXcO9!+(t4Difj#o
z-YAFOPoS63tVY67Mx;MwCo<GtT)Q797o^om4onnH6WXzU7a&gUwGK1Jw9xzrP-MAe
z^{Dr07xauqWUGO}%m7j5izsDEldtA?XDeY^ENLv%#K0GskC9&tT~WhPx-Fg7({L1G
zW^eVXjG~ZaBaH&hq26AP9Pljkn3IJDTXT=H8e)F5oBAIzpXXwZAR(&i)gVHP9LQQQ
zAU5fTi0RQQJM`a0A3Z??Xq>3M_GqTMYfrN5ybgS9k?c8+9OyxjpNYwnA{m6to9rS>
z<g&*+mrG~eyLjf29n;?IMFR(8=k$G3nrn^m5jMoEhg!o?QXq+CGy4do?WW1jk#Q`}
z<^V3Yn#=)!%OeL%!`oNH5f)JMN^)B7CF6wNd+-`)-e1X%G8A$G8J4~eMq+Lt8kI)!
zM-I9dv<9>lk&~&p#9maFBCge1hJSMj;il!%e5KlJ`;;yMctu2Gc~5~heNDy3f<a@u
zL|cnQL79T8;8?!79)_*=wYnlMP7w%nTGCRe;FAO>8jeEIJR5BDvE*unGqG$qii2V1
zk%V;2IpTs)%~Re;$uxai8>0$X;wuDvJ~8M+WU*%`n|7d&1cJU{0=R$}Y%s&BJ~)!Y
zm}2K=6!UiM&Awp_WEHimLpvGCdxpODFUp~3W?{;$#zcEr?auH;;!bag-Q_kv`B05^
zM&R`k<{c5DWk-63MzPd3%mrSk7#E`Qh+f$ocxV{L(_ejLWcbZQb8M0uT?zFGESixu
zj8x+Y<cGNuYmFmf-+Tn7E_p+^++#L<YgcoTT95Ds6_~g9zCKG$7wVpt+VFxBaPu*6
zBS*3pj$}&xAdw~2N-7LHMrCU<Cxg)mz1x9~0&1TP!NL!Ui*IB;!`mb*S^7qpP0rnD
zbBS|TYQEsy1<a?MJKcPoJ64T<#l?)t&m#G0SBn?Ut4{dskJ(54#Jn#$g|7fB@hQ5H
z8c&liA2a)Uk7eJ0yx_Ffd=Ns63k?zrGS4AXL$2Hn;g0^Wf!$mTU^C74xoHrKYW9%g
zCzDHi?Kh&POYx*EhPuM)6{6tXm*PKKb530fhE;NCVc*y#mR{2;8m=3k>&7Zx{)ss6
z$BJU6^>=Gk(nRf%K$mTzn9`Xc3RnHRKo)wApXJTYEJWH&e`gkZNK7k7jKDhEjxo0o
zZErZrJjBc;kG5o;=}F~veB`dS6!A&Swhh~cS(*Ta*wj<yz$LNJ3AQp}3!miDX_1sQ
zrc{|koTx@+*O}tfO0+Bg+W30e{v>y{*%m|@s#+1C^u(dn%BSu`2u5?~ekXI@Mo@{-
z4MMbIj%qH~oUA}B3um>L-}*ot5PQtuXr4-iQh^J_3?$C^Katn~k3S-DXz%}pi^q;b
z!uwlAVwF^6S=Wl>*cItWugK-;B=o4ie~S}-{g{M?tWx^s$RaWJp4H4I%o#W!_BJf7
zmgtXbS-y;OSqqU@)Ei?aw@hYf<wlbPW#7l&A?z|<L9WhLAzC@zC1|V;(jqD>dxITc
zm00a%c2HF!v`>IVsI@=0wKjr8Xp7VkIkuGB$5bC1JD1zJ%Dmpcfl_$NR_b?uwf*#<
z%6z}@L|R`(_5P*y(+76GM*Hb3MezR3_ERsY_}kPtPbJZ-``hh=fQ@GI)Nr&XRX<y8
zXp~K51=l)J;Lby(WPgwI5~SMIq~`Jx{248Fz7*qI`WH;QvmGSh%Qw#wN!l+Fb<L`B
z;V=4CPDQ9oPNDU8GqIpE`xP{#Jr(t<!sWH`U@{MmkPyN@Wu<G;RNrJp5h9cRDiH>J
z(T7!(%zPY*YIBNgGzgYTtl}jqulA0FOI3E8yxNPBByZkCHayr9Ri<!%mKG<uLOG1H
zla20)9!5*Tvs?t*IoIP|kuIWA^-Ypf^9#82D=x)-9-9*2Q|7+=IxCGaBWmv*M;l8$
zesqA;H9rAYmbdA%E32_5Okb!hH8$UejM@g3eCy;J0$TPqsPC4L3s>Y%*bmId8~5^v
zEgj)sdcG*a11F;hPYM@?r+k+}C6*DEuriY{rZeWXl8C&|S8R8wmLol-X3^Z9WS6FV
z(#$6dM3y7L^Gn085_BBaB18s?vq}{Qs?I<U8Tg@6>q&GWZ&ck*6KKSSG7FwYt9f4j
zmdueI)z_x)Ka2U>NB6krl$ig`(VjV;n16MmcWm;XF-p~kJaf9m{Lg4B8e57R0}o|o
zh-1|!@KBB$&!TL^s<5Z5c6E3gq1D<(W=g4n5Q#=lM!EbPZD+h|tn(Y~kwcculQx<s
zA~vG`6748iwcw}PieACk6t_7?gxbu!A;)SBo$TNLLC{#6=o9Vkw+MEvZQ7jGqaB@j
zCtzUGu9wDRmL=NqpVl(kd{Wc@>&7|vVq2*h%GFv%u}y`wjQ?0r?_@z>B+n^okT_P%
zyZ7H*P?$#QwoHa?)0oGeDH$jxG1*pXY<oA}nM0V`dQQY>6N?EaXF0QMI-fgq=0YO=
z4!VTD^iwkEm8;am+c`r<&h|yAMvD@0RZD`_TERd?8Hd5oeU->#gM&DtD`IiSvUZ#T
z@iI$g5S{89tH-XB7nfBO=ud;Cz}(poNXFwnu97}zdG8>}Y7CEb>hk)-f+Dn#f#2c%
zby3vH-1Et9dB>80<sZ*ac#?_i1@^lTmAPJ(Jc?u)ovh~68)&yd6KZ`NYIi~{@e=K8
zulUf}J^Q{<<I}g&^C~-})<Xl)e)TB*4{yRx_2@je9xa{Djyl|GIqt)jNuswrXVeSJ
z3}Vb9I;{43r8$gtf7t=GsHXu6k{QAkv7CAm7ExLm<hi|%5*7I{Q&$mlLf-bUN$J*R
z<rd%%zDVQgm22&Af6Oxh%0^B-jE|Ado|Q-SJm*3+U}Q=0I4xHw2P<DJc0S`c^P0Mj
zdEL#A=8&_Q@Ya37%I5M|sisFZ?=mNxt|Ewf;Y!xJ0=_etLl9OF!*)iX<n0B0#y>Qm
z*Mvpa_3RdKZ(stJ*zPx)#xi|(5Aip~v&v$Vuku$P>@i2~irB?Ep0&n|Kuo`CG%&73
z;}-?pnUUr!7?EsQF7~U#ct-dnIyVh_Ee|U6_%Y{~;SSX6#*S-mxSoYf`iF~`#^UFQ
z0N5Fa)-B6GJ`z71LA(oOLRR*kP4tOy!M%j*lHr0;#2%y%&1aleQ=x>`=J^IQCdzBR
zETcEO?|8sMMaJALmR2m06UvPax85LsWJNu2=&T7R&H70abc}hA{>vsm5JJl&5@K!(
zOGWJ0f~*rk86!56z1+Wf5)yEleAnqC$|8BULqQHB)1%{MMndypooM?M7xUmENfa&=
z-LGhDMfV?ywT;%5bM<I9!BTzocx29nj0AbtSXb&v1ENU0WRoyG)Id7c_4qnA7s~Zz
zZtEE@pqTe|VV7=wHu=mI%8%J-UPX6OUNsxW6whp#^St#sn9<T~ij#3H-|5|-*>ujd
zt1TUc_W(bGkPK==)hn;+43gx#qc7U{rH+_h1v4>TVnIf0%{Ey_808uD4KE6HGd$;U
zEgAlo2Z?$5I8E#nVevdQz-?^v+z*)fG`<#fG=|^Hqg}Y;sz%1#3W&bXN?KcJ2o=bZ
z3NUdlW#i8zds)l;lJQUkG#cE<;rvkd$l<&N-4lJ5=Skj}XVOmMrCGmoLO$ZmCEr|T
zAJZ$#rObu8D3Y-*rAqGzD>1K!Mi5Qyz-zRv{S&iYuGrY4k<CZ6y6w;}Zj5?=N&%7g
z)K)z}=sO+NGZJG^+*s1D1`|>}8VxSnrFN!QlPPRQj#{C!j6EWa+eOLbuqM%dHGWvX
zmA1E2_lRuS4*eh^ckOG=2wh;TlU89g+ZfsQ0|CPJ*p*qToq$-s6*MNHLp6f(XEklj
zV~B+xBBtc=2}V2Z<QpT#k~3O7v*9u;ky|w;qdwd{;<=f}jHqW%9Ths@4vkqMHc!0@
zml(vU!=8<jaL8S%{rRnuw?e0JyRf@?GyN=qN^LYZbEnw0uHxKc!}BcYc7rmk+Z~5s
zUDSIK6Aor%WyY#t^zz#(>N>(6^OrdE%r1;Qeyc+{YXcqS^gn<tR$;+C|Fl~p0IIV+
zBYARW5td>NEik5q7GS%~>!w)U*6PvSUE%D=Vb+p1V8TnzuVIZ$-VdmzUg0f?z7*Zv
zXg1GA%Eg=FzXS?$YJ_SP{$t)hI_18@G$t{V>HCLh;xCp7GeL1g8J1vMjT6=+7VZFI
zQ@Sq~+mk4je&K(~Z8S%=W=0NWhPrWTjsK+##*M(Dtdr1`Jb3jR=gYX`*(SGH^~T5M
zK`I%)P5OmQL1f)R&F3lEB_+$qMGx*~UJX++xD;TUI?vD=vk5=BxI=BEekm@TuAxn^
zFJfv?6H&10`NQdzJ#9TJl-U(qY-^4x(R>jZvx7(y!jpE*rY34*tmM5)Z}YrMny9Ok
zt9-UZtr`;@q%{m4r_m6W_vTYF7*)L7XM`orO$H|MQ>m7^Yq`QcLqX!1H9OjcV(fXf
zv|c?DZM{M#exS}$Xw&MR@DL}vhL^oB$<U1oz54Jkv`0n(t3G_wLaq96#li{Ihc8+<
zBz`8a*tkEAK1q9U0JpT?D=*6aw8qpCiIK#`)rWg)4<5l%k^G%X-bC{6)d`B#ho@<^
zmuCv)YqVNklySw^+L$lDfURm}qD=GV5b=7J=eR@VNlAOQGwt`1w#Cl(Z%JF+nfBk3
z_LiOYXGxpYnf8RFJ!7Z+O46?EOj|5zL@k8tT1gv88e1~P-!G$>RyT{J_-Xv8c1U=f
zQD?W=iw2D6P$gN_SckogSAc~&=&}3c?eBn5H$&RQILO^h?zn`w1Y-(r?k5m0>zqBM
z>}VP5gp=IWBZf)~X?5R27aHJ7PT4T9%0b^GB_503nnITn1pRRb{drPk(}kjg@Fh(2
zXtQ|=Rz+$TBRM_+i$p{<cD?SDN6AJ^3N~Uky^UtML+`rd6+hva;)&im=;x3UeM5-E
z23*X0^P1k2$kLm>z(3kxE<cIH$5aIiSMtsWyh)Unjf9)c!AMu6vqL-}a329zUZFYX
zyXOEDu9SFce#zn4C-cU5)&M=0b1Ly^-D=U@EHP1d;tQz7|1CA^aB3#4VLWEH$wot!
zOGVAQSay(-?w68|73|LernkdJv(!PK(gl5_-E0>Dv_&n;t&v8mYf|0KS?2pE!ifdr
z!PpD776e%YEctr&aCtL@Y}As)&e$}VG(RDTFD!kFJ&4*$6IChxMOh`hoRw&es(SD;
zapFEvxGpW{sLV!N-ONWEVt<9$kLni#XxA^<(9<3C*$#RzrlXc4gO~@c?goJ9lHfWG
zhwjTDF5LPhM=W>Jv#69zuINxf?#=ivR5F%3o_o;hPA4h;t};tXF{D-hElN;s{6PDj
z1sXdmWnQ`4EXNQ_9!$6^sx;DK$@e_3%)3}M-p)Zk*-VnnfiN98+$YSQk1g>=MY}?j
zSsGgj*W`EvVd8^l6cda7AOw{RQ(bJgxrudS?EiebBt7;=si);#*-whwNOcyITZ(&8
zh#4CbR|}6Vvhnl^XkSTcVtfToftwvAvE2XSxp<TLlqz|6n5UA@7o0FwTQPMA)^<0_
zYCcF>A`b5Lq?+?=9;e9t4s_U_8{B9g)pvbMWXuahIb5<_@0o;~h+;=eb%v<)^^pP*
z=NWyz6n%Qne!r^Zb8Yec2%WJ1K+d1v@&$g-2i1ps;ZvyW&^FII07w?o6)-%lJS9$K
zP!0DXnek<}89@s15ugO3o~KBbjhYK{`E@V6FLZYNG*Wozq1DN<re5iZfD_rBk3D0B
zCCl*6<~e>qTBXu+EB9lLFaw`+R^-rqVJ0aRKzfiEU&l{?tvfK`2gcBS2^U$Ui5wcD
z)h!{p%`*s)^p^NP_|aCZHmg_;p!AGz|29tsiJ8FZaEm-{9^&`&q*r=(Z*{qPdcNgX
zEC?6sy2$f6HyqOMZw+`wnilWFG?#p^pnF*cfW)4_h{gs{02W&L3+K~JS5vC_Fv^A`
z{wUPswWr<YL--X58N5bG`V7*=cb*S|;h80cSS|5;#6fq4cJ*TZl}o3Ux?EGtfA<9e
zgI4LeSn;z4g|EF2NvfelmPxsXPj-1p%wdEp)9jm}KG-laGjtbTK{nagUjh(6hI`s2
z<#SJ)Pu7_CZ~rY6n#>yz)-p`LWuAGPAZCPzp~q%_x>+>0aSMH8b;x5rcdJPHWgewu
zwjkvGjeBzjnWLURaa*-N;2Y`6)M{Hum*TG0u4+{KT$IxcmqYVN(fUZtv@-WrvRK|*
z`l!IjH9W8r&3;y%lQDceFvF|!+vXX`FV%CI!!WdoTi`JyCt!!v1_7F)l<bwc{lHSw
zXf|_<hA_QSlvyexCnQC4_il#7)+*R<Z1Zg6!3|Br^NE0;VmU(gHmIpWBjSjRX#<`S
z{;lL6BIU-Gij<f#OB=BY6Tg(^i_d^`d^){Ug$1oMX5}$~ueZ*)$+=$cT*o@sbDis8
z=lU<_`d8=rE9ZK@bDiZ}Z*s1eJJ+$!^<3vV*tzy~t{KjCk0$)2zCS^r4O3A^EY0~u
z$zb)}3w7ZCT>^~}230dx?{s-Yf?tS=w%FgtNY2W=a{i7U%`lo||5FJnl5ebv#PJ#j
zH0y<{Xqe^$@|_Xu1U<r>rDSjTd%D5`k)P7{_^<!Sy4E0C!lo;I+-SNaGP+qNEa6>=
z7i>8G|L5uqoNj!*A|Sd@#j~_q{BDTVvp&$dSiqeG62<vHN%lUgnO>6lTJq4&*Y-><
z3rnTyllAco!Oe?|$Ov_7Q<@ezlo2|CX;<jd6cJjS?`y;c`un4^vEd`-Qu0~obH$e)
z%|uioIVYH}naJC5JG*2|%HQ0CS?iM0_4`7{)<^L-SL-7$TJ&KFARzr`dZeVA_Mi-x
zQ3UQCARRe*EP3*~A+dq3zq?#}0$QFwe~*?ouRlL`GfLc@t)_cs<qawoYDMMDd}7{b
z1zpNu#@oc(+}z_$nP=Zj)K%jksZuSE@)-`aJUBqAa}kKhW8U8w9DdVT?rM2{p!4~0
zp5wD=EYSz>56UyAGA5s!<avr{Mr_~-FcF_14eR`E`l4(5DtWNnz#D$-7FJb}7_0iY
z#dLKztr*1uv-WyMiKV9^BHL2(_6MYy_nHq?isG_?!Is0dAld<IUh_9UCDF{|hYnLs
zW|zGI1cNpF%1_yTZLE=lcsW}D5*{6h*qcaWf0WhMuOQ!~DQTH?g1j~vy*#_z-Oi(S
z|3i@SN1Ei5I|crd-Qf*lRCb{Xvb9ZY`!*0D`TZxd=X=0wc*B{x8?3qcZNi4j%w$_g
z^r{^H(jvi(<;Z~Frm!VcX$1T8-a_}DsH7Sxz+pNZh)rsYY<)A7Et_4o9uD`7cpf1O
zT-b-*)BiA~GLO!eU9d#DOUbC_*8wfisAmqmMM^LxW|!mY7*p7I_=g^9U)5{u1L2M?
zeIBjH#QtVXp|o%DzWC|Vlu^%FWQ|_Ml1lD|rx_HZf&Tr?i)6gRi{sRPVCGMGtnc!H
zE!P#vjWV|2nE=h;MXTr;A8wLUeZCBxq{nW_W+rU=KYqd;ww-A6ya<Na1@mMP>+kef
zRyF_M(g3L-?@b6W7(M5XXLybd3~_1mEFh2ksks9^K{q_J0R=gNuaIcKf$j_HqZqIQ
zy|hQ}1v8o{e&_9sMA30sa(jc^PRYhjXm$16)Aw_NB?&EZB{B#`hYzEa@;A9($bTy_
zmG2F`c45tyMv5%0-KQDywIH3dx=7RuTZ8WR*kE}Qp#fYWm-fhIqGpk!)!M^la>oSj
zPG*#)i!MwRvlzT+Ci}jk_htp%yR_Fn2u8Dm?){NN`C2V!n!2<H6QD#6WrrS!9Lm$`
zu$>%+>#$ITE*p0UX*n(|jfGQS!BtIzKKu^3g&!Ew9wCq~TuAArobOm=Tqu>j{}-^I
z)c>e=*vHuG4sG!iY3u0lJG!%6!5;eiesJuhrw<6|HZK_SVh&-V=p=MmN5u|W>->?G
zXlF}7VAL7gHo9H&+v7QqK~JGrw@Yd}F3V`{H6>fCn=kZXC0@l%s{cg}m1=bdh0*AR
zwn%MphpX7sI`?O?OE6zH{Kay6K83Elz>HGy6?J67Ho0K=a`H=?Siv5jrP@UcmK<I1
z=28LcC9MnpE$#6c*^LY1GZc^2l1regfa-v+5DuMY4K*d+Q})k!=B*M^<1eV30rI8b
zM<i;XCE-e&vH_t@o3UWg*;&z1RGU`bm&s`zyUlBahl{|Q^+kMvlo-pk{zBC{n1OM>
zT<%-Bw+$-eBRh~ik8NN_yVh^5j9F(eGSvEnd!lUlvg(m9CbdB8!~SPR0hYAvRh?-v
z{u#MflQ%B*RVb=x6ekl$nZ2wrnrb+&$;z)eIBwhoH1N;R9K+tE#yNAwM7i8^x`%P#
zVx|RirZVDehP7kItuY?(wAzozdC#aZ**t^_#|-2WKA$zVEWqYLvDi46njB`Rw!ELL
z60CN+an$<H7<yK9=o_l~_IlJ!s)@<P@a132<fwDZ-8VLizIzp1Cz_P~YE(El8?_LZ
z8Gzb+s>Tz$P{S$oX_a8LCk&O(!Mo03F8qlackIj)0LE{mjH-I*VTWAi`3@fEj*G#b
zN}@{ODBKIUw==8i_LR(nQ!tf#-*v!xr(lQ)zZRJJE|ZS<_h^ALeAcISf9Ep;{C1t#
zwk?)-d?vO#I`B=NWxM_bdi0#-3N$9bMe4&I+K<E|UyuLSTlRzZ(4*ssQSKH;@!C9c
zg+Gyv-y%?Tay%c{89`oW!(`NR2edh3z~FtFa8I>9qV|BQqt}*Ub69`6me#WmEjmv(
zW-?L?zf>|Yy0ho)DVDity#c}^^I~IQUv(#&-`hz_JTGgX&p7@Y>y#gnlUY)@w<?QZ
zsqHU9^dL!!<RnEhceOm@u%21mAr3$1r!<C6#pj8-OE$25Coi1PaUMCCW^A5Wrg(&%
z>&Tl%8G@b~=p;VvGJKV~RDZyE)M}ZGyXF)@iEq~30ID?e3Se!XAWtHJq#MX`Wt#oU
z41XQ<oTD;?J~c<vmWg$p`Wp50RY~Ehs3)5{nP@GcDZl&BZpzg64N-R5$*jFby2z&R
zx0r%mg45=Ci;MiVd0L!1&R2HxMLG$Lm{F!PX^ff6u|0`jr}%@+Gvu<oqa;TWIg*-Y
zU-9Q_O6;#)PUdTuAJmknuU%%-8r4#$q|fW$D?`>9l|8KVgVv-i@%Q6<5dLnsb?*MW
zR@4|e*B{d{U^xbH|5XLa{uqds^0Givu%vlbcBYP_{q`)5-fS!gmaGbYf%EL>A8`&d
zezmd_*>mn?CFE&rP4T9xnvw8!wO%>4^GlrJOR8$-!cllE-^%RA@?KtlZo0|KlVf9J
z;UEh?Vtz|OB3JRt;G~xv4xQ;7NNUd)AD}37Z>#+>t5Wo2ebw6-b}ymAsI>QFVFfV=
zD|ta!!AbNxUj<FcsmgCN^{ro9Qrb^1{D32dUHy4iqO_Zm&iVe>BzWuhE2Pt2(5WA`
ze42wLO~{9tT*(Kso==w#UFz{CDS!2GKT6ueSmpRrj!eGQmgwDVpluIP=Bp)tBMhpq
znwIlb)1bS#W@OiPuB!Qk$aI&sWUMsoSZUY{yJ0!z-DaKOKsyavjas<&m7bZ8jiFn<
zq02OqCe=&Y!zN9d*25ToSQ}$lDeg$|uZ#XTYSu$H+U<UCYZ+%GwF{_IKFI%Z$^ZW>
ze?*Ve^=`Doq<-bGsd-X~)uHwNm|y7z@^9`U|FP(2qb+~lpQash^hk3-dC3P#Kci!P
z``eq$LCO9Qj1KGpKTIPK=qS;Mipp`LE8H8B8qqr_;vbgO|D;~T{n6@r<VHvNOtA)&
zle#7O>j<qbLw7GjcQ1`i?aJRJITb7imaLl9Bak^ZJ6O`lWCaF;B^}|dupz~vr$P6I
zL{FI?sJ7^bT4m8G!`-8ka_AWA>sBxPDiGCkD%`}USEWtSCQsr_FycJoM)aR`vR)Hc
zPmvxj{Ty|tQs;cF7dGhtr(K<vS1gF#e>p>dH-6SIdYEf2g_yjV$&^%rU&hDFT+<mn
zrkpD9jl9To@@04~yBLYo+Fe(3r2G@81;nS}wD1oUiMN-zN+FRaBr4lmvrfRDAh)oB
zf5gIK22(e`(cu>sBwS^DAahJ)ztvh84(Xh=*0eppN4tHX60WK77){}i{i^v*$9QUQ
zc91bpv&B_S8BzP(Z-XIDw#gF}CeWtd=9D$fKtN`!5+tJ_VtI0yLB9FQnPiNtye-)u
z{WXUu`w6FP7-3S;qdD|b;%Wi$6Ig>>op_9R2%}nUr@k!34{|lMz*qbZG1ltMw&ITX
z4LpcFv;8+?EfwC^S{lxdj`Nj_D_FoAY?;;D@`-O&PVp_u$pg&CVvTV=HQ=Y|Bm9_o
zQ^hauijdUT<aEwiF(v*!g8+jZCBgE#(IT<FcUkNZx4DLv<^`ydR-;+F6t^MD8*k-%
zN_J_FY^4ru<8olx3dE``nS#sYhHr2(U9jhW+LEbZmIxG~5fEauT^u7@#N@5dqnusQ
z-7Vk#rM<h>r=sL&=t8D&<&jo*x&XHLwH22#e-SD0YAv-qYf4%z$rfhf-%4D1bKx!u
zd*oi2gJVpaF(ros2l8#cL|^ma!~8V^d0P6yZAenLT_^eI4##m6?&2N4edBs$g-61*
zyzfW*r1HyjDlLC_n<I%w<a=j{za{0Jgl+~Jxg*CN7ru}kk5=O0DyM(t`=h0K#`=<G
zIW_P-?NYovAQ-L|t^82Q0qv1DVA;=$ljO2uS6O_;qV~6dZ~<e#aO>{<i9wFt)+@)M
z9~sdpzDTp1cg}R=Ia)kLk>^TLs42dZDFq9**y224-^%>Z8uPQs(3;{)tf`m$tyvlQ
zDFSJATrdnm=|n!&ql&=Wwn%^HP-%7Qr*xC$dy!k=0l!h2V>DAONMwaC#2gAFCC^O!
znzXXQ+w5xAolK46bNI2_&w+LWpv3ueN$Kof$@pQ+GY%6VCaaFOP}b>{m*+9|NR+3p
zWA3TuJ>}|62$8n4!6`nQ7C|4)aa1DlMW=ryXGRe_Lil+UWf2g#Zt2<58vC2YX$(*C
z?`tj%O<$T1OsvN_!Ps@ap^IeiLu6}y@oH8+dqy^Y9_Z1|x*+GLOU&tDX4ou`P3CLO
z8v}(OoAUh%3?2JBtLm4Y10BiTNh|T1*ngo~!E)9!X|)A@Onio}JVTD=<IJg+$ichp
zH|NWubMtudI661Gtj_Xl<!zD1zWdw6`fIg+pg1*KtBTy4?+S5zcB6mUbI(5eY=!pE
zrt&89^nklD5UtGdm#p+_6)TD3$bzYC()%kLC&YTQDjYd_m)Mbf4he4@PmHI#$im=j
zDjngFqn9;b%SZ5xdxZt<5j-x!Z%6Oa>YBNuk7aAMvVhattw<DA9incx_wmdAiEK*}
zE9+mX;z_b%OZj%0p<i>>ls~d1U-T}(`wvh&y`9)wQKa$0K#x^r##(>%p%T9~zC~ZV
zebIQ%SnUX}50-qR)k>I17+icKH=G4uW*i6>njCw=SgS4GMSGW59$@a$P(;}hws0Rc
zw`1MN9PS|*>(mJXoUv1A21+*1zuK{qs;;#Xk&?QGdIc6;09P5U<E<k9>l9^`mwZ3F
zUli%EVs6D{6)oAHj}5OmaDU-S&;tf7gB(Kzv?sGpPXCYW$RIAKJrbm_v|<u}wB;#G
zF8VVSQ6-TJDQa~b*}<XR--$g=+Q-?57-H_(JN+xfSi#|}L2>DBcHGFZGs$5_Dlh_$
z^vE}EsFunO8fWbKtmbQ1KBcVajkyT5ns-;E8EzrF3WgV+8Sew_PWzK2?2nD7Nf=@F
zz=hvvrHo_fuea$7@h004X?6*TH>&E7qx=2IkM4(VRv!k5i{a@sAn>Eze<7SC9#{3W
zTkaZgl!E-5mZ4#_*cNVJg=Ua8fFjb@>LlJ1|0_Q!`*D2ztzuHAO1Dp=pbshijgJyu
zRJq21GhE%|WptWRtCQEd`NDfr^VoY4bZ;|f2Ay71yM%m50Um61(rTXr690jplpbB_
zmfj_==&nOM<JYS+m((}%TkfSYs-bNP@$)Fs(cZXx%L~Pso0q0gahZswa~a<HV-DY&
zNL)mg7E<y!uDxOrBRY!{4sXIb?888DrsUd4<4OMgD^)}Fs*3y~A1Ua_B04*V&rDUc
zrWvA><v=7yf_%-dI@AZFuPvGdw!iwzg|rW+Cw(ih+Qqb5`LcK4vH!}9t#~Nq%QJ!U
zSB*QVjH0Y-@eW#fY_7X}Kkw47!n@22#zz0D!fgc$4@4S^{EP4f5B9jnUtV$~G_(v4
z{7l<^=IhF01W%V}HLLTj-G@RZqf@_dU9lU9CzJjG6<%;QnK-U5&C>ja{#YTF=Ag1P
z6%ch>X7wd-UvebOpm{*LM4iOI$v?_2w6N8fox|f$<km=vR=1E}L0nYFjYv~Edu<aB
zsrC?o*@3&(?&s*SId18YLlV=H{3ZQ~WOpPvGzz6w9bHJ4ruFns{54;?@+rga>MiC2
zjI$|El&s;m7~&HriJj^6GXUAX3OfarpH<hfpokdyzPCEvmCxwi)nDa@R@ohVn9!Z#
z6Jjgv{_>+`h@_o_Md}+mv$gx#QoZ;9Wx-e?;Rt<(xpM8F?KJP{?)La!Q0RKyIEqM0
zwc78{|JLsLYB-Yjs~vjCU#pXYepr)e<)9vPBtB0i*NP6g^!*#-zlTs#ewagAMH<1l
z7c}*8xXylk8=y3&M_c@J0D9%FWW%!rhI3~=sHgnx_(WA0QcbzG+TsfptXh?ywBN6=
zHzf^e;WlZscrKV}4n$QwpZ##Ac;Yz}MdtN8g4d+geh4vb$>jcoU9{T&mWox5>!%xE
zr-uKh*gzr6G;L)Eq}*Vvj37S2d~B3CVXW=&zfS^9%6_qK?!+n1xY5<$FE9BnbOHXp
z$hnKZpXTl}>1#GeP3WRZ--Ve3{Gj&bv-Wg7KBgmo>OYKP%~#kVKx?vZziYa~uO15@
zFi(P}9;?`=&dO#;U}l(So<;9xzA#K%a>c$XV@iKxTtD><V@J=D^rt`{4&w7{ebSap
z>7V!zdD_w}koRWS`=jMKY{uoyK;=Kk8ASe)RSPTqL^T72O(jj*;?WqN!X{%PQxt8n
z?D1oQFHidx^u$$Qg=iA6y44HD@+FMAHVEK?KcjkgZJd<YWHr6%2%WQUWw&raT&0Np
z^0)cbWWm4BFH~+3Dp2^8N-8IwAUo@Yu78xWI>QxBq0U|!0vm{a)*Mm;Pwf#(l)+bC
zj8yHXz1DqM5kz=*O1|Lc)>f>-WiZRo22?#%Bus}swvFN1+gqiJjk$uqIUHg;k(j{-
z6-hV4;3r<e4lu#2Yh3s<af|HTL&^l?;SCcqW;GG3y|}-~4Ur)lME1zL=&&;~$>%}j
zRg84|`tdSxq0Lv=0TP!_pC#LEqnSs)Oq^~%|A%_qM=n@WvqoV|wjkS#B*#(OU+Qm8
zu`#9D-iALW66Q;+!4a8%69R7Lj(N%XqQV~nJ~|%$Ch=#16Rl!KN$%Q9;Bo)BY>~QF
zH-?8uJOd3#D=%Nl`-1nxyY%PyP~=dr)$QhjqU9ke<16m>Z}c1GIjWHn=?m0Z8t@IS
z`&Q;@wXbrcnn$bs8@F-M2*>Y}X^nX=<-~Uil4@_;B6pRqUH>2PBQNdMSNS9J@)=|v
z;lUp(&1et}SVpZZUHd0t8uN6uQZ$ofNEfb3oamH;+Bdu3mWtQrl1M;nNBk0Q968YT
zXt-9pl^Vv`o0f!k)$`i^q$F98&nHAyTe0yO_W41N`}ZG^@ce^u`2gs#@{O=@D*inQ
zwknEnkz1X(LGjx<%X8w{ex=5Ksz6MN{#{<V%inZhkbe7nw^mhE=}iX*)4xLliH}w`
zH60w}XModhZ?w}63@%({G=;y4jvFfP$K|w*8%hs!smM^Eq&;A)=iHebR`|7w1596H
zmt_>L!fYrZ`qff^b}0utY(#&|7>kXv+&qq5RUe~r?D^S}pDR`%vbv1Jsm$luMiraj
zc8`;pHn!QBlgC4NprVIr|HiaHbZp+HLcA{Q)ZFX*gqEDh7%PryTgD~=L^2}{N<=K*
ztlA;F>o}K%B`JT+0a=?44QJZ|=diIaq1jxA)MOxdk8N`@v*oA>CvMg@HV;K--X?Rz
z#N+jLCMM?1<}c|XlIiiZO!j=f3xD%+Q#6E98l&RJ9mD7wi61jML&~H;cr`0nh(*|m
z0jcrhfA&i*{-6Dl-;`oXyZ9w(^?R8fBlTO>r&B0S{AW^n189pZDx%eH=~_F{kz;E2
zId5w7okVE`z62o~1ZqD4i@tw`%mpIWk@+`rYE;Skh10~+Y$mPn5ZgwamXcGBIpw09
znO>sbvHf8-lIvn`g!Q9&HtUnH%?!C}qzs=gDLJKTs7D365`TvtCFv`><`lb6=SjRz
zTcWJ!gZ##Gu@kmE=+ee&1=WV9$@6FQSRs9TI%xq^Urap@hygbGLNH4FkNpqbxplYG
zY1H|#$@We=I%*nmp1g8-k-r76hi~1<jNxh63dF`9@kb8z)*g6@r*iF0vw<RAd=EjZ
z-GS1f6Doo#z9UBzaF%1_i+pi~X@kT$Hs8UL^|N|KXXjy47Trc3HHpY5kIizIH^s9e
z+gUx|f(UpeSU$VK{*~Ha$s?`D>|#N-AB+GkS8nWKh2dYU*x&Ppie_v`ELH8G_<L|X
zl!?hK>kWHq+fexj@j&4RO<OYbwVRhosKkB>x>sq7)cKw6Mt!ZxHY{27uFIuJiqq;i
z&QfY6Rds51VBcHWp`N^qSu{*~Trr&GDF1h++yA<#rsR8MB>DC=Rr6|u+`NU8@dwf(
zTktZz;6{QAMc|qz@@*uMn(;B_DzbW-=@EePK?<<H8KJ?>xPu4hWch+GsdUjtnK2LJ
z3mvo0j6Y9lj{a&(#^uYKyu+%bLfc3n0;<(MBp4Dv#z~1B9H!O24j^)HXowZ@kIe_6
zomj8r$Ox5*{mZhY;*VYK79qq>#-Q2h6nFyhig52_+jtecwcD^@>`Hh128CFP2dUNN
zQ)R>w?&XBFls_Qc$SVUPz)s06ZY3X$EuN_MW@CBb!SS&HJ?lD*x68E4*3@iO7X6U$
z((aFJJfz>=A!7+6P8lK2rbB}Zn?o!~(H}X`rs)vlO-q;Yrrl@`e^q9DQdWp=uFNRY
z-u#kp#cGSck%lY$c;8#yv^tY}N6m7&j`#V}WR-jYri=W=64KPQUO4ZHul%p`z>oKm
zG@GwvJD#fObb46Z()3`Gd4!Kn1>BYPU=^>Km@O5z2N3(~dGX~~QRT1jmIqUuxEvb5
zbJDYvqviTb(H<KfG}gs`uZH_tYC#PfFau1(rsTw@Fsdv4QhrZ_lH=Ek`=I!hUUx_F
zPCAq7>ny~@y^yI_YTk=GVOy3>;_~ia*ZSvEj(MKY>y@IX{9Nsk<sipj<R@u==+N<D
zJp0*krHZqOMimO}*=4<^X2(Au9gIHj6Qe1+IXKmhBe35y|5hUU-J2NDbXj_ex{N>A
zCsoF7;LsVqNkEq<($#((Si)@D8;n?Xbxxr)R<Wixm&L33A|KAye3+8tugZATSI^Zs
zi&Q||O4wKs#RLj3av1r1cC_rg50h6;d$4_RZuC`kWT{N+dX&7X_*u|Lj@g(gOIbhH
zE7uVc&%-G;Y((v~Om<SqltReLevQb%Gs6D{EWF8qsfsy{XQ-9+J>B@M!Z@rBd)*hC
zv{{ecDOsxzT{CAehwPMB_Iotw-fC@i>@N<+fe|oQZ$C%OqR~CH2YG8m0@0b;gKX7Q
zv68xRcqaCT(ks}CGsv$t87|reG?rBz3;6kzU}k4~Yp;z*z~8`A-CX2RAAMNWnV3<{
zN@=VvD@w?v=4Rhq3)RG4vo&AN72uBDDOWRA_@ia=gzdi#I1!4-A&<Pir<JizA-jwZ
zhPB$$K$Nw~nc^}X6-|Ez&Z(5G-@=c-fnfmgeB=NB+IttksH$u6`%Fl91n8h98m*Nh
z1x<v&Bm_wiFq2GRMiPi52vlmABoh+Nt1}Y_7B!flj4?{Bw%%Ubq801yZN2nmv06<)
zp57{gwN~vFt*tZ02U@MD*nGdW&pwk$z_#~(_kX|dyPpF)Yn^@eW9_xqUVH85c{CX$
zRs~@j`LIX_55Ar+)0s%#i^#)Q!?laDwfb}`-`B9Hyv|4aBxlx3_Q`R9R$t`z-bjD6
z2%9gq64IH>XiMee>g{~=n()5vWhzxg)I;r(hZVsu#AQk|gr>RmTqsSBLX~AZTeR)s
zJ$<@Ma_F7Sd&yBwL8$igI>IXHduyzlaD^_$0OV@XJ5BR1oXRt0%I8faDfUeyQf1o6
z&NV5LWD1w4SH%!HC!pS6=<Evee(p@`lx4@YNx9Ch_a%mq@z4~aM6YCNH|B>Br57Yx
zC%oiroXuWCir|^tE_YaV?lY;W_WP5aT^~V2_e%EekHMz!I3MF~?dR$1&4oQ@pXyfo
z@~&f#zzgm%80!1n+|)Q`pPP*cC1aj*KP($gOR{#k`}!HXKMu`xn_h5k9>-q1I$82|
zcKu%b)Cx4q4m6f)pt)}2>jM|ZCh-O}o+QE~l}%&qpcsgN$ehD@gADs+H^6FDVJtPR
zroL2_NF6lt^}Sd~6cTAji6jjx;tNQX;!E_KeCp4t<d~PBR^gW=7GBQSy>NkKQ>da~
zxE4kyFj4F4+)cONADeLUc<i7$G2SusJg4ati-+X0_GF<ikkEIk`Ozveu`8^Q3X3hn
zL%orYIm#Pp7BVX;FZ1z37r>&i_{dvJT;$!^cEr<RLOh~yl9vNA2-5;U&2JisK=@Fo
z2UtHdKX`u3fs#mH-|G`~rF+I4V0OhgdY$vu*Hr@S@BBT3Dp+L7uJ25Y&-Ek6b%-1>
z{Bv(SB7vF7a2jLwIq&F`@fIGewe@*M?`Qf3CV0l66OV#Kp0;#DPx_Z>iPm<9Xui}b
z2k)hyOb`cEvq;IHFeC_q*ifsZPrgLVfQ*qe^QCw<k&<jkRa9H;Rq9z)@sF6-iDkqa
z#4<x7O#K@X&Sn}d_8P4#F^8Qze_9StNQ4I^K)i{H+&=yvct6ZYMpbVeB+GDhwOmBb
z29C<fd8(!{+hv=FNmsI(MqxzLXG(vHk1*j1eHRSNz0t|osUB)0ue6&Km>V0<j)uus
z*u5dWrgV@Z2_gZXkTJc5vuh88xj&G<tOfG*b*0mNJ<Hg=B74<0cT(dL$;WN)k+--v
zJ+{-P`6nQ8$s(qtyUl)iN8(F*0C~9?Ke^u5)H>lTBB2wExz1Z<Jr9+$^C8Dv5VrOl
zjyevYAC6xv_ATmFNlA1-czGqFEu!G-ZbKAOPFqXroBo3KKiX}n4x!tn2zrOzIngUG
zh<8Bm&;|YL?@8lrS^!N4t+xx#D;uB3B(=GPlM6><KV~1SEt!wCVWRAh-gAVAZxT@o
zt-c*%E7X4@FoUlhNxi%*IT%|4Hz}~yt!WkBO&F_<#A0Nr#hUu%Ys($~o+OPYRt<w>
z{(4iAB(SOXp%iKLB~Qmb5P@_)wm){Zu=N+cv2RO`bR1VePG`)etJNJD8~Y+}<k78e
zgn$a2lSoe~x8ZjHWAg1B(Umdz;D(PT6)RN<z7x&P8N#e<U!=@Cp_iT}&$;OvR;`ZE
z9d_rQ5xR6gBEii`v8M=0=1FerN+DK^_4^*)TQ5{kKlmcd3#&=eg>FGj$GS;F`hu9;
zPg_SBuf{{V@C$6+_ra>k8)9n^SyF@)BovD~PKsP%EewcDY=Q={m=YUcF3B^fdH%pn
zAzJf1Dy?!18OC>ksr^kkFLZwR`D-)O2vv{U9KBe6J>_Q<9N6$4^D=jwO+{v~*pRFy
ztYq@23%cy{Kc+f2`&*8be*W5kN`}3ps(-fAaTgrC?$0DtN<v-+W|0i%gP$wyDNNq%
zO=dqJ_lusc`}0(CVNb?R$L7)8|HV4tK$sRXia>g<OzmIclg>Yu@tf`__jUV@AI7w7
z?(_C|j{^_XIjj5XoX-{}$M%zDoZcb!J9|mEHYJ$mi~PGUa=73tY0jIEQYOZv-kvXI
zczYT$xZ1SlSzq5PNtg7@J<aEMy?azicM^xY=?Fe}2ce$kj_hVGFnEPKvX}WQUnI&W
z9N4QE-;e0-cDTDI_&WQNeK3#Jt-YK>;hud;leN>=_ZFNxDCYtB6hWl$xEFh*^JPbA
z!Be3<CEcmYl-LGErSb`fm!mJ8%j|z|`ywviW`n2VSGU8%$-2&6)JtD-X%?v-#1M_R
zN$Pd8^A(4;;H3~ZN-*2+*<^H&W@qMfcTb5!NVnpHz*p|svBq<1r<IHsCNNMQC!FZy
zFn+=A;9C;S&GC>liQB(d%L(j|eUB2-*ZF#KX~A!TZ>Uh3<Y|gzXT(R7@4s!!mLdG#
z_{I(jhgy@5AGy1;x*wTrf{_7t1a+xzM96LEaEp0QHPb2H`2>+(qfmS@Bhk(yPq`xw
zfumUCW!{Ds6Y1~#Lo$7h*SYBu9#NTHHvv7}=c<iC+=||L+`Kjw>Fjf`mFBv?M1OiF
zCSH$c@&NP3DYEUpr#yolCuKFgm-LLgAud0jZkEQR73@s*L@qhb{?*VMBG0ms=#rk~
zO;{?-a6D~Yc;PH!hW%I)yCm2p-HGkUIxFmyF0rddk<*^$;l>u2$8vu74`nrfiBzQZ
zy^>Po{FUdY8J$NbX6<ydTZ(pb?-?)(yPS^hhh#zVSId+}wo2vlv=Zs;w!#?suz>`S
zI7iMU4n1p~^X>h0KIgSuc6Wg7KrSY=L^@>uxa^a3a;))!{qH(gj$i&2G{pg|nTvgq
zLrA?@$}TC@!b-As)_I-Hy_*QPD&-8q5ne%$)A#hd&J`)A;pg7?`Yag0W1o!I(<S3~
z-OdXRNa9H<(h3?So*w74=jxm@_Hq7-2=2%M46D9Z(makskwbj(+4PP<jICXvd<TR1
zFi+%Y);?JVs+`Px_{XO^Z~T&!wmbb_(Qdw)Cn#U@+Z@zMrs2=n%|H^{9L;DcDNqJz
za0NlQ?hC3wc&rkStevFTI@n%4j#cvUv{j6~t=?7w#R|#GYHvAz={%OqVJYe7m33&X
zWw2-U;})`E*8&QE<KrUNiA^f@jC397E2)?K455550TQR)#y_eOkca4fgk};M`8!Ek
zO8+Is$NrG`Ux^bCyPDQ!(Yv=ejkiW@hx8}pueR7lFT<0TB!VJB<>+&>SpkuXZCAlO
zao!0vVs@>v8A!dZKkXzO6akDpMnCR}Jm<+;HM#YJ=M)z)B&f#@lIa{^e6Ows8Ax&7
znnp+I-q`yIfUR&FkA1+%(fN&D)M)1bW{YpUL||-r?^r?jn&O`sQ9;B8QWBxgS7&5s
z0!#LBkLX=^V&HS%5iY+JpUwDq^rVY!Gtmij@1AaJBBr$43L`qCp8j~8OmKQ8uLx(t
zkQHj}hjE;*uk(+i#XHi+a2ZKe78J`xc)^wOlE_Cg4-MVsP9|Om0BP-Gd5e+5lR7!J
zMJT>mi6Sy3JeMDu_*7m``M60$YsL}hjZZL3T<6T(NAnRk{zG}=bzV#7u#@hB7Q69v
z&P9&U?L+d%nChy6h24$N!c8gN>31RK(ozrhlni+9B!jbeLed6NfPbP%;4ywb>Avfn
z)+^^)>)&-=!BOE$9W-lN&fAAj1qYc6-z*+GtrqH^pyExrRK=U{1%dsgTK{V)qRZA?
zE{HmN-bX9Z<gpUoJ|sOk_!E+&op{l}VCo}Col-x8&q4A#u=Yn>rOvSuP9WF!pSp#k
zgiJlb8GH+A6Fa@KQMKb(LHLg{BB^(ivu86S?7a@8!)wCX*qcbLZJ(S(#&X!UwinWR
zr4uO^{q(pfvnv}#Vi;UN>Auds5eSjgRrGnWrex3|<C5~>@}kcyA&`Vs0xC_0dKQtS
z70Nd?$_2*mrD@eM+hwW5C+eKj_g&2bs-aBven;#B+I-!X&bRqS(ST|LC8@d%Y^8zQ
zqAzWs>o|7vV`6F6$$DMB$eaV^C{-ZYs<j*Dsu2+9lAV#hSijiW);W>{o#^f)*NMC$
z{%X><OQ6U_U^c%x{-h<c?S^*uMI~v@Tcz(t@V?j#sDTop2r)}zj%*K2DDn-cCx>!U
zy!9q<=cf6P4#(5YtEB2@So4|A&hzoca%KWC=S_Fy10@08PMRkh<#O!G<+H`nV=PE|
z`LGfb7qMu+JfKwnAdtm3Q#51!9;wTV<vG(fAjQ8B5AT@#*!P6j2~F*mD^;ucw5En^
zri82@&HJFZ&v~PKpP<gUe0-yLtB$N5p@+&9RDhAtp9phhw@Ksx%8@p^LE7v&6x9PQ
zt4p%pb9XOGc4K&8Q+}x1kSFWqf~TE5`RK%+g`db3e_gMl{ydRm5~)0k7V796a5%q9
zH#?x?IKR8I>*??qkL*srn~Ec=RtKG&r~BT?9gxIQTO}V2qaRe7)7FjA7vP%+m!;|T
zEOlfzwYZvXF6WWVD!TG>3Z9M}WSKjQ_*s2)nuBHt$*w{RNFFSO&7{0&n=sR0uR1ra
zk-EQKy`zredEQ9(V=H1ztvErFM)VR0l9%$}i|mw+Wm6rhOA36;HW2qC6M02Gt7OwH
z1hFkP+1>f-M33W$CvvZ9wVuc;%n@X&-cCL<)+#OA6}=@L(@{7h4cY}|(!!xY5`#fI
zWzP)~W(D>WScQWM3fM(ZTA!OM2dU0YU)NPwE<1Q{4ZuFWap3G)1>!+>;r*AkFO!z6
zSU|K9{RxT=CWs277F^L&Pq%1sk!haPYrB$oG+9zCMRbK~XPpBh*lvoBkUAn6BbG{w
zRc%D#<V(9CVMHH&>HgrQ*bBU-aXl{v(bKxWk-F8|e!}?M)`-Mr?qmrC{Yub2q^X1x
zJXV#8o~HhsD5_WSMP(mB{2%x96tWe(4_)gX&^o^$+SbPv&CaeC6qR%=tyap1>Aaq%
zP3&~uc&2)@3S}pz-oNrB#sux*kaP2FT2M)MS(@EuWUv$YrOZFbx|!6gExI{x!m!n`
z2AHx%G0H=Kw?R}spI38seT{}Esd^l*AgL2k3R2_DGD(f!b(+QHd{vX`Yj$rck$RZM
zC38vj@_mk0r80ey55O@W7;ThBUW(l#Y-8NMneNB3f|2RXOQj`_t(~0Tmg@e?C>96Y
zc$D_6ag;^=ME+yBO?w6Q%1=q(y_wzPl%%}C;;ps7fDnjKzzjY@PSW-Rgd>Wj1r$kc
zhl+0G9m{8fuXjhA@$%6)t>j80uTgbkg)%t$ovy#=S+WsOu2^E<(Vm`GSM*<Cfz&=_
zdfgp)JR0NKBbN$D<6<`EOnN6Jm@qlIK?fF1u_}6trASs$hWs%*otypzp?7zW>OA5Y
zt8AQpbegm$msCqDmt*=OA9wz>fQ`MBUNpchzZ#>|i|Uw5dKToAY-TY3R#{Jtqcrj+
z;~~-KndE{#=kNo`%USC2-h#J8yT211FRw(jOCz<D>tkb;-WK_Y*2o+AIN|Qtn^0l*
z_oa*<MAKl!t9p$7E9yj(h@U9p1y+~W4r2+b>Oq2*D}nKFVOn$)X-gb>`(5x_`cxu*
zr`LV%Za5*v)TVo-fHe3`Pf`0ijFL_GRxafdqD5IN$zs*B-?~SL9PJ8?ZXG8@kQ_t}
zNmZ)TvbrMW#8tG6)m3SFB^-<3lXMbp!y~Lw=KO`USD<;iz6{U0i_?@{@C|U;&UNb<
z(j<yAgwS!Iz&m<bx#Eg1$n(lLpe*v9k71{~W4<f=XLZk(rEfge-Q<5%g0@rX+$E%d
z8Sm~cO2bI@-dW=ORqgc|?#}ln#@5B_!|p<2SIPX;L<}+}?l;L7M=-9FDO&+L&v{EB
z9(3t!Qg~RD66h*NOfEgO>km0C*F6SX@(Ol3Z<f8+?#MIfdQlMLgxw?{wWGBg=@?mZ
zyX@-NxmftN-gI2|QxY562g(pZ^?|Vum=Hu~Swl=EVF|ht-nNT*;O$wA?Rv!lPtSG0
zY1Yuyc>$)DYxC)7PR6yXlqbeqpBQtpm77$jOs^Il`}Pa{g@k%sHk+Y3S-6$@v+Ry5
zh&wdFOGRz#6sPZ!)Z{in-A9Qe6@1k8W4qRy8C*!^bX`N=Vv%om1QfA8_Buu@ELs)w
z>8?Y#9ebSlWl<OP{ioRcE-iT1+E0u?l=ZCTI1--#ADCMZ{u6a3or_6C_vVqY3R+D<
zON>YcH&5>1Eu)hzg_PvHnsq>U?sgoO`f)&jVz^asb`#R`#;!p?Ea~_@3Vn!ld;^aY
zq@zpv!uWievhLz^(FN==a$>)rkZ4aj{kVxSS+y;8*!7_#q7R~MX?aW~L?6Z^@nqer
z2<AI^wi)8=S_@q<^??v+y4)B98^0$<8PE~JJ*7@Oh*^Ggq0&l9?UMYi=t9xdl$fsE
zdFwx;joO^D8!z9DqO{g$I=`BxxG7z=^VaJ`0~Ke)<icWYm&>PDSEw{BEvgi%n*ZBR
z<`Ug`%l*>4RqxUz4cz*$RAg^i<k_;wOZ|&fzv<q*VX_<pqvKGTtt|3dG@l~Vt=P(r
zr37Xv(S3WOYVkVqt}pVwV$`na@7clD(=I(lY2=+UI<@Fkl$BYN@3XYe{xl)WRTg=-
za{wj(BPg@0Le>M27?e61K6V~0TI}3A-=m;Ev=r!@&RgVD>j-&@v&u3U1iBxS(GkA;
z)D)Erd=0$+#=tk0P7l{z#vu|o9{pGvK+m!X%=@xihZ_M)(n^_!qsT_|w@kF?x_dc#
z8}^1`uyh$ovL2vJrpMqU>Wwi+>{eDPRfyre+2aI}(#djzZW0vKvw2i(9twvFQ?Yof
zBJwJB1q{&R)4dM&jvNw*ErV<fgk?hnN*2VtmQ=kXLMl?E>*5`oU?oeNdc|7tI&WDD
z!A!IlgtMV#g(=k2uUZl!+b19c3WQD(HtA_&4Tz*5Qb~J86etydwIYPd5)7Kp9<9de
z;DOzpG1=RWyqCwO(hR7WUdG^V^s88QcT)Fgy`74QQtbAtN46#3?`WHD=WOX=Ijz&<
z8|Y{spr5e@&otWDB}x;ic6K0^#YR)K<$gBGNkdafibhoobbhPXS;7X0y$;=b#pIKB
zV!*~WLl*pMjqG!jqG_!0`rtSxb{b_-f^Id1s0&e{&z8!fXW#AIbQ+Rp7gma(Y(!P!
zACk01l9Hb|Ns5}CHYF2@uXv)~b5)9BL~JFUHs497yV_I+dua%_j;02rVrWsq_2)zZ
zoY2$#5TVK1smdagTGCl4Z5nyTG1zg<r}WYRO63#4$a&K?lOcR{%wscFkpfAvC*%go
z3g)s!EX3Y>8HGv;D?}oQ<BeScHDb*6qO9)Wr7c%6QP4v**F4ldH=KVp!@#1j*^r5+
zy`ZG;)2UgR7Ws`Ya-i>%l!E^2&T{W9Qqzz?nxs87%0woHvp>UI^JZDk*?0MR@_yL)
z%EWN3r~7k{nS_!htOdzgzjYsul@&ba?Cijgubx_ZjxAN(w6#Yqs~kSUm~G5HEW46!
z?{O=5@b})Vel7*M>$oSvF}D5T3uNBDf3nuM*v_Q||KaScrV7O#+Qw7xBNZk2uF|X{
z*1UaD8XCQ80b#7k++ABrB9~++wVZ_~pZ*+v{?}V`DR-o}Sv(rYT}ED(hE5U7k9q&z
z<j$QY9--6p&0cTF!^l57A2A#|xr4*vpx)2kol-#yi#*BobJj^*hGcVPv-}0zWs`~R
zWcS~y#S9$oPWd9?2@rluMcD+a2A9jQmz5cMW6CFN#bLR|$5nz!MBuvvUq`^vNCUs+
zJV>Ve9lw&e(X>U#LCOJwi+=RhJjn`1ghFxmySmYc>x|ANrrdA%5P{^z(SzJ`s!+_5
z%ivBd$RFPS6Q2FQ(tKCzjXUVbj2ly0bwn<xAx&%lGR1p{GC@W)Z{>S^<2QoX7strm
zRD;F<e6{X7l#d%m`)FgGACI|iE>~ym#%lD|@JY60b$!u#t{v>0H-KkSX(ahT8_l1k
zBhvl^uYvUMN{%#%%>LPt-#sci=<uJ^n%THbUzF1K#YRN-d;4A<5xqucnW&31I_LdZ
zQj4q@9cdjG-tOf%Iw6JUETtvf|De<3Uf$du2g&v<7$bM@joSoo=z&sho?@lXV5~HY
z)uNBM*6@IL<43X%w(e#wuwnK$eGP&7dz9Sk`zYibeYl`={pc~*j#u1^J$#Bxddfon
zL$q41aTv|!fk*G4YUYg+O1<6V4tgVJ<Hm+rVzn4vD2)D)K+1zUy#qN(VDRAisqXch
zHj`r&e5NLGeY4xsouN*WaKc7V7A-J!y)0}NJayeGUUr@_o=Y$I>bPsCcx(2e#qo-S
zJ2N6*CA}!wTBmvFEV_h$vR9tv)#wzZFLw*8pOc<lop$S~m=N#UkHc=nR<@eNB<!%X
z`|nARH<uERd(d(){HM25T9Td4*)qN@z*7<&{x&dN!!+jEDAfpGw~8=6?vy)EbUMU*
z8Cif`S9X&ClQ>xiRBd(cOwrY~w)mk;N)TNsq>;m8B)5AxCfmFltX#@Rw|(0dye_;3
z($D*aEqGmaK0W1`(9=d<{f|+fL)J^VyS22&pXRN(k|pb3`#8{6@WzJEabz~~l&|Iu
zb_A5x9C3Fq8C}$~Y6>UYs>WS2g35?WZ)4x1`8E`m_E5l@UFh3RU%{V4Uu2nyn-9=d
zS;ttOJd-UcNy2A_7)JCir_4C)D(flBDC=35v7~46-M*e_50n+W?Ck6$0F}rQTwmwj
zGviSUJ}K>)redp|0Hw~N=-_z6$5J(sLzk3vpCYT`%s_<u$(=7u(^WH{o#g2*kkwVh
zNS4cYmO40V+v|()spR9bf6H6&dhq#$k>sg5rQm~`Ubyaaa)z}7at!9Q!(+P_9A{%W
zH&BL;MyilAie<@}eJkeR{)PDYKpF;Li0nMVblVQn>H8S5ct5-p4Y@KR62nmYApUsv
zpGv(v{juB%H(R8eZ&QEpmtBtV8+=w+W~6;ecK09x&aN#g3iCSeM~kS1r$3fsk_lqJ
zMd|P8NHG_!)XwRgx16H}Np1gvtla=MkZ$}O1^O-9o+6JAqkoh(9vLOgjZ$XwRd@OI
z@7f|G^q%yQm15KO^6B2R>!Ss#`V~E!<NzL)ZactA&&vM>%veg=vRRchJh5}$;jcjh
zClEwS^^E^3PXp=gKjUJ<k13rMiS3SBthfwL^)Fvh=I6XjNhY!|&AXRL5~%tym#R&`
zPkv-BDa6~m_1O(w3nm*eBG2*}&B$-u7`thGe@$_tmd82%?CH6Rb^6`$75m++*gMFd
zofL}C-y><x{$_AaGtJxgC+hCQoJ0Dw?(Y~1`f5Crxt%IJIir--{LVj4baq`&6!$Mp
z{&E03=a4(=b+H4wM@C|@Q$tLP!%QbX%?dahGrBK3e)#p$f+vG7ah;Qoy=iBPji4Kg
zuVBBr{DLmhTK{(z^+nP~v4LWQJM#OINOPKO-YA0HQgsiL+<*3EOB8oucRU&To%{{H
z*Z;JfPvbtYZeN-^tFLXgv_j}ZJNIR<xquA@l}Q=>V}wrGcyNYnCh)TB!qa`Kr(i<3
zpO1^XJNL7YAXijb`gACNC3U6Ax#j+F7T+>iMy=4vSh@80Fk6yOVZYL88U0KEtMdz-
z@a$YJq2hVvdJ0_O*PPeOm)o~=FCHCjXE3FYtaOQfiL|4y7cdNKMrZgl9ukvJYJ(4o
zZP-M&%)#ZJ#!hY<!Y=7f=HN#1SZn7BUz`~us+FeiW(Ni<p3rlq+QkwLvOzEE?Fm_T
zS#tesX;15GY@kW<7Q7E{elFU|3*&u`-DN$=>?vX&eoRh>cRs|MxV&*8G^wi%GuBR-
z;^R6imCc92|L}Ic?I_K9+uQltabHhzK9j|5XAYVi-Q}p3D9a76JJ4M3lteD2a`&n3
zbFfm;508<l;f%<q-chfQiSV;Op2>oktOE_EM}J+w#Dm4Y@XxR#(j;vE541kZ>Gg>?
z7rc)eJ-VnTIZs_vH5gy)#TqxfzBI$vbN2O~?#qwEq~mVqubzlJ^^i$YogYkev!OZb
zm?x6dIgonoHJ+X&@B0eg4OMnmaBac<aD^vpKdbigCB=Q7$bOOfzQb>UjX8Sw6|BNz
z%m5r^qv8?MS8yQ2Nux#Y5dtflowMxIQ2RoVXv==fIn+5YwrwTp#bYIg*`hA-<Sp7M
z>%+s*cpxEY6z43DxerHsmZUQcdH5C2n4O7nmAuIIg2?`yLx+#Vqb7#2?{88XikmfL
z8UaDr8+}I2<m^mP%GeIi$$l$$WPe{QO>G8ta_P!G_r`q&*G{k_T&8%PCHvT&!oh=P
zDE_m@`N%HePLvhBaJpizhmYrF^&S2L-s}`V9OIL+^6_w`4?CY@JH#btM~c{=bEs_*
zpHy^jjOHS#&R><@l-747#S<CX`OZZ46QIctY9Z2m+^<sjv)lQ|e&P$ad)y|eG5R<Z
z{&{gvSJJPU^@@z#F^f9(WcBg^%ZHIWHQv6&;e7Da%@eu~g->xlc#5^3uFoMJZEp{|
zPfmIX<QMYNta~7s=Ag6nW$p7791Nv&<Qr{ou=Oq;ONBou;Z>h&pexy~)*BvMSJXMz
zZM40e7+CI$>rRO*LH4^1D+!((hCTZdpKbe=cJVR=^Kw_X^C8wGxUbiGT$_$avJ`~@
zi@o}7=Ae{Z5dOy!0PR7w(zN@IB{%fSVP~wz=y}W<Z(NjNbPz(BzHxn!kRSV#67#D*
zS$=JHej95t2Ckzo-5;GJ;j++HA161wpfX$}rXydMdM<@G-6<b(*e$M)h1oZz{7Jmj
zfKTPm7u-FB#hmR)^Rc}nna@92bZ$}i5l8mbG1tXP73;mdZD-3t17qFF%@dS}5Ri+9
zZGA7BP5D%PsdZsqy<0Z~*28iRF|IF#SnfDwE?yywf=uiS3WYq6W?rNe;d&tY8X~&a
zxPTx#=>O%51S=>&heWZ)r!Iyc3<u=o;Z*jgag$dxL>$^#tw{GTP$eH?opX6r^dd>%
zPLi;09~{yjx!5epSG7o~lu6nwNnua)0zg^!w8>0tvc~U~`***@>QI{*Q^wStUdJw<
zV^7Cd2Mm3GOy}+-U%^|UHm-SG#!A75@{Kk&1nfl5GI9B&Z|@!{gw^#55q8&W^>00m
zlc)Ai9OPfkLAA)?b3EIzA$h71p3eyh7JU<vjz!m4NgwY2-j=e+w8{P78`Q_Xy~&e>
zPqMhu-(9yw!A^U2g!>z%!o6NOE5_y0Op&5&IJt_ccp-Y9-J-Nyx7;fMFZkSQ7a{Hj
z?|ek<XmYGwCnuY}kB@9#Y1cFGa(`nh_x}Ds)nlbP(j~i9+I_MbWL*Qz%BJa7XU933
zhXBa74cV5|0r;iNmJXzESMi-)xAUZSKv8R6zEY^{qOQpucq4vgod2qejIw3V3PAr}
z7dZu8V#OHb$L7k(^Q>%TyZKx@W0_tz`#b8k*dCe^XtPBYdNo}cimtYvsH{XK$YuZ6
zAjQ4ev4iRu=w}4wfrFLWmMj#-Cc|VoIWb=(bv_64L{zy5M8s{U@SEk(p8zrAJuEP0
zvVT{a1mEpjb)(p@*xJ7<b(TCCEg=gf#f5qz$Zl^#<hhU`_e3I+5r>g|@-3mm<jCl1
zZ*-B)PGE$AE&DZlVJP?LC^7gMco~C<mXe$|8Emwj(|?I2pS-`5rNAWY8m|N8b{aNK
zXgWs-A@&%@Q<<k1(#^80X!N^`3K01xB*<8*YLs{H2-1Zf8FFaS<u=7ZeZl6t$Xjy8
zaXuL<R`px=D&7fY<S7}II$kFuzAvRRlHtdNRz}bFZzER!)`S@Y&3&(MpW?&mT`JXR
z1$4l5st9hspy_9*($8H;!gD$BF&}0<&mySY1aMeJEuuHnC6Mv{XJE>e_cQIp_hUW{
z2KD>l@M`Tp9A2;eZ~6=>zMh;9w!9BadHz0&{|7YurG`Jy@LL+*q~X;XUa8@iG`vK^
zIT~J|;aM7{YWUGME5Fw@d|tx?8vatlA87b34R6x$Y7MW{@JkwAqTw73FVOHT1qaJp
zq~+p22krPn=5IE>u|jEqU(+z6MR&?N=qHZrvM?gDRwC^Td1$mXN=Xl-A7Vm}_Hq1t
zK%_5rKpIZ>!qFZ1*=?yE?GDawzQ%$Pao=2F#|=MjhdAe^LXLQbSIrHFSIn&oSLPg=
z+r}ph=dK9*Fx^V9O1{@B4Y4;|fQplE>aMpxUi>91--oSyqlYi#%HEeyu(6mdsj^L(
z7ts%k1_snbY3!e%YwlEL3g|<8td~b`LpP`*V2gFULidw5N;;PjR<dPNRdJ#lBw0=z
z4a9CES@&P|IGtT>SZOj1n@=ti30LHNFwNx~*c0t0x3Ypi@l_aRY%xosSK}dDTJoch
zqb8J%Gmw7w1fugb*wHcx(}n-Q9uJpD_T0f16q(KKPTmXiWCE@*{+;C}iPMw*@p%B4
zd<C|Lw_Coba#O$|oAQ1=*R$?40{mzOW=+DEJ9QmRCwhtVQ9i7g{<4)s^n0@?Q<-Gh
zowBfnWxodLU%FF@1^=>z&k+0q3!f^u?Drwe`GR{<*<!!6SCG)H^3a`f4lmTuWiD%i
zYDFq`tCEM5Wc$q|c_Z4spM7L0Z#L@)W5t_p)9Cl({jB939;Ln^roL&_Z-;ytX|noW
zY<&Gb=CtzvjveR`5xGPC>7;d&?RP(Z)`2LIq}Yq(#_Ow2%xX1W{mh!BEIIL=N8Y)4
zH}k}IF3Zc=HQ&lzKF~Gp#9(9WU}p$Ha8%d`L7m8-w{u<tuQ3@vqH5e7#}~Hc3X^NT
zE<I+L35oF+O+m2EEo2R0-$3jWLUml@SjgReJ>v`I%_!cKc2Al6ITEA0ESK1S>Xg`R
z{+wPm)A5-#sl~`gsy8F&^kYq8(9*OfX>l1~%qrGtPr5;p2wb#nCYAgivKl^HNwIt2
z899b;8CQ`HnHGqC#N3=BrAM;7|29mWPB~y!@cwo7*TTO~x+MBImZwOuG|AGMzo;`P
zmvonYa4cHPYR)Cy<35mCn8%~Dc!D7vjf7(Yjh*4NU3e-UO3I#<XW<=x*bwpzmmv<M
zFO|1atd$_K>9o~>JwgOWb-r*O1XyKc!6yA$i;n1>xmpv*GEVxpweR)##=??A%^vHR
zO!v6G(Yv{JtF(Lk`&S8v9#>bnluMY-c`>}Gw<4azgcQa*A3W$Dcv_al*|fzJ#rT(D
zryE{X&nNA#rx34O?dMjd8Euy)ww^aVoE<FK9cNwRI0E;i%h7VB0MHs-;lG$7Dx<ta
z(z+9NldHEoZLeEYrL#*`l4ILNuDVmMhdxoHse^5x<C-KRJW*GAs+Gg_Ru0k597xP2
zK7??p4-K{93?1?aZ53KJSt0wMk%gjZyD2@{B=1Gv%|Nxu{*ym)no1rSXC7ecXm7Lz
zkJ89T4?+Eacg#)>AcgGgyRAgaboR-T{aK1~)F-)J!Hd$K)m*aj>hb6v*_$IG+crTf
z)l!Kb+1+2H)Ggs%gpYoQa0EKtl3CRe45Xi{gPvgr9Ys(^cu|AUq#=ViyOVjJCMv@e
zq2Lc%FdAHtb{%phv!!V&js)mVDZEl~nD#F(MeXwqSC2BzhxA-qNtE;+)aji`dOO&0
zG7y_VJWEiv^Da7ft~zlUo(^%bdud)`cuPaSTi%|-+v1+I**t$;o<GNPEI=q#EMFvM
zwa(JWE72+zzGGq4KKUxlrsXJ0RjWy=-%*PE&eHC@y$tJjt7>Ev?{(iaa&ESB(>|Fr
z9pEm)ccQCF1}KA(JJdAQ?wAY*{^^4cnK5E*hZ~Hd$%NrkYI54}Dd#PB@Y;P-<zk2X
zCePv|?n64rk%%$t_z1(J2m3GL`MW%)tV`*9eR=<Q9v@SWqdQ-p?R@l5zpXY}rI+eS
zf9s1<#eK1QC}OYSU{byP6M43iimIdvt)za{86~M+rYgql+*~={@DB9FWGUUPW;$cv
z6`Acxzn7GyfCJQml3dzJ+xc4B-=$eHrXW~{ML@KEIu*8GD(u>1;!8!l)i^ZgQ1n$v
zLiPBs*qG|3N^6cr_u)e}>|l$^4kINYb|vw-O7@ZLj^1v^;_OFsje77*=C*y$C=Ob)
zl}MV^EiCjap+qU}fDEn}J{p={)@`Xa6^8G+h#u0C`|>2kx#+)f=ix)o5TSpvd*G?C
zE#wnK@${tsR)>m6D5`NF`qH1_)W+jRp<!HW2mS+X60s)yV><jw2~RT^=;!uu_%!|?
zFKAN60H2UBjM3ptyr&q)1}5@+bYNmQBU)V`TuOPn&hC-ncY1$D^b*VexA=>yig*7#
z<2R6IbgK3Gp!J#wgCyw~VyczFKxH4sOEpK7M^Cy>Q~A?rR2t<Oi0vm9RF+AKzsr{z
zk42~OM%`@}*&|Akn^a(ccVKtyp9OZOjMo%#;!?Vs?v!bkN86~J-dMXNDE|HL(#Px^
znb^mCaIU=Ti{_F2V9)ch_C05aZ<;1`^bp?+?fdT3#1u}`zAp~(9jATw4DlVUeYX$s
zP13&K8seL&eY=MEUZ8!OPwKnkq`pN%d}rwtrVa7ENc)~X#MiBTjUm1lYv0!|NaVvp
z?fcA0eIFg->(OEFAL3i2eQz7$>(#y+hWIYgzI8)<uhqWgLwujnzH^577HAzZd5CY5
z_Wc~bvB`*>);(*{FVct$5#)c?VP0oPPs||94rz1p6<f@?!RbOiKq0euvCn4?Zg%3C
zpz3$@4MPrz#(%bd+~a>KLYF(_my|qmbn@tN6Gl(SFejL<LbGsnM`8d+(um}gk)uZ2
z@M7aR>SFMh0xEp`;n@zwPxH;c%~#>`U~KCv$cfLx-xu;yzV_04v6YX6#iWn_R<B4J
zQjg}dL-ThHdoCRI+^e6<H8g)~#dm2~s9`+A|BoXj!C*^pj#&{1x3!uz^$o3Noxh<m
zP&?gR*b+8tT51F46jy$Gs-XiGx3o3Zn$5fm2K=>F3<)(o9%4bGKU8lvgjArm=Ejzq
zs{*xVW^rZdQgfb4EGr(i*x!7<PN}$j8A+~b2!#Vdv!&S#*ONqRuw_lq-_(Rxb)d%I
z77CaRVM)8GArxw8UZaSZu`bv^q`;b)xx*3;1;S=EbY9ik($E|Z{oha4Q(UnWrr0c~
z4k!ZRxq1S1{<g+&aZ7Vu!<x2WVDZw5N_S{sxo?SC+Y+!ivaTg~mASUTPXPmo<*TOz
z(@nFyG2o|^p+G<ds0}o=n3Gys!woIX)$7B7(4<tOxTUGd-&|`pG@F6;Kuw#xGu+jo
zaL`{9Htn~|nnP`^tu4WDpw=iMm`cKq0Oy8BFv^21HGxp5C8#Q{-rq>f=|)jo$W&Et
zl>1@xdb6k@Y%GEHp!QxMB{roBq&}LUH@M!+^pv@aDk_({iz_SaN;fm7gtAOe87!$>
zRxwA5)vq%K20p?)i+c$d#l3^m;<l{$s^*q;&8CoJHYsVWRVu6c%z=TYa2K34Ft7^u
zSDg4+<RCw~E|wytMKCVaIN2Mozp-w4OOPaozg;deb@GVn)u+c)IW{!=gX@bLTdGM}
zwFkQ)q#DcXTN(q|s;LEn)OB2Xmiv+II{06wVg#gR(yUZ?vsjvDiG-(yYXh(kqL)>a
zES<5`Q@+$Rg`autGvrUI;c-{Gb7sh2*AV~ZOUsw$%#gn)`p;DUxkJKRq*pXtt@1Ok
zDoQn$&djYUsqihVTDI8d^W;cy(GEksRVpWX&$L79%3Yu|jTvq+*U(TEM`{CMJVTl%
zaj~ivEn@l+0ZYClQ*(wTfg}nmRFZ!?e5T^4h+{1psIs96wbarUCT=t8L!@_Eb9JzR
zjLP7!w6o^sK#jC6GZgj*MZQyw8B=OuvXm{JfEf<1m)Mk}%}OBED6{CKO@(z5iojGu
z)veL!Z)>ih4H?xfE#bx%e=Vrh$PIK{&_L%|C7MHR+uBB$R1Y0A{JItdW4OqQ;E6Ds
zwA8Sfb7BA`xc`|D=+ohu3`=9C&H0vAgjuP8bq(Qqb4gL<qLP(M_1nZ!SPj9Hf}`au
z_GSu4sgnhz?h0>}j;r+sYD20^i_CBhD`ie#@_(b2UC`2oj$K~tHA@?suYxx9TvAa!
zGq)nwBv0Kj*>4tmi?b!9D{tsqP559nHZ-Fu{f#s#)8D+_jBDwH&H(uz3{NLU*G&Hv
z2-f*)q@(rOxYcdPnX@>6M7IV5bq(zzkJ<E@sFMI4mg+F<Ry7AXx3sE$VNR)ur%|JN
zWF_zBLQfG@6kHn!rW)WC3N@FuH8-oKP#Fj|q30USS}K9A%Q6;di=IGr+Ztku{b1!x
zH~E#e21v;@Tm1-kfWm~Pnf}2ZUph3uxz^v<CMC2|P+DPl3OR!*Bql(lCCve|rA~F5
zbuEpJE$g6iPU;v>nNozN{<+#+dA4Uxg6AypEMBs>a_N#%%iGnS;}TD+!-_}G$q`Sl
zdugR_@q#7Fn~=HUY4>@>6?o%$p_OJ?nR~G(p62YtknUxbOC)5zc$P0+vao2`0+&uR
zSLLofEmB?Wxhi+<nQMnsxogjvw&%=*H1ljvRdyY6mhGv^u01cbJr(iVbGGfNh%YWL
zqQ}u*vx`+B7c5Nh@`zW3*R#CX@^-b)<}!?>B@2BOl_g8*GIHCku3(zd-IoQLYw7lE
zY1Fb3qIsBDG;K(jel<)=>-}pHZd9V_uS1|L!4RabA<$^|33KAMVjXs^>R+=(d+K(n
zI}{~&N=gHvu=ENdNkM<}8v223W2&*P+Kyl~5Y%0>>TO6-lASa~EHg`425An`{%Qkj
z8)}FzI*M|d%6>~VQVr2|b4);PyJ;s|A84nIx012wFtLhJ5o<7mTT}@{upk&jT{f;C
zq`ioAiI-{w<J1kR4MpLU!8Y$}ri=~rcy)EsGQ}8+Ghu-g!8c=xsR}Tdfv?HG#$s8q
zcV_NoF4s)xX)zo9LA))!Y@U1Wxr6Bpu>~6>Hi=oOtizxR2by_a7Q$burMaP|z7dsa
zUQU9cFQ*!&*z_1jjRAsEtN5Bt{`KfFk$~!k=0NQ<vtc@Ra`sGglG%jm*^rG!fm;%m
zx?yBO7Q8o0n*G%jYv%Nsmx;$L+hdk`44a;Y(2xLiaUUy0n^}x44i$|ee~g1Hvka}e
z-fV4I2Ys;8%=9;gs3JsF_x*6y%&s<<22>BHB?)U0JHyNl;2&yhBCTLclQL?>*KdbL
z$+wtxST`duQTvvUDc!217E}pKG!M3c9%z^{(lGrYQ^p$duJ$DFB#gXkFe~a?)>-zJ
zm=fX_GB2-HTH79iec8NRwF#+}?4}dmif^S^Y4-q2nj6=P*TO-ssnUIjU%AbA)eZ(b
zYkAii=lMxqt}`#E%CVzOB}vj0M2G^A=C7>{GFF*J8>``Eqlx-(wNDdE4E>((Qa?p{
z(7YV3NxMo+izIZz{~IZhVmvAH@(>;N$?`LEE}WU4CwZCXVywM6O2rIKJpiTaTiPr!
z!Gb?uiPHJz`L-PhI%o;<VA+Bo^p)qM2W!m`&0rEwQ>9m$r1EHJrkidS4MWxoWZXbA
zZl-e`npw6A9Q3a<Gig++$IcRdO;!G)cQPBAX@-F;)o?0hc+Kck2c2$K%0Rqq8S+Il
zltC+_6V=|3<L2;m(@g`IhIrCUEVIFHuBolI>;_Vd+dtNz_53NJ^Jyv#O|6Xqi7z(z
z34?v2U4L+3pbB@3hJyb??&*PnKkBgG0zVBW@tlYLe*E9-uy#HY=h1|G&t!?fe)nl`
z5otW3<6H}V9Q;20{M7H5%{n|ZjoO6g2X+2y$mc)E`&-2OiH_U+EMwgZ=FgumJ&82{
zSultWPC{vRH#Stag{rH>)~u>&fz9pV%q(<AxGjhhRlTkbStH{M>2Itqt)|{oD%tA1
z%uJn-yd(iVc9M=~Sw)e##4`G+K>oL`Y06$#Q=cu-1Ji5fK&RD3@Q$8qtpN<t(_0du
zQ0XPb!nS*U>6GFfqZS>pBdu|Tw0%-qgGdHMCo{EFADnKM`PU<u>zFe^KQcFkzDB!I
z)L;WsE;6lhF@5k-877)@jE&<R1IEUYqesXjF+XGDScgMAlHwlV*1G|t0(ynW__&Vf
z&M}6k1yeK8Z>*#{PX3IMKdJI(g#2+BQog~_f;6sT@2tE66RSETL(3_((`Ed6vS4(%
zGhMU)!H~Ih&VM(}QtGDY9}8A8JeWOb7)GhGVlpqIJ5(j1``b7!X$&kK??^I~C<SC9
zW17q=)eA2XM;TTlg(!3-EOg~+dZTiEt4uVwW@6GPgF{O1VXPpb8DO}zQE#?1)@Cae
znysdUWX=QumGNhb7#Q&}s~S3`Qj0Qz3bob9{1)_`LM<gqznbup!G^LVP-5XWf~iro
zkYr}MkxEy)l+-G%Qi;^0Xu}$RtG`Aj#>7UzI%zf+6~P1*d)YFdviqe_x$W71{}1sN
zH2Se*tlvrF4WX<E%1)9jg&ZkjorF+&;g;|n%IGr#*dd9(`i9!+wT+F2x1rWkwJ;EN
zhiNy}ZOk;ry%_f~UR~VQR2>Lb@V0qP{8gF1xs5?7TIGaS$b4;EO*k<E^{^lSbAy3+
z0>htu&9%&F)+WY+sPbTdstE;ZJ^rxYin|~f2%O+uE+r`Tw`$tS52}4)RTs6@)zRP#
zug_CV{}nRMYig*ng`ikZs8*{$W(&=z4jmHjyJRL@39+b<b@f>OqQ``%aL=r>iUf0I
zwso+_8=N0fvsc+-yGWc1^M)j>N6nT+$n=69Rrnj%v`m-$E>|KK|AV0+<me%jO}RDv
zC@C&oB*Lz;LE=&RfuIb~Yt;0a=;#J%A6oX+bb%Twh0HljJ5~8x8yn|@YMWg0CrAF|
z&S|M_SSx0gnKQ@5zx+8fmD!M+SLVH1#_4rxI-{kTfwr9ly+qtF4Vmup(o%f#@?A{W
z<$>kMxHivaUSMWcc*=6ILjXB5GIOuU&$1p|@{n_(JmqB(E0bvhLND?7E}NR0WoBK(
z@Df1?)dy&^bS+dL^&!oX8Nz1F5;OrSfd*O~2(JrJUo%}UWkt<$xuAP`YJAvbE48&G
zKoq+pl5tbW$YtnPW7Hcn!P@zkZL}I|j3(e(!=)RM=H)-o-&zrL_+mB9B6IA)gt=`s
zbvA6_W3ax6gAO%o7+=y6hGbnu#BFfMhlQ(@s`U!RK)*8hwy^<Css@xgs<FJnT_F>j
zh>Er7qXrq4s9Ui$wF&)Ke1=WWTfu+5W&>H$Cg{rCOBeeVFT@az&+jrRr3}J&X!u(x
zGHuJE#gA5|ZPcujz1Y*-!qCWHyHwV85@yPf<Y8Qj3-w@mPf+NpFi@b#w1)$<&1#ug
zwoEEr-bx0!EU_@~B(z>UN;Oc8ekN^ejU1yQzO+*AmuiqH@_BWPIxhOk3iQkz%lyx7
z^0&^B{H7Yk#-+tMMqOpSJo*@P8BIAxDB-cu7#7hmmMk(9i)c*Yi;cAcF1o1ZqKoj&
zhjC_(%UHH}(c&e`7n|ko;zcEuQfGQ#uk-~|4JD?_Wn8qBwUNsP-ObAeaq)jZzdN&H
z&_7C;TQ9Yq6XQ1yi|Z%txA99N4com!y!UYSv%n9Bg%Q86liyTYljgcLWT+6iHrFwh
zrCYCQsBWZZZEQjJry7lOFK%yYwC$34lX9lJCS5##?zx^N#g!||OZ4J^aNR6lR#fUM
zHYZJ;F~jFsY_4f;o8A&!Gh>FQ(xU{d%$lDsBj{x$Gh;@{;z{PD`f#{)&WstMmbPF`
zV4a@@If=w*MqKt_rB1I6*G`&0chF<LY3e64jKwf-lCn-FSp%YZlNd<q-z1YE+L~~^
z_~qd@iI~J~4T}AO5h263d6QI!Ap_1y^DoSsJHvh}xy-OKJt0Geh6&l_o+LX)#eX-q
zoReo}=PIn7pJ+W8#*uYH*Vl)><!P(69zR;cxy!BR{4GP*=}(BKJ>0=HYMjZmSd(8?
zJjIw~eQ`;d+qXE&h`*MZqc$d{#1hM7eTsMLw?ud5)?}U?eaU4dOBa+bS)QfrG^`sF
z5o3M0jv1&m%?))8Oz6~L_?4F~si;sXRknmbHB@Chlwnk25~A#6O;ij-6iJBriAJ$?
z)oQWQglgEExook=ro!%qROuAmRZV_bWDRDDffo|vZAvI}${Hq2*JPPyCc_)1XXf#M
zId}g`)<ALZtr!^C0K6G@7p@Uk24B`?ue&hM47N3gS@Tj_853-dWe2*gnG|zMEB%nH
zP+OBN*?MWlFwM&v=pp=#m$n740<=mOiyK{|W;8{6>RA+0(bYB>kG?|;csr)*;*`yU
zLEUZ;&MtdvD9~2h0`o9dlqD|<BH@;rmUxRNOZq$O_qXCzvyLjQCo#NGi}#6{i0*G4
zGULlM60?Z`WkpSCWimx(lf`lqbKjaMp3-U)(t8DaQHHrD{Tu}fz6fXYC9}D$u@Q;N
zG@6Yzqmh3iUW@&US=C|doN?z3Y+$<Ha@7$FUcK3ZU(-<Dr}C~uzyAqwp3?F96XM(H
z{Ac0l8?F4dYxo*4gS>q@|A)G)_mb|>1blctdo+EC{w}uMCqADHAI0T5;(rJ5e!^c#
zndah>ag)hU{I=+H{)uM~t{Nw4|5^J>{NE8@!X@Tu<Ki!M0@uZYU9YOZHtLLH7yFA_
zYQBHtp^JaIZ*_O(O?xi>c>Q<FPxBnUIQgS%zI}T3?Q?U#v~Za`OB!;#-hz`0EjU`k
zvo%c9(0a??jyR@}BRc+2UwM-KRA=I@k%v$H4bOjNp$b}fs|7djvf!1+6zu4l?w0ol
zPpwg~>$l%jF!1YN3pA^?CKUmrYrV4t-gEm|O~ArG-sQRnxaFM3A9)s-ci#I~jVm@f
zj?7-a%Ux`2eQwk8ytT!~zQt>r`u?@pnD@2SudaBxxbWtmw}0W^(mmyGzw+#>XD#yF
z_M5ViPaW;>kgobY5_#^MKRI;Q+?n6M|2JR!i?3kb_uun;;@p<|?Qh=v)aYMcKBc(j
zhqaj__u0+fjy4E&{%16&{QT!TzP{l74=;|5Sdw3s`vupB-gVc1Y3^g8>wdo^z0E<4
zBppj|`&U@*7_wh%%h93z+16pt#<2Zt9W#c;AO2i;&d~SdJ0w42)6jm<9QIr|?74jS
zv+hsr^5hSD&KvgZ8uq+p*z<&8&l$s>d%rlWJj43&3B#T<hCOEvdoCQ7e#bC=cMN-P
zUN@9~9qmJ(&0*me78lPkGnWR|=1en-+8XGVS-vT&Sjieb-OH8qOj(Rbr{_+0SseT<
z{Ac|6OddXKFQ4g$&-CGE{l#bf<Ns-Uz_#1|AA=JN!+{ekY65UN$NZDQUBLCYao`=m
z2ht294SYNB*SJjZgTOa&Uht#9WIni34?Y2SHm()i1fGivgS&w5;M&0j{*W)IYz7y&
z19v;Pz~^yyf(tx&22)7j0-w$x4!FQt21Pr-1%80r2QKijvkc=oaDlJkUIiC;^z(-C
z2Drc@Uoebg-~wMg2fE!31!EH_Be=jrreRD57x?hGjCQ~UzBh@ZsNe!G;^ff^aDj4m
zdo{Sg;CYlCT;QgueDMKXVAnLt2rlsY>CD@J3w#r|16<%0Ge`?uU;{SkL2!X9atz}|
zaDlsW8JvL&d^XQ8j)Mz)W)>Hp6*&|<4t_Scz;Hfg0T=j%0>hXFF7S?v3?m<WEAV@`
zT5y58arNK=$IYcI-~un_*kU`lz((c)Zw43G#OQS^xWL;B4P!gFz}>iBaDh|Y)DgJA
zD{;?&3;Z|Si{Ju3!MzGDa4sXvH^2pc755&vz!w)#UT}dAda18shk{r6C>MAu@HSjN
zxWJ#`=7I}+23H6!aKa_jBe=j^TsgSF^|%$_0^h`~1{ZkNB6tEW@PSfz0xmG?Qg{L`
zFo@d%E^y~k!?+7vU?F$s{19AVdZl4J0xodsGH3!9n2(Es3oOCC0WL6%I|?q)aT#R?
z7nrh~6Qmx8f~DYmdeIPgGtLATIDpFp7wBDq41)_?xe}Vd1%_}dzy*E_$5(h1^j}VS
z!3DmH+W;<b$|~{z7q|j<JGj7a;O+t!_&n}@aDgMfOdWs=oQ!(}T;Lkq<KO~+fctlF
zfp6lT0T<}Hg8Bv*I1BeGxWKPe!7K0%U?=W9aDk8Fj)4pO1ZR{WOTY(K!z*xs@8UAR
z1%BQSufPSSSHmlC6Ig<CfeXA6mj^EJMO;3(z`x?W-~vl(kRJ&TT!UKyE^rHOHMqc+
zYT+li!2AI611|7dTsyeH9k>nP0<Wn<Uw{kj#@!As@HO0>-~!*nZ3P#2^%}#t7hGT;
zZacWZzv3PN7dXA1HV7{82<{-b!1)c74P4+)uY|YY0#mPopWp)JVu$1f4h2tdr2T*k
z+=9yh7kC>k6I|dv+%#~3TZ8ZrT;MNprQiZv!tf1T;Mr@@Ki~q-#kGP9JP#KJ7dREy
z4lZySZUgv1VCp(1)W9bIuf}Z#?*M)mcRTo2;P-HMf^P@Dgu4rzwF|@F4&T6Afg#*>
zaOM<@_VviE;J{AYzk_c9euz5=Zd`2`)n65TL|ot#*TOgOgTT*SXBfsp=mDOM8x799
zg|VXpeG1+SbZw-~f(!gEZZh~*;JMfHPW*wBI?-K%16ScZ;H!b#ab9qNWnJ(Syc~EC
zw*p+?s7=HHp8)K{tp?u$+=Hu?Fu;{JAd}#$f#=<bP6uxV{utK^-V1yaw*mYp@Wsu@
zB=`~F><D@Qyb$>0P4F4~ATaG_bRD<}T!Y&I-U>|Wp}m7o0RG}@@DscjSbPWV8oV6%
zoo}Guz_$X|e+wD&!hc}tKhsXZ%Ykp>rhy*?K6Mvu3H%_?`yKcrVSxSjAXgFw_=_J=
zUhrPv2e=L3#sffH7kCHo`?xLO+kw-!Qx<R+aP&UP0zLtlv>*Bf2VR1E2D}`YbpU%q
z!UKc2SHU}gS3Q9a2X6%)#vKDc0{o|cM>c$v5%}d_Q%3OBz+XH`I|A<o&OV3?fENN6
zKaH*iF9+U<s|4Q)Tzi<h2JZmg`V4gkz6IFx8)R2-;7@Q};Jv^oZZr5%VEVJv9XMxW
zjj6aT;GBy!F2dao&Y4(a5$;ZK&cPbLz}*GT*;s?~u*SXM0yA+x1m|q5aS?7iIOk)H
zD%{V&R|8|XN5GE)XFLZFB|PxF-yyGp1G}GxZ{S;i$8bl%jTh+SUW8Ydz;j?dE)Cp#
z3BJC8Oke|WX4`llHyQuWe*ZNN2<IHh4kNip!)oC8QO0=3sm4fG%If6S5#>p}hA~Em
zX{8<{&d<`g$`L1eP2lkN&*1l(elIYdhvX-2bc!*$DA_e)byBONoaa%=#;Dv8uB6qD
z);LW<%g7PN$m^3_j@3F$P=^^FfB3V+tJd-C@<|@I>G+BHN!;oLT2A(yNbB&tJ~!I<
z+|pFnnAM|ON0pE4O+J`(#F3I@qy!x<N9sr;b?G1{Re5Z>PD?dTbDUy~bB$e{+B&9u
zbnnQ6$w!ioI!>0}aGHevrMfJMWfi<gmpjpa+$dvQ(P-DG)gxO|%9DGO&@GOW`ANDq
zk8Qq5S#l{$BF~hJoHs;99I8B1Pb`nrx1=TYY4b(Jzj<hU=V-&}=r$6mbc`KojCFk8
zuxsapXFJ{DbW2|LJIQk?^xMxiRP^3@BE8B#a-zS@+g8%H<yfHYFEVPUZI@HvZ94BF
z-pjM_QswdePtQZrN=-3RX@^!V%kwZ<nlQ$guyeTd5Kij#`a~|`XVaTVtMKelLVK{~
zDY2eydK3K;aiQU!lh7c1NGz|=v~w6u!`qP^$A-gc&DFHpH2tG6v5xGz8<k{?qU||s
zILK?QkM#S*`h1sqv-x;3+7sp5j%SxeXtm`)!bv(d{o_)mj2oe~U%7s#=(@-Xm&k`t
z!zHby&?oP0{bGleG7r}u_Pf=*llrvl-llhW`4Z_pGxaxTjyT0}mZ5cCZ_2?DM;zs<
zOefPR&Scv4*wLfV;&J}je6;gRr04IwJAI6C`sR_wg!U9;Y<;pZ@)fP`Bwk|qrChgZ
znMqGANgpxcdM&BFqYkDV8F3VvCI5Rg&+Yn<c9xr<vlHb#kxo0jO>bg2+iy5b<h5OA
zLc>mIu+x(^Wm6jO6?8q>Z6J{ji7zsho;rmx7M)PWPxE(<n&li3@11&8KRmqN6U!ud
z-jmR`*tmqT`7HH+&#-o`bY1$1y3Q_dVjjXTDS!1zbc#ynj1$utnKHB=ku(z1wDU=n
z4cl*cdBtDak<egsGO-SZhnK!OcUa#q`Jc>x#E3y%o=D$t8L^*j8f`e--<DlT%Wl6X
zvmK<|*Hdqz2Sm1m39>EWgTv^TGG1@@xWpmf&wl@VIS~FsPpy>h#nvQM*QbJu%jCHg
zw*x10c{1NAb8#{sD)XH(Cn@uE_I#eq-^u)_%z4TjsLX51Jg3ZK%Dkq`fA*8s`?wK&
zYiK;~blg;25pE@}4R<r{UvNLcJ&fCrJB0fK?qi%Ym;`lv-^dtYBpbASW0W!47{hkw
zvBo%KJoiC4`2ff%#^4F#=^QFCIIK~nwh}8WpbrXI{?^7z2@z=Lf*V2VIAKy{hmtFH
z#FK4-Rr<h3m381F?#<?VIl5BCJv?j{jC-?>JbpxG_&au>$Qha8-fV<sOKKGaa^fcO
zrR-Ew3CnT3I8xQhR#EjNo6F-!mF)K9?5pyS11l#Zoby0c&0H-c2SjYD)gfCL{MqmS
z2OMbckhWy~(r!sIj&>#)^&1EMj^cNuE6Es*zx_+QHOc6>A;~CA@LPf34*a$!_;uiy
zdE;O_JHEhr?H|_gdJS*WaI1zpG(4c;D;mD1VbW$R{Zlo})Nqc5r5e_2xIx3)HN02D
z?HcaU@Q{W_H2kZEBO_LRX&RoV;e{HOYFMqIUFK%}e1nE}Y4{TjcWU^ghA(RPmWD|;
zS^19B@GK1{YdBrQIU0I2T&&@jG_2OJQNwl(uh;Mv4e!+O9u0q>;m<UDM8iEAKB?hz
z8XnOws^L)$k7;OhTjfdBFhj#h8cx&jLJj9@=+$tkhF54<uVGNb4I18{As;4GRdJVw
z_i1R?&vyNMP{XK(BX73iougrqhIYI<{oJbIwHj{LaEpfD(eOSEAJA}zhP@i@)9_gh
zU(wLc?+yK&++)#YYFMb@Dh(So+@PTy|Fd>y@$IvAXYt{)c4zV7|8%=+H#p*06KM4D
zy@wv7SWdKgx!0pHVC*)EvD?Cd63(E8-K>o1XStNeZJg=w1h@_-P%Nj1Yy6EB>{u3K
zGz)*ZUdY!X=K_N*jmA7jiQEe|JRlz*<!%s86P0oJor`yta|^RWPEVIMR0p|S#Rw;H
zXu6a;Jxb(g6;{4H%dx3Oe`{-ivzKz1$#`6RIm=U{4-6T`AH_$XAC(i0ZsY0^zWCi{
z!^yZ~gfHYNDy}HSM3rk5OITxlb_7prPbix4{D@Mn#MAV_ktoj;U5GYPlgs4NA4#IJ
zWqCtwpqTrgj4jDaNmn?=Y7;nStzsu@%qbj*Ue;W%cwJl4UK3CkVG<Nx8P}y$GzJ2#
z#yu&OjUkG2ncP2SJe{J?JW*abyTl5f?W0aXF;YsA%NpTp1x9mYU`e%Xlru(;v<a$g
ziBoBuJ#x9+T%m}|H>#?Nt3s{ZTEiK$DvK(3UWk8HV+~hz)N;~&O`xid`vEyLif>bO
zRZUxv<6!NUr?C{@HG#04hLcN=j0&D*U=V0tYg7u}QmsQ)^CSj7^;jjx5?KkgeB_Qn
zeZGuQoKfYkX{v2(Ha37Yh1OU@AmbLJszwcljJv=@U|FFB<FqwYvf^!2F=}c?o(GJo
zI?Hd7Ly-b&n~aAYRWhnD)+AMNU51RRo=;MPnVKf%Azn~;ZCk4`ps;XD!-aW9-iRve
zen4aWh^lopA$dPB*<a1UdgI(=WPlV|qfNHx%1y4*bQLDosUcBOa$PH<uW+5=0c#7_
z7~W*Yag2(50-^fSWUjvoTxC=wb7dI!9$c1Or^h?jC6l<nk>lhr(zqd6j_pZqw<L4q
zvZj@F|1E;SP*y{eNjyYbNtW}1{zmqmBs1<)CEF#KHJ&tf3(kp8_CpBPECKdg7zsWp
z82^zk!NN3R<BjCCb`gw$WLTimOi2M#>D=r<p4(bI4IVBk3%0D+T7dRf%GJ571>5gS
z7(NcZG`5_~pL*i<hCs;JYQLoosQVF!8KUL=GQr<YOh@8g4vu#druT#}9M^`H;Ch;m
zI@Rhn7Rp)ka!z*}UrIQ2&aMo@&!rr#(0#8Vr`HW*o1v=II-+j;%%~5yG&dSQS1@Ee
z%#9*k5DY&bHPoFlMxUYXlreSz!xD?DlUQXoLiKIoT5gVI7n-3HW1c`C)30u8ysC=p
za+^aO)@J{R?O)UAZ)ie-brHp8T42AU$yL=Vl?w>f1RGkpV}N}JCwVV4O5Aq)of@~Z
z7H>Z*Sw+SYpY6oufMnHLrW#rs)TE4z&;EzqqLQVHOG;<vs*6D=M;iJ6Z*fhbwKd$*
zAy=LlnUw2fuA-!JS-HF1XP192;r_F3c|~rO&B1cwf10x-GMh8#c5Wg$|MNfg`xZJ*
zk}Z3JPwH=<`({7YN#CC&sn5JV<G^Pe_<uDA97YE8;W~zr$)008Tqp6Da9-Ss?McS1
z$?|0VPI6U;8ED47#bBN{X<6lh?0j`!MRTpc5%X}~r1jiwfARd(xm?Z^Xp&n$xay-h
zG;b0Y*3AiV?MjnBl-<-&6Kn~!)P=LLLg)BHP1D!rOp=>g8tSlyxPwe?RI}~{nV-sK
z8R1}CC@f=>e=xC`lO!4ux&5F`u9C1G@sK-d$s)jI(+z7GW~>Q>?01Q8<)VFcAAf0J
zZGcN9<nO#m{t%b1wp<kmPMTpynmglDQ=B^^G55JM;)Rg7b168}{SDO(jdIh)-{sMe
z;KD77fVm6_8W~Q?P%=)^x!Kurdj(gPRdWZ!I_{jPl^|TAmk`>%g-6{2wVWU=>q1-+
z!KG<tc6L0e_@&lMDokJPyh&dT<hpWl@@CD>&Y6{WVRqiknpxTYS#^PImn*+E5D3hy
zomuC)CV@Twby{ZsO*&@I%9)v8UEt52Ra*cZb=9@m`GMTpY=3TEo+~$ZR$akN|9=l1
z`G1p+Jb!LoZhl~9_N<xJ1=)Fdc{$nD{(_q9+6xP6^Za@K3j;Ir|C{KTp7S>;$*H?=
z_JuXGFU-z&1#+_Ua%UD~7tE@z&d#4%>#Do3)>Z4Dttc^7%RmDE>s6EE`kR#G2V8Zt
z{W-bW)pgY~shdE4HZ?UXJ1@Vkc9zSZGs|C~>c*mE?u-PfR83>X5Mf7^%&>Kde0TD*
z-^n>}ggxoJ8O`2k<EUYnfE8O;Z#}s6$kwA<jk_n@opHB$cjn!$yLmCeVWa^HA6WfB
z{R6EJv_HUu=`cJ1W7~vn<~G;1!foZ-R&Q(F*0F8NwyoQ?Z|mK5aNCh>N4FXGO}Njz
z&vjqnedYJ9zOVJZj{COUxAng5_x0X)@IGTp66>|lu+`j}zqN3yB=_0xe})797j?+)
Ay8r+H

diff --git a/minichlink/serial_dev.c b/minichlink/serial_dev.c
new file mode 100644
index 0000000..7afe36d
--- /dev/null
+++ b/minichlink/serial_dev.c
@@ -0,0 +1,161 @@
+#include "serial_dev.h"
+
+int serial_dev_create(serial_dev_t *dev, const char* port, unsigned baud) {
+    if (!dev) 
+        return -1;
+    dev->port = port;
+    dev->baud = baud;
+    #ifdef IS_WINDOWS
+    dev->handle = INVALID_HANDLE_VALUE;
+    #else
+    dev->fd = -1;
+    #endif
+    return 0;
+}
+
+int serial_dev_open(serial_dev_t *dev) {
+    fprintf(stderr, "Opening serial port %s at %u baud.\n", dev->port, dev->baud);
+#ifdef IS_WINDOWS
+    dev->handle = CreateFileA(dev->port, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0,0);
+    if (dev->handle == INVALID_HANDLE_VALUE) {
+        if (GetLastError() == ERROR_FILE_NOT_FOUND) {
+            fprintf(stderr, "Serial port %s not found.\n", dev->port);
+            return -1; // Device not found
+        }
+        // Error while opening the device
+        return -2;
+    }
+    DCB dcbSerialParams;
+    dcbSerialParams.DCBlength = sizeof(dcbSerialParams);
+    if (!GetCommState(dev->handle, &dcbSerialParams)) {
+        return -3;
+    }
+    // set baud and 8N1 serial formatting
+    dcbSerialParams.BaudRate = dev->baud;
+    dcbSerialParams.ByteSize = 8;
+    dcbSerialParams.StopBits = ONESTOPBIT;
+    dcbSerialParams.Parity = NOPARITY;
+    // write back
+    if (!SetCommState(dev->handle, &dcbSerialParams)){ 
+        return -5;
+    }
+    // Set the timeout parameters to "no timeout" (blocking).
+    // see https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-commtimeouts
+    COMMTIMEOUTS timeouts;
+    timeouts.ReadIntervalTimeout = 0;
+    timeouts.ReadTotalTimeoutConstant = MAXDWORD;
+    timeouts.ReadTotalTimeoutMultiplier = 0;
+    timeouts.WriteTotalTimeoutConstant = MAXDWORD;
+    timeouts.WriteTotalTimeoutMultiplier = 0;
+    // Write the parameters
+    if (!SetCommTimeouts(dev->handle, &timeouts)) {
+        return -6;
+    }
+#else
+    struct termios attr;
+    if ((dev->fd = open(dev->port, O_RDWR | O_NOCTTY)) == -1) {
+        perror("open");
+        return -1;
+    }
+
+    if (tcgetattr(ctx->fd, &attr) == -1) {
+        perror("tcgetattr");
+        return -2;
+    }
+
+    cfmakeraw(&attr);
+    cfsetspeed(&attr, dev->baud);
+
+    if (tcsetattr(ctx->fd, TCSANOW, &attr) == -1) {
+        perror("tcsetattr");
+        return -3;
+    }
+#endif
+    // all okay if we get here
+    return 0;
+}
+
+int serial_dev_write(serial_dev_t *dev, const void* data, size_t len) {
+#ifdef IS_WINDOWS
+    DWORD dwBytesWritten;
+    if (!WriteFile(dev->handle, data, len, &dwBytesWritten,NULL)) {
+        return -1;
+    }
+    return (int) dwBytesWritten;
+#else
+    return write(dev->fd, data, len);
+#endif
+}
+
+int serial_dev_read(serial_dev_t *dev, void* data, size_t len) {
+#ifdef IS_WINDOWS
+    DWORD dwBytesRead = 0;
+    if (!ReadFile(dev->handle, data, len, &dwBytesRead, NULL)) {
+        return -1;
+    }
+    return (int) dwBytesRead;
+#else
+    return read(dev->fd, data, len);
+#endif
+}
+
+int serial_dev_do_dtr_reset(serial_dev_t *dev) {
+#ifdef IS_WINDOWS
+    // EscapeCommFunction returns 0 on fail
+    if(EscapeCommFunction(dev->handle, SETDTR) == 0) {
+        return -1;
+    }
+    if(EscapeCommFunction(dev->handle, CLRDTR) == 0) {
+        return -1;
+    }
+#else
+    int argp = TIOCM_DTR;
+    // Arduino DTR reset.
+    if (ioctl(dev->fd, TIOCMBIC, &argp) == -1) {
+        perror("ioctl");
+        return -1;
+    }
+
+    if (tcdrain(dev->fd) == -1) {
+        perror("tcdrain");
+        return -2;
+    }
+
+    if (ioctl(dev->fd, TIOCMBIS, &argp) == -1) {
+        perror("ioctl");
+        return -3;
+    }
+#endif
+    return 0;
+}
+
+int serial_dev_flush_rx(serial_dev_t *dev) {
+#ifdef IS_WINDOWS
+    // PurgeComm returns 0 on fail
+    if (PurgeComm(dev->handle, PURGE_RXCLEAR) == 0) {
+        return -1;
+    }
+#else
+    if (tcflush(dev->fd, TCIFLUSH) == -1) {
+        perror("tcflush");
+        return -1;
+    }
+#endif
+    return 0;
+}
+
+int serial_dev_close(serial_dev_t *dev) {
+#ifdef IS_WINDOWS
+    if(!CloseHandle(dev->handle)) {
+        return -1;
+    }
+    dev->handle = INVALID_HANDLE_VALUE;
+#else
+    int ret = 0;
+    if((ret = close(dev->fd)) != 0) {
+        return ret;
+    }
+    dev->fd = -1;
+#endif
+    return 0;
+}
\ No newline at end of file
diff --git a/minichlink/serial_dev.h b/minichlink/serial_dev.h
new file mode 100644
index 0000000..a75733f
--- /dev/null
+++ b/minichlink/serial_dev.h
@@ -0,0 +1,48 @@
+#ifndef _SERIAL_DEV_H
+#define _SERIAL_DEV_H
+
+#include <stddef.h>
+
+#if defined(WINDOWS) || defined(WIN32) || defined(_WIN32)
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#define IS_WINDOWS
+#define DEFAULT_SERIAL_NAME "\\\\.\\COM3"
+#else
+#include <termios.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#define IS_POSIX
+#define DEFAULT_SERIAL_NAME "/dev/ttyACM0"
+#endif
+/* these are available on all platforms */
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+
+typedef struct {
+    const char* port;
+    unsigned baud;
+#ifdef IS_WINDOWS
+    HANDLE handle;
+#else
+    int fd;
+#endif
+} serial_dev_t;
+
+/* returns 0 if OK */
+int serial_dev_create(serial_dev_t *dev, const char* port, unsigned baud);
+/* returns 0 if OK */
+int serial_dev_open(serial_dev_t *dev);
+/* returns -1 on write error */
+int serial_dev_write(serial_dev_t *dev, const void* data, size_t len);
+/* returns -1 on read error */
+int serial_dev_read(serial_dev_t *dev, void* data, size_t len);
+/* returns -1 on reset error */
+int serial_dev_do_dtr_reset(serial_dev_t *dev);
+/* returns -1 on flush error */
+int serial_dev_flush_rx(serial_dev_t *dev);
+/* returns -1 on close error */
+int serial_dev_close(serial_dev_t *dev);
+
+#endif
-- 
GitLab