From 10d4405d6e8436adb9f499e072189ec9aa774901 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 15 Sep 2017 11:03:05 -0400 Subject: [PATCH 001/201] patch configure for VxWorks --- Modules/posixmodule.c | 2 ++ configure | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 83135e536a51b2..805ad02a4d3d54 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -174,6 +174,7 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_FSYNC 1 #define fsync _commit #else +#ifndef __VXWORKS__ /* Unix functions that the configure script doesn't check for */ #define HAVE_EXECV 1 #define HAVE_FORK 1 @@ -184,6 +185,7 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_GETEUID 1 #define HAVE_GETGID 1 #define HAVE_GETPPID 1 +#endif #define HAVE_GETUID 1 #define HAVE_KILL 1 #define HAVE_OPENDIR 1 diff --git a/configure b/configure index 00dd1f0514a69c..771c9429cc8dc2 100755 --- a/configure +++ b/configure @@ -3258,6 +3258,9 @@ then *-*-cygwin*) ac_sys_system=Cygwin ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3302,6 +3305,9 @@ if test "$cross_compiling" = yes; then *-*-cygwin*) _host_cpu= ;; + *-*-vxworks*) + _host_cpu= + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3320,6 +3326,10 @@ fi # wildcard, and that the wildcard does not include future systems # (which may remove their limitations). case $ac_sys_system/$ac_sys_release in + # On VxWorks if _XOPEN_SOURCE is defined the socket.h header + # has undefined types. + VxWorks* ) + define_xopen_source=no;; # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, # even though select is a POSIX function. Reported by J. Ribbens. # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. From 9d53ef2baf75c7459a2ac706260a800d22b61428 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 15 Sep 2017 17:04:50 -0400 Subject: [PATCH 002/201] Any version of python should be OK for cross build. --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 771c9429cc8dc2..e885fd7d3a20f5 100755 --- a/configure +++ b/configure @@ -2927,7 +2927,7 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; } if $interp -c "import sys;sys.exit(not '.'.join(str(n) for n in sys.version_info[:2]) == '$PACKAGE_VERSION')"; then break fi - interp= + done if test x$interp = x; then as_fn_error $? "python$PACKAGE_VERSION interpreter not found" "$LINENO" 5 From db2e0e8796f2b1377797c03d60085177e80503bf Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Sun, 17 Sep 2017 00:28:30 -0400 Subject: [PATCH 003/201] undef DATE TIME for VxWorks --- Modules/getbuildinfo.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Modules/getbuildinfo.c b/Modules/getbuildinfo.c index 5f941a26e1d54c..92ffa803cd8de4 100644 --- a/Modules/getbuildinfo.c +++ b/Modules/getbuildinfo.c @@ -4,6 +4,11 @@ #include #endif +#ifdef __VXWORKS__ +#undef DATE +#undef TIME +#endif + #ifndef DATE #ifdef __DATE__ #define DATE __DATE__ From cb3aa97367f0bac11efb427f98d2f0b7013ab3ec Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Sun, 17 Sep 2017 00:29:23 -0400 Subject: [PATCH 004/201] limited signal feilds in VxWorks --- Modules/signalmodule.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 663310881768e8..836da002a8f530 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -965,11 +965,18 @@ fill_siginfo(siginfo_t *si) PyStructSequence_SET_ITEM(result, 0, PyLong_FromLong((long)(si->si_signo))); PyStructSequence_SET_ITEM(result, 1, PyLong_FromLong((long)(si->si_code))); +#ifdef __VXWORKS__ + PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 3, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 4, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 5, PyLong_FromLong(0L)); +#else PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong((long)(si->si_errno))); PyStructSequence_SET_ITEM(result, 3, PyLong_FromPid(si->si_pid)); PyStructSequence_SET_ITEM(result, 4, _PyLong_FromUid(si->si_uid)); PyStructSequence_SET_ITEM(result, 5, PyLong_FromLong((long)(si->si_status))); +#endif #ifdef HAVE_SIGINFO_T_SI_BAND PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band)); #else From 1939a13dcc91d718811b60ee21027563bba66ad2 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 15 Sep 2017 11:03:05 -0400 Subject: [PATCH 005/201] bpo-31904 : Python should support VxWorks RTOS All doesn't include shared if static build Hardwire asscii encoding for VxWorks default to UTF-8 (like Android) Semicolon as path separator If build is configure'd for static, propigate to Makefile Add detection for oddly named VxWorks OPENSSL and HASH libraries Fix some warnings with unused functions and macro re-def Extra include in faulthandler.c Avoid duplicate macro definition Setup.py complies all VxWorks compatible modules Update some extension modules to compile on VxWorks VxWorks does not have "timezone" and daylight "constants" Limited signal fields in VxWorks undef DATE TIME for VxWorks --- Include/osdefs.h | 4 ++ Include/symtable.h | 4 ++ Makefile.pre.in | 21 +++++-- Modules/_multiprocessing/multiprocessing.h | 8 ++- Modules/faulthandler.c | 4 +- Modules/fcntlmodule.c | 4 ++ Modules/getbuildinfo.c | 5 ++ Modules/mmapmodule.c | 4 +- Modules/posixmodule.c | 2 + Modules/signalmodule.c | 7 +++ Modules/socketmodule.c | 23 +++++-- Modules/syslogmodule.c | 4 ++ Modules/timemodule.c | 2 + Python/pylifecycle.c | 4 ++ configure | 12 +++- configure.ac | 22 +++++-- setup.py | 70 +++++++++++++++++----- 17 files changed, 164 insertions(+), 36 deletions(-) diff --git a/Include/osdefs.h b/Include/osdefs.h index bd84c1c12c19fd..3243944a1483e9 100644 --- a/Include/osdefs.h +++ b/Include/osdefs.h @@ -14,6 +14,10 @@ extern "C" { #define DELIM L';' #endif +#ifdef __VXWORKS__ +#define DELIM L';' +#endif + /* Filename separator */ #ifndef SEP #define SEP L'/' diff --git a/Include/symtable.h b/Include/symtable.h index 86ae3c28e878e0..b5ab0e6b976605 100644 --- a/Include/symtable.h +++ b/Include/symtable.h @@ -103,6 +103,10 @@ PyAPI_FUNC(void) PySymtable_Free(struct symtable *); #define SCOPE_OFFSET 11 #define SCOPE_MASK (DEF_GLOBAL | DEF_LOCAL | DEF_PARAM | DEF_NONLOCAL) +#ifdef __VXWORKS__ + #undef LOCAL +#endif + #define LOCAL 1 #define GLOBAL_EXPLICIT 2 #define GLOBAL_IMPLICIT 3 diff --git a/Makefile.pre.in b/Makefile.pre.in index 5a001ecbe7303b..5ab5b928c8194e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -56,6 +56,7 @@ DTRACE_HEADERS= @DTRACE_HEADERS@ DTRACE_OBJS= @DTRACE_OBJS@ GNULD= @GNULD@ +PY_ENABLE_SHARED=@PY_ENABLE_SHARED@ # Shell used by make (some versions default to the login shell, which is bad) SHELL= /bin/sh @@ -101,11 +102,19 @@ PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ -CCSHARED= @CCSHARED@ -LINKFORSHARED= @LINKFORSHARED@ -ARFLAGS= @ARFLAGS@ + +ifeq ($(PY_ENABLE_SHARED),1) +CCSHARED= @CCSHARED@ +LINKFORSHARED= @LINKFORSHARED@ # Extra C flags added for building the interpreter object files. CFLAGSFORSHARED=@CFLAGSFORSHARED@ +else +CCSHARED= +LINKFORSHARED= +CFLAGSFORSHARED= +endif + +ARFLAGS= @ARFLAGS@ # C flags used for building the interpreter object files PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE # Strict or non-strict aliasing flags used to compile dtoa.c, see above @@ -440,7 +449,11 @@ DTRACE_DEPS = \ # Default target all: @DEF_MAKE_ALL_RULE@ -build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config +ifeq ($(PY_ENABLE_SHARED),1) +build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config +else +build_all: $(BUILDPYTHON) gdbhooks Programs/_testembed python-config +endif # Compile a binary with profile guided optimization. profile-opt: diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h index 512bc17f23d46b..29decdf15f9c98 100644 --- a/Modules/_multiprocessing/multiprocessing.h +++ b/Modules/_multiprocessing/multiprocessing.h @@ -32,8 +32,12 @@ # define BOOL int # define UINT32 uint32_t # define INT32 int32_t -# define TRUE 1 -# define FALSE 0 +# ifndef TRUE +# define TRUE 1 +# endif +# ifndef FALSE +# define FALSE 0 +# endif # define INVALID_HANDLE_VALUE (-1) #endif diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index 4f3d971bc5270b..7c4e25406d5ba8 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -13,7 +13,9 @@ #ifdef HAVE_SYS_RESOURCE_H # include #endif - +#ifdef __VXWORKS__ +# include +#endif /* Allocate at maximum 100 MB of the stack to raise the stack overflow */ #define STACK_OVERFLOW_MAX_SIZE (100*1024*1024) diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c index 0baaa83d2acae5..749db9143fdc09 100644 --- a/Modules/fcntlmodule.c +++ b/Modules/fcntlmodule.c @@ -15,6 +15,10 @@ #include #endif +#ifdef __VXWORKS__ +#include /* ioctl() */ +#endif + /*[clinic input] module fcntl [clinic start generated code]*/ diff --git a/Modules/getbuildinfo.c b/Modules/getbuildinfo.c index 5f941a26e1d54c..92ffa803cd8de4 100644 --- a/Modules/getbuildinfo.c +++ b/Modules/getbuildinfo.c @@ -4,6 +4,11 @@ #include #endif +#ifdef __VXWORKS__ +#undef DATE +#undef TIME +#endif + #ifndef DATE #ifdef __DATE__ #define DATE __DATE__ diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 49214a1defce89..60aaafac991426 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -1463,9 +1463,9 @@ PyInit_mmap(void) #endif setint(dict, "PAGESIZE", (long)my_getpagesize()); - +#ifndef __VXWORKS__ setint(dict, "ALLOCATIONGRANULARITY", (long)my_getallocationgranularity()); - +#endif setint(dict, "ACCESS_READ", ACCESS_READ); setint(dict, "ACCESS_WRITE", ACCESS_WRITE); setint(dict, "ACCESS_COPY", ACCESS_COPY); diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 83135e536a51b2..805ad02a4d3d54 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -174,6 +174,7 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_FSYNC 1 #define fsync _commit #else +#ifndef __VXWORKS__ /* Unix functions that the configure script doesn't check for */ #define HAVE_EXECV 1 #define HAVE_FORK 1 @@ -184,6 +185,7 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_GETEUID 1 #define HAVE_GETGID 1 #define HAVE_GETPPID 1 +#endif #define HAVE_GETUID 1 #define HAVE_KILL 1 #define HAVE_OPENDIR 1 diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 663310881768e8..836da002a8f530 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -965,11 +965,18 @@ fill_siginfo(siginfo_t *si) PyStructSequence_SET_ITEM(result, 0, PyLong_FromLong((long)(si->si_signo))); PyStructSequence_SET_ITEM(result, 1, PyLong_FromLong((long)(si->si_code))); +#ifdef __VXWORKS__ + PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 3, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 4, PyLong_FromLong(0L)); + PyStructSequence_SET_ITEM(result, 5, PyLong_FromLong(0L)); +#else PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong((long)(si->si_errno))); PyStructSequence_SET_ITEM(result, 3, PyLong_FromPid(si->si_pid)); PyStructSequence_SET_ITEM(result, 4, _PyLong_FromUid(si->si_uid)); PyStructSequence_SET_ITEM(result, 5, PyLong_FromLong((long)(si->si_status))); +#endif #ifdef HAVE_SIGINFO_T_SI_BAND PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band)); #else diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 5df9d014c35a72..d86f0ad6e9a665 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -159,7 +159,7 @@ if_indextoname(index) -- return the corresponding interface name\n\ # undef HAVE_GETHOSTBYNAME_R_6_ARG #endif -#if defined(__OpenBSD__) +#if defined(__OpenBSD__) || defined(__VXWORKS__) # include #endif @@ -181,6 +181,12 @@ if_indextoname(index) -- return the corresponding interface name\n\ # endif #endif +#ifdef __VXWORKS__ +# include +# define gethostbyaddr_r( a1, a2, a3, a4, a5, a6, a7 ) ipcom_gethostbyaddr_r( a1, a2, a3, a4, a5, a6, a7 ) +# include +#endif + #if !defined(HAVE_GETHOSTBYNAME_R) && !defined(MS_WINDOWS) # define USE_GETHOSTBYNAME_LOCK #endif @@ -532,7 +538,7 @@ set_error(void) return PyErr_SetFromErrno(PyExc_OSError); } - +#ifndef __VXWORKS__ static PyObject * set_herror(int h_error) { @@ -550,7 +556,7 @@ set_herror(int h_error) return NULL; } - +#endif static PyObject * set_gaierror(int error) @@ -903,7 +909,7 @@ init_sockobject(PySocketSockObject *s, return 0; } - +#ifdef HAVE_SOCKETPAIR /* Create a new socket object. This just creates the object and initializes it. If the creation fails, return NULL and set an exception (implicit @@ -923,7 +929,7 @@ new_sockobject(SOCKET_T fd, int family, int type, int proto) } return s; } - +#endif /* Lock to allow python interpreter to continue, but only allow one thread to be in gethostbyname or getaddrinfo */ @@ -5079,7 +5085,9 @@ gethost_common(struct hostent *h, struct sockaddr *addr, size_t alen, int af) if (h == NULL) { /* Let's get real error message to return */ +#ifndef __VXWORKS__ set_herror(h_errno); +#endif return NULL; } @@ -5426,6 +5434,7 @@ Return the service name from a port number and protocol name.\n\ The optional protocol name, if given, should be 'tcp' or 'udp',\n\ otherwise any protocol will match."); +#ifndef __VXWORKS__ /* Python interface to getprotobyname(name). This only returns the protocol number, since the other info is already known or not useful (like the list of aliases). */ @@ -5452,7 +5461,7 @@ PyDoc_STRVAR(getprotobyname_doc, "getprotobyname(name) -> integer\n\ \n\ Return the protocol number for the named protocol. (Rarely used.)"); - +#endif #ifndef NO_DUP /* dup() function for socket fds */ @@ -6392,8 +6401,10 @@ static PyMethodDef socket_methods[] = { METH_VARARGS, getservbyname_doc}, {"getservbyport", socket_getservbyport, METH_VARARGS, getservbyport_doc}, +#ifndef __VXWORKS__ {"getprotobyname", socket_getprotobyname, METH_VARARGS, getprotobyname_doc}, +#endif #ifndef NO_DUP {"dup", socket_dup, METH_O, dup_doc}, diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index a5807dcce9ce5b..d7cbd1930a135d 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -54,6 +54,10 @@ Revision history: #include +#ifndef LOG_UPTO +#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ +#endif + /* only one instance, only one syslog, so globals should be ok */ static PyObject *S_ident_o = NULL; /* identifier, held by openlog() */ static char S_log_open = 0; diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 36a95bbcedd6fe..3b7a2f1f0e3e7e 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -1215,6 +1215,7 @@ PyInit_timezone(PyObject *m) { #if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__) PyObject *otz0, *otz1; tzset(); +#ifndef __VXWORKS__ PyModule_AddIntConstant(m, "timezone", timezone); #ifdef HAVE_ALTZONE PyModule_AddIntConstant(m, "altzone", altzone); @@ -1222,6 +1223,7 @@ PyInit_timezone(PyObject *m) { PyModule_AddIntConstant(m, "altzone", timezone-3600); #endif PyModule_AddIntConstant(m, "daylight", daylight); +#endif otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape"); otz1 = PyUnicode_DecodeLocale(tzname[1], "surrogateescape"); PyModule_AddObject(m, "tzname", Py_BuildValue("(NN)", otz0, otz1)); diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 5c8cf5b9bd5fc0..e9a45f92a714bd 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -1421,6 +1421,10 @@ initfsencoding(PyInterpreterState *interp) Py_FileSystemDefaultEncoding = "utf-8"; Py_FileSystemDefaultEncodeErrors = "surrogatepass"; } +#elif defined(__VXWORKS__) + { + Py_FileSystemDefaultEncoding = "ascii"; + } #else if (Py_FileSystemDefaultEncoding == NULL) { diff --git a/configure b/configure index 00dd1f0514a69c..e1d2797642371c 100755 --- a/configure +++ b/configure @@ -3258,6 +3258,9 @@ then *-*-cygwin*) ac_sys_system=Cygwin ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3302,6 +3305,9 @@ if test "$cross_compiling" = yes; then *-*-cygwin*) _host_cpu= ;; + *-*-vxworks*) + _host_cpu= + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3320,6 +3326,10 @@ fi # wildcard, and that the wildcard does not include future systems # (which may remove their limitations). case $ac_sys_system/$ac_sys_release in + # On VxWorks if _XOPEN_SOURCE is defined the socket.h header + # has undefined types. + VxWorks* ) + define_xopen_source=no;; # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, # even though select is a POSIX function. Reported by J. Ribbens. # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. @@ -13299,7 +13309,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5 $as_echo "$ac_cv_c_char_unsigned" >&6; } -if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then +if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes && test "$ac_sys_system" != "VxWorks" ; then $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h fi diff --git a/configure.ac b/configure.ac index 88ab6a121571c4..c3540735453512 100644 --- a/configure.ac +++ b/configure.ac @@ -377,6 +377,9 @@ then *-*-cygwin*) ac_sys_system=Cygwin ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -418,9 +421,12 @@ if test "$cross_compiling" = yes; then _host_cpu=$host_cpu esac ;; - *-*-cygwin*) - _host_cpu= - ;; + *-*-cygwin*) + _host_cpu= + ;; + *-*-vxworks*) + _host_cpu=$host_cpu + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -509,6 +515,11 @@ case $ac_sys_system/$ac_sys_release in QNX/6.3.2) define_xopen_source=no ;; + # On VxWorks, defining _XOPEN_SOURCE causes compile failures + # in network headers still using system V types. + VxWorks/*) + define_xopen_source=no + ;; esac @@ -3996,7 +4007,10 @@ fi # checks for compiler characteristics -AC_C_CHAR_UNSIGNED +# test results in duplicate def of __CHAR_UNSIGNED__ on VxWorks +if test "$ac_sys_system" != "VxWorks" ; then + AC_C_CHAR_UNSIGNED +fi AC_C_CONST works=no diff --git a/setup.py b/setup.py index d5c58e0686981f..44125ca15ac59e 100644 --- a/setup.py +++ b/setup.py @@ -275,6 +275,14 @@ def build_extensions(self): if compiler is not None: (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags + + #VxWorks uses '@filepath' extension to add include paths without overflowing windows cmd line buffer + if host_platform == 'vxworks': + cppflags = sysconfig.get_config_var('CPPFLAGS').split() + for item in cppflags: + self.announce('ITEM: "%s"' % item ) + if item.startswith('@'): + args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags + ' '+ item self.compiler.set_executables(**args) build_ext.build_extensions(self) @@ -503,7 +511,7 @@ def add_gcc_paths(self): def detect_math_libs(self): # Check for MacOS X, which doesn't need libm.a at all - if host_platform == 'darwin': + if (host_platform == 'darwin' or host_platform == 'vxworks'): return [] else: return ['m'] @@ -516,7 +524,7 @@ def detect_modules(self): add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia - if cross_compiling: + if ( cross_compiling and not host_platform == 'vxworks'): self.add_gcc_paths() self.add_multiarch_paths() @@ -554,9 +562,10 @@ def detect_modules(self): for directory in reversed(options.dirs): add_dir_to_list(dir_list, directory) - if (not cross_compiling and + if ((not cross_compiling and os.path.normpath(sys.base_prefix) != '/usr' and - not sysconfig.get_config_var('PYTHONFRAMEWORK')): + not sysconfig.get_config_var('PYTHONFRAMEWORK')) or + host_platform == 'vxworks'): # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework # (PYTHONFRAMEWORK is set) to avoid # linking problems when # building a framework with different architectures than @@ -566,6 +575,14 @@ def detect_modules(self): add_dir_to_list(self.compiler.include_dirs, sysconfig.get_config_var("INCLUDEDIR")) + #VxWorks requires some macros from CPPFLAGS to select the correct CPU headers + if host_platform == 'vxworks': + cppflags = sysconfig.get_config_var('CPPFLAGS').split() + for item in cppflags: + self.announce('ITEM: "%s"' % item ) + if item.startswith('-D'): + self.compiler.define_macro(item[2:]) + # lib_dirs and inc_dirs are used to search for files; # if a file is found in one of those directories, it can # be assumed that no additional -I,-L directives are needed. @@ -694,7 +711,8 @@ def detect_modules(self): # pwd(3) exts.append( Extension('pwd', ['pwdmodule.c']) ) # grp(3) - exts.append( Extension('grp', ['grpmodule.c']) ) + if host_platform != 'vxworks': + exts.append( Extension('grp', ['grpmodule.c']) ) # spwd, shadow passwords if (config_h_vars.get('HAVE_GETSPNAM', False) or config_h_vars.get('HAVE_GETSPENT', False)): @@ -827,13 +845,15 @@ def detect_modules(self): libs = ['crypt'] else: libs = [] - exts.append( Extension('_crypt', ['_cryptmodule.c'], libraries=libs) ) + if host_platform != 'vxworks': + exts.append( Extension('_crypt', ['_cryptmodule.c'], libraries=libs) ) # CSV files exts.append( Extension('_csv', ['_csv.c']) ) # POSIX subprocess module helper. - exts.append( Extension('_posixsubprocess', ['_posixsubprocess.c']) ) + if host_platform != 'vxworks': + exts.append( Extension('_posixsubprocess', ['_posixsubprocess.c']) ) # socket(2) exts.append( Extension('_socket', ['socketmodule.c'], @@ -851,20 +871,31 @@ def detect_modules(self): ['/usr/kerberos/include']) if krb5_h: ssl_incs += krb5_h - ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, + if host_platform == 'vxworks': + ssl_libs = find_library_file(self.compiler, 'OPENSSL',lib_dirs, [] ) + if (ssl_incs is not None and + ssl_libs is not None): + exts.append( Extension('_ssl', ['_ssl.c'], + include_dirs = ssl_incs, + library_dirs = ssl_libs, + libraries = ['OPENSSL', 'HASH'], + depends = ['socketmodule.h']), ) + else: + missing.append('_ssl') + else: + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, ['/usr/local/ssl/lib', '/usr/contrib/ssl/lib/' ] ) - - if (ssl_incs is not None and - ssl_libs is not None): - exts.append( Extension('_ssl', ['_ssl.c'], + if (ssl_incs is not None and + ssl_libs is not None): + exts.append( Extension('_ssl', ['_ssl.c'], include_dirs = ssl_incs, library_dirs = ssl_libs, libraries = ['ssl', 'crypto'], depends = ['socketmodule.h']), ) - else: - missing.append('_ssl') + else: + missing.append('_ssl') # find out which version of OpenSSL we have openssl_ver = 0 @@ -898,11 +929,18 @@ def detect_modules(self): if have_usable_openssl: # The _hashlib module wraps optimized implementations # of hash functions from the OpenSSL library. - exts.append( Extension('_hashlib', ['_hashopenssl.c'], + if host_platform != 'vxworks': + exts.append( Extension('_hashlib', ['_hashopenssl.c'], depends = ['hashlib.h'], include_dirs = ssl_incs, library_dirs = ssl_libs, libraries = ['ssl', 'crypto']) ) + else : + exts.append( Extension('_hashlib', ['_hashopenssl.c'], + depends = ['hashlib.h'], + include_dirs = ssl_incs, + library_dirs = ssl_libs, + libraries = ['OPENSSL', 'HASH']) ) else: print("warning: openssl 0x%08x is too old for _hashlib" % openssl_ver) @@ -1354,7 +1392,7 @@ class db_found(Exception): pass missing.append('_gdbm') # Unix-only modules - if host_platform != 'win32': + if host_platform != 'win32' and host_platform != 'vxworks': # Steen Lumholt's termios module exts.append( Extension('termios', ['termios.c']) ) # Jeremy Hylton's rlimit interface From 9a92b63bd0984f03bb685c30c0463eec8333bf01 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Mon, 30 Oct 2017 23:35:49 -0400 Subject: [PATCH 006/201] What's new file for bpo-30914 --- Misc/NEWS.d/next/Build/2017-10-30.bpo-30914.brk.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Build/2017-10-30.bpo-30914.brk.rst diff --git a/Misc/NEWS.d/next/Build/2017-10-30.bpo-30914.brk.rst b/Misc/NEWS.d/next/Build/2017-10-30.bpo-30914.brk.rst new file mode 100644 index 00000000000000..299e03a1da93f4 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2017-10-30.bpo-30914.brk.rst @@ -0,0 +1 @@ +Allow cross-build of VxWorks if --host=*-wrs-vxworks is passed to configure \ No newline at end of file From e997eccd0e683498cdd5c17f47556ec3d4975c36 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Tue, 31 Oct 2017 12:38:03 -0400 Subject: [PATCH 007/201] **install** and **commoninstall** targets do not include shared libraries if configured for static build ( i.e. ./configure --enable-shared=no ) --- Makefile.pre.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Makefile.pre.in b/Makefile.pre.in index 5ab5b928c8194e..b5a78a07dbb25b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1095,10 +1095,17 @@ altinstall: commoninstall $$ensurepip --root=$(DESTDIR)/ ; \ fi +ifeq ($(PY_ENABLE_SHARED),1) commoninstall: @FRAMEWORKALTINSTALLFIRST@ \ altbininstall libinstall inclinstall libainstall \ sharedinstall oldsharedinstall altmaninstall \ @FRAMEWORKALTINSTALLLAST@ +else +commoninstall: @FRAMEWORKALTINSTALLFIRST@ \ + altbininstall libinstall inclinstall libainstall \ + altmaninstall \ + @FRAMEWORKALTINSTALLLAST@ +endif # Install shared libraries enabled by Setup DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) From 7faa281894293c6e32b4b5b5549843b4f71760df Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 1 Nov 2017 08:54:24 -0400 Subject: [PATCH 008/201] revert Makefile.pre.in static build changes (needs additional automake support) --- Makefile.pre.in | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 5ab5b928c8194e..5a001ecbe7303b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -56,7 +56,6 @@ DTRACE_HEADERS= @DTRACE_HEADERS@ DTRACE_OBJS= @DTRACE_OBJS@ GNULD= @GNULD@ -PY_ENABLE_SHARED=@PY_ENABLE_SHARED@ # Shell used by make (some versions default to the login shell, which is bad) SHELL= /bin/sh @@ -102,19 +101,11 @@ PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ - -ifeq ($(PY_ENABLE_SHARED),1) -CCSHARED= @CCSHARED@ -LINKFORSHARED= @LINKFORSHARED@ +CCSHARED= @CCSHARED@ +LINKFORSHARED= @LINKFORSHARED@ +ARFLAGS= @ARFLAGS@ # Extra C flags added for building the interpreter object files. CFLAGSFORSHARED=@CFLAGSFORSHARED@ -else -CCSHARED= -LINKFORSHARED= -CFLAGSFORSHARED= -endif - -ARFLAGS= @ARFLAGS@ # C flags used for building the interpreter object files PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE # Strict or non-strict aliasing flags used to compile dtoa.c, see above @@ -449,11 +440,7 @@ DTRACE_DEPS = \ # Default target all: @DEF_MAKE_ALL_RULE@ -ifeq ($(PY_ENABLE_SHARED),1) -build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config -else -build_all: $(BUILDPYTHON) gdbhooks Programs/_testembed python-config -endif +build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config # Compile a binary with profile guided optimization. profile-opt: From 249794c633bae0d5c8711faf28c0d2ccba62e504 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 1 Nov 2017 14:17:34 -0400 Subject: [PATCH 009/201] EOL whitespace removal --- Modules/socketmodule.c | 8 ++++---- Modules/syslogmodule.c | 3 ++- setup.py | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index d86f0ad6e9a665..3fd78806e70679 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -5085,9 +5085,9 @@ gethost_common(struct hostent *h, struct sockaddr *addr, size_t alen, int af) if (h == NULL) { /* Let's get real error message to return */ -#ifndef __VXWORKS__ +#ifndef __VXWORKS__ set_herror(h_errno); -#endif +#endif return NULL; } @@ -6401,10 +6401,10 @@ static PyMethodDef socket_methods[] = { METH_VARARGS, getservbyname_doc}, {"getservbyport", socket_getservbyport, METH_VARARGS, getservbyport_doc}, -#ifndef __VXWORKS__ +#ifndef __VXWORKS__ {"getprotobyname", socket_getprotobyname, METH_VARARGS, getprotobyname_doc}, -#endif +#endif #ifndef NO_DUP {"dup", socket_dup, METH_O, dup_doc}, diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index d7cbd1930a135d..5de155abe29cfd 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -55,7 +55,8 @@ Revision history: #include #ifndef LOG_UPTO -#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ +/* all priorities through pri */ +#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) #endif /* only one instance, only one syslog, so globals should be ok */ diff --git a/setup.py b/setup.py index 44125ca15ac59e..c4419c6f03514e 100644 --- a/setup.py +++ b/setup.py @@ -275,8 +275,8 @@ def build_extensions(self): if compiler is not None: (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags - - #VxWorks uses '@filepath' extension to add include paths without overflowing windows cmd line buffer + + #VxWorks uses '@filepath' extension to add include paths without overflowing windows cmd line buffer if host_platform == 'vxworks': cppflags = sysconfig.get_config_var('CPPFLAGS').split() for item in cppflags: @@ -579,7 +579,7 @@ def detect_modules(self): if host_platform == 'vxworks': cppflags = sysconfig.get_config_var('CPPFLAGS').split() for item in cppflags: - self.announce('ITEM: "%s"' % item ) + self.announce('ITEM: "%s"' % item) if item.startswith('-D'): self.compiler.define_macro(item[2:]) From 8bab325261e85b2d8a9b289f8372b9fcf6f558f6 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 3 Nov 2017 15:46:50 -0400 Subject: [PATCH 010/201] Remove space --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c4419c6f03514e..5cb5bc3bfed37a 100644 --- a/setup.py +++ b/setup.py @@ -524,7 +524,7 @@ def detect_modules(self): add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia - if ( cross_compiling and not host_platform == 'vxworks'): + if (cross_compiling and not host_platform == 'vxworks'): self.add_gcc_paths() self.add_multiarch_paths() From 21457f71499d94c40d7ba515cc4542ad261b0f8a Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 3 Nov 2017 15:56:04 -0400 Subject: [PATCH 011/201] revert change --- Makefile.pre.in | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index b9b0dc5ccf185f..5a001ecbe7303b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1082,17 +1082,10 @@ altinstall: commoninstall $$ensurepip --root=$(DESTDIR)/ ; \ fi -ifeq ($(PY_ENABLE_SHARED),1) commoninstall: @FRAMEWORKALTINSTALLFIRST@ \ altbininstall libinstall inclinstall libainstall \ sharedinstall oldsharedinstall altmaninstall \ @FRAMEWORKALTINSTALLLAST@ -else -commoninstall: @FRAMEWORKALTINSTALLFIRST@ \ - altbininstall libinstall inclinstall libainstall \ - altmaninstall \ - @FRAMEWORKALTINSTALLLAST@ -endif # Install shared libraries enabled by Setup DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) From 809b73af21fe92b2def57e42cd05c212cfa21029 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 8 Nov 2017 22:15:24 -0500 Subject: [PATCH 012/201] whitespace (for Travis checkpatch) --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 5cb5bc3bfed37a..d09afaf75ec6ab 100644 --- a/setup.py +++ b/setup.py @@ -282,7 +282,7 @@ def build_extensions(self): for item in cppflags: self.announce('ITEM: "%s"' % item ) if item.startswith('@'): - args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags + ' '+ item + args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags + ' ' + item self.compiler.set_executables(**args) build_ext.build_extensions(self) From 4abb38d88a7062aa5d9d00fbf75e1b06a1874894 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 8 Nov 2017 22:31:28 -0500 Subject: [PATCH 013/201] pull review changes --- Modules/mmapmodule.c | 2 -- Modules/socketmodule.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 60aaafac991426..7968e199cc8dd8 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -1463,9 +1463,7 @@ PyInit_mmap(void) #endif setint(dict, "PAGESIZE", (long)my_getpagesize()); -#ifndef __VXWORKS__ setint(dict, "ALLOCATIONGRANULARITY", (long)my_getallocationgranularity()); -#endif setint(dict, "ACCESS_READ", ACCESS_READ); setint(dict, "ACCESS_WRITE", ACCESS_WRITE); setint(dict, "ACCESS_COPY", ACCESS_COPY); diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 3fd78806e70679..9ec866742809f2 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -183,7 +183,7 @@ if_indextoname(index) -- return the corresponding interface name\n\ #ifdef __VXWORKS__ # include -# define gethostbyaddr_r( a1, a2, a3, a4, a5, a6, a7 ) ipcom_gethostbyaddr_r( a1, a2, a3, a4, a5, a6, a7 ) +# define gethostbyaddr_r ipcom_gethostbyaddr_r # include #endif From c8c322c6c7ab0e2baf54a3a72569ffdc8c1337f5 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 8 Nov 2017 23:58:56 -0500 Subject: [PATCH 014/201] VxWorks has no h_errno reworked --- Modules/socketmodule.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 0af7db9d5e0aca..641706dd17b1c1 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -184,6 +184,7 @@ if_indextoname(index) -- return the corresponding interface name\n\ #ifdef __VXWORKS__ # include # define gethostbyaddr_r ipcom_gethostbyaddr_r +# define h_errno errno # include #endif @@ -531,7 +532,7 @@ set_error(void) return PyErr_SetFromErrno(PyExc_OSError); } -#ifndef __VXWORKS__ +/*#ifndef __VXWORKS__ */ static PyObject * set_herror(int h_error) { @@ -549,7 +550,7 @@ set_herror(int h_error) return NULL; } -#endif +/* #endif */ static PyObject * set_gaierror(int error) @@ -5078,9 +5079,7 @@ gethost_common(struct hostent *h, struct sockaddr *addr, size_t alen, int af) if (h == NULL) { /* Let's get real error message to return */ -#ifndef __VXWORKS__ set_herror(h_errno); -#endif return NULL; } From fd303e0ee751443e7fa12889d7c09eb84a2f1dcf Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Thu, 9 Nov 2017 00:00:07 -0500 Subject: [PATCH 015/201] Ignor readelf cross-compile error with VxWorks --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 3381cfc0c8a06e..b09e3daf4b7143 100755 --- a/configure +++ b/configure @@ -6162,7 +6162,7 @@ esac fi fi -if test "$cross_compiling" = yes; then +if test "$cross_compiling" = yes && test "$ac_sys_system" != VxWorks ; then case "$READELF" in readelf|:) as_fn_error $? "readelf for the host is required for cross builds" "$LINENO" 5 From 93dca1b76b9dfdc63a41db5920b3ac48c663f1a6 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Thu, 9 Nov 2017 00:58:49 -0500 Subject: [PATCH 016/201] ssl detections differences with varibles --- setup.py | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/setup.py b/setup.py index 803322f5a7d7f6..c54af0c01ec27f 100644 --- a/setup.py +++ b/setup.py @@ -870,29 +870,24 @@ def detect_modules(self): if krb5_h: ssl_incs += krb5_h if host_platform == 'vxworks': - ssl_libs = find_library_file(self.compiler, 'OPENSSL',lib_dirs, [] ) - if (ssl_incs is not None and - ssl_libs is not None): - exts.append( Extension('_ssl', ['_ssl.c'], - include_dirs = ssl_incs, - library_dirs = ssl_libs, - libraries = ['OPENSSL', 'HASH'], - depends = ['socketmodule.h']), ) - else: - missing.append('_ssl') + lib_find = 'OPENSSL' + libs_add = ['OPENSSL', 'HASH'] + lib_paths = [] else: - ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, - ['/usr/local/ssl/lib', - '/usr/contrib/ssl/lib/' - ] ) - if (ssl_incs is not None and + lib_find = 'ssl' + libs_add = ['ssl', 'crypto'] + lib_paths = ['/usr/local/ssl/lib', + '/usr/contrib/ssl/lib/' + ] + ssl_libs = find_library_file(self.compiler, lib_find, lib_dirs, lib_paths ) + if (ssl_incs is not None and ssl_libs is not None): exts.append( Extension('_ssl', ['_ssl.c'], include_dirs = ssl_incs, library_dirs = ssl_libs, - libraries = ['ssl', 'crypto'], + libraries = libs_add, depends = ['socketmodule.h']), ) - else: + else: missing.append('_ssl') # find out which version of OpenSSL we have @@ -927,18 +922,11 @@ def detect_modules(self): if have_usable_openssl: # The _hashlib module wraps optimized implementations # of hash functions from the OpenSSL library. - if host_platform != 'vxworks': - exts.append( Extension('_hashlib', ['_hashopenssl.c'], - depends = ['hashlib.h'], - include_dirs = ssl_incs, - library_dirs = ssl_libs, - libraries = ['ssl', 'crypto']) ) - else : - exts.append( Extension('_hashlib', ['_hashopenssl.c'], + exts.append( Extension('_hashlib', ['_hashopenssl.c'], depends = ['hashlib.h'], include_dirs = ssl_incs, library_dirs = ssl_libs, - libraries = ['OPENSSL', 'HASH']) ) + libraries = libs_add) ) else: print("warning: openssl 0x%08x is too old for _hashlib" % openssl_ver) From 288e627fef1544820e4ab105b498efe0cd9c0e69 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Thu, 9 Nov 2017 15:57:40 -0500 Subject: [PATCH 017/201] fix indent with patchcheck --- setup.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index c54af0c01ec27f..8d29937142e38e 100644 --- a/setup.py +++ b/setup.py @@ -882,13 +882,13 @@ def detect_modules(self): ssl_libs = find_library_file(self.compiler, lib_find, lib_dirs, lib_paths ) if (ssl_incs is not None and ssl_libs is not None): - exts.append( Extension('_ssl', ['_ssl.c'], - include_dirs = ssl_incs, - library_dirs = ssl_libs, - libraries = libs_add, - depends = ['socketmodule.h']), ) + exts.append( Extension('_ssl', ['_ssl.c'], + include_dirs = ssl_incs, + library_dirs = ssl_libs, + libraries = libs_add, + depends = ['socketmodule.h']), ) else: - missing.append('_ssl') + missing.append('_ssl') # find out which version of OpenSSL we have openssl_ver = 0 From c768168a55ab620c2b746049e21c42ebac1d4ac0 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Fri, 10 Nov 2017 00:11:12 -0500 Subject: [PATCH 018/201] add VxWorks support for os_cpu_count, spawnv, spawnve --- Modules/clinic/posixmodule.c.h | 4 ++-- Modules/posixmodule.c | 39 ++++++++++++++++++++++++++++------ 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 85ba7b5839116b..7f4ab8d86447d3 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1721,7 +1721,7 @@ os_execve(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames #endif /* defined(HAVE_EXECV) */ -#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) +#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) || defined(__VXWORKS__) PyDoc_STRVAR(os_spawnv__doc__, "spawnv($module, mode, path, argv, /)\n" @@ -1765,7 +1765,7 @@ os_spawnv(PyObject *module, PyObject **args, Py_ssize_t nargs) #endif /* (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) */ -#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) +#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) || defined(__VXWORKS__) PyDoc_STRVAR(os_spawnve__doc__, "spawnve($module, mode, path, argv, env, /)\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 7a737f47243dfa..06bbbdd4618493 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -248,6 +248,19 @@ extern int lstat(const char *, struct stat *); #endif /* !_MSC_VER */ +#if defined(__VXWORKS__) +#include +#include +#define HAVE_RTPSPAWN 1 +#ifndef _P_WAIT +#define _P_WAIT 3 +#define _P_NOWAIT 2 +#define _P_NOWAITO 1 +#define _OLD_P_OVERLAY 0 +#define _P_OVERLAY 0 +#endif +#endif + #ifdef HAVE_UTIME_H #include #endif /* HAVE_UTIME_H */ @@ -4772,7 +4785,7 @@ os__exit_impl(PyObject *module, int status) #define EXECV_CHAR char #endif -#if defined(HAVE_EXECV) || defined(HAVE_SPAWNV) +#if defined(HAVE_EXECV) || defined(HAVE_SPAWNV) || defined (HAVE_RTPSPAWN) static void free_string_array(EXECV_CHAR **array, Py_ssize_t count) { @@ -4810,7 +4823,7 @@ fsconvert_strdup(PyObject *o, EXECV_CHAR **out) } #endif -#if defined(HAVE_EXECV) || defined (HAVE_FEXECVE) +#if defined(HAVE_EXECV) || defined (HAVE_FEXECVE) || defined (HAVE_RTPSPAWN) static EXECV_CHAR** parse_envlist(PyObject* env, Py_ssize_t *envc_ptr) { @@ -5081,7 +5094,7 @@ os_execve_impl(PyObject *module, path_t *path, PyObject *argv, PyObject *env) #endif /* HAVE_EXECV */ -#if defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) +#if defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) || defined(HAVE_RTPSPAWN) /*[clinic input] os.spawnv @@ -5158,6 +5171,11 @@ os_spawnv_impl(PyObject *module, int mode, path_t *path, PyObject *argv) _Py_BEGIN_SUPPRESS_IPH #ifdef HAVE_WSPAWNV spawnval = _wspawnv(mode, path->wide, argvlist); +#elif defined (HAVE_RTPSPAWN) + spawnval = rtpSpawn(path->narrow, (const char **)argvlist, + NULL, 100, 0, 0, 0); + if ( (spawnval != RTP_ID_ERROR) && (mode == _P_WAIT) ) + waitpid(spawnval, &spawnval, 0); #else spawnval = _spawnv(mode, path->narrow, argvlist); #endif @@ -5264,6 +5282,11 @@ os_spawnve_impl(PyObject *module, int mode, path_t *path, PyObject *argv, _Py_BEGIN_SUPPRESS_IPH #ifdef HAVE_WSPAWNV spawnval = _wspawnve(mode, path->wide, argvlist, envlist); +#elif defined (HAVE_RTPSPAWN) + spawnval = rtpSpawn(path->narrow, (const char **)argvlist, + (const char **)envlist, 100, 0, 0, 0); + if ( (spawnval != RTP_ID_ERROR) && (mode == _P_WAIT) ) + waitpid(spawnval, &spawnval, 0); #else spawnval = _spawnve(mode, path->narrow, argvlist, envlist); #endif @@ -11152,7 +11175,9 @@ os_cpu_count_impl(PyObject *module) ncpu = sysinfo.dwNumberOfProcessors; } #elif defined(__hpux) - ncpu = mpctl(MPC_GETNUMSPUS, NULL, NULL); + ncpu = mpctl(MPC_GETNUMSPUS, NULL, NULL); +#elif defined(__VXWORKS__) + ncpu = __builtin_popcount(vxCpuEnabledGet()); #elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) ncpu = sysconf(_SC_NPROCESSORS_ONLN); #elif defined(__DragonFly__) || \ @@ -12935,11 +12960,13 @@ all_ins(PyObject *m) if (PyModule_AddIntMacro(m, F_TEST)) return -1; #endif -#ifdef HAVE_SPAWNV +#if defined(HAVE_SPAWNV) || defined (HAVE_RTPSPAWN) if (PyModule_AddIntConstant(m, "P_WAIT", _P_WAIT)) return -1; if (PyModule_AddIntConstant(m, "P_NOWAIT", _P_NOWAIT)) return -1; - if (PyModule_AddIntConstant(m, "P_OVERLAY", _OLD_P_OVERLAY)) return -1; if (PyModule_AddIntConstant(m, "P_NOWAITO", _P_NOWAITO)) return -1; +#endif +#if defined(HAVE_SPAWNV) + if (PyModule_AddIntConstant(m, "P_OVERLAY", _OLD_P_OVERLAY)) return -1; if (PyModule_AddIntConstant(m, "P_DETACH", _P_DETACH)) return -1; #endif From f4b41a9adabd59591869cea3fe1ae7fd0b309a75 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Sat, 18 Nov 2017 00:30:56 -0500 Subject: [PATCH 019/201] Don't build or install shared libraries if HAVE_DYNAMIC_LOADING is not defined --- Makefile.pre.in | 22 +++++++++++++++++++--- configure | 3 +++ configure.ac | 3 +++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 566afba2538ac0..51dacf2cd13d05 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -100,11 +100,18 @@ PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ +HAVE_DYNAMIC_LOADING = @HAVE_DYNAMIC_LOADING@ +ifeq ($(HAVE_DYNAMIC_LOADING),1) CCSHARED= @CCSHARED@ LINKFORSHARED= @LINKFORSHARED@ -ARFLAGS= @ARFLAGS@ # Extra C flags added for building the interpreter object files. CFLAGSFORSHARED=@CFLAGSFORSHARED@ +else +CCSHARED= +LINKFORSHARED= +CFLAGSFORSHARED= +endif +ARFLAGS= @ARFLAGS@ # C flags used for building the interpreter object files PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE # Strict or non-strict aliasing flags used to compile dtoa.c, see above @@ -440,9 +447,14 @@ DTRACE_DEPS = \ # Default target all: @DEF_MAKE_ALL_RULE@ -build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \ + +build_all: check-clean-src $(BUILDPYTHON) gdbhooks \ Programs/_testembed python-config +ifeq ($(HAVE_DYNAMIC_LOADING),1) +build_all: oldsharedmods sharedmods +endif + # Check that the source is clean when building out of source. check-clean-src: @if test -n "$(VPATH)" -a -f "$(srcdir)/Programs/python.o"; then \ @@ -1112,9 +1124,13 @@ altinstall: commoninstall commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \ altbininstall libinstall inclinstall libainstall \ - sharedinstall oldsharedinstall altmaninstall \ + altmaninstall \ @FRAMEWORKALTINSTALLLAST@ +ifeq ($(HAVE_DYNAMIC_LOADING),1) +commoninstall: sharedinstall oldsharedinstall +endif + # Install shared libraries enabled by Setup DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) diff --git a/configure b/configure index b09e3daf4b7143..7137869e71780c 100755 --- a/configure +++ b/configure @@ -632,6 +632,7 @@ EXT_SUFFIX SOABI LIBC LIBM +HAVE_DYNAMIC_LOADING HAVE_GETHOSTBYNAME HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME_R_3_ARG @@ -11131,10 +11132,12 @@ then fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DYNLOADFILE" >&5 $as_echo "$DYNLOADFILE" >&6; } +HAVE_DYNAMIC_LOADING=0 if test "$DYNLOADFILE" != "dynload_stub.o" then $as_echo "#define HAVE_DYNAMIC_LOADING 1" >>confdefs.h +HAVE_DYNAMIC_LOADING=1 fi diff --git a/configure.ac b/configure.ac index a1c6557ef23469..62daf589d2f01c 100644 --- a/configure.ac +++ b/configure.ac @@ -3392,11 +3392,14 @@ then esac fi AC_MSG_RESULT($DYNLOADFILE) +HAVE_DYNAMIC_LOADING=0 if test "$DYNLOADFILE" != "dynload_stub.o" then AC_DEFINE(HAVE_DYNAMIC_LOADING, 1, [Defined when any dynamic module loading is enabled.]) + HAVE_DYNAMIC_LOADING=1 fi +AC_SUBST(HAVE_DYNAMIC_LOADING) # MACHDEP_OBJS can be set to platform-specific object files needed by Python From 2b16c829f8eb8324aeebc492ad039a94b59c3b7b Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Sat, 18 Nov 2017 22:43:14 -0500 Subject: [PATCH 020/201] Restore mathlib() so VxWorks build doesn't fail looking for libm --- setup.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index e5c11a7ea251f5..69656eae7b7c26 100644 --- a/setup.py +++ b/setup.py @@ -120,6 +120,13 @@ def find_file(filename, std_dirs, paths): # Not found anywhere return None +def mathlib(): + # VxWorks has no libm + if host_platform == 'vxworks': + return [] + else: + return ['m'] + def find_library_file(compiler, libname, std_dirs, paths): result = compiler.find_library_file(std_dirs + paths, libname) if result is None: @@ -636,12 +643,12 @@ def detect_modules(self): exts.append( Extension('cmath', ['cmathmodule.c'], extra_objects=[shared_math], depends=['_math.h', shared_math], - libraries=['m']) ) + libraries=mathlib()) ) # math library functions, e.g. sin() exts.append( Extension('math', ['mathmodule.c'], extra_objects=[shared_math], depends=['_math.h', shared_math], - libraries=['m']) ) + libraries=mathlib()) ) # time libraries: librt may be needed for clock_gettime() time_libs = [] @@ -655,7 +662,7 @@ def detect_modules(self): # libm is needed by delta_new() that uses round() and by accum() that # uses modf(). exts.append( Extension('_datetime', ['_datetimemodule.c'], - libraries=['m']) ) + libraries=mathlib()) ) # random number generator implemented in C exts.append( Extension("_random", ["_randommodule.c"]) ) # bisect @@ -743,7 +750,7 @@ def detect_modules(self): # # audioop needs libm for floor() in multiple functions. exts.append( Extension('audioop', ['audioop.c'], - libraries=['m']) ) + libraries=mathlib()) ) # readline do_readline = self.compiler.find_library_file(lib_dirs, 'readline') @@ -2022,7 +2029,7 @@ def detect_ctypes(self, inc_dirs, lib_dirs): # function my_sqrt() needs libm for sqrt() ext_test = Extension('_ctypes_test', sources=['_ctypes/_ctypes_test.c'], - libraries=['m']) + libraries=mathlib()) self.extensions.extend([ext, ext_test]) if host_platform == 'darwin': @@ -2161,7 +2168,7 @@ def _decimal_ext(self): ext = Extension ( '_decimal', include_dirs=include_dirs, - libraries=['m'], + libraries=mathlib(), define_macros=define_macros, undef_macros=undef_macros, extra_compile_args=extra_compile_args, From 215bc2e4c7248e865659dccc131cec497ab1b35e Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Wed, 22 Nov 2017 11:03:06 -0500 Subject: [PATCH 021/201] Reverse ifeq HAVE_DYNAMIC_LOADING logic in Makefile.pre.in so the _parse_makefile in sysconfig.py propigates the correct settings to Setup.py --- Makefile.pre.in | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 51dacf2cd13d05..b0e1edcebfe8e8 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -100,16 +100,21 @@ PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) NO_AS_NEEDED= @NO_AS_NEEDED@ LDLAST= @LDLAST@ SGI_ABI= @SGI_ABI@ -HAVE_DYNAMIC_LOADING = @HAVE_DYNAMIC_LOADING@ -ifeq ($(HAVE_DYNAMIC_LOADING),1) +# +# Note: _parse_makefile in sysconfig.py will use last define of Makefile variables +# unaffected by 'ifeq' below +# this is used for building shared libraries with Setup.py +# +HAVE_DYNAMIC_LOADING=@HAVE_DYNAMIC_LOADING@ +ifeq ($(HAVE_DYNAMIC_LOADING),0) +CCSHARED= +LINKFORSHARED= +CFLAGSFORSHARED= +else CCSHARED= @CCSHARED@ LINKFORSHARED= @LINKFORSHARED@ # Extra C flags added for building the interpreter object files. CFLAGSFORSHARED=@CFLAGSFORSHARED@ -else -CCSHARED= -LINKFORSHARED= -CFLAGSFORSHARED= endif ARFLAGS= @ARFLAGS@ # C flags used for building the interpreter object files From e62ed3672a7ef26502fbae76b3934f100040f6a9 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Tue, 26 Dec 2017 23:16:07 -0500 Subject: [PATCH 022/201] fix review issues --- Modules/socketmodule.c | 3 +-- configure.ac | 12 ++++++------ setup.py | 3 ++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index eb23de4238765d..ca52b017213bcf 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -532,7 +532,6 @@ set_error(void) return PyErr_SetFromErrno(PyExc_OSError); } -/*#ifndef __VXWORKS__ */ static PyObject * set_herror(int h_error) { @@ -550,7 +549,7 @@ set_herror(int h_error) return NULL; } -/* #endif */ + static PyObject * set_gaierror(int error) diff --git a/configure.ac b/configure.ac index da4c8a9b8bef00..7e7d3d143e6cfb 100644 --- a/configure.ac +++ b/configure.ac @@ -421,12 +421,12 @@ if test "$cross_compiling" = yes; then _host_cpu=$host_cpu esac ;; - *-*-cygwin*) - _host_cpu= - ;; - *-*-vxworks*) - _host_cpu=$host_cpu - ;; + *-*-cygwin*) + _host_cpu= + ;; + *-*-vxworks*) + _host_cpu=$host_cpu + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" diff --git a/setup.py b/setup.py index 083c755d06efd3..07aac454d407a6 100644 --- a/setup.py +++ b/setup.py @@ -549,7 +549,7 @@ def detect_modules(self): add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia - if (cross_compiling and not host_platform == 'vxworks'): + if cross_compiling and not host_platform == 'vxworks': self.add_gcc_paths() self.add_multiarch_paths() @@ -2198,6 +2198,7 @@ def _decimal_ext(self): ext = Extension ( '_decimal', include_dirs=include_dirs, + libraries=libraries, define_macros=define_macros, undef_macros=undef_macros, extra_compile_args=extra_compile_args, From 0861635b494db584de0c6418bf3dfb2c8a8422c8 Mon Sep 17 00:00:00 2001 From: Brian Kuhl Date: Sat, 30 Dec 2017 23:08:22 -0500 Subject: [PATCH 023/201] regenerated clinic/posixmodule.c.h with correct checksum --- Modules/clinic/posixmodule.c.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index db662cf0c873a8..e704e56a972ffa 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1721,7 +1721,7 @@ os_execve(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *k #endif /* defined(HAVE_EXECV) */ -#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) || defined(__VXWORKS__) +#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) || defined(HAVE_RTPSPAWN)) PyDoc_STRVAR(os_spawnv__doc__, "spawnv($module, mode, path, argv, /)\n" @@ -1763,9 +1763,9 @@ os_spawnv(PyObject *module, PyObject *const *args, Py_ssize_t nargs) return return_value; } -#endif /* (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) */ +#endif /* (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) || defined(HAVE_RTPSPAWN)) */ -#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) || defined(__VXWORKS__) +#if (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) || defined(HAVE_RTPSPAWN)) PyDoc_STRVAR(os_spawnve__doc__, "spawnve($module, mode, path, argv, env, /)\n" @@ -1811,7 +1811,7 @@ os_spawnve(PyObject *module, PyObject *const *args, Py_ssize_t nargs) return return_value; } -#endif /* (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV)) */ +#endif /* (defined(HAVE_SPAWNV) || defined(HAVE_WSPAWNV) || defined(HAVE_RTPSPAWN)) */ #if defined(HAVE_FORK) @@ -6405,4 +6405,4 @@ os_getrandom(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject #ifndef OS_GETRANDOM_METHODDEF #define OS_GETRANDOM_METHODDEF #endif /* !defined(OS_GETRANDOM_METHODDEF) */ -/*[clinic end generated code: output=b6ade5f170d5a431 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=815f3fbfcb31ce48 input=a9049054013a1b77]*/ From c6d7110c4af797c5744ec907b2971485d822e33d Mon Sep 17 00:00:00 2001 From: Oscar Shi Date: Tue, 9 Jan 2018 09:44:57 -0600 Subject: [PATCH 024/201] test --- configure | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/configure b/configure index 2323e57ad0a090..798db8cdb6ee75 100755 --- a/configure +++ b/configure @@ -632,7 +632,6 @@ EXT_SUFFIX SOABI LIBC LIBM -HAVE_DYNAMIC_LOADING HAVE_GETHOSTBYNAME HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME_R_3_ARG @@ -641,6 +640,7 @@ HAVE_GETHOSTBYNAME_R_6_ARG LIBOBJS TRUE MACHDEP_OBJS +HAVE_DYNAMIC_LOADING DYNLOADFILE DLINCLDIR DTRACE_OBJS @@ -2927,7 +2927,7 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; } if $interp -c "import sys;sys.exit(not '.'.join(str(n) for n in sys.version_info[:2]) == '$PACKAGE_VERSION')"; then break fi - + interp= done if test x$interp = x; then as_fn_error $? "python$PACKAGE_VERSION interpreter not found" "$LINENO" 5 @@ -3259,8 +3259,8 @@ then ac_sys_system=Cygwin ;; *-*-vxworks*) - ac_sys_system=VxWorks - ;; + ac_sys_system=VxWorks + ;; *) # for now, limit cross builds to known configurations MACHDEP="unknown" @@ -3306,7 +3306,7 @@ if test "$cross_compiling" = yes; then _host_cpu= ;; *-*-vxworks*) - _host_cpu= + _host_cpu=$host_cpu ;; *) # for now, limit cross builds to known configurations @@ -3326,10 +3326,6 @@ fi # wildcard, and that the wildcard does not include future systems # (which may remove their limitations). case $ac_sys_system/$ac_sys_release in - # On VxWorks if _XOPEN_SOURCE is defined the socket.h header - # has undefined types. - VxWorks* ) - define_xopen_source=no;; # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, # even though select is a POSIX function. Reported by J. Ribbens. # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. @@ -3403,6 +3399,11 @@ $as_echo "#define _BSD_SOURCE 1" >>confdefs.h QNX/6.3.2) define_xopen_source=no ;; + # On VxWorks, defining _XOPEN_SOURCE causes compile failures + # in network headers still using system V types. + VxWorks/*) + define_xopen_source=no + ;; esac @@ -6166,7 +6167,7 @@ esac fi fi -if test "$cross_compiling" = yes && test "$ac_sys_system" != VxWorks ; then +if test "$cross_compiling" = yes; then case "$READELF" in readelf|:) as_fn_error $? "readelf for the host is required for cross builds" "$LINENO" 5 @@ -11186,10 +11187,11 @@ if test "$DYNLOADFILE" != "dynload_stub.o" then $as_echo "#define HAVE_DYNAMIC_LOADING 1" >>confdefs.h -HAVE_DYNAMIC_LOADING=1 + HAVE_DYNAMIC_LOADING=1 fi + # MACHDEP_OBJS can be set to platform-specific object files needed by Python @@ -13235,7 +13237,9 @@ fi # checks for compiler characteristics -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5 +# test results in duplicate def of __CHAR_UNSIGNED__ on VxWorks +if test "$ac_sys_system" != "VxWorks" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5 $as_echo_n "checking whether char is unsigned... " >&6; } if ${ac_cv_c_char_unsigned+:} false; then : $as_echo_n "(cached) " >&6 @@ -13263,11 +13267,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5 $as_echo "$ac_cv_c_char_unsigned" >&6; } -if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes && test "$ac_sys_system" != "VxWorks" ; then +if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h fi +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : From 760da7a916767449fea8e2ac3c02074a1078a444 Mon Sep 17 00:00:00 2001 From: Oscar Shi Date: Mon, 15 Jan 2018 13:31:33 -0600 Subject: [PATCH 025/201] record changes before I remove test code --- .ropeproject/config.py | 112 +++ .ropeproject/globalnames | Bin 0 -> 347509 bytes .ropeproject/history | Bin 0 -> 14 bytes .ropeproject/objectdb | Bin 0 -> 6 bytes Modules/_vxwapi.c | 97 ++ Modules/a.out | Bin 0 -> 8640 bytes Modules/clinic/_vxwapi.c.h | 49 + Modules/oscar.c | 5 + Modules/oscar.h | 1 + Modules/oscar.h.gch | Bin 0 -> 1597872 bytes Modules/oscartest.c | 5 + autoconf_vsbConfig_quote.h | 7 + config.vx.app | 54 + python.vxe | Bin 0 -> 12809298 bytes python.vxe-gdb.py | 1916 ++++++++++++++++++++++++++++++++++++ setup.py | 2 + vxworks.mak | 78 ++ vxworks_env.sh | 38 + 18 files changed, 2364 insertions(+) create mode 100644 .ropeproject/config.py create mode 100644 .ropeproject/globalnames create mode 100644 .ropeproject/history create mode 100644 .ropeproject/objectdb create mode 100644 Modules/_vxwapi.c create mode 100755 Modules/a.out create mode 100644 Modules/clinic/_vxwapi.c.h create mode 100644 Modules/oscar.c create mode 100644 Modules/oscar.h create mode 100644 Modules/oscar.h.gch create mode 100644 Modules/oscartest.c create mode 100644 autoconf_vsbConfig_quote.h create mode 100644 config.vx.app create mode 100755 python.vxe create mode 100644 python.vxe-gdb.py create mode 100644 vxworks.mak create mode 100755 vxworks_env.sh diff --git a/.ropeproject/config.py b/.ropeproject/config.py new file mode 100644 index 00000000000000..0bf77501804861 --- /dev/null +++ b/.ropeproject/config.py @@ -0,0 +1,112 @@ +# The default ``config.py`` +# flake8: noqa + + +def set_prefs(prefs): + """This function is called before opening the project""" + + # Specify which files and folders to ignore in the project. + # Changes to ignored resources are not added to the history and + # VCSs. Also they are not returned in `Project.get_files()`. + # Note that ``?`` and ``*`` match all characters but slashes. + # '*.pyc': matches 'test.pyc' and 'pkg/test.pyc' + # 'mod*.pyc': matches 'test/mod1.pyc' but not 'mod/1.pyc' + # '.svn': matches 'pkg/.svn' and all of its children + # 'build/*.o': matches 'build/lib.o' but not 'build/sub/lib.o' + # 'build//*.o': matches 'build/lib.o' and 'build/sub/lib.o' + prefs['ignored_resources'] = ['*.pyc', '*~', '.ropeproject', + '.hg', '.svn', '_svn', '.git', '.tox'] + + # Specifies which files should be considered python files. It is + # useful when you have scripts inside your project. Only files + # ending with ``.py`` are considered to be python files by + # default. + #prefs['python_files'] = ['*.py'] + + # Custom source folders: By default rope searches the project + # for finding source folders (folders that should be searched + # for finding modules). You can add paths to that list. Note + # that rope guesses project source folders correctly most of the + # time; use this if you have any problems. + # The folders should be relative to project root and use '/' for + # separating folders regardless of the platform rope is running on. + # 'src/my_source_folder' for instance. + #prefs.add('source_folders', 'src') + + # You can extend python path for looking up modules + #prefs.add('python_path', '~/python/') + + # Should rope save object information or not. + prefs['save_objectdb'] = True + prefs['compress_objectdb'] = False + + # If `True`, rope analyzes each module when it is being saved. + prefs['automatic_soa'] = True + # The depth of calls to follow in static object analysis + prefs['soa_followed_calls'] = 0 + + # If `False` when running modules or unit tests "dynamic object + # analysis" is turned off. This makes them much faster. + prefs['perform_doa'] = True + + # Rope can check the validity of its object DB when running. + prefs['validate_objectdb'] = True + + # How many undos to hold? + prefs['max_history_items'] = 32 + + # Shows whether to save history across sessions. + prefs['save_history'] = True + prefs['compress_history'] = False + + # Set the number spaces used for indenting. According to + # :PEP:`8`, it is best to use 4 spaces. Since most of rope's + # unit-tests use 4 spaces it is more reliable, too. + prefs['indent_size'] = 4 + + # Builtin and c-extension modules that are allowed to be imported + # and inspected by rope. + prefs['extension_modules'] = [] + + # Add all standard c-extensions to extension_modules list. + prefs['import_dynload_stdmods'] = True + + # If `True` modules with syntax errors are considered to be empty. + # The default value is `False`; When `False` syntax errors raise + # `rope.base.exceptions.ModuleSyntaxError` exception. + prefs['ignore_syntax_errors'] = False + + # If `True`, rope ignores unresolvable imports. Otherwise, they + # appear in the importing namespace. + prefs['ignore_bad_imports'] = False + + # If `True`, rope will insert new module imports as + # `from import ` by default. + prefs['prefer_module_from_imports'] = False + + # If `True`, rope will transform a comma list of imports into + # multiple separate import statements when organizing + # imports. + prefs['split_imports'] = False + + # If `True`, rope will remove all top-level import statements and + # reinsert them at the top of the module when making changes. + prefs['pull_imports_to_top'] = True + + # If `True`, rope will sort imports alphabetically by module name instead of + # alphabetically by import statement, with from imports after normal + # imports. + prefs['sort_imports_alphabetically'] = False + + # Location of implementation of rope.base.oi.type_hinting.interfaces.ITypeHintingFactory + # In general case, you don't have to change this value, unless you're an rope expert. + # Change this value to inject you own implementations of interfaces + # listed in module rope.base.oi.type_hinting.providers.interfaces + # For example, you can add you own providers for Django Models, or disable the search + # type-hinting in a class hierarchy, etc. + prefs['type_hinting_factory'] = 'rope.base.oi.type_hinting.factory.default_type_hinting_factory' + + +def project_opened(project): + """This function is called after opening the project""" + # Do whatever you like here! diff --git a/.ropeproject/globalnames b/.ropeproject/globalnames new file mode 100644 index 0000000000000000000000000000000000000000..e7483b7a41b339df0eb6b944e810523dd5652d14 GIT binary patch literal 347509 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 z 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 DM=r$; literal 0 HcmV?d00001 diff --git a/.ropeproject/history b/.ropeproject/history new file mode 100644 index 0000000000000000000000000000000000000000..4490a5d97c960ec09c2666de3b6655a1b6755707 GIT binary patch literal 14 VcmZo*iY;W&h%ID{Eo4g70{|Rf1FHZ4 literal 0 HcmV?d00001 diff --git a/.ropeproject/objectdb b/.ropeproject/objectdb new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/Modules/_vxwapi.c b/Modules/_vxwapi.c new file mode 100644 index 00000000000000..744e2192577abb --- /dev/null +++ b/Modules/_vxwapi.c @@ -0,0 +1,97 @@ + /************************************************ + * VxWorks Compatibility Wrapper + * + * Python interface to vxWorks methods + * + * Author: Oscar Shi (co-op winter2018) + * + * modification history + * -------------------- + * 12jan18 created + * + ************************************************/ + +#if defined(__VXWORKS__) +#include "Python.h" +#include +#include "oscar.h" +// TODO use python Clinic + +static PyObject * oscar_wrapper(PyObject * self, PyObject * args){ + return PyUnicode_FromString(oscar()); +} + +/* + * RTP_ID rtpSpawn + * ( + * const char *rtpFileName, Null terminated path to executable + * const char *argv[], Pointer to NULL terminated argv array + * const char *envp[], Pointer to NULL terminated envp array + * int priority, Priority of initial task + * size_t uStackSize, User space stack size for initial task + * int options, The options passed to the RTP + * int taskOptions Task options for the RTPs initial task + * ) + * + */ + +static PyObject * rtpSpawn_wrapper(PyObject * self, PyObject * args){ + char * rtpFileName; + PyObject *argv; + PyObject *envp; + int priority; + size_t uStackSize; + int options; + int taskOptions; + if(!PyArg_ParseTuple(args,"")) +} + +/*[clinic input] +module _vxwapi +[clinic start generated code]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=6efcf3b26a262ef1]*/ + +/*[clinic input] +_vxwapi.rtpSpawn + + rtpFileName: str + argv: object(subclass_of='&PyList_Type') + envp: object(subclass_of='&PyList_Type') + priority: int + uStackSize: unsigned_int(bitwise=True) + options: int + taskOptions: int + / + +Spawn a real time process in the vxWorks OS +[clinic start generated code]*/ + +static PyObject * +_vxwapi_rtpSpawn_impl(PyObject *module, const char *rtpFileName, + PyObject *argv, PyObject *envp, int priority, + unsigned int uStackSize, int options, int taskOptions) +/*[clinic end generated code: output=4a3c98870a33cf6a input=86238fe5131c82ba]*/ + +static PyMethodDef OscarMethods[] = { + { "oscar", oscar_wrapper, METH_VARARGS, "Is this documentation?" }, + { NULL, NULL, 0, NULL } +}; + +static struct PyModuleDef oscarmodule = { + PyModuleDef_HEAD_INIT, + "oscar", + NULL, + -1, + OscarMethods +}; + +PyMODINIT_FUNC +PyInit_oscar(void){ + return PyModule_Create(&oscarmodule); +} + + + + + +#endif diff --git a/Modules/a.out b/Modules/a.out new file mode 100755 index 0000000000000000000000000000000000000000..5f4697396f1ad0430b474f6123b96623f0c4c1a5 GIT binary patch literal 8640 zcmeHNZ){sv6~DIguTASX>7TiOpbuz~JC;|cOM=J7YUl5Bm9$;zj1EX&oY+YW{!`h{ zCG7{ul&+dJx>giT(Ig}!gv7oe_yXYzZI!YPfkcL=Hi>=c5S`MkgG^&pgtVG-?mNeR zes-nufiEaGdOr93?)ja2?!V`Iuk*eBp#i7EAvih3(*iYrT~I>iCuDa@m9T)=AcA6# z*ex0WsfQ;hOHi6QmTTmiWfR%CK-R$%aGF5C8I&28yG zqAjLlw~ZL)-=;>sT^~dkbW=VhH6d6s?-}4>oDZ8kWH>_gJ*Zz+seLR-6$g@uiSEt= z$yj?bk;TVvn=&LH!EW5lF1gL2`lkVMd@O6aqPQ`zLn2@Q!DZl;oPC6Z;_}#?v%tap;$NU?V@uM{UBI-$ z4QagcoBPG0%t4)(LSG9#8!8k-qoK&qg?&G7QXu#X?I@3j3-`i>n?w6=%dxulscU5r znA!^;8cN4sxxGV$_lFAi`oKeR>pR-~l0$pqgZ%qAklz>!eKRx`IvLWJE|vS|V;EoQ zkA~U-b4v@uoZ01i65kOxue?yriy%*cJOT0uME?tr&w*S9ISXg$E zgk#p@*tMy#>5`+-gE+pE*FG&4A4LO7we5w#^@a8?g1sMY-JSur_i#(|cbewJp`A}Y z`uN_@BaAjMUBoL8Bd%c)a(m7@dp9=>K*gY9c?_QCq5Lx-OXVlba^#+aXAa8aSl;9I zTy*xhy)V1^-O7c!9=GrN^_ts%zCm*b<{O9I!K^zFa{EJWUyoY>JFxF@H_7+XAA$Ze z@MB$H=yE-+_rQ7&toOir53KjV|7{PzCI{24I#WsoK6nqxauXH2;WF(ulYX7}J4omA z)h^Qce8k5|FKoXs;rBZxF8}0yF@ySoGl-&e=JQg0eAZcX2C-Odl%GNzA}RL}koS_l zjU{sXNGS zmGl!-PVoO+@Hy6AQ3H+tcH2B)yTRVxuPDCJiG13~D_v@*>TmDPOReL(9o?$GQ|;Ps z;>tmPN4LM*{{&MXC|xki0?uGnxeG=oQWJLxqb6Qgnm1NwE|^7&HSHS&&#OxNMp0`# zTrf*{94qZN2%Zm>_(s9=rV?)!ynZV2O=7jiJaCE4La8wxF5xcS*Hrpx5xgENagSK0 zby|tHmhKrU@iyUY2wEYTcZn^fdlYM-3sw)W>q>l^z~h!Zxx{w3U#W#ZQaT@7IWAn) zv~DZ$9l}==-zo6;XiqM|Z>4exuE#p@QL&7eIegzaM0Nc5o^wL~kK4utJtO{O8?F*= zf4}1S#Q~RW94EgQj!V3{KhKgMVH?Nu(!P3JehPT4c0H)Qzm$I3gs(9OxpKM!*;@U8 z7Pb8UK~lF=&4+iSpXzbHP4@h~AyxQTlbP!I*$fSE)R+&S1H29TA8#ix@%z04a77}O z9~UKFJ%5JD&lkxLf3F+|+#`0B#*4juN!nMhyRS=}t;#a}0Q>^^x6kKS0awcOQtmat zTb(%EQ`zXKfm2d`}~$ul#^x8U)>JPg|WTqb+I7v{77O~BEf=Pmle z^e)-seGn#jW(WBm;0gk^^l!j1e!HIr7&ygdi|U`izD?A4e@)a^Hj*H(-}~W z_$++l)B>Z7>~=LiLz8JH22NNrsphOQ8Jz#tB$z=p(Ntm*V#pZi9uOQu75Y)AFuzkU zXKSpg{~p5cIarFN_bcz;_;(%N*RyA|wWcqC(g+W~pLw6hzndslW61OSi{TE)Soypk zG|1szHY921_W^zn_TF6of-@*B7YN|^>m^z~pO7k!KnA}Pn7`-@f(G~A1dL0~yobfM z+s_Hl0)}T1=JP((O9vD_&yXA0*PKUr5*|EDFrW9UCy3AWar|t@^4q}2vkB|tt{@-+ z_P0_9#T23eq&0qm1@1$zPnkbQ{5j%#$&l;kco;uN{2sF7eeweF`8MB{jwZ`Xfhd=6!Ma?7fCjrcr%yiZsrKCUfmvh&S-VtM@ecS`>K@+m7B z@^-$tpDgqFoZ+Pb-D+#Uz5jj>KJlkn8m`iLgn!Sp+uQYf zRw(DXt){E=g4)D}RA^IW-Mn_J{8JSFI1Suqq3{4a+#Yfd|3^`~{^jkaH^t`MUjKgp DPRAYL literal 0 HcmV?d00001 diff --git a/Modules/clinic/_vxwapi.c.h b/Modules/clinic/_vxwapi.c.h new file mode 100644 index 00000000000000..739adaf801b0f6 --- /dev/null +++ b/Modules/clinic/_vxwapi.c.h @@ -0,0 +1,49 @@ +/*[clinic input] +preserve +[clinic start generated code]*/ + +#if defined(__VXWORKS__) + +PyDoc_STRVAR(_vxwapi_rtpSpawn__doc__, +"rtpSpawn($module, rtpFileName, argv, envp, priority, uStackSize,\n" +" options, taskOptions, /)\n" +"--\n" +"\n" +"Spawn a real time process in the vxWorks OS"); + +#define _VXWAPI_RTPSPAWN_METHODDEF \ + {"rtpSpawn", (PyCFunction)_vxwapi_rtpSpawn, METH_FASTCALL, _vxwapi_rtpSpawn__doc__}, + +static PyObject * +_vxwapi_rtpSpawn_impl(PyObject *module, const char *rtpFileName, + PyObject *argv, PyObject *envp, int priority, + unsigned int uStackSize, int options, int taskOptions); + +static PyObject * +_vxwapi_rtpSpawn(PyObject *module, PyObject *const *args, Py_ssize_t nargs) +{ + PyObject *return_value = NULL; + const char *rtpFileName; + PyObject *argv; + PyObject *envp; + int priority; + unsigned int uStackSize; + int options; + int taskOptions; + + if (!_PyArg_ParseStack(args, nargs, "sO!O!iIii:rtpSpawn", + &rtpFileName, &PyList_Type, &argv, &PyList_Type, &envp, &priority, &uStackSize, &options, &taskOptions)) { + goto exit; + } + return_value = _vxwapi_rtpSpawn_impl(module, rtpFileName, argv, envp, priority, uStackSize, options, taskOptions); + +exit: + return return_value; +} + +#endif /* defined(__VXWORKS__) */ + +#ifndef _VXWAPI_RTPSPAWN_METHODDEF + #define _VXWAPI_RTPSPAWN_METHODDEF +#endif /* !defined(_VXWAPI_RTPSPAWN_METHODDEF) */ +/*[clinic end generated code: output=b00bd9a882c5b91c input=a9049054013a1b77]*/ diff --git a/Modules/oscar.c b/Modules/oscar.c new file mode 100644 index 00000000000000..eb4a62cf678060 --- /dev/null +++ b/Modules/oscar.c @@ -0,0 +1,5 @@ +#include "oscar.h" + +char * oscar(void){ + return "HIOSCAR"; +} diff --git a/Modules/oscar.h b/Modules/oscar.h new file mode 100644 index 00000000000000..6efcbd527cdbd1 --- /dev/null +++ b/Modules/oscar.h @@ -0,0 +1 @@ +extern char* oscar(void); diff --git a/Modules/oscar.h.gch b/Modules/oscar.h.gch new file mode 100644 index 0000000000000000000000000000000000000000..67106e5f7f65dc54c6a91e1e6b1cd336cdd987d4 GIT binary patch literal 1597872 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
  • K)1Re-H5O^T) zK;VJE1Azwu4+I_vJP>#w@Ic^!zypB?0uKZp2s{vYAn-uofxrWS2LcZS9tb=Tcp&gV z;DNvcfd>K)1Re-H@Hg;48Q<@%ya!BP4UT>iY?ts^eD80azu(`s2OEJ00uKZp2t4o) z;enNVMY#;)Y+(ec=iWG@(>ys!S=dn^U^ z6!4zD$XU?Ii=opAXuHVhEBJkWQ?S=A<8;?S_ig5IPO$PGwqGmrY3KJo)ZY>hKN zj`-$9GF^-7n?GOL?fk;$!ESBidOU~85qcU3uZ~H(oxXK~zugYExw_-%@ye_I^|RCe zwOl!fd@DPTUVh^$S$=x^(c|0o3Ay%beb*gJXQ%&X;o5t#->niDc?P)txc@)>@y~Kx z|6co1*noD@=mWzif@SVEdxoGx17P$R?W*)x#Ix()+9tfk2thxHv z=#2>P`xUr;B{*6Jdv5~kp8;Ljw`Jc$WIbvZaJu8!euGTE_D~tWosnx}?Kd)A@55y} zw+{aT@gonE@m$#&%_qq4^5sak_GU0ylI6P7-%%ZUJMxLYQ?l~%JC=W;dh~c}XCplF zuVAhh`_=pubn%l%Pape{fB5PnrGIQ4`5EFD9wfu>s6TSQM*8$4WO`dSf9hW!cmBO^ zMZC}@cPzd;eV_vm1RnU?c_4Ob0uKZp2s{vYAn-uofqzyHjPg8G z@$qu}^Uu1!cXYp2p6Kt72+yysJRRZ9X9eT7JL=OQUf_Yi1OGD~u%AEM&tdK7DE9LS z`}u=Pma03;Q{Q{hYv_cfX_a!1@qanr6Nb?B(?gJ+_~Y!2Z8wMft_x<18pT=ukzbAT`OW(l*Vg8lr?qK%Ej28Nx^nZhYH?_p9 zGEM%S)ovNOe{aTOZ)?4}tNIfZ>mVtE*u88nE}1;M%9a(x<^#6*T@0tXvBg zJ_|-Z4>rF57QYBazYLmR0qfrfBR>R-KL%Sr1>?T}SAPxm{ua#L3>q!4@<*_I7xe4- zyMjGE;L1J0(R+hy_XSJ$1N$BTRvrW<9}E^B2DTmv#vcQ&J`U{d19MLT>nDSe0kAj> zwjyBs>EPs8M&VlAU*kaZe zpvxARKO5{>0vpVgL(u8N;Ajq9KLW0u1D0M0=3WH$y#zE~3f7sGJaqCrFmgWFcojJM zS}^wpu>K}6^mfpCCs@7`?70dYeLuMVFJP?-mOlf=uLXNP2d;h|T=@c+UIRzJ2(Et# zEPVyceHAonVBzav%sE(!2I{Y$Zx>VI#|64EdCaZ z{vI@M25Yx~z@C0^bpY%g0dt$c`qSBd zD%(Q;yrR`wy6tEftP5zzj{OQmQ z{@w1;7eJRLK!bmuJ2DF$od;_c7|()@WiXus*UtfSF9r?%{qw?ktltbK-v(CS0h(8U z`7+qJ8XWx>u=GLD_$b(_g5`e$->Avv8QpoXL7tPU~wDR+5yI&12*_~ zo{I@+lYd{hJO$muzq^}03wmuH>{|pYOJL+MSo=P{uVeD>{O0qpH_iup`FC$~mqOS1 z_iiJvfi7MKu6%;ye;Qo-S1|V(u zJ=cM&-vra&2F;&=EoS)_(D`42;a`J|-+(JOfup|z*MAST_;)$uJ@C`&y}(}n{#Nb* z&~^U)Q{{iEsGSX+&w}wK zFuV-*90FHzVEPC+dJfq8LU8RxVCltR?j>Mf9yHDc>&(h|(8&wH$c13&BCyFU7NE^b z!4|Xp3h4YR!T77d@Cw-TYOujfzYe-o1aof$V{Zcc-V7RV0qe}lTcHbY1CwtDBPB5O z4zS6rz7x85IcU8LG_M59WibC9Fnl%G^IovQTzNnAXa(&30J!!+F!y1w@1tP-V_;7+e_u(}Q5|Fj(3Mj$VxN`ko41+yX|o zfwk>mc?Xz}g5hU_?s=+S?yqh8+IH+;E(-QN8|--w(l?l^DuA&|K;z|L}-cW$40tz~oh6g1kIm=v-^4`7|= z`wD-8PTmSOzJT*2@@MGPHR#Z7&?{erZn92)3A%ba!biUhUHl7l?^mEL1O47Q>*#UN zYhOjUc_--He{g;eg|;3Jnmlhjc0-@qu}TkaGmEROJmTn9iYMUla*&fC&$6i zF0i^Av`z(0p0}*+gD&p}^QVFF)4^~Y?0GKOV6L74y>cd)ejYgbe6aTg;5u_H0bNRh zxd||K0PLFtjVZ8s0a$+;j(hb&=*rWft&5?P&xDQ^pd-(MZoLdTGzwk21iHyO|8i(^ z4B_!tK*x7NhhGW3atie73UvB4VDIa|wadU*5j1!{wDM-?J_6R6m5)LfJ_aUN!N|wK z&^2I_S^Wfb@sptSDKPqJ(EL}h#SH%^bWa0pFjs#Fy>bJX{t-C(W3cx|aP22x>8D_> z3C4Z~_Wc|*egW2*m0v;^eg!6f4K{8CS8fAG{{pTX7{`|G1jgF zTfH~5bzjg7fwlXC`3HjG~tqq{b^R=}nL+4Kh!(p(& z^R_F4(4)iPI?vyhBG9p?f(FmyR-OT!d=?lP1)H0}>K3rL75wkE&meu^fxrWS2LcZS z9tb=Tc;J891J*W-Tg>fXZ3md&35K5oHpan~UEn%D-;V8vuEfF6^FS*B)((K-X>es0 zT+e`gXM=?$u*uK0qc4OmzXa?#4_vtbT)!BMT?$rS35NK2wsjeFtq6wS0K)1Re-H5O^T) zK;VJE1Azwu4+I_vJP>#w@Ic^!zypB?0uR6g_2=MwO_AMTaSzz@Dtteoa0+xY29^$h zxk+%9-|N%Ez!KO&!Q@68~nZ zX4lKEkNy5myL`JGyWaMDI^FN}wCfSM9rbE33x9zQ8+Z?6o!Kp)^>~vo(Sey*Ezh!di1t?8X&&Gvg(`Td*rdnfJV>-Kx`2+D2Ua39qBN6g!hul*j+7QeqT&hKqqnMS(C z3>cmTBdiN)=sMe5FT1IsO8|*El@= zY}k8F0c-46D+(Rrd@CFt-vxUt2G;i>ztyurV>j$A4zF@~$wh>hIlOc#;-xLv*Y`m8 zJQ_O6I>h<*WMS_;M*S-s@0k0sg#3=>Ph%PJj^)?lUey1;yMO;(|EjZ7okuonC*k|z zHg(WZKJ5O)?l0`9(MRL_O+JIkI>%gLmTf!7TVYn&UT50*+FZBObNn6?<(SL}GsdiP zyfo`Pv&gJ4>l|;5b%WVruG{536Xk^-1NJdTnQ^Ac@hsK_W`yk})-l$rtZU3B(>MX; zq&Z$M>pbf)>nO9x_9W{ZbA?%ERyf`ov&!~5bDi1X@SexApP3P6jM?INY1VmWky&Ae zo`rnYST~q0W*>)-GDDAJKQl*}ahn{^VqIWbY%ke%)~l>*%qG*|>u8DN^|D@N9cCS6 z+U+r5;DNvcfd>K){NM1v=s3p7Y32%ZmDynSoPu~^W}KO4mYFqXi)rpcx+v3P=9{n= zSy%1wpTXW_9oh{YVJ4XcW`$X28ZpH0W5$>{W{J7RTxa&4igcsQG;@Wy%4{%u_8@+k z8D|!L4tt(;nOR|bjdhD@?nV44(_$8xRc4bJ+K2cNW|CQ8R+x2W={&?=XEwi%@x$o( zu&0?T%+NOwzRJ46?70B(!^}7{&nz=*%ofwU5b2^!i&}lkbB)Sf=nz_nsFnjnuGR(}~1^4k5GtW#jlQD$bXTPog(P>DpO2kVtOUwq-*v`k3nPZliYs__K?+$J^ zk3{>8G1E-z>9FTn7nv328neLh8mwE)*dW)JIl7lMGsN>d7Kc~a9-c$I7&B?>eVm?| zXRdH~iP>O#Xg}iDY&+9pd!AXb<1vkSq%%(gN0}CLg&F2}4c5l#h#zK-GLtqr{tD|7 zv%;(~S2$kvOyt*K8qb5aT<42@-u$g;m-E;1Z(SdEexrO|5$$2nY9cbZ`Lc!iXF~0xV@XqQD$k7({sDeGfNy^ zWv<(r!^3zho#Qp^^Tj?Nm@%fw?YP9c%3NoLxV^_XUW~QH%-fp7^Y(ec z_6D=U=SPjX&J6MSlK(rMFLpby%log=PXCX}IJf^iv&^h9TTF8&&X*|jA9a6%dii@G z_IEyC?DGDr^sjwj?dAcKuNPImt~8i=wwIV8?%z#jh_4S}<_cd|Doo3^Gb>DE2-gjR zuM;M7l$m6PIbMl%mATFg+1Cs1|C6lq%nGx{9OZZ>Umv>p<8NiR$48Y@u)kGijoDz9 z4kCP=wXqAj!uAmBDr=KF~S;T6_Z<_gb+9%S^-01u!a2eY!Zs&eHxst>pkIK} z<0LaAEtBZJl%$trm}DQx6v;eE>r1%4!#WcCseL}mAjt$t>jF&olZ=tn7Gk=GWRzr% zq-zoCdq`$TI*!8hFv%22`_Y&lB$*&-^0h+PtqPmKR3xB$zGBPl4A661n_*~A=zt193<>s zgz-{@qomIfc0EMr*=CgNwf%TLBAj^uu@*;ZC+Q*?{UfDcf-*taMc7X9{UpOAqa+g} z$K{~#1UAm>x^xW=W)%m0h(BM6sBd*7X_vILouKjPz)#r z6a#As10m;xF%#JRZ*x;aV-qV=eS1p-6s@VXj@`v-S~dK`ehw5cg~xwF){d*LfrNrx zXd;Bs9HA!m133{TB(h)aM3j?I6#Qx(sHk-~xkkhrH>sBYDexrnucZQrbY2MNDX=JC z^#sgFq?^h1&icBJv4MVZ#!KZD`C)0Xo?s%i;a}sZuCA_`UC3Y5N3^T3E95VDt3js6)z)wmp@(*b0ugi)9Fv0vF3hTE{D$n#W)#Im4(ZSAxo zuOfd@4_OMmh&y5Y_*%%Ky0+Rekr@~CJlFo1wc~il_+oyni2OI3Bs+?m+Zx&N+*aSx z-O#8twly>Z@%$eq8(TV=7H}Is;JZ<jJ;lV0#DqqqDxg6XLYD)$@2Wr%nZ^1>2iD+uJm)tD~EzH`QT=Ra~oSyOG?Tq~OOl zxvRaE^;_SR_I4O}d^0-g>RCR%1$B_E=JVBcwhHO#*MSfjX!j8|T1V(-;YL-7Q^O1Gi?ly?b#BD|usEH)N+Z zhPoO%SbdsW+Ic~mI6IoQq#ffox3v)8yqH=`J0pwzIvTsW!LKvG>C!rzPi$;w4bjslFXga!c#cHM2wK%=(2y_t{4K~^mA3wAUwuj^{mSUFmu zKx~+9X=mwe?QNWZw)U<-NBat`rLhj0U2AHycLp2l!LO~0r3AY>c)PT<+n2WoJ6Su{ zwSgfkPg5()v97+Iw`*J735}5PlD2LL!_!$YQ3Air4%(@%vl)uXCBy;D?Le{wj=`Q` zZr@dh_Dt4*9wg|Qah0igs@z4 zJ;S8uehnRst&k295*j-Iamm<42`MbSp7h+WF%$$f>nFi#7)!ZihD`FV4U+pY$^Ak> z9+;&I|5iBW8E&mczt(D|X{uYy+W{mPHZ?T!@`2>IrJeUg)-T(ks9b^{9JFBHO6}iT z7a|TKw^43o%h=tFulEjr+2WDL41%bVM$#p&w)#p&ZS8Ab!dT=!FK3p zT(b1$mi8r!Sw38{bS_!?QabT0b+APCTk2qmAZY+x3S@9h>AaMh*3!Vr!P2>8CR{R; z7AhFZCc-UROAB;-rstBSw{*0#F^?Um{4fQ{+l@aS4qP(JmDKN6QombC{ca`oyOnV8vENF}o=KiPlbBx5jz>rV2`Tk7U~+4+?{ zb!K)bM{=y`vo*>Vr%|ejp(~Je{M2bij~~v~dX?3NUmGE=kYhQU|N2 z4#p+ukxnjo`G7u%gEVpp{)_8dVK`v2J-8C&iH#j_snE=>n_ysVZEUR%uqz6XUgAs$GG2NL3e> z8`In14~APB;dt!oXoCP;GDj{kE)U2sxI;SokB#SaK@jZj;^(&}`U51Kc$(M&4qd-# zMMpEc++f!Y>@tO2I+0rIB>zsbTTTwk1tvvvXI%?iN`VXp>OgkZH#al6xTUV`1Sad- zSQVITXkNm`k><`N9d&F%yScNaeMMsjlRP6PJA-xXQnR_UI~Zi?UF{gBs~zpS+A+Ou zFfyhAV!Z)EH{S^EXJwBgb&P$MAAiZ!RgFH6O#QP{2nMKOKW)M?wfB zbPq1!4|Y8Umzi*$3)ftovU6bB_+h{<{CreE-*hZ!Yp1VnF`LhCt-}Gid3i%4tB$q;FN4{**};mYX$uxk zn+oM^ZS3r6Pv1z-+(<5(&CUCz%XUVX zZXXN&j!<=QOieAjZ)9?O4ay0%mY#ao^@(f5Wc^MIpV~;owsqA|3BqnIGO(YSp}y#W-|3%kDeTgWYd(OOcO| zg?Ms)CYVvif0V5zKF8}pc72GaEq?t5{&YH{>odB}V(IKO1*bQ>USh{7UjOjx8h$;(4rdq! z=sJX5KhX6nTqi&}UJrm|mVl|Ac)ny9lkxn+@?nE?a4{QFmeV-P#zA&L(?#P*i^c{+ zKHkt_2U+kR_GWfGPzM(MQ?#$#Zo*GV#eiZ!F`yVw3@8Q^1BwB~fMVdM&%jvA-J3%# zldt1i>fc|)7B#Y8JcetmeGB*lEB5pa@8^6o=>ansv7gU3W6|8H3un!n3wPIm>$HSz>_PS+Z2;d5oE=TF|ynAl10*w-fEY6;g!80HH~{hdYJ+0_nD&g$yxeeG?&hQ{U1{K4nU zd2>9%g*|K4I9^=W(b3E%so0O>uDZ?>R@Cu{qyk>q+z2ZzIA&9A^^N@Y5ixtF6ZAne z(g*80*z^^*DELEg_9KjwItAQV*NW3sto-$X6N0|QZ4G?ds}%DIl%l?~E5!VZxTQgl z*%M8jzLnp9`h5J!s8h^)5EhT^wLNdW<9X($dF!!%72A`|e=TG4T`z1i8T49%tcN@M zWvo0PyPCv&1oWriN|-(9YJ#Z>=r3J`+%)az$9^~u!sQz=-cC2}`U+s@35YK~`ycZF zyO$vT+dfagw4WAjLcDl>|qBy%Z2B(kp9MXuO1CD+=lvj zhkwkAnr=n>;))IK27PiFVpe~6{?zHC0N*VQ@u{9b7wWg#?DH+a-r9|L_tPh20LKYm zJo#h(2;H&*^)nV-+XH(4a>Vb=zK!D;>37?!h1b^`LOmUgcK%R|`8|7z7az&5M18{s z-#-fRJSQT4=AHZg3ph{s%dI~M0~YVTyzr|>GB5v+kcIC$>lyA-w5Bn;Pxue2hT?Rw`V=c=j8(DAYQieqU%7Ph#-Dt*?E0{ zt>+?+o$LAzu;qNj^N!n<=jT5U@zcKacA$@u{#{q?TY&AqK|RiU*~KyhExzzdUjN`V zsQ**Pm%U(byB6^tC!Bu|VC(gW**qn7cpn^%n)c6M&%O|(KZ<(S4_|W}`z_)xCQsQC z^xhi~U$|g9n7-7s-yuHn)d`~j_7VR4%sm$X&fkdoC7++lZ`?^t^D>wtT1LH+Ct!Z!ofo3~J~-@&%K)bzL;aqkzT^3YA4gp4*o3!F z)f0%fJ@yzs*rx~|e)(6NztEGYzol$A9E+Xg|??{!^e&zlwO=b`I`un~wH> zX?^!h&?gALwefCVz|r$jKlbf-8gO6+;?xJ5T?N>E0pjrBLd{jlv`z&XvT zzx=}Xd%%e|uzu4Hxa=^%xw)vf{9!*{p1_-^e|Y`}M}ppxK|Fek&2I&5(h<@gx&AK!A@ufRS{_<^l1`yb${Pf_1<-ILD(P7(gi`DgO;sQv$;zV(Ke zZvcIg@b+WAzZ7sVhx)*G8`l7~eTKN}mrsNNCkS7^JhcyC=XO}W=kJ`j5O9X@;TJw^ z1svHP^{;-n3+L0Z1LA93b6x>`n(%$&_Wv8;@Q$c&SsLfZSJlrDZxQ^KJ#Az4A$<5Q zOZo8>vY~#-3)}qx^!A+)-*Uwb7XwZbKKreGxP5SE)L$9C0qeI5;y(p?_;{Kiymi%$ za9OAYc18VXv4j2!*m5o6o=3CC0gms6_@Z4yV*tlU-ZU-Kb#6MKN0bvr(JIc9CcE>Pye|c;ND+g`94b}HUXTQ zg!&P48eic0gAnHq&;A3j>tMtuJvoaX|B)7|pZkxzKV%O>{B`>&SA)ItP_$={m6qcZ zW=PevM>nhG<3rem`Wc(Nb^)aKxX}Ob_?gMgxv4K>d=LNzQj<3g*9P?&Z@!?^uZX zxqH7@3pl(8v2Rh^3brJ}H@~s7yOoVZ*_wy~zJ1A-`$KxN)V`sp=k_J|Mav#@z}|ZS*2n6x zKMz>D5b+n+pL!(6_hJ5BuUyX0Pkn@!ZMO6Y(C05g`y1bUCB^X{(B3&Ey$o>le#EoR zdHf2%?gtRRv(wRs0L~FU=bO>IKe#T%c*kG!2=DKeEdrN3H5*c-{U)iK9oTGj_q%Jd`v!uc+scZ^6S0etKGZ+G z)U^>{{~r)P<-FPg*m6JOrT#A7zA?fh|8m{6pwFZ*UXAOGC4j>(BfjaQJs$@gd>Z{f znYGXc*!B!!+(!a?Nftq}wkQ8r)Bf>4{0aP#g#RPqZzRksQ4)_=q6Ghp^4asO9uNF! zOJjMDobm_GzyBYIMgIJvgV~MN4(6WL-ElAOXpJ8}T9Dp-HCl6Vec~Hb?#b|9hx6jc#Bm@q;i0g88vOSy!1MlWop2t>RaX;X`Ef7EQ#>4!0 zjEuqf`IDzU1$y_^s2{D(0;ol)yf;L4yV!Rb`Co_9$zTba~>)@(hBE;_7V(#Jbv>O=f| zZlmjyowN?D}Z~wDiSaC8ph z4=%l&_fOAxh?5)r_wS(3(*4{sFR}|W_Uq|E{g=CM!^gikU60*y-(3?yAGrkeTOC}_ z2?$VQv6-?oXKKQKIL0 zl$5s_1|}V59y-iMdOdEEaEl(Z97^o@%5Oc^`SX?FMLjOq)nQ$EZ~?DQ&sJvXacOy& zy{&ZV_iIcfavw5@o=SkQI9L$OE6#gUc|VN-E!>j`Fx=BC>+159y^$i zml?wO2OhkJ9VS}jXw*Np=#gCjJG_XGnDzNWz-hu?-Fw$=fWyb2e(%SQJQHx$v4~e5 zcQC)-N)aA;%IW-iCp-ej-=?Fsi|2g@&*tRj^uQ%M1pCA02B4+us zb@{~tybzuCE%>|si26s5IpQ~GU0*)OzYrhQ z@bY}{*Y+fTzJH(?;ISVT@cZjN(jW2o0jGhvXD_tJ<*r5hV)=0A!HAO|c^~Z4G(Q8W zMeEYzA2%Y1{K5xde3761m)M^=+h~C;1ZBUDg@57q%T+%|`|RE)?FZ>8!qXpq@dUu3 zF{raV;j$oWXp{7&76i+F$XyHS7drPnrs zy=4~S=FSjq{D4IEYwlcu8%7W!hK(adj2lOa7&njb|$`Yh4c*T>>pg1=GU*@!?FIw{*60VN-;aVmYhH8g29%R4D*E# zKDM4b07Mq;>swBgvF`eY>Dk7q68kR6zUxH2J;OTtmX6NFT0_0q*@6}9*!RHE@K+x_ zKiSxF+GBt{v$1{+dUNfC9hdzA^lo}yQY;Vd%z5eS34DC*ornGcyJ&t;Z@;{xKDZI4 zsK*^UI;^W7?BFS_AMW5OvFAH^+9rGNhVo`6U7m*ccPA9kML zkM!blT)Y0AQGU?mPR4kypLxy#Y>mnN0e1-Te~aO9pHMM8;X?QlK5!=y|5xYF_7my+ z0hjZ~jYdU2aOV-<594FI+4ya+roDE6pWiQK!dRc{j$5=D)W`7>*5}^Hl3xP$-;MZ# z)AwHn*cL(i#^=A`{U!UZT>mb%53IC*<4&hyd2q**56Z%J$iXrfh&yiK4Yz@`{uASm zd}rbNfP3B(@tHmB%p(Wx4_omF?>qDAO~KwV75%xMEk_XXuWCE?0??-mdfdq;^z42f zcl1%h8%KoZfPI|G1A5r$S85MC{B#(0@=*e}haG}NOlK@i`1^C|7{rflhV|QShf_HZ zS$bZ={OOd61U+}heY|})yUt&-|fB>?2|QuPdWioeX6{N@$0VyJzoi*a?8d zzU%N`f!^Xo{kwm>a9hAJ!mK>H3|jvj;P+YHNofCc_uQSqUOPy{ryVv_p46#l^Fz0f z^fMACT?OWzgN40Vk2Yi0?CEUWJLp?}{`NnO{M3R+>M3zv_2R zz-~HU|Lc_BOabhD0OOx{$g|f0w!ez;Tvva?uSb%ECtbJkJD|7z8SM|@#TnDw#z$36 zJA_R~wX!363~a<=Y0Z=Kygyt1iuNDgw)KVJA0ynb?3Pae_dSPtdvdGi0Birm{O>$u z<`Dp+FQESH)~`MWoJ%1N{BimOz^<1N*FSjV&j7pMM*pg4>|VfCY1F@Xp^snhx#)O5 z?@|}%!~YiQ7o2%bE!c;%=>Nss3;6irqUX~;*nZDOai;$S?U%f3zY%bL8^jl0clQ~9 zbK4=lv-hKwfCHZ+e)rcK@at*k&k$dH(E)tED!mip;~%+>pU*Ie*#bAme)qJ?P+v^VRpf`t?bm_wFt9@IEB?K`I+(`1_GcF;}vG(0|vj zuiXOd^81wcpZ~(`VbJ&PNBXf2__5d0@YmSDdu(c*wd{p8^n>@>RF8u<*5I#AKfS3f zVe1>~8=B#jD*VSrtER4Icru1RoD5~l*H+;A$KrU*ckY#(e{iE)iC(&Y#f|JmJ-*qa z1oJm~h}C`~{}Mfavxg4r=6m2x9;N3Ge4|Iv9^d3qg86Qoj-pQN2wm(z)^zv4n};x279pv{fc^gvqlMSgBM2>F}_)&1oItUZ%bu16& z!ggn~g}#k#^?a0q@*FkUH+lZd1%>Acfx1q%#+AR#iKXp{*=PyrdDdeReq6#&NcbrU zKP};;g#RMpze@Ny3BMrWl!RZB@XHc@MZ$lR@ZTl;nuK4M@Ea2Tr-a{<@Y@o8SHkZ} z_yY<5OTt+Re<wm=YDv#dCHyDy7x&Ks^NUPoAuzvaEWwk|y`Vo>!iP$jE|&}TF4BwV_t8Vd z^LvaGFJL}Bru7z{=VRn5dVW5F;`lx68lC+;TEm+)Xbo|yfTwZ2 zQ(CVODy&zS!S$Mk=l9VXV*3bzXL5bIP(Q?hyT$qkH`n{=dGlxuaioA}Vf;g}y+r+r z{2$KssfB`H#CF!fkZ;7XLVfw|j%FQcB|T#M#sbgg@mw2-@*}oyCh#1tj}^*~IA6eX zxjytZuAdmK&EwccVr7BrNCaU4{s>yhd5SfuVc90cCV-(V!wp@3iw!VpDnby zHz$pq#DCK#@zreLnNOp0`gRp;=x1GcfkiG_t|KP?yyAgDrM#Oh~@bpuFdjp8y zy!lVB0d}+^9+5ro6u`j_#52#|l%HDqRw6#)u~vS7xM@E0&@=Cff_?NP)Iak=nh!{h z(-Eistkr@(dlsGdwMV6 zz;%c-PfywqaQu42frtLz{(y52A#T|4FZ=|MeT47>zc>l>J&z)OdD$dhU&mvJr@#IU zFHe@{M^4-5V}9w8c?I>8SJX`e|M1@t?|t7}X8}&pe96AfU)>Ej^cw0XP5s@YfNgIe z{)=teb%0|T#Cz^g|0&@7yNJEd`)q(Mzryi*!qqSG4xFL&{C|FP)8{}R`ZwCI?EY00 zu=O`+f6%1vdcgi`5I>ro#0PNeZiv4+;vasl-yQKcmnFvl&d~hI=kD~qfVJyUe|^iz zX8;WEjQM@GxBFzky`xdT^}=31VEAj=63{8#f`mlD~YB+k;-bHJAC% zVyiZq+v+-2VnpAxMtHSgi&)Pjuy}wXuy{h@TgZneAA7*fUr=6HkB8yd_*K|{jOFpc zn}Ee`OSr#gH|~vWksRB^3nMGOKUl1`oU3`vjiL~F6tuOR-*0IMUb?hv_{Ic37-dx8) z7Xpq&DE<|<^YK|b7jg5nv3r6(e;(omyTA1{;NA-nTjTX%!2UXn|MquXZvf6*jQUeg zz2jxTj!O}T{<$f?;0Rxa_?iFSaSrHHmm}V+dHhR&EsHVUcQ5X`31AzoH*C=^nhZE_ zHQH}qd(sbp<1~Jsc>bi10DG@Peeaih^ZNABc)V%j`}=_2L;G<)KlxDy;OKABKC|Tw z?*Z=p9pVT7@)1AZXW24KxL!GDEB?A}%}L|w-XC50SFn%VjQY#k-{j+6_!h+X)Z_k> z)UAmB_=|_;fW4j8<2<2h_H|pK{ z=WhTUJp}PZFCVsmmhiQQ zr`eqiJD) zDZyiA?6Vp8+m1#5_T6rK5^#br_wSPYOYm~`zMP!IZE|Y z=PjDMaQb{o^7&x?x_D0Z`QXi?rS=>zS~$a3J%J^Y9&l|<5xeItSU7ze$9#VQ+dnXm zXTj#nr_Wzdc>M_ThZmUY;^Y2<+4JVY9s-|ls(bQ$-;`N=Hv-gm$}z0I^X5;(BD4IN zy>H<$9;`ImufQEd0_|TAkomLy3b1#9QZPQNiVm}?6fm=Q3IzExTr@{qG)K%TBr^2* zV828$0ODc*#Ki!JivbGzD+=W)dA`8=#{yno+K$2UU*Mk4_G{qo3@UFCGCe1@M2~!l z1i_!!@FDhp6yveY9@A#cm_ad#f8mbx2Sh0azNcab$NCiwiWm*JJ=+~p%n$h%30%+U z(qY~H66Cw62h8}UgaY3M%$tWwS8QLAAo9~;mR}KLetOLEql7|!I$R8Z`r-x}wjXEe zRNt)WQ+?z4#$EQl9=4xm{^V)1_;wq{FJNe$>0THS2s655jPnqVkYg-9p$_s(@}j@c zv-kB@*G$0Hf%-%I>7E6%SU+L$`TKmU$4x5gr%joy-`~S^9vPdGmXnq!t+l%f@^fR`WfL2ZPH@PG}AI?4V zr%#(c!^fs-XP!5QpYH?5;raBSE05&YC-Gk*{?B`@CqW$l@rbp|2K>5Gb7|W4n-=H$ zpOl_2JtN^iOZZs{KQG}ICH$&{(-MAD!Wjv_BjNWY{E3ABpM*b?@Rt()LBb<}H1^{+ zBTVv(mJ+-LDA`Zww?tUL+e&yR3G+#l5`Pg#NIr>DqCY_LA1h&gQ&D1HE9v=7Nr|3c zG?w5)B>Te%i~W^}!t;g zNG-#za>2g8KMl;%^AWA^d<36=^c0?l;PVc9;rReNXxPtL$bS~c5z4=Ren)V9?}lQ& z2cJj83eQ*g<*ycui}@W^QTSy=edlwSDm>3%6=T0tVSb%U|b)0Q>)f_OYEEUjk0h{@(i?i~j{U@EZD`bIKJ< z06Qn6{Sybw<>Q(4b<~f$cOU-1BTm@%!PN7>-uo=tpZ<%N9|dfA1MLH+WL^LqBfN0G zXZXE<_f6CvGvm2Gg5L8y`v2p*YkvkfPxyiE*_@9)TAz1`uA5ps80?CoT2?B+aEof^AY&~?Z3+g`7 z|KXCy`TehF8`PhD@lCw_quV0hX9pJ_O5L=6@c7yH+yef++oS#;$q2W1?SS}{ZR_~~ znkC%bHQ_9<@7WRcFWtF+4sgVVc-vR@Yy#}q3GoA;-2WEfs$CF&)3D+zz$wD_?{~rb zfbF}X{@N8s?+iGxG1mX=x1RYmVA~$3pLN==_uzWMlaKXr{;hkW{^)%CbkGMjLI3Ax z?eH{U%P7=uyyyNK0*(=WV);rQUmK13?`L24J?K5O9&zO5H=P04YQcCr{W8t%bM!u! zKact{2KqSZN6g;iTfmmh(Ejx;UgoEso&zxci7HPnd<>Yw?Z7-@rdI9 z=e9;XX8yyRkL)&xGf#bXGU%%u7!SXb#%445QOv(T;49sN1M3}2mOJA5#}M1nK`S6T z*=O(AO4=5P2|t+awTq7|GQ59RtDVi6vNtrga(!{V8GaZ@k4x7Rg1&`)p9H6q>GLG) zdP=N!gY}a-dxlH*1H$@Axc(~GGYs#uEXA^Y>3#=TZ&?~2zob_5$1kbrF?`nt-@e$y zYYX$Why_6<_Wa8YIvgl1FKiFhm4|7mexYQp%sD_`_Dl7*rvBxiK6#dzHVD<^V5-hDRWu?)zM>GE< zS@sPnF{i_&I3@8Q^1B!ulmVpDiJ39`f?Ij0xb~V(GVQ=$dA8i}UuGQgJJRdgKv1#mX zwjP6hs$f#vdXf#!1l{B018O)Ygx*jpQ5jZaB@_JKs$7ZdccoxkiW zTSKlqf|Zn6x`_JtfSG;v5;DmMB<+=Tz1UL(e^%;{3Bn*ek*RO4MH< zQgm`>Z3AtC4K~nR-{JLy6l2 zDp>Axg0G9c>&wUXc5;U41M)?G{v`nZ|zUIz8jsRPjieBvAG3-G8y->|Z+4nDwuJD~demqst=&pylx8w&gRv(LASyjc%Dk$2HR@6XcNlX@x|=U=ZE`D5L|K(E)=y}w@MFZqk_JFsSEkN>d{Ja>w( z*HaOP2!6mrDj$A+ z)z`o#Z_36eJ(Lq|%KLW*nU>ER7xnbz4t7v?)YW&ft^}XYE#X(v(_2YO{nY%Sw=>0(tpRx6o7|8x@aF|ulb7m^(11E6z7W_#x`2+ZM|C^OsK)0`&JMJp~X^i(bCAb`hMFpuazV znMH;8q?h6sz0Bgn>AeuXO#Y}BMJ$$&Uq3X3*ypF)JH+bV((-dX`^agq{)E6{zQzp* zmi$S-0?9YjHyB-?pnr=={1%h=Er#*ooovBQUmH8}@F$hOLpG4~^~<|DJ8L?d3k3Do zv-mYZytwLLf98(?4Dv7NMFw*GR>lw;#Di=qlm86#@T%9cdYTS4^k?;Bm8&uG53+vV z+IhlavD{m3e<**jp~jGZ(pToEfe}o_FB88L)PkNe`YxS;%ny{WvqJdJR1X zE)5{-S^SFrTwhWE*`KZcY$;Lq=3mGtaIf{n{c2$bV^O_{l)k$x|qxl>Q@wMP+s4#tg`>I zfqQ$S+iibpFikVl&Jfa5ByE^ zrQ!SgcbMegVUj=dub6*Fi%I@V_s#w^~lP4ZBv}z zfcce;d8YdLl^zp)_UOv-`@EI){^Kg^`waAZu=$tL--Zl~oiA3W6*aD_EPUPv>W3cs z`sEDb`+T1HlV{GE?BgpQVU^}|@4~s0=S(k#=6^YVS-Jd46Mgph%KnaDRo1&r^fvaI zby&}4G=J9X!}w?ID(2U=;Pt8bGmGl6 z;~dpBlbquwjH|5~=d7OSnCO^P!}Q~4aDVZSo#Jn_sXqQG+P2&ze=zpHo%!l6wmyaI zi{qF4W?PKx!1rPCmtxV2v2^dllKThr?XmOcj}<+nynbv!U(COBezb+njNs2e&+pyA zqP%{IiT@H4|Kb24#cyR_B4wA@4a>UAmk+KV`7Qo(x<;1#i+Y;iHPkzo@oVfddNxDh zTVBJ~9+as+#3wyoq8s^-W6z!|`H!PZd?SBn`T6NW{s!~c1--b1Fp6J2!La^(e%v5` zc6Md&Y42DW@^#~mSSfyq9&b@3J#5_<)9XAy1w9WS>2>q-5TK~%E0pSdE1J6k_zeu1 zf0!BSH#=YSXVqTX8f2ftVCyiJ7d~K7)HeqBr(N0p)Ryi>aeK-0fPcc{E01rzCi<9( zK53%QnCSB+dh3MB<*zc)yG-;!6MfV~pEA*BP4u>jmFwp)(fdvGArpP_Kb6m4JtqEr zCi;YlK4+rOn3OMI^8BjTM4vZ_pEU8$nCPvODz~r8MDI1xM@;llGd;bp0Ipx)f40Ju z|118<+>X!njIQreCh@IzRQ7k7=(8r}bKH;X^Nq@HHMu?wyj{8f2TjTsHPLGaRc`;3 zng5-Y`3srUKTi7>jQDYw#P^%%-6r+xG4W5B=}qbvG-+SU1C{$n&Ln^PU6uLwnCQbM z`lw0yJtpPvHPL5G^f8n2RT=ajJG<$D`yPJ`zo!QM3+@p|XzWIW{i;ZxFwk=&_D}NQ z%Ew2>M4va&J5AOvcue%EFDs7^o=qy>-}jotkD2I`Ci;wtK5w9RQu}12_809Z+Q(`z zKQc<=+iQebL5frt#ka=v$B&3VO0yMwO8<~kU55Gd?GL4{{BJomW6(aMG`{_zpTC^y zHOzmPe!h?(rv?rE*@QrupPU*o^xv(Fx2DOdQA2;45RjsX)KMDW4kKyV_B2WvrP=%G zAVH*#D(sllo9#(Z=)-z-!E2PZm!v@`QVV)1Kv6%ctiMPdrHQ{ZT?COjO53}vzettz zg&0Ns=(7GIbrjn%$$umCW<~uzdIceoI!Y6N=>v$=QQE#`{Y7f2zBEEnUscv$q>j?W zUuY&`6jCX{b?Hd{*O4b3AWYB!Ckr*9f3|A^*V}K#^NPq^=wBwiOX#Vgh5mig`wRL6 z4`ID=SAD)B@Ls4-Tw6zIgu)JDWP$EqH5?t$|w17P$n$5!SDbVC&oBU*P#c zEL`J3Ne}Da?5()IO{9}7tbY@F;ZO235#Rk^R04Xe0HMb<6F$AR4;w1iiarCOJB;u9Ey7S4u(E_NqqS7SD>z= z^kZ1M{MnPAh87?D@(J4q)m~FZMTkZ%}Ff zVegq|Uns|^x5De+O895frm$=**v|H;6sFhodcH7>GGT1OB9$V)O&#rvMF~i$(>Hf6 zVY7=YbmOva{^~uZE%leb48+wX@k{dMUkaA>xTXyjpusfZ;_fDHP%Ix?39I|^jqERf zxu%?6|1BA?D2=cGa*Xh=U&$8bcCh4th9W%WL`qmJU2*Yo+` z3jTckb_KoDBtEMK<Wpo)?~3 z80w+$mGn^fN_r?f*VlEiCHw57E^uOJoue_t&Jt~f2T1U~%(8kPj!?#WU?0kFX^;iL8JstxEeO=3nx|N-{P`-(Ox{b;w_CvG!`(Sk^9fNJ%e8YC}_!oMnARBlH z(O=)ySl8+!?{a$X&us7!M$wB4CYTn`7NIE z{07P2F6rg`J(6DJA0q#Nq?i322JIgv|CBVpDf`Ey_#*!v@(-HSKV#r8_;H!6&+(e* zBPRN|i9Tzh_Z#ph%5R%rzI}z>VWRh&=zGlcCgn?*_~%UY7L)P8ez$&pS@aK4|FDVP zX%atdqVF})$4vA|6Mf!9U$wAu`@2l^K@)w{L?1WNXH58a-BY>!vL^AhMV0ICFwqAs zmFMSE^gef(@7S1kDvRh^T=tm6&zT$_X%m0TQI+dwH_=B;_|>H6FY@u@qW8NM=X><^ z?={IkW};6T=!@^e6yI%ZY6@1f_d(M2xoCupfxpmOkFLz0#pL#>#VUuB~A z8tD1^P1$m9--1O`*ejdi#j4^}r=sg~88q-0M#=4PJ{^v4{OOPH7+q%>=~E{0vnG1Y zVEwNsjm<>wFwwgW^!WbX$qVPrnKjinW!}8m?0w5qkMPZyKYhB$n#+K}_@MLWZ+6!E z_tV3xq|4-C{kr`9Q9plp^>i8k&_L=(ui7r-uJsJWe}Q`*dsnr-g2YnQK+4Zv-CW*V z(_91b=dZ%nXRqUDb{PXIU&5e%qLI@EdR=_aJXQnt9`lkSpx!tS>+gdm`lyLMZjyi8 z#6M-?ubHj?H_>NJ;`>efLnitj6TN1#KcUaWKVhOzo9HdH-@xel(kb>wY%88O;{FKs zK5h8k0lk3TH+9||&+O^=>UDAGaOtM{owcLhUl;|%{s^`(1D|JN{OYmQ6UUF6G>+}N zaMsk+I46#GOq?{ak$v=g26r7dcG5VPc){M~!pRcox}NT{9kbQ8bR3h~b$(%WlG? z+UnYI&I!zY{6vSddVJ#nwGJnbUo*CbxlF8ej(0Lqu`>%anw{# zWV=IH7URa%vJE4RW2z@{cMbem;snRINh}V_#^H20$20u|)Yr28B{j~P+Hn)uHTU=$ zr*r%yR!EjV)xUNut9tb$R=aAavu4~x7O7@@E$mMjUkwpf(*6>62%lez{Uy=M@OtAs zVmn6PPZRp|_8aqcW1M95k77VEpcqgLCDycEstLHF3b|a|#*I5Q!RC2$E-h-heA5YddKGxX|tO~wL z47kW!d=Fbm90%7o9#*LnDd%;T0T-3rL+5=Z@%UfgcvxpUuqwD>Krx^gPz(%-0sE{? z)~oq5*GzqVdk6B_^<3YccdPp1{gL2dJ?ZYM zni2yp!t2}fZdG4A{sj+Gw@`3BVZcT8T;HB|tNP;cFL+o_y1S~T#6Xy^xDHfOe_gEj zP<*ggi)ughejp7C3MvK^1M2|;VXC9J4^&crU#$30e8Bntr``|NgP~4UQ8AzxkQfLP z_Ne_od>w=00nhh}hxLmGX;@HDF`yV&4;bjlZ^qAi!T+L+{RgFWB!2HJw;@XHYfKM+ zgEC6kD(t_-^cDPIwO4jSW57z|MEC}5 z@8IuHT5r_%lc7adUWx(5Kq&(w8Ths|f&LEfgWrQpyHG~{jo<&v(08b+2$yl?NqO=& z(wn76_r-k8?2Pn*$*bn?s9H6DqjIe)>6TS&zjdXas+{E+@Tm4LPt1Cf8eYZmQ_$p^ zvVM=Ff`_$L8lC^0bo^WCJRB#Pr1QVqVoT<3rU)G4NAl!07(JY8B_- ze~MhGIw=Me1BwB~fMVdM!hpK}|EaX3s)u4=_!#i2>;K^+Q$NG+nWRSYNw z6a$I@#lY%k!07z%p!fdyNv{5qs2mgniUGxdVn8vV7+6yb!1=%2`+pL2-Vc%NA(^H3 zIrWL_f~okNz(&$Ra!r+A<)au-3@8Q^1BwB~z~C7$y8pMR_umelOy!{%Pz)#r6a$KZ zb%X(<^M7iLTK~6>G@&Y{Vn8vV7*Gr-1{4E|0mXn~Krx^gPz)#r6a$I@#eiZ!F`yVw z3@8Q^1BwB~fMP%~pcqgLCXS znr3DBdZwWiMTpKs9P^{hjMD3cUC@W={uwBPzd-3alyEi5OdZOU1EuhnrGGT)W6Q{I z|H}5lKTPEfQ+Y&shVqM1`NQoPFIT0H>t9Ow?SnE#^$~G|Osych{ZKj%L@D&LbWuJo ziYxS1shrk*DUQT*j`-{$|HO34-z49Zh({S(iHB&1zPwgy7i|otdn7+m-oz~Oqxx8> z96~S4%mHK{(&s1JIfzG>8|@N{QKtOm{lY)jr~Ak1aS!za57kHH*K?R;NBzt}{3fWs z3i}M@pV}M!633&o8i>4)-7`fW&t=m7 zJ(Qm)mzm5+{MaR)Q^d2C>gAy0qvtq%xe}uOCK)EA{Gy^C(s5y@{vg7{r22;GIPnv2 z2``o-NPgCOeYtW}UjMQBbP?Z9`k?6l2IEvt;w3@lO;Emes#lcC6*d^Za^uRELzE{< z?cPJjgGkTF{8ImPNp>2I7sAg}QvVN&ekaGH04X{S{4OlNUFyd{;>S+<9s|Bbd2*DW zz(RUxTnN|ddGZLJiC>r0P7caHLH$F-bI^E@^J6?ul|HVp6VfXB)q#4u6!Gtu>Mi_) zjEZtm{lj$p#H9Ws>7R3)A8w|{LSoBbR4;8e2yCQldw2mDPU9@_rlV7K;#>v{v~ih z9)tBt5q~afuOPKUcxm~1N2TM^CGjQVho$q3J*baom)avm`h>){gZhDo+9^ZlJ&})) z9_oJ?>L2zR%+F5!#4a754$3D-_9Bjvw9@(AMR8@jgy^p%Wxb3Y6R~_zljBqP^+@e6 z(lu%~7oAt460gF}MdL&d^#_mCe>6&WQ2%pKJ7;Jd5^-|U@gmZVWX_;}1f}st_y@)L zjn20T>39fB?d6(p_qU;NUznv?pkh!Z3}!n3g)J)-{_ zw1e=A8l1Nr)W32D`Y`D|;(D2m`xNnM z`BS=8iYNT7(m2*5`ezOD;G+0JD!*Uq445l6^W8@1mwls(evdztf*v{pmM~1Mg5O>@zXdHrT*aXqux*LD&qM` zZs#xXfgj@r}X*Vof3#&a4kbJDn(BfT6?;1so=gN_@K9+i&Ym{eb3=cjaso7$P$ zD=7I3dszmlzsTtYOy`B5G#oYf9UoCY@lAd` zR8MWC zbo}-Z?;<@#^$SvevJ(F};xS0&NQv_!^*5JjPYRTy{8GeUj%32GFL#W_x18u-q97zw zbe&)oS>j(x1-eV!p`bP zUJ}GZk7RG9{u?Ad6H>nuafFOfoXqih{;f0)SgC(yC{B#pIZWve%0IQ2-rq&XTSkzG3P3iBZ4Q#BnO|o1*&AK!U{zC7kei|jaR5i9k zP}E22*B-KWO+mXT^(Q;=(lZ;=d#FA+YR?>%&rdw|P<~<2Z-_^a#JebGhU}x1e@yC6 zQR<&LiXWxpCMW7Iu7mwlKaoxucnEu>{v`63rHkwnQoG4^QR#S1N%k44M~v$2lIkVm z`9=FvLQou+grn3R!hWFghyVTWv<;cD^O4Q@I)D-6=-38%+I(9~_@3-+^S0F4IfdPh z1I{wVpu zy9B^4Wn#CH@Cg_51-}iXd@tAy%Ov6%mG44k2mVQudWdY5R17Ev6a$I@#eiZ!F`yVw z3@8Q^1BwB~fMP%~pcqgLCz&#~^6T$NZcpcqgLCaCBCJO$P`1NOdk>$yP4;5pkGCr)Lk7*GtXHU=U;@%w7;+Hzi1sd3a>M90?g#p(9uh)hp zGZjQJu#Pd%Bb^5wpKn-pzu`JoEmhpr#6WDAuD@2bcu_U3uPTM>q&I!Y zZ)w!0S8b~wkA%OGbZ&|MmOb=wjO-&fRxYQJ-$2v7w^xqu-F|TO8)&{iRlBNY zjFtTPpVl+ai6utckr`@2Zb0$CvGmaQwH!6Gz0ieU0Ogz(RT-)Yn&} z|5T;ri1Phtxaymv^X72HTh%yuPv!br-YefPRyE&&`uAq_{jV=i=gWoqbhCJ&b1T== z%zvQz-h=SC%#sv-&Vwr-uMrcyh+`(*uMVxfvft?aBD<^^zRc>gw&*QK4X(e5a>uW! z-0s4z_fw4D`ytxLf2HT&{kXn;;y*`y_IGIS{^#Jzm;SFlo+yWzv^+L6KeM>$2L@Mu zvv>p5yARd#JWxMjXL)yE?VCQSa{c-ymoG>B%7Mif!?0*Y_IS59Y~U_^)d+@T9(;YpVRoUk|Q*MY*az7+iTnlD+fQf%&If^yLe+ zB2GW7PZ#C#M#`s0t{zx^B94%O?9h&{$R?G~Z+-h?dGcFVwiD%WA27J`hn5U1u81$o z`1a*_l_4#CX#`a6w%eQ0S8k#o<>{dSi zf!5E=F8?&v+x?8b{=E{GNiw7?;!8*^S@oS`neaZ+3_dz$f}jsh}XUo^z}%aoL7wE7^TM_)W?_Y z(%0+tk>giSJ>`6D9(_K}@p>%V4;OY`j`dAHi!%Oaef@`;Px5dqzxTv}#Y@uqN9`>*ewX2Dlzb z_LFg6S7n})()EGtFXPY=)j zeP;PMLT@IW8(@D5O<1)!X88cQbugGeiKg>Q*xnJ9!*Xy&=x=`==`gRxXko`eFUKY}?)5jC(t6NqbRKA?U zm9O{ZfwgN~;&Zt2U)^!C{?*IhV9VcY(r*VFZ?N`}0j^V&HOKi`u#xT8QEE+^NW$)>PmOtGdz3^wtNw~-;@2k zOVbnh4C&oiQ&acMnr`tSN=HdXjHCvMBiSP zm8;gT14rrO8RaX|Ek~EP4>Xof7k)psOg^!8l`nJ=_N(k=mCF@3STDV*d|C|d4_7sA zRj7P@Y|irOa(>=zYV#aIs*~-@g!aqXmAF~&j@O4G`@_G%{>xuZXw9xfMAMKOsr#IQ3Cfi4b zX?>b|gYxy0^Ak8bKzsKtmE$G{xQ|riYb1M3@{#@WJL}7p+)$5Ydl?5dDsOMAuH290 zI7T>mQu#RfPxa%Ek^gX~$2-f{cewJg8SEDe&~X>}>+s}XHFmwG#+3(BeYkNa)FZk^9m2ZEcAE-iv7?me1EHPGnwX`~2^z|G!rGIFaLfUmu*k z>@VZ|FR+}EqxJQb?bbFNFgOmY?k(TX@yI()@ff zs^`bZ&n!JZ4&%7T>*MuGSdNo5(F^-tlX*#D_fwU&+w{B|)w54p7Z5qAa{n=kv#RM; z&kio%^qzyWA8h$-QH<~1L7z`v!gAcc=E}#HTY4Xd>~Ds>()?@S6f9q#RIc>@4Xpjm z@>^BCyS*|W1C1YFiuFmmhbNw#uXC8==9{p*mH|Gm32eA}>Lu4x;Lz^n`-kN?eSa7B zYl{qZ46c0Xk!YXy56(}nuk)Z)^OxfZT-CFB;)?jIDnmmoU;63t^@7 z{^Na0&!6RQmF-1bAp@5WYUa@t*;xX-%#zm`{~D{p~hKNzrKdb{WWc}&(piX;QCE|r^@+>`b5UB z9sG#$tZC`qd|*6@a%KNrxg7$-w0~9Px4z2kCWGsjRa*_tepPw3jnd~Azoc@%h?9Na zAM}1k<>(vW{u?8IIX&B5K4066^68fS%h#vMrniqAqqmC;^L?ABN7m$h+rmzk7K8WG z$acepBX3l`j){MV`s6oy9!37{*UG00y_vMM56nM1dSG@UzsNq7?UM%kJkys|_7m}k zONONR(EJeJ+Y%V2_Ypha!un@lSv@?YrT1Bfr0*K^8sytc``?m-Tt}9aj{o6mw}Hlq zJT|;MCNuhYfwvJ`-YS0_yWiE@i*olF*n2nE+q>`AW8uHLrF$*?&XZBSt2Wj1d!|;c0*0?JFRm3D(O8U*>GihQ4X8*{eiwAes3oJn}P8p@^!Y9w-3<$V0PKS z$}i%X$vEwYm+frB{64;3gYSpQ`3l^3RCykRK1tV?kq;}|3H!BOR{i>?QI9pnb71Fz z9S80?gX1+jKzr{s7}q<0VC5JtUV8T#p8VV+^>O;7=Vo$wy@w8tN7-NC^c}+!N5orG z(tELfUc&bG^7TkRuIDwK(_go^4X*zNTaUoS`uvmCh$9p9`HQ%D>Hf9%qVjeYlkYW% zcte$abUze$6Z7vg*q1rf_(pz#iF&>wNqxH*`Kk2E40wlWKS||WhOX_E<_EL4>-)jb zBmX#_w!4O>{Bh~Mu34*od=s@xZ&5zo_UX`$pZqYLM@0FCTY9DMjSqMH!N#lFzWg|C z7RPq$(E5pU!O;97bISJ^D%{N9(HwYQLuKEGEz0BXftR z{R6))&vSZ!`_FpM!E%IN8eIDdJ}qaL&tK?=OU7xPqlgzVSYIUcM$#!gKQgjQ--&!w z9Xm8$jN%S9Jz}tbXRvXEeSC=DI}rXqw#*ys<1#8&mBD+LjO@+Q)A{npZ9Y`_I7nZJ z`oO%(c4qm@`gB0wKW&3t50GC?&nunX!&^^L@4Pfmo%HGJFYJa}=1&Og7mUf*l-JUz6p-rlHu?q5{4OWTN_o%FniBrL~I zn&@Tw!D8op{c#kq>dQCScmuU}Us#zhqc}EtABT~Cu<7n?vA&j0Jr9G8V`Lu~qpzpU zHaz)6GHa%tjOsO9>FGh%!}iX)QSXqn-_Q0Go=*ZK1%Gh~i*z9^^xYqU2P^Y~Tz@*) z_`*It$nOT*R`I=mwvhg~66KI(a**dE*ZVE6xL z?@Qn#IjZx=7@IN1MmE=Q3j<*c*vM;R+Ju1CyRv(e^{%|THUkMBX(jEpY^^k_W4CP# z7WZ(AGs77Hfeg72kdO&Uh(b7q>yLl{Lr6eCfZ-PRaQa`>Rd1&2P1V%vnUZ!5?%!`z z>epX?@2I1ztE;OYsKy86wzRs~-FY@%+wqcoPbW0YuPgstl>dtSev66E`#P8I%IlWzxTRCHc$D8uE64RerSW+W7r2akPMt&FAxr9~|4!Au>iuYT zfS&Nf>iHnQt){s@SN*B}K;7@vuQIwH^yU3v`NgW9hFniLOS~ThyRtt~c|e{t4bgWQ zs?)Ugf~qI?3b%YVz2Or?xz0`{E8jNWll6EFt;@Mtb_NgI+IW^eMk_ZS8eetof0lUt z_bmO$ZtW^M{%(01wLjh3Egq+pv!whd8@~2Mnx929Zns%}gg>R( zL)D*2ct4nv_k-z#>q(X^_k;dUyKAV9 z^(@R;8e-beX8`tnDOXHr~tyt6*%JgzkzcQ!m?I`|2 zFRvKzCjBQ`9!~20pxV`t^U(oc->>rJBi>d&t}J^QWg2^f4RH-39jz$ zyv_E@#9u`3Aywa@w?Fq$z1+kL^72EIo!21ZgYPEe1$#C-Er0*ES?+OMN(E658iwy= z0zUgbH6MKRolL;xwl-cidn(@%{?*P=^EqQ#$JzgZ zC?6%6f}T3s2RWo3YDYo7S!v0zP7u~tdXU?ENgLkNYRL85(l-cwC3HUscGY3tyyN>p z;CGc~pP|+dSG<^~@;Fsb@g}vrV!ZcR6`wVHw+)|%_v^Q)JotFG`)T?7+jPE<){Qse zZ1Nm>Po(@Kx8)r47vH`)yuc4>?Vg?U9dI};bvb{c)a86ktRME%C;9unU}r^sM=_Id z{S`RB*VKPXcjd{?bw1C#Rb01<-w|m|reJT@uuiZi=TBF@Ce8yqPBUn{t&Y}-zF)f> zn3``kJ@|MLm7DB_u)}*wcX7b{jen%^G`bvT@sRzXzi~B9ZyCMU1Lxb);w`CWwS5#8TybzJIl{J^9)Bge^VyF_`*9HEtq@Q*u}&$8F~xXB)>yz%tS zw*A2X_`4x<%jd@zKC}&;rr4h^c*~m z<`rh-_yFi}ot6`RpWdY3v)m8j^J)q4aDLs<_hx{v+tk0B)(&*bpY*)ohx&4vl;>o} z2WZ_Nu($Di)&J7p>f1kWldkLOd7-cVD7{{=Gih2|QvJf`hbP&3F6GCGdXYJ=xBB5v z>HW?4|-}lgnzjm$n49IFVgc=#`SV+x2yf4ydMO!Q`LoFX$rFXOSRMEWlhU{;Y6MpC3m-9z9 z+um;ZGnVge+ju?s{h0dcoy$G&)GXhd0o-P#;n$Ou*NSWh()U&CZ4T{Yd&`#N7;oFJ ze1m3prN`$Z*p7OS<0}m`zpYqN2m!A?;?FZH{^H@ zwx=ZDQ_G=scWZB?wHKK0WZU=dlq?@j_E(6{i%jRA?DF7NHNUgN`f_CQBZt1HRA~mS*7r02&^d06AFJ2bZvCyDEy}a^OE-K;?WldZv!9qRMBmTD$MJspS;_eE`PBXF zKzHRd`yzdNLe=XE7la~CLEde=vgdW?OB3hmB=xh7)-}z3qH~<TYuj%X$<}3Y3^)Ddaw_%=M_j3uqBS6&`rqp^ENFCO*Iisn_LqP)j$8a$37X=kf}AT&1-my~Uy8iSyH_pPWPcU~l+L zfiKJB!E$%`2Yj2IHr7OY?SD#bw@YXr+flb1$M~(<&sg5yDqFrQwN-Y4p4_-v9~$WS z4&Yp;^(UzHB7??NKwsupDh}kPv|_Y%>M?$hl8E{%30PKZX}$K-K)Q@&abZ}iyP<-|5A-t z`abGD;5^IyV1W8(H47eidrfnN?)>gmudDMtxeiR`<$6DIZ_vwK>ECLetYLn2S@sLS zp6Zys9Kvy&2IB&s`_k6NtJLH8C-!5r_Puv+ZCq@AR6eTSm)h|7c*D{66EYjLau)n! zviRk;X#H<*llr;!AFKXm?ndh;;(Vg+Hw^7u`X03Wq3Su=a6a*VFmr}J{@LT5<5T%} zH6OwMs+?b#d9KQvBR;>c5$CIcz7w71PEq63ko(?iR5{pLJXOfc=(&*h7Cj!$tD^oC z$Z_hQqw-{CL_T>#`uwULRq>e5wqO5}IKTLQ!CyOz##fSdmhM2qgB{fi^nSo`oMtXe zhA;N3<+kx&ntkP;30!zbJwA6&y&aj;^myzC-Vgsr&xdin?$>_Xou2w3;a3%Xx3X7z zT%Dgr_jfklGQwx&{a_HNe?^NSf8tt6V^>?Xw?_g&<=)tM?M7=$gw+g=Etf~i} zkN0cm>GA$^^m2SY?AI*q8{kg1G(00&K7`LmhVRzj@CV)LDWdPqB-J0t`AtdBJ5hM= zr|SJc`B`e*!ZEQQSmt|!{TX>b2>V-=hCfvOu<31lQ}xq^uYXwZSN=Cyy{;4Ixut)l zx2I}&Z@x_IFWUUttmDD=WV~bwdeZ2lK0mPDn#5x{ z?C0J_;{p6;rQu&EE4RVlbjFu^{N7Bre)@)a(~XzY;+&DsuZo8SKKDS8W`oY>r>_^s z8xmg}Q{&?m^!m#+V>x8vFm%CkAq#+cW$Bn96bU&9pYjfM%E;??c;1O=H*z1K z>8*UAv)|xfNq$!q_IpjUhIJb=#PxuxmghjVx6}OcKHeFZyFhIR!oB*qh6hz#xA6&H z-`SpSd2{G}ne2Wy_9nF_a}VKPAXC32;#raVz*qiTH4bURa|*z3b()j&_5%65u_5YTRqTQTO#{rBX#A&UAj+GOh~e zh4Q`p+Hp}%bBAd4I77T2Or!TAK<{Ry-lIB~Q?E>me^UFxJ)QMpzS5nN+2N&=;Xz+1 z;rEH)ysG7XuY|r^96Xq2U-tbpT;>#7IRtyXUnIj<&QFF1Jrz`+LEddzdJiogn7?Sb z-^2LZ>VCan#3%Q^A`RZF&$rya2zgGfx6_dL(!c8QrB`&0d)l&YPkEo77vfw--?0LD zw`uSr`8-^vz>~JDlUKGJ2OgYe4D(L`7s~ZLvL6w4Rb>jtGnRScf#o>xoUCazovgh# z`BA%0Ek_xYzozp*UVeJ#att_X>Rpn|uk@LE{WbYKgsS)V6_@SuJ2~F>^>IJZar8bR z+JmA@GuwonHMwuHFZ=)0=Ts(~YkB!k^yR&3c^?tm5p37zN8=jev_;|diU*4FW8m)QRlb;&UNblL1(??oAk%iR|$Fbm-^!-I|Ivl z9B^KlIL{&d%--S-`fO?TtDVb(e@u--)q=QmJ6TDhP*J5BMf?Nj+pI4rMyn^x|#_oMMwAEx)Kc7K{4Y@e%rFX8)0pf~d; z!k>oW`d2-y#-)^S9SaZL_k!NrdRmn0>D7B&ceC;(alNfPy>t1gK2v|Z`VGCjcB^_F zFImuD2umd41fyujuh7%6_c3^4I$I3*%1q{l=3~yY#2(KDIxL zu21;*?fbL{l>Sd&?&0jxebjuYTkvq6>ojwJ)eg)bJX5U)6$>7p5BtF;_k%%?tF&rZ z-^avXOW2-;#QQ<7A^ROq>zq&6t`fR`EZG!pC>yWocq1?DtUp_AcL3k8lvlu+($Yh^ zi-U=;TY2&3?#e0X3+HI(7hmGWUteCYs$bOS3)r<;sVCo)bIqT9nm&$cN9*xbUM1pR zk@t@_`-`%@&F$_SXHU*gvhigGd&~dquS7q+VR$Z-{kq=H#!Ez8GY=7I$xxqd_QUb) zFZ6oC-|FRXUi!+;#{mavS>iKWw617X&Nl=7wlp-9SJQc!XNmZSuhW-v(|K4PqWKK? z`0v|(^`Co-C&VlFRekwP8|KY740zykl?Io)@vm2VYKG^k;bZmfTJ7O_d9QX*&o6#f zpPz7kE~~e%a<*O$=i$^ptj`}GeTN&LXWI7;==n_e+nPKlzgu0G&vjkdpGMzDaK+m# zPw}5Rm%nn4{b!q9#S>irO!j5Fd>^Cwxz6!4>7&X^KiBhzM7`Bd|8Cb?Y8-pT718>c z-iP%0g7uVc>5R+1G+Db2{B`ub?cyknC%htAc?hmdhOZgcUoM}n#=*DD=dT&&?`N)0 zW)H**r@05v;)Tykx?eh)%-*_XevN;BGkx z|0VcpA5+T#;A+p&%i(yhY1T6DD3tH5R=cc^*uKVpsL!t||I^vO(w90P$NZbMpZ@pF zv7=sgTb?${e;cnqqSikXzItmie}j~Wdmzh6`a(4yg71j^bi(_)azebxACTuhCdzeL zrXX*i{d8UR-~YH;AK*Mla|jP|Q<{Ff%5TDfJT1Q?1pB?F^`|7$->W`+ewNt(!{@<% zP*uwp$g61HG05w3y@s0Q{uS^id+Pm#$iG^`_cyR#wg1+~F^k5*v!|Wd@`CMly?rdrr+FMe5m|3 zTAUu3r_B#n$Ne6^ z0||DNU*B6?%kuk$fqXwHb93kT`3dK5d0oDj1pZOe%<;~4Q+a;ZaOE3&D<7K`kIX-I zZm;U{JLQ|D|77P)AL<;Rt+GF?iGEt~KSdhKb@ys=AM9w{pxT?2>(5rRsvPi;*3ao& zK1=UX&#yhYGrow%ZR;;p&krk|&j-73THn##c~!&wCI6pPyRbgIpS`2d?_0iigU>VV zd%sPl-^62+H|B2J?Q-P=U02d*K0CzOd##&%E2D9$y5ad8=si(s@h-{APv&u=o)jOc zk5iCI#&@Fp-fX>f`91ffdNK*0qZQG6M@jYdick00KkilkW}RPrM6&Bq_K_;S{vZ1K zLA5s>Zf-rQysfi+jXxLuR3D(?G7nVuu|EMi9xl@S2sZgWsS5huUGP3Nzrc^``}J}- zZc59R@7&ZIo#TdivtQ|qFMmiszE}La?(E0a*FO z%?o?dw{*6vez985YL@jHZF)_|{d=nUR+szfhYI_A)b4rzBg$#%iRyVKevk)O=<(^d z>E&=9q$Ol0$djhNFZB7u@0yn+9_uOXR`UlR$NQmtE>xD^x5CHMFH`wyIa*vWPp|v+ zM|3WinBPP7J9vlQ?o5~Uu;KXoKG=TKeq|a+$Q%sZGOP< zqQOo$ep^fH^1BR;_jGP2DtA-s74|bX+4(reQ}-+Prj;KmAK=nxJ}1Z__3xqgr#Q7a z_JCe$>V3F#eo=X-xZ>wjef3{=7l+WYZdL|;M<(~P?(~3Pxqe}HS*Gbbi2a7#2OLiQ z2dVzTaqp!@%D-Y#;eB(@7zE$KrpweAvc$0l5x%VAf`7@mla=**@3f0-petA8<&+Zx4 zA1gk#vtIBEQvbzj`SL%euaAJ=>NNcOWd8JOUp3{{|8Se&D=w&Uw%M6ImJFYp--y}d&Hpu->V&s(}ce{!#u{uO6Pciet&_6 z3y9y-0bWxYep6gGtAVOFQ&+F2KKc%3Fsb4(fA;?3czU~94loY(i-!JR<#~dqvZUwn zzSY?d;D@w!KNasuz5WfV9Pp5O4^ofU4fwSDZe|hTfrpxg$5nmQ^LoW)E%S|omnUnd zs+R8@WzculOE(F>a|ze;0>9Ii=T(5)>a_9?`uuF5b*Hj_O^a_9t*2`9r}h(-H~6)v z-(`6}Ydha`y!;B4*MxH=FUtDs5#RR(z2SgpKPu>Zh29JF`2y!bS`6I!nR$k=C;KFt zez3!qhK~7c`by}zSebY~2)w@Gez1(zsq=p0HcpKn(eg7V=Y90TFN3Ur~ey=t7 z49zakS25uIw(fuIEAuXYGI5L*|K{#)-(?;D*JQ{}iDJJ_% zru)I?tM*i{qt%n*7uEBy-bzgzuUPseB{ZJ_cuMm9{pxRN_P}|)re)$hr{E&D?L_V* zeV+-(vypJ!nUdi-GvY@ z@Zz-Cr5?<4vh7#TqFoQl=Zp3&ht?0OqyCD`zhaN;qS*Mi`gr9}yDNWNWoOzle+=8v zaJ2q7=7s$n@p%p4w>tGd+W9)Z)%I+bzDi#8(>qU;2Yw}by^LDy`{&y(d!$YvwOei{ixiX)N+wDAJfF=PW~>TrzYP60X^PdcGe#h#qp}6 z?^k<^Zpstbf1=Z>oClMB$cgbQXINL>7MF&cCzB(7hu6kuIv$*$_c2WN+}7louc+m! zBKLD&*5ALBzNX^A--ZDX$G1AIf4OtJv(@(4^m)(F+gtyF8t?EI>b{NF^>KeuZ>LF5 zQTmlj_&s#sYxKBYelSgoSM_cJ7s&ZFp#MatjgQdmH`(dERDXV8S&t+5X0m*)e>NH3 z|DI}BNc>K)$-cfI#|9!n2pTAZ6;U~7np0b>mh5afe9Ph;EZ}xuUay6ez zhV_Ihaz05oq~f!$q>Y={{7ApZ4Ub7r_3Og!%ocqIvHC;(_13SA;kttD4rTuW%WF?eR&Mb5 zrv1tZTA!)3Pi=2a_TARyo}=$%x{5>bIcnU)mu+r+$j<5c!-VTPhr@avYFx_SqFuML z&*@yx%5TuyQQoBQUzFwh5jH!;HYWiOZs?G&);fXM&8e4 zi1&kFUnL^AAC zq4gC^IFMIAujXTxI4=#(hcw-<@__vIw7UqD(R1yFWqp2|mfEwE)uZ%ZiTw0`EYi~b zL|T_A==1L1Ip2$x<5|P~pugH%eJG*vW3ac|G&HP-QTu7L=B16RvTsUXKayO76?=OjI1tJ9T9rm8Y^H;+G~~SHhe1 z@y-pa<)mSFpPFhH;3{XRydW?BvDL-Ze_x36B;^MD>|8gBCYAyhl6 z=L$bdXX^b0o*eOhu+rCE{uSSnEUxvJB*TLruG7ZzI>*hmzRl(HQ7P6!w(S^#kIB)8I*Z9*k>jqv7y*N%zCItL4IWen^~`T>Q2^pMvZ4a?qP0&fBd# zOdlWrmSp~b-V>dAUG`ILcIVLhsQzy|_v3ARn|(YtBio&1t7qGLK1CZW`P5<&Ub@gliD{AExuEa(`ZLzjuyaZsM&T)Z?=+OcqZ+;kx2sm*Y3s zkL*Rs?95);8J~Mr=i^vEbw6`{=XMkG1QK6=O|tVa&&j$U%Jr7~qQ3lLyMqVl^QGbV zJ;}zX+j!>;--iJI$_c-V4d-okT77coIFx^_9`}Ev?uTzx_sjDAIh)<(2a0^o%!#zT zs`6Anu9gG8U){Iy+m5H@yy#NG^?pml^%!jWdp%yQxQ$0rd$MCER)11^Pc%M2&v8P_ zJjrhD4IW8rXS?Oc=T&~GmV@$1_B`4{^D(gfuwVQOwfzD4$(q*6YTU7%-rM#56z|zv z`N(`y+?ND01-%ut4{}J;YwG<>{XN3|GFoR2@Q|i2?(Apzo1KpXPtw%;STf%557fB& zXNmYX{#*6iW=H9ZDn5L7GCOSi)Z>|J_2q|pKE{=0e=CQ|0mix74^LC=&&qXrZTz{1 zs^9li2z_W89WjpAX~TNVm79hB$|(Yud#6ZGRQzf~$@Kd# zO@{B*ubTYcOz?D7U&(NN4&^!vyq|rwst1mT z2fEW&d3AT^f!@tZYu`_1SMKQopMF!a^ES(V;4QtgH+za`{%zXu{mAqws-8012YVp( zPF3+Bca@gp_(mO#b9mp--!FmQqUAW?epl17W&UZcqObq1;^FtH*TJN`S>pTV)d%&a zhiX^J^1c)BV^5AjF@R?w1;tKY;PSZE(%Xf+R zyx+AwCce_CdOJ;c&+>4Zns@(X%{5mAl;Pc2W`99J%Qyt zU^vf~`ajy*_}BhYjhoFrIG!bbX9Mv0{K19Esrkw2{N(7x+wu!zGe;&5&!TE7vCRPzhkrycsAWzIsT~B+0ohci%(PJ zfG=O7%JcdC2X^krUpusK|E|4z@_A65&tJLcnjQJ!?FV-FyN9kF+AR;|^V<*Xy=vEv z{Jx>xL)-Tcweb6QJ$Y#F75UwJ_gpFdL|lwt$an6&=JMS`O$GV<-hDfV_T_i)I&grA zhxY8;wVkVP;)nO{+H-&bq(xkQCFnlzq+wt>g&FW@_Ji*@L7LCA)AQWK0~cMIZ=E3I zS1_>`lk$AIhMh2cV4ou8^3i#gbz}KM6Z2z1esp>~?{S}zd}daNQ!_^j`NI?Q`T2>_ zBl+otBOJ@OEB9VCoF5yV9-Ek&8l9hLlgwR)pSy8-EI+q!Fp6;$ZO(t*qc6PV!h!y60~cL7aOuEh=W!X|2ExZ2 zQn%e5K$H()R@Dnt0UH)?XMVGeYnZ1!(%)|Y-NW;(N+YEA@JshvIC*s%G!^)@D z9$s#B_Hen*9xm6}6Y*&DPO}4%ViZpMV0$<`G8Ea*LmF=W#a>bPq@)7h#?cu@E+1benmdEiu*}lqnDtO+09v@{b zO|vyUJUg>ckQZNe29i&->XE`DT5!OR%}&lwjO&$0uf6w(|^&@E~u6EmqzlL}7GxbZTm1O5o=v#`vXl4uSwYO}TUm zd3k|fsf?UhgN-w5aP-W{PH@^BL~;= z7%IO|U{YR5*@k(b%CzLI>;BkO93PV}=;d?sVT`|ppBmT8XD8+vKI%cRzRK+A*gR`$ zj`P~c`4#y>p#XB;51C`V7TynOc0;&cCg+_1^?;C1FHBA8WQ5t*K0K5`-3R5{xd zVkGA=5uGx?%YIsu2;>E%0LhyQK+bbOXOECK;Z1v*cxexdkG!uLD=a|gjroA&(3~Ur z94ikqv-3*-kmn`8_-Ol?v*Yt~?2ahTAN4aMd7)ii7+si)YD~+X2!CjLZhm6=SR2ow zsqsi0v$KhxJKoNJXnJgFBGkykxzS_ddJ6FoJmD-ad+mB7{H2$q?vuJh>XcJXNsavE z?C5^&j*Odc$o{ARFR+d^l8b(|63<94?}u}E8~+^yJ?7!~DNVmU(#t#aNN*(PCt!K2 zU!lYyvXkd9!cQ6S(%*56kL2S=7qC3yA7=^>eQvT6}@s@I-euC=OiCs|B{7 z%cCX^t#blQ=&B#b2R9aG<~8`qL#)#{3kORL*B7j*PMa5z$?Wl{Y3ox-iquKgVu74o*$C`5VcnHF$Q7 zJvccpW8Jccby`^oYLEYX6i?vc<7|&%zdN(v`)*04Hl8TP9hGspt9CU<5M$$SUjC}> zxz;#db6oDyOJWCr|4hlh%nBkO_iT;VDex5F?=JDR`-yQ)kn@z=S-gYb!Scd6z<z2M#KDN^2k*-eAzOmDc^t1<$Lz-{dEJrB=s^o`8fQpp&j{0Kl(CZBU7Dv`#nXy3{q>^k0#Kf*5j$2I(O>~hUJQkaLyqmG(J9(AxZa^{tu#~?qdmCqXN znKjrmD>{g6_Anj;Ke`@?{GDSwdi^EueyyDGYvob(<(iSdOgoo9-b2(5fVFK2$S1MNJ_FN2&Dwd0wc?eZg&(>(fZ_8b`v z_43JSMxw=Q8l+=m4^FW>&zl{p>QL9hUao^ zJIU`87uXTRUtk#@J%ZH8wfDKK0O|3ppm4>QXKr*nx>3h+(LlFfPkBSB;fdN$-q0f+ zLBj@0kUVP6HF%a^<43o(o9M zNAz+|)NVh&jBw zZQR&>jh=_yPicABeUM&0YTy~w^RVlqru-N91(M&Hp?VR?`2cZCJ{Ar5wvUSnIgHmK zJctz@Hu48FSRU}Ufp2jhhHnlu$K`CGS@hans~f)^n>;dlSjRKP z25JX1dJD5N*Mm6j7n=_=rIT}awQ|-6)XC%S#`yU|;6MzjDDe~zhoc~4Ie(}t547UO z@a$o1JARfA8uLez(bmGx&BthB_AvRhj(=``c5IZ*ggC++zFw$72q}`HzoH&(F#hLXjVy9WBTfPLW4(<6gz{i}BADMx)7cSRS?_ z(c)pxc4CIMQ>3(w|7&5S`d#>(wzp)hr0 zp3N9W;{fbA=x9Mq8dUs>FlWpSp>)=+KbG@N9w?Yg*aF8^kkjz)#K29c(hic(`19z2I^<(87<8 zu~|Ly(PV7J{_(gt=GQoTq<1Jkc1UDFi)SLpvk6lRv!aEI$-{}UDNXw}!R4BEgUgQ@ z@X^#09-f#z?6S$G$3;R#e(2C#Gdgknp;Sbv#OOH^$FN*dt@9pyk&gKAB5n zzmUU)6XVParpvM98C~ac&28i4_~jjjx!Ur?Mz{&FveyO z$Qsb%2f1)8CZC;XzI70{KUR4adst_zWlk(^tp9U}Pr&6-i1V=d8`^oTOwJnTJiEm3 zYi-M(d|pl;j3(tFc{J^hABf9EkB?8lRC%JF-Mn7TrYE-JMgJi>5a*AHnclG*nbET| zhbGw!*+c9KpPvX>uRy-X(Ry2kH7Ftu(fb{WoKJn%;rY~etvtHVMLhg!sKax)3D2&2 zZT!vWo`_%0#Mj`X7XaGitS;&OWm7sY(fP&XIy>cq*fxG9*ZRxlIv!rRqjH7(;&PS& zZTyjZ8_0Rzgabvswem}qxBOD&tvK`C(DA797LO`#@h~S98n9E5Ga9X&cXp(|oJ1kg z%3Jmze6#%UsOxxCd8>S?@)o};Z}}VLMqGik6Uq5J#wdUJT?p%Lunw7+2CI`tZ=7iG z(Hkc^IV)Dc!<7WHGt-kdHQP7&vIcuWBp97O3>W_9`z#>G@3}PPEI1KA;t{XiFuhpL zbCKKAd`W~)?S|V&EEnYMcDbO@ZH#TTkqW~pUoR8m?7HSsOEEDzG(n4Bxn;YE3ncwTZ_^euc-j{I%ORex2Q z77xe;jYb~PwB(U3yc>(+)|3mP1n&>-=1gY1`WE7$L)YBK@TT`DO@1YlUv}YT>Na$- zcgfD3&H1kBpNe_!BDYeD7o-NFe@BMJyemjAU~fqC4fY|uASJ3e>_d7%ieCkEc>cDq zP98NY8ve&b_|z45ispeqdO_;4NFGW#q!*+f8_AcY98x~djBj8cq&9g$#sN|repuom z?G_LEAO#-ag%sov7f3-qc%_INq#zHZ98!>1q#V-o*?aMKVsYcY_{Qa@GXej_H!kmE z0{)9{Tz)kZ@Lzo6@_kIefANjWuVDiIi*HM+irW%g<$U{)=ziue&h;|HU^hzdIA~Uwk{CG2D|0_%FV3 z`MsEc|Kb~$^C|Xnntk&Sm*1D|@n3x7^7}CX|HU_M51-r1fANjWAHW3s7vH$Np9%Oc zzH#|^Ou&Efjmsa*1pF7@xcs3^z<=?L%m080_%FV3`NNoi|Kb~$XPJQi;v1Jgf(iI9 zzH#{@nSlS|8;{QgOu&Efjmsa!1pF7@xO{*K_%FV3`9(~?fANjWw=n_##WybJExl;% zTSvH@xAda5SLK(oUH*%29M4;N+1fV`aXD}4MQh&_vwC`N)Y6OAUX}kL+vUIb#_^A5 z0{)9{T>bT)D=v?fANjW zeJ0?)_{QbCn1KJ{8<+nv6YyVrJaT|ItYOU|FP9%>G-w&XKxV02=B=8({m&$Aa>r{~za zt$eKxc1JZDvZp(oCoXTk4lYh&e>Wbg&bPECPA;$X%m83J){q z0y)^z&xLFQIoJdJ0+0ibK)3MAzYzXP`6A#!F0;3p?;F3=<9$`$vVkv+?eJ%C5@DeyNg=MUgbayTJ|=kpC@ZI8DP(R>4)JepUa;g94R zem<`N#Ig2gjL&V<$+`I&IUfaX4tvLVn4Hamnve#y{9>cMQxmcA5O^Pi$xYAwV-NBb z9(D@&D<49)9(1?qJrsYu9J4d_Fq)my;%Cpn=UQ|vx$^irhF2b6$K=Np#Vwv=278Vv z587LJ{v5oyY)OoNaxV55S&_#cBP;UQV`N1hdyK5eV~>$z^7$Fl^Yr7f2lH|JkH=0> zeCwCs%D z$DD#EcrAG}e@WNQ@Oes_b|88mCz^jQ`XNxSBROjcqUmX|_>1>PUJX}6CZ;!0BpjP#tuDgP&Fkey*t$kM?=gOiz1+Mo$F7Em=ZI;& zg@Xt43;dZe!q0Ize`eg0ADL^dTG%d!N1PbX-#TZ-A;tsiABr%kbG^Ej*hv!k&f5WjWg9Y?1?C6DB5?>(Q|T3+&--i-*nMh?eSW zu45zDKVfqA>=T}YL;C>zEAA`buGqbI`++=vskZr+ar6kDEq^q@<{$9;mU+G!ltAGR>#!y0KbUZ)vMWw=fKGj$1H z;@QK_6(jP342}cO8XFkW@${kfDuI7wU95KrrU6gxEIm&S@c`a8;EM)4TeezjXT^YD zLvaSZwY#a;FYqgc*5L%aZ@>>AeEu4-eB%D=cVD01H*uJ)3=tJj;2A-9&>JGT!gI~^ zEHD9n$q@hkzthL3hWVT81<9+m%t+v0{Fy#~*HJtH?>$hnc{w99^(AD`J`wz&Y%{Tx)EA46Gx9_<6nqB*bO!!>P zP99I-sc3lkTCpachJk0G$rG)&A$K+16agAX;CywU{pO zz&J&wneSjHTYeW7JzzY5=PBRnvR%*TFW+_Ll|$?*wSD)lEB9PA#Fn4n#sVJrSD7Fl zXBdy@Z|W86`ZBiGqP{U6z-JMDc;|3O{2=21y?ji!BEJI-DPOOHUumDn)XSxXqgZqM zb$IZLr+ht!fu=od4PdcQL~D^@h5;T}Ul>xcZZKcqq_xH{gLl9;*FRAfAdanoIyI?77o{4OO za>C0kFDC(NPeAU;@&kB&+sN^Q&2rVe|Kju2n*$ATJCC=flQ;FACVA>j9&CS9P1$po ziy5;0`SJy_H{)=y1&bsW; zPnDaVN1vOz2Ltk7eB;k+GEBgK@r}#x!vy>n-?*I*WCH$+Z(RN$Cg8vL#^n!T0{)9{ zTz)#|Kb~$^G->#VWXXj>^RU`D!)~K#XMd(2kr;qd4zZ>aO&ix4~$1aLB)6|zaWR_ z4wwhzCj6=L1k5AH`ELa|*n@deBjUM6o8D2q9G+|R%M)P0Fq#uR%7)O9J%ES$f$cHL zS0xXhMc%(K&8PQIjQ8^u_{ElI*MxaC3BGwOj@O(t7qE3qo8T4^8#v-m9s8qG#%C4| z$|sFrC)i(={8;`GB!@U-Iq*D0W*G1Qe(5fP2;_i&xy&$-10Kp%t9*)a9$0d)C5Q1D zaRhjvTtRz{<@`FyH!SDZH@;yxw7U;X0i(ci^Dkn*_*2-z0vpJYTgy)6HCc9jhwJa? zRFwC5@!CL49)H{v$1C+ThG)-fwjI*w<YYs}6_ zuHk3$BNu7xiR2o5v<@V^CKBV1SB$iLX zfmYn$dlop(AjfeAxiB@x!`HXe*w0qMpVYla9LaU~X!*(Z@*~#CgcDkNC)snxgPMGd z-cV4+SwMR|0|M8oj~+X=ofD1wuL; zm-CF&_%#*JV2s!4jc2fe=L@sS6JqlCYxnUub2-o>xo%xq#mqRKo3G=Eo2lUS>&Nm3 zeeiZ%yk2m5v)POBaJjC&G}m{HLfwi(Qy$qGmxuGChv0dEMjqv)My}xz>&NmFRJ@S$ z6I$}Z%yI4YB9d$3*<6Pf+0&FGd&K&*?d46#W$}#J6J-~Ov0P(M^!!wV7tdAO^~&e1 zlBpGkNIq@A!{gbQJ-my^*2|SA#CU{UTGS?Q*DLU{%(dZV*;3_`huCLDne!*U38OD@*?ZI6$TxAV-i4}^??IHos}1AR;$txuxCi*-vtFYn*+ zaosz!Uol!# z2gV!Yde;yS@Yj(X>`b9`i21{3D2`$&d6xJeLqZ`0E?^edZ|GzlX)0`_1DI-|35ui?Z>+Rt`gaz@CwqJr*7| ze%Q_f@mY!4uj2u|5Vw(LK1So2(Ff<^3tj^r;u*x^spF52yT%;`9`Lu2fG6&7oSzMt zHUk0tkY8cbuhuYa6U<@_c66;dc)4#n|Oi>5^ zJ)Rvpklz!1HM6A`ct+SiGJm7>>TUVeC!cTf^LczAo{KUc<+}IA{DO9171w zErT(hzn~}Uk@#K%YWXm})Z~}ncR(2fc!=|gv>)VrUJCcCPwE9Zn~o&n&l>-@Jvh*S zKV9N8$bQrJBhHriwOIcr-VXG~dH59#6;M`>j{l%9n=DQ1v2*fd~8@ME*WP@~k#__6=RRYd`;zGJAk^#V+^|3+o5&=bvBRemVQJ zbL@!x?z8w9#h%@}_Q(${gI=EU@>yX2@c3Z)3i225KC%h7Ob$@v=f`*cxAFp>sske!L;tqd1`$#pM(310h zbW_}xFExX|O9sCR2KzTy$5j`%l7VLc&zp*->39Qe_DAwoByb$on{kuhA7@`B&&TGd z0iHik;^lKu+TWbd#__RlmIEHz$)dsEr6$kV44W`=g#BTkd*y3R2@imWr(Exbv=htM z4du!+l%Iwn&g+a=7ym&6PuYN9F~}PR`!@{s`_24i?P~N5rOS8i%wNGjQ4|$M9EW8Y z&-=56ke73QJldo^Z)SXPdAS*X(IoBP%WeQJz2s6TKj*Oy1;_LDkZ&t0e$U?g0e|1n z_MQ9X32$L9aL4&8692%|xxC3vjXXs>r)J`m&)R5sE(y<1xtwnxhv%mtZ;hw%xkdab zw!pXK>?5?3^U+**egw;5X+A860kt-{JP?!1b@g6!d0|Tio`~sUi%$9&06;HfdayBmlCjTq`GP(FfaipMypE-CvTepxcz!xns z)RIT*q477~+SVl#E8}X`F%v7@w&A0h$a3McI6u7OhSyb-E3G0Pmu*JX$bF z+M~!B4d6M6LIn25w99$ac--XrQT&Um5pyJN$)neEq9U&1g`5|0om?yq z#*Q@kc}Wqamsb~^JmS*f`5F;TIWIvvo|atYX~`p-nmoVf zT9u^EGmjHBCE(PM$k5U*a=*gv~s^Zr^T? z!0i#ZJp#8!;PwdI9)a5oCi{53) zx3a&peU-lv>pt3W5C@xHDsJ$oh@VaGz~7!2`__r}m5KH(Jw&ccYRNZh{HVCK3)4zD z#`FJyr}2DgpA^7)Rk++YW@Wjz;QHriI3MBQy%emsfN;5Yi}62vGpA758{+i0w65=!ADhOxNyN++cBSGx=LYIFr9C2xn?{YY1oZH+7R+e}@sD$=?v+O#Ut- z9IW4n%X1asO#W^lT(9MM@TqG2O#TK4XR>dJh^ru+$&Yn}GnE(IUYYD0xLNhrgv$|e ziwI}3uZ(aey=w?($`9J%=ou>YV_jENb zCfo?Znfeh$B5s9orKSTA`RNn>=&J^by!kOYsEmvj4XR>b%;f&=O;Y|6_|4cP5 zCY+COnRn^$X9@^sieCxgO!0&Jen?IC$#5LfVYxm8?nl7!KFfF$;B4baBhM1?vyBfG zFH*-XOmU&=tr7J$`Q$&Q@q_HM)pB6MQTal|XKG(CpRxTzd|Q>jgU_MmZ@5j(Uy~nA ze=Xx{6{6m%W4%rL5$y=Zfqk~?Oy=>Ylg81he1HQ#R$r(0BY1(3gCEr%{iuE- zS$k@W3--e^kpdPiQY#&7VYdi#n*y*Pf$2leC6P!7PpMT32*m#Frc z;!^9znO)iK}T7u5cNsr|$4kZC-k|2MSu6!V#$>q0qR zyteavklM>dzS+t%@Y!(LYos5R{v_b6^JHEj?6cv3Z@}X3u;jDhfN#Vyz5#qxT;He9 zRQi>;e>(U|=`R&$nYRRftjhi~hx{;(mvqTz8V|$u zd`RooMcY~-m zQ%+W%ZE+4HpRK$sCDd!Kgy2vHi&xr|2mn!Ha`lE`BsU1<$~M( zf%i9V<5G0YS4+retH0U575>`tcUa+i5*zGcUJ8;uPH2zW2KIcf>K@ietXizqs{x*fHO-W4;Z?e1re$HhxQv`PLot z4g8y1e-|C|tvTlFf1g`_3y%3#9rN}5yIX(ZIfU&#s_0m6%`qRtFoCbxd95%p62=>Ie=E~{@z=7%kR!)NOGns&>7qK|0G|M|C_V_*1`Qjv&b@&Cn_ zK=FG@cpU;**GeH{JBu+vTrcKZbUa?N@)=rwG|jV&Z>0XqE#I(XzGcUJ8;*TI5gy>-WYUd?e_9P`y2^JTx_*5A-E zU)3>R=D*$g8#v~xIOa=#(XGEZB46-ceLn~HBdFK&HKJZBU;qEOjZ48X->PH2zW;UW z?}%f*6~}z3FS+%1*fHO-W4;Z?e1l(h8^0yTeCv++2G-sByXcs2%`sp9SKRtraLl*r zn6K}vZv7o`%(vp0FZDII{;u6gT+eOeP1NgeeTeq_yd=kIY-x8}Hiup;%^+Ls#9K4`CO{e$fHgugbu!xBgBAK3IR6ZKXd>&<+h=I@}yx$<|3 zsJG%+Z~6x`e+MMamA{Kby=BLG8$`YR8?<^(tw+HJlHD)Z>f35U`)qvRhYjcbFj-t| zd_~86HOG9}AG!56Ovqe9%0Mh zwV${xr~N;5%U5vBx9XU$?`LlP9dXRJ;+QY>bGQBuJLX$<%(vl~59+zCUIq=fajrP# zOaH>HeL2T`WygFC$9(=T-Nvuvn6K`b&-;~Ie~XU!YL5A`zjo_y=$NnSm@o4ixBdo> z`6`b2(!X`md8uUg3%33NwI8wKTJI@t{TO!4x9pg2 z!!h6B9o)umiO82bRp^CsGw_7Y-x;-)zqI7DjqBm}15E2}f?YPfi$uLtzBR{ugFhDS zn$3^?JJQO5PsCCE1)Oc1fr?vw3T=F{?=)HdEbmv;zD=7CG9vkG<&WxzNBkZ}u0iu7 z`yHAeRQrPO(&F6z8k*kWJPk*+ukk&aef5Jhy{pm>SNRKm*uFzl`vJ|5wL>&NK(DR7 zReng*8(i;Jum5A3-t6mWdb86sT>lxg_KzCB+D~YHEED~xAEo(0wGVK%^0)ponja%~ zrnN(vPttHJl5eZ)+iHX6@9>#4KdN)Id|Q@$TkUW7OParfccJ;aEctBxjU~xP_1DHn zEzf|n@eQ0s^OwrEDEUrSfBVmN>u*8wovi-$-PNtXBa-iA^*7b$*56^tce47s;n?57 zb42`3R)5!}eb#pE++=>(`Ui`W&!)F*(3{U+xnoD(-+t{-e*cs9?8xufd)4sveM9-} zdv@mcKXLnT{vy%BT5;QmxJ!sQFOJ)OVDDACcH|EX?LQza8#<6bu~D?Ll_L7F*5T)#12_BjFvDPLznte5~6=+h)P&aiyX zZyx6UuF4d%dQvNlv)tza0$TX)Pia4)z1E;{C0Bl3B9w|@8;w|phX ze09fs-o4%WTXf7g!gB7Qbp zC~>a(8&$`AnTNV92M|A7{w_(qw)j;N+Go?7{sUURt&G#+G9dY=`D?SUOtf#!v0lhG zn;(ORXmLp&rs39zIIzzazoa-@`P-PM`2l)ue4B-{#^wBEe%SbiiF~<)?=-A)PO*FlM#8JziEzT99-tw&5`M~8z(ELq5Rp4y? zj{G~#zU(Ru2j#`4x9~`s9~I(vs}`ldw)UB7U*82Z`>1>)M7}aH-^z~HlTKae)?aE| zLZaR^*ZzWmmU)|*N4bql;FzzGFfO)sElvC$8idbQ&j%zQwO-on>;F%;?GX53)hoaM zX7kr4ekTs}+W1`K>LTl^5?ZZsSsP%;!0dOV)GiFSQ&j z6ZMWH^w-+{5x+;;_jcO+XYkjicg3+E>qI}&k4=`pHa}{P{U}TOZ1uAE_ipne`$4zu zOJ;>;-)fGAgK}kyOA{ymf$tjOai6}&iE;pV6Aq5M(px0z?VF^P(-p**8Zo>d`bVn2 zCR~tUA132sxlbN^JS{&UF1B`KN%GmsRVATb8(;bf z$^5YKs9rHCD^ZA2r<5zObS9i?kZFlQ$(ZH9_A6%H6nxCA`U&&^+=f_5;$0nwx zM&~DIrt^iF$?17nv2Z)S{57}Nt?cD){S6I#*x%X7`N^@-sr>Zlk%|1={OGK782bzD zi>+R6bfb4-dK~z>)f?>4#}D~CH8WG-ZZfCi-lkIB>RnHucl<^cWu&-Uy}6xqe-AHA zj!%rc@pmnO-r0re`AM}{bscAaNbhgA@hdszgYs*uA5@%og7AJ!pO_UDn73Pz`fkhpl0k2`eCr0jPJYPt zs3$*iyY%tv){nA*Pv^(N)KuFwq+7lHf2{Yzq!;QET&la(TS}-GUqiap+xI8Q{DnH# ztG`8q-l*3X^$K{dqM8OuS)<*pzp34NfAxBC?sl&?Or#g*ZufdO66wXc+r8f4Dt(-B zz7_sZk2BRb*;i~f`IwJ-J*VQ*d-V2Uy?u_?A1@R2QvGN+=JWT`;zG5ru=F9U(GRJ_G-8OhK~8Fj`=eC-1RPw{4iov(3Fiab#x1Huz0`In^F+6C2^{lP9P_1fZvD+U<|{kq zYdGffpX4@vCC7Yq$9&$C-TF(dmn*LI{;69(h8^=QJLcPP%s2RFZsWJ)m~Y)N-+ADiUoQu#2h@f3Z&ne@U)NK!xa<4AbaqI*A9uhaXX*Nbz5 zu2;{8bA!%@^P`wg;s?$Rx?YsOh0)p3si}#neC)wvR3x!|P)_mu-Hv=R+?~p4B0drB z$drzHWq6Y4HTi4ncMgu~^Q~Jxh_g*^#j)P>!Oigl=dUR)RGcj?Yd!j5Dpzw8V|>oV z9OTbt`%xOx=LfP6%*wMV3UYFYun^lfYr-xr6t;{3(-O->)4 zn#hmM6mE1gUm!K1k28*+$v%u5PRK_s_a_R6^8@=!jY~j$Kc320am+{6JCN|bd|Uh$ z9rIEBXe88Yo44r)q8{1&El8ZLJdeovyEa_?VKlwexYUXE0iP`{BXYj7EiOgkyk^jA zmPy*^nxX^TrJ`D}hH6ZM92UbC&dK>Td>Wp1Fw5BO|;3`#zmeE|^%dToBJ z6a7d}xy|34+P(Xrk&qTWVAy*5AmBgx`t<10Dlt2^fNrrr8mB=Yqc=Jj>kFGz{S&Z^1F&s$;&sIhwx%hVfHV zJ7l{~!}Z*DU05O7SClv#-;(^kpRHe#ny1C3LgkYV+v4KMeyq*DWoe(y-*uvWMWSBF zH=7?TM7|mk*VOB19j_*zWxcQTF;Na|aUPI3TfQ~*I`U)j1vLBCi1syzIM;rZj??N} z{|jljr1shJx5;NIFC(E_`&N_sYq1afu=;x=&5tY*2YPMo#&SYFn;(^j3qNeQjf8q_ zexx5ki{F66+3bV(QE@i=)^DQO*C6__A=k}wWgpewl?!NotUZ;68@`Z++aTg9kD~EW z{ml)~_*QSG;TlxFi)ef!+i1Ad#WY-%hzl;E@ui9D53Lb#g-dCA`yNBX)rh#zqw!J8 zRpypte75!_kbJiGV9BxGb)w$%qFaA+lF#PvqGP>lM7<5idi`gJ_}Tm|NF2FeZ0WzO z67|*{>-C;V^LIqzT=}~~)LV0`H~TD_zrzye%HL(8-l{=w>-jnRkIfO79-WRmVJ#c`RNpP8L#4@=kc>vGQ#aiRKaYd6Y{ z`5KP-{O7v$x8#_w?wHSeo?Cy53HfaOjhf`Mm8(=SnIAU2!;;UYH*~DGO4PgISnuHT zMf`031`=m$4}t|6Uxmm=?eC`LxS7qqT+;C{OaFyxUzunh@Y%{~gE&qIe75}ciQ`gU z!tpShUaEa{gMF>*;8<`&A%A4z$QYYiH$4;e6=s-BDlqjAZ1#=3C|Ubr<6CjemwK^V z`-UC!Ej#AhaLhOO61VYNBJwT1Qnr(_e6AeSf8Uu}KhiIC>qpMO*IwU_%p99&uW;Sg zw>5*_Zu$C`+{UHgm~YiFU*F5z`a5FaYcB@{ZNuAbzSRtRyXDKi+-+P!$9z@Ce3@6c z^*1o^wU>jriTU>CpzHh4b%Wk+%fWzbcWwQ|X1go@*%;HWzuS1eSmzkXS5FSkUA8Uak6J^0$a^RQvjm z>h)qjOnO(4-prhyFZ<`JAFBo&)=TxH^eesIVXXH$Jr3&~Ii|-gBfh~2eYwh%RDVr4 ztT%mJuNUJ|H|lYNNUtC2?W+)RSZ~>&7vq+ns<&?)=`B4?kITIV#qa5Q9MxTTrdN&N~g|8vL)o1JT1M~GilZIQrnT9j*6<({x*;MYK9ktyLj(kd9KP>B% z1D|bNpz@hy>+ak5sCofs^SAgpntdy;6LBVAr-|{i**E-pw|bWy^HJlRd4pR&f`ojw za^=50nSD0Cf@8jtW4`hmg}=7)wvs$)M2e?jx3Byq0%s5|zngIrevh=x^rD$>MCQm*B4rx8zvwx??`7AGx=Co0P*_PkT_d@tP-y?E5vp(B(^Vuj_YNbSU=Vz z&K4Iu?h`zRHlAbpJ{{&89@Xl`6HRZwykE7I=heS=dp&~uwdwWVLDP%l zXBr2l>Rln~rShd#Xns)nh8^?uKb2NqmJ{l=UH3EZ6mhYYgF%V2wJ#7qn_gUAOwR+B zi1w{Jwr}8Fw7BFX&K8&STC(zIi{Bd2z6R00Zu8C5{`v2w#jj2*_a(_^i!;@azJH+E z=SiF^y+xwl6~}s0|48$<@=ehWK^#rj)vV-m6&KtdnEDaRL_anh+c)62{-*0{oK5|q zrT5VCZC&E1`C)7C2mVRub;Y+xhc* ze>P^2$&xiF=aci&9^DQF1CR_vI`d_E#!}d{ernvOKUyX|ixBR~6d%D$b-Amn$ltsUDS) zAEx&v)`&R&<7!+?_cH||4*P5J1LI77V4TT5j5EEbgmKjOih8wg`8%}dmrLK3aNoAoxblx^et18j;W9s?#c$x}G+ffStjhT+a2}qo0&?4USnU@y`zm)4_0rXN z;`%3LJ-3vrLE`fis=v8}&xLI9qv~BF>J3hz>#{b11M3ItE`VpK-(@W*c-G#>2 z__e?RZ+1~XUjUBVu7mzrG`&>5k(Y~k;D9&T=bi0VZ|bgY`8J4r{%_po#|nyH;aU3p zEg-$C#C1tb;}#{v7d}I;7uO@xxIhs-_cQUW67|-JII4YF^nA-?U*B(O`HS_Mp1XKm z@|o=0Kz^9!k&Pg|rhLPGnD~M(spCzi_e55ZUK5V0*EMe7%c>uy`H49qj%r^S@tNYX zhH$3$SkkAYqxW#2-8J$d9JL&naD{a>ekNT19aQ^Fe&F~mAJ?}-b)?snZF}#+IWXZ?kY3ZgdaT#< z-b5eq{h8G-O8ac%W?vIHSL1b=r@QT!tV{cB<7?^vbL&S=^4at*I@Y^J)Z1{Z*Z(@L zyc8tPRe4z@>a9E0>wSaf?})^?@)xdGw)>PC(Z19--In{*C*0QGWoe(S9#tLtk*U-2 zcTnP7a9A~oB1Bi-$99U(3U^X*ruSmJw2Cv0i>A&{ai-@?RfMY^(T~3@-C5vsJw&`<4;T#24IE<;&&u z`Bp(VQ+_P=2|inW^UtB-`p%`{Mu@oKyV3YEcc|6git)ByNuwGXs(1shijuw}q#M$C9LiCsFM~!G- zDlh!7*+J6b{qu^8%WE z8;#bl$XB!o!dXEef|{9zP=+g`>1-W(=@$HGc>&e_YrZi)k~^<{!yBJ zeX}(CsCrX#G`+=tbE|ilsCUJ&-escR4T*Erjt|b$;=KGmw{flz^`;lx>di?$Tm4vc zthZs%+jn=-uQ`QPjQ8D=O7Zm3>{ooYXxAXc{kk&oJp!n2w({bCDp~)^#@F|0+Wq+m z5w}9br9MN`nK!4*Wy7(3ft&|#i_4PZ`SL47 ze={$4TMlw^UcJrVMaT2+Q#E3_|C$&Nvt6gD<(`TgCfc{;I6vz0y#!l+^f`XtV43J| z#j(FN>4(kV6!CosYW{8z{attLZ&mtX^LN9szrh!1^)3Ahx9v+szE5KFcir)OCl#W< z1CISI%lBPu{;m<&EHkW@8c{I{atkIZ`masvHbHKt9Kj0XKbz9GCmdkp8(d z#??NjpD%!MuK9XhX9wGNvh$hV@4>iS`><6>Ix3)@Fs2hBB~(cgQ@`YY>^ z30Jt6ileSWWx^Hu)%t6iH-h75vTqgHXTo_Iw|-#zOzUoqAiXAB4dJNkb5U{W>-6nk z>fR_W23&}6rEk#MNh*$74ovNC71?LP4czG_@dxJ87c=C292e4g4KnC2Z~e@*$jhU_!p{QIf?QuCLJGu87|q?cNMsW{X1 zvX1nca3l9u<3hczQgNpFiPZdELH3#QH~Rq94{E+qai;n)jP#mtRfIFu4;&XN&NP2= z1L-wgFM|iF@iSe|v3(}JYY$QDIkmkvy)Rxt_L=+`=|B|GBkwO0}zjLqWSy_`wGBcU(_QT^!dD8WWWQXBAT^}<$4m;iV7pgv_ai@1io^(AT zHN3vzZHaXt8-hc z5$?Y+t=!i|_x#A1H>!0yzKvOZYMz`XtzhZZPu?(XWEDK{ffkJ-2RBi z9oyEd-)g@mJubf)V-8rO7QGQ;}p9Y#AZ0rRBw(jD=*vxehZJC3$rpLtTh)pqmw`qqlEZq?5r zC(M)9eU>Th6mzDbL$!e)A{g#Usuu=9wqW^Yk@l{bq))+HTT1=L==S_qR~V7=J{-Diu zDXpt&-0HFCpNnRi4hNdAjYYQC2M+ocLdExx__tpNn z>PNetg>k3nIj;1&I+$nPsQL(YpWpmReWdfula8~i?Iia5BCac8yZLm|exn*!sxL7d zw?EHurFkBE@o2Z()I9T~d6{9J)JHMmaos)4*1;s*sMbNxaNK;v<2rkq^*cdl+OKrJ zKg~Sxd09P?gy-d8p7lxVYTTRO^FvzCRU1;jU5+c&H#_3`+IyL;1E0=x9hm;Uq%<#y zVSVL@>+@b>HZN0jrt>28>)&QJZZXesrR~w-xTbxKYTZYBoAsO1N%bX$^XKe?aizTK z`8%q9`y-y`0sD~l8}`2Q>sQJPMx2*w^0u_Ltu{g9XwKof`kV`ok@)ovVLre5~eguSR7>)%?j0^CCOUi|jBj zvctT{4)Y>AtgAN~&Wr3YFS5hD$PV)&JIsshFfWo@ne!3&)?>e;q@77~~xIz(6vunYvLwFaOu)*)iO|c!n-AbfcbU$8cOzr`vAJ{`aLrdUIy)UsmNw z*Ef6~XGyNg6R(5tcRft=r0Wd*gGPJZV(j4g<%#`rVr=2_yYYLm-K6*9r&ymfFU5%a za1Y`6fN;HilFoGdO7qt<95)~FxXz?mzY}z$>UY|3T+`>(=;||lo}0R=KHa+NDfLO~%5+>) zSJkImR})7J&)<`+Z?Ll2eFys=!+JCAL)s6`u3|QBG-u|j^(Vca=ggD(a2_7*xFPeT zaZUSBKR;>uJ#f?em+0<~G;KI9{RLR3RX@7CsbJWdet+N8>At^T)g`T$SgB8!=Pn%X z!}NXtrcU?y*n#1?QrC;_bMQT-kE~mNU!2^~g+~p~%hW~ndE@^ud%jH@=9%_u>P**5 zrqrjqKaFXgUHz_6^%u^rpTAUby8GD78amT?>2kYC`!zLBcVC0{F~jRc=hVF3-|Oe4 zqvYvaYPkLq!@SbaseM?QK4z~nd;Rqm4bPu0uUbyx{?9P4Fm$bB&FXUvo%IOz8`Aol zG|l70Nb}M&%u~0oZaq844bO}2b;f7E((zTMnP*u?z7W3Tvubq5BH(FACGB$rp|P|cuIY` z`+}L~wN4oB_sQP($h2Qq88^7Ne!YzS(`^5jD|xL;>hnzNGj__jy8Gcxu@7m#Hhtpo z_AtF4-jm%QWXiZt_P8!MX}AyF@tW~GUo@Pj>$j_pt2y47FL?=>5l76=dUnaf2Mh*VSQt#3~x8x^L$2ey60~-Z_@Egq2xW;`BUd5JfeR8(h7(B z)t%S6|1#UJxrTYwyh!_(NXgTEA6D%*JF>ptIVDebAN7d+O7%IX4$q%1FI1dqAG*A1 z{-kwf>eTrwUR-~F0oA#C*1Kxl>QR@M8?LJ=r+U7vCjM=jXKo# z)w)Wa?)|~|GnkiZT%D`trRpQnyzggqhWi-R`+n89vF82Ijxw&aJ*4fc_N&`&<^Q2^ zrO$6noz3F|;d3KZA5z|oVO~LJI)Bo*?m46FBQnhE(V6xkyW zO#6_wM`k!~)rXX4pJ&#`INhlF=o*fjj(A+_e6xPrbf*1E>!o8jZZhI=<9qP>AsxSz zhV^-G!2Frci?se?=1KLR+#5sy1(IIa_ocKe3RleX{lh{qim zj%&YhwEYImlltwBc-&dTajgqS+po_&wcqOXr+U6}_$`L_DknPrA~>>qV`s*9HS4^8zw zS+`)pQD-hb@r=bMFF1PPi6<^NYw;OV3r;^{;TemMUU2l(!o??7Wo&4zXsxi)3RdtC z-fwtR`Jd_r|1@+5Ham5mt8uEwRP%d=>h*iw@9n70^mn0>qw3!eQ1f*6?^IoRv{_zz zU(NeH%KNbG6U_2*L-*er_rEpIy7vdw?WVimtLk*`i>uCbT+{VzTA%5<*S$}t_M!Wo z8rA)`wr_l_+4G|~&dj-s&D?*h-~ZOQrt3g=A9Z!Tm^#yOO@F7_^!aOA-~VmSbbFZY z|8&paVpSZ6spseFal}N+%z5vwKdw{rLc_dZb+d8(HO!p1rkQisGIP$_X3k#6%ykXj ztfA|#Yc}qTZRUFGnYnO%GuP+)u+sXAuQz*tfAR)1=k(3oz|f^Pn&owFGIQR|X0COM znF}}O_NYz-G~Z9D{#e=`rf%#_7*}6B)8^3(C`-7Bu(*A08#N(RwJ6|WQ1Jk_0>SpVH z(iz@Q>b^gt?k9D}_onrkx>1koUNPLSt`F03Ri~T3o-(fP{4zImbEZzY&ZQgIbbFXO zbzXGe1J6D@yghW+|Ll*LxtZMT^=RBMZ@E4+*Bwpg#ner2uJn6e{dG($8FsqsqHROx z8#;AfbmN-#Yw9v(UUc7M8T;t)yrf6f&)<}xGp#Q+%v0x2SD)#)rcNDKxBsj1q}L<& zW1MHEh-<)B6qn^L;O0)T^`jw7zrkN+rbCoA;U;E=`^^Mb+ zjw|(HT3>2d-|Rf=ljf!U3A1_e=}hNE8aFWrsJAAY5S&| z&+mCDHJCK&KizueQmVQ-)bJD?c3qF(mW^gtWO%ZG#q#A>;Ij3i8-z`FEb;quXXKc z`<D6LhA}U#Sn%=TT-@-@vdw?_RU_ll_6&bq3Qu=Icf^ zf7Z9mwr`uxbo)yCA=7?4hV}JFT;JHY&F00U8`ZqThU3nRc-&TI)~`!9s(vHGaeE^k zcg}EJ=R25}QS}=#PkR1Nk9gdH;kfp7qwP0fp44x5#N*Byj%$5)wEgXXhx-S4A5Y5PvnN%L2YE9F(r zImGOGvFW(~Em!p+-M{X?Rp0+##+BBy)t}$~Ps;P>nI|15Cd`wbAN>)JJ9eYl^W38| zT`y9vw`~RQ*mHj+>2mT>BQY ze#hxX)o<5u+|+Pf|9-RYv5dW)$1i*W=sq9Y{sHGjaK7Sn-|Oudy2Q{GN*|M7tpC1! zspRSURX_LIj_UJFo$3B1{-N3Wo1q)k`fL5jY+RSlblg!pX+NGD)|XvAzt3G)$L+e~ zwTT?_XY>3+=c;uu>Uoh~w+5_Fnm_x;=)<%=aa_$j|L6Ug#V0R5W5F?JEj;bm1xwzi zS#bK|a~3T)W8qOJE_!UL)b~@W`IE+-Wgk+%)=x&;ug^Sb+|G!{?Hi6;8jfp!(CqcY zyLGhl7c)f}`t2HSx5u}K;pgGR{hwhU)-UF{?nhK#hvQ1?Dw%J6D>YvqDh<{a)DXDy83!|a2-?&F{sa*;qT*AO!s^0>b&Ug zH|N|rJg&}}=7pNP>i*?{Z&^$4HLQD7&j$;oU(@<@^K2JStY6)IGy}st_ZseZx#3Lv z&|P1fRmRozt8O=4Ui+@$d8zI%`b4)|r1YyBSFKNXKgPaV-&ys~kLB_nuHSEr-96fV zdrz=m-MX4l>NB1{&3%bm_bB~p+?>*f?*1j}JnQb45h>&9oSHX%O#SxFl|0@3UnV{~ z{CqR*Big5ay-eIYJb$Kr=-jlDr|Tnpf_>=r2ljo#edxwjw}&n-Q1W#1-2L3}_R!6X zI__Xm{W_Rc#x?Cjm)HKy@Vw~ynECt@>qA#xqKvDXXLVk5^_7Ns;TMPdFdesgT~J@A zr|ut~KV83SAG*B$mxt>!T`#)V4|QDKe%Bog_ffg(c&mC`w*O`C&%f+{UuyHO4)$f!A9<%I28aFZ= z*L42I4Da8Wb6lxD=TBzyV*QZ&HDNu6rg>~wTF)8tq&^0Q<4$q@q;=mm>^Jzc;rto) zJ7c(gQ;sXmi&dJ{H`c~|PNY2FFwb;7C(M(^?Hi8kw#@b~zTx)u9x$6f(|#vepVV*6 zaV1xbxIXtm^ec@!NhdvzOy{L%xZOJ3ZlfAEH{2f1U(Dtuq#IRznc=vD5sy1zc)#If z#M@(<<4Wra4fAFVx3Bjjv*Wsnx%oYhr1ufqYnqKa&2go5 zFqmh3(sAeb!)EIxpflaR(zvPNxP8vwsK#yo!>r%2wam6#wVtJZTWg!`hb9f(oS~ao z$86kzp&MV8`W({>k;ng=6}@v+4Wd)pbnu zdX8FO^}C&t%Z{vnpG3{m_51%d7yrwwU(??&Gv2c&l!Je_OZ`NaCrt^2VhS7DdErmedU>?zLl^A@^sVwEBo^E@n`zzi1Ou=2l^Q>D}YM!nS>+az^ zom2C4+oP@InbxO!KhIb4bWW{L_kLbq$X5f*RPtV`+P+If#Ez|A8MYbd7pje!Qnj9es!OtD3mhL!qi-Cp&I9 z;yxzU8ty~4UP8q^**>O6+=spPa38w;#<=31Y#-T(`xqGJ*?%2=emvPe#-CuGZoLFb zp6)zeecjjPmFo;|U)}y-Y+W;_j;qV-Dt+jjnx{K1PL({}{zc6T-&B7c#OL+hQC%;d zv^jsm=RvCLF4A@2o?%{2H>y6I^+wxAXqY!mH>y4chT}fIJ%sy!S5A80Wz;TRAKN23 zxcPgo#^XK>d8YGh+OPCJU5DdJdCC8w`lNBI`Ez*R!I=-^J~`@jZ|~`tKbz|%c|NW? zsIJO0o#$%YDb2VuBObRn40Tt1NcS(1w(sNyX8VnZ&U9X+{bbHOslF-xzP;(V(t4SA z#%P~M(}sC7^Xxl;J zjYiu?IO4p_Ft7V@yuO*PzfrA&R(0IYg`@jEQ