From e487bc360b1280dd10c8b4e8a41469a3a03b5037 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Sun, 2 Apr 2017 23:00:06 -0700 Subject: [PATCH 01/10] add support for setuptools setup.py pybullet for 'pip install pybullet' rewrite MacOpenGLWindow.mm into .m version, so that setup.py can handle it. See also test at https://pypi.python.org/pypi/pybullet/0.1.0 --- MANIFEST.in | 7 + examples/CommonInterfaces/CommonCallbacks.h | 47 ++ .../CommonInterfaces/CommonWindowInterface.h | 43 +- examples/OpenGLWindow/CMakeLists.txt | 6 +- examples/OpenGLWindow/MacOpenGLWindow.cpp | 192 ++++++ examples/OpenGLWindow/MacOpenGLWindow.h | 71 +-- examples/OpenGLWindow/MacOpenGLWindowObjC.h | 77 +++ ...cOpenGLWindow.mm => MacOpenGLWindowObjC.m} | 581 +++++++++--------- examples/OpenGLWindow/premake4.lua | 11 +- setup.py | 389 ++++++++++++ test/GwenOpenGLTest/premake4.lua | 4 +- 11 files changed, 1045 insertions(+), 383 deletions(-) create mode 100644 MANIFEST.in create mode 100644 examples/CommonInterfaces/CommonCallbacks.h create mode 100644 examples/OpenGLWindow/MacOpenGLWindow.cpp create mode 100644 examples/OpenGLWindow/MacOpenGLWindowObjC.h rename examples/OpenGLWindow/{MacOpenGLWindow.mm => MacOpenGLWindowObjC.m} (71%) create mode 100644 setup.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..d1f43f9e1 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,7 @@ +include MANIFEST.in *.txt +recursive-include examples *.h +recursive-include examples *.hpp +recursive-include Extras *.h +recursive-include Extras *.hpp +recursive-include src *.h +recursive-include src *.hpp diff --git a/examples/CommonInterfaces/CommonCallbacks.h b/examples/CommonInterfaces/CommonCallbacks.h new file mode 100644 index 000000000..6310f0a6b --- /dev/null +++ b/examples/CommonInterfaces/CommonCallbacks.h @@ -0,0 +1,47 @@ +#ifndef COMMON_CALLBACKS_H +#define COMMON_CALLBACKS_H + + +typedef void (*b3WheelCallback)(float deltax, float deltay); +typedef void (*b3ResizeCallback)( float width, float height); +typedef void (*b3MouseMoveCallback)( float x, float y); +typedef void (*b3MouseButtonCallback)(int button, int state, float x, float y); +typedef void (*b3KeyboardCallback)(int keycode, int state); +typedef void (*b3RenderCallback) (); + +enum { + B3G_ESCAPE = 27, + B3G_F1 = 0xff00, + B3G_F2, + B3G_F3, + B3G_F4, + B3G_F5, + B3G_F6, + B3G_F7, + B3G_F8, + B3G_F9, + B3G_F10, + B3G_F11, + B3G_F12, + B3G_F13, + B3G_F14, + B3G_F15, + B3G_LEFT_ARROW, + B3G_RIGHT_ARROW, + B3G_UP_ARROW, + B3G_DOWN_ARROW, + B3G_PAGE_UP, + B3G_PAGE_DOWN, + B3G_END, + B3G_HOME, + B3G_INSERT, + B3G_DELETE, + B3G_BACKSPACE, + B3G_SHIFT, + B3G_CONTROL, + B3G_ALT, + B3G_RETURN +}; + +#endif + diff --git a/examples/CommonInterfaces/CommonWindowInterface.h b/examples/CommonInterfaces/CommonWindowInterface.h index 346fdac72..2416a40d3 100644 --- a/examples/CommonInterfaces/CommonWindowInterface.h +++ b/examples/CommonInterfaces/CommonWindowInterface.h @@ -1,47 +1,8 @@ #ifndef B3G_WINDOW_INTERFACE_H #define B3G_WINDOW_INTERFACE_H +#include "CommonCallbacks.h" -typedef void (*b3WheelCallback)(float deltax, float deltay); -typedef void (*b3ResizeCallback)( float width, float height); -typedef void (*b3MouseMoveCallback)( float x, float y); -typedef void (*b3MouseButtonCallback)(int button, int state, float x, float y); -typedef void (*b3KeyboardCallback)(int keycode, int state); -typedef void (*b3RenderCallback) (); - -enum { - B3G_ESCAPE = 27, - B3G_F1 = 0xff00, - B3G_F2, - B3G_F3, - B3G_F4, - B3G_F5, - B3G_F6, - B3G_F7, - B3G_F8, - B3G_F9, - B3G_F10, - B3G_F11, - B3G_F12, - B3G_F13, - B3G_F14, - B3G_F15, - B3G_LEFT_ARROW, - B3G_RIGHT_ARROW, - B3G_UP_ARROW, - B3G_DOWN_ARROW, - B3G_PAGE_UP, - B3G_PAGE_DOWN, - B3G_END, - B3G_HOME, - B3G_INSERT, - B3G_DELETE, - B3G_BACKSPACE, - B3G_SHIFT, - B3G_CONTROL, - B3G_ALT, - B3G_RETURN -}; struct b3gWindowConstructionInfo { @@ -127,4 +88,4 @@ class CommonWindowInterface }; -#endif //B3G_WINDOW_INTERFACE_H \ No newline at end of file +#endif //B3G_WINDOW_INTERFACE_H diff --git a/examples/OpenGLWindow/CMakeLists.txt b/examples/OpenGLWindow/CMakeLists.txt index f7f1db5ad..42b05161d 100644 --- a/examples/OpenGLWindow/CMakeLists.txt +++ b/examples/OpenGLWindow/CMakeLists.txt @@ -6,7 +6,8 @@ INCLUDE_DIRECTORIES( FILE(GLOB OpenGLWindow_HDRS "*.h" ) -FILE(GLOB OpenGLWindowMac_CPP "Mac*.mm") +FILE(GLOB OpenGLWindowMac_CPP "Mac*.cpp") +FILE(GLOB OpenGLWindowMacObjC_CPP "Mac*.m") FILE(GLOB OpenGLWindowWin32_CPP "Win32*.cpp") FILE(GLOB OpenGLWindowLinux_CPP "X11*.cpp") @@ -16,6 +17,7 @@ LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowMac_CPP} ) LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowWin32_CPP} ) LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowLinux_CPP} ) LIST(REMOVE_ITEM OpenGLWindowCommon_CPP X11OpenGLWindow.cpp ) +LIST(REMOVE_ITEM OpenGLWindowCommon_CPP MacOpenGLWindow.cpp ) #MESSAGE (${OpenGLWindowCommon_CPP}) IF (WIN32) @@ -27,7 +29,7 @@ IF (WIN32) ENDIF(WIN32) IF (APPLE) - SET(OpenGLWindow_SRCS ${OpenGLWindowMac_CPP} ${OpenGLWindowCommon_CPP} ) + SET(OpenGLWindow_SRCS ${OpenGLWindowMac_CPP} ${OpenGLWindowMacObjC_CPP} ${OpenGLWindowCommon_CPP} ) ENDIF(APPLE) #no Linux detection? diff --git a/examples/OpenGLWindow/MacOpenGLWindow.cpp b/examples/OpenGLWindow/MacOpenGLWindow.cpp new file mode 100644 index 000000000..9b80f2ed4 --- /dev/null +++ b/examples/OpenGLWindow/MacOpenGLWindow.cpp @@ -0,0 +1,192 @@ +#include "MacOpenGLWindow.h" + +#include "OpenGLInclude.h" +#include "MacOpenGLWindowObjC.h" + + +#include +#include +#include +#include + + + +MacOpenGLWindow::MacOpenGLWindow() +:m_internalData(0) +{ + m_internalData = Mac_createData(); +} + +MacOpenGLWindow::~MacOpenGLWindow() +{ + Mac_destroyData(m_internalData); +} + + +void MacOpenGLWindow::closeWindow() +{ + Mac_destroyData(m_internalData); + m_internalData = Mac_createData(); +} + + + +bool MacOpenGLWindow::isModifierKeyPressed(int key) +{ + return Mac_isModifierKeyPressed(m_internalData, key); +} + +float MacOpenGLWindow::getTimeInSeconds() +{ + return 0.f; +} + + +void MacOpenGLWindow::setRenderCallback( b3RenderCallback renderCallback) +{ +} + +void MacOpenGLWindow::setWindowTitle(const char* windowTitle) +{ + Mac_setWindowTitle(m_internalData, windowTitle); +} + +void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci) +{ + MacWindowConstructionInfo windowCI; + windowCI.m_width = ci.m_width; + windowCI.m_height = ci.m_height; + windowCI.m_fullscreen = ci.m_fullscreen; + windowCI.m_colorBitsPerPixel = ci.m_colorBitsPerPixel; + windowCI.m_windowHandle = ci.m_windowHandle; + windowCI.m_title = ci.m_title; + windowCI.m_openglVersion = ci.m_openglVersion; + windowCI.m_allowRetina = true; + + Mac_createWindow(m_internalData,&windowCI); + +} + +void MacOpenGLWindow::runMainLoop() +{ + +} + + +void MacOpenGLWindow::startRendering() +{ + Mac_updateWindow(m_internalData); +} + +void MacOpenGLWindow::endRendering() +{ + Mac_swapBuffer(m_internalData); + +} + +bool MacOpenGLWindow::requestedExit() const +{ + return Mac_requestedExit(m_internalData); +} + +void MacOpenGLWindow::setRequestExit() +{ + Mac_setRequestExit(m_internalData); +} + +int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength) +{ + return Mac_fileOpenDialog(filename, maxNameLength); + +} + + + +void MacOpenGLWindow::getMouseCoordinates(int& x, int& y) +{ + int* xPtr=&x; + int* yPtr=&y; + + Mac_getMouseCoordinates(m_internalData,xPtr,yPtr); + +} + +int MacOpenGLWindow::getWidth() const +{ + return Mac_getWidth(m_internalData); +} + +int MacOpenGLWindow::getHeight() const +{ + return Mac_getHeight(m_internalData); +} + + +void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback) +{ + Mac_setResizeCallback(m_internalData,resizeCallback); +} + +b3ResizeCallback MacOpenGLWindow::getResizeCallback() +{ + return Mac_getResizeCallback(m_internalData); +} + + +void MacOpenGLWindow::setMouseButtonCallback(b3MouseButtonCallback mouseCallback) +{ + Mac_setMouseButtonCallback(m_internalData, mouseCallback); +} + +void MacOpenGLWindow::setMouseMoveCallback(b3MouseMoveCallback mouseCallback) +{ + Mac_setMouseMoveCallback(m_internalData,mouseCallback); +} + + +void MacOpenGLWindow::setKeyboardCallback( b3KeyboardCallback keyboardCallback) +{ + Mac_setKeyboardCallback(m_internalData,keyboardCallback); +} + +b3MouseMoveCallback MacOpenGLWindow::getMouseMoveCallback() +{ + return Mac_getMouseMoveCallback(m_internalData); +} + +b3MouseButtonCallback MacOpenGLWindow::getMouseButtonCallback() +{ + return Mac_getMouseButtonCallback(m_internalData); +} + +void MacOpenGLWindow::setWheelCallback (b3WheelCallback wheelCallback) +{ + Mac_setWheelCallback(m_internalData,wheelCallback); +} + +b3WheelCallback MacOpenGLWindow::getWheelCallback() +{ + return Mac_getWheelCallback(m_internalData); +} + + +b3KeyboardCallback MacOpenGLWindow::getKeyboardCallback() +{ + return Mac_getKeyboardCallback(m_internalData); +} + +float MacOpenGLWindow::getRetinaScale() const +{ + return Mac_getRetinaScale(m_internalData); +} + + +void MacOpenGLWindow::setAllowRetina(bool allow) +{ + Mac_setAllowRetina(m_internalData, allow); +} + + + + + diff --git a/examples/OpenGLWindow/MacOpenGLWindow.h b/examples/OpenGLWindow/MacOpenGLWindow.h index d84b031b4..81d05e778 100644 --- a/examples/OpenGLWindow/MacOpenGLWindow.h +++ b/examples/OpenGLWindow/MacOpenGLWindow.h @@ -8,18 +8,6 @@ class MacOpenGLWindow : public CommonWindowInterface { struct MacOpenGLWindowInternalData* m_internalData; - float m_mouseX; - float m_mouseY; - int m_modifierFlags; - - b3MouseButtonCallback m_mouseButtonCallback; - b3MouseMoveCallback m_mouseMoveCallback; - b3WheelCallback m_wheelCallback; - b3KeyboardCallback m_keyboardCallback; - b3RenderCallback m_renderCallback; - - float m_retinaScaleFactor; - bool m_allowRetina; public: @@ -34,7 +22,7 @@ public: void endRendering();//swap buffers - virtual bool requestedExit() const; + virtual bool requestedExit() const; virtual void setRequestExit(); @@ -42,59 +30,32 @@ public: void runMainLoop(); - virtual bool isModifierKeyPressed(int key); + virtual bool isModifierKeyPressed(int key); - void setMouseButtonCallback(b3MouseButtonCallback mouseCallback) - { - m_mouseButtonCallback = mouseCallback; - } + void setMouseButtonCallback(b3MouseButtonCallback mouseCallback); - void setMouseMoveCallback(b3MouseMoveCallback mouseCallback) - { - m_mouseMoveCallback = mouseCallback; - } + void setMouseMoveCallback(b3MouseMoveCallback mouseCallback); void setResizeCallback(b3ResizeCallback resizeCallback); - void setKeyboardCallback( b3KeyboardCallback keyboardCallback) - { - m_keyboardCallback = keyboardCallback; - } + void setKeyboardCallback( b3KeyboardCallback keyboardCallback); + + virtual b3MouseMoveCallback getMouseMoveCallback(); + + virtual b3MouseButtonCallback getMouseButtonCallback(); - virtual b3MouseMoveCallback getMouseMoveCallback() - { - return m_mouseMoveCallback; - } - virtual b3MouseButtonCallback getMouseButtonCallback() - { - return m_mouseButtonCallback; - } virtual b3ResizeCallback getResizeCallback(); - virtual b3WheelCallback getWheelCallback() - { - return m_wheelCallback; - } + virtual b3WheelCallback getWheelCallback(); - b3KeyboardCallback getKeyboardCallback() - { - return m_keyboardCallback; - } + b3KeyboardCallback getKeyboardCallback(); + + void setWheelCallback (b3WheelCallback wheelCallback); + + float getRetinaScale() const; - void setWheelCallback (b3WheelCallback wheelCallback) - { - m_wheelCallback = wheelCallback; - } - - float getRetinaScale() const - { - return m_retinaScaleFactor; - } - virtual void setAllowRetina(bool allow) - { - m_allowRetina = allow; - } + virtual void setAllowRetina(bool allow); virtual void createWindow(const b3gWindowConstructionInfo& ci); diff --git a/examples/OpenGLWindow/MacOpenGLWindowObjC.h b/examples/OpenGLWindow/MacOpenGLWindowObjC.h new file mode 100644 index 000000000..452c788f2 --- /dev/null +++ b/examples/OpenGLWindow/MacOpenGLWindowObjC.h @@ -0,0 +1,77 @@ +#ifndef MAC_OPENGL_WINDOW_OBJC_H +#define MAC_OPENGL_WINDOW_OBJC_H + +struct MacOpenGLWindowInternalData; + +#include "../CommonInterfaces/CommonCallbacks.h" + +struct MacWindowConstructionInfo +{ + int m_width; + int m_height; + int m_fullscreen; + int m_colorBitsPerPixel; + void* m_windowHandle; + const char* m_title; + int m_openglVersion; + int m_allowRetina; +}; + + +enum +{ + MY_MAC_ALTKEY=1, + MY_MAC_SHIFTKEY=2, + MY_MAC_CONTROL_KEY=4 +}; + +#ifdef __cplusplus +extern "C" { +#endif + +struct MacOpenGLWindowInternalData* Mac_createData(); +void Mac_destroyData(struct MacOpenGLWindowInternalData* data); + +int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData,struct MacWindowConstructionInfo* ci); + +void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle); +int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData); +void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData); +int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData); +void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData); +float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData); +void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow); + +int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData); +int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData); + +int Mac_fileOpenDialog(char* filename, int maxNameLength); + +void Mac_setKeyboardCallback( struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback); +b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData); +int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key); + +void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback); +b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData); +void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr); +void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback); +b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData); + +void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback); +b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData); + +void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback); +b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData); + + +//void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback); + +#ifdef __cplusplus +} +#endif + + + +#endif //MAC_OPENGL_WINDOW_OBJC_H + + diff --git a/examples/OpenGLWindow/MacOpenGLWindow.mm b/examples/OpenGLWindow/MacOpenGLWindowObjC.m similarity index 71% rename from examples/OpenGLWindow/MacOpenGLWindow.mm rename to examples/OpenGLWindow/MacOpenGLWindowObjC.m index 47d5beaad..1ae9c530c 100644 --- a/examples/OpenGLWindow/MacOpenGLWindow.mm +++ b/examples/OpenGLWindow/MacOpenGLWindowObjC.m @@ -1,4 +1,4 @@ -#include "MacOpenGLWindow.h" +#include "MacOpenGLWindowObjC.h" #define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED #import @@ -66,12 +66,7 @@ #endif -enum -{ - MY_MAC_ALTKEY=1, - MY_MAC_SHIFTKEY=2, - MY_MAC_CONTROL_KEY=4 -}; + /* report GL errors, if any, to stderr */ static void checkError(const char *functionName) @@ -118,9 +113,7 @@ void dumpInfo(void) -(NSOpenGLContext*) getContext; @end -float loop; -#define Pi 3.1415 @implementation TestView @@ -197,7 +190,6 @@ float loop; [m_context flushBuffer]; [NSOpenGLContext clearCurrentContext]; - loop = loop + 0.1; } -(void) MakeContext :(int) openglVersion @@ -257,105 +249,75 @@ float loop; struct MacOpenGLWindowInternalData { - MacOpenGLWindowInternalData() - { - m_myApp = 0; - m_myview = 0; - m_pool = 0; - m_window = 0; - m_exitRequested = false; - } - NSApplication* m_myApp; - TestView* m_myview; - NSAutoreleasePool* m_pool; - NSWindow* m_window; - bool m_exitRequested; - + + NSApplication* m_myApp; + TestView* m_myview; + NSAutoreleasePool* m_pool; + NSWindow* m_window; + bool m_exitRequested; + + float m_mouseX; + float m_mouseY; + int m_modifierFlags; + + b3MouseButtonCallback m_mouseButtonCallback; + b3MouseMoveCallback m_mouseMoveCallback; + b3WheelCallback m_wheelCallback; + b3KeyboardCallback m_keyboardCallback; + b3RenderCallback m_renderCallback; + + float m_retinaScaleFactor; + bool m_allowRetina; }; -MacOpenGLWindow::MacOpenGLWindow() -:m_internalData(0), -m_mouseX(0), -m_mouseY(0), -m_modifierFlags(0), -m_mouseButtonCallback(0), -m_mouseMoveCallback(0), -m_wheelCallback(0), -m_keyboardCallback(0), -m_retinaScaleFactor(1), -m_allowRetina(true) +struct MacOpenGLWindowInternalData* Mac_createData() { -} - -MacOpenGLWindow::~MacOpenGLWindow() -{ - if (m_internalData) - closeWindow(); -} - - -bool MacOpenGLWindow::isModifierKeyPressed(int key) -{ - bool isPressed = false; - - switch (key) - { - case B3G_ALT: - { - isPressed = ((m_modifierFlags & MY_MAC_ALTKEY)!=0); - break; - }; - case B3G_SHIFT: - { - isPressed = ((m_modifierFlags & MY_MAC_SHIFTKEY)!=0); - break; - }; - case B3G_CONTROL: - { - isPressed = ((m_modifierFlags & MY_MAC_CONTROL_KEY )!=0); - break; - }; - - default: - { - } - }; - return isPressed; -} - -float MacOpenGLWindow::getTimeInSeconds() -{ - return 0.f; -} - - -void MacOpenGLWindow::setRenderCallback( b3RenderCallback renderCallback) -{ - m_renderCallback = renderCallback; -} - -void MacOpenGLWindow::setWindowTitle(const char* windowTitle) -{ - [m_internalData->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ; -} - -void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci) -{ - if (m_internalData) - closeWindow(); - - const char* windowTitle = ci.m_title; + struct MacOpenGLWindowInternalData* data = malloc(sizeof(struct MacOpenGLWindowInternalData)); + data->m_myApp = 0; + data->m_myview = 0; + data->m_pool = 0; + data->m_window = 0; + data->m_exitRequested = false; + + data->m_mouseX=-1; + data->m_mouseY=-1; + data->m_modifierFlags = 0; + + data->m_mouseButtonCallback = 0; + data->m_mouseMoveCallback = 0;; + data->m_wheelCallback =0; + data->m_keyboardCallback =0; + data->m_renderCallback=0; + + data->m_allowRetina = true; + data->m_retinaScaleFactor = 1; + + return data; +} +void Mac_destroyData(struct MacOpenGLWindowInternalData* data) +{ + free(data); +} + +void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle) +{ + [data->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ; +} + +int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData,struct MacWindowConstructionInfo* ci) +{ + + const char* windowTitle = ci->m_title; + m_internalData->m_allowRetina = (ci->m_allowRetina!=0); NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - - m_internalData = new MacOpenGLWindowInternalData; - + m_internalData->m_pool = [NSAutoreleasePool new]; - m_internalData->m_myApp = [NSApplication sharedApplication]; - //myApp = [MyApp sharedApplication]; - //home(); + m_internalData->m_myApp = [NSApplication sharedApplication]; + //myApp = [MyApp sharedApplication]; + //home(); [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; @@ -372,7 +334,7 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci) [appMenu addItem:quitMenuItem]; [appMenuItem setSubmenu:appMenu]; - + NSMenuItem *fileMenuItem = [[NSMenuItem new] autorelease]; NSMenu *fileMenu = [[NSMenu alloc] initWithTitle:@"File"]; [fileMenuItem setSubmenu: fileMenu]; // was setMenu: @@ -380,12 +342,12 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci) NSMenuItem *newMenu = [[NSMenuItem alloc] initWithTitle:@"New" action:NULL keyEquivalent:@""]; NSMenuItem *openMenu = [[NSMenuItem alloc] initWithTitle:@"Open" action:NULL keyEquivalent:@""]; NSMenuItem *saveMenu = [[NSMenuItem alloc] initWithTitle:@"Save" action:NULL keyEquivalent:@""]; - + [fileMenu addItem: newMenu]; [fileMenu addItem: openMenu]; [fileMenu addItem: saveMenu]; [menubar addItem: fileMenuItem]; - + // add Edit menu NSMenuItem *editMenuItem = [[NSMenuItem new] autorelease]; @@ -397,144 +359,123 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci) [menu addItem:copyItem]; [menubar addItem:editMenuItem]; - // [mainMenu setSubmenu:menu forItem:menuItem]; + // [mainMenu setSubmenu:menu forItem:menuItem]; //NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle: @"File"]; /*[fileMenuItem setSubmenu: fileMenu]; // was setMenu: - [fileMenuItem release]; - */ + [fileMenuItem release]; + */ /*NSMenu *newMenu; - NSMenuItem *newItem; + NSMenuItem *newItem; + + // Add the submenu + newItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] + initWithTitle:@"Flashy" action:NULL keyEquivalent:@""]; + newMenu = [[NSMenu allocWithZone:[NSMenu menuZone]] + initWithTitle:@"Flashy"]; + [newItem setSubmenu:newMenu]; + [newMenu release]; + [[NSApp mainMenu] addItem:newItem]; + [newItem release]; + */ - // Add the submenu - newItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] - initWithTitle:@"Flashy" action:NULL keyEquivalent:@""]; - newMenu = [[NSMenu allocWithZone:[NSMenu menuZone]] - initWithTitle:@"Flashy"]; - [newItem setSubmenu:newMenu]; - [newMenu release]; - [[NSApp mainMenu] addItem:newItem]; - [newItem release]; - */ + NSRect frame = NSMakeRect(0., 0., ci->m_width, ci->m_height); + + m_internalData->m_window = [NSWindow alloc]; + [m_internalData->m_window initWithContentRect:frame + styleMask:MyNSTitledWindowMask |MyNSResizableWindowMask| MyNSClosableWindowMask | MyNSMiniaturizableWindowMask + backing:NSBackingStoreBuffered + defer:false]; + + + [m_internalData->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ; + + m_internalData->m_myview = [TestView alloc]; - NSRect frame = NSMakeRect(0., 0., ci.m_width, ci.m_height); - - m_internalData->m_window = [NSWindow alloc]; - [m_internalData->m_window initWithContentRect:frame - styleMask:MyNSTitledWindowMask |MyNSResizableWindowMask| MyNSClosableWindowMask | MyNSMiniaturizableWindowMask - backing:NSBackingStoreBuffered - defer:false]; - - - [m_internalData->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ; - - m_internalData->m_myview = [TestView alloc]; - [m_internalData->m_myview setResizeCallback:0]; - ///ci.m_resizeCallback]; + ///ci.m_resizeCallback]; - [m_internalData->m_myview initWithFrame: frame]; + [m_internalData->m_myview initWithFrame: frame]; - // OpenGL init! - [m_internalData->m_myview MakeContext : ci.m_openglVersion]; - - // https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/CapturingScreenContents/CapturingScreenContents.html#//apple_ref/doc/uid/TP40012302-CH10-SW1 + // OpenGL init! + [m_internalData->m_myview MakeContext : ci->m_openglVersion]; + + // https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/CapturingScreenContents/CapturingScreenContents.html#//apple_ref/doc/uid/TP40012302-CH10-SW1 //support HighResolutionOSX for Retina Macbook - if (ci.m_openglVersion>=3) + if (ci->m_openglVersion>=3) { - if (m_allowRetina) - { - [m_internalData->m_myview setWantsBestResolutionOpenGLSurface:YES]; - } + + if (m_internalData->m_allowRetina) + { + [m_internalData->m_myview setWantsBestResolutionOpenGLSurface:YES]; + } } NSSize sz; sz.width = 1; sz.height = 1; - // float newBackingScaleFactor = [m_internalData->m_window backingScaleFactor]; + // float newBackingScaleFactor = [m_internalData->m_window backingScaleFactor]; dumpInfo(); - - + + [m_internalData->m_window setContentView: m_internalData->m_myview]; - - - [m_internalData->m_window setDelegate:(id) m_internalData->m_myview]; - + + + [m_internalData->m_window setDelegate:(id) m_internalData->m_myview]; + [m_internalData->m_window makeKeyAndOrderFront: nil]; [m_internalData->m_myview MakeCurrent]; - + [NSApp activateIgnoringOtherApps:YES]; - -//[m_internalData->m_window setLevel:NSMainMenuWindowLevel]; -// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask]; + //[m_internalData->m_window setLevel:NSMainMenuWindowLevel]; -// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *event) - // { - //[window setFrameOrigin:[NSEvent mouseLocation]]; - // NSPoint eventLocation = [m_internalData->m_window mouseLocationOutsideOfEventStream]; - - // NSPoint eventLocation = [event locationInWindow]; - //NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; - // m_mouseX = center.x; - // m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; - - - // printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY); + // [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask]; + + // [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *event) + // { + //[window setFrameOrigin:[NSEvent mouseLocation]]; + // NSPoint eventLocation = [m_internalData->m_window mouseLocationOutsideOfEventStream]; + + // NSPoint eventLocation = [event locationInWindow]; + //NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; + // m_mouseX = center.x; + // m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; + + + // printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY); // if (m_mouseMoveCallback) - // (*m_mouseMoveCallback)(m_mouseX,m_mouseY); - - // }]; - + // (*m_mouseMoveCallback)(m_mouseX,m_mouseY); + + // }]; + //see http://stackoverflow.com/questions/8238473/cant-get-nsmousemoved-events-from-nexteventmatchingmask-with-an-nsopenglview -/* ProcessSerialNumber psn; - GetCurrentProcess(&psn); + /* ProcessSerialNumber psn; + GetCurrentProcess(&psn); TransformProcessType(&psn, kProcessTransformToForegroundApplication); SetFrontProcess(&psn); - */ -#ifndef NO_OPENGL3 - m_retinaScaleFactor = [m_internalData->m_myview convertSizeToBacking:sz].width; + */ + +#ifndef NO_OPENGL3 + m_internalData->m_retinaScaleFactor = [m_internalData->m_myview convertSizeToBacking:sz].width; #else - m_retinaScaleFactor=1.f; + m_internalData->m_retinaScaleFactor=1.f; #endif - - [m_internalData->m_myApp finishLaunching]; + [m_internalData->m_myApp finishLaunching]; [pool release]; - + + return 0; } -void MacOpenGLWindow::runMainLoop() -{ - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - // FILE* dump = fopen ("/Users/erwincoumans/yes.txt","wb"); - // fclose(dump); - - - - - [pool release]; - -} - -void MacOpenGLWindow::closeWindow() -{ - - delete m_internalData; - m_internalData = 0; - -} -extern float m_azi; -extern float m_ele; -extern float m_cameraDistance; /* @@ -809,9 +750,9 @@ int getAsciiCodeFromVirtualKeycode(int virtualKeyCode) } -void MacOpenGLWindow::startRendering() +int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData) { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; GLint err = glGetError(); @@ -834,46 +775,47 @@ void MacOpenGLWindow::startRendering() //NSShiftKeyMask = 1 << 17, //NSControlKeyMask - + if ([event type] == MyNSEventTypeFlagsChanged) { int modifiers = [event modifierFlags]; - if (m_keyboardCallback) + + if (m_internalData->m_keyboardCallback) { if ((modifiers & MyNSEventModifierFlagShift)) { - m_keyboardCallback(B3G_SHIFT,1); - m_modifierFlags |= MY_MAC_SHIFTKEY; + m_internalData->m_keyboardCallback(B3G_SHIFT,1); + m_internalData->m_modifierFlags |= MY_MAC_SHIFTKEY; }else { - if (m_modifierFlags& MY_MAC_SHIFTKEY) + if (m_internalData->m_modifierFlags& MY_MAC_SHIFTKEY) { - m_keyboardCallback(B3G_SHIFT,0); - m_modifierFlags &= ~MY_MAC_SHIFTKEY; + m_internalData->m_keyboardCallback(B3G_SHIFT,0); + m_internalData->m_modifierFlags &= ~MY_MAC_SHIFTKEY; } } if (modifiers & MyNSEventModifierFlagControl) { - m_keyboardCallback(B3G_CONTROL,1); - m_modifierFlags |= MY_MAC_CONTROL_KEY; + m_internalData->m_keyboardCallback(B3G_CONTROL,1); + m_internalData->m_modifierFlags |= MY_MAC_CONTROL_KEY; } else { - if (m_modifierFlags&MY_MAC_CONTROL_KEY) + if (m_internalData->m_modifierFlags&MY_MAC_CONTROL_KEY) { - m_keyboardCallback(B3G_CONTROL,0); - m_modifierFlags &= ~MY_MAC_CONTROL_KEY; + m_internalData->m_keyboardCallback(B3G_CONTROL,0); + m_internalData->m_modifierFlags &= ~MY_MAC_CONTROL_KEY; } } if (modifiers & MyNSEventModifierFlagOption) { - m_keyboardCallback(B3G_ALT,1); - m_modifierFlags |= MY_MAC_ALTKEY; + m_internalData->m_keyboardCallback(B3G_ALT,1); + m_internalData->m_modifierFlags |= MY_MAC_ALTKEY; } else { - if (m_modifierFlags&MY_MAC_ALTKEY) + if (m_internalData->m_modifierFlags&MY_MAC_ALTKEY) { - m_keyboardCallback(B3G_ALT,0); - m_modifierFlags &= ~MY_MAC_ALTKEY; + m_internalData->m_keyboardCallback(B3G_ALT,0); + m_internalData->m_modifierFlags &= ~MY_MAC_ALTKEY; } } @@ -890,10 +832,10 @@ void MacOpenGLWindow::startRendering() int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode); // printf("keycode = %d\n", keycode); - if (m_keyboardCallback) + if (m_internalData->m_keyboardCallback) { int state = 0; - m_keyboardCallback(keycode,state); + m_internalData->m_keyboardCallback(keycode,state); } } @@ -909,10 +851,10 @@ void MacOpenGLWindow::startRendering() int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode); //printf("keycode = %d\n", keycode); - if (m_keyboardCallback) + if (m_internalData->m_keyboardCallback) { int state = 1; - m_keyboardCallback(keycode,state); + m_internalData->m_keyboardCallback(keycode,state); } } } @@ -926,8 +868,8 @@ void MacOpenGLWindow::startRendering() NSPoint eventLocation = [event locationInWindow]; NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; - m_mouseX = center.x; - m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; + m_internalData->m_mouseX = center.x; + m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; int button=0; switch ([event type]) { @@ -952,10 +894,10 @@ void MacOpenGLWindow::startRendering() } }; // printf("mouse coord = %f, %f\n",mouseX,mouseY); - if (m_mouseButtonCallback) + if (m_internalData->m_mouseButtonCallback) { //handledEvent = true; - (*m_mouseButtonCallback)(button,1,m_mouseX,m_mouseY); + (*m_internalData->m_mouseButtonCallback)(button,1,m_internalData->m_mouseX,m_internalData->m_mouseY); } } @@ -967,8 +909,8 @@ void MacOpenGLWindow::startRendering() NSPoint eventLocation = [event locationInWindow]; NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; - m_mouseX = center.x; - m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; + m_internalData->m_mouseX = center.x; + m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; int button=0; switch ([event type]) @@ -995,8 +937,8 @@ void MacOpenGLWindow::startRendering() }; // printf("mouse coord = %f, %f\n",mouseX,mouseY); - if (m_mouseButtonCallback) - (*m_mouseButtonCallback)(button,0,m_mouseX,m_mouseY); + if (m_internalData->m_mouseButtonCallback) + (*m_internalData->m_mouseButtonCallback)(button,0,m_internalData->m_mouseX,m_internalData->m_mouseY); } @@ -1006,15 +948,15 @@ void MacOpenGLWindow::startRendering() NSPoint eventLocation = [event locationInWindow]; NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; - m_mouseX = center.x; - m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; + m_internalData->m_mouseX = center.x; + m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; // printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY); - if (m_mouseMoveCallback) + if (m_internalData->m_mouseMoveCallback) { //handledEvent = true; - (*m_mouseMoveCallback)(m_mouseX,m_mouseY); + (*m_internalData->m_mouseMoveCallback)(m_internalData->m_mouseX,m_internalData->m_mouseY); } } @@ -1026,13 +968,13 @@ void MacOpenGLWindow::startRendering() NSPoint eventLocation = [event locationInWindow]; NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil]; - m_mouseX = center.x; - m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; + m_internalData->m_mouseX = center.x; + m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y; - if (m_mouseMoveCallback) + if (m_internalData->m_mouseMoveCallback) { //handledEvent = true; - (*m_mouseMoveCallback)(m_mouseX,m_mouseY); + (*m_internalData->m_mouseMoveCallback)(m_internalData->m_mouseX,m_internalData->m_mouseY); } // printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY); @@ -1044,16 +986,17 @@ void MacOpenGLWindow::startRendering() dy = [ event deltaY ]; dx = [ event deltaX ]; - if (m_wheelCallback) + if (m_internalData->m_wheelCallback) { handledEvent = true; - (*m_wheelCallback)(dx,dy); + (*m_internalData->m_wheelCallback)(dx,dy); } // m_cameraDistance -= dy*0.1; // m_azi -= dx*0.1; } + if (!handledEvent) [m_internalData->m_myApp sendEvent:event]; @@ -1080,28 +1023,52 @@ void MacOpenGLWindow::startRendering() err = glGetError(); assert(err==GL_NO_ERROR); - float aspect; - //b3Vector3 extents; - - if (getWidth() > getHeight()) - { - aspect = (float)getWidth() / (float)getHeight(); - //extents.setValue(aspect * 1.0f, 1.0f,0); - } else - { - aspect = (float)getHeight() / (float)getWidth(); - //extents.setValue(1.0f, aspect*1.f,0); - } err = glGetError(); assert(err==GL_NO_ERROR); [pool release]; - + return 0; + } -void MacOpenGLWindow::endRendering() +int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key) { - [m_internalData->m_myview MakeCurrent]; + + int isPressed = 0; + + switch (key) + { + case B3G_ALT: + { + isPressed = ((m_internalData->m_modifierFlags & MY_MAC_ALTKEY)!=0); + break; + }; + case B3G_SHIFT: + { + isPressed = ((m_internalData->m_modifierFlags & MY_MAC_SHIFTKEY)!=0); + break; + }; + case B3G_CONTROL: + { + isPressed = ((m_internalData->m_modifierFlags & MY_MAC_CONTROL_KEY )!=0); + break; + }; + + default: + { + } + }; + return isPressed; +} + +//void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback) +//{ +// m_internalData->m_renderCallback = renderCallback; +//} + +void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData) +{ + [m_internalData->m_myview MakeCurrent]; //#ifndef NO_OPENGL3 // glSwapAPPLE(); //#else @@ -1110,21 +1077,76 @@ void MacOpenGLWindow::endRendering() } -bool MacOpenGLWindow::requestedExit() const +int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData) { - bool closeme = m_internalData->m_myview.GetRequestClose; + int closeme = m_internalData->m_myview.GetRequestClose; return m_internalData->m_exitRequested || closeme; } -void MacOpenGLWindow::setRequestExit() +void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData) { m_internalData->m_exitRequested = true; } -#include -int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength) + + +void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback) { - //save/restore the OpenGL context, NSOpenPanel can mess it up + m_internalData->m_mouseButtonCallback = mouseCallback; +} + +b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData) +{ + return m_internalData->m_mouseButtonCallback; +} + +void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback) +{ + m_internalData->m_wheelCallback = wheelCallback; +} + +b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData) +{ + return m_internalData->m_wheelCallback; +} + + + +void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback) +{ + m_internalData->m_mouseMoveCallback = mouseCallback; +} + +b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData) +{ + return m_internalData->m_mouseMoveCallback; +} + +b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData) +{ + return m_internalData->m_keyboardCallback; +} + +void Mac_setKeyboardCallback( struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback) +{ + m_internalData->m_keyboardCallback = keyboardCallback; +} + +float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData) +{ + return m_internalData->m_retinaScaleFactor; +} + + +void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow) +{ + m_internalData->m_allowRetina = allow; +} + + +int Mac_fileOpenDialog(char* filename, int maxNameLength) +{ + //save/restore the OpenGL context, NSOpenPanel can mess it up //http://stackoverflow.com/questions/13987148/nsopenpanel-breaks-my-sdl-opengl-app NSOpenGLContext *foo = [NSOpenGLContext currentContext]; @@ -1145,7 +1167,7 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength) { //without the file:// NSString *myString = [zUrl absoluteString]; - int slen = [myString length]; + int slen = (int)[myString length]; if (slen < maxNameLength) { const char *cfilename=[myString UTF8String]; @@ -1153,7 +1175,7 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength) const char* p = strstr(cfilename, "file://"); if (p==cfilename) { - int actualLen = strlen(cfilename)-7; + int actualLen = (int)strlen(cfilename)-7; memcpy(filename, cfilename+7,actualLen); filename[actualLen]=0; return actualLen; @@ -1164,23 +1186,20 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength) return 0; } - - -void MacOpenGLWindow::getMouseCoordinates(int& x, int& y) +void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr) { - + NSPoint pt = [m_internalData->m_window mouseLocationOutsideOfEventStream]; - m_mouseX = pt.x; - m_mouseY = pt.y; + m_internalData->m_mouseX = pt.x; + m_internalData->m_mouseY = pt.y; - x = m_mouseX; + *xPtr = m_internalData->m_mouseX; //our convention is x,y is upper left hand side - y = [m_internalData->m_myview GetWindowHeight]-m_mouseY; - + *yPtr = [m_internalData->m_myview GetWindowHeight]-m_internalData->m_mouseY; } -int MacOpenGLWindow::getWidth() const +int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData) { if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowWidth) return m_internalData->m_myview.GetWindowWidth; @@ -1188,25 +1207,23 @@ int MacOpenGLWindow::getWidth() const return 0; } -int MacOpenGLWindow::getHeight() const +int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData) { if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowHeight) return m_internalData->m_myview.GetWindowHeight; return 0; } - -void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback) +void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback) { [m_internalData->m_myview setResizeCallback:resizeCallback]; if (resizeCallback) { - (resizeCallback)(getWidth(), getHeight()); + (resizeCallback)(Mac_getWidth(m_internalData), Mac_getHeight(m_internalData)); } } -b3ResizeCallback MacOpenGLWindow::getResizeCallback() +b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData) { return [m_internalData->m_myview getResizeCallback]; -} - +} \ No newline at end of file diff --git a/examples/OpenGLWindow/premake4.lua b/examples/OpenGLWindow/premake4.lua index d70344f05..6328c418b 100644 --- a/examples/OpenGLWindow/premake4.lua +++ b/examples/OpenGLWindow/premake4.lua @@ -41,10 +41,17 @@ "X11OpenGLWindows.h" } end + if not os.is("MacoSX") then + excludes { + "MacOpenGLWindow.cpp" + } + end if os.is("MacOSX") then files { - "../OpenGLWindow/MacOpenGLWindow.h", - "../OpenGLWindow/MacOpenGLWindow.mm", + "MacOpenGLWindow.h", + "MacOpenGLWindow.cpp", + "MacOpenGLWindowObjC.m", + "MacOpenGLWindowObjC.h", } end diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..d633e1358 --- /dev/null +++ b/setup.py @@ -0,0 +1,389 @@ + +from setuptools import find_packages +from sys import platform as _platform +import sys +import glob + +from distutils.core import setup +from distutils.extension import Extension +from distutils.util import get_platform +from glob import glob + +#see http://stackoverflow.com/a/8719066/295157 +import os +os.environ['LDFLAGS'] = '-framework Cocoa -framework OpenGL' + + +platform = get_platform() +print(platform) + +CXX_FLAGS = '' +CXX_FLAGS += '-DGWEN_COMPILE_STATIC ' +CXX_FLAGS += '-DBT_ENABLE_ENET ' +CXX_FLAGS += '-DBT_ENABLE_CLSOCKET ' + +# libraries += [current_python] + + +sources = ["examples/pybullet/pybullet.c"]\ ++["examples/ExampleBrowser/InProcessExampleBrowser.cpp"]\ ++["examples/TinyRenderer/geometry.cpp"]\ ++["examples/TinyRenderer/model.cpp"]\ ++["examples/TinyRenderer/tgaimage.cpp"]\ ++["examples/TinyRenderer/our_gl.cpp"]\ ++["examples/TinyRenderer/TinyRenderer.cpp"]\ ++["examples/SharedMemory/IKTrajectoryHelper.cpp"]\ ++["examples/SharedMemory/InProcessMemory.cpp"]\ ++["examples/SharedMemory/PhysicsClient.cpp"]\ ++["examples/SharedMemory/PhysicsServer.cpp"]\ ++["examples/SharedMemory/PhysicsServerExample.cpp"]\ ++["examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp"]\ ++["examples/SharedMemory/PhysicsServerSharedMemory.cpp"]\ ++["examples/SharedMemory/PhysicsDirect.cpp"]\ ++["examples/SharedMemory/PhysicsDirectC_API.cpp"]\ ++["examples/SharedMemory/PhysicsServerCommandProcessor.cpp"]\ ++["examples/SharedMemory/PhysicsClientSharedMemory.cpp"]\ ++["examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp"]\ ++["examples/SharedMemory/PhysicsClientC_API.cpp"]\ ++["examples/SharedMemory/Win32SharedMemory.cpp"]\ ++["examples/SharedMemory/PosixSharedMemory.cpp"]\ ++["examples/SharedMemory/TinyRendererVisualShapeConverter.cpp"]\ ++["examples/Utils/b3ResourcePath.cpp"]\ ++["examples/Utils/RobotLoggingUtil.cpp"]\ ++["examples/Utils/ChromeTraceUtil.cpp"]\ ++["examples/Utils/b3Clock.cpp"]\ ++["examples/Utils/b3Quickprof.cpp"]\ ++["examples/ThirdPartyLibs/tinyxml/tinystr.cpp"]\ ++["examples/ThirdPartyLibs/tinyxml/tinyxml.cpp"]\ ++["examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp"]\ ++["examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp"]\ ++["examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp"]\ ++["examples/ThirdPartyLibs/stb_image/stb_image.cpp"]\ ++["examples/Importers/ImportColladaDemo/LoadMeshFromCollada.cpp"]\ ++["examples/Importers/ImportObjDemo/LoadMeshFromObj.cpp"]\ ++["examples/Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.cpp"]\ ++["examples/Importers/ImportMJCFDemo/BulletMJCFImporter.cpp"]\ ++["examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp"]\ ++["examples/Importers/ImportURDFDemo/MyMultiBodyCreator.cpp"]\ ++["examples/Importers/ImportURDFDemo/URDF2Bullet.cpp"]\ ++["examples/Importers/ImportURDFDemo/UrdfParser.cpp"]\ ++["examples/Importers/ImportURDFDemo/urdfStringSplit.cpp"]\ ++["examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp"]\ ++["examples/MultiThreading/b3PosixThreadSupport.cpp"]\ ++["examples/MultiThreading/b3Win32ThreadSupport.cpp"]\ ++["examples/MultiThreading/b3ThreadSupportInterface.cpp"]\ ++["examples/ThirdPartyLibs/enet/callbacks.c"]\ ++["examples/ThirdPartyLibs/enet/compress.c"]\ ++["examples/ThirdPartyLibs/enet/host.c"]\ ++["examples/ThirdPartyLibs/enet/list.c"]\ ++["examples/ThirdPartyLibs/enet/packet.c"]\ ++["examples/ThirdPartyLibs/enet/peer.c"]\ ++["examples/ThirdPartyLibs/enet/protocol.c"]\ ++["examples/ExampleBrowser/OpenGLGuiHelper.cpp"]\ ++["examples/ExampleBrowser/OpenGLExampleBrowser.cpp"]\ ++["examples/ExampleBrowser/CollisionShape2TriangleMesh.cpp"]\ ++["examples/ExampleBrowser/GL_ShapeDrawer.cpp"]\ ++["examples/OpenGLWindow/SimpleOpenGL2Renderer.cpp"]\ ++["examples/OpenGLWindow/GLInstancingRenderer.cpp"]\ ++["examples/OpenGLWindow/SimpleOpenGL3App.cpp"]\ ++["examples/OpenGLWindow/GLPrimitiveRenderer.cpp"]\ ++["examples/OpenGLWindow/TwFonts.cpp"]\ ++["examples/OpenGLWindow/GLRenderToTexture.cpp"]\ ++["examples/OpenGLWindow/LoadShader.cpp"]\ ++["examples/OpenGLWindow/OpenSans.cpp"]\ ++["examples/OpenGLWindow/SimpleCamera.cpp"]\ ++["examples/OpenGLWindow/fontstash.cpp"]\ ++["examples/OpenGLWindow/SimpleOpenGL2App.cpp"]\ ++["examples/OpenGLWindow/opengl_fontstashcallbacks.cpp"]\ ++["examples/ExampleBrowser/GwenGUISupport/GraphingTexture.cpp"]\ ++["examples/ExampleBrowser/GwenGUISupport/GwenProfileWindow.cpp"]\ ++["examples/ExampleBrowser/GwenGUISupport/gwenUserInterface.cpp"]\ ++["examples/ExampleBrowser/GwenGUISupport/GwenParameterInterface.cpp"]\ ++["examples/ExampleBrowser/GwenGUISupport/GwenTextureWindow.cpp"]\ ++["src/LinearMath/btAlignedAllocator.cpp"]\ ++["src/LinearMath/btGeometryUtil.cpp"]\ ++["src/LinearMath/btSerializer.cpp"]\ ++["src/LinearMath/btVector3.cpp"]\ ++["src/LinearMath/btConvexHull.cpp"]\ ++["src/LinearMath/btPolarDecomposition.cpp"]\ ++["src/LinearMath/btSerializer64.cpp"]\ ++["src/LinearMath/btConvexHullComputer.cpp"]\ ++["src/LinearMath/btQuickprof.cpp"]\ ++["src/LinearMath/btThreads.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btDbvt.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btDispatcher.cpp"]\ ++["src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp"]\ ++["src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btManifoldResult.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCollisionObject.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btUnionFind.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp"]\ ++["src/BulletCollision/CollisionDispatch/btGhostObject.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btContinuousConvexCollision.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btGjkEpaPenetrationDepthSolver.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btPolyhedralContactClipping.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btConvexCast.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btGjkPairDetector.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btRaycastCallback.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btGjkConvexCast.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btMinkowskiPenetrationDepthSolver.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btSubSimplexConvexCast.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btGjkEpa2.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btPersistentManifold.cpp"]\ ++["src/BulletCollision/NarrowphaseCollision/btVoronoiSimplexSolver.cpp"]\ ++["src/BulletCollision/CollisionShapes/btBox2dShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp"]\ ++["src/BulletCollision/CollisionShapes/btShapeHull.cpp"]\ ++["src/BulletCollision/CollisionShapes/btBoxShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btSphereShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btCapsuleShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btCylinderShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp"]\ ++["src/BulletCollision/CollisionShapes/btCollisionShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btEmptyShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btCompoundShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConcaveShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleCallback.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConeShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvex2dShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexHullShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleMesh.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp"]\ ++["src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp"]\ ++["src/BulletCollision/Gimpact/btContactProcessing.cpp"]\ ++["src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp"]\ ++["src/BulletCollision/Gimpact/btTriangleShapeEx.cpp"]\ ++["src/BulletCollision/Gimpact/gim_memory.cpp"]\ ++["src/BulletCollision/Gimpact/btGImpactBvh.cpp"]\ ++["src/BulletCollision/Gimpact/btGImpactShape.cpp"]\ ++["src/BulletCollision/Gimpact/gim_box_set.cpp"]\ ++["src/BulletCollision/Gimpact/gim_tri_collision.cpp"]\ ++["src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp"]\ ++["src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp"]\ ++["src/BulletCollision/Gimpact/gim_contact.cpp"]\ ++["src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp"]\ ++["src/BulletDynamics/Dynamics/btRigidBody.cpp"]\ ++["src/BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp"]\ ++["src/BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp"]\ ++["src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp"]\ ++["src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp"]\ ++["src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp"]\ ++["src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp"]\ ++["src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBody.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp"]\ ++["src/BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp"]\ ++["src/BulletDynamics/Vehicle/btRaycastVehicle.cpp"]\ ++["src/BulletDynamics/Vehicle/btWheelInfo.cpp"]\ ++["src/BulletDynamics/Character/btKinematicCharacterController.cpp"]\ ++["src/Bullet3Common/b3AlignedAllocator.cpp"]\ ++["src/Bullet3Common/b3Logging.cpp"]\ ++["src/Bullet3Common/b3Vector3.cpp"]\ ++["examples/ThirdPartyLibs/clsocket/src/ActiveSocket.cpp"]\ ++["examples/ThirdPartyLibs/clsocket/src/PassiveSocket.cpp"]\ ++["examples/ThirdPartyLibs/clsocket/src/SimpleSocket.cpp"]\ ++["Extras/Serialize/BulletFileLoader/bChunk.cpp"]\ ++["Extras/Serialize/BulletFileLoader/bDNA.cpp"]\ ++["Extras/Serialize/BulletFileLoader/bFile.cpp"]\ ++["Extras/Serialize/BulletFileLoader/btBulletFile.cpp"]\ ++["Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp"]\ ++["Extras/Serialize/BulletWorldImporter/btWorldImporter.cpp"]\ ++["Extras/InverseDynamics/CloneTreeCreator.cpp"]\ ++["Extras/InverseDynamics/IDRandomUtil.cpp"]\ ++["Extras/InverseDynamics/MultiBodyTreeDebugGraph.cpp"]\ ++["Extras/InverseDynamics/User2InternalIndex.cpp"]\ ++["Extras/InverseDynamics/CoilCreator.cpp"]\ ++["Extras/InverseDynamics/MultiBodyNameMap.cpp"]\ ++["Extras/InverseDynamics/RandomTreeCreator.cpp"]\ ++["Extras/InverseDynamics/btMultiBodyTreeCreator.cpp"]\ ++["Extras/InverseDynamics/DillCreator.cpp"]\ ++["Extras/InverseDynamics/MultiBodyTreeCreator.cpp"]\ ++["Extras/InverseDynamics/SimpleTreeCreator.cpp"]\ ++["Extras/InverseDynamics/invdyn_bullet_comparison.cpp"]\ ++["src/BulletSoftBody/btDefaultSoftBodySolver.cpp"]\ ++["src/BulletSoftBody/btSoftBodyHelpers.cpp"]\ ++["src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp"]\ ++["src/BulletSoftBody/btSoftBody.cpp"]\ ++["src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp"]\ ++["src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp"]\ ++["src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp"]\ ++["src/BulletSoftBody/btSoftMultiBodyDynamicsWorld.cpp"]\ ++["src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp"]\ ++["src/BulletInverseDynamics/IDMath.cpp"]\ ++["src/BulletInverseDynamics/MultiBodyTree.cpp"]\ ++["src/BulletInverseDynamics/details/MultiBodyTreeImpl.cpp"]\ ++["src/BulletInverseDynamics/details/MultiBodyTreeInitCache.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/Jacobian.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/LinearR2.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/LinearR3.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/LinearR4.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/MatrixRmn.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/Misc.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/Node.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/Tree.cpp"]\ ++["examples/ThirdPartyLibs/BussIK/VectorRn.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Anim.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/DragAndDrop.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Hook.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/ToolTip.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/events.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/BaseRender.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Gwen.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Skin.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Utility.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/inputhandler.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Base.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Button.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Canvas.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/CheckBox.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ColorControls.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ColorPicker.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ComboBox.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/CrossSplitter.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/DockBase.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/DockedTabControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Dragger.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/GroupBox.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/HSVColorPicker.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/HorizontalScrollBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ImagePanel.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/HorizontalSlider.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Label.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/LabelClickable.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ListBox.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/MenuItem.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Menu.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/MenuStrip.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/NumericUpDown.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/PanelListPanel.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ProgressBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Properties.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/RadioButton.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/RadioButtonController.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ResizableControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Resizer.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/RichLabel.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ScrollBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ScrollBarBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ScrollBarButton.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/ScrollControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Slider.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/SplitterBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TabButton.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TabControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TabStrip.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Text.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TextBox.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TextBoxNumeric.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TreeControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/TreeNode.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/VerticalScrollBar.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/VerticalSlider.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/WindowControl.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileOpen.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileSave.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Controls/Dialog/Query.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Platforms/Null.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Platforms/Windows.cpp"]\ ++["examples/ThirdPartyLibs/Gwen/Renderers/OpenGL_DebugFont.cpp"]\ + +if _platform == "linux" or _platform == "linux2": + libraries += ['dl'] + CXX_FLAGS += '-D_LINUX ' + CXX_FLAGS += '-DHAS_SOCKLEN_T ' + CXX_FLAGS += '-fno-inline-functions-called-once' +elif _platform == "darwin": + print("darwin!") + CXX_FLAGS += '-DHAS_SOCKLEN_T ' + CXX_FLAGS += '-D_DARWIN ' +# CXX_FLAGS += '-framework Cocoa ' + sources = sources + ["examples/ThirdPartyLibs/enet/unix.c"]\ + +["examples/OpenGLWindow/MacOpenGLWindow.cpp"]\ + +["examples/OpenGLWindow/MacOpenGLWindowObjC.m"] + +setup( + name = 'pybullet', + version='0.1.0', + description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', + long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', + url='https://github.com/bulletphysics/bullet3', + author='Erwin Coumans, Yunfei Bai, Jasmine Hsu', + author_email='erwincoumans@google.com', + license='zlib', + platforms='any', + keywords=['physics', 'robotics', 'collision detection', 'simulation'], + ext_modules = [Extension("pybullet", + sources = sources + , + extra_compile_args=CXX_FLAGS.split(), + include_dirs = ["src","examples/ThirdPartyLibs","examples/ThirdPartyLibs/Glew", "examples/ThirdPartyLibs/enet/include","examples/ThirdPartyLibs/clsocket/src"] + ) ], + package_data = { + 'pybullet': ['data/*'], + }, +) + diff --git a/test/GwenOpenGLTest/premake4.lua b/test/GwenOpenGLTest/premake4.lua index 52dba961a..5062db05c 100644 --- a/test/GwenOpenGLTest/premake4.lua +++ b/test/GwenOpenGLTest/premake4.lua @@ -63,7 +63,9 @@ links{"Cocoa.framework"} print("hello!") files{ - "../../examples/OpenGLWindow/MacOpenGLWindow.mm", + "../../examples/OpenGLWindow/MacOpenGLWindow.cpp", "../../examples/OpenGLWindow/MacOpenGLWindow.h", + "../../examples/OpenGLWindow/MacOpenGLWindowObjC.m", + "../../examples/OpenGLWindow/MacOpenGLWindowObjC.h", } end From 463cbf93dedae9ceb5b4450cfe2b47bd440472c8 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Sun, 2 Apr 2017 23:12:02 -0700 Subject: [PATCH 02/10] minor fix in setup.py, disable udp/tcp for now (not setup yet) --- setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index d633e1358..adebd9a05 100644 --- a/setup.py +++ b/setup.py @@ -19,8 +19,8 @@ print(platform) CXX_FLAGS = '' CXX_FLAGS += '-DGWEN_COMPILE_STATIC ' -CXX_FLAGS += '-DBT_ENABLE_ENET ' -CXX_FLAGS += '-DBT_ENABLE_CLSOCKET ' +#CXX_FLAGS += '-DBT_ENABLE_ENET ' +#CXX_FLAGS += '-DBT_ENABLE_CLSOCKET ' # libraries += [current_python] @@ -367,7 +367,7 @@ elif _platform == "darwin": setup( name = 'pybullet', - version='0.1.0', + version='0.1.1', description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From c4cee21225cd754ff98ee5795b8b241551fc1aa1 Mon Sep 17 00:00:00 2001 From: "Erwin Coumans (Google)" Date: Mon, 3 Apr 2017 09:50:01 -0700 Subject: [PATCH 03/10] pybullet pip/setup.py Linux fixes --- setup.py | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/setup.py b/setup.py index adebd9a05..575305150 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,6 @@ from glob import glob #see http://stackoverflow.com/a/8719066/295157 import os -os.environ['LDFLAGS'] = '-framework Cocoa -framework OpenGL' platform = get_platform() @@ -24,6 +23,7 @@ CXX_FLAGS += '-DGWEN_COMPILE_STATIC ' # libraries += [current_python] +libraries = [""] sources = ["examples/pybullet/pybullet.c"]\ +["examples/ExampleBrowser/InProcessExampleBrowser.cpp"]\ @@ -145,18 +145,18 @@ sources = ["examples/pybullet/pybullet.c"]\ +["src/BulletCollision/CollisionDispatch/btUnionFind.cpp"]\ +["src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp"]\ +["src/BulletCollision/CollisionDispatch/btGhostObject.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btContinuousConvexCollision.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btGjkEpaPenetrationDepthSolver.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btPolyhedralContactClipping.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btConvexCast.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btGjkPairDetector.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btRaycastCallback.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btGjkConvexCast.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btMinkowskiPenetrationDepthSolver.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btSubSimplexConvexCast.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btGjkEpa2.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btPersistentManifold.cpp"]\ -+["src/BulletCollision/NarrowphaseCollision/btVoronoiSimplexSolver.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp"]\ ++["src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp"]\ +["src/BulletCollision/CollisionShapes/btBox2dShape.cpp"]\ +["src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp"]\ +["src/BulletCollision/CollisionShapes/btShapeHull.cpp"]\ @@ -352,12 +352,22 @@ sources = ["examples/pybullet/pybullet.c"]\ +["examples/ThirdPartyLibs/Gwen/Renderers/OpenGL_DebugFont.cpp"]\ if _platform == "linux" or _platform == "linux2": - libraries += ['dl'] + libraries += ['dl','pthread'] CXX_FLAGS += '-D_LINUX ' + CXX_FLAGS += '-DGLEW_STATIC ' + CXX_FLAGS += '-DGLEW_INIT_OPENGL11_FUNCTIONS=1 ' + CXX_FLAGS += '-DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1 ' + CXX_FLAGS += '-DDYNAMIC_LOAD_X11_FUNCTIONS ' CXX_FLAGS += '-DHAS_SOCKLEN_T ' CXX_FLAGS += '-fno-inline-functions-called-once' + sources = ["examples/ThirdPartyLibs/enet/unix.c"]\ + +["examples/OpenGLWindow/X11OpenGLWindow.cpp"]\ + +["examples/ThirdPartyLibs/Glew/glew.c"]\ + + sources + elif _platform == "darwin": print("darwin!") + os.environ['LDFLAGS'] = '-framework Cocoa -framework OpenGL' CXX_FLAGS += '-DHAS_SOCKLEN_T ' CXX_FLAGS += '-D_DARWIN ' # CXX_FLAGS += '-framework Cocoa ' @@ -367,7 +377,7 @@ elif _platform == "darwin": setup( name = 'pybullet', - version='0.1.1', + version='0.1.3', description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From 217dfef12b56210967c52cdfd8288e44e04b461e Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 3 Apr 2017 22:39:33 -0700 Subject: [PATCH 04/10] fix Windows pip / setup.py --- setup.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 575305150..7980667b1 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ CXX_FLAGS += '-DGWEN_COMPILE_STATIC ' # libraries += [current_python] -libraries = [""] +libraries = [] sources = ["examples/pybullet/pybullet.c"]\ +["examples/ExampleBrowser/InProcessExampleBrowser.cpp"]\ @@ -352,7 +352,7 @@ sources = ["examples/pybullet/pybullet.c"]\ +["examples/ThirdPartyLibs/Gwen/Renderers/OpenGL_DebugFont.cpp"]\ if _platform == "linux" or _platform == "linux2": - libraries += ['dl','pthread'] + libraries = ['dl','pthread'] CXX_FLAGS += '-D_LINUX ' CXX_FLAGS += '-DGLEW_STATIC ' CXX_FLAGS += '-DGLEW_INIT_OPENGL11_FUNCTIONS=1 ' @@ -364,7 +364,17 @@ if _platform == "linux" or _platform == "linux2": +["examples/OpenGLWindow/X11OpenGLWindow.cpp"]\ +["examples/ThirdPartyLibs/Glew/glew.c"]\ + sources - +elif _platform == "win32": + print("win32!") + libraries = ['Ws2_32','Winmm','User32','Opengl32','kernel32','glu32','Gdi32','Comdlg32'] + CXX_FLAGS += '-DWIN32 ' + CXX_FLAGS += '-DGLEW_STATIC ' + CXX_FLAGS += '-DGLEW_INIT_OPENGL11_FUNCTIONS=1 ' + sources = ["examples/ThirdPartyLibs/enet/win32.c"]\ + +["examples/OpenGLWindow/Win32Window.cpp"]\ + +["examples/OpenGLWindow/Win32OpenGLWindow.cpp"]\ + +["examples/ThirdPartyLibs/Glew/glew.c"]\ + +sources elif _platform == "darwin": print("darwin!") os.environ['LDFLAGS'] = '-framework Cocoa -framework OpenGL' @@ -387,8 +397,8 @@ setup( platforms='any', keywords=['physics', 'robotics', 'collision detection', 'simulation'], ext_modules = [Extension("pybullet", - sources = sources - , + sources = sources, + libraries = libraries, extra_compile_args=CXX_FLAGS.split(), include_dirs = ["src","examples/ThirdPartyLibs","examples/ThirdPartyLibs/Glew", "examples/ThirdPartyLibs/enet/include","examples/ThirdPartyLibs/clsocket/src"] ) ], From 025687627d33601c73a1a905dba824f389a97925 Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 3 Apr 2017 22:54:44 -0700 Subject: [PATCH 05/10] remove Linux preprocessor define from win32 setting in setup.py --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index 7980667b1..bbbe8da4e 100644 --- a/setup.py +++ b/setup.py @@ -369,7 +369,6 @@ elif _platform == "win32": libraries = ['Ws2_32','Winmm','User32','Opengl32','kernel32','glu32','Gdi32','Comdlg32'] CXX_FLAGS += '-DWIN32 ' CXX_FLAGS += '-DGLEW_STATIC ' - CXX_FLAGS += '-DGLEW_INIT_OPENGL11_FUNCTIONS=1 ' sources = ["examples/ThirdPartyLibs/enet/win32.c"]\ +["examples/OpenGLWindow/Win32Window.cpp"]\ +["examples/OpenGLWindow/Win32OpenGLWindow.cpp"]\ From 7a314fd62a3d96e5ec07697a98d13412039ff3dc Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 3 Apr 2017 23:25:12 -0700 Subject: [PATCH 06/10] pybullet/pip setup.py bump up to 0.1.4, add categories --- setup.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index bbbe8da4e..5f680b21e 100644 --- a/setup.py +++ b/setup.py @@ -386,7 +386,7 @@ elif _platform == "darwin": setup( name = 'pybullet', - version='0.1.3', + version='0.1.4', description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', @@ -394,13 +394,24 @@ setup( author_email='erwincoumans@google.com', license='zlib', platforms='any', - keywords=['physics', 'robotics', 'collision detection', 'simulation'], + keywords=['game development', 'virtual reality', 'physics simulation', 'robotics', 'collision detection', 'opengl'], ext_modules = [Extension("pybullet", sources = sources, libraries = libraries, extra_compile_args=CXX_FLAGS.split(), include_dirs = ["src","examples/ThirdPartyLibs","examples/ThirdPartyLibs/Glew", "examples/ThirdPartyLibs/enet/include","examples/ThirdPartyLibs/clsocket/src"] ) ], + classifiers=['Development Status :: 4 - Beta', + 'License :: OSI Approved :: zlib/libpng License', + 'Operating System :: Microsoft :: Windows' + 'Operating System :: POSIX :: Linux', + 'Operating System :: MacOS', + 'Intended Audience :: Science/Research', + "Programming Language :: Python", + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3.4', + 'Topic :: Games/Entertainment :: Simulation', + 'Framework :: Robot Framework'], package_data = { 'pybullet': ['data/*'], }, From fa023cb14b459d78950fc604029b59e44d42497b Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 3 Apr 2017 23:39:22 -0700 Subject: [PATCH 07/10] fix syntax error in setup.py, update pybullet quickstart guide PDF from https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#heading=h.6c3uot59qod4 --- docs/pybullet_quickstartguide.pdf | Bin 522212 -> 526030 bytes setup.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pybullet_quickstartguide.pdf b/docs/pybullet_quickstartguide.pdf index 33f43eed1826a765846cf71c87ff6098d9bcb104..8d272c98832d4714a0581bb0e4aa7ef19d7161d5 100644 GIT binary patch delta 148751 zcmZ^~1yEek)+LO)JB>B&?(R--3&DfCJ2WoAX$VfRpuyeU2~P0f7F>eMbiVig`fFxt zy1Ldqvd@;acip=8^y$3|im7-YHm$mh94jXqFA8nXec>C5fIu=f85bW1HwTbi0r&|h zAix9U=Hvky0om1nf?Pm$S)c$n7Z0SN3gi|9vTFl*xp=v_xsy$Op#_syeL(_19*%#~ zicVI}Ku!)$AO}zr$gb(^>;V+y_)ka6*3S~i$t3_}S9i1Y`i}x0;Q#SqSCj#M65+Gp zvG~j_z-c8Q$Yp8HX~Dx|Vewf|fM38$fS1pLPeAPdlK8(xjDTWdDDEC^mS&D9J~^Mw zEljtpP0dYB1(2ySsrwwPvBqrRsjAL{75d0aQsAEK`UL6B5OH9vq)?Lt?Jp zIaO8H{$V1OS)z{PZh{2*l)CIB4`4a#ZTjtB(|P$N$_)JEWIxPYsJ2Cwr0 zz|XIY=y56Mq_scqmTo@n5ghzPDBlGAp3vX?F1hn@^0W4fCJb-2mm&u z)&;W@IDj+BT*35YZs0~V09cg99_&S=54OSpfTz%qz)j5R;B`DAuq%f?cn#Yb{1XWP zcA?M$1JMECByt_FD6%uSniv3{X43rc7(DohLmjNnY7chAb^`bEyMUc&-5`AcxCRRz zT!;Pv{EiC%|H9D#|3z^D-!f2uC787!zW-~xfzbp3;6N&UFas7bL|z|kiRubI7j%Hw zbpdbD0>JO&dSEPwoCuFIc#6mgtSbrt=W%I4YyrTR7`otm0RT7xPX}Tb0A6I(g~$NF z7mT`KUqS%53#bbw2DpKP1YN*ZjQ{+$hr|v5qjKwmV*$iqC3<~`4L5K;f*W{J$PTOu z(UC`~4OW2ga>A_v7J<{tiL)H_6 zf!H4)Tm!&4kQ{X51Hhh0`Vd_XU@~4;a0Taoaw3QO;eULC=FkQIKz4xmL=LXQRfX{S zAHHJvv>-VGfQc~Fz=^!X;C2B`NNyb<{5U~$x0U{WOO5=aHE#rk;5dh#D5*-Nl>fkMOatN0I@COLDXNXRaya2#+n7R=C z0I)f!7KAf5@G71gWbQwDI@mNIwMq<5V9^9WLgM-7=Qf=>#1A(}&AC8o&;er86;d;h zI^fm@C(yWp1vvlZ43bAGEl8aLz?0N^khQK5u3aE=05B`19;7w_U{g$e@E;KXSY22H zk~=rBugHJ(Q)oi!$_+B-02%wo{fBfDH&`?nLGJYAVHgG&4({|iK^S^yo^)(g7(!y+ z|J-WiI3c$kf&aF-fSjD1=~sdP-6}x&#w*;5G88=J!pJ?cNS8=72>^f zEM{W0k8r|<>DNeW(hHjiGQc~jrIy@mXDYFeQjTprYrj#IwXE)Vx>i#E9l5-+RpagW z-4Tg?0gX72{1aajji&@Fm3WJ*dxyG%OB0u)JOFJ(T+fJTUu^=FP%8UorY_bM>36n0 zRqND>%`>Gjxk&fyyuI_&iD$OcQ4_#zc-~ezhmY;y&F`QYbsUWoWau@1Yl`M9p%(+- z#$14-tBPwFHr{nELC$jS_Yub#DHo&fQ*KT&U0+8zYyE*b+=TeqCYC(^_>Vm0Yt{9J z98~<8cS?n8uJ$?d|f>FWkm2*i@esrtIq5BwWv_-2A zjz6W=1Pq&aLDR^enc@zTFqg8iI?TdjXVdcbN_*dza;g$L6Vz6QT9Jk;0T1}$toA*$OFFLs$RY*&sX|EN^Rrn({U8)FuGaG+r zO}qQ2${l>l+r8vedxH79`MkZ7=WpiE=4dA{zUT!w6J%Sv$+eZx8FK7L>=MX#+|?ZW zD@#nZ5a-yN189MoU$r--o2q)1a{)EpLdyvNNah}8QG)q3bmL#+ zGLTgMz&hipJ;L~QHM*i+clOAUuiJ1wtNp4vU!R52%M1vcJe>i;LNbb)rGr!OaW%m?KXHpk=0a z5#^{zndJ%HA7;U4lL`XQoz4n7zHh5&G0-t+E$`l@q!A7()7O6vU2ov=8wY?Fp=EkHzZ3o@+G`BefeyvE{1ODqA`#YLPb^jEgC2;zT z@a@53?%r%}JtFI-?8|R#1*n&;;2XH|tsyy$YOLk0$nk)kWU0(UUmjj#tph?gkc6LQ zwU!+Ug;zDG>U+*Q-wHwm;w7xB(@eIU`VgII5_}9sjuMqgn|ufAF?RS~%d2H5pf;*x z|83zINtyfBmGL9KmziN2z{CHF6|=rT0xO|Tk`a9#n2(6a;yl1)?3L}v6et?!gTHHRG|uZ3w+X687&b= znA*t{a@-d9M11C-_oanjbMxwQx5eF>Yt2gfL0|B}F=`GWbVRTq!SdEAC{Ww{?keqj zKibro-Np;@r*R$g(?Ur}&@Xc&A0#Z|y$IVWtS0r-8LvxO_LwyWMu}1ewcKWf5cQSo z3~94R8oyv-3>R3{Yq*d07b%AfQ_5|nVqf7<)ckiB%WqigwmBA}M(G2bzW(x{PV+ne zaTwFnphA*mX|T|w@?6Fir2id(7soZGMxV8{Ch^-Uw)&lp9l3(S9;o_dQZLk=0bvHp zH`)g~C*MwI^D$yA>#JX_x5n=NgUnv9XB`PsOtVr4u{Va2@D{TjjxEEZ!r`lGZu6+T z$%OpgKGqsQ_$k>NJz7C)ZNKSO`03{N5CaRw_t9c$?EQRMSVQ@a6#TL5oW26U_#f(D8p=5D=euAL)c)mci#1rbf51kCv!@k~pX+ zyGr=(=v^hWW*9f-yf(GxQAs)06DQt7R<$)h0SpSvFh;%ldke}2yf>Bl`}K4O9-a*J z5d0=e{*773$6ckS!J}s~*%gPw)B?Mhv}Z@OUz2aA{Dp~urlt3=ZD|1!l}5grSv+)_ zk*pmtxm_gSn=?5I_fMG(U(d|}<&eSDNc1C>;P8PY&k9jf;jHvh)%aBw*}p4GTL(_C z#`WAo&=S7Q+Rz{rZNHJU?Lrd6RHGhurtBXYmkgu+b~T79+66OG)>;sj^YroFZnf6u?wzonyv;);lNB_LG>t5#%y;ukuH{dXU z_ZIe^+7ZoQX`iTV6uYVKd+Wif##=PZ=;q>+IBloM zyXGsvgTVI(HbfL~s&_PKVA%JbQ5)%ZCtj9@SyXm`RP~H>B29{Yw6Vg;Kwkv?3~q|% zRwF3*ZFC2pBy|F5nAE1!go+Jbh5{tsi@n!7g@KkAQ(49^IV4xO+|SMIuaXJ zYuMYMpNGG8FVB~}MD#*+d$VeezeCI62Re%k=O11^_Zo+?MVavt0~Z*rzp3;;*@W$_ zMF5>H(VhFfU@o_>1EI>x-|>=Iyd*7H^{_!v>5u5FV&621%#P3_(g>uS(-M&$|7=gl z68MlpQ?tOru8@Q#{5IPdQbrzM`#|02X6S-Y1$(!EO4-S7-*$J3t!JHhS}M7NYMbe; ztMLog0}CZly9~Q|@CsF{y;XAUFSmDs@qOwu@)wcxt{1p~yn5W?hRaJwHEUN-p@}ol z&z+{q=ph4LVOldbau2C9FY&KXGNB7dZ?w!7c7r?q1`A{X%>B8mkutd`Uk13I&eU zWcn7C+U6cHyHfFBF)Siu)K^?ARW*$X%C?sHoUu=>W*%zCUh6KxfmQ!ydG0u(DwBOC z3mc5TDn8VYc)6O#Cv9z6>SJ*+=~_NdFm`ZUMz+t;uvmgD;%e?_lH&q+Mmbybsy!`kp^#J`X=a1sDu|0i-q6JV)Ja|VO%cW>9o7P;cP_UGRN*B9%thJY zL#8lA!2kB~2x}``w+;<6I<6a2n^yZntg_M94>WoD&!IMd8sTM1_;$r52ZI&J!}X`^ zcVc8iqCo{wwo~os)l==SaMErG6BjMBcg`HEvw& ztYfm5V{>yfaSFfy<%)4M^Mo#J@AYkZ9w~qEi=Q5h*|}P3BYn*q<`BOT)xuH6+n)Gn z3cyKQ=uwmzJ}!wCg%_`v|;;o;+k?CAdgdy#w`|J!cl zX_s#R-q0`cfQt5ZYZLCwNtLgeV;1!=$doiPRL8Z*a=;&SHZ-TPC}xCs(c=jYY%E`J z456Sc6`*hl(9eZi^BKy@fcb@n>`Yk}2i_IdI3Xup_rAY3pWkkRGA_?RT1GmhU$si7 z1Q$h-C7>h_b$}ATMunsF5;iuhX(etsgUj%#tyOMbJWjX0p;30Bv~!2G6S{5`x9LeF zRw2)?k#*jafSc3w7JKMOW0+Ci1QOAJg*9f+w&fjYnR9{3+HP}S+<8K5#ohB9uccfa z{vJ#TA?W3biwqt&f!Qfg-*sNt<=e4v)TU1P(#KjhSJS}h!ENt^AnSljxL!M6iGZGQ z#v@nUSt+g83qWs`~ zEdrx8p=&DG`nqR+qJiFsPo2-P$DCiI%S8}tdL*FZ;IJ7oC~?1lpo+zoYoN5h)Xuyh zHB07RVrbWwo66p54@qY}AfVA&Z|Smhkj;LGjuL2wMfm)B>?4kUEX^an5cf9j=ZnFNmDFt>v4Gr zb~zGr{)F@0)t2N3X!ur$g?-l(fBZ43H(viY!aQb-v=rr{o4OgfX*==F+46f>z@!4W z?!DZ>?ntC$zV7U|emBywX>l0Ut|!B>vtS~Zp4bSjNc?qX>|-T1EY<{8OMZX=h~T>I zDoC)zQ-BR!Q?!2+3a3sLx{Dk}Va@z~gX#vs^0z?ZFTw2xP#Wi}Xsb#r8)8Dt^a<&X z=wR~1uov%FlaTTmqoe#E6yF-4XEVDIjWpOK#n`Vrj=V7zCO-?*ydovXhu+yCIS#lI zeCaSF`)y5)f~NxC&(}+{O;z3Jl)+jR@*xAWQFMp@a-O1(_K^~EU+>G=W*kwxV|U@v z0E1ZMOrpZZDTt@FwhCns?)15eK+tt%E0EoAN%P0rpf}pMr>PDl!2G=83#z8n0g(YeLalyk%i5JmhWWFfwg5_H>y%rdeSsmH;nG9UoLRx083NG9#<_t@hGsz-gLuCu*jvkQ(k9zRN6b@FPr#`f@*5YiQ-;-Aw4+j|U>?JX zpwW&uruGDB&s3G(Zr%DbhS;LZR;r~Uo@6rG!d6iaRk-V~t+`V=bMI0$2)0P+uH&x0 zEAM>o@5o2=J6=R##}`9I1z1yulHK&$;z=ywr4b8EXsMw5Z7;)tm~+(edQm;tR-EtFJJ-$^b0n|FB87Py~2jJBsNZ4 z`guf58C5B>Hp-gRlo(pKZpboGdG2(tMJ*>jh=kT)Z{~}sYTvOxAvk@*e-GvZ)QSA4 zDFEG6Jv|aQNVFHqir37|-&Wpgc{Ujve`s^wzB9UFZB=t6o%nPxeMa5lx-RD?JQ8T4 z{91Wz`I4A__MlxiaM3q2+N~;WLCIAY4~s2aZ&HS8G$`t)`^3;_qC>RG-buE~UWMtX zyFu=!wMw=ce4}drw;bK<)9}4kEc?FOP7tVWDDle}2c7vexy~Q+_b(J=h0D-MR@-mc zP}H>>-fbrP&+5y;&lvkLXB#8U{bZ*k`VpV`k%b2y9e}s{e91q1c@By`9PSI5rD=)< zzv5ce@~Ak=J`w5D;7=wQABYs(r*=9ISc<5TqS$L(aIN6@7_7s852$(&u^E|J3pfM0 zPIoNmT(+X9NA-lruY40YM9A4CK?ziurJwpl@&uk%TO>A@fj%5L0SY8O2>4K4>lcj{ zN+!=zf59kX@yVVWQR;-=;r!8qeNfhPStbO3Hea))S-`6CvZI{0Z)Ve^#e)fMz8LyBfH6q4*gtD`m3KadX5Cw>RMb3qdpD zMxDh_^JSV!1JzeaRQTztLA`%GsRvrF4nRa3&T%Fo68aP!U`~dHFK?dXNz#l9{Zp14 zJyl_XBbRu!?}RbX5M@PhnFTbe`@j~)^^4$=Q`~nYgF%$i&F1(9|f= zyHmiph;PSe>4M-C^NTj?lW0Z}E zBTUg1!+Ii(P*Vpsk&s5#xeIK0Y!WO)Eb+R8TBtR#@W!v-Pz8=+Z8|_n=8xRbVbScL z#@P@rPA;z55uY)tTL~M?$PpdGIL$~NmY&okFgj4rTnNT-DJO$*FvgI;+IAT-J$(UA z;Oh2~n<)c6WSqA(pEr_Gvr$b8qR4-Wi?{VzjGZ#pMY?J3M?P>+8C zR5nLu-9Ufa-&*_~ybt$nX2S@|>NyD{YuW3>cK-O^BBBb?RDX6%eHJ8Ty{~$G6GjUq zP1RB>&Och#xlbW3ai3A@G(j|+zSy(rq6l|g%&!e{%Xb)Y&qo7=z}^hI<(~$_o=hFK zs#JeBtX`%+jQIN3cJ`)nDJn6x>&stNvq=#oL%n(3*M#L*W{+-={^qBPHdetvo!p+g zK@)%2`|%$8n|HO|t{c7`^ud#Nll!46v=(eDCwj4dAL`(`KUzM+0f=8=dDszbMBrw4 z(9W>(DzftiI{Pv}s&Y@5;Se9FWt|tI4St2M61@;zkr!qS^&2I(&c)n|_ILiwrapTd zc*(g?i}M1w54^<3VkMeA1;W{V++|jvkb7eOg$Xnvo@>kSrkEq`WS6`he8#-&Mh!K8 z5*ieQOK3nI$S6_S1Ho{HjZlN!FHDb~)iMA7dZ-jn- zKNeZOzLPi#D!-t{k3xU$ZV_Y?etsF@Rz)59`$8QW8~tr1MV)&%m5DZCSYJ1$&G&_< zK&dlOJBD6yFSAg}_jGbsk6ifX0sk1G78>(% zF_WdeDd;C%Mvd&n+|l^ph>qoX<*}$CPJ8CTs1d4xyr*fVMW*NTSo6q?XG!*({BgU+ zetZ3v{Jqwh=+ii_4Km z@QdS%;2X?4*&EY)z`OZ7>|4}J_KWZf?_1y-?3>=}#RKNE_zfuCFo}iU`$M$?d8P>6 z<6XlJ=;O%B3EK?n8HsICDQ8Pvex34XjnDVPLGhOH?tpY&u{k0;z^vi&i*haF0v^g0 z{epUxLUqJvJK1tDXOC9)nukNLY$8NPf)H|C%}_J2=H3g|_7kWeolH_m0sb zlOU?nRAvTNvZ3q_gREN~h`KFBcdY7K@42N(>D)1OoilaavnquoS7e(-gGQdMRxUI} z+4(d)1x(Vxd*?tpC(z+)yZdFhq+~6tBY&@=bx-O=U%bziqTCZSKti*u8iLpoe_Xod|u}q(P7;}8{ z<1s-KwRgLIy$03u=jNYd_$H38c0beYLEQn@6P8dWP6wSPLji)1%8i#MR)LJ5mFt0Z2x|*P}29~2h5Raa`C_yk}1!Zzq{;Ypeunpx0j~f zY0^#K&XKF?k=O)!GBuHN(Y!4?m)GN`)fXx`KlTc~N^(6%bK(KIxnA1?vFG zTzwhyV4HNN#lZ( zYf~+;5@9g87tc3w21^JM}H}!l;KMn8N;=pUM>6}Bi$$?f4ir6jrW4k11=row%}fo zYEH2pZ^lLib*v=2XDK83t27G%^z_|ijxMh%1QY2xH$?tt$me*8ZQlvh1K~V)4 zT_Oj-f9pGRA?*%V+eW?SZj*Qm>Hb4_t>%{eA{RuTK1#8tmLdsI1mW7!NzNg>5~)iu z;xiOcrImfDD37#L{8UloXO}N$S7>EdpbL<7EGCOD@k&vww?Xq%r}v!I2gvW*!gy+7 z1_t}tQrW82mnVAUD=w&kZBagax8=#Tni=wlu_0i+wca+~4l)a=RnVtmA=E{|L{3CH zi5Qu67o!$ob|B2d1$m)#go{dbxu^@!bkcRwc1HRCh21W@%)E@aY;rLWpwA%;B6yR0 zmjo5O7ZV=W-10vOcgeixgXZK`X>8zg^W`t3Tr|}hte35tBOEQK>m410*ZT6LYwE%9 z%WS$~dA|H>19$a=Gt&zVfk&m7wPB~ScR2Q@QOgsj_;*bHp!lw--=@y>Ez4`CWOr=- ziCxne4b-Qwca+c3fs+aKYRjcZ-^D(EYuG)7dkzg8>o%ufSvn=TV-+4!ZMaw__WGLp zd9#6HIq_8FIp%eetrk>kvMjzLd&m6vHOIWCZgYk94)Gbx+s{^3psa{-8q#%%l9ym- z#@~r@-$(hj4pKUzN5fJIf9p3ji*{*HXF|h6=&RX7bKIK#XeydBlKY4zqJUyX%SgpN zYIjSBnVhLEe@=Ngrslwv-G6SW6~Sdz<`U~tsXlekaO^<$sn@DD!hzt^AVCAI1LLP* za#QcRs1>*7&?=e4PJ^ql#5#1Md6AIhpF+)fKg~!!@`BdF^PU(BijtULw6>hT(*}Pf z9D<{E%h$^!W5LT{C|>|nsXB9HO%m9rvaXWvy0n|`?%=MII~TH#ealJ7`kFUe;@C0y z<8Fn_P3YjjbG)b8z3;CP%6?(>M*IDduXN3CeuB+~QshRgd;p;Jry-s2}3^OPNdx>g;{j$Cu| znp!EZirq3bBe_@iZv8IG)c)DM!(-K{ z+o`C@ajloF3Ii;p0&gCW)}f$6SV&`|k_bBS(oiRHQHM^i@lOn%U&>7c0w4U*DDWAM zO;(Hie=L3a)%+pYgXEY58_HxUm{GbMW+T-JMzbYY>3EnsZyMpNuUC_;{*y#5v7ENW zk^G|^dQTG%5RH8|P@k)I^E@PDrIZx3VZQsz>3b|2dp!QvJD0fo%eC*yguXE7ugV~H z_P^KmABmeoIu|w@%x%?9pP=!~uOu+<upv^e{4XCB(0 zhFNpfLzH(70Kw1=oxE)6h7>}`)#Q2K!;}JlOPKwraqzisHR973GS#ipx)Z2jv0bxD zU%??bWh-J#nIU0Qi*sVt(p2)yVU-BM5r6ev}F;cCZaAzMMN z+%Am+>Y3tIk3IyKd>Ycc@f7)XgD4{&8LbSGoj2YVe&0I__e z^#D>+C*@7)$Sk5S;f*ZIwp}bY|BMsLI;rIGPs)GDhqDy!JZ)FO>sgv0^!W(NMWeo? zQ(x@i3AhNsuHyw-TcyI=z_Z)hFvgHiDpwdN8LTh|l#O+yNt<{`do?#1( zhx6*Oab$YCp9!ZaRM{?sSZ0kJ*a2I^uxm035<)n(B6HY85+tdv<4tt#Uif!<(Tk`N zHVOkfRB??B$zFtpSe4q@Amh(y_uO4{yrLZn%pSO;O88*YVA5hcNgeRn-6^33X*ml^ z_2SXP1Hn>8Q3Iy=Wj+kauZn&HPN#WENz_avF|cG4K>DtNN>pgb4sOT*w=O1rT!(<} zm#Or!2__}RslHbS7UryiKMFGM?0MvCzqC>lqA&BZNjkt2QPmC|G<+IK6+Z*73`_Kv zAL!#;X$Kazl-8(ELivdFMJhL{-1kNKwqH|)b;#1-i*f^Ax)o!BIimuRHG5wQtvYao1j#(K102#;Zga6vN}1&Mbaj}&tBV- zW=yxz>ZC7?t3>j5pyF4lcCIwOrUd;d^^ZlfMMviS_91az-3W*g0+f=;GM!W*63HYN z$Qf|_SRy{;+j9jJvqb@c$7Y>}x4B4x>{6SU^Xjmonz3D@p10DfY6L^G^UKQ|Pw)!gOU_UX5 z_IhS@OWaG*7dP?BiG@qVe*x$6;?PeoNjy~3%m)UGskMZmR*LC?Py5%an#L5J=7Ss( zXRMDJvwT{bKnlwI$(nB1%sK;{s(nh|evIwL|ELh$a$TC&@kl!z1;4s|@@+`kpSH_x z`gr*u>L}`)_cM=*+X$Kp1(Tn}C~`^UQhk9uJWgLWeWA8fLW6rMW;#|1-?%bO8{U{X z4R334-M~*$5q}PT22-*wzAf4}nrX1B_fm+&m4AnP5JXCA4KNonr^`xI+AEVufPl6D zQ*sfGAOtkG%e4KzC2W!6k7|Vcg8~ zy8M45TyCSIl+;l_T>j@0M_S(x>HWJTN05FT{Rbcvc>*^J%74K4-yxJJL_v|!ZApy8 zeh6T?`6LY#xj-O{lssY}j?`+8gF5QtHUx+TCr8b61t!OzRODR}z@x4>f~r&_iV?ds zZaFgl`kLDUF{Jd#yEM6N$^x3VfO=BNuhgS%GG>CIEb>YFNcE%|ApHd31h$1BPUaJj zED_$K6`MJEAxfVwNm2{+KakvZR9~d_m2|2sG1uUHPqWv-&KMae}JXYybp)jA?w{yyVx z3TlwLhda>nQZXk9EG&b4N$FG4ZF9HI(W z6QNX*bYR*eXk#tBqlWP_ne|Xqyc9fe4BGqdQO}+GLxo-z;0J5=<@=2Ud0x|cvGy-| zZ&wQGJ=#(a$%#hui$u=ztUW_-GC?dlTQ`I`3hWN7Z0vi=Ypj*%W+d_cs=e=@Uo{0e z=ODjgqV&gJUb6L0QFMG{wQI`*j2^5mq2+JC78g@(zGbDd(0KAPz9x05gSq;Rib0hA zlo3&q7MRuRUd6)p>!r01Z5%5ayT21H?Bj(I6@5P_3DdMJ6n7r7aV7O_S><@Dhhq%- zx(nqGi^5g@t#K`-94k{)JZPG)qZa>KlB_8Zu|Tn{gmS-E>FO<)qQ5(J*tD3`Pnf4L zqf49@y`^0?1pR8LrbL|Vd46*qwGI-edd6hX*G`-k@kARl1CbF^*>51OiiM=buJg(o z7*o6sR3o9gw2ySH^bEcdHOs#EZ=7tLtuwFwD(CbUOz@AHlZ}5C6Crd+FIv|*XSr`| zE?w8!;BSxWKy00O%`n;RUJMMz#2r^)+~{613Pryg{`g?O&i`JPq(zjjpyRbLlWJ}l-pFGi@26Tf^<{=nr<#TjI&w5sx$)??B?08eX&!Y>6>VkjAc z?MT^?7*Jp!-$s7no6(bRB=Q2qc30DwvPSMm8o}mreL2xCfDY-5+X=4N`#NV7{)1s) z9m>d1-c;R|4EgE@eBDbxM{IBCe%)V*X!pMBdM=k`Ydj&8DkGLh(T?|@->KYwKAh~f ziV#!iYl+nI)UtN7B>luKc&Oj$?RvTWr1oK9rpRBE*G*H`V4A7Cd;}^FG|kkJZq}rw z#JgZcts91?TAS6*?Bm1RNN?oJYgpvcWnnSmXRKPA_X}!Fsmr2DvU~)orsX7~RQ}$G zJW+E5(?zA+eG)T$Q8Hfg_jyMOIL$x|lX1UEp?tasjpc*w=-Dun_ zJlA{0PNMelvcdPFxpav)P{l6BQr-9Fg}U$NxpD6k(?`|B#m%p`Z8evODEQsvMcDWu zmfXXFFgnyCc}DJ~@_9TodT~U83G>@Uu=9aM9f$`{?fza(pnc~rCfh@2fg9d^%%TWs z=YF!}8(k$`>)lb#KKJ#j{h@P(%ufb$t9rJ5n>@O`B+UDP_yn&XK(5&AYtwe*>*L) zI00|~eKghzn`JwZ?upsCu1n>TsYcePelG`F*cXq+tq_>#*IHm)dst7!#`r!R$8IMebREz%tn@nPl53oHq_6W{~_CTgrxC^|eALl>)zH zv3;k3o=gT)3^U|VK&XLEOOSm&vneJhC@51mdxcZwDq!3;9yF01FS>9*$z1xzk;dxC zSvTHOaaPf32l8C|BZBOH?=-A(Z*{I@&&7|*!TQ-Q7RVu3g%%M%u=DCz5fiH?RDBQ= z7grxwE|a{}gOc5d)TL9aMO~$;llARaJ#hP_9IKj?Z8GC`KaXgCA)cz9J_qA@m;n4I zU;^zfG>TNI0SJqfLTG40;QMA#W&$Slb$JNcC8HuOc^NH83eAv8b&lMx=+A3{>x!yP zr2J*A7}75+X7bTf4kAC?NKdXU=xco&xg%0TOw4|80pVz1funvmj&YQ-Kq&hx`hld$ z4{;*70l{sa)Ch8TUKSWK@?``pVYDc<%R@cV0qIMQPLRSmvQfXWqYFi|9+a#)o)Dg0 zsE1E*6;7hfoDgGmZoFmvmFx1imI3jB-7zG0 zFHa-2QegCby2N~lm_q#-X3T-*9~3``i>W9V1Cq-1V9R9=fID+(-WOOsuEmCFrFu3M zCzV+tjRL!5Ei16JCC33P$Jn*if;$=M%dl3OdXIN8pz#3z zhTMbAeJnG~xcOB;F{l`jrSLqf)Q*riJdGR}vDi=fE7{YsrQv@0a7W5D)2@|ixl!;z z{Swr+g;+o+MUj6_RQGCe6ob=6*tA3JgDlqnOFWEyi=Czj9(AQ(w1ZD(X+q~*acg!Pqvc=ek51TFU5Q=YF)*NwrDKS0^2v~ z2X$gH{n(8FY!0l>_A<8(Hkm@y{H%wVkxcsh#zRA5x2$-<$dNCpZ`>9xSNNTj^FBy) zN+xH3XFnUS^2$2fMgKuTfI0_%YPVvj7LG6Xr`5>{L34H>@Hfrx7;&{P>@ny&i00sB z8jUg9A;ru&INQqGcqPsK3MFl2ZHmgb@@g7a8Z!Cwwij7W&mD4={I#<9pVWt()Z~eH zbUD5V)dLdi`0wFTl+h>Vd;0>-Hh(}C8aY}iAA`k{fX@ZgzUT*v+P!6ox#0k}&^(Kp znUigXa-eFnYz9O3hpt+(s#zw#;B$H-Gk(^5=_3T_QCkn+QjN`v(5SI93nmBp!!b__ zj4|q)t+R*GC3$@3(P0jIYOMxDHch@X+DmxwvI z_XTpEvdVsR0(qi+-RS!ft2-D2MhKr=H{-)dTt;%_SOuf+U(R*cj}01WS6VBTO&Q`s z1#SN7M!^)I7d%ThNP)M=_Fh5YMoLhM-8#1Cs0Nht&a~1)9LqqU&j2Xzu;&?0UJ^Dy zjdW10-c>w@&^o$u&~eA$TvW+lOe7NUif-3HV9kLe7JRYoT{zt2Dn&BdcjeVz zm)=j-s3L&05sk{^I$csob^*v7({|VwOZ|B1%)!v#dmVKDC6g?SYS6Nfs! zV(n>3B=ybsf zR6)9_ob?~-|7*dO&<_f~v5B;q!xTb5+#>4#Cj7?kvZKV%bH)oJ@qjJCf+X!n&im#4 z>uM3yYWAD3hd(qLGSo076rCW9!&(YaUo%Iclk9>K@|ro6@UNJUNLvA9y%C<~u4t~( zZ-)vJj^5tTmy-yWs!*3dkp{k@CQZ7YvKMRXRFM6rK?*Dhcq4BuoK$VkM)d@kWO(?Q3jL&DE!G%G zCQ{&7J|*-Hlzil4OXxvp_dzUtU>0gV*8BloXXEs>K_`K@F%pLj=o$(A1J`>5Gp7C4 z=5_}85Bh1Wx5#{#M7b((V}(!(a72kjfj(DPID)1!MP&;C(}J=^OWZ4x8n%Ps!oA{A z1n*7|RF|oL-IwxhQw(xm&Jj$bqvYh2cLBYl@=c7#*@eA5Ltrzjt8;JXBJHi(EdJ+@URnSC5;J{{-kdk zXH1Gxea6`x#!8!S8-cqU*H1COrEwkZ#2}m(+!`{a(<{MOq41dHS|@K8{aW)2z+AQi zo!Y69d$r9>uH*}8N-V;LBtt>e7xe?RojJN9G#(C_U+bzDkdqbc9*fD1t7cT#Cr6I# zWxQ0-T?ltzkY*}z!G66Y+<_H2foYsz)AJ~SCi?bwhNFQcGQ!Tz=DR$?07r7g~8+{Y4 zyusT1$*|>ta%yCmI>FJwJ;%V!7pODt{?~kibR%cO5cG#eK81UXb{V{a)x2Cs=_S1$ z`QYffwzH@k%|GJ5vob z?Z>$5F%Ud~y;z;cD8u2!DW%wg`scC3&t;s9GJIJ#nX5VM6|4%ZkK0S9mH~fbpVP_1 zmuD2Cr3a%_z5Xne$EmQ%=hphTSNXQSk-4V?mSMfE7h|k=EqJ93(%{eYf6u4{1#s@R z&su)pUFd62Eev{XQ0Biq#(FtJ5XKIR$He`4Wdw@g$Lw~z4e!{U>VAE_p|+RDGh$IZ zV4g+1mu9J!0R#Z8*;?2WeVGkfg`GZ64ouro7#q$TA4>+&OhsqQTIPw}QU z$HAcf;Tp7VTo^9qpylGUN&?pQ4P}xr&`UCL=jBQsK07Gk*RfTqkC2@U+C#qaxyb)w z?3`i*f1)ox?P=SZwrx+_wr$(}ZBDy;+O}=mw%yaV&Hep1n{4)NUn-T{g?y}2#J@aPoa$uW^mlKxk0b}`Pci3gfUM=9JcIoz6<1{Q@bzk6DS zb6H;gfxc%ybt%myDXj;q85wf|pov}eu5Q%fJ~SMVA2bo=QY2OrrJDNyyK*wJPD&e; z>4RMt+#0`PkKIACfYamtFulQz|5^Z&_op(Bp00VSofN*M*clBKBwg?M`XUJd{LbIw zqbPSs*iAjBoAKgi4BBl51Xd?g7T)-!dE6Qrh_o(BcJ}oL7OwPLu9XSRDV!oLvd{Tf zd|T$+RqEm{fiRoxGWb)A=x1-I;P^SUc7#=s0T&(tO8qKUUF|W6%Vy<2#h?N7`nV_5 zuw7<@u-w?6dHx$?{FoCN=oE(hHKp*DY2IRqL%4K`IQvan_jVWvQy-UlC?BC`ALllx z$U9jColIDd%wzfPp8;>2j1Tyc$geeKq=Fc?S7S;e9nSIRLMaDnsU8D&Vv8kvCDa&I zkxXJ41-1)QEH?L3G>xo!q(bD@ph zy^UJec}Q?-nj&lg#yUn(ZBuKewW5*Z<+35Q@W6s!-&RcHz7nO)N)5hkOKkOT@2y|r zYxrDAj;fB0+%bbgl4{P>l80}Fed(HIPSmnh1vDlNOS^KUA>p4Wmc)QPNt}5*>71_& z3(LNS04h^kebz{D+Ly7L`8&V{NHr?(x7D`s8rP>~bdO;lPYjf+Oy`{>5HF1#GPd!O z1d&p>PmV=%!rEP?GBAahi|Q7u^_yDGpHIh?2)yl121l&j2TtX5x9#3yKMuSlslc6Y z^z^eeTpUp?j1R|P7y;|Houz0XMQ)RECY`%mOl^Z1fu=RfG_oc& zw;}gAYO^`?oPtMX!M|AFcda&wDk>&X{#t~n`$E?OI?HY0cWlMf#DBRX?53)SG}Ec! zmo5q7yal?>gvOCDoXQs&w zV_!>s$9xW_4&zqEDQ$Rsx>fMB>$6TpY-7t76xeo)^Z;y9mvyhuv#W_xWm5S{j#lGx zi|zz?mM&Z;Rs?^$G%pX_$S$eZRhuiUTFP}@d74UeF|2y%=D@N`XmxGM{ z$!%q1{RXrbvG;u?ABt6{*~X!ve?08Bj8A! zP0SSSxH#WN+w!l9RW4!cLX9_UV>}P-wEL~D;$u@m9Yu3&8GiF?D93D|Q9dI2O8tj5i=R z+#qCdi|u7Qwhy&$$b@~2=ucHaeb9*R%%sOz7Dt7-O+j6Y4yU+Ue4Yuhr^&u;K(_J` zK={G(@)>L0O6Gy}=*)Rmf*tF8e}GWd3bfgWVNZ#j4?U!Qr0P8}zjJn^68@**qIBzO z6{BdU)1fM;^h?mZlvx|wlGY%3Ej%ctX1Miem=)KqEDbuMWnpv1fB2|EXr}&^b7<0^ zL^*8NayJ|F{nAgp7~)hVi0_p;+@s)VuPeII$>e)Qcedh&FL)mI<0HpBk zb+;a*1etH|I0KKPdoCQ_ZDj>>+z0;+%%5WFaN7P@N~yTMKjuE z`7*ksV{qsVQ}!!A#4=|Iq^nH5577GO<801d?itj2t#p$nJyr3#Dwg|1AaePb8*;Kn zmB(oqX7$JGk6(aSx1ZqThek9S$&i+DWnEdaig-BZ_Ezk7#~_uap88@(dJ$lyt==e>iBY422kJ;n=t~9y^C0BE;Ro+v+&u-e=2$bCv=~&=v}3 z>>giTsxsv8d*}K9960aZfb-TYS?K6$tXzWPfLD$m&vgt}&nJov9Q)JsTIjvc579PU zbq#;X$6xtcX2%C%I()u$#_f#6k0=Y@bLrLQ>ziKo7LZ=i@V2KcVZ)E)4+nWf#z z$c&n-n(}``{Q09;uvFTVFIF{Ys&$v@^E;Qu z#e|U;g%X-gzH|!W3{Z#gJItupF1wIPR${GKgd39v&N)3`;A)1vbWn)_L2X6G)G+x#6V+tjh&ut&2;vtO|{mG42 zvGBn*!A3_;McPUmEh%*lUq>_zZFI_gUotfa^1(}_S!JHlFVU`425V*)m6IitRfl9h zmW#Vu)6SGXt?Rb{MlA^pfzbPZPz!|wW4(*Tez2^*x_LqvS%1Mpk^?$5wD3G?KgX6#omW= zpkFVUsL`w<7WXRp0;eZ)aKrZt+6Jbj<;EH!fy?X4_J#}_AH${T-TOXorv6J=ulP26 z<)HVwd-- z7*Y2p{){QM=#g|Ng@yb+*p!3!JJ~K-jtcS<@{?ERMXMdXeWqwNCFymnCfy9{3(E^j zK&fmBCvwVyWo@!;SZ4vg_;gtFD7LY^gVmkOe2`(8){QcjZ_obUz|b` zlmrabx3H0v!vcQ$hr_o_kG9V}Cx+NTpe*9`ZKCW>gB4Khh`O7|Hm9_MT=}8Ow?V+A zIV9p4;Ckv~D2(n*z6hD~Vltk)F^q;Mz@3+?UsJecKIr?o-F=-V zzt2s#8B_Aoe`&gX1TVBxIA6`NosZd8(v3XR-jn;(LIm>q<|VEBvAwvm!3akV6fmVm zxtT;^h?mGETrtZ?f69D^|EGJvx53NQIKnL zvnZh{0gQm1yg^}pb}q;I>+L~rUwsO{%LL}e(?5lSr25@NBkGlO>@M;bM;QiKml>w1 zS*?S$td0$Ck%rbrXzl1hiIlHErdCN`cB#~ZC4AH%oa3mR{4^<4+QI5cZj7%B>tKG< zvatq|w9&>o_=#xi>(%Am!A+<(Sz%x$@e=88oUrtdK@;`vG~{J=-TfCXG-0EI($vgU zBUP#T3j8Z<=N|@#L}5UMw$}<7W!oKOqc~K z>=FmCB$_W}$DiSpv8yli{C2AY4;$&FA0lXoD4pIF!{gU6qvY1zea2HO)Qq>C4fTq# zo_~C*f=H;pBlO#;t)UsTb6koj1w3}YXy6nj=bEv2lvzW?*EvvPt@rbjDr$PDO1?@W zMDP9ll2;|7s6A+{rZc?(Z}a9;5zx>Q0i?i`z#S+7BK^TCJ>CjH?pnjTV_MjZPycm1 zRezgZhG30}Nnj+0>u5S?;wbySmyv+gXpimmSyI9?+FDB4n31MYcrnUMV+AX9c-Z0$ zcsXbjWNfbu0dOV1KCUGhQevR0y{SsUty9f|LseweXntLn++;C*~+Dyuky(!1<(9>Yt{_tPvS!exPQZMzmbst$B zjW*_I`I>}p_{Xo=TcY^#NG;EqO=?WZsrKj9dqO|<6^vN(t7`-|9IxY5wi#G#*}mPP znUzF%z~*LiN8#*)AvGe%;lE!*9avDs{V|LtXyZ_7&%eNVdnV)~#R2LY_PY$4`K;yz zy(68b@JfU0o>-ICkF3Np0_l-Dm`9m>r$Ak)Ad@nV&0kwl6_g5RLBJBYxx=%h}?h3C%cXx15Es zj84W^!DHd-sp_{?4jud9GqN!x+my^FG%C9GNiHCPzA&SRZ~i>~t0;43l9ivTqpK*I zNOIaDC4rQpcy9rT+5}iH*TRB^KuBhNZuVa#*mG?$ezKHHZDL zLpj1PU$BpEDJpn_*?MBXI|}YWFmMiU+cIIIZAfzL5b^b5E^vxqU$q|;nk_XWiXP@Vw|-v7=5?;SJkNe)m<< zvwY6*a$!6_;kYF5ZM7ML?Q4g^*hEV?R(ZbAZ16a_+vDt^s0L!E`w*+vViE(Vh3gaU z(K4ye22Z62^_j7shz|`-6APlEI+UGeBupdRL->2BBf`gbF^!+t6R~22G-fcM8A!k zqsAed53zW#JYragMv%g#;opCP(Tz`9%>_iM3J!bC8lqeM<7Xv+i{xdZ?spEyWQON8 zym=CCIEzsAw3So0oYSwNAAirB>HVEZ*mB#5@23&WdT~tN(%Gc2NX;RiSh)O*QR#aF zwLj{&e>~aIWg^2`XR70K4d~oJ83}yfS-u%R^$J$B;BPui6i#C5laB=>qu<*9^J4jF z%E6n@QE||`%v>g;Z3b^W!L1T4jU#I+qzc+4H#(<}nYG`kcv9WN)ZXFTC1$L=C_2(4 z#(t(EhDsm8PCjKJL9U}LL+(&@(7vzAvo8&+WzPB9Qaen!9ce913bYIBGDW2fTaRcD ztP>}tcy{5Fpff`62@TU zquWYQs!$SG6`Y?qVGCPZhu8H>L?h6|4nJ`lJ4--S+;uW-qxxN?reYLh+YT%umnf_S z57(!EPrkOzNiWid zKWJ-@?gdu{9Z*V_EIKG#M7MTaD(An5D4TeH?*M$F%37SE+n8+AU=fS5WT_Fhc@n@iuKnW*_+;R!g|l z8w{)}P38oF=2%3LF1h&NX)Xm@!OY5ORg(gwwm%Vo$M{2~#G;10pe|>tP@t)fScM0fX?OO>2}*K~DVH;({r7n+`lCt>Gp;^}srwe~`SpD-j{-)kcr ze77=>`;_reOxyIr8>XQ+TmvGTq&W=9Z8WD=ukjy(tkiS#viw(AyWc-g^B>7&~b~f zCwX~b+GFlNc|p2$Ax-7{Jk@mnVnM)Jge2qqpzggo`-8UCd~9%Ov( zS~|bbNUL0^C)XmAgDRA3DbDkg4UyM+7h2cz#5P7mNcpA01Xhq&B(slYaO?>M!^WyJ zj*P=^dWN8i1h160DQV&5We_D!EgYmykeB!i&rgL%zH%528HyyA20b3SF$w_BywDdz zIqeW`-5E_-Yx^-6vI6dw|_3@UFyx*{{BEf#A2IU zOk726YrMWNkFjL-Nnjbv|JRN5(j*;uo_Rs4cDJapX1{(SRuk?;NiDrAc zB~NW=UyUoEY!X9S%0@@WDFVP4vSg;vrn{SsLC0W*4pA2O9w%3~aq_`Cl8qoicO*r) zcYD9>9pE#C{~fW%%Nmk7-o|-_R+&zWNd$u=NySBV=elxiQj90}N-fG*)T&&r1TJw~ zXi^lcq!GdLxDl8<%kIR8aD5lJGb^``eA_a1hz$Xh6*x8i6gal>yaqVPf<~H1Nyc%f zz&5bRI-~1o&eG<~vjNL99b#H*tOoLm76?i>b1*q5P8!E^sc6w?Uya|f}J4|QMtj8`;hiKs#hz-+l8O|G`=vn9IU!v*%(&<> zn^$UeQ5#d*Xg05Z5w*;CnV~^d7?IW3_5?w7%N|f9o0$oBrFhma=Yk)&T4P@mHqZV= zQ@CG(PJ#BHz>C4nbJ1Xf+1{WyK^mtcysVGEgmjSo$4Bfg&AqU8&T4y;*T8a>PxnNi zdu`KqNfQN#-G2KOLv1T!{I8$>i8geIacD!*#FP;af}<#w$|#bWq_+Plt?2^D>d5>< zYGD;!5~L(~`1jcDv0eUnD4!={S-%P4=4YfCScsGG~wBTMs3+eVKi^t@5e@ zZv2ch?`r@L&6LMd7{P7l>-($Y`+dX@CD)#Ak|syu;i|HyU>hT1BNS}l@fP0u0yQA~ zjSttayD!K(VczFH;`|tQa~3FHAwtfnX(rdu3SG2?hO}O{wzdpB?QkPwex07$9bIo( zt`emLcJ{FTSjUyWl67y`^-7o+zwp;P`O8*hoXIG&@WvK5d(o=QTB2*_NaA64~qLohtFB)e$)4x`&K>vf=0WIPHI>Nm+43~@gLloem(z&^vC*O5$c_DA%-v|%EVF5ZyJ~1@ zetC}nfY64(2HOVT#+j=thFjj5b{6<&Z)s`i+SEkaF8dvRBQED^VgWD4A6Nf`mKceAxWv+Z0%~ep8b-nD?@Jc?HaSa*`P<8;vq*$qv z!io4S$)?6{YE&~{a7Hq!IP-cJk#5?JgIhU$QjkItusQJAXmWpx{}|S2v3m&8taYBS zI{tRDE~vIe!Z!vswP*p&f2+Gppa7*HAQZdt6uA2SnsDwmB-i`KH!5O@_F!%)=qjiZ&TIy>8s;J?WF0w* z^{rqI^YCwG=8AL-6-neb(!h-{u)3m?5=`3=H_^! zg8$d<+p_&QG~;`Dk7(QR*en~jjEl=of3fAhL+EpjHvrs!DsN!o=?8v%K8Mr61RVyr zOHWBS*xx8bSJVXzUBm&981PG>MHZtN$wqFm6X$m$vvX{;UhH1c{#_%5Vgv&F2IVCe2BL-wn!7;hx;nS&Id^qXWSnxT}0=UhD@HsHwelJTmhqXZ= z)&m|VDhM3xS)AH9FV9)Hf&9Lx_)akTzSta*JICHbP1o#3I37Ugm(UM|oqm#hFt(eZ z*WXqaRj>)N1#)%J+AG|gjIC|cZr2mtG12(m#`ihvz;*4+ecFtKtkZkZ(%OvOR_nj$ z>HwaRW6seUu#GC zY3^AUk&O1joEN|&=lQ@TJUm>2CZiCEmqV_}08>%fZ(TG$$cKHTD?d zJzdC?+ol_Wx?Aq0GKv05O7^|g!0TB$}oxJo1vM)FfHcu%n}>xX_~XLU$;g|(VK0!=_obG z?l$ZjARF-YoA?)0{#>!vb*X!LjKc$kPrdCbMeO)Oy{_NbG9qfBayZWSuLLyS9a^?G z{QwWkL4RNkC&TBMF$ygd_mmZ%?|vcw1{Wv!~v^J zvut0RMA5wV>ALVpm2nhG;Oo9lLO%9VEdBMpPfC1FYQAhxIIG%zta+h2az10;x_Sa6 zbYqEhBr|K8sCmIR)J5VgQN_h`qo}GHe?H7wXB{}_zVx1X&7Nq`v~zd$+`kKRZ{a=s zv|j7l;h`bCD?X@v4t}t_Cb=`NPU)-}v-jG0hP?-vV)Ed{>_J$7SP52~)e)mPI-Oe&`@6K^*@}JGA^PdGUKr|E3bYbo)SUwUA ztrThB2Cvlx2B&~Pwc_#b2A#GZ5AVC0Y`I`h&|OEr{z8_T}e9WWkv z5~*bJLxE>-CFN!Js+VNyD`+5W4PbWl#s6ZpP-tmPs>k57M zP?0VY(CWpHF;xHi#3AB9xb0qzF@OBCaOU_>>uFx~W_)R4X3d(6n?Nck2~1xM@=Wa9 z`W*KkN<=g_W9BZ%^~^v6XTFmB6W|7MSw)AB->8V2*j(LB(NxXf>V1FJAy3fiTz=c! z_bSgWR0F;Kb?>_|G;rV2xY&iwhUsyM{^PzwKlSA?*g+nqp3p*CcY>=^uwMQbUo^Lt@bQDu9ef?pY0kb@<8JD(wwZR@h5aZ^d4NoYfTQD+1Ol-J+Bpm>vC) z>zcdBo`V$4=KebwV^|qe$yS;R%a_S|*1m*E1FjbhP-(-Ce`P-y^;9WWpoIhC;To?Y zED)0_zU8HSO~=sK0Wdb~w`su`W1%(hO|BkW8!W$f%~=0t$=Qv7p_B{JEFQtNEUQy1MkXgI2>ZQ5YoA6I zQ7VX2ID;aJZ$;ZLhsw~{PR5y9Xc)h)rIJHJ?IE597cYp}4jhEDOC^$)$?W}M3(Lvp zN$HW;MB7uKOOkt_E1j9UXP%RTy-M$83&S|prJg~umDV7ImfvJv+0*>3Oj2>;aNL-X zUnr3*rmvbm_^StPG#}e4Hr~j^M6?1Wl(b2JzV%E0;nJt){ z`yb|M*`8_wF~BZ7uPZ<<#WzBG9_Xr>ub!v)gI`)mOLbL1lBp`Jm0^umv=g%|u|@w6 zj_wPRBlE5|0STlIX5Lk6EqjT==>+v_gm|bBy9~^y>z&pghr7iY57whnvXw&a_Q(IM zs0x6P2f6gTfsIp7T0VvOxRc3g8A{hO+v{+rSWn?D6CjTkVRE{dzPh-|M9H9uVa%hs z>=0n2orlFK*vv+CMSC}Fw02I(bA7#<(mv5OhNh@CCf>;|O`y2ewU{j(?UJCP9nLz< zC%QbY%%DkSt+*F`nNp@lCXEJ;cpA0D5neN(bpH;nqbu(_}~66R_WEZv$TM zH;ywuaM37*=7V+TOA`OXM6k&>(fI4r-peH4Q?}^Ft*hPTkbC_!E0dZ&Y7@eIT|;{{ zjw`h|{D^GkBW*P#=c2!R^6@;_=dFsZm7y9>o=8(b?b4=s&H+87mOhAqKz?6oP%j%P z0EQZ=sgt7Wvh}3~F^BJXO%3TEJ8xv<6uPrRxg{!^lK0jCUzN&Zo$-QHCe`$%(q1-_ zO4|sZN5f8UswZbvE??6u23DqmvMVm1LIufuUQLV<`mDE&k#`;By3~sC0xbiJx7bcwW=pFVG?Z*`yYO(0x2JvzgOpc>gmV-UW&uley#kOp-VVe+GOLW z)G@w>FT6 z9&xl8K9uIwDm$|W*4u`(!daP&n++;y6?+xUFcY5`@yOikIdKEy6a&uLJ1+ciujCo&$ilJ9mI}G1U zjBSa(yujc2Iy6xV=hnPgTyO~~_8+5mnNI4{g_@>=Ip|!f_ZO+GxXbb;Th3G;G(oVH zQOVOZSjwicI{kqV9k(m^%K=kfgv&*iBl#aDM@9M*tB{|xcoHj(I5~A(1VC7~#U;49 z4w!h-GgT)qz+1#zNG`)$l&Nyik-lViN=_Cf4nZGM$wN*&hn13Ic^uMdsjtYbz$Sy% zC`U-rEXbugHBy^8EiNKmuo9Hjn(b|TC@j;kWGnf-6=6h6$?Y(P*_imBvvz?pH6mS_ zih7oTd?A8f;*@KM`iRw36KI*A)d^A}38_M!F6{+dulObN-&ADTDY+WN4aMKcut=RK z0c)fw5avu1Lbj=1Ap|~NRAElUthnxnQT$KXAsNWu@#w4O@CNzEN}>zIsg#`cVqkEiGrj$j0XpWYcVWmdYTp6{AO3K^}Xu0WM(UsXm_gchuGJOotbVqDO z7FJYtvX>gjA#~((U*mxw)L^0t z+Fft8>7HgTCP0AUH-;#9A(=WQ@0KL4fqDp3U?eLX$42~T4e=fm^Z5-kF-R~V13|K4vE+HSrk2$4#n(+w5!DPuO#lO|5(uyB~ zD!(NZO@viWkY@a==`mR0_gmDtz^CS^!DE?Xvk1`jh5(=in+SL?Oal6i{;Xk^zXd9lN(X46A^z#Ji?%ThmpbW8p)GlaNiPMr zmfLMrOde9st4nG5%k^{3QmG70T1)y0%2%)GfY2OKiq%!6OP!t=hh>2lRol_h|Fxx} z&>>L~n>i~*VkGJ`EvPlQn=Pg+7Ba>*D(1|Yn_|5K(E>I%HGkUwCDcjMSM(T#g{?9b zc}mqNr3~e|)=*>#hc}rhR2zkchY_+9VqXwrN(j{8tG50x*P=?9@U}Mr=O9{zj49a_ zyp9r|qADU*kx5me%fYvv)Tu3C6eAGnMzIQ6BsF8L=z%heXJ1%5G0&FA`)&X8lVE0( zpYmd-nGPTbJ)iCU%iL(};NifzE32*MS6E~3>Dk7i?c_5*s`d;myQZv=GKVn>AxN3) zGMgGozzv}};g7Zxoz<92;i{UZSZ1HfXm+{zMb!8{ug1QR(&S{Nc0Q3Vt}=<*rSSsG zuCdIlQ10u4>T`zbMtZ@vL8jdJsE|vR+Fm?tBnnXd82H$*mcq1H*U)9AZ_X$mzd&5= zu>*#_;9L3Kb?x4`?cPE5CP0I%BCW0LOHTDH%fevun@~F8pUK=Hw0htVmt5TyBhTV_ zPW&=iHMO08+X$jr?pe&v9}E=glLT~1cB^(vZqr@=bsvX*#qiAG?JPdLaJ6kiyq;&L z)W_8xZ#hd|zWaN&8hcsAxTIyxCTx@a#Q@F$K&QA7fbam!T>lS7TsMBgE{G9H^w}pQ z<&+roUWPO{u`qftA2I0(ER3%(Iie0u^X8eYn>EP_y0R_Xd-#cycPX|>4Hb6h;ulW3 zMoD8MD*^{inC?lrORq6`QtI;Px9Cp#FPHy(OB83;TkwLK%oyDrOOEv{8+Zo}c|hnd zpQiZAdG+R3UN(9=yI~(?c`qYH1yvcPV~Lq6PfKs3ycS#Q)8!>r`>bPzePi}PBSPm3 zF}QfK1(^D(ZY2dVJC#b_4n>Hq+q!li*% zhCRKwpgv~-vfsD(gCv7+gJ>V11{w&Ch_^qOLSMj*hFZ;0;no=_>mRfQ$Lb$QQP;aG8Y&LsADA_8Wv+i&3V0|v^PIg?usc-7- z`@11lmLLEGK)$S5I@Qa_+sc1xQ3f{46fbK|x3lSLBli&fkOOeu!!HuF|77G-+f}VaQ#_g`!{6FEx^oP=!T6dqa&wJjg3K@23W@MxM6xf zW(Vo}iG65S)b!vv!LZ%gY5!!}=-Cj>ViMv<)n8hBl&v$#C)%K2AX?853CZV)VRnB~ z)|7L6Zebi0DhO1Z8b7^FO}P8=Dh48}jxR(tuNnq=17gP23eR#dvYR}%yu?fgp|fzT z4*qw!?tgK!;oT8)ahVaIiTH>qgG|_WvuS#JS&m8})8u11&yO8SC?RqxM+UM;#2HJW zTqPd=K(_U@_Etaj6<<9cte&cK>21#XEkxql!<%OxNsVW`<1X|60wj@Vaa}J+PQ5BF zpjx!C3Ap|duzR0hA|-xJTj6}M1@D3M#k#5g$Mg@q-l6X_MaV`(_V}G_+-LrtN;zN5 zunDU48)|NmX}WGGa1f7H!^+QJ;P}GFj4M|J5;m54I6z+S<#k4}UL#oo`Jd%YfKF?^ zhq;}2`_hyirwWnopqIqH??rFv11 zq+LVytJyM(zFF7yox2fVAmNl({?Hsa2^uqeIlnU#G1(L8F`!Tj6=fmBcZ=E0~VgIjD1j$_pFM4b`6AhWK+lS8uy2cF6l!CGI4i3{nJqo zrpzh_x_B<`FWk@?n=B;+YbMK%nt+y8({k;Q!}d{bm7R&0iOU=+Tm^&&RbRZp?-y*h zYy|h}^D8kIec+y&f| z-I!jJ`iwAqxo*MkFXIG^rHV`rV+o2AZJ%MF!jWYE0&;FK{~+?>aNnpS;=Ys@?`ACh z13|JE2M65$z9f)>VYMGaFvk zC`omV(EOjpvn17>xD)l?8PoA^KIab%^j_sJKz2I+b8g<4OL~{VSj2NVzkkRAej&CB z=u-oYPjF$hXa!*kRQ_d}P!4$3tYr1sXv z@hImMuI<*PMHDG1rScfhhNeRj*Ol^{kyH=$2Zu4}36X0@weYG<&}-4HUuHzUG>0R9 z*yX&e%PBcGp$P>skA&oFn94?H`fCI5)`u7Z@T(0gcs(iZC53Yxn&r3rEd5wci z77=6O*mwf?d>2@butKaRto&sh8c2r_Em48~Gu!frn3C}tq99nfyd^>2o)R&lp3kr|zDP(PysbQtTFMGf#mp+xfoDTs)aPVpODUKvn-@H|!mDP$PH$yM0TDF##^k&_Gk!mYPGlU2aeD#m#mr>}k zs8P9!=tqnV4HNg|Db<^RVQDQ-MDR6ysiP`rj%-6QEo`azApeQ6cu-PX8;4`N^RS~_ zwePAt)YPNh0_Aq+_1qfUHD}lkR0i_J?BNnh{!o9=O9x-DLBCI2TApymdDubqayc9w zzR#UbCffJF@s$dp$vBO#EQhDR{0-3C3THNwoMDQmQNX&bV)DELc3g`sj@?ZP_l*H*&Sq8XR zp3!u+P#P^q2J?Etppe%CNYp(@KdVNO_i(&fNr@KOK+JMj`Ff4)YN?hSi#`g6BFW)- zW9<-`ZO2(0tVnykWBuBhYvq0*Je@Sd#*rOGtG0RP!5WpKaxLd1>NOfiXv91TVlfPt znw->-Ym$+TT;!m>+`c@pm8eDglE-MI7*gT#rW$_rsdHec_a}o_Iz{=)a1-LJe)PCx z&q0foG$-9$p#p#H(}!Nxca_zew+PMrd&0`K{|l#q>~B-%PWq0l-9CmZ5E zs=+40XZ>qMm!?(GMDKWwdXn8KT`r2pV*LVbBQ=UXurnhYFvtailWDrJSHBM>T$&oM)Yh2>0ec;=Y8%-k zSEA=6N*{=>N%rocEyY9U*B-^o(OHR`pv*M`wxCw8xY=fM0)a?IrGcX^xMouX}(nm{SyZz1|zElr3Gd!#Qk-SBbe1q+zN&+&}>W#>1LfTRc7?ij-k_g3T5KJN5Ph zu1WiH{IZdk`KX+)YMyn47lSq1DF&}m2zb%2ol0(O@e~311q$;2msHI9KS{;PDWc*a zqhNR4@-0XbAdB$e&df}ZDJQBR3jeo@p&AG#JnR3-IR2l!W48aDah$TE20{bEmI9^@ zk^xYKa>s5fO9kJWT@Pxh4IY&U{5jI+=l6Xkr&n^mi3`DExz5m!&`EDV zHqjY2J!3Y0t5S`Mh~%b9`MgLhud@eFdt&#y9VML2eyZIIKlWmxcZ=)_zDixprI@*4 z?Qw?3CpSBnGYc2uR8qi_G^_e7fg}mw(KOfh;ou_h*ktm#a|Ut32h_JK3rR=+aRh!e z7dx}7A(wM^M!G&AV5-$GcxlU3*tQLVQE?wfjTTWy`zPu;%s-0Rb4_{0LmFN~U-hxV zHJ>NBn*IHpTHNu>?F%BU_nwj`G3Txcn&Y-Hbt}<#KS;xTUClhkmPJru%t~6$iWlS? zb6nm5FMgZ$J`Yy3c7Go<{%3j}>I7tLFC(Iy<|U{}{cBLHD--$IkFBkFkX2p`LSUBR zI{$#ZPocrE#E2O5Ol&Puu#DcKohr0S2fZ#qFZB5%J_Z*MwEfk+&;F~%%s5x|Z#i=_ z4}`+T5qxdANA46qy43Z(@!whBGcQSGqBQfk-9=XjHILdz!4(0IKFgP9Ft{+#C!@TXG(o*UL7|v*KorT; zMJC0G0;`mi*;L579xza0whaNFr%A{<=mZ?ErW6x1+)#Vrn)MZcnJ1A;J-wSDB2Mbgl*XQbkKkeh(YS z=f!3c7d(PJ!jyCWgOX9!i!Z1qxS7u8H}o8BF`^OB$PyZchS66}OoW?c^-T)cRNn~0;3XEj$tf`bqtCmUWQJl z&l3@iKvs=I3IA(usQ7gBQ#%|C+#Hls%C5#^7{O~>WYxFJCJh^8EV|w6)MCx1hst%fs=(TL?qwx96NJI z;`n=)1s7v3OxV+{aI3lkktdXZ)jLozv=Zd++wPpXD3&cEpN5yV6YA9&voAPUYq?W+ z_jh&sdr1iOX(c@#_hG4{(1n@r1IQ8rh&Yn6l%56O0xIej>fA@hJyjsE@Hc7Y#Xs0a zeR?qNjw%{PDh}F1OisVcw7QCCSH(`dp->4kwdX@NmhqI;=x%GO0!drf`1?UaE!nZk zW1|~;d}>pz5QHbT&8_?0sjLmwF!Rc0bgH@$Rq|B zH&6uQixI=A1qVVA)#bTKfBy*5+*E*996$XzaIFlF^ zf`JZ>hc`ydmeA>-;$X59S~+DB@_l-|m8c@LXnQqt4M^G!A$d^zMt2KE+lPjZtZE>! zs|OvuT!n4($dR@jLLrP`*$sS(kjRn8taMlUxwuGrR4?B7TdOI1h86Q_ zPXt)Ych@O$qCA(%Az8P z)rAS8uyv^iOU#8j9OkjfcDD-=XtWfKKV<5rEX-pNyuu-e714Wdck*e57 zpK+;8%KziA56{$k_ucWq`Cn}-oMu@%Jj^X6I=s3q-2J-iPlP55c=E{{e)dVqLTaMA zxF4L>Nt?j%BYMjQTyLm3qR^G=KReScJO=N>Dcd1?l{Ca3UK#39f>_{HnbnxKh>SmQ zd#;sG9hz1Kl3=Y=LhcSo+fF0`F|W4zL8;Gz1)|OgmA#5ja&6dKyx6~gOF^ykw_Sx3 zmSQ!>klf1#4HN{^T(cO2_ccZ8rCVc!AiD~4(-HvOgJE05$McDOGmz*x3^WXX=sQ*y ze&dK>)f%&D>gsJmhh>;YCv0-@HmLwUusdXYvXH^q0Yz)g+vf z7N|ZX@y^^4K7WGQmP6xkB!mpxU{z)bf_KYwwRjmmgxAq^Un9N26Sr6QKp;%Sco5o@ z|IGo?A9=m@;J7i)K6unFvr=wzIA_e#XeO&4CRcWU_v0-n>_1h@ZU40aqqvAM#+?k! zZ}L_c3S{FcZrFwbHK#l$r$DW|+;FTVx;tiip$wQfvtg&`#&w>ND5uVkPrVy&+_Egb$4S#nh7h@4N}o9MIR zoj==QlZRdqrYj*$O736&%FobQx}ZTnD_{XbB*ib1h-2|tFLOV8cGiv(cIr$g6KcdY zW5;p#o9KE`$vSrret(vmFqfb^{}}Y&jsAHG9>+A>zD;60!db{zy3&VS~}K2^o39}_m_g-X z40XV1B9z&6Ezj6`Zogg=;dP#b#H%2XlHP=8=Wck6HKF0Wu=_r%dC|$aa3$hCboAR` zN~iizj_mFpjEB|qYFuy>s=)S*5KB6`uQ1`=pgcrxzjw5gs@Y(OZ}~U{sx3-#A-B5j zP36jz>w>i|b{j5j-tU8@+J_?qyIHHhIrZ0Dd{dP%F_ZG2*jAqN<+a+H%|%?`HFw$w z3(=^U5igRK8+ST8%q)AFZ7m@;WPSfKM_?PNw&^HSeT26LYml!ueBcW=v)b+xhs_ktvRbBNg;{bck_o1GsS zi;SVT6-6AGz`e<}Sqh-ySdu zlk4FIGN!*@fgjiFODs*X7W$Oq`ZnLJE8fo@o?+FAZ{EnP*>B;U>gp&10)D6!FOltU z&$qKh*I5MhFAp0}S?%zFOdB^+)^^823Q7llrv)w)jz=YTVNf06_qNM_oZ2Ju|Ezke;yv7v~nxd$;SnF>O!N zTh}gh1AJbt)5k7FqSvvQP?C=yn;g4YlCyoiUM`>OGiv+n zP|=m?$16{wQ^+ZK8KRHEyoe*Zu2YqVYAh* zGxqu}O6=A167zWRS|DAPbDBC7_)TXA$+nvZ@xT|6CBrjCTJ>%2m%~E~3adgeeB5Jd zW=eh}xGEv6AQl40OYSNrUQ|sLR+zJ(JEOp0FekgEh8`|Ik ztwBFxdF;6hnHl#?u94bC;W4_nE1rR8^u4%gvLu^%y^G>K`C`lQKMMifL5|xlT)8TP zy-GOe0-ZvyJo2>p8jYg;r}2D8Nvq{UXZ-ArpA^(P9TtGp@B3zD`h4c8Q|GUyo>fZO zQJX128Z4dRnRY0Ih|L>r2cyhTY293p7&>(Sx>DnQ8cgP^X4q}BXWfVE~22Xnosg%ZZkG3?A#UB35)F>Hl;dU|@qnef5$ACLwq2~Kja*!vn z9{_i8ax4N!P#xm&s*VZ{5R9OA|1iQ9;G5!V8CJw0OW#c-)f>8zC|J2~Wl7_3h%cZd zzwjRo&&&`t$NOMC8=F1^p+)#qbj84oT}PEPUZ)=XtM@1;k&alZgZP^1}79u2Aheze&I~3EmI`&#`cL;vP|xFiPlRbHKIA~I->zO9S%r=neZ1yIUgB)&52^JgA4kba`z8jO~=GBNkmJ7I|n`?nhi@9}DJOqy*h$51@W9qhQC>Bc(+-$mP( z@Xjty-6y)mcFH&J8}&b}{aG-cYQIl1=OSrR>EX=97`gsK+!-8e_x%ZJq)h>9r{Amv z%{F(GmV7&rVOfLiv|jA zEtfL{Z~;0|C6bfsd8k7H}|>u~B_`{-Q*d zzJa6uXPp@}0bhyv(>cqEU^%3rPN8?DT{fD7#eYsWfWBjeZul`7-JLsC#B5|=f%4Lw z;`>g!`>}Ut{`>XBwI;Q-t4#~`;jfu!wRY}K4sA(MnMyzQIl6NwR}1^X#g{{Ja8*4V z%@sXOtjv*uk;vPf&_TrHBuFzy1lBx)>W@)x_Y<08grZ*p1=#}G`L&s~$LqdAZ`Z6J z_@AGA01)Zajn~(o>brg2&^mu=4_Az@Fq_i)2uJpEco|-O=!GZ`jzSHOVar;tO zJ<-?YgP3=n`s&yP4qx<6C` zQX19UqbgKO$ik^-fn9He+k>G??spaXO`u@muk~3_z3i?>)B$U_RPb#7*JD#&6;SfE z<@L}UWqEGp)nJde6M&eSgP9R?UNQeYvVh}oVavMTJE13+up*%8W3hJ5+EZj&y66cU zBp*Ar1NqzA%gJwiNUQb&RSzGrA3E1u0=N{H5Br@N+2@Oq&l#J?t8w(B&R<2Xvn#PB z+9edg#M4@f&RmJ3Mfp=%AzoeQMrVgl#~?n}T5rnIbMyUT2!Gds19MAMa==;d(vSgx z^0juSz?##cSHSdR4W{hqWazIowlN?a!cX?5;L|&So-dRSCjKSTTqsxbdC+lRomizZ zith*6h-9JpVj{80O@qZ0$1tkSbjtl4vV!cbNf`SLBs1xva6Hj&(7mEjM%ebOU~1p` zZBf#!vQ*4&Egp1zcI_dr%IVmRdfIg+98E9D<1HnPR8Q=&gL~=QTI~=Scm^QbQ~`ZO z3vWF9s`r?b@t@l<+;*MnR5)u%-M*+{@Jw*E z!FEDk^Gcrj8^780wIc=;c!!LrxUX&Vqa#L1ve>rzW=&MV<1QF%;}#?G66XNbxPyLi_CstqtC(}eYK%uY zHKyLW6#85F;hsJZlpQgS4H@vkgAolHw(=ew8Jq>lMMdqpiheX#8o>PYjhIRu%K-7s zm`ZnC>AXr~Nj{Us{K=LiXqY07X}tX*v0KJgSf1{!SwL?CB`ZiJi6*f_d1-Djp&*l@ zW2o?tUlHt}`f7~vn7W%+&X)4ui}f)>ODOG-LUaH88ZazPGl;L8G@he5fk+$IFx|4Np-D`e;e|lqU9x6yzt2SVij>NR zZ*}B!lZUxHr63S9Lhv~#RFhy0Huhx|M@ZRU;G%>bZ2gQ)qai-=2%pmJhWmp_3@b`l zsQvB|??=jn(c#xmXM6{340%B5FhjSel#+05X;N!ODmk6D6$qfv_CM*P_LOZW$nW+`rL?b48gh}G-W#1QU*+d^Vdjzuofl@>0-$t&M$h=M0BK$I%kg0$H0 z6U>1|DiU`Y*Z^p-!#y|O!dX=korzpTey>Z^9ohVy2v`@Y9}1DQHzcALpY5*<$oH%e z8flovO2G%=gis*w_rrRWXUx>KL-~g*d>4-GO%v9$*s_hQ%@~7h%c3&aF$&wd1HLeh zZv)-GMN25dc-Du_U()}FN)vxB9CKRrLf<}-ySX6jk$X*Fog!-ZO=`rx8*&%zd zEfe4Td9s*?C&AQy-!q$wnrmSd{7rrhx6Zgtu^Q(M85W`Q|@Ni z|HW>(%M4)B=}u#Gd^>G+6r!grB^UfK>; zKVLab`*r`*VTkc9LlQV~i z9PR7pWb-h;`u5kHICSC$>57qO{b0LMSmf?KT|l>U(jb@wmxb7QGAy$7{w^rJ^Wvwr zN*P0Ek^ibV#2VR5h3p-Jk3nPn8xMImPx06NB^}6$0X+68J9YKYZ!Rf$ovJvf38XH2 z*z5l1quf*_+(z~HEW6i=bdatl+6a}uCIA;-(_l^Nv1GUUw2JuL0qP)OngkW;#=3C9 zZ)t<|{FCRUx-)Bxk~4!>SY3Y}DxeM2HMO|i$c;-+**)r9@C#dtSLTowh1Wvn$L+jU7y{~w z3Z|g5Pl#-k>Ieu>s}lJ?yF0N zDA)6UX@7DhgVFcNkwSx7u zmHY$meBx$rr=OVO9=CunzK7!Pv*w%^fb9sMUWL=Q=iZvNXCLvsy0vmEd z#t249n>R^X@-Cgn_s6^+24gA$Hme!Ba6b*}AuSY`5(p9EqDVw(<(Vf1FM(gIwf1y% zZkz6h)k1zwdD=^wz9oW^q%E=$fk0a~7X0oLccSSEc5}qijaM>?Ddzm21V)u~{XNGv z^CG^{)VL!1I-(h8mVCbhIQ2kW5!S`}s_h^MF7BrJ=#eq11$VVZn_|j?CRdSs#!W`h z^sx}G?}G;GT&ozrLFIW)`G5-ps-!58V@i2n3>1)FVUTUk%CxvPx*ap==9i0W|6S|n zFr+vvj23N+P3ge*5Nd?Vu!Dv14ZAHNQ8p3)#kVy@b#|6M2Cu>#c86Lf+k2&uMvDyJ$71s%dfCs$_Rb%z$!oBNg7n7)QJwAd|3OOaW%7&bjypop7O9 zfW%P@SGW0`oLzvW2AEe;r&7*IFwO%n|MWkOplVM&NFIGW-Y&v67OBOhe9%0Ze&R~7 zASfoT)Y>-~q@f&k7GQV4Rqg|CM=Fxr0}8H5z!n)092CLEOzcX*>{{^204r z3csbzhVRlH9G?j72;L-Anpw_$gD1g_F)YHjR&PlDi=|_aZze5BJdPjF>D2VsBrQVN z*ElWhA8_5kA`?t9#iT2$WSV<>B%Abcd#2p{IPaYZQ&1Wt`+iImX)@xm(q3<|Fe7FL z*HKQRm4P8pH()|{Pnb+qOix;WQ(S#mYoPh_qB}vOjURbf6s@`7LQ+GN9CM|V^`Gr# z_#mkjyO*69i_bHL+1(t|%YI{ts+;l&01;V32pF{S8_L1APZ|A&O<+VYp|OZxzVbfe zLyX65Kher${w(C#c|_^i)Dk2gQM2YC}Gly06IyZiAm$$7$;&-v<})ntDq>f?TI-2241Xh zqYA>VvjvIl*)Rz&NtdcJE0$nt37!#xKUrn!l_pL6!aS$Q8T*HSrQ{`iJNTXplO?}D zZb9S9ig9tDQh6x)jm?{`q^i;bKV8m`F<_2kJWoN+xvs|iPdi5>4W^N&A(Ak>pl(G<}TZB_@8Y`vGwJrMo;1RK=NnlK)gx< z2{!9W6()hPpc6Cdy#tcDloLv6Lp03ig?Sc&xP>W;C!RZ}-bsXxv|r2+Au@tn2p@9f zR|aBTxVCnrBD3P~Td*5@mP+ph31FRL@}u4=4gQcHXAIzrwN$YThzHx93!S5KsxFPR zAR6H-4drE@v3uBLJYFvO0V(hghhRWF7UETw%3UuN#V(c{T4oUP-HPR&nHM%9Bw@^@ zoy&^4SPIr|t|lg5B&L~)BQ0~Fk3*dOS0$87HgLwt9HmNS z{<#g}z_PgKN@o(9T8GdVmS+BJCjmppWMrLG_v*^-23hPNEjHf1#BOX7)C^r} z{={|uQL9PAf72FBvpw;9S8z;~!AilLnmFJ~kz0Wr>AEqK zEHu2;Gv{!gm|7Fg)rQ+G@&fExG{NwUfyROrlP$T7@enwB_M`7aSAZ!+P74pI5)D8D z&ag=?o!9;E_m`HP3K+SoX*L}x^fIS1PSsB;#_w^Fg}3SFesx=5lVdEQj2Tx|+cQOU zazclTzUetLU5c>hnI|cx+o``}w~t7&ob-4p$VBG&-I}#1!dfR4aGrj;VL{5H$Q}

~wZ#1bU+KT`a~*VXNTNdb^8eAxAcIgj2%rf|4TYAOQEMPzduP-^Yt-x?MD^q@=< z#3uM6YIH8H7KaFKLiZbYG|Ycwxfprbu&h!p#zt99?ww+$z%s!{@c(@%>QXQa;o!BX z(mBAFVq~L2D@Iq{|1s+NP7==%g2HG&PZqf)cYOFs!+H@{Be*uJb1W ziSF00`o?;$^#qr^fGzJfTDqB)e+SOE2&ocT?`{&K8GF!&ml)5~x=!IUX zD!ne=e;syI3x2oD@+R2(B-bHij8`=N-G0bmV0(}nQ}^aVJ(M}HUcVUvP-~l1l1kR0 zbQU~rRp!(3()F^>Jj5##EFmJ@7Mt{QhIITIb_TyK$)A6Mg5ZLK4kee=|KGwE(*QaI z)}qv;)(Fap2;r9?@hdsLA5;O1nK8MB3yk8cto}bB@qYx_eE_r_T;8(3iDMA-0t&)Y z3+FbOYV!XwoGTg63H*E0w<%D5%5N6yZE9Uj5|5y5a1di_qhHnf;9&pXt0*O(gM-lk zod3%;i*p@~s{KX;-)udHEV%v|TR2MCH7_&UEG_uyAJb%_v1k%6pZ=CaCYHIsy<;fi z>nHS?QDnkjC}TB?jmFZUfzH@%piHf)>+NZ~2q|_aUn(g3^I?0ctL>deK6##e>T)n)3c-d%-@ocSc8r94N0IeGAjCdy)h@T<|&?JQKu{@*hjm6|Ew?GNxd@%ahrsC$T4&91Tc zK9ng0A#!kk8)~;HqBMW*WWK=9EOM&q_KF9Y&Peq7T-CG*XQ1*_*0-qweGBP<{g3?3 z=d1ljlU5CQn=oq?r>HgBwfO_2Gl0_4t9TG zJoz7S^6$W+rNodPi2K4G3@8=-#;kmBo%UOsa98Zr*eu}Gr#nqfP|1s@Amf7DY@9gS zKJC0!X;xzv&OlxL$Hyx7wGfX&J4NPo+@5V@Ju~m-P~36~6r=D2vFfo}TM`uaZgNk! zwOB<+3ZGW;u;|?1{>Dl};4gn6#p&O9vG)uWZLiIL;P~)MlDpyd9vERRM$6OUfnXQ} z*6H?x{CU7nU6l-Yf=vyqL3=g_;-^w`JI>t@6&N|5B+LG>T-Y)&=e-4_V%Wsasvg*H z$Tsil{>pLN8bpF5jWjlu%AVqThG=w3u@Ez+*&h_#OF%!a0G}dFv^MyxQ!j%gKm^V9^HL$`Xnb z`SbCWM8wEn6|Vt<(M85o$#j%M>9(ARS$@7}C}I&TD^0iNDG8Y@=-fx?u_+w#52YM= zE*wZ1ai4>{Tc-in9F%`2&6Q!AimQe2Dr(4IW}geS5<+v2D;%X{zq<3#)~2zyEN5q? zAshmUdZ}RT)|UPAU?-UBj@Q4+Fl`k^P9nsIk55`%ew&mTdOf@aT-q4wh`;lKr$1Qn z&ECfUTYkQJ~F@$g5vg`ev*WV0E!(>Vp`1K#;M(Es*HQ{B)eQK3hw6V9Jdlu@5S27XB{ZVCKEh@YpMMx7~cxw9mBv+GLT*|3V&)Pn&gd2q^K7JzR5tOM*r%lw+_N;*e}&?WqQOmE>Pycg zAnUpRg|wc8Nn2@tgZw9`MHg-*wQ6iL)Or%W@&H?IKE0>DE2x2ALCq5fS`ky9Tggp4 zo2KgT&pNI8YbWhru)w{com4s51NJO{^{j09i>SL_WH$Wp*nG;=2J^c9yA9L#0*_S- z76ZQWf7X$IT)lb0{rOr3j&wrk8+yi($l^grv=Un|KExI%*rCD=x2PdgSbws|M+s^^2zoY^Jbf-wA z{F~)-p<=B#E@XmgU|Lvm^@u=aUZ-a)Y`$<9MssqON31Xl<~}2^>sL3AgK|`aSMKo% zU_;`-&nm-`2u-0`z}!t?Vfy7~{oa@|Vcy9Tp_R+QK&XZH=h_{Ch>1hP*tavA-Km8l zfclUR+0yV)0Gj;}nfIpYd8|PQz@HVzq8ebVLzT*d`+NT2qDdna>Jxttm1p$GVNXQl zMf~#&#(T^9R;_H;;4>jo?xiSzgNHn5&(%A;VpKaip_Rt7pvM_sclNsUn~U9uaSq~b z?d*NgmaMaED4o(v`ibYVPE69);LkPNM{vfLj>Wn#7UMlDBUN?xNR35uu#fWZshBzNKTK1hWG}{Y(5YDV0-Sza{03i*fJ z2esR<_Y$XoZ@{UI*2^aa&^(pB_0gm!xcjS}1%LRF7E?BzJE!t5gWP&{uG*Tp*8NZU zNYrjfl5DtGeh;rmgf&MZ{pag?ff-dg*{G%;sEOt6zm(_+9*=Wa<9)6FOx>W&Krf?` zm=WSS(k@RY*b6%CVEnhm^D?4YC!W5}jjd0dfhAP}(zsQaRDx zF7>Tvf*}mnB=&UC7E(0A6_!yIBw~{o_A+CN#5NF>1#Biz%-#mL{#NGNO5Dg|ziaM) z&JK9u;7GvKBR9vWCgTrZ1^;Iplg#l?36{YHR1?f}3v)uUX|XMCO&wRlKFmhs=A=Q^ z0(7FLnIn7)BF9F+&q^~1#o}wp3M!sI+ie~k2$3otLo|NsWd~dQmr}?|98d|#GA#iY zUKj1YSWikeBesR3srBFYm^R2>5Gk)!x0Ifw#ibK%!K*dDGDI>s{+}=TavdqQ>ce@- ziD>K}#Ri~(3dPahmGV8Lnx#wFJ7uKX|0}IaLpYcD?QPW~XgC~fp&2_EI-rk(XdKQ; zthOthcUOX#u8d{>NSx`D;)O_>=Ql=!8R28S>x{tU5E-Be5!Y%hmrWIK!gk1Oj7x19A-=uk`#T@CZXwygoC{ODumMDmTns`mEgM=ua~?*5`E^a`RUlgi zV91utE_E|KGFJpwtEty>Ir8dT=YZA=LmVB0NR+D_IPQrrPjy?p@$C6GCuC()dHda+nxus4zF0*7KdNaHX}7Z_!DELVNU0Ya91;1A454U8hyy z7yVDo!LJ9_B~VO*M}*j@Eck!D_1yI_-J6 zD!Pb6C0r||3R@q4aqq6)@YilP1LaYikam<=%B7I7q%VwPS95jA8TtW zmkLu|e|C~;^>#JBNm+^Ml&L4H{H_|nN1GG~Or3Gb5Jo|;AGG*(xnK@0ne4!;xd;5a za$`}o(A*9{83UPJ@{S0aR`4<*1eYHAR)dk6~j~SEd2ChCpyvS0 zr`5N4SofvQ+@}m5%sKOgyR}k%>Hj2W{oLBQEzbG+bolC^dO_01qyZ$nv0RL^V`Y>F z!!VI-Josc0Th7nN*G>cA4k8oIwnr|*04>WpRG1Pyu?zEs5oS{_D zXkrOmHLvIl)W7fP@h$_(o}53e6X$AXeCQl^xkq72Skj}p>HXVp$0>rb0BY;%`cxy0 zU6Y2#agBOI+$zJ1kX2*2+uQe|w(KDUgyr~oLAMabT-@)wXM4bS$SBnTO_|Mc}V+!>5zw@+bTorhUY-=dVLkQXO#6A&}6Ku*ohRUh> ztBI9wX4ejt#zzUMvOG^;CgABKT%+1L5oBF+${01$Sv&D{zPz6vUdUQ6Tm3!sUg{QF ztM|`~bFHgv%xlyAufwId=p4T^weB&1U?Riz*Dk{tGNFCLV~bZ9}Nx!iZ6GIfApJ zEg3+-a0;?iI$nU|u`px6<`hHU_pPb%f}Wm`MmD;zDp;xm_xQ+h7TngZo?uk|)K_1t zNB4o4ps_swWO8(jtF5$&Y(TTjMq<-6^64rXOFla(f0BL2&Q*?y`}bv&?rfhC`dcJ` z2%CNpA~H`9P%w`6^p`~CH0Mp9U`6jZ1rO-N@nqTAK)ROXYESIu`R%J6mfYdJqQis; z!(`|a(U}2K>A53KX;bMo>ST7`+Wf~v*HPEwLcerx4yN{~D--1|rDO!-;Lyh7+?IFE zY43$Gi!GPp`|-e>P0wG7yS*^{n>I^kAiYalO|H$o*mQCL^KNUIkI&CBZ4I)Lc@fCt z-##xQ$&&N@*wL8u-1ZOkKpTpMs^Htc8&(h2O{uF0tbI?))6~ROm;{+M7HPr-FA76U zbBdaG5>kfIg7ZYblXy2VTz2JBnq=>5=m|r_4AI*QrujGg07vAMjS)N8@QnzE?+Itv z?rN48M_0Ed1bZ4=fF!HpG$$4olVo4V4f z)@J-{nyGlhqfk4&$9H+|`e46ijy$-RYs86F*Xfft*t593bXjCyWo)o%32ukTb(?gZ zTBZ4ZqQ{@V{MekKcJVy5OzGBXH3cO6mRby$sX8go0f;8RH%mC*xnL`0)&TJiSs*W1 zbf`1r+fk^)6imv}g*p!lw(ZQ$yRz{Bh4VbLP>@_0$ zWLKpef+Tq)LqLGKn)3O|RtxeIhT}uHg7ADI{X~-tZ<^Ja-#M#9^{Ux0Wn)kgy_pM6 z(BzLipW<+Q-E1#C?0SE@8;dXEEOG6v`gDIe{gL(Ap-{AZ;nLT&Nn5v8HfHvD$ne!? zAQY+Vp%>JYdng%>S?y8C|`4u$NTN^&A zo02>=>s4)4hd4}^yEMox3eav9k<7^frZJbs+vVPKz43U}Nacro-0AqlypZY$o}kR0 z?+b$rNur!a$*)E!P494gRHykGY(nt)$V)q*m9%kqC$J?DW1vIs=Tk~E@u&yZehadl zu!$G9n$8J8&1hZTqIF#TF~c8gklS3jP!u#LDNDw{SeDpgyZ7JCSwA0^4Z z_Q$OS_{!j{q{d?b{IjidA?WBN7O{R#T7vq4hCC$EIKGTOjUlYXcdC3WVy&mO68%WQ z9cR~stebH4pt<*O`;!l>0hB46t?(!4Bm|VIB^Ocf3mgi1X_7gg%s!v~Oi~DTMaKep ze+nw{HmnBY$xzWPM6<-Q+prw~?{K(cY_3kDo?rW1UntK~_s_N|kFI&;)si`MSq~;R ze2wg_b<>E-JJm>LHg0i*SZEB|17U8^AG*e(u=x+JLJS#bJn$A>(o3RErRhd+?hw`b z36|*Og?sRqfR4}DBJhg+P`vUp&&82|i$QQ-Xtxk^t*8ThqDOR1w9ae*#LKfqz@r}d zDQ1l=P=hl+!6vqf^A~! zv8(nDq%F2B!Jo{uAYB#?gkf26`*)C!yC^AXMPaKnmJsXHYTkd{2{I`m-_NaPhoX5a z*eAcv&f4Kbe+!;U8Wwtx7i%i9m?2g>mAky-N}Cw!s>sVNUj0KrK^8)UmUYG4YnJw~ zK^bj@b!q=Ktluxx56y1Bv}#O+K1)3=mx5qdaoir1(Z0^7-7Y)!p0vfHg+dRRcX*TLem(f)3%Xsvfk9p1tCfhvPy@@6J&LJkEJI`$ zR^hT6H(g#Pfo=qV;&?Tjq9{CK9q6+FezOCD1nqO}jYpk?BG_#b$h-LaOf;tlT4M7o zgU1=lAaYe{!lB+Yx6uJ}*$<>5{@`NC?u>gLcae>V%tzA5$d(E&EWwdj%>K#y zPi8hq344Y>K(UlVRLbmXc;~$jCNN8ZV zf&2|6GOE7-C=T+C|9Gmk7_fTi0P(VjZ6zpJ=^V}eD8&H9FOy11?eu#uF8+@Omj~BZKy;S78{}Bk0|` zn=!!43MpYZTZ1(|heHs~??{uOjD{Py8p<`t(kny&EEwpg?Nb*kSdHuW^FINQ1t+ktRDFxwr)fE+i-b)Ow0Gws9UqQ2iXuBvD?MzJTlx9>r_Zi zuFS~-vK-YXu9%fN8)x^u51u*m%3HK=PTGRgmo7YhL51!-@;9|lj)qw-LR82PI^^Mw zWIMrI_c_BAtT)d(3Gi+A0qjKlz9E?88!r*PpqNn4yih0phmtF7|HUr*r|A&Ko&n;ErPjs3Ty^lVc zv-ooVl60sGwK)1Br89Egbm8Y<2QI}AqS0^QlAeTt74T`AReU=`o!#NQeFhvwTc8BM zs%?^1%AR-a4+ZR|5A)U7gibFCxt+L%U_&KoxyhMgIM%hHoI!j-Jvnc3yKX8zx-xUQ zY|3Q_GT$kk4I9Fl?;i|A*`=Rp=wvo`IfSM zE-TDfiSb?h-Ol7?+H>?=jzMNrp}^I)l@r$!Bi`#u-Kg)xRV-B0=rSfh?Om7up^cxY zI7d`|=~?>3$}D)``;&AzW8g9s&Wgx@hc*E#8dUH=;9-5B@FcQ?-BAW*_GdvPy z4u4O^WdT>jACWJd347kgRHgI)_OFS^R)<0z;}v)xc`nd%kbaI`eZxLm`tUD$kdXhm z3wv0okNP1h|DZ(;NibZk_YN_g8W+&wdKQ52IMC#zaQsDUf`ZKCBsR>u*%l}-0BhPEBZoI z8_%PNFw@P`ag2rP3q>H-GU^c?z%9^AEC_AZ=Slme25OgATwLbAPw)$ubjM++Kh$T{ zT58TWvWRVY7P+{npdxc5g7KB)RYX8&lxS=$_^PSVIg~9^R_BN&acIhEAXHedVv{(Y zTj=Pp{p^;h=#HM7QI!z}%9UwPO)gGLiC)rfJXBl2erf72&w7rQTBxi}V)>tDF3hXQ z{QUAphb`-Cf@nbb9PR0(;i={PV#3s_L<<<4rm;p-Sw+!Ysf}6GaKi;{W2GuG2L)ZR z7{^#ep3?A_V& z&3iW7Zy5E%wH9=?awY$9Bi3q`sadCj*w*r^yl>Cd8TM<37`0VpNtDKA-2oUH8|Hi_ zZ1uJO<-k`g=D&k-G=Om^ifggK)F{@_9>xs)n=h?ui50EBuXk#E(}vqijJ(Z1@y<9=<|QiKzj~SDIEH!ha1=b#3(kCa#GH5# zl?h{iNglb*3S!fWvXNqG7QrXPt##^tcvOQCi002_gh)tELkONG?9R}leq>~eMW%u) z0Bln*)}t--$52-(>X&^m$}c>?R6n@bQ+nsE;9nC6s_okeWIseUae1%pG;shDZScY7 zu~QkMa(MRRne66Qw(KX5@6F`ph%=6rm*|jGP?uL`OpN~O!3^o}O5wW2!h5|n%yb=X z`-nU*p{Gj0qk6K^{ppzN?WlO3^I2RB@J|vGIVIk{rum>+8!f~t*ZtE=`^*BoAo>>L zL1g9U`ERP8i$om?P+4)7YT1>rr;MPefqImOQc;6?b^@`prHqiJ(0V8_O#XcIk9_g~ z7X>T^J4l+9zH|1zm2Z@DPH$@8irGeg*kzi0c068tYjiwYp&{3*0m(Ge&eriSz-(25 z@9>LjdZ(QL+_D8XL-d~0-k_5~fd3WB+Cc(uf<_Wg8L@E2`gf|_yw8lBnNoPDv0mNN z8_Q`!+wU{Gg3PW}6!d2V{6Y_N1rCo7UrG~%UVdGKDsSZn)gMY7t-Pw>175Lt;Z2FF zxq0l`bJDp)wWbM9`sZ2ASP3Zd03$SxKv|IAa#3ysrJp?=I4>+=p)KpT?|CUO@6wRL zE3!~12iZfg={#zwN}kxrPG(GQ1YTv9GG1lTbH9)9>esv4TBwciU9?&Aq_ecvNhhMk z+g_qqb8;4hPQ&8b*#4anEUa7m%}?(3gBInw6P89(##t`zE5E;>)ERQt1B3J<(`m}c z$ZR7Rk**W*ATAEg#FWr&VpBZ+vWd5S_j?SvA`eh~pVnkFTz8X0RQ%?U|`&-{30vA2h6m$&&s5-U;Hl`qF3~@!jZQuJ8 z#qQ6W(fKkiqqyGhZBJRkTY>}(z2T7#xY4?1Vc)JeU5~dBSC~B`(g)CNbKqn&Y37W1 zgk3nD)HzbhoseR?S6B}7B3M>-Ib)>JHmP}V;zWcfwzNYDWH^=k;zRyLWnOF_p)Xth zR1jl5mu%K(WRDTJ*mn>++&j%e3;&0dBs>((7$^YJMiBfLFLZl;W(Q|0r>Sp`#PkZ=RaD}1bAF|_K!j2@PyZb9E6T%rG!(7Z(L|Y zyQ~zks^TjA658{C0nv01dL^rMnW9@Xm_d6^fFnQDHB!)NVwhg&Au!H{Sn%G(qk?}f zSLx5yx2nBiy79miWyHiX@pNb$`h>qz%Q^LslR^$iK;At)x!#KqG4rD~6XYi%JuNvA zPF|4RVdaDQB!!S|;wSUmE8&04Ih^`*!3&>~^Sn=t@_Hzfc}Q!Xcj)Pl?z?-nw-}O? z3|F!Kh!1jw_V0`!$t|Rx%FEGN$$RSAklP|tZ10!#I*uVJiQ1ABS(ban7xp93dKP=y zDk07w*$%;P54M}jeVx~cYjtM80<$(-FgyQtM?M)a%&du0s3`ugHJSg0W0X@6DM1E7 zDftFlmMK93k-(1DB^p!oxc(oPxBLK0Sik^@VfHsq5ps5VzCSA$YhEstfshgXAv5wj zU8~Jbb5jGDXU`$rIJXxz(X;>d54bnF_@NPZ*@ za?mErz~I3)r9@RqcoL_9#r2`Q52^e#ZNM?A<+6cw#9D1bG()oe6#)y0;%BRyfcTLEZMg#7?y(>8I|f7vbu24ZV4lY(}${b7D|#u1IEcITOaHzo@b zH=f8!sb=WI5KK`%K})cW8nf78UT|3|LC8Rp&=#p^<{PV5JHJ_9Fc~$2r=#9!lUusJ za8WAer^h;MXf8G=OfiG0olqWdD=~p62v%-G@oT$otMH$iYOtX7f_(s&1+1=doB{KL z+RTMixssgs)5_xzjJ?QGuNtByYpgsbrwFgrJYe4DP+$T$PKgWR*WOGv9Z#d{7bF*# zbnJE=)!toDbsaOh*YC<;<6WSQbZcURh^oU$)Ts_TExa-r1@?Yxz_=P~Ei8~5ssWDK z+`n`2Yr#Qm90%M5)d#u8!Ue5 zNHtDyY*`#e{!A5yg*JPNAU_BRsOp|>iYY$`IRIf*|FTCvCw1}pwJ~XvOZ~%0^WbZE zf2OQdl(Kl)g^TTbg)JuPG$#&0cpJ};C*>N*WT*woTxPXrUX$p0Rlsm=c5+&cw{SB# ziE3*-w%N@90`vF~Ea8}R5));qTT?MrPC%c9%~ zotlE$=OCXkXV)jFzBat}i_gQs<({kYX{K6kgx^v=ZB>7WskyR?`y`gZQ4jk(3l8S! z+JCc4&IWZPqGg06BCkzv@+%$g7tU|`G=S%Qkq8fV)8Tk2^>8z4vPjrjITZp|X*w}# z0CW6AUMlfWx9k^h#-lKePb7+?O<%5mCtBKQGU5;BfT8|K)-)>~2N`l7CtV$Z@|0(* znLZVjfv$MTUmS|kC3z$2Y0RW_s(n1OU^(TYV1ATPO{LxwNZ|Q<*mWnzQ_8!Z0kF~E ziAsm1pRRma!t(X68jzRjUO$&MAKGtYOC6h@Jl8;hxuM5W)7WAGaVvU|Vut zKO<@H*qkF(P8q1?#t_>W-lM3_%bZ8dYqL}_NFbsmdd1`V zdOWaNuW8yfF?>^^jJoCG$p*7bdV)rBDcxkDgUzj*zrv=CSw%Ni#UWy!Zq5i_On$A= zbg5%W^$c+S+Li7btiQKqYlmLAgfGrF_t#aSaykKz3hjeKI+g>|IBo!2k?DKW@1s>B z!JJmT26Bnuq#8}HFhLmaSS4c>slH(+Uuwbbi2x;6;@uNKa1`pV~mP`VHj5MEX?rjRQ^Z#NFryZ)2k z%@yw4ZyyzAm>NFWi_y%1@&Sa67_(RmE25{BqO^t)Uom!uM}GYQ>)m`GMsaFzBm~ho zc*o`T_%1_bBl;Jfz*Ofqh*RWhc-X6;F#&*;vy3Zj7mSbx1_NjxmV)n*;LPuia@VBl z%%|g|+0I&~+q>&Vno2lkb_fHxard-M@l>4d5Ssl;{JB>huQBp!s{bdK@JMj97`&{l zivJ5bp97Y*_2MM>;Q;#f7h&RU2XA?=B>Xc!y6H8Di|-CqwFDMV$*yIgt|Ogz9?O8q{mI*s~S&tTNt$Q?X?Z%}$i{zxAvSx{fR&`c~&4oSj4|@!;w-1Ds zy}#Lc4=J{nJM(12;)M0oMJ#{abSiu0tf(7vA%)DFDGKoLexxAnPVkS5M9Kl=?@L78 z^VlXVk2YQx1ES%K|JKK23){qzX<-i~|RuEbWA=+$E zc}fK~Eh;JMbg>c1{@}FvHimp=Y_<9J_R*nin11T;NCwI*vjNOGNL8L$JrS8XrL#S`IZ6HUT~-T(??g-;`Mf-^=hzO&k5hXPjj;_X z^~W0-ror6*De9+}PEt;xU?EZ$(iU&jiusTg&T*kW3Mp@B-KBz%#h-~Q_2rGaTVv?4 zcjTWs>YFO3bR|$0`%x|F`Twa-qc)lzit2~}v|41Fn8{`@!AgpZFCQ%-BASiI#j5|U zn{S@ax|?sFc%ZtL9AA#TvW9goV&dCQk}SSXP^xM+1r;zzEvxvP{BxR}(5@u&o6Lnj z=->N_LbX|QyOan*1&#c3UfyC^HQENulS+y?3z4#V%%mMwNyC87nBD19JU3ek1qUxA zK+=J3x@7FKRn@uZ+BltNwuCt^CP*;F+L?cSz7 zg^{~exqf+12EgFJ=*chiMzz>@b{Ssj;dwFzIgY`SX@%@ori-U@D~(7zIdW^{*U%u+JgxAj-+_ZB*we?!J* zED$31SYFOa&>h7hEjh_0%}3TY<40iYpF~>D9!Rm4vMC&Qc3DZ@ zapwUX`wqHdX!6e4w0xb1<24c3+&B~`Sb6S#(^Eu}Ov#hw7`-YT7)x4R%{XIc(mWl_J35oZg5WuXu76R3QIkIfin$9y^yG3k zXGjpVbZ6OvuIogiw_j}!m`?uP0EUinS^Nl$ACe?Xf7v}Kiewc}Kn&3@WCYN&fc`B# z=C++c9OI1&Q7A2*lvi9lM0kJO0B$bYo^9DPhQ#%(x`o-V;t>kv4PYbMW&5?~xs`(d;r`l7c$^)p-o&9U z`rU(!-G%%%F6`-OhUHm#<1@VABLM3MU@CM}@1cJ6Hje=Ll9;zbAaBxO2*A%{LoR(r zm~A$}e9xinE)C>bi3eJ^1cb`QTlPYzJzh=qVM{YQLQsJJPp2$32JfD*IKqNhKo4GI zbWx(F^2dK_t^Z#q+bl_rr4h(>#7e|xZ*-$L{y(6Vx>RZBO*ROd|{qDGL@pmz3< z7#aoLVFqMRA;xJdf#vir>P`UX^omv#5tgu_llXL-{&*;AW9b}&3%VRvyx-arBlPe? z#u?Xhx@=9=6J>8;iA&r*CBsCJZdUuEtJ&np?Kvv%W@3iipMpcKQ-JZW1=~A0OO2|U zL7t!}Oic$HDd$25@mw!r_OJEtc=)u;66NMNaHm#;-D*qojIoE{%9X+(ek;QM~We(mc0`^~DgUTzDIgJZf8+Qo+>sh(0X^L+<_#py_A zyc1VVsv%d{^Ol;j*n3!aG~-Sf=1luV<(l1svC#EENF8kWN|(at*3l?S~X^ ziffFnC(^2ND3*;Av&gpqQzyxwPA~;L0en68)@_A%Dxp|TMp7Q_|J@+QuA52;Et7|N zeEZl__YZo#|GOVStO;rL`MeJLDbqM*aQVC>uZdU;cs;q2kF?zTmik^{F5V`Z`fRud z2z>pdu*ykc&<9|atC$(b!)DQ#p}Se3j&H$ zu;%+%F8J9b%+J}R1E$(WvuD3($7{U16)#0F|KeWN84LvqFO(z)u?5?)sfb zDplWJ)8>b;;bG&*^i@l`-R*$T%@?5BerI*I`$hGn(MMsusc6ZX_KLl_i@7;c@Q7TX zw^a?d!MkNW8T{E;P4&L0&|L4pg)-HWpXQG2%YcIl??})x-+QO>3BP90rznxzdU(+R zs2#wN$M&(y0V959&bYXM(!gGfHNCVovMZMtU}`-JV6i<3&RF=Xiq!yJ5Tbl#N0v== z{4n(3H$zm}8dfhaD?H}H0LPUv^F<+q8U(8xI>e{X-i^E=D z#%zmfM4-I_JG7mlGnSh~h^w^%UGZ~KJb+4Q$loLD=d0KVeDMrfei9yDFI6P@s}^8m zp-WLI6{96t42BMQ>{6e`EQ`8%U+0p=cxWSAZCaK@`6C48KbrEX6n|t?*_8jta4^2` z%$r$5xYUBE0$ZDHm(xi4)f6uSO^q;lVZvgXPM(U(xP%lE+rZYAT%?w71F+Dgsg#b< z3M&@<(bDu^cWTwEB7!G8J#Dg-V3G)5brD!zvY?eLqsXTkWspj}z}|PX+O9X+k?Z#V zzD-St_YKDV5Ap2FD`V=LYd36VCIX*e9eH~n)`YEVy(XeTq1@m5%>iI;Qlz_pYYY;O zj-3b~i6R!^Z6_FHa^RHI1b+RfIMR&)yuP>EErJCypa7CMu%>E6p z?F^LPeG#l8#+e-QNBI5SR8*}1xv|(Lsl!N2LA#$|E9?bXB-oJSva&1{B%Mkb+dx`* zvn0ndLD;m4!KYl=lNLUvo~wihp0aw*9^_8m0@Y!P0E$1{)=>Xx-{oT+OZmN}ikkiB z@V#u##IOT-v83C*B8p#JI}NL8ABx%MyzS3#B9 zLOQL4!B0w02?rn^e=HoF}JuUUL*E&JNsb_T(EJ5a{nUxi{G@O#Pp`=JU3EQ znJ4XOUpaH7uo&>OO~<9jCOuq3-eHNXlX@dD;rNbxnbtdI%Rt%w?)i%GKA$m{k9ve+ z6eEwPwn^zkUzp#X2_}i*h~C27nR*+o^ANw$OJ=p=b&~P(0?r1&x7(K?iSe9M+){WZ z{%u9L9BfSp?QLV)*{|>pye)Y+Dc>Aqw*MiIEXFpEh9;apn1(I+XHL4vh>hx>T=Mu1 zF0#C`u&sn`^JnA2u_v@6RR!5;OgB=4h((-{Fpd$%V|-!A!Uu+esjPl98o5d)sPopS zpYo7O9aZ!B7JU^T|CB^pVX&f)Pv;7Hnj5ncZQra_NSAENVQTWl# zmmq5%vt2khS;5ZG(;RD}u-ZE>Qg>2^j2`ly)x&kBt1eHXWQ9Ng}bs2tp| zE0c~Qb@g??3y}#6k^qI(KNKD-U4bCY_rlS@@wHBv|BOD2z%3|MwvZdxsacCYOHG!t&&492a6@v*S}*^z`!IK+P~1L@4FQBsUw zsVwXS9Nkm;Xa?1II67$RvbY_&+Etxqo(JyF zPL!b>$JIsu3M$!Feftj_`mwGr%Eo!d$Nty`ALIPwA?XhxQW>8*fyI^a^ZWvGLH30r z%<I~Ic9G}kRw~l{tb+bzMh|_!)fOVMAD7bo zS&D*`3^nKtQ&nt8<8#v?OEa~j52S=N|FB?yBNsv;VRStZ79ZsR*7Rent@+UcE1((- zk;$So_j)c*m;cFJ)}Wd1W5AE}Gd7U!ADy=dxFK`LRw8cBF#(!fA8NRxIV|XwP1u7a z3ZanHj@q zx@tN2TESG_Py=C(-dDM`%3GYl(f~c2fB1jr>t^&%jLW%2f9XJ64ATx%$i_JL@}odi zVH$Ng%_bB6D_d#r#+w-Wa>Qr-0KzeTEDn01hppy1ZDTUF&q%y)ZoBm#r2c$(d2zg< zSqVj%Hma+(bk`4t<(O||MXSHaa5xj;ul-l2f&V#p;Iq`RtQOGMR=f4McLosA;U@Dr zV=cM|scuFKSge((1KH7KN6Xs& ze!I;m1+%Qxf%e7T9klRbN$vqhS3fU% zIQMGo+T3y|wX+zxcih3P2V=+Tnlh6F+o2>wVz+CiwFPX~5RC(}V$jvN7itO? z>~rzauD331IOekK=<=s)Xm>Qayxd~z_Hh7)Z}_1YUO}d^J=D<-c+Y*aSvtXeSTBC> zm0mBJ^#LKI6=CFVCW(3`6DnOWzfVSP!aTNFCQ&PEd!dQQwGbFLh>6gPI9x929Np@DWACCb*5XNg}6a)~YAEXt2 zRHQ5-*lIeh+(Zl!>uEcyIRo0(jDLO;aB+!AVX=2X3e3tLO_*vhT}c!+%IRza;|m}w zOb4dyd!@U%YOMjd9=1gus?B^6j`m>ie5E;V4!5PVJbqR5TR#9dZqAv#bi5}Jz^oLz zJ;Y`s9n&jW!l(dFVU)(>SNU$D-XvsC(}{{^HxeWk=!Gh@(=kO6Jtve9@>>rVK&~n( z6leI_7Mmv8;L=RrK^3hRIs&gcbJ`nO4dy!SGEz*izSishE{Lkp@m zqC6a0H-^Z7LA*0u|-3wccPbM62;dM-!&+2XZO*UYG{RQk$Y@s z;Z{&&@FnDL>4JsB&$E+B^7@h7Dw|g_!Uc~Y9LED$_rjvR`M)O!a_Kj`nmni+nx>cX zuoRqXS&VQWf<{&HcYC+7r9JmPChE1)GX^*?z7T6$(iBr(bU`vvxi|>fS^vvTXJO)^ zXCq{1XG{jk#@G=R!mko-Z0M%P{!$7QNo{I8OildbGC!38|Rq(QE(h`TCwi z|J^hzCaur$@s3|KjHI5Ux0%!P=>SdO`+m0fPB3~@^1WtP%K8&AsfsC8=;ZSWl?O}= zuxZ)%6r)zJ=KZ5;VlRsav-elbpJtD`dcVKORin-7S1HsA`s_*}CUVGfq)M%-7?QHJ z)rCQK59sA=Bb#U-)!J|o#CrN;zofqbFf6FH0&E(L8mlclvSIR)td3P~l_rr!Z+|bw zqHu8lx~#Uy$I{o^lfR|!+~n9H1LEEe;Pz#vuJK;M>FIu^Y`Moi%nj|hgaL7(X#<7=$i@lL zjCIW_)~wx}Dj~u^z0sZeczE>KO}DkUm*_c&Dag8QzkEF$|8hR8IH+N$7*!t;z<;A3 zaGPvCX`akB-WsXgKH!g0a(U3Cu0yh=4Do(eqD|Ia^&uMLE^?B*&jLgzk=L${)=-_x zWqvNs0Xga|RlJvM4WpD3&*yT}A(q97{gvx2$k5dQ(n7~16D?1< z?A`zBXFHY|U>DM|Ymk#Cs_9=QgohC$sh|In*2I|N+NDh%`0l!VN#j{ZS)Y<^7|(ku z3SED;k1kI(|I+r+&oj($Uu%j+iC7%R7+Ck3N*bPIebGqxBR&V-wLDagVOscu`QzTh zD*mf?m}ZD@RP#}69{#iie3VarMjm!>UJR=+wmD2m!Y=p_s{3>?8b`>j&b1wqpFdgX zCZywJh@tup`C;*_CtXA-@<2Y#u1_Set#h!woQ@R!VG1u-y75Q3GhIqn3ZNwCLE5FkgKS1-_`hnJ;1+ z$*Sx{b&tYYpbX{BsT(vjd(of@zc^g}qQ`7xEa+ps!1G_pFq55p&ophTKcKyt_&#Sw z%cQ^O+)6t~iufr`ZC;K*85iO*IWT%*R3d`h7af=pBxNmk8VLp39U9tt0I%CLiLpXr zL8PD_r|6>Y4(C4%P*6N=+k$$K6m|$jweZ_TQkB3nd2?6aw@f@rZ7{TSu}^=_bd)Rs(Bk4!nzOhs<9CZxr5?6+)}<2zjR&y=LKY!8D} zE$m9i!z^f4 zr@Ekeg5IU3`3vPQgUN6QKgr~Eh}4T)D4LDt;aoG^zu}9VK)NC5NQMmqogu6Kk&{~) z-5sD%`A(vm^XxTNxrJ>1y%nc5S#BV=4mbu&nu zfITpJKxmyAW9u#K2z_RImj8NxNLf%>DELjtrB@i*@;Q^nB2JKkf31`nq_C#fI7cJA zB6`6PU7mHT5<7;7V*P6(q0NAKE2+A{r4{02PWP}ajuTb43RI_VM7a_K z9uHs`N&B;@wl>pKQwK=@iAAelI6D@3;??HhekL*&Xj3-b!Y7-KiN|Bwo=X@GMZmpDb-dyq@-(>- z0Ect$e9ue@^B&st^|sZ7kTrJIH4(6HmjKjAf?nl(yquhbAnTpwANoWh92`2p$Q^93 zme2=jLD_3?B~jm-*sqV6l#k9TJ>g9xq!~DQamc+sT)#bRbD;BvX|sl|bvbrfQ6Y?| z{6W!OlFH_iL`~DB@sPaz={V;##~L-MsrN>uTm~xQ1WPjcl$r)Wx{P6UQug0sLcrY3 zbrHX1$mUggqcj{~luZ^{SakHbWk*fv_-8RWJbqcLVTRfno5Ml!+VY!kCupH9fiLpP z{n?^y6yd191FUU-N8o_1(@Dc1vv)xFx3!0j&j>Qkuh0kb4n-4ki=#^4iackdk6 z+srdi!R`3F4A4V#s%z@^_J9WDF2I`FJ5FCCP)ocIe_C|M(|vnSi0a!BA1FS0enCT# z9J&S5C4t~|lCa?G6_2|6z#7TKP}d`>2E7j}W=q}awbutd>Q?)YXRBBra#KvPy(4mi zHdyw%H$u_}A_3;8={Hk~bA-2>sjp&~d%BLEI5mI5T_ z1H?-7R-YBEbrD_v_>`&Q_gSQ8 z?zO3g1XwEkmI0OtA<>Fe1n_qAfv$@Wc-^uqO-5_l-@vXu11+<`MF~P+GI}CS=`uO# zZU_iNIU1#k;K+Qp`Y>5_#QZW9??>8KBMU0hxIK0;`c3h(K7wmGbyoM35g184hPy3h zu6GO<5*e-U`r!-8Eidl!h%F~bG!Qzy4?Et=&+VP(M9tYK+DyUS2)JnU7t!y~_^QhE z@*+NJ@93Jcx0h|3xE(+J)s|&r4OKV@YsV`13QT%t4aJ z3A&g0IhWa~$y>(M99%m-!v`-H7Xxe|3VM2gJ>f8lGK?n6Xx6+s0@TR2+?(%WjYiFZ zwPs9U+Fu7j>^%mO*4*c*ZN$58bA$4~&9zPKf5qtAZ(7#KpsQhI45X#X}?YiE<{-55yUI|bCR3`g~=fUy%=vj z%i&DbBV~f{41?C6*a&`Wo%@!pV$v<5kTO799zIbBZd-D&QLwQ`!JO)Uh_&OkkUQM) zi0DI_ig3Hio!m^yDK<@7yY$Eg;RO8fvimp5hJHpK4Q>|?77fo8*&yPLQfX6q7BMxn z;|C&T6EXIhL?IcJoGyt}nOG$ZGTC+|`Jp_l7IQoY%5C(u>CD_V_U%BUc-SA}8X#jX zTRo~|QbUqu7T1M4kv}aT*Fgo7R_>E^d{N7iW*{77?P-j7>q%cnPt`XVuOjzxpA^ym z=NMfIc{Is-#@L`PuQg`UJ$GOw8N z?lEiH0n;>xPl~yI;MxM#;S!yj8PJ)w`p1OQj$5f*nCjQhvjuXYnY2eo>bhQx4u4#+ zQkExQw)Ip@_GG@BP^X7kNK-!@qp4>rq#^i8*qeGbIkFSCjdn-8MXTN<23QQV&SMvG zRL%%S^SoD(NurP`Gh0|PyR6r?C6~Ljs#nPfHczjooIDZn755z~ad+f&lk5IMo2lp@ z%qb;D^%7ZD|SBFHg>Ywc9Gd0-D2I)vT7GC_+j*mQFScZ?O*fsOhTCVFL)PG zFFa{vDzlOl!i@)L&hXw|0UVqhB$H8NM)@P$bLNrDwvGN&oHZuxlc-kr+?yq0a3=7i z2}6I9z3cuUSC#v9AWv4CR0Wz~q=`Q?CW#f#@h+Uaqxfw)Z*YBcC1pLxKV8TG9`AMp zK0S)n!zdt5#Mwx!1hE=cLFJVJTWZ2;eP2ukvX1JE8X)4Fy^!byfExU3cc{qi&HXjM zKFET(#sh}Hn^5n}=VP^g2bos{_n&H#Xlr|wWwrjIgFar0o{XdjU5sKej0SK>fr)pbAB0rj2Z3D@U)Z% zQ!^w=VN8J_d|&fOf^y;P-jg5;WP~1EzX^gO_%kNhcD;Ut4cq;PQZbMnkK+Y+I=2vkwuRJ^~2Jo!}Gl;#n|wY0X2Y zJ`+DEd%M~LU@WJ{<5L&JEbYJ#Dz%^X7s-23EcD=g)7CH@te52zb?7@4)T=xtF^{JnvS|1dfAMZ*tzQ|0Ds~g_&zcacFqzmxM1Zl-=_f! zfjLrEg9ttNq&L2g4V+n)kXyK%C+Q1sDF30Jqce~1je#ev&Y7bD7LWvL6!gtX(<>9z^1yOFL+!r#_ z-*O14fN>P7Aj1)a#%;sI2@4EwiKo&Uur)=86+g?JlA_{Y(MWD1*)It{$fLB z&gY#Fit!e@`a4$Qkp!m8L!0=+73GZEEw#B00KWkT?;G6Kklm@#sEmU+=-gnskL$s{ z_HZE_E8R9+f%>JXR)K$`Kk2<&LD$an74~ghyj=v`E3RrYuX-AB{b($KOta1^0^9Jm zk%yai>Z5v-SpRFtQW*myv6_%T_p2U(3B9FSP~nPwr-xj-{?FKjY+Ag&S?*ss{RmL) zCmu&wK2!sz)oKwBbLaUP#?X=WoDK58*K!&$qGqK6*CHL=md z%bx2p%X0v=WkZi9`ehT*JM82(W9~v}8qE7fbFC>G0wwLHmiz>Nx<3=t$DYtbjN*4> zJ_((l8TVa#vrbjy`jIOL!WT3L!vV26^Pj0)Z2FQT#>ZKws!5_h-1Pi^tR^)5w4xw+ zyE9-b;bo#P`(+bH%(n)*t&2Eq{F88KsS#8XyDI1$W~i{8l`N>7JGtc?wfOhSTGw=W z^{Q#hxm2e_yVaCxN-?dnn&}z(YwiQfOE>%0hD$Pk$t0fqR;Po2zBf&RcFLq?U0G3+ zf^r67;CaZtx9etAvC#uRTN85D;=ERAS(KD|+kg0Db>)$_8J6Bl=GY_FP)&24b5QE% zN8UF#)pDV>iu!GDC}h=*B0e6h_4ZJQ$xngA=`j7ja^8A7fzSe&|2IP8 z>W9$4@xVZwCYrdLYjaZO1bNdg8|467_%W z?*IU9qxxSTfTO*Qo58)59$~imsR*9QdHlj!`sF8RJlO>s#>_BCL-6O7cDApksm3cIV5zj z=K6ZpC`Lu*TwQk^^IE9N(@9Y3je}0bS5nquI!W8sWOrGXKMlxC0$EU~KSKGS8=MM# z2moJScZ5mNqgSdQ-z^~@Y2V*EN)gj#@h(Y~9)PYwB$y8YAJ5lkvfFZm91wj9HdIe! zOCd)n)cBk)=hqUXWf;TbTg(2QTgz;D)`M@C*Tek8bPtqyZqpbxSY2szF3P;( z1gt{lg)(a{^ud2^Cf422H{C10$)`}-D*#d{y4TGJmZ%E^qg(1u*^P5wGB=nTk9yF2 zWy&j3_0e9_8zsTgLf{IVasfqf?y-Jw--FVZf)YK6(8w0c=30qriCQ1o_ve|>9t$i9 z4_d#Iv$KcL*0aqiyBK-o>$P<#Ix^v$xqZFmG&=?z#<26Ir*lY)#PcO_$mBiM<^hsU z&no1Sawh=Q`!}}9nWvH4ORAV?ANm}E{)b!D@%WNkhsuUXnaT~`tAG0w zqZ13E>1n+A{BXUMW@T>Tk1~cw%lEP@HEI6Pf#OVS z`nxU=r&|g6yhMu5)k~d^FD7TEX5OAdoJPt|qR=d=(J_p*4nJyi_wHtQ3q`LHtJ zYkoF81RC57z8q;b*r{rM*DfQsD+SpVe}*;nvAr#Op{{Q7Wd1`dLzk%`zVzz8{@+RBOnTlI}9*y$F>6$4pGSAFrRC z>jJIYj)sn!T?*zuCR_pTKO#Zu5@N2x+%mB;EMeMtt}040H0q)jxQ8?8uEMzSgL8OJfxd?FOF}#NObS1>B4S?ou99(}Atnh6b zT}KqCJax|oPRq{Qu5uo-L&+AGu*{3+7Ts%Fm2>ST&xCp~XucX)bdDg!j>Z0%bY(SpyY5P`1dH-vX+HWe zUQDOz=XZlTor)(bM?m`WL>DbJ{R=aN(~ME}LQ5Z?O`h2lp8bQ}Qhr*dZhwx)#?So0 z(a}5?IR#me5(6Ch!wVa~Jo56i{?^Q5o2 zsQF0`5OAX5D*x%wCFU425V)V%0=zTDNmDpy1QmOw?%(qO@ zk3#UOO#j5t24G>cq7+SSxk1sFraG$~hO$gDY^`M>e=^1No?in+yy|2EVc-|vXh2M| zUxL|MwKepEd)_$C@ZQ=`c5)v$m8t9G(_EEbR2sMm$2~pVO8_GC*a)(OBzX89UX^jv~swx|x?H%+e?A>Y zzo2mcJOudad@!AIajkvQKc}|*Tv`V8#wSG`mHg!l$?F;^XqVC^Vzrs5S}lody^d$# zWk`$OIKX*eX-vj$xm;;@?s~9oM5WErVTvZsTI1bPvf(Oo6QOba-J4 zadIM|T;=KOm z-`tl4kJ#PcrR1;Fx!9Zi*-xGag{>aPOGCa8X8;c(iL-6x%7y(cG*F+v0}8Y#!A)Bi zm2!Acc|@-^!dvv|%zC5HSM#XUOx9jd<;MtEJX;pMpc?3`Oa`i;>R01H6@u2cKhUxg|4BahQJVZJ3pCfiou08#^Yb z4FKB%u9e0IbhzhlR5kIVpFl{Q)NkjET^zzUtYAm5vr*RF7y++xrzxdq-B?vm3%hkh z0}_?J>sDPR2UR&11s;X~QQKVb?x1COmEKceSGGDIrd5KwUtMa)2c|N)Z;QaWdUxZ* zt9@RGr(0lI1+8!I5Xqk)FK!;jm^c#x8309*cQkZo^y^9M&AmkSmrWBN@WuWKI4G@C z(-0Y-ElIwfTtb+L9`RpCe1rU&{SZJ?>ads;7RUiFGKL!r@3sR+&@C&q#DRYDg3$4g zzd4NC{vE`#oVs?P+Yuh9gIuo;)cNxK=5hUP6_HJem_u9iHbh;r@rnIBuGWz-eG0&< zt6A{mQE9N4&MQY01a3>FW77uFo@Ez`u={d~xe`6n5}=cwwbCMfkyilK`fX4|PhNa|4<+5IBkx3^}A% zc)1qHfWtAD#0-v29(L+VSXnzbY6qYJkz$m5Wp-AtZX^^?h)}dqp5p~)iVL(ZDQ?&K z=!P}ss#6UG7pzMgJL2``U~r8NJi287K~~qXq68XL6_s%NAf+q!o4E zy-UK5`LsOX7+QzOp#^rA7@3|;0giDM=I;dMsdQj5rqRY8Ietth}L#TB=zuh>aoY=<_}LsaEaAT43Jq-C#;9oVh*> zu=oq~JJBaweTHTRS{p94AZNhWyclpR0?l$VGy=T%gSUd@%^6eA2fH2l2;={@F_ugCWdyk#>fS*UG)#mf(7T3S{NYcg@Cn5k$r135%!=9}} zpw!~JR6i5g?5QD*=2vi=iq1Qr+N+ z;vI?Yt?>++TTcY5C%z|&aK7QI@HbEpXM_5a%>ZO0+#b?C^@i+-D$^|VZIIS@%W9GL z%>Yd%`(d}kY3rJHdJ({efapa745pxj&~HcYMYP!~*dv;3C}}OI0cHOOv7D@P=v+*A zI$_WiP!7|~kR+API@W0Y&U>Xv4M2?L`yYh8bC4%d(=OQ4wr!i!wr$(Cjo-9w+qP}n zwvA~|bNhY28ym5E_s0HJCn_?s@>HG3%%{%DCkO1aZhr?5ZOnZS##CQ7VO#3Q6Cim9 z6I5b3C1^SXui~WqF?73&!eMquI6w%5xW5H>_Ss(K_9C%ZjoNQLQ}h7T!g!}&iOL7< zlrhcn>syCk4cm0S@$53Ml|?$zIwxJtq+`5u!QV5;Os?~LeD^kruc#QWNU421=Q|9Y zN3TSgDb~#L*DGzwTI-YJqz@tjQC>kI--|W{K7EGIVLgZ;pewVBNbO-QQ+C{r`}^w1 z*GA~Lxm&MUyN`F^L*xNUOI{eJzf!kf_>26PxxNKvY~f#L(tW95LjzsJf{Tw`723md zJ}!K}FMI)of8XCdckP*8B_Uqd^4)3;?s@~X@u`1B7!~OJo@{nxs+>wpvghpP3@wj1 zs8fe4w|N9=-(7_K37K6oY{$)C~5u zsyfsj^n5=ZVoI)wOF($p-1gc(v$v(a-Cn64gkbbZ@3pa8*Q;_t!{E9>hWYYR@(k{z zdtb{Q-X5_9&qxaV_U*_OJRXsc>2!_7DTHA>*+3D+eVCBumL!?M^Waw>C+CYjA-|k~ zIccwRPNn3D`?mqm%5ixH>XdqWzI)9zhbGUt5a51qv1--zWEuj( z_D6qtT|n?reNE?RlfWh?L|0`9w$%$xIsF}m(!u9dI#iK;taqDXyAFYHi$dju9%n5{ z`%jX^>|f_=$LDkC=N+u~0HfyuFm|}xMciiMPM2b)(X$7DknDp~^Kl!TriuQLg!5K{ zUFhD8;-ECN8S;a($}dGc;-L^L-0evVKq^->)^;bKdS! zR4(aV+_PR7Nb*oXtBXVwI6tv+;KtANtxmtc{Ty9jVV1RLpd0h{U1?|s_u$J4yeahG zPDAH=>8?1yhX%N3RoCB%O*yjoC^)^U=eYx^HQdW2c?T5Ow>vTD3d1LvTQW~L`a4kh zYB#p$n%I8hhOTWTx4UtIKYQ1bvhykyzn{aXlTv~bGX(J-`i)kW^kh$+bpDt3^&Ir=btiS4BPhAPY zbe<4a7>b7U)-vOqcPnltfBwOT<39g|l_F!a@hL$llHB)NKm1YFDbX9LD=C;xHRgu$ z02*5HALPk4RP%#8gKs5%kY`BP>$$lh>GhbktWZ^zW{Q!%mUaQEHj-P@fK$;AoD}|# zO-ipZO}hWZp2?6PKXCE~dmc-?^L>1hP{O!}VSqsl!G|0ziPuYnQ)k6UU0PojlZpYW-S`v>+ItyzgL2Wnd*s|b((r_&f>L(Oi z??)(g%M-~weah+I3S6HibBeJ3*K+WzcuPt$D_50A9)__YL1?xV_J^Is9b z;WXQGjrX)rmC$xE+AFmA|ZP44stxA6UKR?Gd<5 zK^ZxGqLB`8)eezq4gniExX?5uGCZRS%$PVM@34C3P^$mfr$Bge{K%CaizT(-u7A%P z4_2I&#lm>ytx@hY0gy1l(I{^$Jkco)ojkMBpc=NUQ{vWf9CG`){Eq=-gA-O-DraY< zVkMEKu!8kDY4DmsEX7j`{E<(YrQk6(`~7GeW}Rqm!{=c51r~YZ^mr`CM@SiF^LdJ? zWmphleoTY;79B}zop){m)ctUjL_FzdJLw7eVkj?DOHSAtLB|YQPqBQA? zWz#`EHH7CnufFt8Nj$^3;#d`JiH2J~&l+njceE#P4H!L#=2!a1oZ}P|VyJw&`$*%S zRCOwofT?bBiQis4<5e`5(A|6w(cny?C{vn#s7nmnE|DRDMIJ?KkONIF*GM|`ed_Ib$!xtH&bg#Kv`CemKt zo%GYV6*PTA081+trP2idAOB$?hWwmkVq;6?4FS#so-jz=2mvMo^i_8wLu99*yG|IJ zDwM3iODT1_W1ItD6bL6!Dn~+)na`GJpRt5I?5QgiDvX#Oa*Mu-+#AFWiZFKHrow!lly zrcBD#OQqFoM815s;w zp9#oS!0Savu$nG@a(?~$CrR!8KwUk+$Df>g{GBVH>A!OK>-WkrR|FLq z2Uwx%Y^G&dp}(QIMmJ>#Eih*VB@`3jHynTS;sf8YP04tfHwWvPd|eekJk-xL$*#j3 z5v2O5dG$nXLhszH_rZ?e)9x7Y3pI-7zyqs(j2SrjtZUWU9QMQlzO;j_oK~+sZg^K9 zrIJNb79^H=Sx$Ru8V#oBf6>Db>S6Fg0{|{G^oDmWH46qsG)Lo+p%l*0{Jx34V2@uU z8Teq0&x`be9Cc~ssUeo%Mm8$?cZ%HC>GEOMuw5s}yk|dEY0h#Y0TT#s8dEM}bQ@FW(Rv#>ey=S|q#Bv-dZ`Qa+_e}`p1NYt!t@lY3KxGNQ{#y!9=O;z0aKS@ zK!}`Np#|^~PQ@-X@}mdvy`^KVvw6;g9+YG^jQ9$y1Mx3NdpbQKKz%=x#0kmRyN2E- zfas_K@BH_NQAH$ePixYZzA`dv;$#<#aMJNCs)4ruIuYz3WHC^;VjQ?{;`riny)0S= zEd*2{m^^86Rnb0AMr@ruY}Dxl5Q?|WBcR-AWHbNkWaA0HA=qmrqoAQlF$sm6Zh2L~ z3bL<&_XoibLl0Qk~h7db#KD$Wy8N=V;G>J)RlDB*mN&Vfp-gZ$;~b25hgI;zIAKg z0kP>wg(ev~Deh>kV)TVG8@6o~n^FNBdMRn*;b)t|KJwYjuY3TQ{{R>UWyL|kOS;cQ zn%$|8<-DZq<+0CLlQJ0JxV$mINb0a$sj#Q|K$vV6+PFdC7tw)%9&p}53Z6|Wo#IM` z|87)E<2^q0G1DatB3k8RbVHYFLK>0_Lq2Sp1Ci=mYv1Z8t z;sv)HI+&Nm#IOLN%)5T9I7|b4)3j!xAQzXjVW0lLx3u*lhCvG%e!n`BJj_*{0?7|; z-+I_$g2J~NI%g+D-U;3Zaxr%~KAAxd+3Gp??S3o#g5kq2=xD_9a${&*C5p$gFI6i-^s{eTZHj6jB_W(Vz}s^0VY`w9_yjlYQsGci1rE zd=(*=d%_?W^WUeZ5H~+VIwz{V;!AozILoK5g1v63dp2yCI&!hyR;w?GS1N0BUCj|( zTHK94Fn1RP(LkaVHGpB7 zeqUcCj6H)o!TYV9as_6x1Tp5ZZ1acemMrND%#7d+^^Wt5pfb5OUigk=_wsNld3o>@Ok@7}E+C$@)2CAQHq@k}RQL=iZXd-8TnL2KKVQgk)jXH2!bdGl(G zRyAVQ#rQd1A%Rf&4b*{`4nq1~(-16yF_#lfGQY_N{nN`z&nqv!0c8zMtHKdR>fY87;A~CQ_}ksM*_{ z%FX;Iy-*w95H4ga=kj2sUP)Rp*~V(r)lnX2gD!`cS;=PF98O;OkJkSgHiwEC{x7A~ z<3i7Xc`oW;9w7-A1E&Soc`nNTnB8|%borApIX$x=im5`>{utYE&R9Rd@N9N))K#j6 z3Z+aFwGw9*C#?h}#rMUxPR;qght9_7;4oQ*1F969MCYHAUq(l&TvQ;E1~1rs1o?>8 zTA^P!cKSm!iYJNm?}1IX~i zI4nJPrx0&67myLli0AE4J@XkXjN>f5eukqdV28&!ahpze7Z#1t#ULWRMiU2tq1z3u z6E2H9HqRskP>q!NXIYBWBBpOj!u^@}k9}cy60)gt<>R46U(ZU)2!?8=0sSf+#kW1) zNk>XJgWY?WJIgxg@_9jS{7GO0&p@fa`yyjRpKcia-?7XhSjwnMgRm;E@0>flVOJ zOASZtB}uGN4`ylm3G&w9L=C6>^f|m#rxYRcu9m+Ju7(>4+;kEA4kKCs_nzAAdRT15 zmYHn!1-UKK5*}pw!mO|7;XnL=z96hxlgb_V%}t)5j5 z0}jvQ&uzzg1;Jp29AR8RPK3ygypR*8Kr&%Tft8K2C<&Q?OPmiElI=nXh2>A$q(AN6 zOPXXpApTDcRjvw*!SX`zq2 zIE#+mHcP8I&ySi3_l&lAMoe89+tJn>;h%hS=Ul({A`e$dRhDVnYPbw%@Y$Glg-G`! z{)(q%pqCCGCp(@2xYU)Fg&{15lNC^yThBZca;+O>*{3c7xBG~E=>P}rxSrNLZ??vx zb0lrQf!zb&iu^^RX0tQh<%eS_Ajp8T(SAoe#r4cERGt%;oB!}r*>ll)U&af?gGr1u zug2$w^M0xW0@V0(t8t^+xYoQYRCPf-q_Oy~kjSFZ}+XL94(*3V8>-s~6@lpm3&=RCK|RH#qWo)bj0hwiRF^SRUx zchw&q#L0i+iSikDAIMWhS)*}Zy86}6S#t#}`Gqpy^bU!XQmz|XbLpSCz_cA}dxGK@ z&o@Nfg1QO-Z?Q6e@K~vl402hP@((E|A!X<42-dA*yw_K*7yuqWLtp~?#dU5)X@ZjO2ZRgMEMzI5l(f%lb9=M?y z#imgr$ao7qAjT$8$VziOmyHwrvb35J=>!DnB2)=*P+7DUK&2JLP1P!-lK;RNaNsV| z@W(Ka>}R3)bmSn@^W2VJ_#G*mXAWwOd9nNnlRNowYd1AWtIGC&4-7A(^IoZ zEE^0u;J$b|cFwx>95S}Wig3OWDj=^iQ*l!MPslqZ6?haxD%zuUA{Dp?7IY3hA}lqk z=>H_0>R1d+`-?3#rx-ZxrzvwPM+tBj0Ba>Z%9@oPpD;v~7g?25BHdE0&YwJL2p_Hm zOzWzyl-1VUc&HeTrKFAtQ8<*uv0t_rjPUokg-wQJerHb8&tZ%7dQLSGrllkHVr(EB z>^fZUtUs)C87+-We=a35jaU&ewp6r2$m7T@o{G?Df}cn4Zc`0FiM@%v5^_PP0pc0! zkEay0(CLxoR?2-5-)*O9eQ^5;NP|j9`JHtt#N@87qrtde6&41C-8C$x@2YJ#O6`G; zy!wNG{9F5>R4@Z<;NUgT$4xiXB+MofTq#h>p?^u3PV*EY8(+0P!IzI zDEDtfJ$aoCPnN{Lz>RJZ5kc@N2 zxje0O#=VJ-@=wSYKI5*G41aZX#w>;4XwRC;HrYJ8uE*KLg68@iIn%Ea0V7IJZ4^~E z|MYoWs8AT$~eD;Qzvj`L8cl((p%X>j)acYG4SK zO-;JY%VKjQ#YyUfJQfSy{(Ca%vvKFV##!gdoT}d%N-8o>ymKPQ&XYo>9I(m|>Q_TT zyeSc9C5GLS$T@WEl5<*jBqE=_!sTxvb&W??jO1ZLv`_ULC{BJ#1SH{DAP}T%>;mr$FR6n()>n7Xj4m2f1gfkXLN zQz(WBR=}0>K^-?^0cNEuSgE2BX4&DI#ZxPuHOq+K(JC9%;gFZ^23F%&)WL1QcYn85 zkz>#f>ar*pC>zDnE!C$OP6|Bd>!epWM7yrTsberx7Cdhn&dbMjxkexsnJtY@w`y>@ zk~&yelJrQ4TT!i8#hVJvT88(!C~((@Bh3`UIIFx#uBvR902+JsBzKsF#f4QZC@&Ll z#SZ)(e*L#{QTI-^bmTXVa2kD5^NVWq3+I*1W6f>5d7NSjGCcgtli*1d+~B3g@)HObh^D0c*u7jj2)v6L01u#`7NBIX1PDAgPzU`G=0K5!aHr&P!|6?YGzomm|lZ6=6+V zc@wBCsqEZ^1dW_3>@5y*JkjhfmpXZy@poB74fgeOGuC4n}}ZZNQ*;sq5(Ig zk+_?c57g2$Hm9r=L2c~x5>42 z*x^n;eb4{rjU8DiXkj~a4_J}Xx1HPMWfcC$RuydA(#gIy80~YXaKh9(Y=0A;WFy|U zsAfHWEmcEpkH4nCSNAuj0e1}%9{^|6C}JSd@x2Y?rJKoB;eAQ9DG<=xrz4FXk5-rv zq>~v{;BrrYF(*$IMQ5ldqLsqgRFHzRm6z~L-L>cj91Pfqp^U}#-~!ZxzD%9Re_rWy zl7~54G?L;U4!I)xWRyKU4$JyyMhz{JvwZqgebOd_!}M+RKvaErTe2)y9zUomwN;>?r0LQDI!=cYK8URI&dotr$MALo5asJ1e+sw?fw5l+M1Dn-(fw#^ z!>t)1;dNMs%bdiMR~Z)FC5eaMT6LF3A%Q;U@YY+-8ykElnA1E+0(OYU{qF+nubmiKf$eEI5E(|?jsNGH+l8XZROE6qYs&Kq&^;TR}3%~+A zBTR6g8|fm#)n4~qjoY&9ZX7{wH~yvD_55`f%Tj;C>l1ILGmTD1L`@*jk*%MP%4&5wD?FBHjg=%I?yE%z8)T;+xs^Ur9%B_`T6__rC#qh+wuF|W zrxPfka|>Q9VGYxhv^_5`UC^D%?6^{pLz+r_d*#q_P;LUV17if={V+HPOawx*<0FfL zZ>3BgL;Bn10wmMEm`{K&3fKe=$_45dOE_#za-0~jiQHrfzHKAfvvq?dKleIq=09%= z0~h5sPgr;(%=e(~MyoLZsdD5yBe9v|t_c8;5|DpQHjj5Vt#f#V!CWTY;{6Lb4DIhIBP9`&=@qdZ|(~vubfu>QBmh?^ISC4a$e&~9C+a$sbM8CliS9d(jfIQfO#_k z;nwuc+q#hOF=V%3*yEvu275Y)V3Y+VMHRC9PHj1ETsQv4FN4HiYcb@z>;UaJg(xOUh1Lq5Od zuw(r_c%lq)()3>U5s;wv;*9XHR%3Yqhj<%PZ%Xa82Ssn~3PV)kwoJ4zOgq`JaU&x! z2UO-%PHYHYq6T=YLVO=NY6~usQnvvqB_?_iV`o#7Zg3 zQLCsydJQ;>USMh@BrsrrIxav7I*hMiyksqt{pWKVKU>vccCJsL1!kQ^_&!aF-8;R> z=GLaPbW$}fAbOceD~EjMfXg~LZWEYPvad^$+IrQp$Vj}LM%qR=dZW{Jep7uG)nm=_ zyDNo~@@{RFA>)N?Gmsd0HMaxo1)g)eGf{FqYmRy-N7l_991j1T9)u8uAP4Bljdat_ znCF7OR_)8Y$p@1CcBWNSkH|bB<*{+tM4ukn74cr;eE&P~Vw2k2CaoUF1!ZH|fESpJ zNjTba&H&B{dL4vIuFL3%Q09QiUeMZz0D%Gt1Mu!au9{yKh69Lt}bgvh=32}`K`Qh4p04;?r7&+X>KW5r2Im2$dOev`x(l` zqG&nAE&cbC@z2L+o%^WDA74K+$hH{^k$<4oR~G`4&67aZ)*(|2Gi&|3y$q-SV?>%*2?g-U6HnB7rs4`qTm(01Zg`XB;ZL z7=_BhJr*w@i0dj9?{$Zq@aE;7Ax4@Gvm-}RkU7?y7pQfby(m899hx=UPgJ~wu}e&gADS!eiZcl-;N|wl#d?? zJ@$IGBFOsWOIe_D$okS+-URS93qku?A0?yaKmX$kFunCf;0Cio*#W%rg}FQW{JHY* z`WH#0Qwb$w-^iRtubt15CMChWV5EjmQloPA#A7lT6f_-_RFj&svCL@qo0q4H^PYORluxOTmrw>~cH zwq7{F;(>W~+s>_#PX~^&M(hci=^xB+g2j|8sOjkeVh_F6&~$hJ`G34o9rFPtwF zPu>Rnx^+RsJrvFvc)8}!Ea`Z@{T=7ovF%kjmW)THDYzCK%~zvR z2?LrxRO}C8`xb8ViZP!uJnYe}IvvLexgw(&8T8DVPxs(4ZH8|d<-^nl6hQYCsnAw~jTsy{2G4Dy0_z-{diy6ciMK-lf}=F5bVF zT7Iygv4GaiB>~-vD(X#nWkIDkzu3GR9|+&VI{PE1VUA#E?6@0O&6mN~a%&fx5z1vt z9D6NVHt12_u*TcJo?*-THFsHB`!QytqWRJCJktywGEZcdz&KQaSNGJ)$YU|W<`IF6i;OcAEW8Us0&Tb#Zy z?KkUC+g8pk2&g_x%iUsg9cz>brn=Mb%InA>v~>Y8H7>~XWt$kx_NZ*t5-jPrTf{fE zv;dJ$Qe+C_z9DNGG^Qxts0xD+X}-n$KPi&3GKbmj*mlh&(66kOLyt2}i7Ah{x=W$Kb@eIQe{VhN3b~DFL(+O z2O=bN;Wnik`-I*OG~=wEu+R=uX~%$b0lP{>eHkel@J%^&F-;vdwb4VaMXsi*mXm33X8_f=nWAqy%IgpN*BfNs6W2$8%=@hR z_xR^2#7LXOvCFHEbS{y6RqXxfeNU7Y3f)O-d30LrMWn5wZhpkp*9gX6R6fq{!RrTp zeZNC<0|E(2hU~rwmqy9nd^#bNm+^HLN6rQ^ z81?S-6y>L!4@92rq*wIe9Q%5UL$KWlTF4YiSvrFWcYb>Z$^AKy19wUQ#DE8*II84# zSxtoT%3;E-4jPe>Oz6&#PKNf*#ZS=fC3hj$3vVe!bK{=-_vLPS!&8n|BwZRX2^KLm zfpa`xl7vpYf5z*;>#gUHE!uIE>&;^fk>)*c&mG!{3acT{Znd2a90V{h0x4t~S!p+q zbbXgAIoLs+q-@56Xp+ml(XLxXlI{P<(*N92^Nom4@$vZ~v zS5l?|Bu=A((n8w+-VeuPWTA-kUoDqx1+pUc-8HhMDHK@<7VpkjwZE%qW8;v;dcPXl z@k9%6KeS+F#jDxzMW)4R-wg>4kW98c@$j7{uLkID<$@CjuDwVfX==II(lNS@n+M_n zq^UO>Ms-)dWt5MAqBJ34^w1U3DekpPtf07KM(cBf(IqoyHMNc<*9a#*e)Xh1b(}1n zbdzi+e}`i}Xru$RN!?td{5m4)u^HRi-5JNkYkvOGw7ZMHne(51lEOA z^HdVw1jiHC$i~(MC@M0jq0m|9S0tsyvnxsUqzab+2%2fj&HSuVA$5;3`{gQhn5H*U zFVB|Do55SF!B{^3KE~;3z;#0b%u1 zVg(u+MDJtV1AokFtB(`-747wB1Pczw<`rZ?vdY^X+-2khhYDkICN@Nl+EIM;*Eq~3 zuEjMOz=Kd3<29X+Y5R?5!|^U(J~E&cI8Hc!!s7d}A$fs@~KWdMc5_JW7V_1^bhCQWti zeL9ZsDZ^hBms$vWxf1p{WW@VMvV}#Bi_G*8@U=Gq9!gKkJAZQe=fJ{MC$Ou)6Q1a> zfpzSo;n(}AJ^_;Bivqg?RMS@*@@`2gmPT7$h0=u$ojX;I19_+#?OZuTBv29IEa%pf z5ctzRRjPMY_%~Ro_ed0ST>0ES3W-IRs`W%jc0LGXf@=dln7S^d>;-TtT-BY;OxE24 zK)qJ{voZ4iQhE?N_%kfRq>@#6{nG4LFhN%VJqQQ+dXp*?b-kCUK>=$oUd;lsevmKW zG3rIwNifqm4WxN=vb8aAS(w2zUD;6GaxhK4bck)E)*0*UJj%lGP9g-Ca!dsE-d)k> z$ZKwSRl?u1XQWB{jBaU*Gl@%W=W4}Y026`}_PvwV#k%<5%(A&_%z7kwtuIfknOnPp zZq+t+_FnV=Jk(9EgEmw(LE@z-nlpHe1K4x+-`{l(j~Fb;HY-88y5a2X*u zT>8H6pjS+Cx1_2R_zOJyjKpyhEBTF!fg`6-(|-5n8D%eZwyOaMRg5 z73Vk>S7bBl`~ zpvaFg0K3>*1FN4X)X5~6wIw@x#i!8?$lLx761RZBDsZ-jU>+>Ma@VB;aLi;6qfdgp z=>lX1M!k0=6bi`DYmwO%OYfQRM;B{U2D?07%i|h(k0decD-NzFgVquD%UW7rx8`{0 zWY!1N#rLX7&1SsEWWBM#6p@^E7+Zfo@K#}AjI}+5GkefvWWPetugowA=7obp>)Hyz zUAGN#3nOebWBJc8K{#yyehO?hC)2zPlDT#r&!7s^?|M3o<*VK1h2VFL#a4my9ykCD zh$(4F3*I_>-8Kl`J6F1^pgK6jU<6tuaBlWW4X<2Kb=8Z)pz5F=f%vRUm2z`iAnImc zar+It=lL&&c{521fpYUrDy7@?yIJo1hnSk=Jp4EPlM5~Fr+4%K28#Yp)WyxyD+p*4CeX%R8(AhLfqb>Kf9uNOm&e@!4cYC zuVi3w`UD<((IDvn#Nvk$5Fc?M^%VB;#{*u(W^`@@WLM|AC#Y^V44mr$UlN}`hQ2;% z7cK(9-XnF~rhbRD^1=j$Us+JegvFU_{{5xGcfQvDaG0+bTd(#N7n`gRR!#00FE7{f zyb^uJz>~!QZ@`-$$<+|#Z_^}yZV6@Mjol5Uy@uEm(W>$EaGd61d-U15&}oT^~eaVje%(~?OhbzX{> zk$q>xg3zLWlE|7SY$Mf61ukSF{$@y!a*|pQsD_4lO8k_geKZ(4$`q#vf6;MVWNDi8 z1kM*GI{L`+D<#5O8j#r&Y6#%j3nAn!=Pp-Ta;IA3|BwZL>w1!pRh$*n-%^7St)PNS zpWF$d(pSb1vC)#meoShLs9Boi;}b=t)GU#eHaY;DzKq|TJS9~zjiJ|3k47TnWM71s z?{NWkrruFJ5k6eVBMBOcZ+e)Mh%DA9`7A_rTjWSmR>=XsN2*j0oaUEz{?;gQMxd$D zAgd!mE10NG?~iZmwM4```Cs>2?v|9)&zqI64w2*|t)jYh^%RQnnDAZgq|)tGVRKnynmk2CV=htFAs$Nw7WmV@4tMvj=?DHc;d*^9GhUrNma#$v7xIk7bba48adUah77z>#i_`C{+LIn)2tGCMC#e4I8#mXf} zoaRJ%cn)-uLnKv?lILK{SdBL9oz4q7eggorc9qJMmEI<@x|F?^J6L(|RtY~g6ZGI+ zDy^jLC}Q`W85Xpo23k&T9Cjt-*y4!lg{j-LS74TFe>_+88aKxWwz-j%Sm!h*cxdG^ zu3E|`_$&5LoAiSKdRz1806|J*-F*zz>|7>Uq9E5x#zLk9<$p5Aq#me8xhmKKcL2H} zxNRmGYC;Ic{KOA+eL>})EL5t9l1iDEeq1U`xQW7^hq|9a&gq&$N2LZ`*e)32pKdi0 zIhW(BP>wX+1^izTaV8C%h3hk?1Gy6hqCTfw@irJ2+mS)^`Wq#`-a;6d%Vq<;DnTF@>gRElUw#zY65CaJNp8XOpFA`sv>4I z2Y0yQTZqc}D}<6;g>K zYv2ogUuU=ZJ|73APz6Y-H#E7;Ebm3d^ZKu)O2_<&b|bWAKgCzd^-!sI zCsve@Fm{mJxY9Qy^_U!==tRpMi~axTlzRH){6W0~#k?XMezv&oKJZ;byX$Z48d>c& zLN@lPX8=CziN3yKSo|RlfCVExJT`~2>rx)8@kH=0^#@Gv^7~?`4VEI0T=`ai8=H{) z2uV6r{!}<`Q(O&kmOE95sUquIXu z<6qMilRip1+4Lg{eWCS36C&;8Ld>wJYnx!_J(Ek4JXS1D5VoXQz~xUN(Snd}RVS>w)Y+@_-mCm9XHN#KQuxbg=Oev}hLc!j;6_z4 zg@!`azL}skxXy`9z%?)=RVrBBU7YAFfhy217pTjrYuu)L^S@BK@WrH&cIkl*t*)3a z0<+K`1qNRhkFboTZEoJ|9z|w>Qgk3G8w4Zw+@pRe*->p$3H(~Yz*$rc+dI+i%cbw! zUGr3MTK#<(@<}h|GDtFK zQWLKJR3;{>`(Tya{;6X-JMtohzdLk_^il<3=;5hwQ(wr6f#|6RU@A<|rpae$D zj;e!_21f>(FSdVcA-OfH#NM?0ULeN3M~w$%6wT81cI2zZi!+nuMxLQYZBUF3Vi^9p z8Bbh~`FtkoNNJ=XMhy=mOoP24tnD15)1+s%!sr|XP)zrsMOSNX;h0DH*|p`EeYA+ml)qa7 zeYNBXr!#U;*GePyJktVL!AOj`9Y`507;ckOoCXv50Jh{lSBXxEhL}Vc_I_QK6lw{o zLt+kq&6y$>vvA)WFT9Ym%;b_H9d+zIBJ0R<6dEv=AlDN=c&&K<%Gfa6F7Dg*;r9mx zDO|cJW5Vt^L)^k!-Qb3nG`AEmMzcyp#KVp2YZ*eY4u=>0j7qZOUqz}GGTfa?cf(_D z-rQ;|ok}ronWN0d;X)ZW>V+O6+CBWI^VU@WawC40gC$(mYmZQdEl|PpeFLr{^N^nL zo|b}=!YIALg5v9yI*E9$lMl$bfq5r*aieUs=eEjA}nf!o7=a^u-~HGGE-|ew_g5^ z{z$uJQb-8iYjb1lvZU)n@wp~FkNY4GQg2^JnJn>h(Oe=HhoU6b*c>N@xKx|nLIH{d z1^~_Tq@+Pn$rJGT&mzxKWW89pOTZzl67gw#vP{?Avy`%OGK z88>a>VkvSgg8QH@{{_{=Wiw*{yZW^6s-IWUKsn5vIwpU-FCmeTZybhM0~jxL8*GrB zV6v+x;Val!D8(ZJ0-xbPoz!%$H!W%WCz4M~ieOt%)68y>`e{VZnM?j{KNiWmY2X?~ z6lm^zvF-D4(EoV&)eF&Fz@dk~!PM$|nO28rAQhe-QCfo`hU%C?ouPAyn0XlPnJ^zE z=c}0t9N&`L3WSR7T2e*7_|n26#$vS26MaEkzQOpZOtjp%_*>k6q>ijDD)i_uG4TsBn%2ry_3a)q4W!OF4M3GL9_kUj!WklKXl*4yZxQ?en;MWwn-6lCz8-@e0m9qn?p>Uwg&*1V!ixso_Ke_ak5X=U547> z0a#9{Eu+$Hh(~rq)#Fe;Z|1V3BwYpo^O!*GKS>&cT{A&^MRS~`Fc-A~={+!)7Bkb7 zBJHc)eod5BpaE^N*L^~D{xVX;1o*)Hz+_3z?x>rPLYagRkS!RK3ODZvPFKchh(4^4e6S) zm=;h!{TsbS<`3d?zonXK;ob|K-|ikme0MkAcO$a$LY1VWCU z*tX4$ZQFLTNnUK*wr$(?#x^(BW&d~geH<8Y+cb0_dB;a?Oc(ok$oe(2y&KT#T$w-j^U;~+!A_=op1mZ(kif!>=x}yZ!V>nytVJwO2xgAVLQ?e>s9Y;Uaxjg_@HF zfSRl1_*Ma7Xp`^!rM)bJnF2^l3|-=EAg=v+bKtKc`aV8HVeDgLoQexUq6|h?5wOBw z)|ZYa3M?Q*vvO8k{>XLK{n(_&3MATi3u40$&m=6hTP3pG}zX@BR|F=c4i{&ul& z#gV&v(kESMDOv-q+6E+>evwHv?Czn`^@R{`advd*FSmW}J=$12eiP($>svg6b&ejR zr$C}aYdE3& zzq7_Y(3o9FZAT8wLxthCtE25t>X0Amx0Q$;?@)_>9oT(UAFPMQa79B8TNpxvES)dy zXLHbuWuGDuz4R?5q*x31e)`9;JJ`krsMaf&19R!3X#xGp)~5ceasRCE@Anrx-Ix#R z-Jpu?_D?>3Hef}h>hJC^+-KAp3|k0&9;2Tn-G@$uAr~Ve#zQG3UZc|d+CQo0g!8=< zOx?&{M&0&Cx61mG+>5x7@aYjcMm?Avufp3e;y7j{s++Qf0b+f0+oJS3;bUuze}P$R z0s}wGUWhew!YIohNrZLe0|8^c{R-Y2D}@hIC(RL0-2iBkS9i}}&JJleW^`?f5e?4_ z9o7`spW&qF@FmSi$GVWM8?*Dip$Ax;yvrM~(Xl!^c!!AZKZy6+4mb@}?au7<;Xh`d^ zV1VfbBt*oC90cS$4F8_YUvALNwavW6Yf$FJ4dWn`p;7rkr|CHY)y-uVJxJo(t?Zl= zXWDGVdrrEvX;zq4bS_Bp2u*2tYFLhtEXWCfRRbKjZc?P0u%^0#EF%uf8z=UbtV|4E zBW`q}Ru+48qDnJ4IU@QJB8Okjr!WkUI$3f17^pLgnR&d}e+3@PI&pVAo5WISr%{i} z^MYtx)VnD$Ff|LSY!H-UVE8Yw%+u0f?DX4S^oT{27$>n8Z*`bJk} zdlw9WERqLvL2Af*Mhs_tY9QE}LG6ZisJpoo+u4_SJY7h#K9HeB*(&7CRpio)rz!k! zPVPFsNHk>HC{Tj}lrU@MQFkaYvHobBTw`{NQxPN`!|n&ebV~*dDk|I*>l<4`el;o! zq_dV$^j5Hl)1dvY2Rpz!xDp$-(ZqPf?olJ+&^P+BxqABr&zzo?w@hd%AkxViiM zyPrWn!A?nk&Ch?kAd~0Skn&U`*Ks@l#!nA0mFE3Ay!*@{pJq2}T}$HOcUUA}AC~*u z3~Q6P5rYsYq4KvlRlZ{kTgljn#@mqHDsufn{EN%Skp1d+oM9oxtz@dSn_ROCO8v~W zFra|o$Dhjmy^Dmgaz3?;xsI=qrl^xH?D4Yo=4#r7+;*FleyD8VTM&HvDb9xK$L0^9 z9}54KxLh8UVF6dFvVkeV{?n+`Uv7%*yzZZeo}oXj$u{2=e3fM+X5rR>l4@Snr{-C* zo*oh*qFc!KIHhTmihNuvwHMGIm-W;ExM7ur%(+K$;2bF|J~&#zOEH6cV9RAMPutDv zzIUiE)`&x*Y&MgsN>xw$on9#*13uNzH#!>1(u{c>2cxJo8XgdySabbXwP0;*VEK)!TQGf=--d`L-1!cVsN){s@=n0bnAsP$s6>}b_e_t32h zT{3oas*__cHjc#1@RTtJf)+z6LsEzID1?%NfK$SJcTX;$BC*gTf^@iy5n~C=Qu971c9*$%~oKuXIf*T`>9p*XPVWM^OVV#&U zN~3%RVb^ig1{@k~mjZ3nMk4%SV=#vk14tf1_NY_)%Sl9IgmpL%U^9RD$m_uE7t25x zpE)}R_+CBEI?*6@$0mvFtYhK0$TX8Axe=n2vkY05czm9^#a*wFXGC$dPR|hKPgZyY zJiHj2_JiV9ni9z(ZnBm)m$m2@ou`7B-J=yywDfp_DKe^>5<2vsE#0!eK*Z87w?6AvXK7a-GURWYwx;C3X*~YAjwo0Qv(6CCFpObAQmXNsea= zALofv$yM^Gy}UMsGZnFDTy|U*s8Ab?!SqXF$oxx9PO2~8JSSbxa@J|2BDIkNHc)oC zp;Bq2Y#I}L`o=NoCg~B^5KuqqJ;?pWGNFiA@6zqP`mag(8(s%wq=L(RiE2D?-FU59 z14K=)9^h9y>o-=f(*Ra2dZ|mV-(tN&<40{G2cB1{W`m*fk8=3!8{B1B3knuD_2)NN zY!ii!71&kWe@)VVglaA~%}qRu@BU{(ICCq8_Bme4_A^+ShfB-1;_-B_*5p z%PUFI9U$Q^IBCJV3yq7eU>IQggVele-^O;eDew!-jx!-S1lkJTrhcKI30iNX)w~=n zuZF~1(BgP^CZ)idR`@i-G$1Z@2!Les9Z)~s`THq+AucusMvo5)x-E8_+vTz#(K%t< zCemtwS5RCWs_j_Z{uF*@kJU5k(9(kw=0)Pb>28DGviQX-()+Z+c$S$^d~lqo zUchyQf(gMXgM6?dt`;)kBz%KY4gTHo0uO5v0#3-p0f7$5c3#r5`1|R0 zJs}tolmstf0g>ZdLg(NmCNM|rJ+?W)XB^7>^q&eVSp>ULXg6)ZT)>`+0#bRp+BV`c zpEW!=pDkofF0xH;ssxKeJX~Pd2QHuhSBWWy3lk@)i3o>|d(h4RFG=d3;P=So> zv2y*l?ogbxeZ%N0+vKSV#o&jw?UFh$6(Rn_gA`1t&$u;k^e1J=YQ&A1Rk>@7%^*K~ zb9&ihdmXY2@|i2YzegoiK^#vyqT^h;1rEh$@C~nXbg%)4AeqZDhw`0kQyWOFmY5QC z88|w$rwwNh7$SfX!`c?d3{O~+D-I6{4q9yO9&B)oK!E2KrLiE$JL#@p+j-q3vi^d@ zk64w!c9#z>%^v&>a^vaqww(?NiM8-0r4x&zpwk|ykCE495)JCWSOR3S7Vz}KNyr{1 zLh7IX_>~3N?fB6|gu9d`j}+ySAPLL=Jh-wZb>`rq$R#1p8=fL@qB%St6L27sk?0fa zSvzKM=3pj^jSIUHvLIibyb@p^;d%E%P}&kcfDjcQHgO}ZQtYe0$xzg_9XW;gmX`r8 zm1&fPPR@%MPeQ2HIk;f@Mkjb3ae>9Dbc$wdW)}_+<4 zxIL7JVG}dG56AypsDeJUD*%U;AqW4D$k{iZ!Upamm?%CYGez^quP1kB1IrJ&3jdUJ9I16QLuCv~oV=`7vk-05*(>EF*rycix zvk#+l+KQr4GkMR{$_5=F3rQ2n=CpUF(LHB6-W;6}98HjcFb$M!p!C1tx#)~-nJ0%t z$mFzhrqDen8qYIB9lfpml zt!POU;v7QxjCgK0XW5f|TU`jCq?z3gCDA_&r!QE!@N0D9s;h^V7D;2zW?Ro7?oZ&dtM*g+;x4!xB4F2oweYHb}YlkF+OXjMk307EA^gv4V zGjv7?1Iqi;7ff8})d(g3wiif)8we<~aMxpvVIAd!b~M)>;Ke>dvtq0)gq3u(vcvCc z%L@a_pi_|wQ46|m4YC-V zw5sudOIr^ntc;%~*kD9;6KT?XnZu4voj(I{q={ufjyP<6e~s=TFSymqoN@7N{^m9D zoE=TG5d+$5qL`m(YQ-)OS%XN&GQ|0d^+Gy>T2R0>AYisibMGE#1Na*SU7zU?Z?O)? z6g`>H@q7p$>zp=eb1+xqztOM6+|AYYn}u_d<4*c2-{@8|Wo$!C7hdQVyWQyqjmOO4 z#1>!6AVCQG&V`gTVU#%`B6`S5r_k2QffdZH*fjb~xGW9fZEs;1t;c#J@T=_xyj0P_ z2Z@TSzlJ0JUW$hn1|Up7Z=t|L=^60VZ-&nITf%MqHj&a=ekScg5sPwupUWKtO|}S( z?`|PGRF`>9y^Yi1kp1^-l8KX1>Kld^Qq36K3k+A*n$^tRDZT5MA$?X(S78(s{b9Rk zyjYMRpE^?*q)dA_x)oLgy*hp{?XiTpV=6gPgn0CcCaU&OB%rAiFXT*Nto6Dd3+gIo zmkZ2b})vZT}5u z1bV-tTSVxOt6QRq-SJX<0Qaob1dt=5_AwzIZ?esZ_y} zwM2=_z<}X<6`-$5FZ5Emx%_1~YLaMbW(^)FwXsH=B;$cw=-me^OBU8;7$DMy?Re*6 znSS|ThauM)DdY4hZzJ(;dxvkQ@_uBeQmAJw?#aPR^7kA)#0Nb2y$@-KZ?A>nH04tE z^A+a-dD!lz0QMjv@RzRS+KY!TPEUgfE!JyR;sSqVJK#Ahaa7RpsV?yJ{#t-Iy;$&) z5y?lb7Nd`}+Z-fu-Z_z`yDGrs`cJ8I|F()?#BCF58&l)ze`?!a2YdllcPI72%Of_f zf%GOgLeAe#tHeCx5A12h6wff)$L}kXZ=G!}sr0N(?Uceu7I)+Jxy_()%Faz-@K4rF z1{Q$w2tgF~A3D{vLrFSL*2{|2&#BQPv+9}D&D#ZoYtdcC@e>moZKw$ybhd)ZFkjpX zZdSxveE8q^Fd+)AZ&*bs{f;3YES*flYeuy^w#g2 z*i&yOr*xHVNZ})g?F~**Z&unn$xiCC$MPz#@3)K?`4WG(UJOGDC@pL^5<^U|b%vIH zdIJ--VUB02MPzlki5flBq2cll9^&8v5x$`P>*bv+aRzYo)R_D*#W5QVr6hO*>`OMu zw1~Wb$l-klS=Vubkbm3pNU|Up|2yQG3=?!1bZ?_PJL*eImUOh|@ynMmu+SfH4M>46A85w6eNiO^ROh zyGlfrr))%51~jWIL%v!&r6agh2=&xSPglqeV&ilt5=bCq${RxR%VeqnPThpU0o& zDCwj#Vb_+{CLeCtSU} zzo*Lhm_B2n_$*Z3JX{~Dr!!g%{kP#sN>;d9MwG%!CoP0Gu{A{h4w!N{5r>@rMUQNotiZs{Ffx+`S0|Z^RY5rHXz2jW52`T8T%ygCH|(WHozkIdsMFx|KRC-M zdCd{Uv==3TDx+z7IZ=NSQ@imwe9{5#!?sjxB-zjlI@mS_HtJ&i?%G*VW`s$gQpPg} z1PlHQg(jRl>xH+_>SrvbY&g_%Z}Dd^`y7#Vb)E|TZbcuG29U~AZt3J5s-8GCVr4_x zC|PZnwU&$8o1RWzYt1jT>Z%!S{oHgm&r|dM^oq^kGCJ~I!Ty=_%N%`bAyI%5n)ZZY zb^447g|SO_)Kx>ICMY*E6e~87-DnJ|3S%dgM*m%l@o2LiAi%c2k=TGrMIns-)@+}YN$rRAK&`}(#M?OaQ_@Ilq0 ztp*rZn8p=VBlTTzT>0qDcQ$|}tPqFZjr;7{Hmr1xYnHx}3;~tCW+YsP5P#2z}3qbi}AkaIQah(~|ZDK-#`^Y46aKBV!Z`IjkNz zZ1PHsLk%Efx=ImEllEC-A}n03>R?V!&rsV|%g@7a+M_->P6m!H@%km4*S6KT4 z>UHL|-0bpUrL>qubK!uj3Wp*a{1h)Nn&D1$4!yZ33nTF!1nCXJ->`Qfe}Zi~k0gz! zrj{*~ehk243EJ%3rVfK?sex8#<+Z{NH=uPfz^gv#+kd?VgJDy){4A;KM&GY$;gd$D z@ZE?MoWQZhTJsa9gSqt)&l|vL7zkK8XtYq7OiOww>Tbj#z*zuH@Lr&43dcdeGQy%> zP$LhY4q>K2iofLtlji_#3I<4u-R-;IEsqABVS|##WES$sYnCE2ESQ@E=Jt+s50fO7 zZG2G$qN@TIaPZ|DtV?ZL7Yk%{=0q2?e%6+AbMV`xfNlwB?nYmdap0N9_bx$NAUD=i zwHoGztVwJ>R+<3l*^`dc9y9fK1A1mzkT-qhaKuaNOhs(;hd6pd^)I=nM&ARL{~9_#9t-F`r<_Vq zMou^`*}BtD_lyyu><5wh~II;nuH!hm!89`PC{~HwN zIrXEroX~%35r|6>vMN2Wy?!A+2JVRuMzKm3?#h;pQo@IAel=A(t%AhFXJe`lX2FH$ z+jF%Q1R!hkK&)cDbVwSfi#+cpNoa{1i`((K$KZBL)YWh-f^M5wd=XE5k1IX)Me6bk z5FY#;9RGyqlOrTf;WU6N70N0+$c<4&Dnu!>5OBA0x}bneJ)!E7yb(Ig*<#3O_2qDF z|FyP;-jBx<2*!w6j~2F|k(9ZeiP)zFDGhVi2>1p7vcHpsJrv(qRt}MUSXB;w|J;hH z-(`2IE%fSe)4pSYd0NSKfmw4&UUL+-EP&Va$m=n5T+z#*KvhjDoFxAduhh`=c}J&t zV4KtiKFlr#;VZ6Eu0_{g80%iv9m*+rZKoKxVRGh0;P^ngKr`w+Dcy-4eEI3u#(!7~ z1BjUNKyzLCE;ld>Ki`~8P{bmGIIdSB2YF@-mmD5r!C=TuLAyst651DAC7wBLnb%i6 z3GH}$JryAo!CTt5O8rNV6zV}qcfPo0U?4XLUQBG};j9ckc=-$xuZLarJIih4nmd|# zm+g$4Cq<51Z;F3<581xQah=%OhaUtE1+X#tuKT_|dz1?{BKLxI&^t`NAsD115B#ooFa8Ob4Uk(Bk?~4N|`(CH$(6AqRh?o&#V1jEsby82yH8E!272= zwK*wmeg7YcjUZr`VrwD0X7&(nj=)Tp$kcfBf%<=J!qt<$*+dhAd~0E7#1P+%`Wu~E zBZNoSYOS$v!y4(_;O1ETRp*GPi{T;`{D9rQCAs^ai^5$p;Ltx=^Y$M_9mS>bWsNia+btvC*h{WI+?<8D~{`Im56;QSMw z!nL}}twF#RW0C7{-BN|$_Xi^)6A`>s5>mIm`n&Hha%7Vhw@u9_ItpNHFC6L!e#lqu za~b7JUU4UA@rs#H;liQexn$g5i9ND8@MD|vN#QXP7B@OAYTD-4q z1V5Q~phN`>5WMV3WJ6+A!~?}@{}Q@ez#4!l(mnv9ZV(j|?|f|-MTv^mkcwz~inS4l z&oC{8n@xamS-?ZYZwo-u^Lg@@PUS_aPX)x_^F(A|pTK-R0v$2(h#GMWV&lQ&#`wjA!Qn; zKnaJeGz$dG2Lc_|ER+PqPauMi{%uBPPm39gI^o~=N!1Cz%nF>ZZI?Euu#6n200p<3 zAd~a&?Sdxe`S5?+1$J;pL+06&|iSPKyTj6@&rY#ErXOjSeczp2GMy?}DM)aMzm z<~82Xxdy3bLq6H3+Tb^!nOv{T7&L<^B#9pq@ayq6l2ptOEIMclM1y!VHdc@A)ZYeL<%xC(C996iYHF8kEDMB1*zQsL! ze9WGwhU^kL543PZc+>Tk8Z>+GJ!#Q1Y5deBfQGeT(tK#$c_?{C=AAz2E)Q%g5x08k z!gZ6GIT=}m_kbFh+@}CMs!@)f;{kdT-$^cG0VI6}Y~7Vz`|FBz*s7~?jBOQa6U+%^ z;_|~ILjzL-TlYR)suF)E>+6WKt(&9rE!-`5X@XDLBFnU7hqj^0#U+zsNgkx26w-IT zUE#0JB0Z4%)Gj8o&qPoGs$@Ju{=G13;e)5OOP<(r`O|knk(E|*s$J0U4uG8Lsus!C z>xq=b5~^_1KUX*Q*z6$etPyA-nstUNl+!m-TnDY;PjZ-oYt}BA`H~{duewpET)z4j z`LleV+pO0QIx?ZsCF%|oiBNjuswA?(C}(jlLNS#HXK|}Zg1pEK5uU;%aLB-SZZQ=J z4&?|?!^M**Nuy7t0z}HDD1eA|%Sv+aIDE0fgKF_Wu4(*nFcTgFbD6hwvBxghnf6o! zwjQ+#yRM{KDK`hyI%aW;z3hMI9PkUBvwzy^>KdW+_zuVNYTy5yppLiLsZZ<9>Z;(3 zLt~h5NA>tm4~dUJGdNFr>Noqr+je8*hn2|WMf8$}>Ay6{*#O}a?`nkRp0c^Y{2_+a zq)o)H<4!n(XR<2*PCt}x%4cE=;f~c;DI8|0ImxovEpnfQgO!;U9;_`ZW;-|pv~L`& ze#=e<<$d0jX#n_uIR3)cS_7PMXH?fO-~6#iQQV)7{bE-WMo5qP>UqH0$G6$m`t3xK zTjHpZcQ$B&=K%TAygahvfg;|`0)VyVQNrn|9cd`<&rf?}UDQu&KId6$@#3}6?--ib z9rCwag0V_PmWP+TP|4oY z51fDKn&X6qI*@C!voM?TV-S#!7LaCgP?%jP1n7MBQI=S$;AVa|T{nh)?tv<^d?0VGbffkGeGt>nN6WyWCRuZN zcDw(Q`Jpj6M8%A3<3&(@hwB8*|IsJsC;iJj8=;N2f-pP!LOfHh@6J2yMNQ#2io-l! zW)EiDDhD9C-`Qee7MX88lUkLAU^L`n1D}QQj(;uD8-!)s-iu>SITAI1i5J?(UH%#+ zqLO|5-Um0gg@m?)i_gQ*xfINIuJhgc0}D0|n;OY}g5Kkd{=*qw{RlzEEo+~^nQ$#-eZ z-#m(JAG0r`MrLLU@Tey@NO;x#LEd`_5`_rq2V@u}Te$)IU%+L;RoW>YRG^CgZ@-N$ z^|#-~;cBskoCdTR4os8q!!Bi)^Z!RZ%mqpbU}50o_&>_Au2qw?zAjD+kC)S+ zoRujU{xkmWLBReO;0t<@l=$#)+$!<)jTjWf>E-$5@LbK+$@S^w4I_JM{$ZReo0+Bf z=gUh?%Qkay&>Qup-ZuyU7>nD=_=oq$za;)|cM*?55ffyB_K7lMf;xvKeVW8Nca`LW zpGa1hu}7BL zdxi92b`odC!9xH?BW3P`Wd~Wo9#*Dgh)uW$6~+@cUZL{I{BfHy)a$Av`<1NUnJdg- zYd0vXt~Uf|+HX+Pw8MvD$+=24vF&|cT|e!w&XOfh%Tn-${XoG2@Xe8zEVe`s5+w$0o`jpIKE!d?IW_*NtYoV0na0zIiDS6L7`D|2#I+1ml`INyA-&bllUxNL*kOrYef zh(Sa3Yd2VA7Y@|9{?Y)ZJQGd{N(5fE)T&Uy4bg7&L%tL6FFT-C<`-=s?FiMN=t}L{ zxPSRPj=^sy#DF~~K^jUMD=k6nrXT%ib$Yvczoj!;#!gd<*AxO91&TsVUlc@Y(?Q0L zM~;kFuIz(Vrh}P#feJ86gGo-{>RFp`gP7vGOsQ`@pg?LE%e^x@CIpv+#)Z$Uo?%MD z6@4KfNaX=Y5{ui(YzqIpAzGlQ=sB?Rr8QMz_!6@W;>jz2T&kAOdTv%(Owu@=AR02( zQ=9d>=;CqTuhb0_k$qMb1tN^Y%~K*tpx8-Z>@by&O*;axl{s-15kpaj!OpNP7I6o0 z9QjeNk=6{C7UJLtCF-Per`v-ERhJc#wxGr`1^_syIk0vT7FvIR=Sxixt3y9vzLpI$ zvqK$FoY;KLxQ2D8AUWKk=49@EPK=*ZG#H>pZQ?EFj<4mSv&bPyAKIfoL@6FV*lt#k z8a&!UZ_H-S__b#AM#V{@DbSk#02451kT^ibG4OCA`F@^pG?o?-eULlW_*S_cww%|4LDHFZYIMZc<^|E7&1=S!D`J+SiBGXrc; zjgFLHSv@)+n`JXg4Z9Uw@eCHdCZ6IgV$Xq%m0=pm4=%|En0afo28SjQVy@X zNYk&CYu_7E`>`)poBWdmOa;UWP^ddV%)P*tcc|WxU1n0_I254DV^^v(QYjgu8CLGT zEZ&v;%ca;xsI<=Y-%duQ_WxvYMt0$HTIWj3EZ&?}#7f_Y{4FN7snWNYqqjdQ<2+eo zuB872G8%o)BjG~1+I=?s7_R9&Rpk_*K&^l_gI%_AS32D&GwQP}xI^&9i^__i8TU~c z(3?laYe`y8)L}7#3GqGC;hHchj9?54ia5y$?2^zIOjB|Hi+ejy`b}E94J~J6jLtk2 z3rnA;DN0p4JUSQ5?3*1iJdIzuK)wWOy4PYti3t0!b`N!}jVN{x3Q8q{oS6V|e;>j6 z&aJA7#UW5kI$`*&wi%i&fu!)Tw+QyJT$8kVAQH_ULzv~usaV-PoZL{zGG+K1__nRp zNees^83<5F``JfEBjQ--AM~0?Zw4L>>;ku(b^lUWZZE*ay#T=`=W4ttzK@d6*=y?{Y1aT$wZXz zGt>m;2^t72%&Q3_gxynyitmtBq33|8s0XaeU%Gp}Vwe7i>|T}enyf#O8{1cUI-jQS zA%ih$52rS=#9LXnfn0({rK%>D#FajchzrEpMgT!D2{a4}Y%Y8?dI*rg3mHD+0bic+ zL3*kT=kdJ*T*9bDFaGdJt5d=5-S{9a5r3A3f=?@hVd`m|HW6+Ql%Vf7^IaB_;mY8O zFv}DtRby6rkza@>=m55SB6vaP&j{m{e<;iW#yn9oyY&rNhitp^WdC93%1FU?Y?y0t zSK8p!EBN96tr%*pxB>3zK4iDhI(V;jl9S{V1jxSH-9J#5<|#gTwlW`nZ5rmI8ACU( z#izn@J8=)3O+8Q?ul@ev4-y@u2@*!|Zw~OkPAyM0*8BP*-kXe*O*HKcd^U_1VA>r0 zixRi4tSQ^66;~mhj&^*ZaJi_2{8{$U0;vtT-IK0mj|7#P0jgvlO>Vy;f&F5}0%8NQ zbVI!iT@-giE{+X={&?BEPaVBF%o=7bfSMKZEpqBYR~z{Su!DoRMJWh4rRj7NRS1VafTc7hQvh#bzB9}Yb zTRzcR-2x5P0bQE{iE>o}WaKI3o|2d5sM`!a!Bv%*;@P)%1IX+WG-AH1h3ESsVB!L# zBlP&DC=7y)M9so~MZp4BliGY^b0-XPJsD)(!FRu(#FnBLf%S#1Hl|IMWcPdCR?W^n z@GzW;bzORTyO>KOC&KjAn(dvo4iCdGDvvg{Llj3Tfd54>AxFpNsT&5kjm-e2 z0-IYq&U*m4xd>#I28P@$)UR0T8n=B#UO_h>&Z-)DX1V!N2S-62K8b?t|K6SZaPIPs z$Jq{jH!XTM5;nO-3lBwfx-xZsQunDm!of|1sEsZ*5~;V9{+?t@GtbH?7u?q?5cfL^ zEk3{;Xc~yX#%q#Jcag&TivvdI_M}XphQbc}`Mvr#K0e8JplT)gRTAQ>y{jmXfY@nhyV!UHH9qh&xs2lo*-nqZD4np``W)Z%6Ce4 z%{%nY**phZ2(tPm2iJw%W!%{bz+1Qm})0fAGa^etHcU z98HYmCuB&K;U*l230NXfb`8b9bHKNGBwJ>z%Zb^dlJffsUlHhhG68krJ7blV*#KD3f8|S^cXU&5t8Wd6s)%I!^*m!0(%W+rU~%h)ft>5b5I(gb z{T`|kJ~_zwY94D+MFU4tAbVa`7-ukemWBvT@_eGuB;-t(oV97 z#V;@A%Q6Yy96Ep(walO@!(A&IvH=X9|1PPJTNGCU61@!6+05;EC;h>tPG{TfGY~SO zdM)@NwG+b3G;z6$hvBg@(W{K)KU$!PEdL+1QC zVRWtkHKXOQ{6t+=mUTsscAk+!H<4)KBMU~AnR$dwsLi_YBm_gS{+W z{n?(LE9=0`t>+Um(bmB*1yb_==TNwi{B|fXv#_!JpALm-+!nZRxcxnCj8Ty{aRG(i zPu%17AU{5VKZO+WAQId7rRa(UQBEw!CoNe7jC;%n=7juVi(*kPQ7`=4_FpSkgO~XH zJ@0qO9KjKz&kuU^fbZ&$J=qFsCoH?=OFzTK)oV&SU7eeP(R=KW8wA zD<6l{ZEZ6xP{v>V4(dl0GT#*CP++W5qqNOd<1)aJ<^wQxKT1;U`0H`LGe)Mr%B&yAcU(b9{UphLv(YJ>Hm&q(2WIPx{CT-Zijoc1iUG=@7t$o<0 zx~vYJ>z5#gTX29`MziFFB%X5ovePb?_gvn(FYBDS@AzGYYqAJBFAmK)hm{3x!Lkezi3`oT$dcr0szSe6nZKDpp+4X;{gUKK!>>Rjn!c=LcRfE>0OJhi(t z`&8*J0}Q_rcKJ3?sdoYU9%Ke%^|rjTfa`fWjvUn#qL{wc40--14}yr{B}4;RGX1yl zmfuJO%lvIWh06yhqJ5iMB9EO&>bN!I+~uH!@SXo`t=OX-Qga?FU)70x5epGETYRG> zM&a>h0OWEfiQ`UGuce2}mIAKC+32^y#YAb5j)$oZ+K7!#DM?+ArGAdM6k88kyXQAr z%)WwD`j3*J>0h^sWIDRQ!rD2Il49cITgBIX1U_*kKK^&fafAA&21v4ZkQbErc`{_B z78bIvr!Fj#NsPJQ5nEPTIGt?t!30$U0EPpA3TEg)tIy5i7Ce-5+_>#`Xt*4%*A-YW zq7R;{eqRu`as=2J95jw2FH8q@vAXV`+y}_njX;Gz6^OCBzA!`wUl=vOxL*~;NXVw! zUTw?sKv+J##9%ep_@|MQ;@U_P!0{KU?jk_$+2fNGGy{JPj>%zui@*lK)kK0?02Ud^ zszV=OtejeYF{F9+m8u20!FY;!xt3+>%ZV3wpVoIKw6DI+PP|{Av)pKw+i+A>WW_sc z?IsW<>BJjoo%&%T&-2B+O+PJtLPcag{sI!d6R@4wf^rU4W^MZEi&iZz7r=ZP4wQD` zv7yREBtlY1lcQ#IUy9Lx;iL=Y0uU|PZ=Q$r^IC|3fcNOS6J*WpuWIPZ2n~4IV z(x{rD$1a8abfIks7>}liTSL)^6PMncPxTVSp=j8^5{z4zhN=_C3oR(Wn#Dn8JMcu6 zj2Y~=4gG@a(uYLNbra!}>jHOWHbq3jLn<52KnQ{q;;5h5EoH6Y5|-9R0!#pxZOCJe z@cWOIO1Oayg;KgDqWyv#Y_N@U%}<3?8T1^2%|RW(hWsRI{Cw-b&V2kK9`Jau{at_L z*UrSWmpldYH(Vx$VcHmc%#%j(ioe?5tx>Zb{2k70#EpLcFPtOSVLr`qH(f!kA+CRnMX?40PE`?Fj8-h8C0Nap%E;JYng?P-h3cy^2rxUtw(G zyJ|daGK%D8D%sNX86@UJQ>kWNH`=&e);3!}yygx%z6{=$CfQu^NB;t#j1(+EXV1^D zpm_60E(xByy(G49d_%DzP*nU_3Nu}Eie%a!jy==lw}1DUQemeMQHdTEI2U*@kz_AF z!zw6^Nlx)2gbt&K)umkGP(XAkLMjoO5FS((AGUE!Uhm=18HFcv&iFL7(zMtgu= zr~j?z+(6|khN6pT)BXu~1Xf+Tf^wkoMz5ogBmZyppG#FAaY7CYYU=sASGf+Zm@DY>!{M!O-|G=2?eE#iLZVRU2EIh#+ z)Y_JYYAHaQ4!fDK**2XfwO6sJAi_nxo({zPcj4gPXI|Z+^vue5&g$!!cqug|P}Y== zZs($5wDAvx?xS%VS_Yc2rzj`_rT(qJdztI6=@lmA1m-Pf;qjwp`GJTQVr02x3}(YH z+=gl1@}M_Srkg+xI#Y3)I+OT2<)+oDErHt(+}v4eBF|D#$|&~EQay!&W*iny!4k9gIDCINBoX8mVpX)pA>I;* z<9|(wu?2w>4bVV5XnMm263bP8tPt65!okg;L12!qiA0JUrT16Gd zLWJ~t(>?@BGEl{QMGtxqOcii^TUrTe zF-ZMy%nqf7ZFK`NiAs#0<$(PJ9w2N5*pX+6JGlmQ5Te%#1QRs)`jHslAMer|&z*SC zW0j(nRx2=y3`Qr@@P%pGcd!xGUd?;;q~Q}TJoC{G2=uj~P%~ftI|Y2%oTqyI17cwXm^$_?g(@16cj-w~o!3pq^tQ@_}t;)SWhY zc7p#w*FOhG`bFKN_{6qt+qNgRZQJPBwrzW2+qNdj1QXlI&3xY9@7BHVt?wUQb*j&< z)B8F7Jk|TG-fJz>o-P*RRS?D3#$QoEqkn~co-A>FTvWmlxtW%*EkXa=q-S1C*t{lr zutD>X`L}#*Ng6+yQY)kOffSKfUC|+V0Eb#zdU5liITC!(l$;C8g7y4UJLJV>wc!r= z>yD!x{_c{SPHQ_rJ8R>x^vZl~X{EScWg7uh0m*Aoc;3-?37;2FRj~W{+#R@-ANTQ* z$VfhiB{l3*MFZFOmjO9rFF$HIcc9yWAERr&>=4D5qseEx2uzR8*l+W;MB#{6z)?9r z#uc;kj#|!EieaQa?be@x7u*@7X#Jls{JCH9sD-DNkt)CM1+bG{Ld{uY>K|RTp&SP_d8*rS(TDwrPjRile6|ni0&VPWK7MGT&BuZ z{||%uncfP`@T$<6OZ9pHXv&0W0o_sP{O=~-XSOcZn=A^ptlaZEB>2X*L?+b!WTsg~ zbQQSK{d1Hjv4>KU<1uzncO~DBAVJ4 zDP+h`6D|$~j=hxRc4OJkFCRbbhAqm@UnPEB)&Uv-)ZX?7>^|ZJKf=$R<5R%7jS~|& z4!y$P!_}f|@4Q9RbsIDIh*h*O)u`ZHR+vfu)hg1yz4AIQKUUYp-9HtkPa)b$`&WJs z**3%SyHzLYdXk92z|O9}lM2|>`NUf0N@zIjXzB8^LrMCjRYS)?EtL6PTE`7r;m0M< z@QVTxZOAL*9#LIIh^gT!CXQQv@LDOS`%aW5rdkLp0+AM)F-_kzs|_xMZ;;c=yTqF5 znbHo6Tiq;o*1J!r8fI%i*t4_#ZUc?moLuzJn3hx6m3BH-CRrbwfFvMn;<9?K#2~ek zl=$X$hn3Y?a>fh1Iq<8DvBP}%c$_rLxPjqkNsIwA@}~+v~R~` zGwmpUH>}Uco9lSq(w3!F?`k}h&H-L12dTC&y~5|b8+MN;xRbn+ZIeMKsOG_ZE^?LA zbPpWzh`)kw=y=E0Ds0rfx_)W;elYI~;{>@3JMvR!g7~o}160%3126=~*^MH*r^M-y(*Fr;lyBBkf(y@jWB)okqyY5>EGo-%w`4;=apQyCJgU-a9b;CE)a-| z=l%`jI@p zO@wMy^{SO>k_AYhe^(mrgLaf7%ACP!56XzsT&vy}uJK)uP4@G&+!(sQPT2BPl(_d$ zIkG=_6+wb}-p&?6YHiA( zfj_qSw*BN71^Edh@IW1Z@O&Wzqe?|=RuHS64+q^C@D9`1Jzf93PTUt}82Wq(*!Z#> zqz8Qc`MnB3p_ptN`0ZAD{YyaS)4C)oRa@ul3L#ptM#sm?5%BqXFbw#5zBmpO_>}zi zmY6jgj8-`_E%_@Pp+aAmm!E8dEObg;D`6r|)gTo^EMfJnDGOMm=JoY`KB$VRLNB4$ z2YBU&WlmXSJ)SWjh_BDB0(3q_A-zBE{+#s^+!Kd4w=aAI6mNo1r=~y+mT=`_eg!jR z*CdaB1ZWr{xASSHsRC%GrxQdge|JGbu$gU8Fu^1RlZ6NbG1o^53(Af?1~-JPb5|A* z^q{t5S`*M1j)D{uFXeQRV?#Hzs>&18W8|giHM1+txzz;E3%ZN53hF7X6m$w^NWoe8 zVArPA>5|ivG8jrLEri^0my`}qBAp4_2nABAS<9rUDw+-{rUR~HDA1?X`(HK^GIT~+ zg8o1Z;ngca*;TsLB-NY8lVVF1p@Jj?41*%i!H~%~j7)x`skA-k3tH$XG_v7mSo^Tc z?Z6c4yR;=H4@Pio&Zd2~6(SApd;gzz?lN?FeKiI-FL4 zGK(&ggen7WwqNG{bPK>Dn6Rq}50z{c+iOo$vpuwZ=^Ro`od}JP^-! zl(De{4$;Du;+RZT3ypt@wCAD_sH3vs0HYm)&Wo3u@%Gszu{9Pu{yADdBpHKD5XT5A zV~2%>T0McG#$u(crKZF#j67rAnB&V)&O|UV3bwMU(hAt=mN1XTCngJ~E=*rFMEJSr z`a86ILJRQ9Y*>O5S{cfRzt%6}4r&&{?RT!r8wio%X=aLf{X;#C2+VL6Ryyp&shIFy zbKV*xhoYEM4rp>^upA&n7u9!RR7rmY{)9OO2&~mWIKp+2D#gxPzA>L4qvQ~gSxgt@Io6K~2Yb6igWB&N(g)fSi$q6N6*=kh`)vqdOTGqu9cT9+)v1k=;N zU@(M!=I{AZ8+odZF*vSA>vb#F4YRcCy4pJdDh#CW<-}tyLMEgbBwB$Q>ofyphV;%p z#m5Q0BOJ6M!8=Ja{EM=sgtw|nXN&Kn%ARYw26MdN%j&G(kR897=s|VQRN;GKnwju( z1Qr0p+*IbuoM%W+v)DS3pDB?+7lSXHXGk>E!ev5^ZbTJ$Nt~xk-l3GzIHA|4rs0c8zj{i;W>m=JOTiojrtsd z=_5zoQL8VsnPtb^MIspE-eUb>%}7@wmCBCYUln|q(U~An6E(-4<>-NmcXU?h>2dv; z9>fc9>^VI%A1!F^9&`R;L#D3ypNQl#6T==0}>2@ivVmZ3%GS9V6)RmOBkDk+%a3WJ@?2SErb)R>XhKn~+sF`wIj^X+&s;#Q--LpGpy_#C zQ4Plvv$<`SP8dKlT$%o;PmDWLVKa5;65z}r^({SBeiqgrvl1k>`2QxGG)kpDk+ zoerECDCpS^js4F>2@ZkTE*rh9GoR*&Fj9Vw`&6v387`3*Qa1czma-ycX^C0d7*~KEg4#GR{|cy$P2l=Fa^v}7n(V_E zxr;e^T}_nZduGi&oUkD=rayPIFzD!dFCB#ru0HExPEZ3}PL9-x5DicYo!YB6v$*{X zc|kfq`;CR@-+YKT4^W-#gH;<+rPsNzw}f7NASgkG{R`TkPT*+*<~j%9L*w`IkeAVe zp6q~a-c3)6Kgk`6L4CDJQ9w=9Z;mKwn6Tv@hmHR{F&Kh`)*K7 z7t6gy#Vx*R?<&LC@)sGx%F!P~R-+5oSG@Z8LaGQ4zNIlF(mLo@!*;kBOMYB)t52)n zF3xRDE#Aw!w}=-yp$i>YfVIQ|@^=?s{*F-&f!q%a)xi>0zO&#?^ytA5KMR<#D}XiE z`|;-3La&bFu@TWB@dk_;_bnn>-YSkBj<%`oK#I>`XMYpjyn#eB@`Ksxh@C_Acn(it zOSN9ASJk60PvMiK{RaAN{VjSa$nfy3ckITf`VrT&x{IXZPr#NO_W2XXCkB#8xbZB>>~$M-6I}|8b(AFCJNAk` z-`H|%Ouk2u>41b)(XiagKMi zQjlC{JvrRhHP{jSa@fST&|7Xp@^agYziFd-Kj`u}JAu78pU+00Im&9U$coGoQ+|A4 zYBY;#-P?Fx+|vjN_zdVHm6M34_r9TOtcpUD?xS>uUcGWBuAo1LSpc9xbI}9dYvZzZ z#s!jVPmj-Q{Yod7(~k)2SNn5ePZ=*d4K`$t8St}RacgLJv8Y>ohG&YrO!b^yutC?! z?xRA_ULh}BeF9CM?^|;%`|Q3R@8WfivEO97borS;fzH@J_7`692N@qxQ2M8QQh5Sr(%_c5;uUO1o3jQr|w zWv%%0LGwYVy?`;VECfw=U#D?{Kv}*G2Ghaf9{9;Yp^6JmNKMmG^GuGf4yWDfOW#45 zW^|`H=e{eQ*@>i1a#4x?pxm$P-vfMkEMB3MMYxfxf4f&toB%_;3!-$*-8K0naV_`r zJ3W-yw}`0BbSiL&SAp~o2D@pT~N>c<@tv|SqcJTqGNIQVQYMA)YiJYu1-4~20B zTsh(l6xZz%Z~`>p%I@W7*q0F+`*pe3xz8_S=nt|&-58^hAf#&!yOKsK*)H;K-k<4@ zpGDLy-96b4cA4bQl?GWt29sO|t2X4SY0fsFA&#FKbv=q;27Yg3{vLdp#XH)$Qa24N zGuMwo;s%6THc4;4_Vo^Dd3*^`zV?G zmWN0SN!UAih?S{qIXQ%KRV?Qjy`y$;e0r{Z zwP6#>qqxJL8KRN&=lfC4^?uKB9`TtgbiVPG*3pSaV|={rGh}Kt|L`y$lP&&>6yBZ> zR~JHnUl+hEW4x8->sxf4^_+Q#Macn=^0#l-XT$29e%W)8_(1zd0A3tVN|E%$NSda( zbd0C(e+JEVSc?dGY;sT%N#B5C7>9l6-z1K$pNTvmjiJ)!Lgp=-T_mjz zDd6@71W%8bJn*oz{^q2eP0lJ2^ABMMGl$VhV}WG_#ah8O`f5n>8HF&%u3pNX)Nfqi zKmP!#whvAELMt(>vLaWn?i9>!99SDP2vo7uJh|D-G_q)1;cZGWY|l!opc1v=2xVJzj^?97}r$Dqk%}iF(g$hXK1+*SRDfi2_xrs-|RdYP2kj7ot8gg#T5g-$kn$*_6^Rz)z@$ z@3K@Y1##It&C{W}JV2dF_&Z)k>N{Ri$~Gi}R%LxW(?WHC*0m~G!JfjpP!&qi7nUGnT@|GjJp;tECBTm-fU8nMQA1?{%B zE?V{7tc4c*|6dmHzt)AU`JW8hQQd)@|JF9epJnQSqXgbCV~WXiA)7|&hCZD<>3jCG zWqBhkCzy`%sRWX4bix>}6=cDjM~0=FKEwHIpvYVQ4e9enlKG3{uHe|828vF8l6dkr zhzFJ52`L)^*8CJhcfl7%M#hc?;QNN2u4_s!YIZ`@WqnF)9`FJUQ<6{SlY8dhi6dBJ zHBaaM*;Ym!AM<9@#gc?@F*J0Vc&mg2>v&}kEOcU{7OCmhq%>rBP>{d=$U})&gw}tG zSsaWiJHyt!xEb6#J}k0HCNRUR7x%QJ`(r3Ku34L3emk9s#9qe{os*IffDTDbh$IYD zipYX6J#tQ~K76RFgVqwWgqj@QpZ^=3<%3UqHM$h}E&Nxoep7-ZLq(40E4L+$Q@1Cc z-XZ*vJ!Q<)zztXh>{w%-H8EzcfyPn_UgT)HsRuuzHFp{6 zD}CAf!Mwe0uS*vWA^GwGKo2;3{wF8}GgK6$O+Tb$xDII9V3Jdm%nnVa&WzjHfE>0? z!0Z0Z$gdwdXokBXXR*cRc|Ue%WN3*=8`Z6&vcXD&(h|`cYrgFsloOr4E3(_fVZ4I% z8jm=L7uy)rN#&lYkKDPxsNm&^3swb(8?MVdArV0r=T|v@8x!=<0c%FGKlC%#G5kho z?e(9rETu)=Hj_8}Oi4Ov88vV4#iP^|b#63w;Wy#nn=Ur{?QobACWrd1Pxt6Q_%O1l zTuQHsS@cunxHqpi+NDWF%~VKh4_0-WJ6@_bGk1a}A59PWYVxD~ecZ?zj?nn$J&_~u z9jmoZX7#g^PU-A$08c$$AFY7iwdbK4B&g?Nj>d&}`3mp)eGhMIn=ls{`U6Zox7%)Y z#hS8fP1g{434&u6Qw9ldd#|q7UdLR6UN-g(skx@(&{YLG%aeirVM0#=GZk)ItiT3} zMY|8t1whJgzSobdqGBtzH1wwP%LQU|ZGCiA=K$R+#3tBY01*5ssgQxei$|C9o5>F@ zo0_l;kw+PWNyu&`P!bnCMG=B6pzDOFJs-}-o3EIes%=ZWX3_RCd~AA8vsXz5Nsiz^ z?Hs8$7T1M#G0Zr6x~#9Q1m}dNJ|9Ho+I{uin&7C_pgi0VwztB>)mqqAW04^zBhAiH zMb=AySsL3tXlm+J!Y>F#GUUOuWe1Q7cvdD3dJZ;17A8(YR%WgwAtI`@R{{vCv>itf zId~S%|CwZGA!OnDH%XSJ?*zi}|K@A_f6ZaJ!f>5IzF(lfaGk*h+ySg??9BfQbJL95 zVn_DN`$x+lz9R>tMZcc%xXlg;IQMQmGcYtyIQ#;U{#l%veDA7W!4;Mh!(^GTuW6D) zn|dfU1lXN?77(ahoYlYd>y_q`tE4)J18jfXZ=e23=kef4$pQ4LTe%RWq?O%Y5eQ@- z0m20Mx4YkjviU!-vgQY(V^8ly~TxS27%U z=^&L?;Jef`9VpL;I`Oi%L#pza)d+2FZ{xS&XD$a?YPwgY@qcahuj{rA+*AVuPuMj& zK~y=DAL5t4=Lc17Ee*5M!m8aI+z4u|q%}6WczzCps zR}&?p_~-l8WDdKT0y~93S~2S4>~V!f5+xX*dqj@quItO=>5{6oK#t%beny5nmbUfr zW-`Z-o?PJ5=`{;+Uk?&+M;fepbLHy;f3pf*V3g|_K1=-d`h09ed<27+r_9CorFfP; z+Maislf8SUv6jwd`}0dVr#FxP^Z0Ub^lZ@)NpJw7Vm4_Zcw(j6FyTnyHE*PpMMsCN zmeY;u_{D-PjpfN4Q-;xpb2Y;tWmEP}+Clm{_sHh>i8@uCz-b+z1E5ykGplMHXtzCB z)EHBKAco!1`~^|wnf8;7Gx(%gC`gVZX7j6ylG>g%52)(a zj0s9Gc>I_=1}8XmVqlzxWFpwuvF5h8w9K-$L@?=u_r^gFmpe2eAU_%}xT_hYd0r$S zfZ2(XWomYD$vFe?+RlL5jGYFQS;oR&vK|?oWH!~tlzX}wtQ>Mg`X0?m_7Gin%3zE0 zXZ9h6P-MnJ;JNL)^TVuBcm4^Bl8i~nn%dd#FHB2lCCHGPotY2}|7-B2=RhH@W^+Yf|FjrmP(tH3j}cpX*#0{s^L#M(Eb>an6D}m`c1=T zaknz?b}44IF@y9Q0azHiF=zT=wed^B@|Q1F%Vb#a5)vRrP~`Xm1qFUsG@vo%S+Y$P zd(JMZ^Sm&C=+Gx@KiK-9!hv7thDxK~C7b~CzITEj`cz&L%-=XCxzvR-7pfh@F+G>j z&n;4{HyB#-WCrCdWYhoOg|I=*H91*E31^^+a0t-2i^oLZnrISHC5#X z2QxEKF3yYtr|5X3oWmD|^3pmXd(LpfZ+Kz>2254xmFdT{OA{7~xsZgCL==9GVZPc#rnl!u(XUQb-K;hIkA3 z!AoOCXIBN1*z;+YuPxJ(WNqaR#duo`z_+G&c{$K3ydC2HR&Q&qV5aD*3({%{saB38 zlI826{$e2rM{8AYPn^{0*zE?O9RQAF;W+ehNEx`fVkW#`?04sB{myH?R!XHlyc^48Kzjl8ROVpZV0*K z$!FKvMj%59C1+E-$XSz5Jl%MJeeP|aEBNGDxT$x~OV1_V7qzi9-{cO9#`yvL>U*Z8m`#z?%wNV-a~D zHL?@aCkE$Hmf37cW)s9K(gW@L_fA!+ zRVFYvD^wUM7{8T$YZiJa*{eY;mN3ltK!GIJRxY}>5sqboNGDa2p3P{r3!)aK*fLzW zVVqn|Vx4!Y%luA?pCF(WV8bd<`v+ZXuPqu{4!)MUmnzXh*oaY+c_&jhvX}}SCmLGY z(>iQeL4#Gn!vfu4?3?2c8^PW<+h{vwlNgp_Qk>flo#sjx+h0FMR-`J&Q$LT2h(xsj z>X^441AqVEAOerVSVVBHcxE~D3`b#@)Txb0TSF$Z(#D!D+ng5xC|oFS&5cM%R+L3o zf(&dOU8S@iDvKM2E z#9E0YkKtdNHF1S{iF>5M0()8P{I= zLHR)Z_YwIBof1I=fFAsMVmYzzOjqj++j`NDf!Kzqa=jNt3bGO@IM`CWiATrFX=Q3E znEZM}TZ;o`6INf!Y7IO-C+dXYzrbHyW#hcyEh@17{+y~j7HZkGJ8RzAZnF(tmuPe_ zklzP3b`~=>?Ku>J0@j0)4#B`!VS&Di1Dxjz%nB;q2AS{zpbxWgJs^w4es0=xlAbb^ zY?CUIB0UuK)1s>YAn5fu!*FUm5n;sjtfuaprLw=u}R z#>u+~*I$V80cDOpEcpYoa$X%1T-4XxprS;YDcepMVV6K0*wWF`#$>M&qRRu}6!zgu zZ;%}hvUec>JbizCFzevV#60(l_cXaL`_GLXA!ez1JHrY&VRX$?-a4_Sv__Z_O5$)t zLQbfPN9U3PJp!XKSJU-lC}auptHeo~3(h#LNh8AGKWxLF_N&rRCCD|A*frxqf~(&rt(*p~A<%&*qH40Lpcb#ik_jkZL8cu8g@ zd@JKI!w{pAp79UR*I7dblxcHh_R|b20m1PH@uj2uzh@mvK;snN&A36fp<0pK%o`t! z^1p4kD#5ok-*m9{cYEv%N*{ucSR<5}NeIrT{~f+(_dO6HMRV+uJdgMbTt zrzxI(tnTh%Dxui=EE$&FZ-jM3a0A)_SR%gdQR`l31Ac6CgcYJb$eRjTkK*M_-nR48 zK@?`yGl&QUfZMTqJmu@cq1m;`MIV$eGi$q^Ly!dbzg=w)WD8j>$rl^KjL)TyxXp#Y z^t+OaOZLYsjeP&kQ9e2z=C9q-{d^g@r8leJ3{RN|*$lK3{DhNTyk0_OcDU>Z(7u5W z20#|tSc2d~)XP5jz#!o?r(5==_5elk!U}~pTUH;C^!Udfw5>KbJfZy!@HNv!i9nKi zDPF_SQN;IJCiaUxa@Y%e20;X0m;Q(}@0p5s8!u$-WSezow9$w@37%vD zm7uv%=3#J3dqW}cSsVtp$~?YqbKY#YX5y^i(wza3%aT;bT!+_&J03tb(7C*$lpMz; zKu`cN{J{$+k!vsfYJ`wA%FV@o$1JYt!k`D$+5-ppqs6<7!eT-kU(?P5Dka?YdG`*$1pT(NT6?gZpwkcZY}s07mNRQ%8Mia801X2?-v+MURk~gLH}VkWsv>_0dlVD%zlYCcFQ( zLE*CKuCQMMAH}GBB`Pi8w^`6U;m(l^vQ8Hq@q>N#cJ0HvwvLJK?a60(1f&e6(OaY031U`W^ z2mM+35ITT)n4VUEp!^YlD3}2HOp`xPu7hx>I}6m3GtvaStgq+GYjHJRGCFFX3bxC} zQVWgc{Z%`fap)q0DoMEq_GN(E>6f+a2P$^$-RPMv|A-awV#A-8Ad`pt!tQP>$b#FJV~4^5eCOUNOv_LJULF!&{hE48Es>2%iJ?WXZPN^X*vJH{T!WSL3nd z+YGT-+-If|a6v~wAh85GRC^olu2`k6pmDz*U5(GhJoeIiR?P!4<8IhsAV`14Mo>7f zuAS#!%p;~rll%@nF;%O6;jL=bS`8)8Jv*6mH}>!XXcNj#; z+b(AL088SpkLjK#bZe%pa`+IhU`I2IJ7oQAONt#(jfKc#F?Qda(oo86PQU9y&gw$l zqd&&dq&}Wn+h=d8_&#CddRWdScR24X?NB4YnT@|OeZGCjy)uR9ITigB(BD@9?WD;2?%<@Ij;4>ZwEo4P@t=&bC}FJ2+- zLUI$(e77i1q-!AtA5zYMI zs0;+{xiAqMboYj9p6fi2XgWaUHo+X04A3A?k7SGZR9^0Hdh(w$ugA>0yE^u9%R(Uo{UYj@ zhT;0=)EY}F2F{p)hr(Kj+pHy;jUpXVUU;=bt zR353XVE+f9k3X+q)BqN?{|ynX$Np(W`fkf=n+2kEE&~Mx>bR15huXaf9C zxnpbiLh`U1dzLdC;sRY-rxIRsm{?405r^rkr|1aaW&Eqx*YD-euo9|i>^~+A;9KEh zH?+gz^!9akm#G%5;pKGt^KBA=@>e`UrL{JXa9J6& zq>6K9tYT$Ckz-JhT9y{(v%kLY!Hn51dZ*1Gl_qN%2}`k>s3ZF*&mgxP%Q7OmEIV*y zKlbErb%g7Uok-SC)kuwv1>qR53;(>16ju;tcG0ZGcqw{!sk>=TE%kwas%e0h{oork zH_&Q}_>6BurMHC^(WEA%_WTev+8UZ~N!g!IS~rDl&^-IgtV1%}pcuZVTErMNV_E*MfQ+~g=M zlfc%mSU&3My2%Usm?&?Y;gY}Z?PB8d^zk&0fj|I`wYvfk;xJ)iX;?*A_(jB|bI`43t8|v_NOqR++8dlN@N9+1UeOku@xGd|6n#2Q#;y?>NW`8An3NvrCX(yy{?GFt@?tiigT^Xb#mwAt0P>b~ zcVr{LG_d1a#mp%IhQ)yyRZ^kMmlITVvyu5Mzw+fM#4#*fk4iw5jU_QLH{-b2#A%YX zQnF14<44P_)~{?i%@3w?W~^M-XDIH`6<_S1+?<611?{%FQ;6L4LQ*s<<-BqRPlpcS zSdl|5`KZv&ae?qK6&{=FSnh#`JW zG6IgfjGO}Wl3wDaT3h00wg$SVPqt=5i>>C-KZ`+%mfh77XCt~_x2|rIfhfkILK)@w0M(BeO+bPM3X3_?Ek2c|-2p2L7sEHT+U)(Gv~X-(A!O?B zLp(QDvWw6hg~oa7l?#pRfF9ibfp);Qo2iSOZ7UPzYMkQuVkT1|xH!QF;!2H>6xiJ- zA%|x>yg=xPrHA?4F*Wa~d);SuR`Sk32i;>hE!qy(+S6}6B^+Hy%xj1c(@ueFbcgYk zRpR|?Y@O^ker$=G`o_%%)1jg6G<=FjY`>N5AI#kcr25h}TDhTO%fa+oQp*7CU|du+ zZFis&mYC=_{1mm7q@kju(F2sQiz-7Tv}G7F->;*5hcj^jUV5Xi-mu-@y6!UJHcF}M zZPTvl&|#0$DirhNi()XaA1b$=w~FGSPGabE145ODGm zVF!(vbj@2bGUit;oI@59h>B293|2EDnAJD3pVWtDH3RmxvQG#0M(hEo`Y264AX#Al zHt-nv;c(~Ca>G_d5fGY%s6&T)U*oQO3}2(#Q?3zB#qw2S`?jIkA&d9JS;4DH+Ig1( z+}73rkyhE{$w;@H)lIDKm;sn%028^xvi%7tDIX4M^V$xKgN9gacmzT(zjEMw(@6}= zBcRI5nc;pwlZiD%5CGQIkZ)sXvYcsR|J-~SPqTasJpr)^&tglHw*?bV=dE~80McC? z{I_?nkVa=+c*h&(0w!(VQ4GXa9ewQ0j%iuv$rQHC&YxM+}V90tj|uVB-)i0*gB8=t+QXOHxZt%zG3gVI{JW;GRaJ@Uv+2lb`|IDUFZw)8~=sELO zw;4-W8wlh)BVwJe*O^M~?`GGih~tN(&28?asByjMHs zSy}MSS|vRzFo5yS%(&xJq&@vNRV%D#>0H(v1t0i;|7sMwj=c!)WWMrJ^T4_!O+Uw9 zNf01T11^Svm62`CbFNYj58{2FX9bo`_s%a5V$9nz=!fa!OeNnIi_RY3JAdgAF7Zb^ zcHkT%O5P)k)O5EZL!7%EC&OkKw}N&N5HNYzIkq1x;DB07ljvAZG7Dh|y;2X6Tzn^% zf=PeTba#P*C6Ym07VRIgl@pz{CKxYjBDzfMHl=@pW6wT_nkKKaDMBUs{}J5@#@IR|{qIdT{jpA=D!i?cx|mRew1an-hv( zHRHKmas(`lG>EwCgHx|tU7h{PTX3eZw)n~578}n3f-^b;Yk?CbG!HYjG)BuF`pQc@ zY~f?~hI+LsR4smP%j6Lcl8mwEi^IxZY%W#Dr4LH?KQxW zz4JNy5@u=O-ROaM*JHzcrgy=opk`-M?S7G0w=I^pft4jUo7@B`ksvp-FNIO7GYG+^ z;CEc@?#a#u$jl!X90#`#&eLn7@_3HO;UKv(Q3n2ewjY_d1MUam)11*kf>H5JR3FMFik zU3(-4PZ*qDn{ZbKo0Fp3_fK-%jJkYFlY0WqDm~XO z&`8-Ge-Dy3a1t1$=-s(`pW3L>EPsD_26sTI=YTJFAZ^OIO8856!09q^<~xPFR{{@W zj9+@LWJ%0L!Nv?hRS_3veHuEu1IEFI`0&r0HeN-Ad1PBTFBD>!H`V#{qXhC5)Zddx zwlQ!GwAc+Cc@1&VgUKUbX7y*d3u4qt=N=-IqSM*wRimZx=G+F?I z^@R=#wxL3ox|F_OC9d;U;o*72=vgG+CR$SADVe4Rm2UG^5zP^m8uP%DsVibtME{%! zKzrzFqSQo0-&GK?l_2UegEcBN%&g_jz1udj*@DTYo6aqCo2`sAJ60o)H|IMnmPN

p7nO`p;l?N2{1(RL{V60l0+5~&j&h*eHT!mfJXm~E#-fnz!gpsQ(OVwdCw{4d zfAI0ILM>zZ3?Cc%v=O5*2tTFtn$j<;lQ1UBI2L>)ba+&na7IEjMv=)Dv)W?~3Pr*J z&`4n?B0;9LNb0~x+;A~tgu9Rs9^JbOB)9ldtb5RF?{?nzT{=xXS7JHN_xB9*%+gJ43sBpYJTy)rPu$&b<*`m zw?Dw;vrZCD8DyvW5ib+3;}nHD6q`|X_(u>oqv*_tZsf>DFr`S_a%aQCr;rHx2Gy6k z@AvJWS@nZk*>%#{g?w4)695?sY1$UCtv6xh{)^RnF0;gH91qp$0LKEHUwlTX>~R9T z2s1W?)GA`@tO*@5)dARb1$*gY(<7A%mrWiq^f>V;sa1f;n0{IB5A61Yg|{D0AZJA! zD)dwHVLC)%35J2$qMo-$gW?mUkzJ0I|i{)=7IbJP!F)I*Ca#$y&1kg{XV+o+XjH*T_iY*Ghn*ROFQ zfB6AMXeWDJSvIXw?zAN1*^nf=!3^?eDCS#+b$I{SE#i%d^s1BKVk8DysDF18DyIF0 z88)WEj0<+{%yu@_29S)w@oh_|6Z>(h#p%?^ie$rpw)-qt&&Qz8jHzwLM=JFxbK_H! z9Acg%0dp#PDG9V?VJUe##~V^W*q`5J?xi9|88J_oecWt1+x{RBMLh5X#BCDYbz-$G zH;d8|0+tZdZ^}bXqDW_iwi5M*tw;yDIU|S6*h0CCu5lp^0{!Hy38+iuqnF(ZvB7Ky8NnMrY`6*Ugn!1$dR7NgS5EGu?r*s%JJW5JI(E_Zk5 z^Mdhs)W9Bd1<;AerV-CPus&Mvk#lHsT&Ne=6zX>Q>5!T8ppxI@UxXk>U^n77IyOHnRCdfP zdUPdl0KoZ8f07CK0a8u=B zGyIJOC9UKO!zZGSeUR5-+=IUnFS3=x_v<&1#2t)|l=sYL*78C-8j0}pYBlGZW%f@Iv6)c2~0fJwdS}CR{)mwJ%;;d1YTT~LaWiU0Yu6<4u6#U z`xWSFsUVDADb$P??U6-y*m*zFN71sYXI&2_1aKcQ4!eXj&Sv~czPfQvaEB(7{2+(y zq^-#4tu4H$^xM9g#sE#rlfRGZ*{KHSCuPExgN!Gf$&boHG!EA<1=k89dXp|g-KP;( z9RNsPQlC(r`_{~H+D?{fmi*i6$&k}A5fTAoE^)g)d4%=%+U6zPwfTaokfxh?MKQ$7 z-GUgPA?cj4%y-Ol*FmG0fxC(DZ_os^CX_d?j=I^yE5btA#-i^-SSs)9}$7T{^FFJSo)(V(hHb;U5HdW z8ai2P9^lW%jhc|9F>b@Thbz%1-v{3FuG+o?I-@29{QRE(5J|#fC|;lS;(vaYO#-@I znz&nKzx*hYR~q92`h%T7$5#UZ>iE!@xQ*8}&#^6tEWt@7YwmB#aLUUR}$p&$SBhz12mLCdi zpVP)D0I?pF<(fp1mXtLYTGf5m_6ZDCn5icyOPilMDrs}&?wVP+)=^B6ERLy)xTIHp z_;DwSAaQCE0f0$aA5I0EIpH}uZa_N}v~oIHu$RR7sZ$m3Gkq+j3ANUW7o@&nBm3K$ zmjl0oHB&2pfT9HzEl)sO_j9a{H zI&@g91|!mFk0ZgiZyfLTbM3R;5OGF95ytadO9sxl{G^!my@%2y*EbxC)m4D%NoG9x z5HB_w02spo9X1|{32L={L}$g@nik(}Dov;oiJpBq=Tq5-?L-&H=DEN8Nj7l!G8bmD zD`CVD&#wt?6?@arI2E4dku>uYNX{FU3mGkNYG2|7oNUxxJOWwQ(LMLUE)nF~S5W}0 zU6GXuY&qA%g(#@-C9LR?Z2m%Ul-a)C=PrwQ86YlwznOXJ9|Fi!3x?_GUPfKabh=l| z)-OKP(kC_lO=ss(11)S0A-v1{o@K)SdTH|68q0iI&jR@o-d+EfFEd0tfSJ631#&Pv zCw_rqk{4CVgw9QtSU`uSP{mU9$S7Kk;hyeAtm4~^6`UGk9kE7E;{ksf*z3Qc>&(brND# zOV!jMKAs`AW}EK%)PM=6dh@Whm2Qb9|DFGaiLXm~n4;fm0!Sr4tC(@l*O_Xoj|a5C zshj$9@eU@uj4Dj?IsUy3s7>aN!DzHwja4X7srWV`N-_TaOq+GVwXwnpDR$8+B=+xB zMZ1%1!qrHMA1Vl=3xV`n!oO*3pMSsJ_wAqFLbQLKMj@DpKA*BJ_ZZmj8q>AXOwRq? z{pHskvTMcUh3LCfKZ)s{EYt|k6!WDXqQEHX7zVq)NlaJ}reX&$*2yyDOq#-wvF8Ta zgQG$6uQcF&zXQYOSbh-XR2ynB;FTYV;sYuW^Ekg*;SC``|JbFUAqm6COtA3ahG`%e zAWG+|)OSMb`hml-yzBs}&im_P4}|>P1!cz=3v!OWgmvzi^P<9EjUw`atT4`dEghw z{YE6EVyF&Tg=mezK+f1>BbijpDzEiD@HkBm1_u@GT^y2_eL8i->EbcyT^lTZL> zbv$_>)2n9@u`nn|I>N;u_45yQyUMD54+zol%4`y0QHFSeLZrzbDmKcg>LhB&hFc=< zgz39nr$nHBG2dRw#p=`z8C04KE6it9-i*4Mp=vN{(wnglpw)=Pgz%_)y1TAthLV3c zxNppAiTUaQ0!`T!-^d8sB-`>IPMxT)J`sm2aE64>x@&y0j$O}js^HYDr8l&?v1~JH zU{LJ_=u7{YtiM(UJ77TMs&dGL`Dv1~xS-{DN;`^LF=|qNVNpw>${mXFld~1J(Dd*s zBD=UQKN60t1&y$4JsB5q;ajVuNVSk~c_1-$J4t^74sXlU2RXk)TjSIZewt5qT4)l8 z;uRW`zWBo+>wp_AqdUP5LoT`lCE_T?KChg-DJfE7_ls|byi6;T2|GBlY^ z6Vk;g=xR?jgT$Z19YC&t0x41EddyL48|oC~fanIyN&HmBxN~wPlrz%T*)(!eHXr&G z_NNW3F+3S&;gAIp)~cCgNMe-%3^Uk3j0rbZBheHdJ_ZjOLUWE5ipiq;5+&&jr_!BD z1&M$Z1)_8XP5WMuTB0$RK!1Y88?+GTYuP^KnC$VNhEH@sEWmB@dc4KKrS}%%`eA}F z)V!}LdJ~}*)K!qTzL(|B^2&iD2W_#Dd;`jF!bm7PX!J3)ItFAVH7y5c^oCs)3Pxop z6~?|_BAt`;IGe)tPNz!^n-j>Q=_bP+)EQTAP~%$dgln%_*lyFr#JpK~&;!6f^s-Zb zcSY7a=Cv|01_7hXFpQ1h^6`HkeCMw|eSo`IQar$mqc2|d;{(551%oeuZa$j$gpZSs zQib9`(*gWruVcOkrB{UKs!Y{5hn!mo#Y=PKgQSJiSAY?_F^ifsb54R?~4C9(n ztNFu+WGvN28S2Wy$=3|osw!zW66q9S4P`QhIRG=IC63pUzgwbI1t!AO(iu|jLvswF z<$GNuPh5yXUsbBvEZ*$HXdS%d%hOG|KWK_SYY{*S>PwN!ByT4i2ax1vim?81Y`PHK zgjxTBMzB3Tf`>I`LKoEL!pZ5ojD$R2Hn!wekbXP7dyn7Uy8I%BJvq?fq3vk~Ef3JO z2gq`o!!Fmb)g5V|=Tbp+oZMAbo=|Q+-ytHk@=^7@-c{#ZU>^5!ijat1zrUSShvr>* zf%@?wr=h-WKVa89%pEINB}xniGO%Y^#kTx)<9;T7nM$9ZLCGGr$!B z1N5sSex|TS$|hQgDJ}$RL=Ku7{NrmWtGwgQfxG`Z{PSo<^!Vd;|6{47^?NQCfA8n6 zxb11=sYO4gv{gRw=2G4gKiEQD@?6E?km!eRC_++=UM{X3Q72_dEJ~?j&xxd2q({zD zBduWRE1dSvim#I~If55SJs>H(3k$3dSDhqa317jZbVSaL3(4oLSr%yjY?B%XOW2Ws z(5{9|>3-0<|3HX{6|Ayuwcboi->!CbtNU5n-eDD29<-o)JIXn=9)^7+&CIL0TUzm% zy%ceRIrnp~ibo7h;U%LehB9>jjKnW{U?9brR|#7I!AN<^B`+>?3?THDQe2_Hbd)SX zDbF5swiixgQ$zkj@q0~%JIM7@^#R5lhGt^*{GXa~P;Ch*-aRWmFiaFmgnf@$l3+Wq(6!of1ZHNo78kK8*16&=fB{}`=bvAq$TReZl~ z*vZ6TZ{BM8q6D7&4afEGL^E;*mFWE6Z<;1?a+ca^b$cKT%+^o!E_nCP^$(&AP$15X zIN@%3NX}aNhy&={JshC;B}m7|l$@Tx&?t<*qugA>R@*A*0FXy|j?T(Qc$5~m2pH3^ zLmi0{Ny>U!2>Qb`y$hzUjBGvSdGg{K%Wh5|`=+kh1MNCvr-54COqp?hTrTw!n?5P~ zPal3_jYm7c{lqiMj!igk?7u_NEr^#W*=#GKk=rm3Ot2oPzsX!6fQcQBx_o=Mxq zi|Y278wrY=0qW^sA8DfUSmN(}pYHAo4Xi8$G?sH_IK0v}zp7UqA6@^ou&F<5kBq0< zmkP5YT2g?WFcV|7fWqSyyZQm^HUMlq7>N54ETD<&)d{eH(8$_;-*`*Bl_6cuhpu7TQ4mMafmd zu**khVxRa8!#QNgzZUo8?oGjlBwWo|R~0!7 zji{M%0r;2f3`u5iJ7oOB{{3hdyjwyn&yD=&pW$dbtQWAp=MXe%f2A1PAujRqxo<_b zyNN%%i9GysE^70Zr_*(V^j-cvuqC1VDxvIokVPo9_rG7m)9;cn-;yv42idpiOwY$% zaz*QgXQb4hq|{xmu{KhBd(^w%<@jb9>DKr^u{!(zn>eik0mOe;M!EhkmQmd`d-7If zzZH$m6CisRg8-rc*80zE!vJ4FV;(5;|JFX}Ms00Mx0Y>q{JG-{)|~3tJa@fwtfcoh z+S~Eq{rv0g^mcL*Za`Q#+Kgy zCsdD=*W2p@sK8>%yo}S2)JT6;!uxCOL>{)vIYWB<{|@GHYY*?D^}fYAKBKqMP{*?l zFzxOcY+1yaNFSB52CWykzl=Em1T@L}uR@wt*j>!UbLO|q@nwa~--YbNO?Lw*Kz56J ze^BVYjX7*$j?qS$nY|whbOzScQd0T!;e5o;jT_#DAVs<>h~sW)CvW1!)hoZZV}&99Cez?jo!*3Z8Z9I0sYO;z%l> z^g&|eZG*UMGD-8z3Xsj)TfGg_b%o(5(tU=TPwl8z4r#TgLMU4emvk#G;1~H|B=wrX zs*Jvjat)%3jE*k|6A0Jasl!TH_q;e46rcxXID6zdbcPvXtapn-d>j|+z^{AOKNF)0zq}sktKe4PuOP|-| z{a3AO+C~W-oMk0n7qshD7(HG(=7Q(J>2CzTS~Bpgg0sXk0v!~iNp+Krsz|hFP;Nhy z3+|&6@U#_Rc>hrVo!mvmP)9`qp=4HI3z!wlEJnLkNsUh^O;4NSFgAV`2*HW-I#^V! z>Lb3A`q$NVi#}1pa|>GAMs+oTJnl%3^&fCL0T7$+$|ZFKN>YOtZx=tkHQDlcqD7wx z5P+AcArFWv)%uZJ^qp;^?7ap)U3o&g&L^uLg?%(T2|Kt`rq z7{UHZj2oAM;y}&_1I9?)XmX4Jrv|OsFqlq$QOjJ8I?JqnKz}(cry02fG~un=Hf{Lb z8+$oj1Vb8Nns`@ii88#-jl7&#Fep8fh!aXoiKrqAYCsxH54i?cA+(&5(+u2=(15KP z40kp`JkbX>2Ue*c;%a*8m|T5clpbsgu|#AuKD{2G|KHDrJr;*EL{Mlx zk^CX`3(q`o`2%4zxi+{m?wnp^3!%nfGcmnB3h0jexp6n#g$$$tnq1wvsHQ|10e1nMzlytSPlS4 zzu5WA+KbyJ_+3AgZz4``wkixLDJbjpL}hHNbms4XdK?CGjj!PMD+f(~{K=gv)(;2@ z*KfAq3_*Zh2Zc8f+C$VCZC_tJ`{6hwEE#zsH$<`vys0!v+TONRmWs|2VrOy@mQ< zOR}FH*0?!h`f0*G6BeBChI%83eMd<4_AMJBSyA0Jvz!n#}}Z1EB>H@5Y@2&IY9N7r2)M^o@pvV5s&ANYC;uoly?t7Lc(1Kh143}hT{v? zu)DSV<3I&b6(I$iZDRzYQUN68Ta9Z8o!L)A3ycO zfg=D`K@Y7}EDju5SOnQv&4FS)XlCJA0!pYYzIBo?OP1J$$&$?Jz)=B#pa;=Fp;In9XrXQ|#@FMPw3~Z~ zVbmG#gC)*C&w@J}9x&)j#h7R(sfp4UP{Nb?`dce1jOk~J9W`u?WQ|l3Xl8Kz$YMW$ zNX1H*D`AZplu!bf$-q18hw!L?nVvkukn5fCC<0Wok~izs4Rt%cfnYmcp>J{t@voE2 zHRW43cA!4`@k-0{nb8ZxtUqV?p*!9Y7 zc;#PwJ-(hM7o8(7aVMYxFZqP*4Q+D!TYDRtLcb<4=Y-daP1c=}Z%|LAGr{wPK?Y%T z1WI%21G}8VISmoQmsF{;O;M~Lr5Ji9oy=RYl4n@OgishrEfx1=aozI3m>Z86A~^Io z;XfQ(Z02ZMfQ?P9k#le4<^7qrO(ALF$ykoedM?=931dug$i@`wuq6xsH%XG`!Zq)2rbqZTFVIIF^v|nm;cwtb0L)fx8N(rbgkw0JXE~4rq|M@L z5#BEjcylU^CjDj8x0Zh0=W4Ab zr}!yh<6(@SS`&hMrA+(exVC*mSzxk%3#_R$YoM6z6c1Ed#GoW6V=<@q6|q=qN>q(;}to?|GxN(8ql2_aKyY6&2($dZLPp)6Ne2Ms+? zD)MfCgomYSd0EM&{&;joWM&P$y>|Vsc6K7sxq`WHR}}PK zVKTQzIib}}UTO92169P@+dd4CKym*k2UVsSH?-iR0+&O?1%woE z)n~XY3BA^tP8SEl+bms^J^X zfPyduvhewZQ3L6-y$xx)&mCB$k>8r;{!kf=wEGjj67kqCPvKlmRdKt4;`zay8%$uk zHv4c5=sXFVwlG?ss8zG&t!=FX_I$T)NG+Q}gH{C-z^=oA@_VOd>sB^sO;-$e!wh!A zLQ1}0Bv9WJxkyZK-9#jz0Xn%=Rz@=w07uW}y?iG{Dq)c?`{H=KEhcDfmnh2&Z{=!L#^w18`QtA@OZy-!#b&R+fzewM*>`=tOS=WJuAv0VYl) zU-!-1hiHv2%q%5l5>bOE3lt0D6faH!CY&xK{^~#Flh4Bbs#xDTXxWp{d~p=(U?Nz& zzc=AKzWIngZm|WiOsBG`aqx5g;KKsqTeQg(YHrNBHTN!(EE9cPxZRR$p%&H}>RwpY z_kbDO0SheAL#*yi(AY$rdzN}?0z8JG_tn591ja$|k`1$U{qm(fGCT}v3#0vu3dpAE z>Q-T#EpBigYNWynV=}${t1VSZ{a&jl-K_WrWTfUa z^;c6f8zDlfgQ6n{S8?R%IHGZFx7CfDb0e>(_DuYqs{er)CqRb(#TNj$Dxn`>(ggg2 z1AZ1i(wQ7$zBxMbu-V`)UJKx6|nq030x?HdI#%x)wEYUH~PQ;{^OIwCLW%7O* z%^?P7540d_csTMa;y9t{t&(Ypf#z*Ziw-yuRN+b+`oU$wIw+%q!5V8R%xKA<<#CoT zx&5Yu>US@FhqZeMs8HB0sC$aVPjQ`NGW+j3;jvQ2k1&WJET)+5EB3WB>i*81m%#sM zGkts6uhdw#sP8^G055i)Q3DvSm40TQ)5rY{J9dSe#rn(sZ+~LammJr6VocaBtTK4& z_fYQLvxZd$=f+u^s@K*TR-1IoqnfUt?sCaBP>5pXO2?&r+}~MUxW0#m1E>98 zYe~9uIP;x$Lz8m*zP|c0&c&Ruhwh=Uws z@^+|1!haKr{0f>*U!?#4iuc+XAZP)M?EeQF!jay_4+AN(UtaC$2~e6>DHIs6xw*$r zxEJ`}aIXva@>2jwKMFtJcHxwBZpDt5&W{n^RP*+lKd z(ZUI(h41--z>ko1&vUOX|JO%k<1p56%_`*oUg;yJ;vTjB-vt$*3U5$hi@w4AL6mDcUDubAra+Hy8RZ71#9FV9 z*bM+gsf!Lq^Gli@qhH--P4L1qg$}D2ebmjMM(N*451zXv!J73{x|~8qn2vZfEE{hn zOE#_}T7X~KrDy1Q#PsuNA6ZlEDn|%nJ~(gw4-G*9dQP(}U2ME&l}?zT&z}-LWIaH_?bpT3-P%A7o$dWJGWB#VV5AnC9X;cBJVhuZVn%7>oAcF-^PkmS* zb|5MeJYHt#1y0K9SX0cVarLvalMZB4{GJnpU+5sjv#V_mvN!1VCDyu#y_8uCV za~jm|qcIH9-p;ZT=l4)?Iul?1EQsMzAKsuGDQf^Mcr5zwN5>Jt3kaD>ZapORTR|a* z@{t@A&eU15T!Pj$NchdZSrcEjZlwjn(wws0NUp|po}Iw6Wz^u>f?3;KfSW2;jY$oz zHLg2GH}J%bCyzXl>)G+nDlzz7Clg>*ve~hs6;St-n5trAj6`8F{kLiFxWf|!|Be~P z>*@8U+43$5X7-4N^A9)?y3&qAJA@) zOs4dTj9!)H<(6glil)Kh)HMF^-F=ct9RB0bS{t&(4$?=iH?cWP9@7sOCVp86%ee(f=Kjh%@i7s;e2-~N)hm*C)qgt`|9A_h2a0Pt!gy?Xe<23iqtSzaa9o2(J=O( z6X5e!rX5&HOusw+2B^*Ol=o2O0iE>(n78qZ>QwI0^W7vheTU%_fg4?v@GG4Ch5yPaWRvPtD63`#{uFm`kg zHjuH-+7*BO2dT*^l(csT7`{Mb-KNy_&AHesFcuLX2Z@~#+C#yUKE@Wx%sM;+@+vL8 znIsVlmCU~Opz?R=89h$Q)Gk7`^9Gf z0C2;TmR@yGIl;G^651L`C|fs@I&WP`ddaoR3r-7E2a5|>*e6*8JN>XN?u)RK z+GJOU{IY|f#(GFyv9Qrzk8xjZtZs8T{b@ro(FN|l$rygu=+gaWYOV&5KC>C zYHk^QMc+yXRPE6ggMwK5u({~@R48YLj!hr9cYjKK*mXZxzu~G?z0x>wgMiwHj8umz%`s+uo$E zFAW5Z1-DYD?3jGmzsyR1c@t<40j#$yH0Wk(4$AV%|Fu4H9502gq<;~rKZd_MnKlYO z#T-Plaa8xF8qwPw3y^bs+>9O$SE-R$`1)GIP)~1zIH#KE2!;{iepPA9^JK;T^LOic zFaAomO0#OvacaqM#lQ4xvGPhC?l!trO8N~OpR_xuZFj@Mxi(-i?82=O1<3A|%R^Y~ zt}&wLKgKa{=Gc(c9{ywMjl4!$g>q7-4tCSn8S9eV2X%Vs~b|TbuNi#MAkE2CRg& zI4%J4j()qkmTIdE8GoC1830}jHn59?9(Rp&wU5OsLWssg%*}`bC4o4HN#E&6k-|GK z!7bJk)K>x)OQ=Td`eaofQWAwcAQHTxaVw75S3wMo^b5y^P2w-UCVYFbO-lI{s>+LpbZTNP0F6*xPla%q3lT$I$4!=o27-$~X z(l2+N2ftobZeAMkRInd7GtU3FM}U!s5w6>;j}ut1t_)vPfW@7*DjUkc!$;T!0*d;~ z10Ep>t_C0#7VQ;E{E;q&2?F3v zP?b5bXEo;gOZz$k9A^Y9E_ju3{b zRj{RK>xE)h^MH>Pb=yoqX4h-|4%e3wm6*h-%R4{|n_F=r#EEQyIh{PS_Lit}{CR!X z-Nxhw4%#nNg7|cbKAIR<2u*XXcvNF0N>SrCJ#FQ?CICN#*aFt@my8}l1A%6B75#<{ z=@a*Ohi0?zVirUn(Ruz-gyD~maM}2KPIXA!GRRPh(kCsh_xxiGsioGk0`bH>+M$Ub zlF!jeCv+f&-=vLvK29<5r${hgt&l9IRFwjsIyLf`$sz~EV$LCzH^(!#5|1dCrRM@a zLc%5=kYIY`oWwfwpG{m+^=2&stkC-g!wG%bf&1S(%}#~trT_$buylD9rI}rlMddHs zGuZ|sZYBDj4q)!N5{E+<`}dL*C*01i4t^aKYWH}R7T%Fbrpd__x4idXHdKw%`-ije zI%S8^=HiKGhf|Zp`wHSM)3B*3-H?K1Y3k+xC64KcQ#5&pei>PiM)@eglUu*rZ6A{nytw|YPDpgZ4LPUmq7;uWacX$_%wCxqsP~g>$E* zXVkXMi%-buqMitz3PqJO8q^{iml$>c9^It0Iloc8yQe$0Fj`ja1Q$8=P|>JWQaQ2H zeOCPF`CG1&)0)PITlSNUiU0b$HTWM1e}9|gEPO#`?t+De+XD|hdYA=$gkM5VFF>FC zTP_w;ZXe9|1HOShDMx*s0Oy_}?9t2PYL7@cTBo0UA{2n6(b5^pXMaa0Vh3aZaE8oq z7(Y9q@HStU$3_iaIe8(MasOoZ{KW)?mc&f%?PPrH4(QHT2tQ5!=;OxWaYg`;XYw)N zsYGzKDdjP0`tOWn8}f1?<>3By80*&%D-eW+fxX!T%9}IXsB2B)UwW%nkyi5M56Sy1 z7N=6LmQky6kf`SQ<@!YXtBoEUaGsQ~4w6-S8n7fQWN}8IpRl*|PB>nDE!xrgPo zI&lnI+0&etM^n@kgBmV(j@AF{n2~07Z5S0dr>XW~_PGpdq-~Y|c89k(4b<1yaCy2m zj8pUmT3z`(+_&UKTiua2VIup%W4$AJx$1QSc0i#Ri3%t$EYy!_w=q}%%s8P>ra5=w z!3H$s1N|c}f%G4+ygd0M?)fWO{yb6u@tM9WZOx!OAZ3wf8ZDQ_Kgda=R=i&7vnMlN!InA1%3YHIE&ZTnaivyTIi;DIDG@s;s@AF1gcE)~{^NF%+D6&Q{zS^LFRvKY1&;nlp~1bCt){GoiREC1b46zY)RsR>QEx;|FQ)94^wt6 z^J%c(0dweHaY>m1CYK{=(V1C)_+zAPBoUo;*q)rC`(z0m|Rjh@o}}p(Fvyy z@t1XA0Bn7AYiKVWsy1Y$c0#3;~Qw&SYIz}Y_BW>n@{`b9V5n$^gB zNlC4-o-zwG|20>AP9+!NjM`j<&`Sdjc7-A%PEuW!yoc*e@+tGrR*~m`nK`o+x!>X6jKLBhV4pq z%`B3WQe)5L-cq`ydO$HqTPX6l9jIse91IkngyUZMu#>lDO^dxkrABqhr~e)p!HO=$ zXysSE+Iz5XRfHllYeYVv6S7N&k2&@jjUN>`m?Z~Bc^Q=dOE2$dRMz7Q`UaFK>C>bu z3PI!|GBI(||FBy!vi@9|SQwK7!O8wZVF{NGCIUhGe;&#IPaaF<^l1?Y8c-Hi=Jd{H zU_8KoGBfVx7SCKGAa4P>>`<3L+dr8Z>B5faB>75dWdqyQFuq^XWR+2-Tbgv|$>ZPu z@*lp9nM-@W@9!^UG*Ft(V0*qFjvN5oUmWS|b1ypx001L#X3K|uUIzg1?u_H_`~7@> zfa&)B+`Ad`B-O4`IVeR-*wOM2Tt>}cAJAmK^@M1rX#L6w?p9vSjTAQ$a57%Z*viRJWzFzZIM_b9UhhnOshy2Z;yGpa6ins1OgCEFf5!kAWZsj8 zK+bl{K>Y<0u<`cG+P578gQmGy0kMT&*#`Pyy@THXdWA6rg~9Zvh1a9rm1QF>w^{=O z|IbmujD;1rMKd>x)%yhBsSCE+^3MapQUThdZsnROfZjibZ#Rc@X3THr_xHT?m)aN# zy$!0X;JcHwRD2smQATlO5=(#yj!SYH4FRF9vZ`MGlVEljLU2Y?T@T$by6(N_G$N_^fD`sZ5xSkf~21c}(y3(rFHh5XBp zGqRc)6Hg^mBh$1)hl&vY^zE%Efga9OHMEHyzW2l7>UPs_qt|7yl^;-dQZ~^@{o)sD z?}eOwmR2s5Zsmn%wd5xSAe85@uxDcH^isFfI^A06@cHImyx9r-H^Ov!MhM~WWN(7k z*jj)%bAnIYAzo>E*9PaySP5itz4k@mRm#3MNn5#do{tReKEfu~?!<)oBNdVZnNB{C;yiQSBGirHloq)Tr5cxL~GGTpf5l3KYx}7m^dOGd7 z6vA%Y@K_N}a%tD+;d=@_2XJ|FqZ6XiL6v(`*6T#a*k(!v9vtw302>J>sQs5UQES3f zg*Ceoiv8i#fojeq|LqTr2C>5ss~_3Mn0ej#ua#ze1X4@5hzLM+^{i6Kn5X3U*c-X4 z8B}bc`#z8|a(1@O5M&mR%%{x+8~40UlbR`$j6BNHU;3%QbJG*6_oB6w?a`&LQ)y+# zlAmp%IH~F?%GmqNU~D26TI%BGwP9K7;*!30uJ$c#L68y{6ZO*xEo~Id&M=#=*N~3+ ztE@oag`r_KjvF9GSgM-Q8<6wC5s)u|j--eM&*UF!FgZ7ivv)EP-J;h2mNq8=6cHWB zJP4apEOR02IssJ?Qf70>>?GCx0fy56Evx$?9zme1IlLjFiSK;}+|lO;&@c5`0>@KF zrJB-dNU2Pfl7hu7>GF_7d4jQ4g=MiS>|=hN=&moLbOnh0Xc`tqQy}pnla%$t?9yr6 zcPkZdS|D4|gRL07`8)vwRg2dQ7|zT#OM|i_Pu`CX8>UOdsn$7Q+V2*{UNHIzlm05s zYtcBPNu2245NEh(i(#KsZD|~dq#UTX-L0yx2y4b0kt-%o5kTtKnB~CJDRUq)%hzV3 z6Fc-04+h98>nSO(mgEnAyq7mJ`Mr5acN%0EB_!y&EE zdSv}|W`3^S&0SH#7V93x2puUnq3giRR+jQNCeW-Af3&2z3ATM~WFEK@Mlp@TNG3xu zg2>qg>*bC%rNL&&0x1b^;GejhLcs_Cv83hQs^rQw5G6f+BbQW&y#Hi2` zfh2%iH4cv2GJ#k_OqV`9qJA-Le3^GtbO=eP2t78i3G$L#sEE3`mV*fLOwVdJ?)~M5 zhcX7bqRDswCf1o3>2~LmD(A8Tc6c|t#-i#iH7}yMyh_yyKsrAgf$Z$BIRfb{c z!C29!cxoLnOCoFxe5*p1eFP$V-jiw#UIto^L;NB*2ooT=^lmz~JHBHoqMKdWIdbB( z*hfmU#lvZDpMS*;m!!+5AW`m}+O%EtAXp6JAR2KNlGf?T-cNvp(pc7~rbcZZGYD`O zh{-zF(NrpM38bt`)CMQ#as}Z6OZ5WH*&woqx%S*>gq$@SDMLFe=47>7(6$jKE3;hu z?d!9r9`Yv(9GxWBbx#qK4#ee|w5s&ay_J_^WQh^~+}*6vTc~xnPN^#2`JacsR?r+c z*W5$<2nTxbHWSdY%!EL?+C}T2HGMydvw9HeJ$-WhK)~(vs#CgYqI`-ByPWE0UEtQQ ze69rf=z?+vbPdDSkT`kccq_T}PUSoXkXZvf#ItGvV2rjf z9{~xpU=BEH^~6p+Chkz@cs!xaJ3%&meE9Y5{mus08=ePOQPADn%^RS0H!c8O1LGI2 z31rf%0+bKBNVP~mZO}+lsx-}k9Bg?FtBF(;h}1Z3E&CJXS%o9m1jr@m7Xik3#s+wL zvOD!Y{JPaPRPw|i{?~s2`{GLL@?vLvwpzBb*Q(={@@44e5v-Ly&bC`0dz_LEGbXSM7|<$9R0vLml1wT+pv4T zQ7#16uS1^Efgf5%1-e)VLa4it4>S!7yoU04Rr~~4eUeqkOgvj#V|A=nXm_4yp3gz4 zZhAql5}Jm*g2aD5FCHST?0>(sGVMOP^5|e{yamWFCMb4nV}KeSpojocS8M(lf56-w zMrX`N`Gjs)t2kw`#6TxZJRJxtCY1L*H^uQRVm|~wq2s}q`nW7)6&K@G*UIB0AJ|EF zcaa`Pb*@&0vTRn-Q^upuMsm~a^?Y$y>-+;54l%Ta;%n>)yi+}3xTmPRS!=)xN&{O+ zHPmi`2t-a7lR)4(5P$%}dZ>45JnVbRd#N1Gtwo1e7KwB{6Ch1`U)gqZb>eNyKm|77 zAHE1~S6#yJXzgir?69f7pzcyRaM5<*>#HYm*6 zHumGg9qgQ$9=>sr{c+`oePPrNLYRuejHG^?S;n}_S(1)$yaIr>NlcyAjHj5nQD2dL z`XJDp<*;PW;DhhGo;W>WL)bem?I->9g*whdfdF2ZcP$zcv$KcW*etF+%_^%cEyk#N;< zX6xT+ZdU-g2_(AYXuFQWo=4@yW_D`f0NwEs9dKdHl!Q{#bXNZ^t$g0Nbl5gq(oEt# ze@$Nkft@_hEpm@XK2Ve7$`?4(o;4(8OH|w-9WUM@eqUZM-dv zDjX$xmQK|IG#(Ggu;11v6+0!iG(7dV1~md+t$eRH&Z5gAlgna1=mIM~o9(GEoNE_8 z@d&_)%nnH0Td?F^0bAqB<}SJAJ&2V&j4ttl9|PB5Z)&Da2lo54DS) z4&&O2=U3SAh=nT~I#mO`|jkKj7 zYM?;eTtwCx7u7!MIMS)TP*mdP7Dy_Prys`TW%Zo@w+JHc_efcseT9gOT(DaJEuOo# z9E~f-AteSg*)$t5U1Y!Xihez*Z!my9Mw|1}J;qN3kBrCU3|Ki8T#lbpXHHT;e*He; ziccc8hpWAKQ&iU8X%|Jdk-A4wLXxaqh@wkR*c%^?oo&djaYfIFqf`1CXGWumD^sv-hIgS|z*e4atBYdOnhPlkfPUkn4XfD+eLay%W z3m@~)XUk;#3C2m+VHlNE^drEZ%&H-MP+5V%zk35-?{6EqAp8$6CdmgXh4&#{zE0VO zcA}Jm7Ao(C3*-g~t!M;)4i3-P$U`8<`{yRof0jS%UCfFDPr zuvAc8awb->Jn%l_t;Q=DH3F)nr@fHc6`#l96NhMNUH-(GD@uHPN{z-M8F{)#vU!bV z?q8uA_UJ7qB8KHTC*7kd?GA%~c__UB03(4$D<{M*}iwiA#v>q>vc`lKeY&>|$ zF1dtGii8oO9Pgz#_}X%m)Yy7>;cjHM*7K9g4k8eTV-iXTU5^3a!^4JhnSD`t4~3EV zB$3Kqgm@FyX!-m@>XAxwM*5_uu;9>m5lEZojXKyxwQL!P1p0DU#i^(c`(p!&?&$mX zvSrqrIil!O61)WqNa3G}_z)l3B*7$A#nC3|XBMv(tP=ZvM~2t<1sZk_BHnlJpsh~jMN{IC+<-Ng@Ms}`r+Q#MM z8p-Jc6yvel&oCUI1H6kKlU+vKB%-cL$GqvYvb1Dkw=qbXe~4ECYu4%fst~T}LqZTV z2+Uk;|4(}5C%YoV{9l0(xO6qO|Nra?SNe}i2vRGCI>c%RfcbyYKiZT2MfW?=xaA7) zvHt0R=#yl*Zv+J%^Fi5QyaaRqM<|*2Q;&Ggzt6WNrffU{!mG^Cyjjz6a$Ve7@#$MS z@omh$0r+fr^K0xxX<9RQJut}X{j&PFadwOF|GwPYxsi<#zsgr-Wk#>2v?KjC^UqRY!e${t&bbj2oti$i!%3u!+J{&J3 zuUm6~mIR~`gf0qWyny|#IPwL@ZY!W0$;j?a@X_-cr} z?8xb!O{e$|9(P85%X9?}U%=*$V{jC=1fhZh9(QCgn-ngf<6m8GF2q%{I#c(iB1RKf z=WUqXxHo4%*t)ZV;qfaxq`jvo$|4FyB=_VXoOm&o8n*%}<{bR$hsu(V7Ujd>xVQU0 zjRxvt$N9kO816PBUuCd9kTsxMN_Oak6Kpr>52MH~BoG#r}9V~BEK%B#Pa%F6w3Z+wgX zkqn1)yWV1r3*kBUPg>KfdNCph)bh)rRf)cqqH=9fovE0_s12vr6+BGz-m$3(b`AMWP?>J#rdf2Y7>bDl1f>{i%c&Q3R@+ z8k~k4(EcYApcbs-dNW>v3K+=B$B!H(|<+!%uFvM6pRc6Q?EA^ow z^9~yuy^X1#c_lnI5~4Pn{p?^3bQ zcX5D)Lfm2A2apDOw(9F(TMxsr8pjD3DZ>;DH5%U{ISmYtr6u|xuS1#XSl;e5BL5VA z+_Wr$3YfK5$85S}V$Vl@Lai}e0a}`SNg2al&N*>UgsdR(x1AA5PO+2>YwSAW*P` z4&pd9u%~g$FQ&c-USMYQrj|mE5wyG+7d6i1+Mq2hT-ojIY%mRQPBhBPlW_T}FizEdjJ6L!rW8*rIF^JQFSz379_g4fccP(F*fdugk@uiY2K{_=C zdy=yj{fbG_j#k3 zhcnXw_8J_GD{tEoHQYbzPHM}JMI#(tGvlhu0wKZ8cU3_!AFKfUaBM+DAVG6Wj}Ue> z%PqkKcuJuSI8CsTMWFE>gd{H3DhxsEUPZpAfEKcgjDRuBgql&59oRB$59JEu5yme~ zv$PSfZ9woc?ZxQnNqS#i%ATT`hg5QDJrUL=D1 zmkdk&LcUa4$N?PZ5MBNoFwSzp7!dhd>~b2*HJ8?D@8|-h)bQa0<#OV=@R`%79zAqV znOL@)F$u*?UF&FYNRu3(7e(MU(bmhr@3XOc%084xbhdwf$0R~!O3668z(EYC<0 zD^SGo)QE856Pyqpv_GBTCU1=#KM9X;Cw@|M2@1q(O&}JCn`qex&t=;+1bVzJ^GMYJA_Jw?N9PT%5sey{&suwu4n@WR|R@Td3}pDKh>6r1ZH zVyLHKs~~G6qHY>gsFFmAX&VAS6bHRiiFI~6fMQsulQ&YbNe0(ZgDFjY*%Xu6fyv^5 z*hm-XzTZT|+YSQuWNJ;bFMy3zGvcr_AR0pS?S2~58{tcq0!4+2yoyn=J6dKm8WeHs zk35L#-vWfG^VV3V&O0dHKwQ^dLc+TEC-2i`0xW)$^B z%ZAy!!S%o3{%lH)2wbIuvJN@-7KvkYk_j9!T6SkwkRtlfG(D%kz@75E#C| zC0o9fB;8esO%Rz~-UeoXlKkOT6T%ziB#}{3$VJ^jeR9;HZvj}=e#XSqX7*D-4OrgcZ&fE z)3w|U{$^kPQs+z)iJ8QIfTIMlndI$bzBhSt0DOX?=HjN!hzU$_bUS09_7;w7DFJ2q z>(-}T!PKELCuW%m;m}8CPs-oxm^pCvtxsx^CzIDM&1-x$D1onFK-z&7p6f<#&svX#Qt(34)vDlb~t&vfV62I2Rs8HC@9<0@Z+Q57%LAqdHi1{n0GFQ{Y z&n!S)8yRB)=OhmOe#bF|)SEU#hF-WybQIvF_lQ!l@95Psz|BbbapeA)^il>IAd$)0 zU9=Q3iRQxM;a1hT$?d})1S3kWU<6v9Co6D-)TRDy?H3Cdj4v1pbJ9^ylZI6Nk({0j zUr_q=Y&UaUbz43<)Ev6y_3Fq-cJDBbENY=^VTa%r)r#-aE^)eH+>sP8HCRx5%iRWN zFQ*YqU<^%UEf?aVyXgQOF%SXFjBs(l;r&r;EU2ZKsIng%R3P-JnQt)Ps#gUYAZ=GB zfK`%FCN3Ld+>xJ-#D{p#p#t*C-~nXg|H;jbXt!kN82T?Bic!DRUGNhGKszt`b5~H% z^AmDGAq(rMpbBg15}*)JQG-~*!ZQNu;ojSNgEdQTqNn$l@oP7dKESn(O zxUIjB=?pCs(}u#_XZj7$Lkte5B{9m%!OXJQy-}GO#A^GYIWTX*r|5|%CTXb5+~T*( z4xkVwXR=9*x3yjaar&HVzro}wy6G@32=&Hs*u}lL7dx;n7_*4Qvx&Cq} z7p`rotIX2Bq~Qwbd05(r2RhHWl>zSL;ecjN1pqQ%%)~jV8^hlx)8lK2$)8L>&0_1m za-K>=%yNm7xAzI>(_@ohJNtGmy!`CJX6T91rFU_1=fxj5Xkk^1#9T6>DxyjHpf-tp zA<}zBJM<=R7m!w-X?F}&uaX!&UfB+MZ||89)?UWGk(?W#xlU|T@q1Q1f~~`5fgMg7 zok>G~O$H@uF~B*#_7@?e%uN`NIt*M;I1D{`x;SgpB)e#d`t7u7+^NVzpXuj$@ezDu z95HivGwHnR)#<%)(BlQY0WKPRY^mS9De31G$f!l4CMJayfS;W3bSaa%6sf)F}9 zWmE-97MYFfzpO<7;6K@D4(9)twn*UM>0rs=;OSyvZ^vNoWX|}X=kJS=tBsAROA4qH zI2|Gf^YQ~OzqChI&IHFFl>d_@ zcO!-VzsQmckU>*JuyC<*q&SFwr^&Nd5g|a;#;a@4>0+TJY`{T(5Kq5@?^z)6MQOnBXRxu zeEJ4CZs1(*UtjLN9AEPj$bH?u*SPb4njrOj*0Ao28_yfk0kzTR>#Fo`DuA9JXq5y5 z6Z{Va^aMmba$}j+8T%-5Uy8vFUyoNKj7J6ov3n|?c*y#|wua-jWHB9XpMRHjQiosN zpXWE`#+|PdyXQUEmH3&s&g}cnk}xq8`vwI~lFC%}LQf*3p z+&c@(oYRY1Q4hBjIkHj@)&UFbfi$VXnZ|&=talGTK~oFrjd=?KOpQwmN0!>M*u{?B zva`)BJxf zBVmw$Rw)Doq=WsdHY9p0Cf8`n<6|>bSoXRZn-7>;+GBt79r!d!Aj1m8B!`x0#Nnw& zyiASd{PlC-tYCbz8h0f?noR}Q8s@>%j%Ij_^Zm{JV$Y>fE*%I-B%tR`ze8K80=}>G zB%JvnMt+(MM=@7Xn;z&86G*}u8}U=CzYc#>;SX1bAqAQ*2Sku{2zSBh zW3X0bB)uhDvIsCPu)=NrFKT@5wN+`quu^<8o^&~6`2}Z$S`B4nCOJOD$PLYM9iPIW z6WmgHoM62j%J_P7$*Z!1%1utto=mF51XDh9Z%N!gV@TNok7$5hYG8;uY_6>bdfQHXif8ra}H4>Sw)3xvi(u;xZ%Bl8x%adRDO2!)U;EbQPta z2AufGz0gDzB^`1lvehvu1D8Q`E&NzZUmMfi5QOC%J*#5b=1jL9rSBQ&p|qhNQ{T<} zUMx{74N!qLlL2g|>NHK)_jX8!d+s=$&mo4qZ@X+?j7}r_dM~9YKaRjeHfsG!>l)>> zbH(4S$Q;3cy}e;=vI;bgeN>|?8A}(M!Q_;}L+e`DBWZx{O3gnusS;fzEf=}^Vr4Jp z@e(fhI8-zB;!NB&uM;>NqhF7(MmpZDe~f?hpVR|OFKrA(Cc+_Ws>aXe(rBew+s7+S=AouA>nTibNlqRbaCs~yX(}@CVj`-{!r8susRdLJ4I}sdzHpczQnV!$= z%5;t^rP*OO)lF-=z~&PhQhlFo9BS|0UC$a?2f%0a4m#53IL~(JndPW}c_t%h z-KT%XN26lUIZ=oOiLprAooVsE;IWThy%Wj0T<0n%ROp%rvR*beJsjs8I{xgz+ZSr3 zt1)k|(ZsT;CE;K}7_OSGRkV=E5A<3{FD(L!jOrxhik#BzU4uVoYHm+h`Ba zhB31v1M?Q@h{4(*NsHdMviby*C}vgt`DU%AkbUKa$|*fxx*KrZ_TC<|mhb{uYE~u( zA~UO_j?Wt^TNlyrUcVJaR3|nZkBU{9Eg7Y&X90JNQ#QU84Th%^8zHk2Ngv(KguNmp zG1OEAy9?7U&Sr8!6Ox%6nIUHdXdVWdM0Anr49$K$v~F%Lvn9wKw?M! zFrVbx(QRre&=ZQECd%?TIU|>T%k7+M67~Yg7c)mq7ZE0I65OX3ZkM1H;t($4mX2at zSc@mf%UfFhyu4aJqn2#BOifudnBm{Zd;C!!L0;4HqvpgnjZOVSMg=2$ej$B;t{(kcYU?Xv?3%Z_xLN zc-pI2Ixk(N0v9BAY>Eb7#($Rk_R)q_SrNeQyq3=AF(Ta{&ssm8QHb!@afAXCsG)s(a#i=2Z^V%P{|{)s#^b zpU9LYI6VEOn#KBr0Qk8f0QoE@)X#mVXDNfsGWCwaZDNDqd(1#Lvnhl78>h>i8s5nF z;h@EsoyV6uQGQKukv()t8RA_4s|a!}-lZm=m)fhd)Xlu3Y+L~=%fB2==NCQ4eyp~O z7MXVs`ETvyHz=w+*O&!h$@w|4L)=72dgpeC!l}$w*BL5slb$V~{e2T(tLloZ zvYe1Tj|?Ihy``Jbj+fDJ|6`rAQK8RQNqLR-Lmr&gsSUp5I}xzPkWw7<=C{Z7u#3w> zxoW=wO-`AxY-GbWv47!Mp@!9}FRwXjUkAz&YPiX)meeHP$l?GDIEeH(`?2o@Ps$$T zSdTc5BnFmy(>#TmJ7{-m7bpgPDU5U=MJpJBCi#7Iorw)zXmKvF&F`*GVTM&D@&26z zc8y)(aL)Z9sUZvt)*7Y!7%#BRk*t*BcZo;_ebH%t8)s=0^xEVMNV}&uz{-n1BipnoIaxen7YTn&HMbE>!%`bE3=;EACs|_7wcWl5N5Z<;$FMd7UG+T z688Ke&A!C_N5|`(Q2u)9I;ND*#~!bSdOVwYR_lt2TvQLJrfayUyXtkGO`#{P4!iNY zqcezSShMU=p7fbnl6Zq-hc|c@eFeNO-o0e$U#eO}6%rQW2XbfIQ_Za zwkf`)!!!iIZ-aXe|1|nh0-0?u*S_ZMd%5M94Dn@i27#*VCs6-th;3Qv#>Mz=6G*Mn z&6cDVOdWEhyb)Q$1%MYdGvO%i4yHswe4O$%Y?uJYYY8aiaxP-GhR zCUp+?48_=mXjK_J@G(sh%3tGq!{h_iwz8CF<`7V-;vex9FZ9OA{{=L%s<58KL82h! zxc$ik#@C_!wqHzMNtc7So*g5Mo7J#Juyx9S0T3#U$cVpNru8HV|3p8N9$}DctMQHB z)!U_dVU0};=CwsipP<@28E#>&_ik#I9=Jt}nF!xEJ$lrHTW4*ZEwW4-I!UeMmA|Fa z{W$Gl5q|26jCei%<7BjY9K>ENW8nhnqguKPq^`8p1Z>NxN!4a(y4A=~WDcz9aA~W4 z5sEj%hUjt6JG7D-25D#%*EX z&R9a-@iu4qK=0LmM)`Sl9N6JW&kCztQ;@W1#iC9sWKdOqAzZs=V_DOQ<`Z;HPt$5UH)kRju%LOLT=yw9mQcRYWo$7 zZt7NGHaX$(kyNbkm>W0cNRqJ_V|03XUhkqsTJ+wOiDkY147E)x=P7?2WETm;^h*oO zAui`yCgzt+!2P_2so*-ZA)1?$bsM!55OGF{FbIR&l>?z7?4_cyF3LE?Tftt>L3tIO zCyF-1UGIK>W}Za;(Cyd;iLZNYg|Vw>WHi4m1*UVir4=#U<^(JO^DP%;LSe*Lolj>_ zO2Q+6G-a(mEK70D4HtC9+8vue4FXByih3yCTkMg{W()e1X{k z?M>an*AyvHM0anH${F?VNP1bqWbRMp5djpMs*CUBDl;8mi1sq6U|S{Eq7(;{=~s{ZMR-RQ;((HyTaCVGiufP2rY_kK;(9(Ua$;Iau(aH7S5 z=BeY#nH{rho3_mMCjE59-&XCv{|pAC8@w{2wQBsg=IU8%_%^g%P%rZcX_g0QEs2f9wAimEy}YWPA3E{)Cw`78f8-Ig55^i7{i7-n8e0 z;lr)|OFK3u-TIPF--umUPa8&;%=88&@}}kP_-m09NN#Fp;_TvNn!?Qv?Uiy$0xgRS z_>S+t)dHsfM)?3h$}ACdSjtZlXjUZ7{|vBj0sbQ!FmwH90GQIF0tK7m_AM;HurRa# zM{EEj>>|_uM^8wFW&dvnCp$xmASpCk3Ju5qjV|!O0Zk2L<>L51$bMPcF&o3ELEF#j zlg=P4f)n|~qr8NXygW_tKsj@@+`0FNOv6Z4GMD}=wk?r&0> zFSoyQnXmfD!t>Fayl=O!;QakS=&AzyPVcu|YkYphf1Ity^1<`6I`i*;5uG3Us2;() zdHAlGczv1JvaZ|RGN*}reBKOfbogDn_`iI@yZ;VU4b-D#+izy;b=tqV;f*}`z!T|~ zXYG4Kv_2b;b(J*p0EeC(?5~%t>3fKv_z!zHeGOAj;U5G)YHyQnG!ssN**pURQF~Rd zRoi{q0~R}3uSoZYDGjoxI2(_yV(<;;yGv&`x08quXpQLyrm&1rF>7JyDV^HK?-lM6 z(G5%x15UC?^Oi_!epJ?e(`_#*c3C~#gpD_^6gP2uhuClD`-!~PcYPo;XG3W>*Nibr z?s$21d+#@ zmWA)w1Jwj)n!N!=XTZwpMN?+b5y@p;WH-l{EJbX*zeqWa?h@@{xcPncBf1^rnV0wlPojiHM9SF$aZFl{_Xko zd55z87yiLuPm-AnDCvU?1@{+HvKyeQ=Xz==e>8#t&=&foQ*7c$e{5^BO`{tk4u)97 zDZ&fu@FUN00DTUnm&%zbzU`lhM-v*hA0xySVt2hy_E{YuiZJ`O;7tZYID$Cj_r4b= zHXqv1-r`0271oWmwq2Y6XGe$>pmvl=3ZY1}I-HsuFtyPRbjN)EVYb|O)&FYKA+dtv z33YR7)0mky7Q}>T7~aS%CEHzxE@ZSewrJqa8VGTwG@0QaI`@mL@EUwWb82kVu+YkK zR$H7HG>X?#=tp+N^HCxeNu7nVbsxzCoZNdG0%A{JfR0DVKjYVb`#bq818Dmh(+Cmj zx{k3HJfoa5z>3$}w>!0Z){2NaoxHS^spQiVn=*{6#ubJ`O_?KBK{z^QOx%|=@a;D^j& zbhF3YwT*(Qc~XQB34a+($o2M}-NSGpxoZ)xyTBTwhz!SunI4co5N3}B&Z6am+;(3f zkLZn(b>dyQyYi2(!=!=W6lVN!L?=}4ua`!J#B^8uht6IoS_V+A5B%_8vl~>6M2bQZ z9=lr00FI9uOzPA7&WItVC6^!51=zHVq9?uVP@aj}(G{jXGST0&w=&OjtlS~G3W0Wj zSP2CL{FZjmPi;9_v%n9$4!=`pj3a%QZ-i1)t4yok*~6g92n6Oz_Wzbi1;^MLpbij`^^8?9GZGV3 zYSKO-7A5qRU|ts=?{C!cWqEIou<;Bl?y_R(!SN$Y6QrMAsYnLBpAn@J8lD#at{6k` z2t)IO2Fb(2jMooPu0o?QHHUCyWF{M6rSl3(jkYn4ydJ2oo$Qf0TS#;5$mqZ)KRvV> z2X4~-VA}acE_tqs%P+L}La6iNUuxvG$oqg1gh6tkpr}XF-A=R2PLC8 zXg!UhG!R)OCIshUz5&~6!vHb@WL#$tVAmZ~Boj>%Iy0OTUS~J%aoIg6iW$76;8qxH zcV;WE{iwJXRmL0B^VEedgGAjSEu}#-btj`xgKV}qRLSmnbB-?&S`6;|W4?1uj)Fyx zjD!d(Gb(i=D_%zqhS$?SOg`knvNK0`6O`b1Ey~3@9`RMottYR**JgXC`9|S1VDt2i zu=X)8oV~X8h!QtvV@g(kmVk+{U$RYBHait({|`P2<=tbSh!-=f2aMZr*DgjNb*VK$ zaEdszwYmXAs9tsu$KjjmDe($rcOl8DkcNzcYJ_TQp?XPscL4H>i{KMu+r|k-sSLIj z>0&v%E6Q?jJcrkqi_p^Es#Y!}5P#U%k7i=La1~s6Q=$>>Zdbn+Bz&CY;8cA?PX1&3 zP1-BGJpE#jBmUmVMx)flI=#RPpz~Os^H8f;GNK|~Zs?*R9sef96}X2VnPorBrOss2 zs!+faS8>4WI~VgZ*4ce3eNjgG#eRE4uamJ7A_bFu>OENaalohJhekFJESKJCeNh64 zDJvFtu6f3|=@z%7o^5}Z$XSh9r>ZQ3TPWe;rC=52q#m3~Gldsh7mqsNR#Cm$(8mka zYdl%iW4@KgZK9j(@37`l5f5CS@s8$m(J-2#0Awrre8yQ#&r{y%hsPDUi*r%#6HyVH zhagZLUZSrB#nuAZQ={2|kktAmxkSP&?R}=x`&dUw-QA#_pP?FUJ-M3R=#`xkn?u1) zhTjG$qNN~_S=me~&g< zVl%4{s!*B?>e9wU-vvEWo)-uooT7=0ep6y<`dP|(gad9S6&pQc-78$H16m!_Dzxyj zB@ic@+0`vrKyQMpAAn{yF*YBF%MBW&}@=pr9DBIa4 zcvUOKyv3SIJ#PR|rzV$uqSn8;l2}=2evUrsOly2l5g|u*+Cp&|%}8B!VzbkXwbR?* zn$+*GYzr6yBmiFh7Ly!SZtv{Q16*Blu2fG0p6-ada^H+vsus~|& zH7ox=85zGaaM0N&u};@B0&j`pu+bR`QxgWwa0*1j{TcW=!zSzobX`fcE+R%K3g4Zj zY@#bEY&sK2BLWe0Vq&yw3@Wp!40@lVvVPDR&PII~dvhDzyRkZB_Ro4eecplH-6v@jBZZRoHvUrF(B+IhSEneQ-;~KW*e*a7@{2Vwu zjv}H3j&Yc6{AknmsY(UOh?H_cCwo7^=kS!*&(jjqQ+IMtvyVuj7W2{hZ3>IljOSMz z5sA$`SBCYVb#{Fo;1Udd+F?4kz9kyHeILszz3|&2(>cV9`{VAOyH!*>r508&?i!tcjm9BK}^pT(!P&PCXPhA*X}!^26%v(2MZ?1uq=` zS@R?bBD-=kY67ex%DZGI>BI!7wlVow7o}M+Y_S#vVA6KA!!Rk+xpzmOD&%?_t}CAy z`1i_NH0f@}?>79Q?&-9-x*kn+bbvhCLYh4My3!!G!V+=+ua3@YbA(TbQ}}+f+J{_Q zPD`o#=#H3DTb@rm;Dw@|SYMevsF|tF?2V+a-24Sopz^QZi7uHP3SW3=LzvK?s|My% z@fH8yp9sztLchpe^BCjOBaiQgW;q`2fsjpwmbCh9EdXv`hpCmLW+$BG5B=@zk~A?J z(HRD$#} zFC?GVyO4MaiGbb_mtO6DmerOHWkEH6s3P_)h;QTURC-yhs$`wPqp2Gi)!^^_=h+z` zzRf4cB!^_u){SbSY_pZX;}05bW&R4V3oZs>Tlva3zhnHvUoiF_U456!72F0u`(kDXye|??!C1eIaI} zNnzQ+RcYeCNK%^4#(eoy8O_fRNOe{}S&~pCiA-pzjtz>;!OKYP|?~xyWK+VO0xcUt3Ex3K1yUsRNWPhrF8K zchU`SDQ0Ta8eR^EWW#ZQGx?69vnPd6?0$LyMT9ZzvmUQ+?Iy`vskH2(uz&>V16{Q~ z&%5aR)9*ku!|h6kCq-qYl9nv6>{i&WVvu?zfeA3yZ^B|z1~ZviTAonz>V}nIF@c?j zE`BJ!NRCqB+SPLUvn;Qbo{apA^9HxRF{lCq z_6&iGYl4U^=e{=h_~z2XG*`p9iMz>hu$B-R88n%=5~icxoTP_MqTCtI#MlEkdP>M_ zZd9SnSxV@bh0WDb{q(nsj;Tl<)02#cr7mdobwTShrGI(r{{!0k&Ja(nTjJsf%FEorLzo_I~*xOJ|P!zng-z+ox*V3 zgt#ak*^}n$ho)4o6+)Js_wTqO=5U?3$}ledeC_4Cs@`X87rq{TY=N8B>MjT~bky!6 zdCC}_{{3P2!YGEyo^2ndDw^I{_I!91xf?E#W>}Y=9Bf#X9veC`5ujVIg3eF4Zk2rV zu`j7sT7C|E#WdSC;m}HBj8z3+5e};4wjV3U-Bevku5geTs<+ow5I#<=zhJ&cwJb|w zJ1tcgGmK+O;n_4fuvXox*yvn{rKO=2eiIzp3=6N|pc6;b)bvAC?_2rNMCFQY0>C$kcYhH7RY!-^;`u;*e3$4l3I>JD4gZZJ~6 z`m`mD)3(BOo7Jl`JyWe}@e2E?i#({5X&&0+DvO1;$b+${>dIAKW_&^qu^kU${ph4O z1)wcS@KAL6pP(csL?s1Oh1KlY6@R(vkS{`8oE4!-*eNjs1Q)s z#)``@BH~ANsR`j2%csFT71BL8%6cQ5Twzv>r9b~T(zAvQP`}nUMX9B+0>sFdgQ>Tx z!Ae$t{{+Y(TH5sfcJ?k+3LH}+f3gU4die(;1)J+n^6Mu~-iX#| zcdD$GErDB!;b!}_$@VJa#opu}^zPwf3V_*7yuJNe)RcdqT9g-yu|$R5Y+ikB2u2fK za)%I7u#$PT5hc4ffX%%3#@~JKZI_6v_4UbQNIs|m1HtLKqa!qT4I7X94^X~B?GwO; zd#_^1A~fWu$S|7VmH$ z@vb#Jh}hXklr{0JRxXqq?P>lnp#`&bp9|G`!|(EdIHZDAKv56V&_{ILkQkVJv>eWS zf!1=*MgBj!p`k6@cgx<$3XYRGMNtLHE=7SD8ZxDg9hwz^?Y}}I;6F!?{;MMXPnicO zXNqAH7&RE+e?wdRfB0yCaRO2l38AQfEKJP*2k9c~zuu?8*T>Xv+E)xXko~4(AmQglCefFZ$LI3E%IifJ{%{KZ)ve2ZiTQ39br&z; z%r)?_dcqh^IGoYl3E0l!!W{YQAmtp^8%>@==@^P1(bL11v`k)MeKpG)zkO%e&|!bw zwy=OSpodo(TgA|^;8b$ zX4=K__jq2+zZk>zbdY11mqsy2t@?|9QgUUt4)iyOEA#<^ zLvBDXTGf_6VLWJxmw&5U&vh(cz*Ji462(?|g=zIN5~F@DpT_@bjh2my7d`%nGIO2zn0lt5+)noW(U?Iw3Qu8092YSlOxXGDK*g=-~hD^ zucyNU-*CXfR}=Rpo4j^zT@*>3YHevre>M-RcbOn(bA_e!>Prq%lJ_Nz9H|!^##Y1* zh@^h&z7~?Xm3mIoL;Hux#0fLlIg|exV z8c@_^$OQRa{jCr&BfmLDZ?Oc0gW#n3oS5|ls4-Ts=9FT4h{e>d=+fWxlby2?j;jAP zw+OQf@_DogB_>NA86umLC#=CIOxk*NHe- z#@Zn<8IOH%R^vd7!Vc<@^TLJQx>g0ckpIDeeSy>3X9S^7hErk~?!-iC3`sTCwS~kr zX^B(`wcbN}rPS3!3OR-J4$Szo6tWktJxZ35RN^PM&lZJY3ncKk(Vf@0buiYKcugj9)vQNqkl>aZ0c&8}z)?i$5D)@rZZ! z$_8cLW~5l>+x`!hvNe~%0o@oKoZeyKle6;RzMLKPIwEUtY;N5iVdG?Xu3Sn8r2q`p z?lr;inuUvPi4&-1ivT8SubMqVnkz$by!LHzQily) z`v(ApeVjvw7!k2-=m@{J%4{WbY($r4W{qE>PU1aa0J*81@IeFb+6a)-SzxO0Q^h^) zW~(Os6P&N@%=(F4ici?_zV7YYuEMJLY4*vbK5i-8dDe>~pgFZy@b;9Lv8tETf%=(5^z<8v5PYQMq=uym ztz!ux@ufifDx7=kJ%3wRX|y*dC3+n1+?OZ+_RLF8O=W zF9l(dV3pNrC9a{O?OIB4*jGyTW}iFiH{7$P&MzQ|E>Fps$23iag#1WfKllrcUS;8t zW>$jJlCCZ#PG?-**ivkj8@h$0_K$CKwKj1Ow8?kD9z;_E8Yr_bVz!S?#)?*07JYr|c&JrSmd4t}|yb$87k_-ZfW2>*5 za4>*FThHAQmdut8m&pBaM#VdWRZhPT)}$oe7JYP6`&6bOU*R-TQiF`ACB1SG?^ch>L%uQmsdQ~KE8BGEZwmcVUMkO zQJ+wNiGVq9jH!W)?eMh=wd2kaw&U#Q;l}`*Dk{D>l4|9alhnGg?b^M-@HsS9iWT%W zJqIcLdbL(+8s~`aE)nywi;XQCV&RULr4L3F>0iV#S>3i!RVo(bcbfhfI{Ke1)5~z`L(jlbW1kPWf90UMGS(GOK*>V(n?&@|eEZBt&RFU~Fp$=3{`}d|Z{eYm%d9KYhgZJyL!f}!Qd%syf zxxIb+y)KEHKODZXRRNN)6x8VRDs+HGs&Xf*olk%9Z?tDkJyYA;^!J5=aFzoHk3aax zKMyCa@zIbkOa}r>_|SqL!a1iZW!OZNk-(ZD2Q#F$YNW4N6lF>|%OIP!QuUrM&u>F6 zbp4hoQ+P0TR9WKNEUT@=EP~v6&FXrcs<~g)7yq<7sl<4}5nx7IrUcUGROJEHW)`q{ zlBQI#Gvhy;KxGDaQ34`9t**Y8$Y|qNwRnAxeV^ws#$etAx1!k!M;hd-I%=G8-__zm zta*4Rb4O+lTEoSQP*9iLvJ#TNLW?9>TEh)#xEla0_XuG!8zTCAVb9iWV-2g0a+;}V zhUD|jirI_j$(KGbChjm-|1=<6;Yo-~dQMR50ry;?DLn>Pu1F07aQg$h&BK2>IZ?D` zoaWUj&VGJZFL^=km$9-Kbn1C~@Og{s9u-=Kyt{R9n9S&kh%lRSX#LeEl4G}UW=EM0 z(oL?gg6PZ^lB-L`t=&{-a;qFnmv6ply-Xs;AYhVTGuvfDe_QsU9Q`;V5%L-0Hdwo2f^>y$-{;EG2G6mzdfPlH2h(~p z&JNVZlU>(WH{1_29t5HlTTGe>l3KqK`e4o}uM^SM&VnXcRF<1_)|8@ljH@)MHmJrl zbQ{Og?$TK0>008xnFZt-)BSlxyr<{MF*D|lyq!L3;~PEXt0&ioF{e&3O2Z&0bjyzj z4li>-pv{@vTmz^INb*nHYidPS_f(TDGhGMw1tA3C=osM0OWTZKPzo8|ApZ91U`Yeo1!enBG(g!hRs`)Rn=)$&`m@F89@-f+Zj}fOz?!nd1&Wh` z^a#xlMygu(Fz%7;|xQaGG(lv74}S{`&uaL-&6} zE*KkufKrNysnbJI5*uTO9&E#r;$Hhp^i3EzBBD?)fSb*L#r1;$4cur`36Ru)kRo@? zBr6|AFzh2FOz#AtDxnY&A5ig;yv`_A5T<<>&;}iN0_5NtIzLhK#4I3Jw%Ul549GNm zC^d9I^29ti{?O+}8Qf2cqV+`8N`s93`(T%_I{2R2SDj=Dv91?zkc~m!rHo>S^&nRN zOd7x5YX&d}lPs3GW37dqbI=qMlqX-8Cks0BE>tLo?l8nlwM90w2RYqbL~K513^j=Z z%czB%bc2c`)!wDS^>`69*!8N!yX8{30(&n;niG70R2aWTCOqqFx#{6HC C>Vn7s delta 145632 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�^DYn7A_UB~!l*1D*tTQW2qb)Crehn~5$t^^ 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 Date: Tue, 4 Apr 2017 00:01:12 -0700 Subject: [PATCH 08/10] add missing files in pip, bump version --- MANIFEST.in | 9 +++++++++ setup.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index d1f43f9e1..f81f5f520 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -5,3 +5,12 @@ recursive-include Extras *.h recursive-include Extras *.hpp recursive-include src *.h recursive-include src *.hpp +include examples/ThirdPartyLibs/enet/unix.c +include examples/OpenGLWindow/X11OpenGLWindow.cpp +include examples/ThirdPartyLibs/Glew/glew.c +include examples/ThirdPartyLibs/enet/win32.c +include examples/OpenGLWindow/Win32Window.cpp +include examples/OpenGLWindow/Win32OpenGLWindow.cpp +include examples/ThirdPartyLibs/Glew/glew.c +include examples/OpenGLWindow/MacOpenGLWindow.cpp +include examples/OpenGLWindow/MacOpenGLWindowObjC.m diff --git a/setup.py b/setup.py index 2398448da..293949fc4 100644 --- a/setup.py +++ b/setup.py @@ -386,7 +386,7 @@ elif _platform == "darwin": setup( name = 'pybullet', - version='0.1.4', + version='0.1.5', description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From 239ef81364c97d1bcf9110d9710e2b625b77ab7d Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Tue, 4 Apr 2017 08:11:18 -0700 Subject: [PATCH 09/10] pybullet pip/setup.py: enable double precision, tcp, udp --- setup.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 293949fc4..69714caa7 100644 --- a/setup.py +++ b/setup.py @@ -18,8 +18,9 @@ print(platform) CXX_FLAGS = '' CXX_FLAGS += '-DGWEN_COMPILE_STATIC ' -#CXX_FLAGS += '-DBT_ENABLE_ENET ' -#CXX_FLAGS += '-DBT_ENABLE_CLSOCKET ' +CXX_FLAGS += '-DBT_USE_DOUBLE_PRECISION ' +CXX_FLAGS += '-DBT_ENABLE_ENET ' +CXX_FLAGS += '-DBT_ENABLE_CLSOCKET ' # libraries += [current_python] @@ -48,6 +49,10 @@ sources = ["examples/pybullet/pybullet.c"]\ +["examples/SharedMemory/Win32SharedMemory.cpp"]\ +["examples/SharedMemory/PosixSharedMemory.cpp"]\ +["examples/SharedMemory/TinyRendererVisualShapeConverter.cpp"]\ ++["examples/SharedMemory/PhysicsClientUDP.cpp"]\ ++["examples/SharedMemory/PhysicsClientUDP_C_API.cpp"]\ ++["examples/SharedMemory/PhysicsClientTCP.cpp"]\ ++["examples/SharedMemory/PhysicsClientTCP_C_API.cpp"]\ +["examples/Utils/b3ResourcePath.cpp"]\ +["examples/Utils/RobotLoggingUtil.cpp"]\ +["examples/Utils/ChromeTraceUtil.cpp"]\ @@ -386,7 +391,7 @@ elif _platform == "darwin": setup( name = 'pybullet', - version='0.1.5', + version='0.1.6', description='Official Python Interface for the Bullet Physics SDK Robotics Simulator', long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From b095e1d917de73e4dce7bc502656475a67a77074 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Tue, 4 Apr 2017 12:47:34 -0700 Subject: [PATCH 10/10] expose pybullet.URDF_USE_SELF_COLLISION flag, experimental (likely doesn't work well for many URDF files) --- examples/Importers/ImportURDFDemo/URDF2Bullet.h | 1 + examples/SharedMemory/PhysicsServerCommandProcessor.cpp | 4 ++++ examples/SharedMemory/SharedMemoryPublic.h | 1 + examples/pybullet/pybullet.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/examples/Importers/ImportURDFDemo/URDF2Bullet.h b/examples/Importers/ImportURDFDemo/URDF2Bullet.h index 192a4ad39..de8978faf 100644 --- a/examples/Importers/ImportURDFDemo/URDF2Bullet.h +++ b/examples/Importers/ImportURDFDemo/URDF2Bullet.h @@ -19,6 +19,7 @@ enum ConvertURDFFlags { // Use inertia values in URDF instead of recomputing them from collision shape. CUF_USE_URDF_INERTIA = 2, CUF_USE_MJCF = 4, + CUF_USE_SELF_COLLISION=8 }; void ConvertURDF2Bullet(const URDFImporterInterface& u2b, diff --git a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp index 4ed8ea901..46d5ebabd 100644 --- a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp +++ b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp @@ -1810,6 +1810,10 @@ bool PhysicsServerCommandProcessor::loadUrdf(const char* fileName, const btVecto mb->setUserIndex2(bodyUniqueId); bodyHandle->m_multiBody = mb; + if (flags & URDF_USE_SELF_COLLISION) + { + mb->setHasSelfCollision(true); + } createJointMotors(mb); diff --git a/examples/SharedMemory/SharedMemoryPublic.h b/examples/SharedMemory/SharedMemoryPublic.h index 7a201aee9..dacc6426e 100644 --- a/examples/SharedMemory/SharedMemoryPublic.h +++ b/examples/SharedMemory/SharedMemoryPublic.h @@ -451,6 +451,7 @@ enum eCONNECT_METHOD { enum eURDF_Flags { URDF_USE_INERTIA_FROM_FILE=2,//sync with URDF2Bullet.h 'ConvertURDFFlags' + URDF_USE_SELF_COLLISION=8,//see CUF_USE_SELF_COLLISION }; #endif//SHARED_MEMORY_PUBLIC_H diff --git a/examples/pybullet/pybullet.c b/examples/pybullet/pybullet.c index b041f88d8..0e920f7bd 100644 --- a/examples/pybullet/pybullet.c +++ b/examples/pybullet/pybullet.c @@ -1,4 +1,5 @@ + #include "../SharedMemory/PhysicsClientC_API.h" #include "../SharedMemory/PhysicsDirectC_API.h" #include "../SharedMemory/SharedMemoryInProcessPhysicsC_API.h" @@ -5434,6 +5435,7 @@ initpybullet(void) PyModule_AddIntConstant(m, "ER_BULLET_HARDWARE_OPENGL", ER_BULLET_HARDWARE_OPENGL); PyModule_AddIntConstant(m, "URDF_USE_INERTIA_FROM_FILE", URDF_USE_INERTIA_FROM_FILE); + PyModule_AddIntConstant(m, "URDF_USE_SELF_COLLISION", URDF_USE_SELF_COLLISION); PyModule_AddIntConstant(m, "B3G_F1", B3G_F1); PyModule_AddIntConstant(m, "B3G_F2", B3G_F2);