From 2f8876780ab0da41ed4a42839f24d09cf409a205 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 1 Feb 2024 14:09:29 +0800 Subject: [PATCH 01/15] fixed:build error --- XEngine_Source/VSCopy-Debug.bat | 9 +++------ XEngine_Source/VSCopy-x64.bat | 8 +++----- XEngine_Source/VSCopy-x86.bat | 9 ++++----- .../XEngine_ServiceApp/XEngine_HttpApp/Makefile | 4 ++-- .../XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h | 6 +++--- .../XEngine_TaskPost/TaskPost_BackService.cpp | 8 ++++---- 6 files changed, 19 insertions(+), 25 deletions(-) diff --git a/XEngine_Source/VSCopy-Debug.bat b/XEngine_Source/VSCopy-Debug.bat index c8a3fee..ae32579 100644 --- a/XEngine_Source/VSCopy-Debug.bat +++ b/XEngine_Source/VSCopy-Debug.bat @@ -5,23 +5,20 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_OPenSsl.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_NetXApi.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" + copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Authorize.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_VideoCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AudioCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVCollect.dll" "./" - -copy /y "D:\XEngine\XEngine_SourceCode\Debug\StreamMedia_StreamClient.dll" "./" - copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avcodec-59.dll" "./" copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avdevice-59.dll" "./" copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avfilter-8.dll" "./" diff --git a/XEngine_Source/VSCopy-x64.bat b/XEngine_Source/VSCopy-x64.bat index 56c7c3d..78f9915 100644 --- a/XEngine_Source/VSCopy-x64.bat +++ b/XEngine_Source/VSCopy-x64.bat @@ -5,18 +5,16 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_NetXApi.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Authorize.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_StreamMedia\StreamMedia_StreamClient.dll" "./" - copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AVHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AudioCodec.dll" "./" diff --git a/XEngine_Source/VSCopy-x86.bat b/XEngine_Source/VSCopy-x86.bat index 679e9a9..43f0096 100644 --- a/XEngine_Source/VSCopy-x86.bat +++ b/XEngine_Source/VSCopy-x86.bat @@ -5,22 +5,21 @@ copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_NetXApi.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Authorize.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_StreamMedia\StreamMedia_StreamClient.dll" "./" - copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AudioCodec.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVCollect.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_AVCodec\avcodec-60.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\avdevice-60.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\avfilter-9.dll" "./" diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index 12be67f..436029e 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -7,10 +7,10 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_AVCodec -L /usr/local/lib/XEngine_Release/XEngine_StreamMedia \ +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_AVCodec \ -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ -L ../../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lNetHelp_APIClient -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect -lStreamMedia_StreamClient \ +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXClient_Stream -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lNetHelp_APIClient -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ -lXEngine_ModuleConfigure -lXEngine_ModuleDatabase -lXEngine_ModuleProtocol -lXEngine_ModuleSystem -lXEngine_ModuleHelp -lXEngine_ModulePlugin \ -ljsoncpp LIBEX = diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index 028e02e..c4fa81a 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -30,6 +30,8 @@ using namespace std; #include #include #include +#include +#include #include #include #include @@ -49,8 +51,6 @@ using namespace std; #include #include #include -#include -#include //加载项目相关头文件 #include "../../XEngine_BuildSwitch.h" #include "../../XEngine_UserProtocol.h" @@ -156,6 +156,7 @@ extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; #pragma comment(lib,"XEngine_Core/XEngine_Core.lib") #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") +#pragma comment(lib,"XEngine_Client/XClient_Stream.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") @@ -164,6 +165,5 @@ extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; #pragma comment(lib,"XEngine_AVCodec/XEngine_VideoCodec.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_AudioCodec.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_AVHelp.lib") -#pragma comment(lib,"XEngine_StreamMedia/StreamMedia_StreamClient.lib") #pragma comment(lib,"Ws2_32.lib") #endif \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index fda4955..793a929 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -9,14 +9,14 @@ static XHANDLE xhStream = NULL; void CALLBACK HTTPTask_TaskPost_CBVideo(uint8_t* punStringY, int nYLen, uint8_t* punStringU, int nULen, uint8_t* punStringV, int nVLen, XPVOID lParam) { - if (!StreamClient_StreamPush_PushVideo(xhStream, punStringY, nYLen, punStringU, nULen, punStringV, nVLen)) + if (!XClient_StreamPush_LiveVideo(xhStream, punStringY, nYLen, punStringU, nULen, punStringV, nVLen)) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("屏幕采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); } } void CALLBACK HTTPTask_TaskPost_CBAudio(uint8_t* punStringAudio, int nVLen, XPVOID lParam) { - if (!StreamClient_StreamPush_PushAudio(xhStream, punStringAudio, nVLen)) + if (!XClient_StreamPush_LiveAudio(xhStream, punStringAudio, nVLen)) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("音频采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); } @@ -359,7 +359,7 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer return false; } - xhStream = StreamClient_StreamPush_Init(tszDstBuffer, &st_AVInfo); + xhStream = XClient_StreamPush_LiveInit(tszDstBuffer, &st_AVInfo); if (NULL == xhStream) { st_HDRParam.nHttpCode = 400; @@ -381,7 +381,7 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer { AVCollect_Video_Destory(xhScreen); AVCollect_Audio_Destory(xhSound); - StreamClient_StreamPush_Close(xhStream); + XClient_StreamPush_LiveClose(xhStream); VideoCodec_Stream_Destroy(xhVideo); AudioCodec_Stream_Destroy(xhAudio); bRecord = false; From 9e49ab944f1d6ac3474cc4fef1010b109b13d32c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 19 Feb 2024 11:49:17 +0800 Subject: [PATCH 02/15] update:readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 3c54439..8c9b1e7 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,9 @@ make FLAGS=CleanAll 清理编译 ## 其他问题 你可以参考docment目录下的文档.里面包含了API协议和服务说明. +## 视频教程 +你也可以观看视频教程来了解我们的代码框架情况:https://www.bilibili.com/video/BV13z421d7W8 + ## 测试服务器 地址:app.xyry.org,端口:5501 From 9321db355e9d6a5f458bb47604f72d03ab875b5e Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 5 Mar 2024 15:45:51 +0800 Subject: [PATCH 03/15] update:match xengine v8.25 --- XEngine_Source/VSCopy-Debug.bat | 7 ++++--- XEngine_Source/VSCopy-x64.bat | 7 ++++--- XEngine_Source/VSCopy-x86.bat | 6 +++--- XEngine_Source/XEngine_ModuleDatabase/Makefile | 2 +- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- XEngine_Source/XEngine_ModulePlugin/Makefile | 2 +- XEngine_Source/XEngine_ModuleProtocol/Makefile | 4 ++-- .../ModuleProtocol_Packet/ModuleProtocol_Packet.cpp | 4 ++-- XEngine_Source/XEngine_ModuleProtocol/pch.h | 6 +++--- XEngine_Source/XEngine_ModuleSystem/Makefile | 2 +- .../ModulePlugin_BMIndex/Makefile | 2 +- .../ModulePlugin_IPAddr/Makefile | 2 +- .../XEngine_PluginModule/ModulePlugin_Meter/Makefile | 2 +- .../ModulePlugin_Password/Makefile | 2 +- .../XEngine_PluginModule/ModulePlugin_Phone/Makefile | 2 +- .../ModulePlugin_Timezone/Makefile | 2 +- .../ModulePlugin_Zodiac/Makefile | 2 +- .../XEngine_ServiceApp/XEngine_HttpApp/Makefile | 5 ++--- .../XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h | 10 +++++----- .../XEngine_TaskPost/TaskPost_BackService.cpp | 12 ++++++------ 20 files changed, 42 insertions(+), 41 deletions(-) diff --git a/XEngine_Source/VSCopy-Debug.bat b/XEngine_Source/VSCopy-Debug.bat index ae32579..2f5d434 100644 --- a/XEngine_Source/VSCopy-Debug.bat +++ b/XEngine_Source/VSCopy-Debug.bat @@ -3,13 +3,13 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_OPenSsl.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_NetXApi.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" @@ -19,6 +19,7 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_VideoCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AudioCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVCollect.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avcodec-59.dll" "./" copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avdevice-59.dll" "./" copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avfilter-8.dll" "./" diff --git a/XEngine_Source/VSCopy-x64.bat b/XEngine_Source/VSCopy-x64.bat index 78f9915..f5028d0 100644 --- a/XEngine_Source/VSCopy-x64.bat +++ b/XEngine_Source/VSCopy-x64.bat @@ -3,13 +3,13 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_NetXApi.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" @@ -19,6 +19,7 @@ copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AVHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AudioCodec.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AVCollect.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_AVCodec\avcodec-60.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\avdevice-60.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\avfilter-9.dll" "./" diff --git a/XEngine_Source/VSCopy-x86.bat b/XEngine_Source/VSCopy-x86.bat index 43f0096..0173755 100644 --- a/XEngine_Source/VSCopy-x86.bat +++ b/XEngine_Source/VSCopy-x86.bat @@ -3,13 +3,13 @@ copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_NetXApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" diff --git a/XEngine_Source/XEngine_ModuleDatabase/Makefile b/XEngine_Source/XEngine_ModuleDatabase/Makefile index 750f4f4..5773e9c 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/Makefile +++ b/XEngine_Source/XEngine_ModuleDatabase/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents +LOADSO = LIB = -lXEngine_BaseLib -lHelpComponents_DataBase LIBEX = OBJECTS = ModuleDatabase_IDCard.o ModuleDatabase_Bank.o ModuleDatabase_ZIPCode.o ModuleDatabase_XLog.o ModuleDatabase_ShortLink.o ModuleDatabase_WordFilter.o pch.o diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 303546c..fd0b628 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I /usr/include/opencv4 -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client +LOADSO = LIB = -lXEngine_BaseLib -lXClient_Socket LIBEX = OBJECTS = ModuleHelp_IDCard.o ModuleHelp_Language.o ModuleHelp_P2PClient.o ModuleHelp_Locker.o ModuleHelp_QRCode.o ModuleHelp_SocketTest.o ModuleHelp_ImageGet.o ModuleHelp_ImageSet.o pch.o diff --git a/XEngine_Source/XEngine_ModulePlugin/Makefile b/XEngine_Source/XEngine_ModulePlugin/Makefile index 34bb4db..51af2b7 100644 --- a/XEngine_Source/XEngine_ModulePlugin/Makefile +++ b/XEngine_Source/XEngine_ModulePlugin/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I /usr/include/lua5.4 -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib +LOADSO = LIB = -lXEngine_BaseLib LIBEX = OBJECTS = ModulePlugin_LibCore.o ModulePlugin_LuaCore.o ModulePlugin_Loader.o pch.o diff --git a/XEngine_Source/XEngine_ModuleProtocol/Makefile b/XEngine_Source/XEngine_ModuleProtocol/Makefile index a0b40fd..b492891 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/Makefile +++ b/XEngine_Source/XEngine_ModuleProtocol/Makefile @@ -7,8 +7,8 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L ../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_NetXApi -ljsoncpp +LOADSO = -L ../XEngine_ThirdPart/jsoncpp +LIB = -lXEngine_BaseLib -lNetHelp_XSocket -ljsoncpp LIBEX = OBJECTS = ModuleProtocol_Packet.o ModuleProtocol_Parse.o pch.o diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index 5ac3a89..d1a5bb6 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -1061,8 +1061,8 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, i st_JsonSerial["SystemSerail"] = st_SDKSerial.tszSystemSerail; int nListCount = 0; - NETXAPI_CARDINFO** ppSt_ListIFInfo; - NetXApi_Socket_GetCardInfo(&ppSt_ListIFInfo, &nListCount); + XSOCKET_CARDINFO** ppSt_ListIFInfo; + XSocket_Api_GetCardInfo(&ppSt_ListIFInfo, &nListCount); for (int i = 0; i < nListCount; i++) { Json::Value st_JsonIPAddr; diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.h b/XEngine_Source/XEngine_ModuleProtocol/pch.h index 624b9d0..487cd59 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.h +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.h @@ -27,8 +27,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -55,7 +55,7 @@ extern XLONG ModuleProtocol_dwErrorCode; #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_Core/XEngine_NetXApi") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _DEBUG #ifdef _WIN64 diff --git a/XEngine_Source/XEngine_ModuleSystem/Makefile b/XEngine_Source/XEngine_ModuleSystem/Makefile index f70755f..04ed1d1 100644 --- a/XEngine_Source/XEngine_ModuleSystem/Makefile +++ b/XEngine_Source/XEngine_ModuleSystem/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk +LOADSO = LIB = -lXEngine_BaseLib -lXEngine_SystemApi LIBEX = OBJECTS = ModuleSystem_API.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile index a6904fa..11613aa 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_BMIndex.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile index 26480fa..4a08ae0 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = ModulePlugin_IPAddr.o ModulePlugin_Interface.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile index a31909b..fe14c33 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Meter.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile index 64df18d..55d72fa 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Password.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile index fc60636..485283f 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = ModulePlugin_DBPhone.o ModulePlugin_APIPhone.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile index bb2b5ed..448677d 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Timezone.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile index 49a47fb..1c9a66b 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Zodiac.o pch.o diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index 436029e..bae17f2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -7,10 +7,9 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_AVCodec \ - -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ +LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ -L ../../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXClient_Stream -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lNetHelp_APIClient -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXClient_Stream -lXClient_APIHelp -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ -lXEngine_ModuleConfigure -lXEngine_ModuleDatabase -lXEngine_ModuleProtocol -lXEngine_ModuleSystem -lXEngine_ModuleHelp -lXEngine_ModulePlugin \ -ljsoncpp LIBEX = diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index c4fa81a..2a7e979 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -30,16 +30,16 @@ using namespace std; #include #include #include -#include -#include +#include +#include +#include +#include #include #include #include #include #include #include -#include -#include #include #include #include @@ -157,9 +157,9 @@ extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") #pragma comment(lib,"XEngine_Client/XClient_Stream.lib") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #pragma comment(lib,"XEngine_AVCodec/XEngine_AVCollect.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_VideoCodec.lib") diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index 793a929..28ef03b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -94,12 +94,12 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer } while (true) { - NETHELP_FILEINFO st_TaskInfo; - memset(&st_TaskInfo, '\0', sizeof(NETHELP_FILEINFO)); + XCLIENT_APIFILE st_TaskInfo; + memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); if (APIClient_File_Query(xhTask, &st_TaskInfo)) { - if ((ENUM_NETHELP_APICLIENT_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_NETHELP_APICLIENT_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) + if ((ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) { break; } @@ -150,12 +150,12 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer } while (true) { - NETHELP_FILEINFO st_TaskInfo; - memset(&st_TaskInfo, '\0', sizeof(NETHELP_FILEINFO)); + XCLIENT_APIFILE st_TaskInfo; + memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); if (APIClient_File_Query(xhTask, &st_TaskInfo)) { - if (ENUM_NETHELP_APICLIENT_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) + if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) { break; } From effe35657bd31cf2d1be94350fb945c6b1f5bb2c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 6 Mar 2024 14:59:03 +0800 Subject: [PATCH 04/15] update:example build --- .../APPClient_BackExample.cpp | 9 ++-- .../APPClient_BankExample.cpp | 12 ++--- .../APPClient_DTestExample.cpp | 12 ++--- .../APPClient_DeamonExample.cpp | 13 +++--- .../APPClient_IDExample.cpp | 12 ++--- .../APPClient_IPExample.cpp | 12 ++--- .../APPClient_ImageExample.cpp | 9 ++-- .../APPClient_LanguageExample.cpp | 12 ++--- .../APPClient_LibPluginExample.cpp | 25 +++++----- .../APPClient_LockExample.cpp | 31 ++++++------- .../APPClient_LuaPluginExample.cpp | 13 +++--- .../APPClient_P2PExample.cpp | 46 +++++++++---------- .../APPClient_PhoneExample.cpp | 12 ++--- .../APPClient_QRExample.cpp | 21 ++++----- .../APPClient_SLinkExample.cpp | 23 +++++----- .../APPClient_SocketExample.cpp | 19 ++++---- .../APPClient_TranslationExample.cpp | 13 +++--- .../APPClient_WordFilter.cpp | 23 +++++----- .../APPClient_XLogExample.cpp | 29 ++++++------ .../APPClient_ZIPCodeExample.cpp | 13 +++--- XEngine_APPClient/VSCopy-x64.bat | 8 +--- 21 files changed, 174 insertions(+), 193 deletions(-) diff --git a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp index 89953c6..ca9f6a7 100644 --- a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp +++ b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -16,13 +16,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lXClient_APIHelp int test_query() diff --git a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp index 6e4d985..3914bc4 100644 --- a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp +++ b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_BankExample.cpp -o APPClient_BankExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_BankExample.cpp -o APPClient_BankExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=bank¶ms1=6214111100184841¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=bank¶ms1=6214111100184841¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp index 8f68171..65f27e5 100644 --- a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp +++ b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_DTestExample.cpp -o APPClient_DTestExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_DTestExample.cpp -o APPClient_DTestExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=dtest¶ms1=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=dtest¶ms1=0"); - if (!APIClient_Http_Request(_T("POST"), lpszUrl, "hello", NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, "hello", NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp index 818ab6a..9eed4e3 100644 --- a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp +++ b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -16,13 +16,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp -//macos::g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp +//g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -lXEngine_BaseLib -lXClient_APIHelp -ljsoncpp int test_insert() @@ -35,8 +34,8 @@ int test_insert() Json::Value st_JsonRoot; st_JsonRoot["bEnable"] = true; st_JsonRoot["nRetime"] = 3; - st_JsonRoot["tszAPPName"] = "1.exe"; - st_JsonRoot["tszAPPPath"] = "D:\\path\\"; + st_JsonRoot["tszAPPName"] = "Fairdell_HexCmp2.exe"; + st_JsonRoot["tszAPPPath"] = "D:\\"; if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { diff --git a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp index d9a2570..0f6c236 100644 --- a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp +++ b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_IDExample.cpp -o APPClient_IDExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_IDExample.cpp -o APPClient_IDExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=id¶ms1=511025191101018792¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=id¶ms1=511025191101018792¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp index 71db330..0c6146a 100644 --- a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp +++ b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_IPExample.cpp -o APPClient_IPExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_IPExample.cpp -o APPClient_IPExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=ip¶ms1=1.29.164.255¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=ip¶ms1=1.29.164.255¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp index 1985ea5..639b377 100644 --- a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp +++ b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #endif #include @@ -17,16 +17,15 @@ #include #include #include -#include -#include +#include +#include #include #include #include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lXClient_APIHelp bool APPClient_ImageExample_GetAttr(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Width, int* pInt_Height) diff --git a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp index 9bce4ac..6f01244 100644 --- a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp +++ b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_LanguageExample.cpp -o APPClient_LanguageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_LanguageExample.cpp -o APPClient_LanguageExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=language¶ms1=简体¶ms2=0¶m3=1"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=language¶ms1=简体¶ms2=0¶m3=1"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp index 6253227..32a33cf 100644 --- a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,8 +28,8 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszPassUrl = _T("http://127.0.0.1:5501/api?function=pass¶ms1=1¶ms2=4"); - if (!APIClient_Http_Request(_T("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszPassUrl = _X("http://127.0.0.1:5501/api?function=pass¶ms1=1¶ms2=4"); + if (!APIClient_Http_Request(_X("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -38,8 +37,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszZodiacUrl = _T("http://127.0.0.1:5501/api?function=zodiac¶ms1=19880121"); - if (!APIClient_Http_Request(_T("GET"), lpszZodiacUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszZodiacUrl = _X("http://127.0.0.1:5501/api?function=zodiac¶ms1=19880121"); + if (!APIClient_Http_Request(_X("GET"), lpszZodiacUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -47,8 +46,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszTimeUrl = _T("http://127.0.0.1:5501/api?function=timezone¶ms1=1¶ms2=1-20"); - if (!APIClient_Http_Request(_T("GET"), lpszTimeUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszTimeUrl = _X("http://127.0.0.1:5501/api?function=timezone¶ms1=1¶ms2=1-20"); + if (!APIClient_Http_Request(_X("GET"), lpszTimeUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -56,8 +55,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszBmiUrl = _T("http://127.0.0.1:5501/api?function=bmindex¶ms1=1.78¶ms2=62"); - if (!APIClient_Http_Request(_T("GET"), lpszBmiUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszBmiUrl = _X("http://127.0.0.1:5501/api?function=bmindex¶ms1=1.78¶ms2=62"); + if (!APIClient_Http_Request(_X("GET"), lpszBmiUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp index 370f285..0e8f80d 100644 --- a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp +++ b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -28,10 +27,10 @@ int main() WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif int nLen = 0; - LPCXSTR lpszOPenUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms1=1"); + LPCXSTR lpszOPenUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms1=1"); //自己创建打开 XCHAR* ptszBuffer = NULL; - if (!APIClient_Http_Request(_T("GET"), lpszOPenUrl, NULL, NULL, &ptszBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszOPenUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -39,8 +38,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开读锁 - LPCXSTR lpszReadUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=3"); - if (!APIClient_Http_Request(_T("GET"), lpszReadUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=3"); + if (!APIClient_Http_Request(_X("GET"), lpszReadUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -48,8 +47,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开写锁 - LPCXSTR lpszWriteUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=5"); - if (!APIClient_Http_Request(_T("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszWriteUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=5"); + if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -57,8 +56,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //释放读锁 - LPCXSTR lpszUNReadUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=4"); - if (!APIClient_Http_Request(_T("GET"), lpszUNReadUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszUNReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=4"); + if (!APIClient_Http_Request(_X("GET"), lpszUNReadUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -66,7 +65,7 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开解锁 - if (!APIClient_Http_Request(_T("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,8 +73,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //关闭 - LPCXSTR lpszCloseUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=2"); - if (!APIClient_Http_Request(_T("GET"), lpszCloseUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszCloseUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=2"); + if (!APIClient_Http_Request(_X("GET"), lpszCloseUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp index c3fb727..f770506 100644 --- a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,8 +28,8 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszPassUrl = _T("http://127.0.0.1:5501/api?function=cal¶ms1=1¶ms2=2&type=0"); - if (!APIClient_Http_Request(_T("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszPassUrl = _X("http://127.0.0.1:5501/api?function=cal¶ms1=1¶ms2=2&type=0"); + if (!APIClient_Http_Request(_X("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp index 9c617ec..eb5c49c 100644 --- a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp +++ b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp @@ -2,8 +2,8 @@ #include #include #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_Core/XEngine_NetXApi") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") #pragma comment(lib,"Ws2_32") #pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") #else @@ -15,18 +15,18 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include "../../XEngine_Source/XEngine_UserProtocol.h" //需要优先配置XEngine //WINDOWS使用VS2022 x64 debug 编译 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_P2PExample.cpp -o APPClient_P2PExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lXEngine_NetXApi -lNetHelp_APIClient -ljsoncpp +//g++ -std=c++17 -Wall -g APPClient_P2PExample.cpp -o APPClient_P2PExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXEngine_NetXApi -lXClient_APIHelp -ljsoncpp -LPCXSTR lpszUserName = _T("123123aa"); +LPCXSTR lpszUserName = _X("123123aa"); XCHAR tszPublicAddr[128]; XCHAR tszPrivateAddr[128]; @@ -38,10 +38,10 @@ BOOL APIHelp_NetWork_GetIPNet(XCHAR* ptszIPAddr) //获取本地外网IP地址 int nBLen = 0; XCHAR* ptszBody = NULL; - LPCXSTR lpszUrl = _T("http://members.3322.org/dyndns/getip"); - LPCXSTR lpszHdrBuffer = _T("Connection: close\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55\r\nAccept: text/html\r\nAccept-Language: zh-CN,zh\r\nAccept-Encoding: deflate\r\n"); + LPCXSTR lpszUrl = _X("http://members.3322.org/dyndns/getip"); + LPCXSTR lpszHdrBuffer = _X("Connection: close\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55\r\nAccept: text/html\r\nAccept-Language: zh-CN,zh\r\nAccept-Encoding: deflate\r\n"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszBody, &nBLen, lpszHdrBuffer)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszBody, &nBLen, lpszHdrBuffer)) { return FALSE; } @@ -52,19 +52,19 @@ BOOL APIHelp_NetWork_GetIPNet(XCHAR* ptszIPAddr) int APPClient_P2XPLogin() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24577"); - ENUM_XENGINE_NETXAPI_SOCKET_CONNECTTYPE dwNetType; + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24577"); + ENUM_NETHELP_XSOCKET_API_CONNECTTYPE dwNetType; memset(tszPublicAddr, '\0', sizeof(tszPublicAddr)); memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); //获取网络连接类型 - if (!NetXApi_Socket_GetNetConnectType(&dwNetType)) + if (!XSocket_Api_GetNetConnectType(&dwNetType)) { return -1; } int nListCount = 0; - NETXAPI_CARDINFO** ppSt_APICard; - NetXApi_Socket_GetCardInfo(&ppSt_APICard, &nListCount, AF_INET); + XSOCKET_CARDINFO** ppSt_APICard; + XSocket_Api_GetCardInfo(&ppSt_APICard, &nListCount, AF_INET); APIHelp_NetWork_GetIPNet(tszPublicAddr); if (nListCount <= 0) { @@ -83,7 +83,7 @@ int APPClient_P2XPLogin() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -95,7 +95,7 @@ int APPClient_P2XPLogin() int APPClient_P2XPList() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24581"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24581"); st_JsonRoot["tszUserName"] = lpszUserName; st_JsonRoot["tszPrivateAddr"] = tszPrivateAddr; @@ -104,7 +104,7 @@ int APPClient_P2XPList() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -116,12 +116,12 @@ int APPClient_P2XPList() int APPClient_P2XPWan() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24583"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24583"); int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, NULL, &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, NULL, &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -133,7 +133,7 @@ int APPClient_P2XPWan() int APPClient_P2XPLogout() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24579"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24579"); st_JsonRoot["tszUserName"] = lpszUserName; st_JsonRoot["tszPrivateAddr"] = tszPrivateAddr; @@ -142,7 +142,7 @@ int APPClient_P2XPLogout() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } diff --git a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp index d19a100..c74fbfe 100644 --- a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp +++ b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_PhoneExample.cpp -o APPClient_PhoneExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_PhoneExample.cpp -o APPClient_PhoneExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=phone¶ms1=13699438888¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=phone¶ms1=13699438888¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp index 32ff1ff..8588a8f 100644 --- a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp +++ b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,30 +15,29 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -lXEngine_BaseLib -lXClient_APIHelp #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=qrcode¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=qrcode¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszMsgBuffer"] = lpszAPIUrl; st_JsonRoot["tszFmtBuffer"] = ".png"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -59,16 +58,16 @@ int test_parse() int nCode = 0; XCHAR* ptszMsgBuffer = (XCHAR*)malloc(QRCODE_BUFFER_SIZE); - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=qrcode¶ms1=1"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=qrcode¶ms1=1"); FILE* pSt_File = fopen(lpszFileName, "rb"); if (NULL != pSt_File) { - LPCXSTR lpszCustomHdr = _T("Content-Type: image/png\r\n"); + LPCXSTR lpszCustomHdr = _X("Content-Type: image/png\r\n"); memset(ptszMsgBuffer, '\0', QRCODE_BUFFER_SIZE); int nRet = fread(ptszMsgBuffer, 1, QRCODE_BUFFER_SIZE, pSt_File); XCHAR* ptszBodyBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, ptszMsgBuffer, &nCode, &ptszBodyBuffer, &nRet, lpszCustomHdr)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, ptszMsgBuffer, &nCode, &ptszBodyBuffer, &nRet, lpszCustomHdr)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp index 54c2459..59906d7 100644 --- a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp +++ b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,23 +15,22 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -lXEngine_BaseLib -lXClient_APIHelp XNETHANDLE xhToken = 0; #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszFullUrl"] = "http://bbs.xyry.org/forum.php?mod=viewthread&tid=2&extra=page%3D1"; @@ -39,7 +38,7 @@ int test_create() st_JsonRoot["nLength"] = 6; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -56,8 +55,8 @@ int test_get() Json::Value st_JsonRoot; st_JsonRoot["tszMapUrl"] = "http://app.xyry.org:5501"; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=1"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=1"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,8 +73,8 @@ int test_delete() Json::Value st_JsonRoot; st_JsonRoot["tszMapUrl"] = "http://app.xyry.org:5501"; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=2"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=2"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp index b27de6b..7af3244 100644 --- a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp +++ b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,23 +15,22 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -lXEngine_BaseLib -lXClient_APIHelp XNETHANDLE xhToken = 0; #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=socket¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=socket¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszAPIUrl"] = "http://127.0.0.1:5501/api?function=report¶ms1=0"; @@ -45,7 +44,7 @@ int test_create() st_JsonRoot["nContWaitTime"] = 1000; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -79,8 +78,8 @@ int test_delete() st_JsonRoot["bConn"] = true; st_JsonRoot["xhToken"] = xhToken; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=socket¶ms1=1"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=socket¶ms1=1"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp index 5f9a0e3..6e3a86b 100644 --- a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp +++ b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +28,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=translation¶ms1=中国¶ms2=0¶m3=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=translation¶ms1=中国¶ms2=0¶m3=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp index 58979ed..8701cf2 100644 --- a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp +++ b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,21 +15,20 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -lXEngine_BaseLib -lXClient_APIHelp -LPCXSTR lpszTableName = _T("xengine"); +LPCXSTR lpszTableName = _X("xengine"); int test_insert() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=0"); Json::Value st_JsonRoot; Json::StreamWriterBuilder st_JsonBuilder; @@ -40,7 +39,7 @@ int test_insert() st_JsonBuilder["emitUTF8"] = true; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -54,13 +53,13 @@ int test_query() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=2"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=2"); Json::Value st_JsonRoot; st_JsonRoot["tszWordsFrom"] = "root"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,13 +73,13 @@ int test_delete() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=1"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=1"); Json::Value st_JsonRoot; st_JsonRoot["tszWordsFrom"] = "root"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp index cc23bda..320db05 100644 --- a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp +++ b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,27 +15,26 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -lXEngine_BaseLib -lXClient_APIHelp -LPCXSTR lpszTableName = _T("xengine"); +LPCXSTR lpszTableName = _X("xengine"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -49,8 +48,8 @@ int test_insert() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=1"); - LPCXSTR lpszMsgBuffer = _T("adwdad12d21d123d132rd213d32f23df23rf"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=1"); + LPCXSTR lpszMsgBuffer = _X("adwdad12d21d123d132rd213d32f23df23rf"); Json::Value st_JsonRoot; Json::StreamWriterBuilder st_JsonBuilder; @@ -67,7 +66,7 @@ int test_insert() st_JsonBuilder["emitUTF8"] = true; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -81,7 +80,7 @@ int test_query() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=2"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=2"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; @@ -89,7 +88,7 @@ int test_query() st_JsonRoot["tszTimeEnd"] = "2023-01-13 22:10:02"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -103,13 +102,13 @@ int test_delete() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=3"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=3"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp index 822f5c7..e23a63f 100644 --- a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp +++ b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,13 +15,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -32,7 +31,7 @@ int main() int nLen = 0; int nCode = 0; XCHAR tszMsgBuffer[1024]; - LPCXSTR lpszCreateUrl = _T("http://127.0.0.1:5501/api?function=zipcode¶ms1=0"); + LPCXSTR lpszCreateUrl = _X("http://127.0.0.1:5501/api?function=zipcode¶ms1=0"); memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); @@ -40,7 +39,7 @@ int main() st_JsonRoot["nZipCode"] = 100010; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszCreateUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszCreateUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/VSCopy-x64.bat b/XEngine_APPClient/VSCopy-x64.bat index 85529de..c82ea02 100644 --- a/XEngine_APPClient/VSCopy-x64.bat +++ b/XEngine_APPClient/VSCopy-x64.bat @@ -1,8 +1,2 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" - -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\zlib1.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libssl-3-x64.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libcrypto-3-x64.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\libcurl.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" \ No newline at end of file From c9e1a8f3549b099fa9b915769e6807b5e11d2a79 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 6 Mar 2024 15:41:48 +0800 Subject: [PATCH 05/15] modify:does not wait completed reply msg for download of back service --- .../XEngine_TaskPost/TaskPost_BackService.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index 28ef03b..9f79a07 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -92,22 +92,23 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,下载任务处理失败,请求下载地址:%s,下载路径:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); while (true) { XCLIENT_APIFILE st_TaskInfo; memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); - if (APIClient_File_Query(xhTask, &st_TaskInfo)) + if (!APIClient_File_Query(xhTask, &st_TaskInfo)) { - if ((ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) - { - break; - } + break; + } + if ((ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) + { + break; } } APIClient_File_Delete(xhTask); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:下载任务处理成功,下载地址:%s,保存地址:%s"),lpszClientAddr, tszSrcBuffer, tszDstBuffer); } break; From 140f2cc6a8311c3bd3fa91dcba484d7b8552361a Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 6 Mar 2024 15:42:51 +0800 Subject: [PATCH 06/15] modify:does not wait completed reply msg for upload of back service --- .../XEngine_TaskPost/TaskPost_BackService.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index 9f79a07..5730465 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -149,21 +149,22 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:FTP上传任务处理失败,上传的文件:%s,上传的地址:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); while (true) { XCLIENT_APIFILE st_TaskInfo; memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); - if (APIClient_File_Query(xhTask, &st_TaskInfo)) + if (!APIClient_File_Query(xhTask, &st_TaskInfo)) { - if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) - { - break; - } + break; + } + if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) + { + break; } } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); APIClient_File_Delete(xhTask); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:上传文件处理成功,上传的文件:%s,上传的地址:%s"), lpszClientAddr, tszSrcBuffer, tszDstBuffer); } From d9a456230c715f6242c8fa4e0c384b24ca902b4c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 6 Mar 2024 16:42:53 +0800 Subject: [PATCH 07/15] added:image quality and compress level set supported --- .../XEngine_ModuleHelp/ModuleHelp_Define.h | 41 +++++++- .../ModuleHelp_Image/ModuleHelp_ImageSet.cpp | 96 +++++++++++++++++++ .../ModuleHelp_Image/ModuleHelp_ImageSet.h | 1 + .../XEngine_ModuleHelp/XEngine_ModuleHelp.def | 3 +- XEngine_Source/XEngine_ModuleHelp/pch.cpp | 4 + .../XEngine_TaskPost/TaskPost_Image.cpp | 16 ++++ 6 files changed, 159 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h index 892436d..3cd37d4 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h @@ -1115,4 +1115,43 @@ extern "C" bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, L 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); \ No newline at end of file +extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); +/******************************************************************** +函数名称:ModuleHelp_ImageSet_Level +函数功能:图像压缩级别调整 + 参数.一:lpszSrcFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入原始缓冲区数据 + 参数.二:nSLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入原始缓冲区大小 + 参数.三:lpszExtFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入转换的图像格式.jpg .png .jpeg .webp + 参数.四:ptszDstBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出转换后的缓冲区 + 参数.五:pInt_DLen + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出转换后的大小 + 参数.六:nLevel + In/Out:In + 类型:整数型 + 可空:N + 意思:输入压缩后者质量级别.根据类型不同,此值作用不同 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp index 468c3de..8be34fa 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp @@ -328,6 +328,102 @@ bool CModuleHelp_ImageSet::ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int return false; } + *pInt_DLen = stl_VectorImage.size(); + memcpy(ptszDstBuffer, stl_VectorImage.data(), stl_VectorImage.size()); +#else + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; + return false; +#endif + return true; +} +/******************************************************************** +函数名称:ModuleHelp_ImageSet_Level +函数功能:图像压缩级别调整 + 参数.一:lpszSrcFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入原始缓冲区数据 + 参数.二:nSLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入原始缓冲区大小 + 参数.三:lpszExtFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入转换的图像格式.jpg .png .jpeg .webp + 参数.四:ptszDstBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出转换后的缓冲区 + 参数.五:pInt_DLen + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出转换后的大小 + 参数.六:nLevel + In/Out:In + 类型:整数型 + 可空:N + 意思:输入压缩后者质量级别.根据类型不同,此值作用不同 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleHelp_ImageSet::ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel) +{ + ModuleHelp_IsErrorOccur = false; + + if (NULL == lpszSrcBuffer) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_PARAMRT; + return false; + } +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + cv::_InputArray m_InputArray(lpszSrcBuffer, nSLen); + cv::Mat m_SrcFrame = cv::imdecode(m_InputArray, cv::IMREAD_UNCHANGED); + cv::Mat m_DstFrame; + + if (m_SrcFrame.empty()) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_OPEN; + return false; + } + std::vector stl_ListCompress; + + if (0 == _tcsxnicmp(lpszExtFile, _X(".jpg"), 4) || 0 == _tcsxnicmp(lpszExtFile, _X(".jpeg"), 5)) + { + stl_ListCompress.push_back(cv::IMWRITE_JPEG_QUALITY); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".png"), 4)) + { + stl_ListCompress.push_back(cv::IMWRITE_PNG_COMPRESSION); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".exr"), 4)) + { + stl_ListCompress.push_back(cv::IMWRITE_EXR_COMPRESSION); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".webp"), 5)) + { + stl_ListCompress.push_back(cv::IMWRITE_WEBP_QUALITY); + } + stl_ListCompress.push_back(nLevel); // 调整压缩质量,范围0-100 + //写到文件 + vector stl_VectorImage; + if (!cv::imencode(lpszExtFile, m_DstFrame, stl_VectorImage, stl_ListCompress)) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_WRITE; + return false; + } + *pInt_DLen = stl_VectorImage.size(); memcpy(ptszDstBuffer, stl_VectorImage.data(), stl_VectorImage.size()); #else diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h index 54ba2b7..e21de1f 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h @@ -21,6 +21,7 @@ class CModuleHelp_ImageSet bool ModuleHelp_ImageSet_Flip(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nOPMethod); bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, ENUM_XENGINE_IMAGE_COLOR_INFO enColorInfo); bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); + bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel); protected: private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def index 7809695..03a2402 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def @@ -42,4 +42,5 @@ EXPORTS ModuleHelp_ImageSet_Resolution ModuleHelp_ImageSet_Flip ModuleHelp_ImageSet_ColorCvt - ModuleHelp_ImageSet_Ligth \ No newline at end of file + ModuleHelp_ImageSet_Ligth + ModuleHelp_ImageSet_Level \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.cpp b/XEngine_Source/XEngine_ModuleHelp/pch.cpp index 00699b0..db02eb9 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/pch.cpp @@ -196,4 +196,8 @@ extern "C" bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, L extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR * ptszDstBuffer, int* pInt_DLen, int nGamma) { return m_ImageSet.ModuleHelp_ImageSet_Ligth(lpszSrcBuffer, nSLen, lpszExtFile, ptszDstBuffer, pInt_DLen, nGamma); +} +extern "C" bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR * ptszDstBuffer, int* pInt_DLen, int nLevel) +{ + return m_ImageSet.ModuleHelp_ImageSet_Level(lpszSrcBuffer, nSLen, lpszExtFile, ptszDstBuffer, pInt_DLen, nLevel); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index a8e2f55..7a31bc2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -139,6 +139,22 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像亮度失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } + else if (5 == nOPCode) + { + if (ModuleHelp_ImageSet_Level(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) + { + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像质量压缩值:%d"), lpszClientAddr, nWidth); + } + else + { + st_HDRParam.nHttpCode = 501; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像质量压缩失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); + } + } } free(ptszRVBuffer); free(ptszSDBuffer); From 8e1604b80067f56c52936b81adc4fab904be66a7 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 7 Mar 2024 11:40:21 +0800 Subject: [PATCH 08/15] added:list xlog database table supported --- .../XEngine_ModuleDatabase/ModuleDB_Define.h | 19 ++++++ .../ModuleDatabase_XLog.cpp | 53 +++++++++++++++++ .../ModuleDatabase_XLog/ModuleDatabase_XLog.h | 1 + .../XEngine_ModuleDatabase.def | 1 + XEngine_Source/XEngine_ModuleDatabase/pch.cpp | 4 ++ .../ModuleProtocol_Define.h | 29 ++++++++++ .../ModuleProtocol_Packet.cpp | 58 +++++++++++++++++++ .../ModuleProtocol_Packet.h | 1 + .../XEngine_ModuleProtocol.def | 1 + XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 ++ .../XEngine_TaskPost/TaskPost_Log.cpp | 10 ++++ 11 files changed, 181 insertions(+) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h index f9cee09..a9c7a7a 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h @@ -255,6 +255,25 @@ extern "C" bool ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_XLogInfo, in 备注: *********************************************************************/ extern "C" bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName); +/******************************************************************** +函数名称:ModuleDatabase_XLog_Show +函数功能:日志表列举 + 参数.一:ppptszList + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出日志数据库里面的表列 + 参数.二:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出列个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount); /************************************************************************/ /* 导出的短连接数据库函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 5ca75f6..3d551d0 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -282,4 +282,57 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) return false; } return true; +} +/******************************************************************** +函数名称:ModuleDatabase_XLog_Show +函数功能:日志表列举 + 参数.一:ppptszList + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出日志数据库里面的表列 + 参数.二:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出列个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleDatabase_XLog::ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount) +{ + DBModule_IsErrorOccur = false; + + //查询 + XNETHANDLE xhTable = 0; + __int64u nllLine = 0; + __int64u nllRow = 0; + + XCHAR tszSQLStatement[1024]; + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + //名称为,消息名为必填 + _xstprintf(tszSQLStatement, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_APILog'")); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nllLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + *pInt_ListCount = (int)nllLine; + BaseLib_OperatorMemory_Malloc((XPPPMEM)ppptszList, (int)nllLine, MAX_PATH); + for (__int64u i = 0; i < nllLine; i++) + { + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + _tcsxcpy((*ppptszList)[i], pptszResult[0]); + } + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h index 91eebf5..1df6770 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h @@ -24,6 +24,7 @@ class CModuleDatabase_XLog bool ModuleDatabase_XLog_Insert(XENGINE_XLOGINFO* pSt_XLogInfo); bool ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_XLogInfo, int* pInt_ListCount, LPCXSTR lpszTableName, LPCXSTR lpszTimeStart, LPCXSTR lpszTimeEnd); bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName); + bool ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount); protected: private: XNETHANDLE xhDBSQL; diff --git a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def index 29f6b3f..ab845f3 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def +++ b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def @@ -22,6 +22,7 @@ EXPORTS ModuleDatabase_XLog_Insert ModuleDatabase_XLog_Query ModuleDatabase_XLog_Delete + ModuleDatabase_XLog_Show ModuleDatabase_ShortLink_Init ModuleDatabase_ShortLink_Destory diff --git a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp index d22236a..37a554d 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp @@ -112,6 +112,10 @@ extern "C" bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) { return m_XLog.ModuleDatabase_XLog_Delete(lpszTableName); } +extern "C" bool ModuleDatabase_XLog_Show(XCHAR * **ppptszList, int* pInt_ListCount) +{ + return m_XLog.ModuleDatabase_XLog_Show(ppptszList, pInt_ListCount); +} /************************************************************************/ /* 导出的短连接数据库函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index f47c89e..70615a5 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -410,6 +410,35 @@ extern "C" bool ModuleProtocol_Packet_P2PWList(XCHAR* ptszMsgBuffer, int* pInt_M *********************************************************************/ extern "C" bool ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_XLOGINFO*** pppSt_XLogList, int nListCount); /******************************************************************** +函数名称:ModuleProtocol_Packet_LogShow +函数功能:日志表名打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:ppptszList + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入打包数据个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); +/******************************************************************** 函数名称:ModuleProtocol_Packet_ShortLink 函数功能:短连接生成协议打包函数 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index d1a5bb6..b8c70bd 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -502,6 +502,64 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_LogShow +函数功能:日志表名打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:ppptszList + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入打包数据个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonArray; + Json::StreamWriterBuilder st_JsonBuilder; + + for (int i = 0; i < nListCount; i++) + { + Json::Value st_JsonObject; + + st_JsonObject["tszTableName"] = (*ppptszList)[i]; + st_JsonArray.append(st_JsonObject); + } + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonArray; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_TestReport 函数功能:套接字测试信息打包 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 227b98f..db1f321 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -29,6 +29,7 @@ class CModuleProtocol_Packet bool ModuleProtocol_Packet_Locker(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_ZIPCode(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_ZIPINFO* pSt_ZIPInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_XLOGINFO*** pppSt_XLogList, int nListCount); + bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); bool ModuleProtocol_Packet_TestReport(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus); bool ModuleProtocol_Packet_TestReply(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken); bool ModuleProtocol_Packet_ShortLink(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_SHORTLINK* pSt_ShortLink); diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index bae354b..cecbbd1 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -10,6 +10,7 @@ EXPORTS ModuleProtocol_Packet_Locker ModuleProtocol_Packet_ZIPCode ModuleProtocol_Packet_Log + ModuleProtocol_Packet_LogShow ModuleProtocol_Packet_TestReport ModuleProtocol_Packet_TestReply ModuleProtocol_Packet_ShortLink diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 0180755..85266fb 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -59,6 +59,10 @@ extern "C" bool ModuleProtocol_Packet_Log(XCHAR * ptszMsgBuffer, int* pInt_MsgLe { return m_ProtocolPacket.ModuleProtocol_Packet_Log(ptszMsgBuffer, pInt_MsgLen, pppSt_XLogList, nListCount); } +extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XCHAR * **ppptszList, int nListCount) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_LogShow(ptszMsgBuffer, pInt_MsgLen, ppptszList, nListCount); +} extern "C" bool ModuleProtocol_Packet_TestReport(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus) { return m_ProtocolPacket.ModuleProtocol_Packet_TestReport(ptszMsgBuffer, pInt_MsgLen, xhToken, lpszIPAddr, nIPPort, nNumber, nFailed, nSuccess, nStatus); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp index 657babd..17fc996 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp @@ -44,6 +44,16 @@ bool HTTPTask_TastPost_LogInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求日志查询成功,查询的表:%s,查询日期:%s - %s,查询条数:%d"), lpszClientAddr, st_XLogInfo.tszTableName, st_XLogInfo.tszTimeStart, st_XLogInfo.tszTimeEnd, nListCount); } + else if (3 == nType) + { + int nListCount = 0; + XCHAR** pptszList; + ModuleDatabase_XLog_Show(&pptszList, &nListCount); + ModuleProtocol_Packet_LogShow(tszRVBuffer, &nRVLen, &pptszList, nListCount); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求日志数据库表列举成功,查询到的个数:%d"), lpszClientAddr, nListCount); + } else { ModuleDatabase_XLog_Delete(st_XLogInfo.tszTableName); From f3e239d58bcd611922a6b0e8ce3d8ec59f4df42d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 7 Mar 2024 13:59:57 +0800 Subject: [PATCH 09/15] fixed:create log table is incorrect fixed:log table charsets is incorrect --- .../ModuleDatabase_XLog/ModuleDatabase_XLog.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 3d551d0..8db8651 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -92,21 +92,28 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Create(LPCXSTR lpszTableName) DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; return false; } - XCHAR tszSQLStatement[10240]; + XCHAR tszSQLStatement[4096]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); _xstprintf(tszSQLStatement, _X("CREATE TABLE IF NOT EXISTS `%s` (" "`ID` int NOT NULL AUTO_INCREMENT," - "`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名'," - "`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数名'," + "`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件名'," + "`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '函数名'," "`nLogLine` int NULL DEFAULT NULL COMMENT '第几行'," "`nLogLevel` int NULL DEFAULT NULL COMMENT '打印级别'," - "`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志信息'," + "`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日志信息'," "`tszLogTime` datetime NOT NULL COMMENT '日志时间'," "PRIMARY KEY (`ID`) USING BTREE" - ") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;"), lpszTableName); + ") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;"), lpszTableName); +#ifdef _MSC_BUILD + int nUTFLen = 0; + XCHAR tszUTFQuery[4096] = {}; + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFQuery, &nUTFLen); + if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFQuery)) +#else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) +#endif { DBModule_IsErrorOccur = true; DBModule_dwErrorCode = DataBase_GetLastError(); From 190848e9bc2e9af26754f5309eda511312acc475 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 7 Mar 2024 14:02:27 +0800 Subject: [PATCH 10/15] fixed:log protocol delete table is incorrect --- .../ModuleDatabase_XLog/ModuleDatabase_XLog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 8db8651..6f92697 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -281,7 +281,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) XCHAR tszSQLStatement[10240]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("DROP TABLE IF EXISTS '%s'"), lpszTableName); + _xstprintf(tszSQLStatement, _X("DROP TABLE IF EXISTS `%s`"), lpszTableName); if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) { DBModule_IsErrorOccur = true; From 88bd31dc2261520dd8fc1c53c755ac577223f38b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 7 Mar 2024 16:20:11 +0800 Subject: [PATCH 11/15] added:weather info query supported --- .../ModuleConfig_Define.h | 1 + .../ModuleConfigure_Json.cpp | 4 +- .../ModuleProtocol_Define.h | 50 +++++++++++- .../ModuleProtocol_Packet.cpp | 55 +++++++++++++ .../ModuleProtocol_Packet.h | 1 + .../ModuleProtocol_Parse.cpp | 80 +++++++++++++++++++ .../ModuleProtocol_Parse.h | 1 + .../XEngine_ModuleProtocol.def | 4 +- XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 8 ++ .../XEngine_HttpApp/Makefile | 4 +- .../XEngine_HttpApp/XEngine_HTTPTask.cpp | 9 +++ .../XEngine_HttpApp/XEngine_Hdr.h | 1 + .../XEngine_HttpApp/XEngine_HttpApp.vcxproj | 2 + .../XEngine_HttpApp.vcxproj.filters | 6 ++ .../XEngine_TaskGet/TaskGet_Weather.cpp | 53 ++++++++++++ .../XEngine_TaskGet/TaskGet_Weather.h | 3 + XEngine_Source/XEngine_UserProtocol.h | 12 +++ 17 files changed, 290 insertions(+), 4 deletions(-) create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index 88e9185..12fceee 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -51,6 +51,7 @@ typedef struct }st_XSql; struct { + XCHAR tszWeatherUrl[MAX_PATH]; //天气接口 XCHAR tszBankUrl[MAX_PATH]; //银行卡验证地址 XCHAR tszTranslationUrl[MAX_PATH]; //翻译接口 struct diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 3d50bca..3f2db7f 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -123,13 +123,15 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XLog.nLogLeave = st_JsonXLog["LogLeave"].asInt(); _tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["tszLogFile"].asCString()); - if (st_JsonRoot["XApi"].empty() || (3 != st_JsonRoot["XApi"].size())) + if (st_JsonRoot["XApi"].empty() || (4 != st_JsonRoot["XApi"].size())) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XAPI; return false; } Json::Value st_JsonXApi = st_JsonRoot["XApi"]; + + _tcsxcpy(pSt_ServerConfig->st_XApi.tszWeatherUrl, st_JsonXApi["tszWeatherUrl"].asCString()); _tcsxcpy(pSt_ServerConfig->st_XApi.tszBankUrl, st_JsonXApi["tszBankUrl"].asCString()); _tcsxcpy(pSt_ServerConfig->st_XApi.tszTranslationUrl, st_JsonXApi["tszTranslationUrl"].asCString()); Json::Value st_JsonTranslationInfo = st_JsonXApi["st_TranslationInfo"]; diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index 70615a5..bc4d4cf 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -439,6 +439,30 @@ extern "C" bool ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int* pInt_MsgLen *********************************************************************/ extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); /******************************************************************** +函数名称:ModuleProtocol_Packet_Weather +函数功能:天气信息协议打包函数 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_WeatherInfo + In/Out:In + 类型:数据结构 + 可空:N + 意思:输入要打包的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); +/******************************************************************** 函数名称:ModuleProtocol_Packet_ShortLink 函数功能:短连接生成协议打包函数 参数.一:ptszMsgBuffer @@ -960,4 +984,28 @@ extern "C" bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsg 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); \ No newline at end of file +extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); +/******************************************************************** +函数名称:ModuleProtocol_Parse_Weather +函数功能:解析天气信息 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入缓冲区大小 + 参数.三:pSt_WeatherInfo + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析后的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index b8c70bd..92a99ca 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -691,6 +691,61 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_TestReply(XCHAR* ptszMsgBuffe return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_Weather +函数功能:天气信息协议打包函数 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_WeatherInfo + In/Out:In + 类型:数据结构 + 可空:N + 意思:输入要打包的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonObject; + Json::StreamWriterBuilder st_JsonBuilder; + + st_JsonObject["nHumidity"] = pSt_WeatherInfo->nHumidity; + st_JsonObject["nTemperature"] = pSt_WeatherInfo->nTemperature; + st_JsonObject["tszCity"] = pSt_WeatherInfo->tszCity; + st_JsonObject["tszProvince"] = pSt_WeatherInfo->tszProvince; + st_JsonObject["tszUPTime"] = pSt_WeatherInfo->tszUPTime; + st_JsonObject["tszWeatherStr"] = pSt_WeatherInfo->tszWeatherStr; + st_JsonObject["tszWinddiRection"] = pSt_WeatherInfo->tszWinddiRection; + st_JsonObject["tszWindPowerStr"] = pSt_WeatherInfo->tszWindPowerStr; + + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonObject; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_ShortLink 函数功能:短连接生成协议打包函数 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index db1f321..3dd7ee7 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -32,6 +32,7 @@ class CModuleProtocol_Packet bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); bool ModuleProtocol_Packet_TestReport(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus); bool ModuleProtocol_Packet_TestReply(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken); + bool ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); bool ModuleProtocol_Packet_ShortLink(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_SHORTLINK* pSt_ShortLink); bool ModuleProtocol_Packet_WordFilter(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WORDFILTER* pSt_WordFilter); bool ModuleProtocol_Packet_ImageAttr(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo, XENGINE_IMGEXTATTR* pSt_ExtAttr); diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp index 57a91b3..5ad39ae 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp @@ -990,4 +990,84 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, i } } return true; +} +/******************************************************************** +函数名称:ModuleProtocol_Parse_Weather +函数功能:解析天气信息 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入缓冲区大小 + 参数.三:pSt_WeatherInfo + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析后的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Parse::ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == lpszMsgBuffer) || (0 == nMsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + JSONCPP_STRING st_JsonError; + Json::CharReaderBuilder st_JsonBuilder; + + std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; + return false; + } + Json::Value st_JsonObject = st_JsonRoot["lives"][0]; + + if (!st_JsonObject["province"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszProvince, st_JsonObject["province"].asCString()); + } + if (!st_JsonObject["city"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszCity, st_JsonObject["city"].asCString()); + } + if (!st_JsonObject["weather"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWeatherStr, st_JsonObject["weather"].asCString()); + } + if (!st_JsonObject["winddirection"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWinddiRection, st_JsonObject["winddirection"].asCString()); + } + if (!st_JsonObject["windpower"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWindPowerStr, st_JsonObject["windpower"].asCString()); + } + if (!st_JsonObject["reporttime"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszUPTime, st_JsonObject["reporttime"].asCString()); + } + if (!st_JsonObject["temperature"].isNull()) + { + pSt_WeatherInfo->nTemperature = _ttxoi(st_JsonObject["temperature"].asCString()); + } + if (!st_JsonObject["humidity"].isNull()) + { + pSt_WeatherInfo->nHumidity = _ttxoi(st_JsonObject["humidity"].asCString()); + } + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h index 85151b1..02fe494 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h @@ -31,5 +31,6 @@ class CModuleProtocol_Parse bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, int* pInt_BSType = NULL); bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszUserName, XCHAR* ptszUserPass); bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); + bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index cecbbd1..c4b02e5 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -13,6 +13,7 @@ EXPORTS ModuleProtocol_Packet_LogShow ModuleProtocol_Packet_TestReport ModuleProtocol_Packet_TestReply + ModuleProtocol_Packet_Weather ModuleProtocol_Packet_ShortLink ModuleProtocol_Packet_WordFilter ModuleProtocol_Packet_ImageAttr @@ -36,4 +37,5 @@ EXPORTS ModuleProtocol_Parse_WordFilter ModuleProtocol_Parse_BackService ModuleProtocol_Parse_Verifcation - ModuleProtocol_Parse_Deamon \ No newline at end of file + ModuleProtocol_Parse_Deamon + ModuleProtocol_Parse_Weather \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 85266fb..7a72eea 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -63,6 +63,10 @@ extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR * ptszMsgBuffer, int* pInt_M { return m_ProtocolPacket.ModuleProtocol_Packet_LogShow(ptszMsgBuffer, pInt_MsgLen, ppptszList, nListCount); } +extern "C" bool ModuleProtocol_Packet_Weather(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO * pSt_WeatherInfo) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_Weather(ptszMsgBuffer, pInt_MsgLen, pSt_WeatherInfo); +} extern "C" bool ModuleProtocol_Packet_TestReport(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus) { return m_ProtocolPacket.ModuleProtocol_Packet_TestReport(ptszMsgBuffer, pInt_MsgLen, xhToken, lpszIPAddr, nIPPort, nNumber, nFailed, nSuccess, nStatus); @@ -165,4 +169,8 @@ extern "C" bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsg extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAPPName, XCHAR * ptszAPPPath, int* pInt_Retime, bool* pbEnable) { return m_ProtocolParse.ModuleProtocol_Parse_Deamon(lpszMsgBuffer, nMsgLen, ptszAPPName, ptszAPPPath, pInt_Retime, pbEnable); +} +extern "C" bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO * pSt_WeatherInfo) +{ + return m_ProtocolParse.ModuleProtocol_Parse_Weather(lpszMsgBuffer, nMsgLen, pSt_WeatherInfo); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index bae17f2..8b678d6 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -14,7 +14,7 @@ LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -ljsoncpp LIBEX = OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_PluginTask.o XEngine_HttpApp.o \ - TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o \ + TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o TaskGet_Weather.o \ TaskPost_DTest.o TaskPost_Log.o TaskPost_P2PClient.o TaskPost_PostCode.o TaskPost_QRCode.o TaskPost_ShortLink.o TaskPost_SocketTest.o TaskPost_WordFilter.o TaskPost_Image.o TaskPost_BackService.o TaskPost_Deamon.o ifeq ($(RELEASE),1) @@ -75,6 +75,8 @@ TaskGet_Translation.o:./XEngine_TaskGet/TaskGet_Translation.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Translation.cpp TaskGet_Reload.o:./XEngine_TaskGet/TaskGet_Reload.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Reload.cpp +TaskGet_Weather.o:./XEngine_TaskGet/TaskGet_Weather.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Weather.cpp TaskPost_DTest.o:./XEngine_TaskPost/TaskPost_DTest.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_DTest.cpp diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp index 5fd4731..1e8dd38 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp @@ -101,6 +101,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST LPCXSTR lpszParamTranslation = _X("translation"); LPCXSTR lpszParamLocker = _X("lock"); LPCXSTR lpszParamReload = _X("reload"); + LPCXSTR lpszParamWeather = _X("weather"); //post LPCXSTR lpszParamP2PClient = _X("p2p"); LPCXSTR lpszParamZIPCode = _X("zipcode"); @@ -362,6 +363,14 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszLockType); HTTPTask_TaskGet_Locker(lpszClientAddr, _ttxoll(tszLockToken), (ENUM_XENGINE_APISERVICE_LOCKER_TYPE)_ttxoi(tszLockType)); } + else if (0 == _tcsxnicmp(lpszParamWeather, tszValue, _tcsxlen(lpszParamWeather))) + { + //天气:http://127.0.0.1:5501/api?function=weather¶ms1=110101 + XCHAR tszIDAddr[128] = {}; + + BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszIDAddr); + HTTPTask_TaskGet_WeatherInfo(lpszClientAddr, tszIDAddr); + } else { st_HDRParam.nHttpCode = 404; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index 2a7e979..9754aee 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -89,6 +89,7 @@ using namespace std; #include "XEngine_TaskGet/TaskGet_Translation.h" #include "XEngine_TaskGet/TaskGet_Locker.h" #include "XEngine_TaskGet/TaskGet_Reload.h" +#include "XEngine_TaskGet/TaskGet_Weather.h" /******************************************************************** // Created: 2022/01/20 14:42:06 // File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp\XEngine_Hdr.h diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj index 97346ab..707fd6d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj @@ -163,6 +163,7 @@ + @@ -186,6 +187,7 @@ + diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters index b6ace87..42ac8f2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters @@ -90,6 +90,9 @@ 源文件\XEngine_TaskPost + + 源文件\XEngine_TaskGet + @@ -155,5 +158,8 @@ 头文件\XEngine_TaskPost + + 头文件\XEngine_TaskGet + \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp new file mode 100644 index 0000000..27d0457 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp @@ -0,0 +1,53 @@ +#include "../XEngine_Hdr.h" + +bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode) +{ + int nMsgLen = 4096; + int nPktLen = 4096; + int nBLen = 0; + XCHAR* ptszBodyBuffer; + XCHAR tszMsgBuffer[4096]; + XCHAR tszPktBuffer[4096]; + XCHAR tszUrlBuffer[MAX_PATH]; + XENGINE_WEATHERINFO st_WeatherInfo = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; //发送给客户端的参数 + + memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); + memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); + memset(tszUrlBuffer, '\0', MAX_PATH); + + st_HDRParam.nHttpCode = 200; //HTTP CODE码 + st_HDRParam.bIsClose = true; //收到回复后就关闭 + + _xstprintf(tszUrlBuffer, st_ServiceConfig.st_XApi.tszWeatherUrl, lpszAddrCode); + APIClient_Http_Request(_X("GET"), tszUrlBuffer, NULL, NULL, &ptszBodyBuffer, &nBLen); + + XCHAR tszGBKStr[1024] = {}; +#ifdef _MSC_BUILD + BaseLib_OperatorCharset_UTFToAnsi(ptszBodyBuffer, tszGBKStr, &nBLen); +#else + _tcsxcpy(tszGBKStr, ptszBodyBuffer); +#endif + BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + //解析JSON信息 + if (!ModuleProtocol_Parse_Weather(tszGBKStr, nBLen, &st_WeatherInfo)) + { + ModuleProtocol_Packet_Common(tszPktBuffer, &nPktLen, 404, _X("address id is incorrect")); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的实时天气信息错误,可能ID:%s,不正确"), lpszClientAddr, lpszAddrCode); + return false; + } + //打包发送 + ModuleProtocol_Packet_Weather(tszPktBuffer, &nPktLen, &st_WeatherInfo); +#ifdef _MSC_BUILD + XCHAR tszUTFStr[1024] = {}; + BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFStr, &nPktLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFStr, nPktLen); +#else + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); +#endif + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的实时天气信息成功,查询ID:%s"), lpszClientAddr, lpszAddrCode); + return true; +} \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h new file mode 100644 index 0000000..491d47c --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h @@ -0,0 +1,3 @@ +#pragma once + +bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode); \ No newline at end of file diff --git a/XEngine_Source/XEngine_UserProtocol.h b/XEngine_Source/XEngine_UserProtocol.h index d7b1e4f..a1827e3 100644 --- a/XEngine_Source/XEngine_UserProtocol.h +++ b/XEngine_Source/XEngine_UserProtocol.h @@ -251,4 +251,16 @@ typedef struct int nItem; //单个数据长度 int nType; //数据类型,字符串形式 }XENGINE_IMGEXTATTR; +//天气 +typedef struct +{ + XCHAR tszUPTime[128]; //更新时间 + XCHAR tszProvince[32]; //省份 + XCHAR tszCity[32]; //城市 + XCHAR tszWeatherStr[32]; //天气 + XCHAR tszWinddiRection[32]; //风向 + XCHAR tszWindPowerStr[32]; //风力 + int nTemperature; //温度 + int nHumidity; //湿度 +}XENGINE_WEATHERINFO; #pragma pack(pop) \ No newline at end of file From 10e662e9f6b51b56c6caac2ab1bba05cd801872b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 8 Mar 2024 09:49:26 +0800 Subject: [PATCH 12/15] modify:after entering the HTTPTask_TastPost_Handle function, the url encoding starts to be processed. --- .../XEngine_HttpApp/XEngine_HTTPTask.cpp | 40 ++++++++++++------- .../XEngine_TaskGet/TaskGet_Translation.cpp | 7 +--- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp index 1e8dd38..74b0ca0 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp @@ -74,12 +74,22 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST int nListCount = 0; memset(tszUrlName, '\0', sizeof(tszUrlName)); + + XCHAR tszUrlBuffer[MAX_PATH] = {}; + XCHAR tszGBKBuffer[MAX_PATH] = {}; + OPenSsl_Codec_UrlDeCodec(pSt_HTTPParam->tszHttpUri, _tcsxlen(pSt_HTTPParam->tszHttpUri), tszUrlBuffer); +#ifdef _MSC_BUILD + int nCLen = _tcsxlen(tszUrlBuffer); + BaseLib_OperatorCharset_UTFToAnsi(tszUrlBuffer, tszGBKBuffer, &nCLen); +#else + _tcsxcpy(tszGBKBuffer, pSt_HTTPParam->tszHttpUri); +#endif //得到URL参数个数 - HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszList, &nListCount, tszUrlName); + HttpProtocol_ServerHelp_GetParament(tszGBKBuffer, &pptszList, &nListCount, tszUrlName); if (nListCount < 1) { //是不是代理转发 - if (HTTPTask_TaskPost_SLProxy(lpszClientAddr, pSt_HTTPParam->tszHttpUri, ppptszHDRList, nHDRCount)) + if (HTTPTask_TaskPost_SLProxy(lpszClientAddr, tszGBKBuffer, ppptszHDRList, nHDRCount)) { return true; } @@ -87,7 +97,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } XCHAR tszKey[MAX_PATH]; @@ -124,7 +134,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } //获得函数名 @@ -135,7 +145,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } //首先处理插件 @@ -159,7 +169,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_P2PClient(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -176,7 +186,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_PostCode(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -193,7 +203,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_LogInfo(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -210,7 +220,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskPost_QRCode(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -227,7 +237,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_SocketTest(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -244,7 +254,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_DTest(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -291,7 +301,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, lpszRVBuffer); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, tszGBKBuffer, lpszRVBuffer); } } else if (0 == _tcsxnicmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodGet))) @@ -315,7 +325,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskGet_IDCard(lpszClientAddr, tszValue); @@ -332,7 +342,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskGet_BankInfo(lpszClientAddr, tszValue); @@ -376,7 +386,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, lpszRVBuffer); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, tszGBKBuffer, lpszRVBuffer); } } else diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp index 7756c9d..8d2e3dd 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp @@ -8,14 +8,12 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, XCHAR* ptszBodyBuffer; XCHAR tszMsgBuffer[4096]; XCHAR tszPktBuffer[4096]; - XCHAR tszUrlBuffer[MAX_PATH]; XCHAR tszTypeBuffer[64]; XENGINE_LANGUAGEINFO st_LanguageInfo; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数 memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); - memset(tszUrlBuffer, '\0', MAX_PATH); memset(tszTypeBuffer, '\0', sizeof(tszTypeBuffer)); memset(&st_LanguageInfo, '\0', sizeof(XENGINE_LANGUAGEINFO)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); @@ -23,16 +21,13 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, st_HDRParam.nHttpCode = 200; //HTTP CODE码 st_HDRParam.bIsClose = true; //收到回复后就关闭 - XCHAR tszURLBuffer[MAX_PATH] = {}; XCHAR tszSignStr[MAX_PATH] = {}; XCHAR tszMD5Codec[MAX_PATH] = {}; XCHAR tszMD5Str[MAX_PATH] = {}; XCHAR tszURLStr[4096] = {}; - OPenSsl_Codec_UrlDeCodec(lpszMsgBuffer, _tcsxlen(lpszMsgBuffer), tszURLBuffer); - int nRandomNumber = rand(); - int nLen = _xstprintf(tszSignStr, _X("%s%s%d%s"), st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPID, tszURLBuffer, nRandomNumber, st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPKey); + int nLen = _xstprintf(tszSignStr, _X("%s%s%d%s"), st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPID, lpszMsgBuffer, nRandomNumber, st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPKey); OPenSsl_Api_Digest(tszSignStr, (XBYTE*)tszMD5Codec, &nLen); for (int i = 0; i < 16; i++) From 86599d024793fd6e4ff4356bbf0304d533722d4a Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 8 Mar 2024 11:07:16 +0800 Subject: [PATCH 13/15] added:id region convert supported --- .../XEngine_ModuleDatabase/ModuleDB_Define.h | 19 +++ .../ModuleDatabase_IDCard.cpp | 136 ++++++++++++++++++ .../ModuleDatabase_IDCard.h | 2 + .../XEngine_ModuleDatabase.def | 1 + XEngine_Source/XEngine_ModuleDatabase/pch.cpp | 4 + .../ModuleProtocol_Define.h | 29 ++++ .../ModuleProtocol_Packet.cpp | 56 ++++++++ .../ModuleProtocol_Packet.h | 1 + .../XEngine_ModuleProtocol.def | 1 + XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 + .../XEngine_HttpApp/Makefile | 4 +- .../XEngine_HttpApp/XEngine_HTTPTask.cpp | 45 ++++++ .../XEngine_HttpApp/XEngine_Hdr.h | 1 + .../XEngine_HttpApp/XEngine_HttpApp.vcxproj | 2 + .../XEngine_HttpApp.vcxproj.filters | 6 + .../XEngine_TaskGet/TaskGet_IDRegion.cpp | 55 +++++++ .../XEngine_TaskGet/TaskGet_IDRegion.h | 3 + 17 files changed, 368 insertions(+), 1 deletion(-) create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp create mode 100644 XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h index a9c7a7a..31be19b 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h @@ -59,6 +59,25 @@ extern "C" bool ModuleDatabase_IDCard_Destory(); 备注: *********************************************************************/ extern "C" bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION * pSt_IDRegion, XENGINE_IDCARDINFO * pSt_IDInfo); +/******************************************************************** +函数名称:ModuleDatabase_IDCard_QueryByAddr +函数功能:查询地址对应的区域ID + 参数.一:pSt_IDRegion + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出查询到的位置信息 + 参数.二:pInt_IDNumber + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出对应ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber); /************************************************************************/ /* 导出的银行卡信息函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp index 4acd167..8410224 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp @@ -97,6 +97,142 @@ bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION* return true; } /******************************************************************** +函数名称:ModuleDatabase_IDCard_QueryByAddr +函数功能:查询地址对应的区域ID + 参数.一:pSt_IDRegion + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出查询到的位置信息 + 参数.二:pInt_IDNumber + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出对应ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber) +{ + DBModule_IsErrorOccur = false; + + if ((NULL == pSt_IDRegion) || (NULL == pInt_IDNumber)) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; + return false; + } + //查询 + __int64u nLine = 0; + __int64u nRow = 0; + int nProvincer = 0; + int nCity = 0; + int nCounty = 0; + XNETHANDLE xhTable = 0; + XCHAR tszSQLStatement[1024]; + + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s'"), pSt_IDRegion->tszProvincer); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nProvincer = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + + if (_tcsxlen(pSt_IDRegion->tszCity) > 0) + { + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s' AND parentCode = %d"), pSt_IDRegion->tszCity, nProvincer); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nCity = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + } + + if (_tcsxlen(pSt_IDRegion->tszCounty) > 0) + { + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s' AND parentCode = %d"), pSt_IDRegion->tszCounty, nCity); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nCounty = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + } + + if (0 == nCounty && 0 == nCity) + { + *pInt_IDNumber = nProvincer; + } + else if (0 == nCounty && 0 != nCity) + { + *pInt_IDNumber = nCity; + } + else + { + *pInt_IDNumber = nCounty; + } + + return true; +} +/******************************************************************** 函数名称:ModuleDatabase_IDCard_QueryProvincer 函数功能:查询省份信息 参数.一:pSt_IDRegion diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h index e75a7bb..598f960 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h @@ -21,6 +21,8 @@ class CModuleDatabase_IDCard bool ModuleDatabase_IDCard_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector); bool ModuleDatabase_IDCard_Destory(); bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); +public: + bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber); protected: bool ModuleDatabase_IDCard_QueryProvincer(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); bool ModuleDatabase_IDCard_QueryCity(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); diff --git a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def index ab845f3..770482d 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def +++ b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def @@ -6,6 +6,7 @@ EXPORTS ModuleDatabase_IDCard_Init ModuleDatabase_IDCard_Destory ModuleDatabase_IDCard_QueryRegion + ModuleDatabase_IDCard_QueryByAddr ModuleDatabase_Bank_Init ModuleDatabase_Bank_Destory diff --git a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp index 37a554d..8b0fb52 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp @@ -51,6 +51,10 @@ extern "C" bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION * pSt_IDRegio { return m_IDCard.ModuleDatabase_IDCard_QueryRegion(pSt_IDRegion, pSt_IDInfo); } +extern "C" bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION * pSt_IDRegion, int* pInt_IDNumber) +{ + return m_IDCard.ModuleDatabase_IDCard_QueryByAddr(pSt_IDRegion, pInt_IDNumber); +} /************************************************************************/ /* 导出的银行卡信息函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index bc4d4cf..deec846 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -86,6 +86,35 @@ extern "C" bool ModuleProtocol_Packet_Common(XCHAR * ptszMsgBuffer, int* pInt_Ms *********************************************************************/ extern "C" bool ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDCARDINFO* pSt_IDInfo, XENGINE_IDREGION* pSt_IDRegion, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); /******************************************************************** +函数名称:ModuleProtocol_Packet_IDRegion +函数功能:ID区域转换 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_IDRegion + In/Out:In + 类型:数据结构指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nIDRegion + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入要打包的ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion); +/******************************************************************** 函数名称:ModuleProtocol_Packet_BankQuery 函数功能:银行卡信息查询打包为JSON 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index 92a99ca..d8c6a6c 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -153,6 +153,62 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_IDRegion +函数功能:ID区域转换 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_IDRegion + In/Out:In + 类型:数据结构指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nIDRegion + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入要打包的ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonObject; + Json::StreamWriterBuilder st_JsonBuilder; + + st_JsonObject["tszProvincer"] = pSt_IDRegion->tszProvincer; + st_JsonObject["tszCity"] = pSt_IDRegion->tszCity; + st_JsonObject["tszCounty"] = pSt_IDRegion->tszCounty; + st_JsonObject["nIDRegion"] = nIDRegion; + + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonObject; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_BankQuery 函数功能:银行卡信息查询打包为JSON 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 3dd7ee7..c32d54c 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -24,6 +24,7 @@ class CModuleProtocol_Packet public: bool ModuleProtocol_Packet_Common(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDCARDINFO* pSt_IDInfo, XENGINE_IDREGION* pSt_IDRegion, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); + bool ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion); bool ModuleProtocol_Packet_BankQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_BANKINFO* pSt_BankInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_LanguageQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_LANGUAGEINFO* pSt_LanguageInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_Locker(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index c4b02e5..eef071f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -5,6 +5,7 @@ EXPORTS ModuleProtocol_Packet_Common ModuleProtocol_Packet_IDQuery + ModuleProtocol_Packet_IDRegion ModuleProtocol_Packet_BankQuery ModuleProtocol_Packet_LanguageQuery ModuleProtocol_Packet_Locker diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 7a72eea..ca82b5e 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -39,6 +39,10 @@ extern "C" bool ModuleProtocol_Packet_IDQuery(XCHAR * ptszMsgBuffer, int* pInt_M { return m_ProtocolPacket.ModuleProtocol_Packet_IDQuery(ptszMsgBuffer, pInt_MsgLen, pSt_IDInfo, pSt_IDRegion, nCode, lpszMsgBuffer); } +extern "C" bool ModuleProtocol_Packet_IDRegion(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION * pSt_IDRegion, int nIDRegion) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_IDRegion(ptszMsgBuffer, pInt_MsgLen, pSt_IDRegion, nIDRegion); +} extern "C" bool ModuleProtocol_Packet_BankQuery(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_BANKINFO * pSt_BankInfo, int nCode, LPCXSTR lpszMsgBuffer) { return m_ProtocolPacket.ModuleProtocol_Packet_BankQuery(ptszMsgBuffer, pInt_MsgLen, pSt_BankInfo, nCode, lpszMsgBuffer); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index 8b678d6..e4ad3dc 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -14,7 +14,7 @@ LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -ljsoncpp LIBEX = OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_PluginTask.o XEngine_HttpApp.o \ - TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o TaskGet_Weather.o \ + TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o TaskGet_Weather.o TaskGet_IDRegion.o \ TaskPost_DTest.o TaskPost_Log.o TaskPost_P2PClient.o TaskPost_PostCode.o TaskPost_QRCode.o TaskPost_ShortLink.o TaskPost_SocketTest.o TaskPost_WordFilter.o TaskPost_Image.o TaskPost_BackService.o TaskPost_Deamon.o ifeq ($(RELEASE),1) @@ -77,6 +77,8 @@ TaskGet_Reload.o:./XEngine_TaskGet/TaskGet_Reload.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Reload.cpp TaskGet_Weather.o:./XEngine_TaskGet/TaskGet_Weather.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Weather.cpp +TaskGet_IDRegion.o:./XEngine_TaskGet/TaskGet_IDRegion.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_IDRegion.cpp TaskPost_DTest.o:./XEngine_TaskPost/TaskPost_DTest.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_DTest.cpp diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp index 74b0ca0..971e27f 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp @@ -112,6 +112,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST LPCXSTR lpszParamLocker = _X("lock"); LPCXSTR lpszParamReload = _X("reload"); LPCXSTR lpszParamWeather = _X("weather"); + LPCXSTR lpszParamRegion = _X("region"); //post LPCXSTR lpszParamP2PClient = _X("p2p"); LPCXSTR lpszParamZIPCode = _X("zipcode"); @@ -381,6 +382,50 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszIDAddr); HTTPTask_TaskGet_WeatherInfo(lpszClientAddr, tszIDAddr); } + else if (0 == _tcsxnicmp(lpszParamRegion, tszValue, _tcsxlen(lpszParamRegion))) + { + //天气:http://127.0.0.1:5501/api?function=region&type=1¶ms=省份¶ms=市区¶ms=县级 + int nType = 0; + memset(tszValue, '\0', sizeof(tszValue)); + + BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + nType = _ttxoi(tszValue); + if (0 == nType) + { + memset(tszValue, '\0', sizeof(tszValue)); + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszValue); + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszValue, NULL, NULL); + } + else + { + if (2 == nListCount) + { + XCHAR tszProvincerStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr,NULL); + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, NULL, NULL); + } + else if (3 == nListCount) + { + XCHAR tszProvincerStr[32] = {}; + XCHAR tszCityStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, NULL); + } + else + { + XCHAR tszProvincerStr[32] = {}; + XCHAR tszCityStr[32] = {}; + XCHAR tszCountyStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + BaseLib_OperatorString_GetKeyValue(pptszList[4], "=", tszKey, tszCountyStr); + + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, tszCountyStr); + } + } + } else { st_HDRParam.nHttpCode = 404; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index 9754aee..27d28fc 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -90,6 +90,7 @@ using namespace std; #include "XEngine_TaskGet/TaskGet_Locker.h" #include "XEngine_TaskGet/TaskGet_Reload.h" #include "XEngine_TaskGet/TaskGet_Weather.h" +#include "XEngine_TaskGet/TaskGet_IDRegion.h" /******************************************************************** // Created: 2022/01/20 14:42:06 // File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp\XEngine_Hdr.h diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj index 707fd6d..fc3e578 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj @@ -160,6 +160,7 @@ + @@ -184,6 +185,7 @@ + diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters index 42ac8f2..45e30d2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters @@ -93,6 +93,9 @@ 源文件\XEngine_TaskGet + + 源文件\XEngine_TaskGet + @@ -161,5 +164,8 @@ 头文件\XEngine_TaskGet + + 头文件\XEngine_TaskGet + \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp new file mode 100644 index 0000000..5d93f81 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp @@ -0,0 +1,55 @@ +#include "../XEngine_Hdr.h" + +bool HTTPTask_TaskGet_IDRegion(LPCXSTR lpszClientAddr, int nType, LPCXSTR lpszProvincerStr, LPCXSTR lpszCityStr, LPCXSTR lpszCountyStr) +{ + int nMsgLen = 4096; + int nPktLen = 4096; + XCHAR tszMsgBuffer[4096]; + XCHAR tszPktBuffer[4096]; + + XENGINE_IDREGION st_IDRegion = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; //发送给客户端的参数 + + memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); + memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); + + st_HDRParam.nHttpCode = 200; //HTTP CODE码 + st_HDRParam.bIsClose = true; //收到回复后就关闭 + + if (0 == nType) + { + XENGINE_IDCARDINFO st_IDInfo = {}; + _stxscanf(lpszProvincerStr, _X("%2hd%2hd%2hd"), &st_IDInfo.nIDProvince, &st_IDInfo.nIDCity, &st_IDInfo.nIDCounty); + ModuleDatabase_IDCard_QueryRegion(&st_IDRegion, &st_IDInfo); + ModuleProtocol_Packet_IDRegion(tszPktBuffer, &nPktLen, &st_IDRegion, _ttxoi(lpszProvincerStr)); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的行政区域ID转换地址成功,ID:%s,转换内容:%s-%s-%s"), lpszClientAddr, lpszProvincerStr, st_IDRegion.tszProvincer, st_IDRegion.tszCity, st_IDRegion.tszCounty); + } + else + { + int nIDRegion = 0; + _tcsxcpy(st_IDRegion.tszProvincer, lpszProvincerStr); + if (NULL != lpszCityStr) + { + _tcsxcpy(st_IDRegion.tszCity, lpszCityStr); + } + if (NULL != lpszCountyStr) + { + _tcsxcpy(st_IDRegion.tszCounty, lpszCountyStr); + } + ModuleDatabase_IDCard_QueryByAddr(&st_IDRegion, &nIDRegion); + ModuleProtocol_Packet_IDRegion(tszPktBuffer, &nPktLen, &st_IDRegion, nIDRegion); +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszPktBuffer); + BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFBuffer, &nULen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFBuffer, nULen); +#else + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); +#endif + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的行政区域地址转ID成功,地址:%s-%s-%s,ID:%d"), lpszClientAddr, st_IDRegion.tszProvincer, st_IDRegion.tszCity, st_IDRegion.tszCounty, nIDRegion); + } + return true; +} \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h new file mode 100644 index 0000000..9c7ce75 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h @@ -0,0 +1,3 @@ +#pragma once + +bool HTTPTask_TaskGet_IDRegion(LPCXSTR lpszClientAddr, int nType, LPCXSTR lpszProvincerStr, LPCXSTR lpszCityStr, LPCXSTR lpszCountyStr); \ No newline at end of file From caab806cfcd7d4129a3d92cf5f49170c5f673d03 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 8 Mar 2024 11:31:00 +0800 Subject: [PATCH 14/15] update:configure --- .../XEngine_Config/XEngine_Config.json | 6 ++++-- XEngine_Source/VSCopy-Debug.bat | 16 ++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 02338b7..f6e2968 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -29,6 +29,7 @@ "SQLPass":"123123" }, "XApi":{ + "tszWeatherUrl":"https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=3239fc302d6480ce49973f4d1c59e5d8", "tszBankUrl":"https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=%s&cardBinCheck=true", "tszTranslationUrl":"https://fanyi-api.baidu.com/api/trans/vip/translate", "st_TranslationInfo":{ @@ -55,11 +56,12 @@ "tszUserName":"xyry", "tszUserPass":"11", "st_VerSwitch":{ - "bBackService":true, - "bDeamon":true + "bBackService":false, + "bDeamon":false } }, "XVer":[ + "3.3.0.1001 Build20240308", "3.2.0.1001 Build20231229", "3.1.0.1001 Build20231102", "3.0.0.1001 Build20230908", diff --git a/XEngine_Source/VSCopy-Debug.bat b/XEngine_Source/VSCopy-Debug.bat index 2f5d434..0a6e364 100644 --- a/XEngine_Source/VSCopy-Debug.bat +++ b/XEngine_Source/VSCopy-Debug.bat @@ -20,11 +20,11 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_VideoCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AudioCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVCollect.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avcodec-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avdevice-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avfilter-8.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avformat-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avutil-57.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swresample-4.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swscale-6.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\postproc-56.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avcodec-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avdevice-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avfilter-9.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avformat-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avutil-58.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\swresample-4.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\swscale-7.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\postproc-57.dll" "./" \ No newline at end of file From 6001efcb29065788c7ef4751c96975896f2c1e8f Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 8 Mar 2024 11:37:09 +0800 Subject: [PATCH 15/15] update:readme and docment --- CHANGELOG | 26 ++++++++++++++++++ README.en.md | 4 +-- README.md | 3 +- .../APPClient_XLogExample.cpp | 22 ++++++++++++++- XEngine_Docment/Docment_en.docx | Bin 151532 -> 153489 bytes XEngine_Docment/Docment_zh.docx | Bin 157835 -> 159740 bytes 6 files changed, 51 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2414277..38f8e7b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,29 @@ +XEngine_APIService V3.3.0.1001 + +增加:行政区域ID转换支持 +增加:天气信息查询支持 +增加:图像质量和压缩级别设置支持 +增加:日志表枚举支持 +更新:匹配XEngine V8.25版本 +修改:后台下载服务不需要等待完成即可返回消息了 +修改:后台上传服务不需要等待完成即可返回消息了 +修改:在进入HTTPTask_TastPost_Handle函数就进行解码了 +修复:创建日志表错误的问题 +修复:日志表字符集不正确的问题 +修复:日志协议删除表协议错误 + +added:id region convert supported +added:weather info query supported +added:image quality and compress level set supported +added:list xlog database table supported +update:match xengine v8.25 +modify:does not wait completed reply msg for download of back service +modify:does not wait completed reply msg for upload of back service +modify:after entering the HTTPTask_TastPost_Handle function, the url encoding starts to be processed. +fixed:create log table is incorrect +fixed:log table charsets is incorrect +fixed:log protocol delete table is incorrect +====================================================================================== XEngine_APIService V3.2.0.1001 增加:编译开关日志提示 diff --git a/README.en.md b/README.en.md index cb286a8..e31db86 100644 --- a/README.en.md +++ b/README.en.md @@ -23,7 +23,7 @@ Support privatization deployment, free, safe, open source, controllable 2. support ip address location information query 3. support ID verification and information query 4. support phone number information query -5. Weather forecast (planned) +5. Weather forecast 6. Lunar calendar conversion (planning) 7. News headlines (planned) 8. Standard height and weight @@ -49,7 +49,7 @@ Support privatization deployment, free, safe, open source, controllable 28. remote control(back management) 29. Image Process 30. process deamon - +31. Region ID Convert ## install #### XEngine Evn diff --git a/README.md b/README.md index 8c9b1e7..f64c2d0 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ c c++ interface api service 2. 支持IP地址位置信息查询 3. 支持身份证校验与信息查询 4. 支持手机号信息归属查询 -5. 天气预报(计划中) +5. 天气预报 6. 农历公历转换(计划中) 7. 新闻头条(计划中) 8. 标准身高体重 @@ -48,6 +48,7 @@ c c++ interface api service 28. 远程控制(后台管理) 29. 图像处理 30. 进程守护 +31. 行政区域ID转换 ## 安装教程 diff --git a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp index 320db05..79cfa51 100644 --- a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp +++ b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp @@ -98,12 +98,31 @@ int test_query() return 0; } -int test_delete() +int test_list() { int nLen = 0; int nCode = 0; LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=3"); + Json::Value st_JsonRoot; + + XCHAR* ptszMsgBuffer = NULL; + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + { + printf("发送投递失败!\n"); + return 0; + } + printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); + BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + + return 0; +} +int test_delete() +{ + int nLen = 0; + int nCode = 0; + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=4"); + Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; @@ -129,6 +148,7 @@ int main() test_insert(); test_insert(); test_query(); + test_list(); test_delete(); #ifdef _MSC_BUILD diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index 1cc98de38e1008d8e23ff3561fb8f001328dcdd7..21866dcc3fa2154e03caf155462e0232771489b2 100644 GIT binary patch delta 133795 zcmZU(Wl*L)&?O9m4eku??(RA;xVyW%J6yQK;O_1)xVyW%4>mXM4*R@cZPmA1`|l*_ zN~a^8lTM%K!6wwf#&bZTz%th-@DKs=f0;45>V|~G+Ns>}adGdhmk=jmFVwBq2osLF zII$w_)}iNnN7oBcYJGgz$YM{rS+=@=i{6IK&=ql6B`mUwFvykNTO|oLBd_zy`J!~7 z2hX=j&7Lmu`9DCo&uF@e6etviK4vu`_wS$`nEfug_DXhBjT?z26+4w5!v76OA9N?w zk%5GdGH%hG4CZecT5FN$ z-uktHx|H15tG^116FR2m?gwCT4r;jR=+wcrn6Jz44;8V58BOk84-P{v1nMToJ;UZQ ziNn-m$E;*oAl7794AGPBim(CxZ!e^!F#7LFcGDkCqh+5tx?=q0b5}L-Ea;tD8V{`J zKZ9$UgA+-IUSEt_6+YjqPTLK=-r>EJQrte?72j#sr)Mcm)V57mk18iyhNH|}m#b_4 zWh$@O2GZvcyLU;vfK<5^=opQDav<(8}Y*YkZ^J)vgN_qY>C}4jo80adGGM|#LdM`t^A?`r&cJz-e55b z;ENB0sW<6Nx=q~L{y~>K8loR+in^dBVvJ?L_H#$s*E#mdXD^{d?sL9~rWM98M)^MMwprx|p4*C-9@y6*-aMV3Lft2&Sx@ia za4S(HVWi7syN5b~wYRs`COmc<93PA5SM9rCMTU1$Xa3uD^+9(jQ$d+J9QZy$bCBew zJ#YgL!`L-E|ADz~?cdVad0}n-+ z2OJ=;h(m@32G$jsv;j#2Z0fI>@Nu#}^5))LIu%^1D@>}(5J(AJ+%O0S7$*GvCWUes zKW(HS^_XlDFVy(^yjSv%q_nM4@z8?jx$QTi5#=gP@+wdj3=Jq4*?@`cidC|aIdZi7 z^I|*q$IzlF*2s^)JJEOHtw=ulsc$z^zZ1E!pK61upZ0TzzD|Ru0jE@hUn0jM5Kiu0 z*>OJ6{00P9=cbFl>hBvj$7v(>N4*jmKkykBqjO5~dbI28<&usjW(TFPLtmC>3_U!0 zsWPQTy4`SzqABee2CXtp$N4SDN5_2$> zR@sTB_Ih@Ze1^@z<=kSC8UJZ!kb?Sd(eST;LaLzb<*}y|*9-`NeW&lu3Y|N1`25_g z`+DK=@y`4gd%pEz2=g-8D=nn{tL|APMLyU$s4~|HFL))%E&I1muphG`wjuM^uxL}2 zlfsTCD${@#a6L{MVPM*iV5`ONiA6ssv2TmT{D$?U&+nfaCIz>`bxA-FnN>D^ug1(b z8OUOjBBz`@P1uzSO=nKk_n4MQ)zVnYJQPZvG2YClEkX!I?&YP|x2eD2O3CLm63?bm99a{)b zUX^0^I`H9?VXio^N^cK@BfGw=DWWEx6L9+>a9ic!+QQ;BT`L{WA zWsg~X2yQJ5D=sd#6OmEe3QEoIfU@hp%^Z1y{Dyq2P9)+rv=>L`y-@yCE)W)RV=FM8 zqxLoRdxby9ZGo?xqGP;AwLRPj?h}YbDP85-FPBiz%ASQhu)d=3;ObRgXs5B08ZDb} z%EoOcd-`6PY;IUlUh~aiCHr`OnO2hIr{7Vr4RR8-G-v;myxu?MBnm`mdOj8{|4ogGq%nwT-5~o7J#$_o+8v!+dy^ub{ur0Qc2cwZR6mC}3 zfzV!9pILFM2)XG6Ernm}ekkInLrEY4VguTpV>;t6@r8{baI*VFwY~h$%Shm9>u?Oek8_Q=UD~Um*x;7gZ2<(yg^x{UbkO8BCfsOFi zPHxF~ww=DT@t{94pNTquJ~U}|GV6LgYEhC<9ZJEIdD~7u%N;XSZ6XhK59;Qn($gXC_5Cz}lLPbv}CZT^p zF#)Pq_G8|LqD4Wduc!7g8{r$ypmLUQIoXc7eCI!~l24ebjGX_{eW6m)5GColp!LiS z&*{p8ouM6Q$tDv zl>wd-&A(jN_S-^#*2FMn4qW~tcxTcL0yPm-Y2}`rnQ3r%Py*bJnE2(Moo2pGk1Uu7m_WPdv^_JvL93_BF`j;Qvv|OZlH*VE|W3+JCh; zJi%N*O2Yp}{{zr*+5@>#V4=Dyx@^}J4J+aPQ^x5@ja{)98?%?r{xHPmPLG|-^nEkW z*%R4fOK038VLgtT`zt2rk`jr15QgY)f<;VRH#g+0?yI9@j`vjhT3f&sX^M~hQBtSx z6L|K-$i`Yoqv>GFRH>Az*TIo0u#-;icud3&% ze4p{Uw%7Y1>`qJ(4&B@)x~5Dc-CWT+R0``gu=Ti4@AoU~dMwuXj4^~zz#MVIPe}-V zEqTmD?yjHqf|<{b{@W76nqspio@u&|%9o|VKRAzS0^{@a#t!xfNoq7i>b>En3&rcB zRk(}D2diw46xREln5`c{I8%>~Az2mgJYC4p8lqjs;h8Z$J}?o$`N2zOj_7v_AcBlP z(QU>)Pv71qp_B#vke6p4*iuu96EoJHXy{UzNZbuJmm5&`O_vw2Ar z(-1}it`7+rpB__91%2MftODZZaXyu6#79+Tn+p^w8LM+P{FV=~b&?y@8^GqKg#4V- zxhEB3f%QaD>tfeWmxADMs*3*=?(5^h_bvfH-xP)C58JO>Km9YCkvKD_foqavfElVW zJX3aG&ll@)C3mt27_afI3OaTz8D)d?;OR-T|JPHS_=fiRsod7MZYEG!J+bggzFfmXZWJguBdLweg>bE`h=$^ zNS7m=B~0`8=dpbh`M&UWQ(lsdNn^k**D#Yl6BAZG!@pr2Q?-zd^n?DU+~BX}vw-0* zY0NnGBa?L?i=VV8lvpg@`yxnlJF6h_hk8_lVOd!}4L)^M4S&@H;y`l-l4F~RWQ4|Is$zyf7t=V&#AZx{0s}#wOmpAWXy??$0 z36?iRoOYy5-GF7iC|$`#E7HAFihrQP)RCDk8B1O4Y`wOFq7-NFB;-j+z-F2)boFMk}K>wO8aQG)Vn$A|O>st!}6jh^XGpQ4R zELZ}Sr%OkNHr)=l`@P=Pmc8mr$fV00$j3FjvIbQUHa4uEG+M6AtF+ZK|6 z`ljHvJ3}6p^k6`t5U+V2uP3%RYVQP)NS#fScAn+mFO}?lu9W;1RDkR8+fl~L-=eeG z{HmQ}Smm933+L@p%gu{u;LaN9<{}Tc`!M+2d+2ufe0;n5d^PLdkE+=HY4ll4iOBao zIw&pu1(wuS?A(^=qS}%hRd2T^=(6R5Y_f76h5FF+Jp; zwI$9fm2A!yRu@9T5cMu(iu>aL+7>(g&A2*9TrGIzyUP|lMQw#p!q(oY#OFnge#{?E zYS-+-2`?znzVxSkU&4DstB^WR>ISU?JLX>6zQ_9?pnAep<8YIsGdZq>eTKiSLm~CZ zb-3ucfNR4CNvw4EFS{B_h1Kc-9`3aDTww$^JQ`zHm7N**x$lg@0$b+*f>KpWl_FEg z5(7m3d=C{*w=7RcRZxDrvjtr&4nOx=XLyy1HSXWPsBUKNF3?oKx9__?V~D%j{2j2C zLCuAgwElPN8bgZtn;j}9VWj{0Y4{!DP!Ix1hioD_++Nlue?g_~mtPr};L_iXA1uDD zERl@C8BdVvuhGaRs*2)(_%?2-?kcXl-Y3vD`FZ0tg=H%QT?$f3*W0oVQCDXSnkCsL zdLle;1Y%BKmE9t;D-*H8n4M!aEk$nJhi>(Uhe|F|sK>52W&xYla*6RgW4YlZ7CSY) z_Jt;=s7F;<%RI*bXTDI;?)etFB3EBCp3eTkSRapl6?#-1?*#xW6~%$^gL?{Vi|@yk z%ysCjO>#J4zl@jbPQFwE%>VrH?}udk6Cp3&ee79;_g#9NeIk2Wo@ zcL%)iTyX!dqpSS%r-$C2=SK|#r{?msa4b+8aZ)Djc-t>=*5OG_5HGt-%!t6BbF10J zzBhU?UlW}@{3qp^L9=)-h2YpHeyyLva0IBE=+^%8Td@2Bp@@0Q67$XF>yeVelWRW2 zg?`PB1FMm4$dDfOSP9!N$p3e=Y|BIV>C_b*jBBA0MMlXmwo)OHWY z7V%yt3q1FpDa*NPb{i8()C@W)I3Om2CoW7ps2KMG3M@vd(hpnBQIph{yUAv^Dok|M zTcd}62iSC1V6ir!(X8kByqQPH=|^$~Dkpl4C6xqyW3Tm>fC{Z*qyU4!p%GD@JsfBA zU`Sa8@}}K!d&s_B%1(d{|g+)jbbL7ZRP+2 zt)$=MFyvJheP83gSlWan3-23+kaJ!f!6)^9fjd8PIP7m6BQ4&={-VN=^JxxnQ`eGo zxQXCl6|Vdx!BY8orFF(Tr*-?0R8dio@AR|yk>f{M9Wx8!#=|yINf!2oa>`W75eT!{ zf&Ap8eVP5IQ`?z8^{ibS8r;|=I&Q5FQX>O|eM|c&R>7J-6LEAIn-AC2dk3X`&5+5# z0UWTIr6ObHiTqouEJ%sVA=n$!m9#EOb_|?wzjYoT@pMmRkM{6P@YX*pvPDdD42?aN zeY&pgg%g%2D~DJ3xB^RhOco>e^3x}*IgO;K)LKKdt9Jes##1=d7T#u9;C(m^rFrhO zYvXRBE7ez~-4%lPc|8h0P_LRilARh-02jp63mFNQX-)B{PV>IgoQB#=DHjR!T@yl= z$4juZ5uQ9;ET!UNZ2?5MKQ>;Tw!C>I?)!4%riY72sD1d2@arWU-y4`EjX+kNv+=2w zkNCL8$61$}4QOun8%`7!$+3{sTyEcs4NNMWn5}ek-}c&i5A#8O`4D(lq}0%BK++Z2 zqMLb2kT+iz*X)2(_wkT{jly%u(?)zYPQ_{ud=Q65`0x4dO^KptjvHg9BZ}%VZGz8l zrw-CXly8g)5J^FmEJd&?2lfW5zF)>V)|4c%ISNU|Q`sSL`?hNxGOCM6#@n77c;?1Z zkJK4+5_d~UvOdQgP=A~Mb$~oHfz*MY41u2iSeT8xaChk)bolbZzKBt6Kw%v84BdZ6 zzWu6bCQLM`@Y@^kj{aOiNcTN2OP&g{ZT2Z4cP*J|haEdJ*H$nY>|s?8?)XbXm}_E+ z+E95O8-6W26nltYM0ql@>{Aj>pHLW5z@GS=$47Sp{cX)p%1pt`&!vXP4zMt8iFLvU zu~%9`dpJZodTuZ}tY(}V)=(d9())JRJ>8liAVoBtV-KlXea7YP$Ic(}xK!P}b)lk` z3h?$7(c+x>?M&LqU_``(Fv<$F!n+x4V+ZHFCvb+sj_Dk65j0ErN!xy7p3i(>Pv>_* zq*R;6xpI@9zd9szW0>kL1c-8kSr^KEU`L*G305xH?KsYUM?Ft588Ud=e+YIw1?e9x zdWL7L4rvgtroPI>D%@ow!BqeGgA=YL@qE;7p%8Uqnf3zUtkSN~h>T_vCZ zKI4>AW+=NKF1gWGD`56V!>Vvj8|M5VcgD=0Vy+~GcwBh6=s#y;pt`ser=}nhBY5t& z#O3)Ngr8f@$2{o{G*Y!3Xf>EEj>dgPTapQTp%ihmR>G7W3BH|q#3M`MmK?&erMV>C z=DdywQ#F}WLU9x30HW4Ew&Gk4#^;&FY>o+sXJP*7HICdqO1+=rJ!v(5qek{wgL`2| zl-+0;G;lK)lmUOM!fBJ*xtniHZ5YRg?-)e>%X$(9!;HgP9QiM}%dEVfOhCZ!&q-19 z7llF6`VUwE1hxmi(yTG@24`hnPt%D?rRb-*cb=VOQ*BlW9)QNd!8Pffw^@ZZ!IZq@ z%!8XKFJ?@(aQ{Ln(Q+lD5o`St?uQg5VvJ0Yt>(L2Y1}hou`(knR8{(^^6xB=r^T zvjmDU6&WEe0g5m)jzRSwd0Kb*950O-sJi!xD;6_*f4?7Td5UOJO>P#8>qw;fW-@M$ zt3^_z8)@)DqLPaJx5=K-RBulNJt0C%9wjVUYAWh7CNjmB7>W`t*avE!a9Z~0MjhcY zY0PlBYtIQ;)4;WpJc%z7(5R$Rm=#9JHa>b8ej?(mVCoNo)Pl>f z#gMZ6C9CT46dkfW0=rlO6 zgebY0%N4`R#L(@kT3v2&qK&7rDKbxZR|-hqmJqE`WAG%A6wvc(m+=an<`SbgYxJMz zSQ*?=5#ib&B81>B9t6dWQtR`IjWR$vl#Fv!rD{*_;_!>&csNO;f{tpH|9kLwP#?vl z$3{sC$9pfHM2H;6rA_uD>zims=EWfT_oe?k!oS19wHY7so@ft@)AdR#ztSiHQt9Bb zZf4rjzx`vX7Rg)PlfNpn8c2Hzf?P|>4x!ZS%(qhg0iC2-83p@H!;&+hy))jr0?0LLJ0DDA!a{+ zJ;}o_r)4^9TuO)|3dxRLnhGBPZ@Leq+4STPG)AIj7RB*l#0o1XFDO-YWr&rB9zDq6 z%1RD#A}SAK4zz-s+?})ZF6p`-!Rm+SjRK-*#d;SPtYWL&{AE~D6N;e%1cFz|-brs3p&qgT-%F17Op2O@aA4s4$ zj;c?=1qxobW$Zb*grj6`jmW}-JP7T>w9WNToR=5s;2x?`_HhgO<6Go_!&IyrVu@QV zo0UqEj<+mgB*MPz=3+_!Us6CW9M8i}=GwdI5U&VQ7^|{dL+}C@5|sjnP^M5D|9mqg zLlW)D++W3i{G{A1I1@O>(HId&XjIHJhISSnMs1|@aut$Bb1Q8|U#^H&S<<`GxU^q- zC4l}+I8iN~uB8>=EsEm5wI|1EyLl&28WbalhtJfKkR zhon&cAnM6mhlmWhWT5jNX4z+w*h7xOQ)I$>v&hE1}u3v2anNyV6=x1*hr)bck&E^TLK3ICyaHbq*pfW_9j5r|wQ+b9#gKV@M3x(s3|r5<;|R z1vjJl{k7-sNCy*J*1Bwil-qZ?V=Y#;rr{Y|chr#ZTRV1Oh&^9OQBAxL5is(kfx|_} zPd0O|I%eP$=Y`}&Qek-!f3I=&+fUf34j%C%qXYbVnyg}Y=c$5pHV>v12Fq<+vgHk1-s^&x=m z&QyWOZzOEFEkMfwQ{cncO%=1A*k=3CMp0l1m)`j7;vYjL3~%dM?$?5Y^t(QO#p5Px zTXzGRcKluqSlP}=Ef$j!`lOyl#k=4+tR2>^9IBy*5UfW=wWJnOG;ZK=o7O3_WN_xg z-&(-4>b}1)q@Jvw{J^-~egS^_2!k#6yH)Kb#0~|{%)R>O0;UD(`i@E`z2i^bwbd-a zlhstN8eAyvvir?=`pAHQ@9M9K21x4IXAaZC2m2E`E`hr1Y&3>9hlg_UtpDo^nj9)f-SrX^|dMW{sKAZB^pPIz@Qb3&MUWZF5Mr zUb;fy*3;I7ryoqjoFIQ6u@H=XNREgz6E0*Wq8ED3WTkDE<=yRa36~u0L7V?0Ip@}# zhEfb>b%|2$U+dV7ys4a^EqxC)VcDk5PmbahB;;*R!HAeMcfodKW%_9E2MTQNIR|XS z>En7bIoRXv$!Yq{;?*};9oE!dt!yW!xE7KPDutx3$x`eh`F{{|tQv|~rnTeiDK&?W z`E^rUOs9heNOK#+y|reTa>RZdbzx`OY~O!xw_ucb*0v;j!h@q&)6I`9w9KU6k9aq0J|9JtUT)m1&^3VVs-Bt=fkjKWl%+;wPM{Gnsn}wWflm5*}c{-D0 zXSyQd>Ta&pE9v`+YvkQ=bvxunU_fQ8^fR35eDkX=G}c}9&CHfOJ~L}nZM(lZcQ`+K zY0``8c0ZuqUMKii>9jRy0P6NnQzEN7A#opfuo2MWYR@QP{~X7Q0B^7-?i=h9e`G5wpBuGLj)0EbK3ctf1@R{}ZQ zVOZ@#FQc9c1esNvjnH7%;#~0o3n^Gn$rX!n&V~i&6>Wv93?`$cu1vFVC9=&lzQdvi z?E_JWY6J_&iNpniens>#K$n?Dan}0yP^= z)i`de7OAtz8@~$efLTr49H<^7;>=B2j?x;z|2gFhK9qrHsu z$<^poN^mP|@l-SZXlI7K<9wcau4a?f-y`A4nkT(Q4fAZeL8_@OCBzR|pEb)`6+2Cw z>TvesQA+i(zuBDy5e+Q8>8lW_PUB4;pO&~5qYNlBmek$Q0GkHtB>i_Q7o&HHflR z-d-!%zYL?20hNZ{+LfXJr|o}ZSigdjT}%>f2-SLn+tlavq&2B){+iKce%TF!4Gqnd z89~}0PQF<_{!?4WLN3oOMberVk%s=#uH{Ic`GHuq{wmP@q!u1m!ST{u7%LeYGW9n9 zwig6C7pQCt0gXTHTbex}9vzr2$E{ABgdOw#x4I_nfHte9gz~MiN2#aqdPD^UnL8ze<;5MGDuUuZp^8#M=JR6vy7Dp-`39F4ej4 z3+9~DxWZ9-;7+wluMysPTslgBy+BD-J=E!Cq5-(R_vA+y`s;kV-g_?Z;PSY!lBHqx zo8fgaP%Ut5Y0_|Zf+u=>J&T6tWsZ3wX+ed_@&pg+4e z(4@$@@F*jqGGpk9G=)$g4e7P9kRM=_N0;`s2Ti!QDwa8s9WL405+S*)s2%{AgCgbg<7grFI3ZuW`r>Yq6nPnA7-vev z?#l(n6`L;aQ9fm9d=xTpG0GTEalQ}%R)?@QcAo2=<@mXC z9lr$xluORy)N^S+f!IYxkFnjY#YTaE_=$yi}hDc+wiZl{fF4tr7;DkUKMjq zJuRm6h4J1*u1HZg*1s>o%wLIz5%RCS!Z}(={^3XWKq!CvU>6y?-*As;ru*CN4GB?{ z>Q3V1@|2}dJtLh|MNiaX-A!{2u)z(dGAl`|oL?J1#ccni82daySaQ7g$IEQ(Y)PzN zxRpCP)T89Ec~_HBKNq$evpiZf)b98}))Wm*+YU`ek-#Ic`c0JjDG)jk#gW5?qRqNe z`4-+oSvu8Yl@?SmE<{hzFqvhQo}|F{kUvIHch8?{L0ADaVCA{Vw*%tB0U(w@=NCXO_>l79aiQMy75Kq<@|FMvQ7p zZxDX^#&3Lx`2_t<)oB9fL1^(fl$fWzYRZS>Z&uPPO>B|qw z1Xc^vnb>iY@%D=-?gh$SsgAD!|A2$ylgbUSav_V@j&2)LlD(U|Bkd%7Ezvf*J+Ro? zWgf9tZKBhF@NXQzsAIqkzY9!Dbm|zTot*~a?-GvTNJ{Px6+Qj3ORka-fmZ86Voq zpJlZR%O6Qf6(6{q($+r&&H~s??DtYLo0qC7Nc}=n`RBrcTZ3{H%R<~=OBcjGu4Om-^@Jn-=|hkDbr3puPmK~>~ert1=b z%X#zUJ^Hrx94iGYpLDGAO2*t-#jkt8RGkIWPcJ@i^}o7kSkX*YP4DsqJl^`{zjUZf zUOPSB%ODxq34DM&=89b4rAhZU1n>;I9w5icy8q+*dY=bGY9TN?^|d=_B6Nq;PFcuSaGgtJCDx5mPCE<_dvaSUI=T`DIL;EGkhi-;RitC%Ooh9Io8W$@9$3wZ3j59>SG=XPm@I- zA$1DH$R_URnd3Bt!R=LV2`nT$wYc^B#mUBc!n#Wl|7xm9lHLKz`IOI=W8WF8-+@1+ z=rXgQBvM=;0{hNYuLi+Qs!Ad4|J2BX9wbB3a-|kXD_$UdjZ)7%+^4oIYB|WjoUDPk zbs`C!pIds5Kpf9aQ0e0?6Jo6Ms84dxUvJz2sK4BSxre)$A9s{av(zR5e63dNaCt@LkF4mqJDRx+nu z+xz&StlY%OX|Iw+Ui(a1<*O~E^h}IKf5sW3*2&3G*H%Vt(n+PCZ#8wH z!;a4dO1vSGqKr97vaV8Klet>>Q4f6ZF@mr&+lX7G(p*#Lh@sNTFA9o?w;n*!e8udd zRpr!1PDsZ6QpVK)2`}ZpScexIz6A#tf9`D4-;YldnHt%HB1t}*-x`f8ZVgHj)>>COD{MK|qp3~k3Ou`UP~}waY)3sSD&2f>h9&Mc$F+$N zS!@jg$rP5t-T&T#nb|DBRu%yq_gB$Z_NTzlVVMSroU6aJJO7;m+``d-vNbpkaj3VH z`8t(Z2@DG!bInROlWcuxRnF1sSH2VZ!$6XpS(b2m%~~XJ*b4@i7;ICJrzIeF?2Hg} zQY$L}GdjcOh6%{O&1VK?6Ov0y*XNmC67U`d-_ndm{PWLf_S7FyoB>3dU!}LJ&WfQ) zANV3f(qcyQ*r+YFTZx4V3EO#tqnQ8L%0@BiNe2YpEB|+UQJi`gQ;x2MWfJd7&{8O& zpH$C!jC3gsQ+TVbEZ#?WRFsKbXdX|?8-|e;p-!B&L$%iherSDv;Y*iiv-Tw2I^Ei@ zpve{%5tOr2y^YQpTm&XFNu1ocbGFprE_40lHL?Y?U`FUVuC&-(owGTZs&wheFllf9OSGCdC@HL2o1CFaTvjn%hHGQW5qd5$4fCjgw&p26K37MLXdd7QFj zx_Fm3rJ>wq+A` z@SLNK_~~sV0C+wx4}Zm7HnDmO_GT{rkNG&-mWpxGbU!7X&<@9&K+hD&V-*W*baepF z+_P+CtQ{2P*HmWw}c1e%eyOzaP)L7MtB{YDx7soGNAkKWJ+(^@p;jNjWT+%fsX z^-tWSCF6IODu{d!TDyYl@M5$!7*{`T&aF)nR}*e*0L>0$rXqET()_o)DC`}_|2W=` z)^Q`F?%(MPPXWuJYTGtbsZDjtz?n%0xLCMsJr|QccXddQWXjYROv0ex_Pn_ZKn{p*>ws;Q+ptr*iy*LNLI%Ci$h2nt%&URghQn?@a9EDJ+XpoCi6|8J zNdnJa^ABhz`LFwL@~godqp|}N2IRahC%D4$#(`sH464Sp97KAwLZdMPd3=y%;;Z_V z$;HFY_IHCZ1-*F>9- zuuZ2+^y&hA4-NPETk=~v;Y+T;7&!2h>~`oj3vw50w{k2#5{jKBi`Znt57y(t50_E8 zgtx-o=S@#)Yv>I$SGk)|N^DuSQDLr!C#9c-<=msfv!)CK&CFekZ*5qZZ7Q`72SXJ4 zfL4<%3Gh2%eiHO3gJ|^T@*_wP+P?dD7v&Hjl};jYTdNBeP`5)epf-)+RZwx|%M9Bk zGh^t}(Ygpn+|KG=6$&3!>c3&xl-cPKd?JagY7!0JI$_Cb2 zmU>2aez&@dDmtqj67AAKrLR?y0yVu0@T6m8WG(FOZFd_N$B5&YOlyB{c#G4^POO>z zHlESma<+CuSM~rY9_G?&P8@$2CJ!59ex?85;$rh-hOLz*FYK!2BeZ`nJ%Q-d!73x0 zV~R$i&EJAK-P9fw#53HHZn71p7A;JGII^7%K0YXJ3k%-TLXkYI{zhSuH^)fvBM$~c4= zS*^6MC#kBZ%6>H?ztT@9F97QcI0zxq3g`T+iHphP|M{PriyEA~Iwk!t)*Ua2_#dxg zBK|eAi_^B5i-)3eC8m3ClgCs3P*Ui1Tq@lOLXtWS_FtSgY2p_sgJGG$Q;)j?smPMXCrf_P2b@*1pYhk3`pql4psB?Pw8oS-tBIJNQ(8)3xUrf_K~zqo z95ykq^1S^YlF~~e3$&P!$5?q@)l@vo_3B-wP5yI9Z%a%<$gen5oT~J>(~qJn>}g+Eo9Gf)qmNCzwO6ozleewI znkfHjOdC}JeYb*sD_-{LR+HFu=c)=+DW&R+Acg}B6ds2o8W%RcR}G{L;N-R1UPngH zA36h+8h^kp!sSUA9jqx=(?Z|MAmgVNb&zge$vJ?OYBYG|6alSio~ zu19$l$MqT`ku}mo@*FL?4pv&Wu@vn~_(SRW*IO(ty0!xEs_)tx1Uz~Lv{E5%1|>At zs)7xJWh_y*bZE8;;N_}Qfski@+U~VN_;Fs+_Yo3L8V=SA-c-$EmVCW5Z%&t25LEEx znF>h)vO+S$iHuEVM8wNEhihk6p5NK<=tv5J)nBnaasmZI(KwD(w{snMZ8MvyTzA@g zqt~Ss2*-ePV@uNh@%JMuQrS>qR%mICt7^WrgOxYK)RgkvZST14`;IY80uD|;EN*c_ z=m$*A;I6*pDU@n6*n-7Q8puhO=N0%^>lN!WxEvAZ8&+j1XD8VLe+$ePsc6l~@6-Qz zUeyTb#}{@}BP*yajnhUD78vWL;6>*Uj6hW6Ha39eq!yo49$K!gjP_Q4rGf_a>p>82 zQ-}dZ!9?{CWc#ftC5tr}ikHk|Y=rzWORAGF=9zwKl0dzaY*Mke&u4%yL#O1x8WE{WAvS6)Em0UOtBy_cK)MdZh)M1 z7iYKKMyUZSxSnOMEfSTQBmB;{P;p1`fdXUo1A<}yPdf|b%sRa2I1ykyugD!qKcL@ocmEkrY)H!GD<_X-%A#@(AOWuHkaa`Eyn^?5FDi9`JouK>^9O;5K**cwyEgpr(6LkG;J z0*iU>W5Jg%+7Z|6yuIJCU-mjqbTcS5a3jUSJ|?l3Uu}9S1Vd61IBnXB26_=Ap{8@n zk@nVHpe3O=lB#gZ3s+MqDSW4!7>GKAt**08TqEfr6Uf72)JNTvnQZ`PaQ7*$CXm{jA1mloC9=il{hvtihS0(gdto9yzG$N6IC3 zqtXzurBf}&>uQ4D_1!v0VsQUuXN?rAY``EB_%sN0l-YHaE-{KKV>*oNf!iWhP0nWK z?wFuvRZpNR1hb4ujzcUDS7{o?22z}r)dck7l=xR8msA5TV0TQ21Jrt_eHmd`jeOUdtuCMi48>`2A?W*!V@6F8E!vi99(=2I?ONS_0nNT?7 zwF{=SYCNKgt@ar*%1|>iD=<=?Uk<`U`<~H)jO6dfa<>&|O|R$=h4rbfTQ@QmrJ92} z&O7brzjk9`{+%fQc%AM0IC4i*%u`~0i1SL{001g<@^uwLb6e~t+Wih;J~ zn+liV9j;l+2JRZ_e03&zE=K#-3{pO-y(h303 zgeuARnFY{$@2KBi5=($09yB87rWFZ7;##+P!nKz=5!hexOO9c2RjuOaRe&_B1hvs`?}Oe3Ea2M3;x+hb7q&T;>kpu_UvI8l#aJ z%CE5EoX^~@94+>YT9-|R> zlEK9HXOobs)MwFR}2} z2N!gFB4ISF`((waf2SRoFM9?Ug%X4QlzGU$%RF}|(TpQ$4|vBy7jHTm2LgM1k?7H$ zl8=2|HaT?FlXsS5WM%ROWQ9!VGja^PP12+(6@4e-7#d%LeP3m$Mc^$F5bs zLxCUzNeLWe)th19Tbug~QOa9w%u@mx!QQADNFjihwnXJgKkb5P&((Q}Xl6A0C3W~pJ6^WrIq!92$lDG4 zSItc`N=ciPf2eNX^Zf8WuC%KLjLWvFrvYGWnKx6U@I?NcV^;Mdxko2GG4qyr4ZkSw z1)ZAp`^dc`)|$1XDEwED?OZnoQhU`lh}I0b1|;jT)|)azl$fLh&rj>oc^Pg-j?u|8 z?E|eTK4<1~G&8!lFY{6tx@9I(`M7GL+&kR7t937`f3PKeCM0juo|$j4QJrveCoZtM zS#|M3x7(E`xP%mmiCsT;2#IDo^?iVqr21IUO(RrZSbDQJ z9;K%iyjVtmk*FW2x$!>Eep6%@+3VtNWmKHyJ{TTLM$86*3LdeV!DvfRZ0CLlXd+`m zGO;>zt|YlO(LUp(fgUbT{ninwvSiq27vz9(k3UdLte24@7oGFQuiFmBRgh8 zi;aF$Jw_d6#?l}I?`wK`Brg;^IX9m>HH8{r%>Q*3lw^vS)h(m9rFnmm(AQ{8Sw9~xt$ZI<1-FcOgP!pz zb6-CNN)rFZQb#+SE6VC+F6Z0?RWt6Qf67x!y&R(#efpa3r~E=j!!cO;M0J~Ke>@|J zkY`SvQ}O^R&4R;B8;Ps?cx03ftmg?~TkivfC}E$HasT9s4zJ{uvldzx`l+WO#Yt{% z$=RhUiGjMmd8@r&L&@_;V795Ve~J+@#`T`yJ(E%54S2jHdh`83pqSBP`|y@sg74s? zP@=ix5sonK>P<)P@W?Os5kF7#3?5NT>^X)yNG@vyVu-C06{d8IBbvK+R>zWfBrv7B zHly`EKsA(AN>(*PTS^cLwRVA>3U(5MZ;e?7Y%srqNhc#ee@9bpEYX`J z6OdW{&P#QB&*1AmSoAze5Ba^Y1~V(KpVQr_ngO%wY|B9^Cp*IMJTT;D1bx7=8J_t& zvP^9ssFlBGzEM68wPWsH$VF{>>vuL8+|~zRgN?+b61k13#U$snh|1r2cPDr>gaDtJ zff|Hld!H;c99z~_pw~nkf17jLY1pi10zt=`nkQ>l(v?vHA$N5W`Q@}%&VB{=x3-&& zN795tBsRYsl9DBTGw^tMrku6<`mRt`g(m;gVJ);DA zwE?x~x-lF&CIpoBSThy?+5~%*=Tv){>_+VPj<8|A=_yy8S$RkPe|;rJ^UbSX6W2+C zd1cDgxjtWPauxn-;&$5&Q>}f6eWef2yI{A(I?O+wu7Hk1@Y-%lI%PVHXxN3SV8@llr3_(X{=A<}#r=4avc znl-~)1D=$K`xi5|dr>8J`m{8!F6d>8VG6q)i3%f8TbJKwe*{FXTsPcA!dW$Ik}acB zSZt(Yb9Dv*U203b&z~bJLI6q_6?y7)&fR*C3d<=3&RGvEL1}*=d_CfO4Mg2jzroxx z<@0NcMM%Td3>Z6opH3Dod#~viB($FSM)o+vH{VoOoFngTJxWl_Qhyo42kSK$ zxT~zwV+TDxe~Cw$^r>vT|Addr^3=MKG-6FL?Zj5CF+-A(;7L_kdxs)8xr4`ycd>HkFn>| z^b|~N_#}hdm4Xv*>XA7kdFq>xZ~o4CPyTp^3NS4ze`%BwxoGoVzz(rz{kC>67B00i zSZVW%8G}_l*LuZP(;7*~(#B2>I`28FOdah(G+L{(>1UKRgvJPR<@+efUz3kZbL9s< z`uv?$8av-~Tc_k(zfTI2j^rhnutVtWo4=#yV%9H!phI${R^F9rWb9VUBJ^~*ZfILS zi8>OLe|lnRuet5BlC!*NcW>IKQGr_aaJjpdV7zigL9F$ctQj2Y7c#N{q4Uv7G{@-X z-TGkgrS)Ah+W%x#jDkqsVcwcd&ZRBYV}Yy5b>kf_8LOF&6^%@f*`T?vd{f#o`B0FQ zxPDT*SZFAwdKv<5ok3Ibc{NVeV;~Yo;rfYTds(}})uR!v03Fq%% zCrUr-qX!@kx*Q`UlbMu{n!D^K1fqH=VywM`WE8Nc)>^~)!75ub;N-m1B1Uuf#LAyz ze`ZRl&fEu*8pgQBsM8Y~O9_}zuk{0LFslcci7L@*_X6sw)GG~(2oc*}&j3Cpy+dD( zZP~vAosl{OgKRUf_g)T2s(5&h(jr;e8N z%_J)n#^hOWYtz5=J_GTYbvc-4-g2Hbe@4fVCAptvtiB)uHGlkUgY?f=wU&BV(f#dyc`LoA&63 zi-Vso$3TmHnSmRl&%%s2BK_dctjAmC-amYd+b4CETn+-MoEtQG{|>69W}q9Ne^kwN zJq=~glH4Ye3s@*p^U1Mfhfh!-OqCfw81P=@Cp80ASfU##8CZ*)0o(tXc8Ki`%$;wl zyCo{7{2eQun4b?2SN1NnZLqp$Oh~CBV%xlf!Pc9*Nt;TXMyW$Kc(G)=kfa6I%GKF) zfXJ#CK#x00?^**rEVtg*vM<@|f8vhUQF!pGr@>olHJ%bSMaB;}&T6D{hYVC@#<-aG zZ-#IE&H-|o8ELJNa1iC(4$fKf^L?0{po{f8U_!`iQ-TYstqrZk7=$^7jg%Pl4@6<} z5r2T+maHZH=tXiSZsT)a!+^^fsFO(ijxh>0bFGERzwAUA4&_$$JNSqde~Y(dn2;%1 zk+9ZRfQe=wlpYmeq7Uk8^CnrhWu?I{LE7aQcBjJ?bDIUlI=({!GF|JY>$0BEwRhxe z#HsU5(Fz`Uvh+`({7Um-;edOplQkI4_q=~dCKo`xsi;`?g+tD|fL`USS(Zm4Ao%Xy zr?fwfi03rFj}{A!oX0`oe>l{x!m_HOskEhk2ZYJJgO;ap8#>ZVb0Q>#Ed_#)S~ul; z$~aPjIU}pRW<@s4q#U!nx84VXEiKQf?g6603u2!++)%^!dcNfe~vpeXpX_4 zl9sBr@)|znenWYsFLXU^FgzzlQ-#l$zDW@MpY8)ST6Z*q@I0UTsit03n{IR*wJBXiuW4==37fcGLh zYKhct&KicP^B9W$FukR|W_imrVx}zco>;goYCMi z^6PiR@VmzW_mtb#V`N?176VU&m&)JKTe(lxK6+30@8A<}jiiyO_)7kc7)pOr91x9_ zvZr;BObg{uV)M)stkw#JNzH&$q9!9HY}M8WqWjI=Bu}7sRPF;fE+LWp9RRDuTh1q# zPTw+;ecj1ze-O;b8`bZS;FeFx`~(n5iJU}Mna-yiW#*^`C)e-~5EZQuzrzc5OqyB1rG4+UFi zK~vpNXYzH-)3CJkH3`=emS7)?VNlyaW|0b(fdq?qq*9R{z z)y`>Of6I2_TN>sEi0`#|N%o*h(l<#}TcuUT80Ep1CI=;O-BF_4hyxegAO zJtG*4wEUE@PE`#sr+H3Cbw_%xi~Is|x|$nbhVh>g7JkP07AH>BF2`8W#4D?e9gQP$ z45K1rY4rQ6E75eVK#tn)qn$%m>yI%qm^FhLe+6k;LP((@?aF?G+lQsj(zdWq_G;3_wLj!{B%B=X zR7!Tl2zh?=is6~m7>$9j%cn$vfA0g7_uU0>f#2EMcF{U_Nm~pNyPA~T*D5t$eNGQ? z(~Kv28m^Yy@dub)=EQC5r(%R$1NK2if7zD9-I$rX<$$EltS`yr)Yb1OEWa|tj&Jd$ z(@>823@X}`%xLEF#?Tc9$!Ct)kSM1f1*Q-Q%`x6*&vm;Lz_!&1wBEg0mrFP=b8WP^ zRA_2{7XFpB*o#(a9kW|il6I~Da*`sg)e-CUP3!!y1v!DW-$<0al@3t}PA%6te^r$_ zUHPU~Kqroz8;-Ln?^6m^Y3vbSPPRrXojP+Q{F2%`xa1JZ)jm)mjhZ@tM+1s4s{^H@ zjHBlE5S{FGqmL9x=NJ`3iP8}TRzp$V)ZowBmRtkWzT(mKJ4jgDMp|`{?5Ycrm#$9v zv|VH2+SjX~Vdp3%|6#xKD?r^|e;E_<>$<9!rdVG}AJZ=x5_~N+>zBxBYB7Af9OV2R z=pAUkdK$@znE62JL7gH0j#=%jWzy&R49_&-Fa69HXq^xN=|5xSM+K z%qumT`)!5}Ob)!2g@0yVa~0qL#;Nxa#@P~)yJ~rl?S~eUrsr@ClHEYSI ziST6Ilv0FGM<>CNZfEw9e_koLJ^i_rO}->fbzK!N_pDcOiq`QcEt;8hC6Vi@HwD^* zg=~pzY-(k;zu;|-!5@;grMUXLy$=$(ww~MJ1n1e_n9=XD?AC!{`tr2vhIX-Lz1xUc z{{u^*SUq(wx8#vgoOK_DQ2!3Z+>!b~`_&_3Pb;9`anBn=P68!Zf4z?lB0QOr`7vkx z+=`c4U^&MqZD_0JIJ7#?djZkw+514DEpT@I&iPPym}{-+N+YjU?Z9M!@@ZhNy?0I> zIa^ckB=$s`torg8mcOGyEd7P`6dz4YJqd(wJ`HEKJ`43bzg+dH`L2OY$X#{8a@+l`fW)b1sDf1)#uxotNEK)E`q7nGZoh9v=Yul**zM32_)MNgrCp(RY^%v!-Z zvLN$)l;tS@toPB580le3^x;SwNoE%!s(**>&rH7FC2vP4f9C}1UsH1FQ&MNn%pT1I zCI7_Hs=Wj22vCu;eqg&uuDuN=>zyo#dSigjm#%U%kF;XFf6tTa+Iz=U|4e=Dj=^x2 zYXD#j&Yi!5ktJg&8_%fu4{&+&4okaiPr35+%}9Xf%c_wb#D~&zlTS`gK ziqx;(6q%^-aZ1k7a{h~?b2;(^Y?nOsFG!2bsHrU(4IS!tm|{nAo9KyvktNq!9;FeI zSOo6i_W3)kf90%-0l#+ruC^PSK5i%9ezP{z^#1A z!s+FzGhP1Jaq?~1o@+)Lw`GULOpPSqEihFxSe=o~xk5fq-Mes8=+xZlL!u@=e+S)p z>uXJl_ly$Yr5h2&dKw5~R{|(%#!FCkmB_wc6S)sIk-3bZZ<}c6)ni1=GAFSqOnRi% zNur~9f3D7U*axYvHyN8`iQjf%<@63okU!@h-BncezE)Q)Pg-lOMtW|Iw9B9NiteYn zzkDB#US}(0(_C};wc)Fn4mGz!AGOwe2c$z{WVQoMeDZPWqws2U`gX#gC(2-ukT+wF z6xg(6PH*F2NTt{NoXZG8retNS<_Xr?Qq4h)f4P*5W?pl<;8*(wyoM>3mffXLBM}hW zg%>BI9-9nDS1FLdM%;7OY6#nYvHjihs; ze|By8JMwmT;%f~ULRadyUF(i3H4;=dezDRN{+(r&@1tG8(X-}y2s+o?(B{o~>iJmw zpPT_~QTKRL1&tag*MJrMNz|*T7@IHGnyox1&Kt|=ea*8lVupLxmP3MKVXYIqBOIKP z!)r%D*B!|Kf4SAUqB^%XYlDv6=x*x{eD@l-9I}%A()OF?id zGug^^S7z4`?vfHZTjlTU?~VZOf{^VQX&&;WFDdF7InTT?*s$7y)(jj3QOJ}WK$R^y z)idRn6PyIst*22*ise%R-<9^kZb<>|bIbs{r-a&Rl<3YHJTd~fAIko+s(DD(w21d% zCnly5GX$o))V+`}2xIDf4)#HEe@yR(PP}RF><3==tl=Qh11b0Qscl7Oz8TTrZ#`yo z8%*2f#2?aD0HQAR9rdOsEWwmFhMp(zML9--F1g@$5%ekXe0ZB~zG^vt^YoU!QrvUwAOzKgAkhv(Cd*O3(m`*l9>7v>m1f1$0u0^}q? zokq9mO$;NR=3wa(U;AL(^mA7E94z8b*4LAuY44{ETIkvbho~ivv7DQ@c3NDAPK?S` za?J6C@#BCbI1_cG&X-eNXIqycJdO3`NL&n8&A_dV-YX?6inN}<27$H8sv$uP-A|Lt zNj_pMkpnoGGf=XVF_c4{f4FpLj#1IuU*Vw}SXu!G9uAYMr>T1s#%YP>TDb-)$Q#pm zD4uI>`{S|S=8WPTXy&?>2e$XMq^&%zl6RsRbc|57R2o+AAGE)@1{i8#Vrva>gRjY+ zizns7B&{(_b&$`NsB^8megI2BnRCp7;4I%qx<<6K$H@MdWk!knl?|}#fAv0_eV8nK#|YVFj*``_ zSTScU;fT2?e@A}3_qCivN7;^T8Ep>oX%GngrV^ozw>+c-Aj9%$19Fo)Q2-k}JjYxj z!MUqOvb^``E=QU*0??6I8*)Vjxaj$s!LH^m;}nMqa>}B{Fdd$Kn;qEt)2CJPfO<05 z05k%XTK*0;f5xmuzyq&mPVU4**gdl^2fva3QNP1Gyl1V|!PDzre|&A%bKWI*r4$d{HCP-9FVmSjHEtZV$SOVGQtLA1)of+MSJzdI?(dI{E7LH4+*WMx0(T|L6VAj7KU)JD!$>GMEe_~|*Tp3qJp8HmPl4JDq%i3i$ zW~}J?3Oo$nRNeLR;a_^vz~w0vuYE21qfW1O)p^q`ATz5l@M1M}<}mub_n$#MtfRmAdSlOa;+ICc6QEfl9K3I>ok#(pA*vk$SQ4UF?9-O{tmw_ zqeUlNe>N_g8e_zow;8+u6D4;DBtcgw^UoDU=G?Si`?8{X638Ow+!$jSkLT;+o+%3j z@>#Ym*IFd)@nww4$GjI1_h}@WyBDirSMbTIBDc@|rm^HJbI9j&!j6}x9{GVVajlMw z+LCNb@^)I&O_{rOaQ13DDe_AaWg_LD&Kn2Ld ze`gH;1m|m(H@Vn52dJJVqjx2PJvJdOW$qo4Gov053)7mGok)a8Ql4N+^y-^whQUab z+o{4I@mIaisQu6W!E#yJUgoI>LqW%wPg66S(PP$@bDH~LBm|Q47uepNl{SUWCVQ{- z=wFh)<|!F$2iL3@-@A7_l$-7hH3rIUf1mP{sMgnNJjWp`goo711QM+H;i2@0vu-R^_-LlPljpi-wf=diAj}x?d0Z+f^JYRg#k8wgQ?XOxt4{QZ9r=Oa!}QgY#0s9i-@EBC6iFeF`Tg(~@` z&NF^T@>1Plof5Tc@QJ07^r^%Ie^t8*dPjj+OZ4eVgvtdZs^MYH4GjmzfRyN5n4BZL zug{qlm#R?5zJF&#J!-${%PQ(#-UkVQ@0T$WxVZ*gncky_;f9G{Z;Hd1j%^9YF~6L^ zE!1g^dD1SuIs+HC)@_E#?YX93e~p|`#<(ujGfKB=2JCJK?374jBo0!ae+d?Lou5ne z4Vt>1rm;$6^Dw;8J3R*4J~PsnE`SJ4>vtxx+q@SrK)ewYr_g>OcTuX3H^5vApL-h7zDJ$7pum zI>Zg^;O7`Y$V8v9x^M4{e}gLl>M!O*%Qe@Bn&d!G75P9p0luLXl* zW(Y~1TV@1EKCIZB!3N^obE6HCYvNjdF?jN6stPhQm_n%cQTNf64LHMZI6HHU>b~>= zFA1P4tLPy!;GTNcfA|x#YF1aES91(p$P>H&96qJ{t?h$TC)3PPDw9xvl=~V-ZdVgs zm!_Z@SH9GWH0Fmy*z#Q~>M$x+ObN_u-`g(X>&owQ&Cmp?#bkL9;^*&-J}Eu7RS-YF z+=Ue_BhJ^g1KQ=jz91JXlcKEe31k*?Bf(2hT5Qmypzw-&e|tz!_JlV@f~2ZvFgoDX z>KHRhu4Ao9UYhjAn+}O+-WSPpFU*25F3tK1B%?=1u8yQ;er;ng)K;FBDi|Gm;@&2C zV(^W9FeEzU<_sQEIfd&q#;s5|t|4iLO%gRjr4vckXQDSrMm5j%-|lM?*o>;N;TQ1= zN*|Cs^d87veEyYOaWx z89-o^N2${4!IF;~gXE2)J%5LVG?xcv40gK8zQ9yEkA3F2nvxIoJ|x*E($f?i6l$DA zSHWHb_VBBa7RC(rz|edo>U{caj~cnwJHC!C5cNLde+rqw)w76QRX9761r9Rzf$H|P zFzBe?umDy(gai*$-DV^j*%We~WWFUw$B^LgI_phmHACgO8p9|rbS;VgfPI2>8fX63 z?`U0^837H@CAbT9MDm8tc}t6rq2&tnkE$aK0?90dl&rm zRTt`ae=eFl&nd!R5S99!6&+-CoF8F1-foYS%PNZC*-78=KVRto6O{uzu&#Ejmx|fu*Dn z5Lzc<^(e+r60L#CuP4D-+A|p4ulwHS6=WrVf2YaI^eH*ut}4?t#=zI6CRa(5Ib?5% zAGRWzBnO8w@A?bkwAjki$n6HU~+Dkj<)3$7=v%U_1mTMOrM2oe@}(p^fU!c zW#N;Imf5A>bdJJQQhSs^>?$csl|eim#eF6yCLdf3XC%tA-u*l0r*D}-DYz7-1P3in zf97J!9})?Z(k?1})o_#+yX(rMC_YXj3Di%{T9@za#A^m$Fq*mpsy8c-p9DOy;#DLZ z%8KHUpmIx_9RIdvG52~OK&dsYTUt-dF26RmjqGs%$^e&EsEHwY0G#9uU^Me=-=D}G z%M0~1wU-q``9-o zDO4io(?kX<^KEV#6;~vSQ?q2yzKT`)8oHG5FKe>-&cL8TJx=I^Y{9ljf=6@ ztXEtq{S`JQN}d zBl2tGyjt4sJ@lf=i1YnenTcsZ@@29D_Hm~U_Uceb;%isjpTrHEJ_bjotNx7HK^jy0 z%VX#tQhR6AmsE{3M+!q=f1#2|z^^m%Ljuy+zax2=v2|Mtt9og^5sGdPOaNOFu6De@ zrQ=h2hp{dkP+v|Ui6^nf>Ttz%#H@Rcvx$KrXU)+<22xKOz5WVWDyXc{UhYJfV|SG@ z1{+H5YZC0>rIlSkD*5wGsU%&%bJjegLcN*+Tyjg;-VikPG^6MozA_d#XlhiAsBsq>>)pUIW8R=<#)4D>?Lm%5OCBv_0K4KyU`F-r3d zDurZqVo%($DU^Q046ajUS*j!w9JxALKB5z?bpz6&NK>M$Anj2fbkZ|B$LMRAzB3*h z7FVu;oP>Z?Jxy=Rf4PuxkH>p7_)JYPP#Zn#_tv%8p2pwL2nLM79TX+!2I-!634&Zc za_;yE${;;3{a3LQ{*US)qw_<`za3IWvCr36J(e;?g)Gke5<9V`_Ju>@hbvPw^k71K1=i);mR8}Ov z!s-UBIxu5c8)?Ure3G@n7%=OMl&GRXVwr2LdC8jAI`t}DpPFxjLdVN@HZ6#%&ZDQ0#Z7x!hJMn%9`j}C4#sbkFj=9%J?%%= zdm+70egrkrPa7oQx#ML7RQcDNO3E*-tF%YQeVk*&wW|sXCVHXa^3;Fu)ntTL-wdI& z+#$NziRje~RKV`NI%-zA!Z~Iz=H!=CER%KB4<$a}z4F}GLnUnMz;J_ ze{+MlISXNI2Kv5a6vtiag6^lO+sY`;(}Ba7Su=o-|0MQn05qS4p%tc~DiSm2??2hq z!PN|U-z7>elDz|PAJ#AJ9Y3O#cFtOD ztP+!YAD~K1r!9dK&F{18gq0a~5KX|&e;)JoE9d}m^zA&zQ8WHF(hk`XMsi``Q1X`1 z{d#}pU2+UQ;+9Z~tz8bigO@ww8vFVRn0@aVA4R1t!JSV-WP`z~ zp2j5qV)G#bnfv}xMoGcs)ASQhOBG)NSZ98P^Ln|T>uCh@p6_!hsmfT5TnXzof8P{8 z($S|;nSvZ{%s_Slbn>1Ooo6!V`ntVPj?~#!EXnMxv+%k>%5JryAbU?mt2u*B*?UUF ziq`57o6=#;pAGV=}82>_69swsB%^+iQL+Ck=75OLl! zp7?sJzRCNCI(h;X)~rRTf&EglV@b?etAu-He&IE}@X+Rt$GPPY*Y8Z;exnxO1vduTEio`*`tusUFs#S8i?<^sYvv{%|FYUbbTdG-$pz{J#g1sYSC>r*_ zkLFj{oUM#Ky)4d`6TGd;3iA7CK&RZe<|cwJ#n6&3hz?{ZN{Vw0e{8AjkHL{qSC{!L zO6RRNYRv#m@zpo2R;KsI{`6It`6*e z*CMCBI&x; z8nAderiu#-PPO(Z%=&H4JxU^1T_+gpCFi*%yqt{lDH4BY9|3ECr#Dd`B)(m)fv(hB zq8VUX=)_!|=O91JwSHc_mbzuoR!noEYk}?2^W{#Yj+AcI_ko5@c0Ar3k14ZoB)YAa zZK){&=9iYRf4qx3(C=U-O_TwN+SvT20!&ldqm&!ghWtKk&bc}&fk46pU#SmR%3Zw% zSE{o~uBZ^#oOa?{t?xVasO~9b{WOU7^Z~VtLw}QR3UQ;Fv%dD|^_TUuNHDBi-9MsB z$V~fp@bqSMA0rt(mS@|&)W|p{4M!_~$I>W3t@q*Ye}l-U1YRxUu*ir9n_G?nI!%j9 z^{d!MYGna4yS|=Af}tWMz|R@Y)AI3)AN-zYJQ#Iv4;XXf6GstpTdG5%A4$zkA3|L9 zDH+W_b62_KmduwZL*u=d6+I-}nfx70I$8T7HmWKnXRzv0l65R^G~eKX^*ig{T_gCj zBa@O}e|xhNTl0~qovPna_|M}`3A-WlCHg2dPovDf;c$;#Z+M7KQi-bO6qYuEcoA&e$S ze=!4bZBVWwCHfua?F^aT-6`;E4z}6a@so1nSKbSgjNY33Nc7Z87^UW>Mj8UUB!g!s z*BVnY7K*wX@w~otDa@y7+FCtnbU5JgrzfuG^0XBnzA^fD^*0@G$IMj^|2R8l17_)GNihbzZcE-DEK#)v;0(40$+%gY1czL$|J}>Ob8H3c8LG!9Sjc7O;DT{UT3x5dO zece#Xf}Gyc&Y61$I+AwIQz8zm^;msvR0dGNDRIxfN{i_O|Jm|(hWz>x37$s3f5ptk zlAyg$9YQiC8ff4JG*7QtD@@gPG9_xgGMXpygkYvT2@;sOE1#yaE~_p;5UoM(cX@A#5BIhA!RG*S%kM+t zHp$-^*vZt&QrOw^9s}R?$gZuUe-L{FKI(T6aDUlVn4o~ebIhW~CHLq&Sef&8a5ptN zLyGc={<(fxt~lQ<0hJ8DUjV}Pn`UTVKX$M>#U?CbPCrd8!h zRsl~d8!6-0B=Ehd`4DE`(jFDS&;cUX&7=VUYOObJW6yfzj1nP<6ZA_}f7!HQAIR7( ziR!4l=g{p!66f4jVTzV)H!Q3oF)@6X7+T$gt82oq#Et zNeu>{<-OJnPIak0>l4p*TZ5wwMn)&6YZQd!SwQT*w|*PJysY4xhH_~uKpMZWpR$#U%bX{_6fu6z(E@^kWcAhz>tf8%ijHYsiSahY`- zmgIA0=1x&2Yb<9V+`G(WaRJ=e2BpbWpYpS6tzn+zMfzzzT~a%M&)$(~Cxf4Ib&r60{gv==8a^1Lj$qM~&vIP!vCqC!y z9B7P~P+}Go@^tS)e`Ah8a#m~bbhdjZJ~2gRu3C}8)Ly7+K$XM!I{=rQJy_bD7E81XBAhmX-aUR_T1?6wQI3z_L+-aqG_!I*R+WvR+(PY#vO8?Rz= zu!@Bshba4CNU*Hcn~t7!>0|JUZtX9Spk~W2$J4_kQ@Y4T%iO$@)4?GHgd;JbJEV-GKyk7d!q-43BSu-U2^W3tY>BA1XXZ~mOC}~tO2^%TD zDfjr3w;5s}9ddI;XX&5b@p4lbP3ui@UWt*mgzim^lFrr&u zuk>>7#1-T-eGF(dSmLrRktaU4%))*2#zW3iD+=r{y3rDyNpsy+oPu8@VgYGeYOxLF zmfutlK1jrxfuIMz*_0?J${0RwzLDjxF>2+n%&2`-f5e}O3y{OOABmVooWY&x-%&o7 zIZBamHR(M@=DWY#uD^0(i?k7iSj%s!R(?(2S<#<%>#46*28q1Xx(Nkjk1BN9lh}Y5p&Fm z%Pl3Ee=wcNIt;I^@NuiB!P(tflV5m?T2nya?HM1{I#Kkiz5?Vvz-O(fTo%x4j{%*` zy)!F}T@x2A-Y|XAvcvo0Yu6g^m>70-I}a3ocIU(YAd`}nX!9M;J30MGxO1glNR-R; z44~ta-_jlPh36D&?3apBlD8)9u@9iqa3++te9M`Vs9XRIZ)t!~qU6~Un;V+aOKl2TnbDnAG ze~{!pK!SmBquxjMN9-jfNM*l_nUOo@H`SkmxsgxXZ{KFUBj@=t2Iwcx52I?yjE!80 zf9P$Tv!11fTD$1#p*=*sDaPIG;yn09ScAE* zQKv&%*V7i*=Zxlo^J$upI%Lu8B5NMzWjCnogL!n>&dBM!sDR4Kx_Q-FrN092W37(a zD9IS>nSD_`4!M{sDou<|v{py$zi#6xfkR1*GgtF=rFE-|=wRWlr^)|t8B)Ucf9O+! zsVh6D%i5_SNye#pJ2acf9fJ7mN=ykVw|8^b&KPPLYBlR!JU+7`D#5ACTv7gldZK*V zDUj7;K5r&CyX;aw;tgM_u;$S~GO-b}aH6bU&H7liO8Fw;iRV{1SfgpJ z&xeAUj5I=jk4lM}!Rgd*xo+CNe=s+4j8cS*f>JKdPmh_tup4Vw`h{_KR<*QM$HfQ9 zgbXC-w!9Six5N#U=jT*Ql$8zoLI|85`83eQzMUmP8}Bm93}O1Ir|D|AWh`JM@*kOf znXget(ogf@5`j0XK+>x+XRvnnc=Z8eBjh)=&>GX^(=O24+EokA?lWKAx5tYkR`&qG=@3ss4my2rp%lua%pE}BuYA7Xa zu8eUlci6zpNH3$??ki_4KX^>f`kjX!r-@ut!6DI9mJrEwX8b^xt`BCm{2gtWzWmN5 zaF|~XI&jL0-eokmOkJfVf54Y4oQ7oh_VRs{2sjKi>nFXF5kS3&F(KublRe46;|e_Y;_Miac+veNJ> zDniQB$iRQ5y#vK1oYymOGo|0SV2Ajk51<3Dv>+E97tuuJn;v)Nmno6Q$k_UVg%+4O z$3S8xmKrU=05sGX$-`sG-79zi!kS}b*n7W86jUvGE`f6^-;83pb+gNv+ZpinO(r|O&( zHq;JLF@)ebpQhit$<+)7S7yeDSCorr)oYAutL`_oa_XP?P4&6ZNi$dU3FeTQl$AtP zRn35B)On^AwXt?`ImWk6)Dbkr4MA&;f%(Zk#VZ8fkqnOV;h667`w0KNb6?{T5J$={ zCpCs}f3W5To!I^yj;hC=)luuH#miep?|K|~J?oPPRF=?yyKJdlbfx2#MtI;#gsk8;)iyQ@1$)LPYTw$7MQ6Mvxo z_Sx)f>tM#tSQ?4Ae_324IEd3yt<=sQ-kDiS|3C$VzbmW;=*n^b78 z=q6T@2#9slgDEXy5|Hw}-UoTdo^cnADup&uAKZd7NJ+W%mafA=W?Izly6bAwnr6A82GY>(X}$1Hkk^wVgH zE%%$OmHMQ78upvS7Om=xI4wCwHBr_?uE&9{rRN5f)>=$c#qLC<8d241T7#$FQT?XE zvqFtEYy1>n?%)faBDwaU7E#IMj#t)=b)%~4u%VEP>q_;^tZM#ACe`ExZ za=D?G%rP%i^>s=%y|`Yv<1we-&h$Q@ceKLF-?^K0YBB0fd)C^$+kF5&>t5LOi4=RO z_Yql_a!iS~Uzr_)FIM4_zr!VHOo{Bm?aP}&i%FB#3>2NWZK;%0x}*z3Pl-&*mv8#Qbd+A`_I4Pul7@c0cl?^< zi{*fA_r52B2yg7oMOW{m-*5L-#N6c5)qN@+BQ26^Ekq!GT)#8uViL8tvG3n`&wp)` z^7h1!lEA#=45q;!Qn!qZ{FmBt5_f%%IrVeR-7AOPo}T;fDXdy+fM?;6$ayF~TQtwM zz8O>IHPt1#n935u8sS~@{OIc2>_nR`Ltl10Sn`^ltDw2 zjJo5O=IG^@!$5ar%x+U2w(hxi)XRvF<_s``^;yui=|}_~+VC$OqQD06Eaa&_-csVZ zIwVK>CEKy;A=XbD)CeuXbC0|WVZO|K$#!wl zGcG0(sm`cotwc@Td)ctSsMwC`cE;m5sLWyw=sgjPmYg?0(He8tekc3oKtr(;^J#Dv zIzi>r0Q56!<^IE|RQinsim7x63YFWH-p8)!9m8_Y0KPXd!Mi90hkq)^obI_gb1M6A zBA4EQLBa7^ntaDM)j4Dm#SnEnlgMJ{+~^6FQ#EUSxn)^O^3)5{jAt~H4qRH4` zljrJSvhK)_w%CfJav#XCbk(1l(EF9Oq&s5N_E@wOL}rsaM1Q^nNk^>#*zKOZA$INB zK8Yvy_v(N0o1!S(6S1~~A-Xea1`^`nS}DPG=jvRqIXxD1(a$ZjNpOZ@>-jX)!dhb1?+74h zLXi^AS;nH}!*3j*9K#~d%=f-s_wHgwqK`nX=+204&Bv&EW|j5;ctHWy+=!ZOcIV5u zfNG339NnpMKU9n!d6yh4^0r40wYC|l7YmW$&hKMWBxrl7%_mLIZTcVt)>+5$$RmTtZ3u|3QzjR-9 z>~q$9nMMQcJQjheTAho>kZ7R&Iv#WGUhEjcy`?SbWMfM6$+zB{(N&e+?aJ(>)FFzf zvYrlJL4Ri}NM00AyeT$Sqe@d8Qhm)xNuu#r?J5!^uwNuBgd=BwyEY@}&<7xeb=T{- z#ooy^a4%uPsNcb3hTEznBVw0KxZ?EoPOc8!;(zmLG*#M(2ZE+;&99&@kN?f54M=XT z0gp)ogdU^%Cf8bF((TBdXiqI^9|-SQ?H+@JE`Kd={j#y5Suyv4LiJ{R7kW}3RhBBUOwDvkhl~pL?iVT_t(d3B;L`3r`W_s{XMH)nAW>cSDpoJbnph{m^X}9|Bn6#8S6acW!m=FpGuWw-Hq;fG+8~j z^S*ys1BjBe6ET0j=8WbYNK+}&dQ$@$;l-%=f``QjfPE(Q=nSZosEK0+d`eW9s5V4< zemRBJ?>_Y~W(wc)eNL#OJU>cpXS5F%Wo7UtKHcYr2Be2l->7hO=Gehd1+~_&$Lw_(J zQG3V1B2J{=;c;KI*!dhthnh8Oy%}bXQ}t(Nz7G}g$UyRGSgw0tpC_JWh^sP=l= z1&ot1;zP2WC7omNy?=R{2vhd*IkXrRZ_TGcZzlfW(6&i}Imd_)XSC?x6`bjBV`LW3 ztM8+Gqf)^-r*ar*3Tq9lw772Vs(%v>=E&MHS&SF+CEjQ7$0`8%GM_X1R$@P3Yg>fAG~e5$!vvvT-!%{8YI62A8%>l@V?`wDf}>nI2p zkSmIn0O@YM=|i?JYaSqiHAl_gK`_ufGP;|&7xH%`V|lza0~roDjFdperGJNf%5cyk zIc8?9*FASWb#O`i^@(|T&vS}7@Q$IVe#gCZCZ5MjGzz+!0T$&mS$Y-8A(kp_N%B0N`Q>;loy$4pG0r`A2)1Uy z!JOO756yLZ<6les4xTPGRez-|NmLv68sHpGzg`%LBc4x_8$)+dvnD|wm=c>Od+@mc zb;8ZH9#&#jp0FR^JjDDRE@0XRC*>x?kYh$y!~8y6XSur?Lsd1qK3$2JAnye<9Aew~ zG*z>STy);x0#b*3#B?*ybYi$srd_|I0p2TPC|Wk$K8YA0p+)kWVt-QWxY#*!Wim>A zYV_Ag^K%whZas?D32R%ukJ9Nzl7WfwoU<(W&?!^eKNw*0pt&QfO$L8UuNy zdMhO&w3)9zm2NeA;fX~Vq&=U8bFp>2UZ#THImWG>7V){N+D*Sih}eCW`x+65a76vi zrsTVKJV0!-gy`=kK7YFA)8Jj&M%ok&eUYe}ZQBKj8R$s;4$0a(QQB8{CC5-!egCLd zkuT3N`i`|Nwh!Kj)JQJv?nrj>z|KSiDXYF~rcg5wHgwgdgep(0?g{&~XM~C5<({dh zoyrsviHX8^l;h)SKW9GDP3pL&`o($;!M;sNDuj?v>fBPAm@Hf7`#HbVeCb)w4q#wT7Qy3@K! z_N961Re#DuW~a7PZ@uQtbbTfb7xPUai@JXM!u{OY@(WGzn$|kWySvbexjdPQwbpVh z&2FqI!AEni9HY7;J+Mm~_(o!0@+DBt`839VMouqY4tFNU@G&yqctN@0)XOo~v}FeO z8VqOsrYc-i1Ju)&8GT~jb1LsqdgmCZ*W|pyO@EQ?BR%0gg_xK5Gz~}6 zo4T&i@-g-G$R=gQ&IM!E2+8Y$)y?|)i+>09NQ?~0M~9}I^?u*B+*OyXL`Ea7OT~3{ zS#bTjw#)J+;ht7CI0@2*T7w~RPGj9j7Ai4jtt4l#+QvQ@lGjpMQWE;0(9a|*+LL^m zYV@nHI8W}WZg#OlhD4|2$A9}3NEF(ZCMS8R0O}dM^yUeTWXv#Ob9L}Qz3;iA4}TP! z73cFbxSFziNz|y-jXor%9cP=wp)2e@@~VegxUf`73@O%=A(@WSMs+9Y%c2@Z%t%72pJUAgD1<#HrUa&8AkyB-78SlL*=b5P6qG@;IS z<()?)Z(8eK7!q;Vd{f~VqMG%DNv-UvU+|vRp~k48->=jM@=ss(+h~niH@e>ui!NJ? zWYXL?cNIOJs8?fP@Cpq?ay=7G$2COaUnm`tms-JG1Ej-w*Bi5FeUr1ESAUJ_bH~e< z=;%;ujc)c)nIYV;c2(tehvZH7<7%yfxt26rhk%VsyKxlhGXy}JO&9wNoDRx*Z>the%^%rsfwDx#Te>+ zKv5hOtMN2^V3k8265+gvp^&(Qt7?`69`?(uMgF&1H`lDATDA+WCD@4i3WF8_r%|i{ zbjp26O+HSx>i--gAAeBH2(sRXE2C^!m}G4yON;3sgUP1$^&Op%GPRn4zUkTN2xfis zPs}yohi8qNF&dAh?ZVuGfXH>Tsk~Cn4fk2b#VC*o(?hNSB5N)E@@Xo%-en)$hqauR zH!bSS<=oKnBx{{o^ic_r>&Ap$(xcQxpiz6C#&jsGA(#|ym4DRaJm*(3TN$(Q-}5X$ ztZ}qz-A0G_$|68nC@#-?f#jL7Cu7{&J!@1Xk3K*Ag{dk5JZUtL2T_a2jP`;U<>Aer;^`%(7$269}++>Uj zA2LeuL>*Fx%;-NWLud@ftKyo_WMcT}xo*oHoZ-2AZO~1%G;`#CkA;sJOIyNswihZD~0l_@{GjGI#x^3emFTh#3qT^4tfC$K)0BceE{P zP0ssBUYud@P1v>SX(#Y=Yb1f-rFDoRh3w}lqzhYA%%npCHIcXGi7qC6j8WWSdO2%e zXd&nQ&g`~N?ZW#=ek93_aXIDc@Joc8YX(3v+<&Q**u0fT_dBX$+ImtfBmR|7gY;;d z;(}bscokX^N%^|70IwK?b^rKm!?1}Nki53STdEI$nkdu}$pBB**Cr8*t+hrk0|b&| z24C7#XW?;wJY>#l*2tb-yPj(YBW*}vAt>uNj5rQ>6g9A5qufai+=b6)A z=2_Lbh$=M>>{AalxaPee;R%D0`wcFQ;a97JkSyzv%>V>EV>NPP4=Iy;+Vv1bF9}*W zHP0!*BU3oS?okAtPoZ>3kmfK1#Y0IieSsG=E&i z6Ce7^usd@G^GolflwiOsb}zr9t5n)ZByQ*22Ox86)g7Ylpho)y3pi|v3oz!3wXTu~ zkL9D@XS90FjIAw12df&n+M-a&xD$rCeC_}q(ncid)_iD z(9f5ru>mqy4YzW?(zeu~_j6@VTz@%jcUuS9fY!>mi^|+*$6X#HlTr-Ao+hwd)oZrL z^wN2`RtGOZqZuCPOJL1&jD9_t4}Ku0dwiL}CYqLCLE7$%y@Qi%Z7V>LDITJl+wgxf zm-9FlG040zG;5PV&8Hn8FFj^3G3CA<1PJ|2bzRwdC!$Km4p%c!()&*Pntvgr%|q(9 zbGc_PQ|6wwKwuqn8q;Tz%Ti04Z+cVK+U-&8OS|8#lpY!LlRaz%w#fSGI7IHB7nA4n-nnq!=+ z+*N>ApX7{FxkguI))%5)z`0Hdb;WFk|=97|-PD6FFo=>QN^xlW9o_(BAX>GlY5kXvZu{AKwPSMat5$pRXtz^Ai0S?Lqai0 zFx1n;eQsy2^*|bC?(oSD$|~)Vo#Tn-*?zlb5(Of0ryt8vbCc5RNQp6{DkaAZIC*|; zp3KqO1`F-%Rb)?=H{5$#O&_(OP zU9(o@vn1*jvh%ZBG+1h&6ash-BU&nqI{YNQ`(77e#u-cmK?wlF3NMd;cH79b^yb_ z+_c;FxvGB7?;Ij#dFpk9LG4@bvz?HOd28;kcSla2qgb-njW46Jx_$>?DI8Tv1QsMV zQ!)|)`7~6k?|&SfY^T45%$VC!?-Ly8w zg^}2OK`~vn^A09i`*)=J&@$KioNBH!^B|4#*?U)E5?G6S6G@}WhOA#e=<3VmX=Fsp zG}YWtQDN9m$poX4I$klU0@NM@xshk#+QfTvzo~su+<%Zy8|kEansVoNqr&Vq$%lH{ zkoXSqJA+ngO;n4J)YKVvkxodRI$0#IIkgKG8Pl$Hd+}IQu+`jfY9!M)_8*PYGmZq6 zCPG^`IubyKZq473VJ~iBzhjeLxo#xAcLev*y65j`Uk|EOGXN0<AI;=a`EUJLmB5()yB^OoMd6=@93JEnG}uWu+sG0_RpLsM4bEgBhgJS zoqsA>mo)=qLfA=Df#n)P+`gKh#XdD@XWrvP#w*g{}I}F>KjpOpt^ldOZBzQxJ~k8sXS@4$xGdP z_T+qOl?LFHdxxURZVtwLU`le`cHLPs=YRUz57De#(H(zBW-o+pRHkaf>%ObV+2ExpQS|MZtpjcg+}_l(7?_aVS1fFxmlZJv!Pr} zI|O_*xhkK~gjja^eV|@5D*^zhsyMZ>cFcR?#gMYuR;fo%i;(%BmwuE-e>oYBWPk4v z=2Jc0PlK=eqG3r?pw^c|AfnAqN_M7qp3`fj$5LNIUM(5feqEfVw%@>0aF^!{#N*e} ziGzaZlXewDNcN%5oSpkXY97BsqVB!klmxtX$}zI#87aYW@Wo#su^Y<@AOWkX{idox zJ$mh4P+`ZhS7$h=^|ci>`wBS&u78yF2lb}F?p;rdJog6dS7W3uJ4URZ-}{{wB#E|@ zwG*l2FSYV;Jr5O*IRkuH{k5g;*5bo|!i3@I$Qj@l17fP*VSDenulbqpHP80@2~bhI zQf5H+CPwp(lkCh0pg^>ERoN785tKRa`u7V?wpd276}U?h8xD^PP~N{I%72!zb!2v+ zWVvo~64^Necu4*-BeW# zxzZ9ElJ*MpY<=(2y&~Ods4LDM4V;dIw&tk(h6t z*L1zgr;VQXdFC{t$BGAODN=_Wk zY`(l@M%R_(SwOz?C0qWM62JBPEZCY`@3?@E)?$MQsE8%- zTJNK^@|h7csY~uzkKucy=lX`CI*NDS`&=R~`4u+aLcb|vLkGp0^^S2WD>d+pzu6l( zMny`Z1Eqtz$D3{F&gfYmYQ3`3*3Xaj2Q>rL9g=z};Rt8O6UW>LOXZjiH9_tWq?1%a zj!|=wRZDN7h&BC^_kW<*&sZ9SHF$X5ji}h))uT#+eRP6P?ZPhs8K_xbFqN4zdc#U( z2fQaM$SsrmK;~i2d@y#iySpi8a7iqdra-+ZN?g{haH3nY-e*Xr#At#N2v5)cdh+B!9euTmwbY&&;r^4!&=B zwg(q|^4&g10|>d9ngN*5)N=zM)$cFI>|eMuuub8Mt`j_sdic!Pkh~S6@RST5KaT`Aoj2 zYcqdG=i0Q%fq$XIY<`e|U8Qj3XrD0--S0Vqv5M(U7Jc%Q660w}mzdW`&SGC}drKR|`G zI@DfgNkvw`i+YTXN_m$|)6UV!eW226sm^px$bi?DkAFcT&yzFwC=2bqBUJND+XV+7 z7K*w{cqOQpTQUO~ryfO4A<|bX3IpG4BohX3W^9hZVR__jHjlVv>O`awQ{LOE1m&c2 zMfn)OlQn}G-+KBowvJF*YD?LdGi{`4hDJ>+D2XDdT(?=Tv?VOw9C^^C$gUhXN zK)C`IdyHYJix<^5MZ|m0zU2a3gTt$zCPth%hY!L<4G(h$G6Kmp0nTA3mIXP~>zU{b z5`XSTts89MO<_#U0DIJ#c?=+4MWa0i#dKE5vHagxo;j6Pka2a_kCrRR{VXS=I_h1z zN*e*r-dgV?tPMJ!lDn{B=}`T>$=;J025MBlLw8MqIbv6!5A!$uye4fLfN2iyn7V&Oka^qwoBkLtl|x zYeCCAGn@47=yubcr@ zdE^bKumN>N?kWygd*X_~*j4#`<_&pLo*$jl+cN@Ff(h=YfitwehE&QfKlr6_tYt+A zKaxM#KiZzgpTD(LcQ z${Q1@B*lZCBFCUoc=Y{a*>1ge&_#2OY6d%qeCzl@^_t9ZA0_!q#<)nnAb;9{9dCQ@ zM0Pw?nsYm)wDS8XcWYLSLGQfuz7`f!8d|?|0KjF0_M=CLZbvo7q`|CHB31CnwFbYt zl4(^#CH<;%Zaj%2BY;DZ1I^_OgsTz_L`@(J%@rMF3Yjb(_tQ zN^3@2ahc+aE-g0SV6w9EMDFs@tehkcYR?U?dqz$*JH7^`^ti$=eyL2hzi` ztL6vRt=w-UiY{{99G}hy13zQqtsOF2h_Pa8)Mj_ zDVAV_dUX~=I$;{?1{7$N5-%O1V>qhDFA~x9(n#3Eky7USJQp;%`F;3ih&^iEMrC)# z{dMO6(#+L?hbVQF)!cdl~%Gd!M&oP4?yyvEW zea4;!mk*M_e421xqJL|#MPnA}H@#GHrar)}rDC#v=Z*C-HSGL`N-XZB_Oh=OLmaURZD@*~YGv7=9;PA$!F2D7KyDmAPM_GUD~PpH*ip89doWo_RK zV!bA2VV)QKD!Jp;zPwwL%du=}+06=lkF28C5Qg`jJ8^luFs#(~Sq36Ecf9ON*F??> zUXMhH&Wktw@_#!+`{y2A0FsiIZFaC5wKp#(C6;e0ZI>PJp7V-DCfP3L6^N;AzSR!N z9LtOn?acf(A~k0&?*&E3&B-j)=GxA$uz6P7AsT~!67w^wh;NQU{VO3}@&rSlA=;@O zvJ1Os9(_ie)co=D&JRx?okXZS@1J1^WxizAL2~Q+RDU;=EB$)?Tli*qXYCM;y$0&* z_w=`CKyw7twK|8(vGoCo3c4IKl5Kew4$fKMbH~X8%kQHQpyTB8DO-`Xa3m^8a*vWs z$sT2l0-W4CicgzMXXYJZh^RGCV(F@F%t1 zN{Q@$#;dT|ffAIi8j{{SLvo#U(=IUZugt725PxRPIfBQNWtCqJG_RwruKK%RXT2$J zcgdR7h36`jkz>}|k(S+pcv73W93z~U$VDCNIGICM#Vo2%8}Yd~zgpPW3_fBtS<#Es_NH{V#=w}V zF=@$DEGZ?9TxQgK0gPbz6?AGrd|yvPZGV4HTX|Uq+j-sF3kEG=_k5Zh`{Rpbl&R&I zRh?c-E(Nf879g)si`3Hq*)*dni3EH1$H1e5AwAzzInyoc%}|9g6H|++Zignw8Gwal zTzLUod?%`9*&vy-K8r+_KWDweF=v!bh6k7-cP|M{dCeNINa0jVrY+;~Jhl%?p?@4B zv)XID4`5oZ+fKjrPGq`#(IH^wSf^?R?D#cpSlkr1Te9CQhdjcWCyO1w_Znyds8wXm zKt=qc_s$3~B|=3_=p^irPZM3qY#-#NexdmlPFRn&`38elMs<;Cqx{X&sJ_H)Uvp#b z92t#R2I+m~_-QZ(Le5%;_O3XCJv|cE zOKCn5qy@DPSYjGM^{n*~NCqJBdyOYcTf%_cntO(_gn+9RCApu;Q=+Y}a8a%fpkE_@ zG0_hysMrVg;iTnMN_3`63m=*fk}PMSl!$>)Pou>4WMmPSyLBxOwi=VE@n-Ysj#*g?2-@@!*Z-7^-T<{TwhuFf>0e=ED!S^TVt z(outq-Z4)WI@j(2i$_OzC4YxkuX47&5AIs=@RYz3WIPcn`U`^zRJ6cpt~F@Sl{ISi zv{+~EUMtO+$hnC@X5GiCxr~%RjZyrm@*^dZyNSiowp>|Pt|-YXJAbsVGb6g+N1CU5 zKCUEt@++_NtZ`q@nubfuZpFo`+Be@+fpF$ER{Ke0P??}AMy67ICmcy!6UZGw- zO&qB;EGUrtM~=bC(&uN9;7HVjzBhQ3bKN)$`g!N??Czh`*HV3rW?0t;5NqyUMelq1 z3#*`^SXRvdA#?X$gMSd!)hSm8a7D|ud>T&kte{w#09^;RZsP*XHPCgkd+e-3l71t} z>&PlO5kt%?xo#@_f%EEpFclxI{askjV~x?Wffi|rHOSvlwuP-f$EaaUe_`E4iN8E; z(eotV6hYLIUI8L$@ttSQ;J^g($aAVGc2_a3$3j`=&7^qY^MA@+#WPy6;(Ems%yX={ z>4dl^#@YMp<&$fT-D}GFIb*(^EHySR=$Zj;;pQA!Wh>ArIlkm&3pC?zINH1!XSH2fw5{MLtbr9bBqr za2IOK-1~+&R)3*sj+x&bf3u_R7!Y!d-qU$XHVsg38H3b~`PQ|*6cUg@&P@hcfqTsW z@tH#8lpxSe9Eu1EplIzKO{HAHwG&xH^f=I^SO~rJj-cU_8C$=D z^9p=FCC6(`YePLe=9jWINTek4P2Jj<@9TF)El=iy2h3r~y3h?%n6jmOnv`o+k?@LC zf98&dt!=vs7D(#5ZrW|yh0;=sse6B9#LPJm_s?}3mFgL*fy@J3&mHnvCh+iD1AfVs zvCi#-fqy&MjfaQ6X9gFeEqaywa`RJwC%*!qUB^^6%)ZyvV}8kx)%(ngvv5y|0)|8? zZ75H$bLW^7?QhNi3{%Ui8bfll?!~QT^Yj=b1Gz(_dG@}UmgTMPJf8;VkO-A+l?_fC z2`9BqqB%DpsxO)kK~p1C6kH=O%=d8tHB$=XR)1D6^)&`9G<@}@o2u2;*W*>Qc5K_k zms-RAl9R~uGy1S6o_qt|)C#KRrh@#QOex!rZ9L;*jCD|@)H^Cq*4{hd-*aZmH%KK3 zx}2NG^&RX}&%JJfmd*95v&*yV#FhUDcIF;EZeRM?0Fu2rGX#C-bLag-!n3b8W#NDN zmVY_i42c%TOZSCUa66zNlLKNqEGfnk<=n2#gU7i~78F(UU}!ue z#hx?ZE;LWcc8a&Auek|0z=72JT%$5IPcSxMEtPT%gE%ubz=0HL-dVyi@AQlYpzus2 zGl_dM*I=~ZOP^`G)F@;W6a^mQ%e3q+3V-{VH-?g>t#8`vym#k7oe!L>)Gim2wd^&! z3uuC{##)mgf+`&kZu$CTl>*6h{7svb+CpLcyCw?qu=daHCbINs%(c7HhoEH0Ua^CXQX>iq1?$A7L5 z25m(clW*!emAk7MK*L(Ol#EP%*_IF(%(R>vregJl^)w^i8FAia8x@}C7=A=n4)0GL z4l>%hTj=iVE0FbCQ&%bE#2HsNx+|D{n{P@{IQcbeT~f9$zoUCe*12NA5bn(#{{odw zwu@a~#am{i@j!j)L#QXV@P3~9_kZPUm-V#sv*5MrO=X7Ekhf$I*QMks@{=9MdvFjAHt)d!wF$bHT5pA-EI9-@O+?gNM@OfvO8JTMXYl&G^!t*j4-zJ0lO ze#zM6`;asf;f@*M$Xj!l+=lY1xhX4a#%fs<4Quj!ly~T=kxzp_=sl_%%73!vu2Mz9 z^3A8|>d`AYW1;OGf=Qrj;h4SHNy|pskqv$_`=U#-Q`42anl-9dA(515zmP0D zJ8w#SKgZy>P7iG7%&p1QB619pm9t(KRk*p<*o~LujN4V7fI#HjRI1vq81CiZyewNYa=1O4kIb5g=<%iQj+A!k=Q?FUAf^ndgQX#={l`kfO3 zufKv^4x;HCGi#@i8ukwHDArHQ;X1P&5dXDWru*rKhtO0 zkvS|GrQT82A&`&X!Pa))5-m&u%2w~AL;RyVRsK?Ylkr~hlh-T#Id`U}WM$RhBDn#i z=Bxn+b5|WQLuaxr4S!f?_Xi|-fHl_dXd=)YlIk?{W;k=qFI>ebfnd$JrFzKGi9N@F zOedb=fPZT%K(rUqylxDVFK7nUyzes+UfACzg^V?~hbo)&jAXO4HYsfhFQ=V%t{Z}m z=D`>}vaZylhc*I?u9};3wPeg2<)UCju8yuN9H4v}UeJupiGMHQ+bE5s$0{gJK27wx zJKPN1BDe2K2XbB_rT)(5a%GD>lZmE04 z@}}%9dGPa^0e_VQbU$~9TKRX@E+34lN9IqD4_e(s{vL?T){LOrQvf%)27LEt+Pw#Q zT9D;hx6i2wZSF+Oa2U&K4B-5dUg+T?NV4P@S<=i_9JBhL-lHmM)+@i9%dEYrV;%&3 zd(Hsfvv1mYg>%ULhI#p(H~OJSx@}96*K+g>n0ATmIe%tx%k)pR)VMWEuR#4<+lYG8 zMcGHc=`y{pw2=;w*XA|U{Z2>oJi*I?32Mt3jJ|z6w+#(?KMh|%@(K zuAp6QeC(=&v-;-Hidd6@e42CG7K;2_d!afWvmA1d9xj>8i4QjmFra3jxiVtIlqi#E z9fIkO`IKWm4nwY}i_yo+F}n`AxkFS(b+?*Bb$?XzV2~)9&3%2crUCMDNojE&X0`DojgG34dGPn5ZevgdEGK&BQh&$1}dt+7E+>$GI6Rb*lEwaCd9%G?nE_EjPIJk z^N#B$=SBhn*JC8dzDYhAi^h>SH7e|6jelxVmA~`RTsgnOb5IqR7Gu3Z)8)Fc>+quG z?}!ql?!_F4p`zE#cev+S5Zr0><~dxZp4&^>H}e=Win8)`W5~D)E#&*WaJb}ss?1es zcioMrCIa0TP6eYM${q4LwCL?MaJu`{%cqHh)>ptFx%63hV@~R?fZTY?zKWX6(SORh zZXj7;=rsdedvoS?Pu*BV-gAuokv941CYdvGs?FVFNecxGe*z4s-HKU^t7uBa}n0)IUDK9^=S{iedynGrZqog*Nqr=d8zwtGs@uy@l-d(TCLv!XcyFM$$x}@EhTTA8FJPa^mX6Px}0u_nLCj%b+;!HR5p3)ahjj$ z?Vd<=yGHHO9qE?Q<4Zp!vEX>q3)cj?y_8^8&uEeEs{<&MV@^%$YOV2J0u$8t;d?Nv za&Gsh7CUwSfT_M;nWvShfC0=Ipde~CtPAEyc)i{SZg5NX4ry8)Zhz`*UxNc8W5guz zd_4xHBv00bgh?e!%}u^$&3cTBmDoK6IsBumQ$7s_u-}Jw`pA9FH+)^a*0gB%2EQ;p zbe~A+Z4sHee=tI8gHihJvS`PvG{ulKVhxP=zGQ?}rR2?Ctkq%rAH5S_j&NoxfRaap z^m>|w-g+M}p|zaPF@HRu#D1xdRxgt~1fN6qg}c<^EqP}R)OsVPAq_<|^ZQILt@P^= z^9bwa$&!QnWR-$`&{S;dgVEF}t+eX{3zWQUZbr9RX>#30gje!?w3?8~sILGHd!{#~ zqS>A=@BNxz&>6XVNsg>*lU02|q2~+$q7o~0N$}5!A0@$vvVZ5(z}&vP4|r2X*)I0= zmi-q<^gYg5Yo{lWQ!@Y~{<5!^mwP79w!-0CV%Y|CAM`eV2Rmwd1s7O$cTPtUrCD0u zS%ZEjvsRa+*)4O(y5GGa;A(D6jgI>(IKY3MV>bBSWN*K=_m?ORiB2uKIvaYv^nfcfGQ27O86n<3HkmP!ND%v{u zKCn<6^*+Gd$uMIKY-wSB{v@gTpCNfa3iV2&cYBXPpOxH>F0zp=&ojp+m)x!QnP+BA zo_`X2X<1L}cQ#aaxjHkPUES!f+rj~>$O4H1|H|!>a6&6~OTsxU1jLZMalY4^B6`5B zm=fJ2%EI?FLHx3NNnj_dvVjCTqd0Cz4$O+F;}@uf%845zk5OLE>xLXvv&woO{biH@ zrG&HFYk=+#`&o`b=unlmW}x3x;jc-K=YP_>cNL8#n^rSU|*9KsTl~lCuZC4D1Xzd zoCJvoV6n-O989?Wol`TRyc-WUV^#2}QXl0isbRrgo>dEHj5F6a;E8IrqM)N1UjMhP zR_BBaDDT6Viwzqd<*2~I%9-a!2xaZ3L0;hisu^H8_;Lpec&j7HF)Y}==dRJ&KKBm( zYc-qkH2huqe3yQstHsi4U*CB-Q-7WXASyK}^`;WLAM|HAgZ-^E=Zj=YU8VX53ZyJ9 zk_U?;pN3yE?H$QR@sL_;364nvpnBSnq^IXjFt;9~y1k-#uR(OzJ_aD$6QNwrfFY9p z!u^har@w+z+8WkTE-fx=a zASukJEgfm}v{m+{bk+Sa0%JXEWq;|h&<5yLUNr+XK03pt#J8>}&P$Wk=UjMll0jOU zyK3;{SAIcOMlZ(RqoWSG*tCrSy?W*vxMbGCbsB@Rv|=bEpz~>qvA1lHd>_9rBvb1q z2&(iXC2Ya;+J0f#u3R;|ntwT@jz<*v(37%$XA(y$E<{h;e1|+g)98*=H-_6>`Dv~J z$&}X99cRK)$R0@<(2J>9rZ9~(vY&&0L{WPz3Tf61K4_0jwQPUE9xGl zqJ6q{y%3Sm5kA5sOP3h zePZg3k#en^I0-y^+kXez=&(`h%Wc@STUVh1{$w2K&Sx_5e41aW2s-BrM8CBQpu6U| z^)xsxY%M7n24s)H2b}Ry*j`BdycY(JE4@${Voe28D<7zMt7nj(VA>TAI*DT6!ZeZ$ z8qHkMV+M@NU8TGb=XbDA}BSr z6(FFQ%%lQOFfElsCi&cezL@lWW>vIOU9*W=6o5CGct)gzFbW3s1kSJEE z4w57~&89snJbORZ+B>pYcn#})Knz~J6Lo31`=5AIU5eT9^?ekm4Lo;_fr%=d!^k8_ zJC{D-W~sQY(}-tPzo*)xBw!QueI7vgT2|NGRM#gjsDHW1&t;Z}M3%I)B?%IWx=SQA zmFMQ_IE+ftYi2Q z$V;9Qcz;jX)qEO<^4^jOOK zBr{I_x_?NZXHvUhRiEL2j@3k1W}3^4#~slKAPHJy^LOj`8$XsGN*@6X#^y4%=U2ZQ*x;)ONqu&Q!$v} zFJ_5l7F#<#A?N(s>+oswG;-<{;MCk!#zys%FazM$)-JjuF$3~xGs1%W+8PZVg`t(s zbAJi9wj5n(3sGpyNX+MLw%PF+CEzq#>ii1Zz|^;71JTcOx~YjQe4;i-T3GgNw!e@< z=kEY|Ea`Tu}slLJ0L05VL_ow!|%*@3UW%n)n)XIE{URx!a$rx=?7PIxF+r z4?GLnljrX&!m2p~#q#(RYK$alc87fpN`JI3+T{e&%-j^4S9UD*4ljpGS2Iuw0Oi~g zV6A)~-C?!S%rT!EwuhALCY?K;zW@Q30I@($zhlm6FCGjLP*JJOeE>y+PS)H66CufJ zCn_}_hDgi+j%-+$DS_e5INu;62F$84?08AsmgsWYlDnip&Olwxm8bq`L`UlBqh`Y8 zxi5c$#HABQGV5MdrpCB6s{+zW9Au^#f50%@ys{{h|Yu4 zQfsZ(lUl))44SOm2TcDn<5dC<*yu|ql1PQ-`zRA<3*`*l^%;8_p-F6&IR?*9qB8)$ zV1DwOYNUN;jzv!q7JgYMBySX`H3Jv=EAM|fO8@~^XZ!h@Z{o-KG(i0H-XSKwWJ%HO zA|uJ)@%wmT>UXpR6}3x=V&g=3Y22fh?ul;F)aosfkYf(*a&jMhWSujD!P&iMr?5fC@}ARjAfbN{ za;;}^vGj5v8KCxZ4RB^B+pHN}@1?4MUo;DDhFrIWTc5tOR?Sk8xjJ$=S!wHcg#G(o zz`izTd`I&VHbQEbMKMBRix84Y$L8t`O0x82B#@tTMyW}7RJl3|ovy@_51PBRca>JJ zb7sDuE3UA_lswS`c7|g}mW=aJqo{w+at$P7kId<5vcTicdtt-JQmizuC;M86sm_na zBH)23p|LYdsv2IG#ypKul*!Ke(s~CwQJ$Y2dNZ-d!g7!7Q~Y`k8rVcTnzH)b-0|q% zKm9w$@sb~_H2|qRvU&j3pWIa5W{22DvH857r-H=H*FQCW*5b2fFsSJ=^PqoRXA}wK z7@+#9{WpUT{g!)2R%EW)e`A(+Bk-QcCbEvw80oRrRp)U}hQKj~`;$BIbeClOT3G=y z`W$m%;j0=?EfyB7JJNO;1$1exGlL-HYgdt=m?_JS)h&u&H#*Zr{{0zW4#XIFN1dzz zlIhsskX)Ikp13LB)TGy}S?hCJkkaMyC1qQZykBYIleoF_ zcccUwgYj}mlA{n#Ns&$B0)%ATwsjT+9q6k%+i(OfjeH-m^(pg!OrbYIu39&Sh#+7} zgp2Z?qsmoxiRllP}h^`4KnShACNEnJaYw>fI zVm?hb)6BiA3VmxaU1L6C=y`8r8hf25Qwf`&P3s4)1M9CPS1)MHNV3hK^! zec-$kHKB3SmpTa&n38{d+KfpcE!CIgzdcg3MmP9O3-X29eo1SPL=rA_h+-9Oi}H6Q znA0YISsK8A9JAgfp;EFVZ_2N*IB}Un9)XQy*aSC)MeV(#CIvlS%>bbV3c8dizDzU& z{~XRCPl@y(I@5d_cH=~vztooi)a95F&Ffj8PF9bBVanWxygPq>m;BoM^Q}8x%>X$4 zlW`YihuVdv-XS^DQq^1&o;znv;-uyb7X8xtcW~S!&h7;f1!|s8!zYm$HFPWhD*5Hu z5Or%!NuNscXwwE3fBL*87;69?vNm<)5kfv~SeUA;(Dm_kD`4psU+o zmLM75G3!6x*#mY+Fx{mVyTDP?Hv<_Tb+a{V&O%pEXi05j<+=g3g6PN7uq@oxtX_iw zQMOv^MlulH`Lqu*s=Diq`RHk$V`gWrv&$9FW-IcCro=9`L>WKVTHpfGFo>YzUbP^{mvbsE*;j=Al5*JJbkVm&!lnhE7s zcx=e9dIs2^dkpiW`43oPs?JMW4oO!!k$lcx15QqIl1TwhIIr@X3J&^uwW3%7-ieG8 zV`~mc6&!!4$L_Cs+9+`O@-!zqQ7r=ac1Sizc7rK8qO%Z4kxcMNzyB{{dj2$p|7(|cfk`umV9X^UY#Q(;+FfT*ST zLGBPmAM|Ct&n!QeC|)t7FV^jlXquf*8yTql3bF{vK=%@`lP*s^I&(5ItB5LwR?ORM zMjw@)5m1dABhLaR0f^Xo9~@qd8ys|YpVn22j*pp9lj6bTnd_#(j*M{5KuuZec*Gf< z6?uQF@PDOkNrD$NZ**-%ZW%`c8^PVwW1e5IdHNC|@yb&VK_u>8Zwm9XB!X3UHE`Ip z4`dO}%xArAgT1X9g@VXlYX(@vrq<-jLB8y_P3Wm_nbCD6D|+9u6JKTMzt_DbepEF~QU;qPslX_=q1_6Zt-M z$W7Z{<3h@^XCM-go`mL15ZE~bq)ypA#0eRA`@8`!R#is#rG=oia&FfIhMr%J5%Pb| zShNn?cQ#6`HIg+1{~?*!0AN`y!5dV1XF{_8zmj7FrSkmvZq}fzPLj`_crnHk)2i-Z zKx*2h)*8fFaIk+zH{^`aN)$LIr9(s<%{!oVur^LI%4Y#Z}_CT33Mr8$&-o4|*{|FP_|E7w-$#Xl5fg4`=s}-;l1AAkD7s&YzPoivg+=V zV@9P$dU~3UDFrAi0IcV>Wn6heMsl3FZt5{Kp{Tj3umAKKC}8i1=Ctg32KCcU0F9O? zK<&HUMpWHbb5oPwNU~`iRgAfJRO{m?&!>q+r?oz$`Y#kM}!z2 zsU>d#y`}>w!FcFzF>bAKpoN3)g3$}3Y+VjN=jf*ObL)%T3lc->H+&{`wNkOJq^R>nnJJMjNvnb3s|>(-ePCubGqhUyi4YBm*fl-C{I~~`;lTHYnp#Q;c3DtrItB$JV{uuDtK8 zxuH#x_Dz2YW`xWyuwMn4@@XChRaj5k)xu@Q=A(D}nKc3=bW&Pe`=Ek4@^>)4r+4TR z;2_Ggt%-~apq@5t^7IM@$-&YVB=BbETt`z-&0_L*oU6>N8pE^C6+Ms(e|aASzOBU$ zgtzyc!DzRe{;AHR3Pw{Sog*leD~eFBYq~z?`wM>yEYuNGJji<;ZCF%~d%JieJ z;@Xxs(uhy%5L{GyMl==N390tFiLPXfScsarlV6T!gcZ5oM|YR2&$g7rE0GBxAYlD@ zN>qbit@#kG`zf_Q|zY%?syH>n2wLPhMwX z27c2CBY$V~t*BFC43$(TSRp5`p!PM)M0b?c;B<5)=rM4z8Rr{q9>7{^)>6nFZB^R= zPLZpF{h+J$al~^2>t5i^y_WPSv28Fz@|%AuiflV%#y+~{DVh0soqcitfx_etf$+*6 zn_J4EkZoDMYu zq+3&VR2p2f&{sJ|X(MqWo=W}E^Za}e%=Fy2;ux^&cc8+QaHmA{IOCT3f6Gnf z*M=6``YY(`*qD;pqt?uPldxU#%kh8aEBDT5&6+5XS<_hUA?i(ak=ZilJl zUkGsWX?mgbms7;pNU~Ygxn4T?H126;2xoxlIV&6Vl$VvyZ@OYvPP~i!$|#`A84Ne4 zpQdK0HIhiyBO{PI{yK1VJ5d_7<#1xO=+l3wCjXI9j~PM6mt7^urvG)$U|5j3Lo{y3N|s|3&}E!_ zK6lL-^3=n>O^K_S&+|TKTzN*{h;Y1SpsCcSp9UQN$gCpL6Gyvtl}caP*wXPjM=5Zr zeXtCM>GbrL8=m0AG%mDTclB5_4FWTWH-$(BM6BI9EA(g7;V}*aL8EI5Krw?K7UW_nn#>p4Rl{s%`9>#0g^PGxo?0L&D>|QEn z>P_DYQ#1C2ZCzHPybmn}!Lmw=X({-=^?n=sJ@FKa=nih2oZJ3|w^jAHTPDx8Ac6Mn z^)$ZBmhl68ln^TUO{Im9Yt_@{8-F{$f-p{JV;2^F_HM`afyaM2(Pzk6zjVZ0bWUIU zEG$?WGvcg-137Byos}<>(V_(fIWSqRfvww|n9GVcHkn08Fz%*?^)ijNUk1}^@80zg zJkGEE6?L?%m~65dk3>Q%Z!_-K+;_>ga2Rs$Y$#om$!6K~FUfi{l7W@2wcgMZr7t6c zK#P^_LPGJR-r0XKTu!OucTlPHSVVnB9=qnYs)+n zkdB%Gw|&l9YU<0IDlOl#R&hbJcP18R(FH>j$(R9*4g#q<3nZU4PyNc+(I7UT#_~;6 z*oq-a32ctx*k?V)I${KQviSRV+B}~&s!Yp%TUA})6t6L00Rn9)0UA$F0#f(OIVAxi z$~V0$UrT=tD@wsV%o)IbHF6QZv{IV7(MjG2;Oc$A%mFu2BDb6zpR2m}HBpu8W9A^& z9lXj1I1TwbkO{rt9&X0;C|CW=`BV8c9Y-=EBbNmKR$6Rinbyo5uC%r2Y5fi=Mm^eF z@>Z3S5*62JAFL`ubm`48>WNa1u6T7>zBxvyF+G1|EY6@Fxo(IMmyB(!P{d1rZDDP0 zPR>9jTx%D)MQ*6ZXzU0i(-PNno*$JG&-7eZAUB0M`Ly}HW;Kz@8$NCB5RTcLn5-3# z8Hh;!4*m9Jj7Ul58{t=#f#sXJE^f(gyrTWzvL=#*pObqO(Sk;!HEZSVN<&k!$^+*2 zk-C2b?5{B+{@15unqEN8ImW%6SswUV@QBndaDFni`LqM9Cf8s(WLf%Y`o^|Kl2k;& zP`?Ap{Qs)!&UYtBuJcUailP4n*Opb8#K=IdGalG80|;{gO|m5s<{~sH6P~M|Ct9Lu zKyOJP(EU3dkx{XpDxOHXzWgDzGX(6v%njHMqhWmeO zOKWOfWFGdtvmB_Pa%{*CWQx~!B8{I<}Jxe6O6SNa^7_0W#_olSRrN;ZisnfoG}%BXV{@GHY!)x04Y zz4t99mq(Ixwn6Wb*5SH4TCKzGqP~9_xf6+<8h_1edYcm^3h;^6JWtl4&Ru#5*5f1R zI_F?8wq@jQRW@VWbBC~YufBT^wR2lTkvw;_c8h&&Yt0*v^A}433h~Q+LoBlO?3_SU zeS#quzwCI$sD}B+4V-B!!L8G>0dA||| zIVvbq4K!Hr4w3>f$C!@2j-XQ%XFQ-H}E4^$W3*bn#cQ#1BuKuQ8Hw01L z$|UTP9<|K-j6BE^7yYO+HzYy~^?ODx+ZA~`lCZ>c9O zp$n#$dK10u`ZB<0(#rBiV&(8$)(99G_F_q(>39%Q!U5Q?vjTs{TgD35jHpC&AE*d} z;w8VciSp#A2g`NqE;!b@nzx|hfa%nCkfKrKTOu(vN4*c1OiSn?>9gCo+>eYmVu6yu zmvb=G-n78BVVEeh%D0i^1)`X3Mh)1ym3My$YHQvHyVNm(^y+Pt9!NcY z=Q4b!e{^TdNVm$~Xwiwd*+*UZj3V%;Qmg8e$e!Sst9xfh=5Qr007^-JwG;P;l}jBK zmk;wNM}R-L`3BYHekz_(bMUw(RV+&~3X^6e5^e;|Xx(qSSHXN|Z@gb$+Q4({b%J+g z*b%p8Z{mMunZ33{IW#jV|1c*?_9lkCrzN5C!L4gCl03UUpsWV(T+S$F`>vR+vg8xg zuYRexSx4AMem|==+lc$7|61N7-&5H?Lvp4+(Y@!c$n_B?7PF}lxU5l#q-0c0&C@vY zpflpRtCj6!cBGwj1$xsSUla|m}X!!NsPW-|4DW1CU2YivH>`i^uAF7LcU=5-|4XKy1lD9_JK z<4S+;*FLha_B^M;-s%e0chn1o*h&d!TE=P3CP!nw&K&q{Z!4+(CCg`DSVozxvM)U7 ziL}^(nDB(usAYS7*$3RFN7{{Ya+KBW-X=-Sx#N+z+|t`Bu500P_cDu~8Lik|29iSR z_iS<%Gv|BXAT-mrzRPE7Yib`AK2skZlB0iDfz^h(yv8PN3MQ!~Z+?%I(7b!pJD$_@ zvhC6|z*?%ep+u*rM3X1mHQP7}i4yf@qcqCZJ}%}*uIb4So8ItUtxSq>nx;Dqg`cO@$Mj-#E@gc|k z@n{Ro4UZ!#XNLqlJimkMwP)vksvqCI4Th%Lqr-vGXkpgE<4ivVW(XUu_JN?U{El27 z1z?%G^?T3^J(3UQcqo66+Qy-T%qxF2Ri%I(`}~etgU>`j{9G9#y_3lGUouT=)a>wP zsY0^jOWj6rEWLR$hUAsi-Ae+W_{b6PhG$fScJQUiTN+71lsLuU{f=Iom`p&?zrRNmt38Q~&uH4)2 z$(Y`uzS@$Wl4I~6^!b5*yY(-n9bCzZ#v^qT`>x*ug)d@~64fnJS5_KAurGfp#)NnJ zuaA#7S0Z~3wPB~UjE)(5Z|^rrEQ+1isAt}ljMpE6W4C-YNf0ULjYLW7On_r(x0zL@ zJm9MlUL+_Ba?}gWAyKb5PTzlk{q;+MtiRj`E2Mks6o*>$SH{hbb+tqC%ncw{TA>H9 zRO3TLNVyzJcR6UcUv54?hb>WI2bjSlah)WSRNI;z;s4f^k4<`3GQYrU4{Ge}4YIWN z=pb9_J6M_Qo=7f$oC9Y{jv^csqcjhnQ_wr>i^=csp_zf-O$x+#A~Q}%X!@xv-% zDQ7i%8_#Cnmf{$wJ?c9M+i0XI;X%*%5APDlXPyQ8Z};@AE3b*QCr3SE1&Obc&LopF zzjID#G;`E=*}C%Cac*+UbFNQYF)i`qMB9Djt9c$!AbIzm-m~-0QO8VHjp`Y{N9p}mmwwM zS;>}pN_$-MK5)CC!MJB{NZRur#f<7{ES-EvIC!eJ`=C88OAn#M@TO%O;M!#G5a)V- zGWLOc8o5@F!0P19hbQcDrM*247V6d-8?01UI%3l+dX;VX{nvlg$=&a`l5-WF%u^6pw#?Q&zJL2F1)Pko_t$(``05$edA1NOSF}8~A7hI0?sGt|_|1JuM>z znGwa8hL0cc&V5|JbdP9C+@TM?#ths9{HM`^BvJo{!;Z=_QY4o z`Je=p)=2^y(Y?u9%Bb&&z@!;WPK0(63~S!7qA4Pl65fBWsaQ6eee>%xNUt{T(-AdMEKeK#rt_0vI9Gl_R*|-*T=QKZ<}?n|gHE?}t~!8|a=DUnf|+WLvh8U;_b8GI-$k&l=@Vx+@g zm{KUj&S}mlE^EqajbOmZGun3^gPSy0POeDDLQk-s&Z9gJF@&@}un-QTw#KI5{5yHF z&hxipy?$S-+k zJQ%;3EV=xp{@!?hcm?Ke-LNFn{Omb6k!qxbGKvGJ=79SekT)eCN3%Y?|f+`7v4e2vo|HTGERG0gJz$;IC0u~7Zt)5ldCY81Tv#a)IpL!&ZziL z*BDh%{q7pc-yYo zeh=6NWM@h?RqJvNP*_q{v(5FUd6s`<@nZG9UZh&}+bGV&<(s`(pS}-JHn1474H#AG z{ut2&r*eHr=FB?RM&eek0&=bP-Cm>4P~wP5Sjc%>;`H;-)$c)?ARi(nDmJ7y{1VTy z8LJH|v@r|UhQTDg)R#EZk}=n7!(Eu3#!J3T=ZTX{97#1cMM_@Dz&*;BEQx>Pl8T_t zLu#sc^N!5Ex!8^T(K!P3BQtCE+TpqTmmb{yd)~^2z1yoG^dg(IMsVP3>ro3HF0FB~ z=VWkKZ^~yiQ=|&ppZ5G*r-(rEdXT)g^s-%8lsk`dNSeotgocoJm1LP_Y!kznx`r|d z&bYkAD3=(^YIYRFToTEAd1`+};<63q-VtQ9)&g3hX1YN^(0$YKOjMSQjwt{QCEK?b`=S%Qr#gW zGDZvOHzc^IV#jlUvZ^bNK_VDiXkiis&C5GU0{2uo#UvPR3a?Be%2KgIHDqL{_1<|t zWIe<^stu~U@`ntGjO#CL?5a3(+Pv-}n6(eY+OpcZHuw*U7l&kf?&Uuq8Azer*Vy@< z;L1UKOBA$wj-(H60MmdQWBLylHmvHV%pGo0iB-Du0zWyb%?fA`z`GG%ATa ztkR+Wcdy&y>Brw?6r_1qfN7&t2`e7eCY9*9e5o_QDBiGkG=g{4Dr?%D177$U`CHNJc&H z+`WS6z$-a6HJE=YM@?^=Jh{-xNtEj>Tqg<6$FkZO!S-mOH%WM&DgremAG&Id8hP$n zHikAh>JOPyvw|!R9_F6fb10yrA-&lBkVTepr$fratwMZJX3v z$`OprhFnw0!L~xSk-<!OadR%+N1J zCMeQc4Zy;qbxSra+MetUWlzO5rIu_TKepPOH~D~hN;q-S^P?^+R_MwiApvD;eMdpG zz4&*u8JT}*c@_kBABDwHgM*P#F+Gy!XRa7B$s7Awo-B^oM5Ah>*k7M456Gg|`UnR@dPN)}9laWxBSENYBOuUT0(eIL#BP6s zF)nRquq%tuZTQOyxd;+=!es3^Hk{C@siJ#V=`Qa?y0YY;>P?Dr^7l@t3qeP6j~)|b zK>i*)W-#FSo#XK;w4?6~!stBP9y!k7>Wz!|RoO&PWS~8%Uz5DD0+BW@<=(w=|1;}c zoAm}>n`7hK=$&}NceP%HoHa4^kaT}9xi7g2p1(b<9Cds|R`W(uXDE5Hd}sY)84Zct z!}_Jy$ZyZ}k!Q3Qi!zS~FaEpsHHpe5b%Ggy2n%Ws&_qgIuAMj}Fw-$=wW4jFFOrwC zMb!p254@=*ox>s2D87(-FB|m9sad@}q^zcA&Rh1u;+1X8LE1mG-iZ@G+pK?L$hCX< zx3~sdGAhsX2w-bdTQ@Z-qvi;nFU;7v+5$F$Mm6fE=vcn!Z1?9}s0rH1d8YuXN~<4W4@x5AK}zD7ForpPW%6J5uvj zfRC#r*K~3zrVmo?f(rIq&6|H*p5&?&uKB!f=_z^0ug}`X+Q_}Byj^6(Dv&7WaZ=u z-eL2;w1EJBcN=+f=_7xBAV>m|sdOoxgEJ+=e!SNen=0y&j=r2>@bM{Ba^fXtFuk=@zT|( zseHm#DFJCu{|?}Y9FG3ZBICN=xhJo`2Q9zD6Py+cgtK~6byFa1<*LZ_;UnJjT^PA4 zP?|LYxfOGsMnIS^XB%on;#BQ;3zIW}CC=|6B!+|Km- zdq`eqdbUYE$u{e;aP_8TWE(#A^a)8x`Ru*phvduH=7Hd;U;0wlG2`24tpIEC{FpRh z`Rwg-mF6COiM^y}PSP$^Sf1^lJ+XCpKJi12Wuf1Cg6{ zFt>t`YuOmjNsaBaSe|T*_Hi*=sjzt#-f~}h-XwM_16ZSGdY}|931rWgxyH^1c9d;Q zXnN-Ow?K<>wPD7Smzt$Zi%yK$Q~gFJcaDJnBHvR=FD`?!Tv^l{yIb`J*@JvDB{YZ1 zF6281%S+-e_Nai`kU3;eO41XcHBWH9|ov43rOL&(rdX;e6S-es(#8M*rm!c|e zA0+NxIY>D>LgF2-e{ylTDr$CYk2P`LPabsjy|T@VM$ zqee(t1y6Q~Dg*f)H4ge7MMkwH{*9AOyd>}5Qv^4WaZfmucgC3%CVKA~myu-peD?dp zPriSpmE*yBWR;%@joKY;Y0QD*&eX*EJ=7iNr_LM+tL@0%_&W1#lp5>;5He(6mTN!|WP zs(6cXhqzl9bUC(D)GB`|<_tGnwE>K{75~A&X2^=ETg=XpcG$f=Rg1|z$~W2X+>1oA zRgR5Yw^y6)zoj-P7)+_?5o|2i9`$kS2-J&0VHt94ClgVs-+o$TEM*%0UFQL`Mg+y9QmD(*C)Msh}520b9mUZ{8jJz zJv`o>?Inc+Gf(dL&up%9$MfNPobo$zdGc+1iL~v-gW*CH&&o(X$e!%NJS9RrjekSD zDN8MHv6%-jbqYk%qkMe*9$`(-V@rQfb>%w;1)prqjx`ps)XAl#dO34O7rJ0t@62t^ zjckK@0A`>@jW%4Bs+90wXXF9XEN0TYVZpy!?*;FIb?*__A!*Afmjf)DZ8j*o^q9T2 zfxpfjzpb~{<6lzB&Wu)&po__0s_=mPo0>Pq$5Om2(`#pl7eD!sC^M9&URHmzl=%D( z>%FpO^@buhqdc!&$eyJxd4gSTO7qkRkbEX<1MlBMb)>v4&kshF?oHN5 z#?fCV{W|lrl$4T-owIY@-fMsHt-C0>Vf*ft7^ECz{n9}bl3BAa6~NJjWt$zJP_Dv- zLMt)b!u1mxyy#8(Cva)asQtmazGfRi{*2{Fprg9fz8(o@GC;F8weh}4cq39H<`{H@ zYqg~*eE8(^I~P+pe-EVwZlT%?_R-XyfWK_UT2nwFFv!~RKZ6O<8_s`;WXIPXLZakI ze`g*Q3u@F}AIZ=u!2_7*XP9|vBUBrkckbWARWBz#+n~%&q#sfocW;gj66UOG#MAI& zHI{%xR%DO*fC|o?D88Qj%D!WE@~!8j28^!L$Y^@D-;%1@m6At6^;_pVkMPEpx{K?D z#gO~pg`cQ+WW0;KhUtGBBtf=RZ?Hz6tlu~UU(jbHEb+RLR1~DG=MEVtowTYs_nX0f zlsS6Kim(0l7NG01%|vgHnPiOnQOrEPv+&5|-g&Ql8$ALs%Hprmo7{@ti5PdM;w>_v zn9I{wL+iy;pF5sif+DtNhx4rw;52_J*LfOoubss88ly^t_riI1Sx23FEj+Yu6CoH0nlB{?r z(w{i3N;Pk}3Y^NxZGyITxqZ3C)>XQ3t^zcW08EZeP2JS_Jk2s6ON$3DTQ@Ia5S9+y9ShDeQY$U3V6r3!7%s00qBQELQJ1OQP|0^E}^FvUlC!*i~W*)PrgCRJrl8xZJrdMA2D z82@=?7X5Ubun9Rk7;3?E>i2M);%{mR{?S}HB?gwBQAB?eXRh$R}*Ye6uEv6e;K}*mZ&(A`i?Lc=yB~G1S+pN z^C+>%z(jx5X{1u{oR&`hMtvp$sD3FkLK;>|<`EM}39MrxOW)8)mLc2lSEaW8Gq$#> z0Ll{N56K$CK^2MtO3wYp{1P~;--E3AI&w`}3|Y~F;g0D$Ey{rv-t&ef5w^;+ z&5~&UC{VvbAoT*`T59G??C7?2`rn46(X|S<^P=R+jY@y%!-v42lIDHz_G)IXqN-L@ z{QiFq4&%(dGyv6va(zH#I$MQdB#MxCA}5Yw=d}+|SgNvm+H;CD${5Z2faJ*hIi}_lcCo(0 z*_y16%+nd?Vz*hWY5tx?47u-}6~MUXdPRRxo0%uz#o%9gvexqf6kNXtV@}64VRt}1 zO1ou-zu1S_+sH}DUkZGt3SYI^UFH4$?BH+7BSR5;tbLPn!hSMa|Ba;N(YF}k4oP!WD)dK#%N>H8s5v@No($i1%>e?|d#?`(2T!*V70(d>QqO6z zpfbR(oU46#f2KS?H2f<)C2AGm(ahBr#y``Vk}COHGm1^}0eh`q>Z*LVzQdB>)66#f zmWf&5Tk)dS3;5w$Ir3Ki;NRYpA&`GY!JMmA;I)(xUN;3AHD*q?8D+6+6+DfC1uel~ zlG@V;rG%u&m>q6<(7f6QBo0ZPQ+`ggWVJpdE`;uF_#nGCnsVZ++!HDo=j^!1h0f~t z@Y7=tObJ$}^aKmza~|jHxOwrkXK$DYGgAZmHpatOw!zGhQ8<+@zT5{RgX4dl{t!jX zM4IXjA-OmI8;LBe9GlOy9x`Z3l(MPc!&Q_OOQpfddryxUL>6dg?t|whCnZlKpz4*F zZH@r6f_3kp7`-nUtsqg0K7WtzBgd&>le|88TaL6;hGTt)eMrSl z3Ghm4(ZaV9!E#MS=gvgnVbFhvGf=_h{Z?U|e*bYC{6Lo)R#?jO8da0XE)k zoS;N9^EONCs(0@5S@5Cc`GMHJ?`1Q6a04wFMHpn!b80mol><9k@j-tu0DoL_pzr_? zdP+`Z5nAHiPW%oZ($wsD0Ba)Od9pAKwYJU||2+DBW6H?7u2BPMqN-1c`nZ{&rC2Cx z?mQ*3w7D1M|h@kk$BM^wf9J-i-?!*}T*8qIfMQ&F&g&nD2- zHy=}`8BkTN#gx+D;jrqt-cWT_HAqoN2=qj~enh&I4X-(nlhUkPpG_<@k<47~H`Nfc zH`TCub|B*#6-KF2fi>qqwo2A{02af|offhr7BQAQ3p=WZ9`%1N_MVyDk|>8#T)!04 zDk|rah^Vc};q{Sfh2t#S0BH1nlLmn1Gux~fxVtwD4CygbwBlw}vo}U<#w4`C5RvES z0Dx;PP3{ZySA9p3Yekh>A{8L#+Rz@Y;gj&lXKygm?;JJy11U(^M&2-;gf@@Za!r6IQeVGqtZbx zk~8{*Ku=s6wzS)v``YURDpaQtyO^>XId2jr5G2(veF3k$YA4QvFDJ2I^9wexca==_ zEl~%+#TMzdNnZ)i}BY9o&k~^q53_O{JCUcP)7$Nf6g1L?UmdNvrUBpyS^jv zj0PwrP=kNpBq}oJ-cjAGc@0$`x;MUxoi{G|9D&<91$*~8xuMvnDar~!*JHF2k3QNwPY{RFTRyFo4 zG4Y%oyi(2SH_KxI{;KaRD<+KmJ+^f-lR^S{PU?Sc&gD*b>&C61Oztw`&A#!{6v z)zvEC5$YW;w_Jt5`lWKqvyL=y;9Vkcj!m2i*F*KD4Aj~$Am`Vb*=w`P4D;UKS)K|T z=67Vor3f=Y(Z0T6 z<)nYS5^*zQ!%`pFLqF*mrSUKwJ1yzz` z6Pt1+)Tjk7K`l}u!ttez+RCkqT{uTF!ajei+jk_sSA7r>_8!5=2+8~4x}apfNMuj< zTwh4yOCpBxYAzkIIWd9yj;b%%VroX!g+P>2FO#fLL^Ac3Km?D%d9eyGZhQf?rck#~ zS$noQxVdr!2#Fi3EA9=U@~+-IGE3h6tc7RRh^NED^WF28LS!LW$?u5Sr2oweqpp8d zy{GIiB-1%N4|mlwXB118io`Vn`7%IRDS1Jk)g7W@-BS&qY(w+SSOHuFmfoCem^sxD zv$qY_y-o?-)$__IHa<$3F?CZcET*=zNZ>7VYy)GE@wr8PwX7Ga2KyV}BxmP^CO)-6 z)zO7q?==TfVDY!7gqD`kB)+$2GwOdyL*_`z)nvo?fmT8O9|!L+`cuM@WFrqEoC z8k89Xt|TK{Chs>`I!$r}Z-gv~HC#yAo+EiL=`jOtawGM3o-f{o9JRp1l=lvd0h*g^ zGb_iH_W{BYOia~g)PYZ(PaH*pVXi5@DYER19h~0Qh33*8GwkRfm-$OMH^hI`>N_a2 z---EIFz$B#!ZItd)@wSO>CD$$W;%4DKo*oVOEMLcNDApuW8q5a+vEt%E4h$emdY%j7^rXJg+1VipBW#Gl9>i38Y zb#1Q&9m|!-1Ufurxxce3EdPI~?*K&YeHNr|ADMBmNX>M_* z%Y<7C4za$&fpI3vZGrUbDnBIPhTR*qW!hQGJ}BVw7Te|6Bm!cQlmAXDXJN?5F{$4p zCLzT#B{2HEt8np(Qf3?Mg&9$!)qR>TZ4n-XH_6^koFjR|j%@wRd{lq-Mak6ELr&R5 zy%SGXTcR@-#P*6m*VvGuaPXw$68_IuMsVzlw(h~0Gm^5%*x^;J?+7n6hyKE1nbKP% z_XnLr-Tr*7qKb7+Au|SpdyD`I1>0+#pPwbkx3La1UwUy!URUb=s}ihYP&op@!$j$@ zXaRX^-oyjcbgJ7@<*0whnI802;jvprUsR6gHLSC}-iYUsmmqoB_y{EA)m^m$L;<%}Z_|H_V83pPmFC?wlvkQ} z*P6w;0*{n4I$d8ljC}<@FK3iXm*2fc{pP?(+j&JFGWGe9jG*Lh_9n3)E!R~Pf!UUA zb_7Lv@5okhOsWm_pqZfL%wlEE9Ric(X~^D4&RjVWf##H5<)pw1XK(KD#1d%3@6g}j zT}l7jiYT%<7b$;fnC|lT3~fEJMWUT}G;@alO`ztf--GrNq9G-;^|bUPkaMBuFNNb; z5_!c27DUb&T}A<-+&eVyHS_eG#PI;ts23S;U%umxPaM~ZETC;?S;L$JIXjMHM{re) zaEp~LCN?+9#Mh|(OqE|sqOc>NPD&mMT67zJti*=9U7vql)qUOQ8fh7k$TH3K*$7)n;e4r8j&PwreEJx(|PA>AfUe(K(~a7hmb6 zRwolSJZEQ@uF?{)#UmrqKyEMa!1|?!3p;(c@TQ+7BR1R+K9zSPM@(cGKJdsi~p;9d52j?MLd_GJVJ+HYwgV?xAwRre0d z9jrfp59TJxV>JgP?Zwd>j9Hy}5>W42ZQO;jVtNFWv_!1Au9Xt#-h^e6K})?~re3Zo z_raDg#s-M*78X@Ud=V1?vgr^x~xyY@od9OoSau1 z)X^s~C7Z;5J(COciy@vp_^eW0A8#(X9g{7Ic z41bW7%QGjCv7|n_$$M`cKDM@7^HOiig)KAhH|{*S1vLkfnZWH+g5D+liMT`XoaP*G zi0sLKq_&NcPKl2v;q&ehyfLKbyh$NB6U(;A@V_!Mb(7tpkU;%XiikK|N@l07CD=py z{P6n=Wn^zKylDe&qozjso=DKG=Un6clDk#kL8AQGzewl-Ikp{UA-Rq=k~QOI+dxsJ zc1!YwhiTh!fn;9WhFbsLZ}1LDoj3;^Ow6o*Jg0}8)xHl{EL-2#%9SEzsTn;u1JWb2 z!DNAYXB&0y`sO=ikoQ~*Npzm;28Qy<+&;l1Y3z9?$~ZuXQe%^piQ^?D10I;Szo%?Y zbjEh>udcO3BE*unKgpH;#Es45e>FB~@6Fl(P$(*&zvq%I)8`Z`Kw}Me^$tN*V+3}8 zsMN!nQFk)`aqXRQP^Kb$bpjiBok>_d$cvz0oKd9}fyTYCqTSxvywCa%^|(Ncozn#)6Ih zUA;XlcbQb!uFK z_e5p@;fTfH7D8b{S$tvu?<3h;^ZIQ zW$R;n$~KTN87tsRM1a%Z5f#Z?xLqw0aryiXTAGYax%M?I^N@kOj zJDz2<KLg2BGD!ChQNh_1f#!RwJIUKnENuRK3$3Nn$iw_SJndt}k`K2;luZ3;EE z1Ue%}J>oKnaaLPK7_fWe#z`-K^?=kX^pGQ%2cttuRvZl7=8#v=ZH5+|Z59#f#Gr%j zf5{x)nR&0w{oj3FsHsN1h!iK!oVe~s{Jq)$6Py`g-&e_S{Y$~j8&wHb^Xa&Zn&lkz zxpJaBuk^p|>*CbsDOopBtGtm`WjzvUzROlYK9h5x*u|bJC*<1rs$F4!FE?iOwoTl8 zErG?%*vHP`R^~c;TU7(j)n?SLsX^}B&eqJcyuZ^|}*JCe^lKOo~$?6VDwW=0iFj)LoXeuM#WepGKKlKAA5#m6l5 zK7Z*s=<#xF=gAwLyGoY!m-BO3oxVdZ=#1n?+SyrKzKupErK?833bsY+{E%?W)$EYC zVe58L`wiV*e}^@fH>@p+F0CwN_2SgxElc76=a6a}D|g)I_b1VRO$TSZkU+K(M^7tM zlvb&fvh2lkEieul%y9X8 zxN7(S>pNJK&$OA~!VzQVYO7c$E|R@L*PeBLcr$@#a^Cox&$L+hBKWxSJ7O$d@yaFk zxo1W%>-fH;rV0*!3)@pS-=Mc_h9>;Zs*~sJOs6W_xqFeCOJ%8fd*cVpmr1QQ`Ez+r zU81_n-uPYm%yBO@&*_26vsqk7RC~(%0OV-T3am2W6wAzgfJUtO`2Z8}ZRGA%HM}tx zLl;yrt>!=i`+9b7m$*#+9!k74-0BU%XERAFae&b%_o#G#eOaE_8xLg9n}SO1r3TJ; zEmQ8%8H)JJs1GD~Jp$(^k<5o=xQ=je!>SdNBN&8W>5VuRUg}rQj@)u;dCksp-Mc=M z;&1!}rEwjgvTNF!B)HRaP3it;YFtzor#p8Q39oaF8q94^@1(2~VXJI2=wZ{&I!4L+ zew_vEWzf}s2vl5Dk|ibHh4hmn+_iV|cG>WFW{w)h$9uEI$di9iV{-(uWioOnMH-i9 z>IXZHfu1+;yIUgt)B*!F%(Kn)(>b`uE_*r=tWq8({5SP`n7ba%l)y4)Opi|)bTUt) zxD1+u>`m5GW`rDvKx86eDAA*cW%b6@x}|O@QGWWt)9}8j?3-=Ch0~iS-%b8!-TpEn?`OuQ&ihSOjrJvv34SViHy;lQ5SEcH_!W^rKwXw@}+vnsSu-K z=Px~3hdI}>eAdLSsBwokJlhD0Fq-N+@&x$}QzCSjr;#28IG_94JIhayy-mst<(g6j z(J5pbdGx8>!iIQEa<0X*WI(7hqsOYXCO zQ(|9NR3gD5miroV@t!X&5*Hc%xu#-p@7^KY2Wv7kdCcC;1}qQFHJW2%2g~-YRTxv9 zQ67k3jKtk$e%({+#Fh5>ByJtPnJb{jb_zGXw6a+STA`Hmh zxUc*6hiz)h6+ZF{?>-4G-u$Jqqq>rTyK+zf<=8d_rdxvLpjU2wd|`(;CH)C=d*gWUbuu_5+AnnEzjo6v-V3zLV%X^BkplgGl^U3#=BR~Pv3^S*HT&q2! z%PK5Duar(s^1AnFL`Tv{zjMK=o9Of*aqes0mi>zl#d(`LBmRW9>>S*aU4LZc;k4bZ zWXD5!Md{1edG-2a=Ht0Sm85>H>hzUQ49;iTDg|FTX>7SM75Oi76X9+b|f;+y^^Qa=+W+bI9(B$DYac%16#F$WaS0 z%$e(Za);m6oNMmz=EOV?Pexj!15bU%4&_u!Jjr=~6R-icsNSfz zFnB3>;`d6O0;0#+C<=v^_@FT&itkH;d{SkLsP!3b+#edo>=4ZJ1*b!oL(3$_*<)u zblT2=QURT+oWBPt&OQBq{xabpZtB$pZB@BEe~)O1Vn;bPJ0vmn*JG5Wt{dqZLHW#C zMH2E<6|KI5IF^}_5(PGsOXmVipc8kS51)KW-Xa|R9f+~?eqGRkfLz&|5PSN2)m&kS zPt|7Bp~`IiYp~U%eR_>d-$b;_xuEvu9K3`p5?y=A1G}Y$PcqnlxpUNR@{CBka}fQM zrH2htVYXZah{DccR|^H-Uug~`9`0N@7Fc78uIYL_(}!}sxqH*bxVQrBk(vWGQ}aQp zGJ(n_=it3*R4>NJ8~$VtI|;_>y06{I=Cmd5khIM(4g(By8>&#BEVKxnrJz={i#%^- ze9`SE$M6aEn!8GWdW+z0%{8E(LRl?QKseWDmeZR!$ZOt^7w*}cvz;;Vi}kT*+>Aah z(J60o0m?>Ri7}xh%YCp6Bxc_6;(+a^xH!DKraB3qQ0Xq0grQGr>&hK|@$X#flKQ`z zH;LjM#a0RB3!d*nw|-9zMVh!e==q&Z?pW%|*G7j;i-p90T<4uA-570m{hn>m8s>cs z9oQ`X*ETAb=RR=gkHlnMn~dH>tX)F#6we%+DyJE_!zk$0>^6M$iRQjoAJ5imID(&j zCt_@q_E2Nn@yH~{8ou8f2t>AVBPDZ%Hgt;q&NVfoIMouGI?oSK$&tB=vVv5=%ds7U z`SPk!3q^i^65os2Yve;@8`@Z+5HCTaIU^|~pDXiNR5ZkgpQHAaoQbr!uuyE7&8lwH zeNXQ`1jyaCs^5b^<;xwc0E@T;gbA40Gf})BVA&8rl)?73%hZDgV%)(DuO^A;f8{EY(6~zT1`=YU*NZ+RFW9SpKRW|hq$Fm%nj~uK`GE$+VQGL~m}h6Ua6j&`LLJ}za zFB0{gdu(nUYgcnX)p%EI%6H@m7XDyJ1iV?vOG*A5We-w3<*Zc&`?N* zRgkAduGdj09c?ZQ4Dn*9up{(cH{XyvBwN*gya_YmhD!;ES9#F&#yTv`j)b~VJ}#0& zzSo-HQSYPtiTJl635p|^#F$?>2b0XY%F5IR(?g+6NLD<-agz_p1957NTA9jZ(9#Bz zOvSTEFlhD72X~tl+O@f!fR#0ZaUScfA9b`JN3Wc0vs-C{+PwHf`a1%`<$u#=MaY$Z zduOm8d>I=ZspsIsHCLI?Ff~%)DiTQ|JhtV^DX~EPuX+1GKvYCpZ`6RoYy%0Y&s5se zfDhemlKPI~MEBkYvt+BveAFA({k|z!yKc<LITS``pl;JJ%9Z6jk!5x-=u2^+`haD^*uD&C|Gi&tfP1V-If|B5zD(?!3 zSYL6pC5hh)8Uz6Y>tl8OAuIN=z<_OcnuY0&JoZYD*7UF3E0!W zRES+NT=ga(OubDBrv5?{`i{Kjvdu^isav_<#HQd|>pKEK2nbR_xvU5jgaJP7ilhw5 zJ1ZrV96Z4}HjE!%_BAACW$K!*hUz;<{J9#iOVKdfdrJSN6o)eQBr!n7`W|EFj5@hGw?Th3M+L>*pmn4dm2pU!PfcVq=e&*dP2Mh~d>0o2RWlisWVeuZz4k#^(7IVt2nxfP9yk|yZ8NYmFHZ`d{n-@ z=0LnLng2)SC}6F;4=|g|m4B)Y3ovaN5*38=)XS^@o5-=9-2SCq<73c zHl1P1&o)rJg@}Ut`Ut+{&4-OK5xLs%K&JIh0`;1|lsj{6okFNW&72%H%v$9{zNMx5 zU)jO;3tL(1y|VEH^Xof6W(eh4f~h!H0a)smv8lUMgryjbjQIUt(zihZNtSowHN&9i zzP|Wp+se6r)a6NQm%AC?My@tBh|etN01p3)1a>m-#0Qt*m0l@z9fwUB-yxZz2%I}FFH?@Zqs^(1PCD8hl4Gk@uQmKjuU z36qWCSSJ`N&Oz<($X7`lknT3U^ECr{qOjMFf8Y#%YU_Of_hIL2MxW}j6lOtYlxRia z>`3rfPWgMpqm!Xl8yTDVos<}=uvY7XXE zsn@dS9k=YV$@=y%xmcI3evQl4m{N{e?TTF44teQ8N z6iiRPW(d}tp_&8a_UOt|!Yh`ME}`W&he)*%Gm^{Mk_j7oN@S3ywF@|+D0S`~77H_f zBYPW!s(BVhlqdZZptUknbKZ8GJ$<%!*;*9B`#skUC89i7`x17;I zh?23;hXb5BP;$WTkO8?57~53Hno$xuaY|rY)90X6XLD;Aff56W(gCJ;c~bK`w2+Jl zun2(nbG0wpQ)?Sa+A2U--??}vTZiR;=2J#9+sFn_Z|mcNnM-?)L9K3yhydGsq z$nAJ~1M54(I4d+aN}Ahiu1x45nKFNlgbzI}h%x=~1h7l#vJL zp!qf=4P!aY`(UJ-O=-)Js0Li;Q~(N7WBwkN5w){^DV!fTPD-#NC6a6qA+`?%703;F zdiBO)X;cgHct<$*n`n{*(CkfrRm1caJqPb(;_OIxFnVmBjC{8x|0wNMx~0nCckJmk zHuet)c1q-M9C;&I>PMmAMXZ(T~6 zXQ%=BOW!=I8Rg*_>&mtQfF=?7;z^BajEy z-W5E!AKc6Nol8(H$2P+Y_fDKqQKePjiD7Z)S(xp`;%XUn6x7bh`@mzCxv|<{oX@wO z1Sd?7Kzuv>qfB=sH?NuiskK3n;*T_07j+h)|(Mu&69w z6~N_UsQ-}2D_I(97v?X2l?ykg#x;_+-x)_oS;s@0XAZZ0Yj)av9{rZA5)v~a4M_)T zo}*q_X2o_P5AKxzne(>F4^EruX|a`is=3ChkvZ&dIj$b)ysJiu!bBMWj}9)i{LZWn zZth;3^ZdHm=E6ObqsAz~A5m>~%;gysL6g#)JrHgv#WN!Pl%55D{9E5Su>ABK0Nc-L zXAKxWBP%ln!9cGsxHP%j(p+;_$=s4oQzHOM&RW1S!Bq?GJMnZ*(|Ui( zwF11&@0_%>ymwBXtjgqs*c*}tekYkO@5g@|F#gVNYu$ zbytya{O8KKk~qzB1hR=T??V9UbN0Mh)HAJJ8ME%|oP*bh%j9W5ymCchm!0Qy0USs*X+mQVfA>&jGjg zBYk!+_@T^HmkW4%U0cpIQl}-Ov9j7;OGcnbzF?{Gc#ie1Iryk&lu-m`ee|=^RMiG^MwexB>T1-if-gI9;i^x| zXpoc3^vT|?2^)J!M0t|iUf_Q?L9@42+F{?8>+6jPJ-~1`qHRq z^3A#pJV)Pr>&~s3YpSHw(RU(-jE>;Gq`NJTd;L=Og7{%dW~-g6fH&`*u@6O7g@kkO zY_eH@d){#10dCg_2KibdBwzUK&a@~gi4SF%vNx=CeUtC-U5P)y;wgtP=RowI0H1cqICa=j)U8Sl+J#_f4Num^tro zjT-H}BBLo$d%86ToECso)#m3gdamiI*7=lwztnTi&6T|^usFFsCuBlv_~Kd5wCnMA z$?-2+hUB$pOq_%v(Z2_SRoe>;N;&@ZdoCG3{Q_R{NYanQL5o^A_uD0KS8QePm-2TV zD|n53rpzLdJn$vs09g5xj7F#n)z~S1OA?$7sk@LsB-L#>Nzd)ve-a_j+6Tg_g!L|e zs2C2OQMV;dDO95MI;#T0{%HyCPI1ojL?a}?r8&(pci|@9wqq*Po)HtTD}Vc;_9WmD&Qw? zKLzXO_0Gt{Fuy?LYXrhfw7Zskz$Q|Eg5tSnM|@#RyAel~?Uug>09^t@eFtkd-iDSi z+VcGHs48Y!ZARK|;vi+u(Z_NQRJ=;g(lOiQLuugF0|j z_p0yk;md4G3D0)wy~3(c0MDagG(fDW%(sju_Qv@VUXN% zk8T3onOUcx2BW$(RTXHl$>kg<3_cZCG9zN+7t0;LQy~+dI4SYjek79T*>^9{6U0l+ zD9M)-3{*KMzDns{j^NyHJljiuYIYM=G$H#O!AalARe(pLa8w&`jw?NyF8B`}GTVIU zNO`{@#P5vJiT*|(%-;B(G9oZY79?p^8yeTzyZ3r2GMc02z-Zlnq!1o`lVe_)qDQu`S};xf2H=**k+>9SFI!?C zq%S~N@%~5@A_;GJ?on~o<;dBQ4e`hfWy+f>nz<8Y%A4%k2M7jkeHuqCpWgBEw~<6u zZytK!tCVbl5A`}Di>BS?YELS4r6*Vw+yNo2?~F=vi8)n2@~KpRWVIQw^2}clXiFh5J91ZZo?gts{kXDwR{w4{Cpa5!(M_+D1Qiv zvT!+X^MY|b@0}TCPO`6!w0C4~^?Q_)eP&jSAd{HDS#7vH0DN2WLjIBx@Q~Dmz_=bb zu(Qp~QIK;jd!T)P_)28K8s-k+bXhY(I9zPZnHs?+0F-`zB{abdaz^=x_rCo%8f1Df z-W!tX^oO9>kz1E%4rLv-)f)Bw;Bv@S*sZ~rHj{LjT!nqUcXloUaG14RpZ&OPiTQc& z*u2xDiLXb!oGE|L#etq@!4>~ycBIvPSo?l;wDdtz{j3>$N-;w0r^V>ByLykYc|H-8a_s3m2m6# z3`XR>DXtBFx+(Y0rJh6HRZ!7yHFM%SSfpR{^^`~*%UcX?l^}ePpBMj+(!p_+l`Of`I2kUV9xDYbam3st- z5!77;A`0|V=ZEBth_Cj+17s~ROaev{#Oi+g@EvCrP1I4lVnX%St1mD?KGg`|IY0wi zGO5H=5^TWSgDF8~bLCE?RvCGkn`gZwQ zwamRk;@IT~ATjfuLy`-jQv5WgKG=;34IIui0U^3dE&kaIp4wAmb8U`@t!j6?=FY z)kjay4+$tvo_a9Mw(FHsx;I;l!Z+OUxu(*Co2&AJp|&#)J{v@Czx5l&g4CWqE`!$N zp%zCvY0WiY_MW~@)iBXg=Z&PQ;hH`n051Wk{*GHLbxZuXcbw5VHr~99Kz$UgXa;+K zbx6MWt4Q$h=ho|_(P+0#pU8b9I~Sv4Fv(y9V@-sG$TtjskBiW5mv zONlezxBrD)D-ltHo~bKmVEKX3ud&UeMq|b(@!v6$Yac+AC@xla{H)*=LWTG}BmggU zen@2F)$EW6R@6Bik|XW8`KCNRH90M?{Jfr9t^$IwM#c@7Dl}$|nnXOQC0xGsp5h>XD|eA?(6FW_ zSY>kNX}1}Su64UOZ#;87HXgII+U%QYPfdt__I>qS%d1wUw|>tP8*zGQ;qOd!?onr6 zj#&1F-K&4;6S+yZku1_kOsX<}meHIY%)ZcuH3CW+M|n!%Ff;l;gL5D0B_I)1%sChc z{fvCexEmqV9KntxJ?9M<)t+|!j414x-j(@vVvETgFD}zuZo^#Q5vj3pp(tIEl83XM zGYV)i_v}nifaycQvJFd}a{#y@Q9MVm!#Cym5gCHH$u@_K_}n3wDrLBTSDR7Qsm~l1 zy!Hvn8y-b=vNssOjQ`9+%OdvGMgvZ}lt8Cvta_G>@l3s!2j|hbzB7`!FE0kPmKaoy z;2Ur2>@jKPOMxM<#@ufVz^shw!DLCKZ;)r77bSP%e0VT&ABZzGhsvxfC?9(LQf`v2 zJs`0gh$!3G2JQKoxmvq_s)yhhzO-CzChc|R?^&=XwpN3t_{;1_;piyBJc=}CRAk16 z)pgXAX2l$vV`Dd7nH?qV-OJr=Y{c{Q? zCE?+@*A5vKRQfd=_Gw0j=20XowRI9G-u{l7lZif?mBiUIue*&WBR%!9X=xj0en(6%y}AqQqtSF?iudM6BJrZ< zT{Wu3GiVezm%Nd;| z03{k|VeU3V;38bpEMg1BU1h}b_h6yOT;D~Rur2+66oOVynR?Zm;%}I$Qo_G<a}IYjuy+eXfp++Dl1@ty0 z>x(j!k`0V1f6t2fCAC4PN}a4+pA8{?k6=_O$*Au_xfN=vv5Af;E0vN}l4t&&ZNIM> zr(Fzx8J@a&+c8h34`oqEVapsSH4%7T^0riQ@s`=2%TC|v+Y)AON{fHlVRh3xxhNhl zBwfD;cM~qcl#F!Ed>1^8Yrp8g*UhoE9GB>S-YzFSBy-Cbqz#=XPBJ04s!^Zo=js_n zM*KymP`l%i8OjS@U8I=xoeRxQ>s5o?I3qTHi=Y{sE_)k{Q+etEXl=!4W9NuB*1mRy z$ZxFKSrPs=Ux3J%6uMe%5^Gu~OC3fq)jEwUlR)Lx9JS@nOaP};xxad|aFah|f>m$W zX7RwL)W@&QSwMZtt8ODR*7xL0;-84V2%1 z0f_1ueb5^+(`khYv$3l;k7l2GHEcf3ue=T?TY8V7u0U~eu33N*KWYR&>&k0NCh+i< za1Lg+inomBkZsU)x)kd>&|0m-!euK?k$ZHKg`5~O^odNCoNM7hA?_RjizQ!8zn{(B zZB%|fdTiGh&nZ8aOpUx<29n3NQvjRAU3=>g-RIB@u_`nu-+wY-MlAT9V^tg+Lds$Tr7IK3+)- zTEWnizrX3yKgb<(A*M;MU77QJeNlBt^!>)SlpVp^f%`S%5L~ zWYh?hN^54{)u!%hLL|_JIcmw^b9$WDm1&d+V~meq7`S;R0b%myLyRC1tbUKWqd!9yMEmu&HFw;EYBlR-*JFdy-&&Wab#o_K@-Z`)LnMS z{q$h0J1lD2w5tqqPf(74=QMqP-s^s1xz2ZCRHx`ua>)J9*zPKXEG?!+Ad3XSS4uqf zt)(5DplM^QfYittvbRJ0C+`EAcjr8y;)UAIm6Ozr>$|>lQb+qWLn|U}HQNlt&6N^n zXkzA8d_tXhvZ`o~Wu|(=^K)gqe!aw4GK#HKCg4Wy9dw6V=EAMK`)lTZ?XJKfTh{-9 z+gB;9ZZTOb*okW8NM4247J+eRC7)78DT@L5h!y9_tO%jEIDd<>dhsJ zHcyIuk6_f-?A{hg<{kmIrM$1l4Ua9XM*V!<)OTr#f{?kZI0n0_yPPG-b=`)mv45#R zPM`V>`9W9n-b4|ac?>d-tES$PAz=sBFGX6{{t&e(#CGc@-$tE(yTlrjjQSAu9hpf8 zZ&M=9lyBqaLh6e1B(eu`AFzG^dFwmx`L(1Sytxt8naeix_4LT#n-`$Vx&GkyPyLO4 z4}_6(FlyGNXAU|MoFacIQ1C0Y=xrX?f8M>gn;QQ{8AJw>tF0J{V#zf-vlUIxk9u3! ziSh(11*!0I_O?xbOYf>#aj(>OAnl)9qV~4=WMky-k;8u5bLFULu%$INp{_=JZp>{t zaT4U$+7j(RtLd7cH2T<4o@((b!nHHk+n zPcZ94NywUOP@v{|-3Enm;zKrhEbEr*|?K7947@;h*8>CM~DUFLnR z!g)b@=PyNn58M3l(xzYyQ{NG~>}qyOK0e-GzN1cZB1bl8pe^&Ww#yCM_oy;%;?*@f zir_wb6)uVVsX@xRzu`%Y-bfT&e5M3K|Mf+J;H6e!zpbF4{T+OrId5z!sh4$!?4Fo2 zbv}|0%77fT`t^yObh&(CNSAxVw_T@^qXgomR)Kzh|D`7Mh(mfdYizhXXca91B&)MP zPi7m{X;hOMty0eQgSL@3lF076D|EOuJ7-h*vk4l7Z!><+o+ef zGiTJ*FTJqF2D#FFgZl*Pk?-j~s^;Z;3N`PX_6RoKqC8ouIS7m7*u1Bi#fbM`W?Oy- zDS#~H>PjBY!ThcB;7%IM;x21Y< zK+`!kHdscA_qWJ<@>5s?VUgT#xMD;y>O1_5LINpapeAdO{mwqk9sgl6B@SPk&z|1n zUB>FtXMxRz1gOSFr2u$r36{6qiL*@3)CPChugA= zXqS%B%sjgqd`OXN1T4L_4tLbkFk{)qhx+%7+8r5p-a)Tq(`0Y^V@~^Ymn(9%_JkS1 z(W>57c1dDAcI99^blJv+ODl92oZ>IaHrsTiKV)BbMs?mhBs|F3n|tib@4*k-cOutz z^T+S-VqKk_L|i`SVAOl>Ta4wZj9HC;ngo+sN`R#@D`scY&R^PGZn!*+sI}UMvQtq$ z$pl66+7r{b?=vW9-ftQ-i`c#o!!b3X{oui93Dc;xPHt1iUdsyUz{wN7!UNll5(Hi-B0uEHpbpuA4j z0mI8xp1p}GW(@3*t)hfVwRr$qB%b_uoS+u@OFau5q}3bV<1fEQ+Pk=Xw?V~QC+k2d zdrRCPiP9b28-!-YgJsLSASZGJ^LtPK=<#H=C32ob-fpfbCV{RO%1;k}l$<9^iQF~u z2QcsgKvRzTpx@TLGvLa5)`=u}9;wHVobzX|_VClE7AmNk?Tnq}&VnD(BM z-l~n~$K8_>ewTiKymDRDL!pV6tkLX^_LR7^<3mU4+w!w3ZlC)aeN@*3IFQeDZR0~E zvg5QAyXPY#P{)kxD6_OlSlp!_zz~Dv=E|WEYjof-LtiJB4MnbhJg|IAge01C{*aW} zG5!N|rXzPl(vhKKStXt4-dUhq`z8mbSQ9aQ*zTU0+99~PC3B`^lx)a-AV%5QUI!fH ze&oJhVRaM1N{z=2ly^KMRMFuY8(;thDkUf!Gxo0LrD9z9qHhO6;G6^1*0;>gJ-9(1 z>7A5M%x##bai3Iw1;|~s<9ba5>#@t|>V3T<4o`dTP~iriu4ab><3&oaR2?}xIO8A` zs}0~WIO-Qk=c6CTGSCs(X4G%&@2nUZb01(V5aG_=2HYZH~vdBaV&CQr$6ofLR=~%9F*$5xA>&PMr(-PLJUHf-yT`ClNB%2y6rOP+Iaq zy^@j_PRyKtQN>FdH^@50iuTIhHU<6mls?~ECp6mrbNHEIzFH)%`IE#(NLRquIDL8+}ze&-1^m);^wqIf}b1h`__$EA|O ztLyfiSV6gH>-W6I!(H#($$Ks2S#4xgwg2rLj26j%AdI6P4@TW@=O{Ornh?#OEt6y8 zT4^>PIN2LM-W)aLVDBnX%}3@3pM$X=nFvW>kNZ1r(exIbgS|KP1MyZA&-DhMg27$s zl>|L^&JMJg+~Jx7Z;VJrN}lMJaNIy;c zR9T*B>s$F6IY@cCTszY4{tgt#yYBdFXzPg}BKg7!z{=tut+O!hi9KH#l8=1Fm;<~` zYAx08xo)tiiGRb${N8i-j;w+!GwUvY1>U}l4V&GZXod@Mppa*cTAtA-Pl+~iIP&+v z8g{L}0j`zuR^L%m{W@~qz((fO1}|A{%G76X>Q46WVJ&>pt2;C?sj1nUbx1@z48CYZ z?zbn0eA;I8SE=$j2Tw?Xe4Q`2!DbLvD}W_YXMtz%iQ%$-&kLt*qWT@i*OGC6CM9}r zorQ%D)7zMGp4i{H++w+Mh|?wE)(B_^U6T`4KNN4> zZ)z4{U??r%nmk%*<#$dcQ7`jur5vz32{qwF-V_b4^?zVU7J#&B)&AU&^-TW~aiOOKpI)+0U!tdy60;2wuZ&~xcR%6wvJJJf?`uU|o_!x+ ztVUsQD))j7jRbGt4BT34*OPCxDYHXzk_S2-vwBI!=={;MJ=-8 z?9I7PB+SL06FI9k!!}F(P3|d+KX<&;>8_K4-I-OLr%{xr>n3T#OOW4LeWvG4j+#7@ z`aP?e&ZvmwcEyfzY%7YJ^qlgzbI0dhwMuYItKeE`C_UF3O|0iyBJ!LlD(Ny$@Y?#N zsw1J|NQn_-Onekw!N^sAZRDH5NVWvnV@t{4D9jPC=brsG+J<{tdK6-zhg=`w4TWQK z1Ttwd_I^PJw%48HB}puM!|v642WW2Z`&tE7wWO;zV2@Yd*Ca|BbsITQd0zvFa4lyW znBYVVTw+FU(rj~519Bfwi1$R-3Rd6~%2ha>h0K+|U;rN($G~2HPlL>TO{F;cEg3m# zeHt%2q~8T}C_*+h2OfK2k(A7@Eh`IOHYxm9wt*PCa#vk=a4S~-U_3a%|wE_qSptRT-N{5#`{0&=iBv;fgRpm6JV>rV(zk0{xW?hQWb?}UH^yPOT<1p=i)CgXyvX}8T>TOd5JWu0` zZdsO|HrS#oUNR)jA2JFUH#^?X5*gt&>It(*#ecL>6S@#YB;r|Rxsr_B*!-oF8kU8t z(S~QPbmbvYVlD4CT)-58`aSR0d#(3Wg2JckO_3m)E5zqVa)i2hVn89QY3JPVsS(Q27cuLZbY2)n6DASr@56LeohI%u(}R_bqlD&B)?Ayq)Ex z9`&GcGUs=Moh2#P2u{DJf9dHG={x>p*!L+p<(*e{p+`juOto?>t*;ALJ9>pmtV&nOPoUcd<31C9c8%Z+0YlD+4_cdS~8!*SFU|r(* zF#X|f$}=Z{0}DiHTqxe;miKoqM<^w#c*@nNl|y;;D!w%QxbQm_wIbnqs`%WHyb{NM zMS{;R^_@F!2+UZH?SMO~w-H|Lp$J~JQGo(DyCpAEmy(x@qQ5h-TwhEN2I`J)CHbO-NAQj4u!4G1o@! zDtIxq6>APY;z<>GfMQ0qT8NGz5hl%jFoITv($NMMv~P-8jnhKljW()&M37sOibD)};qb!$cy>S{gyzRak?j%>4xs;Mbq1Ez(4d|w9N zQqB(Y>$&n}KGMS!+0K0+_CZ~*5eU!OiYXD~Pa7SKSsqyK#B~zM&rz?lnOR4nq~_uekrqq2t=w`FnX!EqAlBL!a7PgcV^#CE4Q|KOT{bsGpT_O- z0Orbx%PfVb_((S9&CBb)9YHQ&>4UYV6=yMN@C;k5)u& zNB{<=95v8(#Wl4VSqk-kE|3i8ZT2RMzfhuj8`ekNRV32hYqcK__fGn&NM2i7AE?G@ z#B~~_gWQ#&tx=;{J<^h(B;NMQS(QX7ictKPBrwi}sh9CE=tpzj+^<`{KMyt&BdkWP zfC~h4O2joQC*KHQcncj!BCo7hfuwbp!4B)Cs}Z=~9O0A*RunIP0ahNqh}6Y6$p=Yp z_V!WqI8UR@*k|fuvI=C{=DfWSB&F{bx24pV{-ww3)^`YZv(imDYC272tH7x8LG(t<1D5wBUshO%h_=!yDjoN*fuIVcT{JW z5Lj<8ybUueR}RX50Ovp$zX8~$fwgwJyOp1%D5KDd83rg(>N$Y`wbqPeuWL! z+lekFcL>Rx_S^$0G|HMrlF2%~va)ID3EDYd~Ak@p70=-J|hiJ1x zd*rDP(QdQe*!}<> z_Vsh*P30*ev2-~$84ox=@;fj(Y2|35{!Z?Yr>YU@^+4PwD4(nF!WEYBAECCvfKX!- zgxk+Lr-QQ&NqV-yPTptXwJ~0EMqz8GZo}M8&Yt0Ke|XC7s}W2zmy9!sp7P1m%_s9; z9AnSkV2e^Gx1zVR@(PUYOSUn|_WhdqW4DT8$!51KF8v)B>)0Qi3|80X%BSb4#!L6A7#Z&o(nOYVP+4 zkyN4*$j;ux@e@h*L?28S$~HSUdF}(nHN7X*=2RmwkxDY7Km+oAQ(Wv!+gV9>@SVIV ze@?u8X=f>WMo-Jv46%n0ca9q8RWbX1hJ%;|l5Gyo*8I*TyCS1JqXZMmkLnG}+m;A@ zZ~K;VbX1s@<~*S7x;;&s(#O;7FWh70d*zB=kH-LO^F7=k;RdfJ5d~NNe{*dCUG^^ z*raqF#qFrR0gQ8M#3Y}_C%&w;l=S@0iM%~m8^Q~IrP|C)jI?%bgZI)m#XKuVS-0g2 zCW~h|zaxU1F_z)LZ~V3FFdBZ2f7(Il=%w%+)Lyp{6iMq4+(wpK&Kt>^xF@BNfLr@J zSd@!b3iaFI#C+83EMDh~NxYU#5#=v!5YXjZ)8lVxNsK^&(!x0ce#Z1Uyp}Iqync@y zwbW`5ta&tYhoI{JG6zC0XXY6pLvc#-j$c14%F>=*;tQ=oBK4rC=DmYJf4?;$)r-N4 za)+#^Oug(4liHSe7fuhiW%jmxQ@yPqt4KNmPK?)uKaarFqO z_lieVn-l!HUuVdxBjZ0Wf0bUBL<~^xM^aUOXICRWR}Nj-nRYOEKGh-Lxr;BWDw_yz zfV!uCpk%|B*UYocXI48AKZgn`HEQO{cuwM%%8-T*yjs%i;F$I8-i)83E_}?1r6y5k zsB{+|94tFIYJA8%6*V@=jmb;R-+=izy*=!_by3xatv0ekh5J%MCr)&rJdO7~b!BhQO@W#0jXN(r&Xb4XmT{TMa<>PN z1XL+UZP~W8z`%D@f1b&?1|#E3s!;MJL0YuX+1q*({7%WJz?!pz03s_$dM-FUibsY7!&>h|fv&7Dpp6{DULS-# zw7wd(q&DwxN>)t8TT1XvC7OHM+?JWOgv#{Q)*(xmB+mk0bYu4?Dve9K#)cMwZ!RSh z&`r((vS@6gf7wPQ?PAdSOms`-HnI(V{eHLABH0s*Bk5gn@E$dO@{BGcyFeM2qn4#0 zpS8v&6MD_e$KfWK6Zb^&{IaVK)x5Vn^-5>(9u_8NrqFXMqtvEmrMy( z_5P)t1f4CZh}qL&&E7n;X@NOCRN^{6Z=f2fhuPaE0@aco6Gxo|&q_yTv8}$PAcUT1(6?qR1WrDx7t`s&OE619Nymo9@2ByUT2e;BVCoBEA&S~<`uAEtP< zS-ob7{SrZt!aX{)V=H6yNRV zXGvy5puVvR`2y~v&O@#?Rq&lY2c`KaR`;4~e)9IiGLNxM3E6MH5IgS_d@75 zj(7wL?iukUQRXMtXCGTJ*HqD@W+If__-YRZRNT9>+ie_gecrIrkURR~1`~bHfBQ{I z%&AWa$=>UOpu;6nD|g@?NDu8O(Ax|dqpXSRw|Ya|mkh$fT<_1LcRVg$5b*3x&7dRC zsUj|)#EYq8iZ?aq8gzv(xV|I4U{O;7f6!+Re&|8k%+*2~3V!^fGslO@m zJ-5|Hvb5HD8C?2Q=|R%<>z57*f9HS90cVIQCjv-+iX$zvG{Mc*NSTBlL6 zui|304@jskb(4?e*jv7*4xBJk-J_BSg<0y=l+-0Ml&g(BSD>kWDZnz?f8ms@vWn}i z2f<@c<;p!zl&-lGVT(SAdKC|UE74RVz+0h?Sxao49D%%(BQYf(@sc&;G7`rq-~AoD zIQjkv*YM2cyg?m_KGdlBJfN~t;+acCA@%+NX_sw=#gMB#&`3RR(>y|}*&BwA)FAmn z?q_-yNTkc;$&z;OdCc$de{AP##srh2mNWW(Kbc0=8(sZz=4q62@kqZ55Xx&$&jQm! zAS3s|xZzW`{IE-!0SNGF(3;n%UD#46QZmYgevwQ^B726B<8)_l{G8nwd+ryOmKmhlVzJSlX^NT%df7D`ANAF&-DOK;g zjhaq50yK^H%sT&wKw-_v-hMWkQnFKfbN9kZ;X}+eA_9qX5K5w2=Gj*Eh0#*I$*bmE zNC|vxTCN{hDdn)bjkLCWWpH?PR_2G*){F%t46WQ%%HPSL%Mpmzq~@*U%5CdcW@KDv zOivq}rTv`?KtAWde*n%zE+XJ&1LiwN!Xr|@XWKqm-Ex$~!G+kpsp-+9MiaTDr-XYJ zd@_H}?k#D(ibO@%8uhL&X-3Owwr@DmYy-KNXu45QNqx&|qvpw$XztJPcwXsC`y3v} z*0>Iwerbi`&z}ITa|CefU&bc(p81-fwJJOA)f>XLW*G%ef8OO!-_L$WOhUCoq zjYNpBb}wGV0mg|rn8D1OKOW=nO*kdn;7v+g035UR$q_L0l!vX}aOXbLc2=Kb)CKWB!w*|J#SDGcTrD%pXwFzQZe_)Y`#ZG3e9>i+-rC27#D&wN?gMag zk87^CpbX9bS?VGRoHs!3@HWE!&K0C^-TN_V{?S zjU`Pifoybv`6Jt`5l+Dz5G4)@cM`qEhXsb<*Z5pgwx!O<;$XaS_gW5j%xDeFd zk>zI_P}Q`iaE413$+HbJ*WND?3HYjdF%;W)(tT?LcqpX!r$j<;>b*0~@|9i!95P6h z^OuU|f4F|@I~K0_)@RpC`$Lonf!)v9F}TKh%m%lo=1uZG5TRv~{#c4>*4nyx3{?QpWZ_a2e$;cJV5vWO% zTFtz&T~o80OUBSyX7?>IS)(M) z`OLYNsiA&veh2?(ug|9TTA#Vi#HHmr%hc$KN)X9t2688Im~}QD6aC$cZ8HR(@MZm; zU5bC-RXZ!V??g2c)u^rBkP=+2p&ZC!G7cy~jJBS0ebA9It86~7SG9Hv|Mp5I+!;$R ze|%nzn!V6DHZus|l32res3Cp3oY=4u2RVz&&`EOyIQ`O7KPx#eI#g{g#H6iPF+I-o zEFegike)A~8X;$|!Zpr9j#`N4`Z6|bSgju@fzkH%eDQhrP2nStzV9^w~e~R^4usU@mkVQP;oe>TIa4N+;d&5VZx)@wG z%C>HU;w)!$VJ}dH>N^AIm&mI{c>T)AkSZLIaXD}JZnu0F78-uX(RrR=nCjJB?A@*$ z$S#wMUGD-u*V~%RaCEe1vkw4gAPLMhm80E}$OUGu@$n08yk~mM7EG@c_F4sre@<$)0(Ki^_pl*5p*sf5I=#5hy8j9=UQeU|gRcrLgGu^-E>atm!cWVS<^< zvyB!3jY{@r_vX93%&JyoX2YUxA6~)gjYNHlmJD8il<+>KA9lgEq$F~-8E~N7qs-$u zqc02MT6C|~n_7Q+`iPg6MVk@Ag_`>4eZ4Mx(fu9!H#K~*VET2Q1q@Bif2X>v(3^>K zSVROMz3Z2PY&X*oQ|7s*&c~FIrI2?Oj2VLP{Eqt|5ub`Q0`cZ+wjnP}PO^nV)is~r z5ew~8zipuNxkEN3AX*FHuxk{R@-m{nxjyL0o0kp#4_G)y;DT*!eUX=Qq(4y{6emlb z1qn7{HZ?my<6SueaFJ%$e{JUBa?akQh<#}Tm(XX9jiFpj_O@dk$$g+;P;;BeHG|B~ z89i6JP~J%Au8L;vof9i{YYwNpk16Ls+F>JZmWu_LwlfLjMvjf-z4mtmY+4JDdWo&2 zW>oDC7H>*iV?A%zI!J`G&2AZTt}nLpRbS*oA&#q=? zg*}_{-huIcpiYY4g9Aw}cKuSxlA>@mqe%E%@-?G_p6^OOtjfkWW_pfbd%Y8_g%48+ zx<|Izu~p`bVu5|8ryj-)pLdR0j?FFY;1xe?S92hFat74ckZ#@5Y8y}EBj4>6Dhzv5 z_BO*x^Bhblt^^#n_|?A) z3=#DmIX2Bwf3-^XY8LWUn1=&9dt+s#mbT6+9i^p5LO)ouH<{hNrrc6<#-pKFT zT{WE3L*eu~jR;I`+~L_9R*m#4Z+95@^aOAB73)@i2iJIdi?;hA_E9^YaJv)OR80_0yeBK=adh${bEWw4d8lxN6y11u@Rg43wvTPNWS=cMZoYH zf0h`58}rd(1Yl@hh|2Nj^vVtK64INA8XKi#? zN#8YZphaiDbC(~QdM^!{mpXS9D*7vJ3^%`9F;5AeEQ8CjsX&x*P22j__YMh$mnnKv zxr0-;W>ggc6ixMecoWr_mc0q(r)O}%RMDXKS;Gd;mO!q6lARiaE^@?!l0kb=DH|o}^XIkGuw1;gqB@Z@O zj#?go=wY@|$t|-OX>VVA_$mS48|S_Ad5b;NckmX`UQzv(^P%58Pn4!334K4Y-kevmD40fALJ^ z2u?1@JlmidGSaIJG*D-RC<7&TEa$*;(OEt_7;{$}#56m#pM0NTfzp3KBC?u$XTB^$ zzCTo?W`4oa^;Gb%=0HmEqi^L!md`6^6dK3_oxSnaq)odoN_eGje~?5(I@gEycuzml zuExRM`+)oSk(TSe@{A>m*uG*-?b}7(?w+2;oy%-nbJUz%ZP)KmI?ch#ukNnOeLYb9 z8UNWyURUZan;f6MJu4pFz_$Vk3Hzi!DWE~Y6Ykoq;l zdCi#Xeq1tBvyIDtPoIPPkd^bSIgnhBKQJZl>1fSPfdAQdf0exIGiwj1Gs{_%dk2c@ z%GjYc?>&*SKT9%SM(yA)+-EY%(2eKH$=~kGd->i^DAt-CBUM&b5LPFZ^QN$}a_j=%7zC1=k#Bwc+JvlbLa?U2I_@A8dNABb8cX0`-Z zWWB*~Bf?2_f3}aCOoY^kxT?T}%DXQ_sjgLi=Yg%P=Rp0{ciz1&KA^06vq(N` z`Zny)J4Zq71BowEol+v~oBnvd{xoa<3U8JcKID? z7pcR#Mfsk(%|P+y9(~FDPYv>b7vpru5gc-3TXNpImbSc9&gdM$#P5G4SoHum}s1jdoNi%hR~ z$7#i4Z%b-+ha4MLdVOccwU@fsF$>40*W;L%f2s3N53XYubAD%&JIJ1B!$+>6D-no ze@`^(At-URwy`U|lX*sHb&;Rt9I#Knyg&O4>5%ueK*2LB@g7X^SKkLLO1D+bj$-Rw zbp`XDn3RCX?_BPK+}GzINz5I>J^M^w&2f%6ZN4(6 zOF6k-583VN3Dwxn4{C%S0h1*?S-9{8f7@~ufL_nc-)7R{+RJ-~HPtoVj!OZ$tbs)0 zWyqa4hL#o>2C)f2Ma=;VOkP(?;4Cuo%@D_0mos|FRZm8}<67jTDxGO`^P+F8+DTNf95;c zbIoE&qV87RE>6{Z&RhAUgfPKs1j6fG@#>TWhPXA`K!0Us-O1I;uFW>8m!u^jpZ7@- z$Tm)6M!tD&ZG_sr!>7Ba&l^3tfN+lOp&ChQPmpx)Gp$f=Bqf7#c1BMAJ;&zzbNYK_ zM83AH_d$XnqcovYw!VrrHE(Vme@|*kuqP%S39~(DYyO_s0~#oQ&ub(CBZBSy9&{FS26{k=B-48eI@CLCyi3Y{#nc!8}n*<#%?)26Ihu3roMrHtg-R z-cR{5DoIxxM3JB5VLDOX-;!I4m>wzW$ada+*6tksr18vWR|2bPG?fMHAwYhXiWE_+p0`3p?f0ScmR5urhHu3@UmnzHiN}sB# z3=+6=ntJLfu32rUz0@6XUnQaU@^&RYUPjuGVh93WAY&a?N4Zb9O2#aTLqHt;D zT+3jp&z*=cje%IbEt~RL`AbEhItF$vXkh!@Myk|&8w%iIQp;6fGpU_aV_RVf(w4ba z{GW*=f4fi#%xR-voRi>Z^&Jk{t{WKBDoZ_ePjgc zf}LzuPCQ3YRQb}XlVZN>m%>4At-k@CKEI6Mlxv$O7+j$18C~25oyQ`p8#*H2Z7DHl z>i$??pqoRLne{{|p69Yv?eTVz_%%})rUpXnccQ|jC zjDca1{!;%38L;AS`Ac1ujS0Tafj`T6V}f~V^Y_TKN}h#_T7zG|+Mq;JO`#>6s<}rm zg1(XPr8UOvx_B^p6)ttC`sTB!TcVCGv@cWQU4{fSVEmr{_~&2z^vB=)`j7wVfBW4p ze}4DFpZ@9p`ROnJbp7G?fBFx<`^A6%;kSSHH~SC2`{hr+`QbnOSO3Lm^}ApE@~8i{ z{pR<7k^l0?fB3^sKmM4#taMey^q{q7gP{>>l% z`S|f4e(v_S|MiET{_(H<{@Z`?Q~veWe?R`i|M@@r`qhuW|I?2@{qH~h;a~pwU%&R} zpMLn~|NQ%3`}1Eurv&D|_4k|K|LMQ{=68Sj`yc=1mw*44R=@w@r~mQ4i2mjGzy81f z`%k08|M=JG`SUOS^iMzj?#D4d|K*3@|Kor7^S{o~kH7!h|M&0z#=rge!yo^&fBx|| zKm6U_{D1%SxBLG!TL1YMzxwS@fB&n|?7#l-&;R_JpIiO%AMbznH^2SOKmOC7?xWeC z{M)a8`02m>{4c-!$H%|P9zVzx~7b5B~KZ{a63?4}bmJ^DlpU z{`GIKzx?g>*S}4F`P=l@zrFwRVYm1A+dut}fBx~O-~Q(J|LyPo=70X<`1?Qn;kUp2 z!=Hcr_5bl#`M>+qzfQuh|L}kP;ZOhh_rLn>zx?_~8|2r2_|+f(^Y8!uPe1(Wk7I`a z{EI*S_@_Uan?L@i{~xz{iUFh-3MQNn17n&10CA6(D53!;e`_U~#X=@t1lr&%i^b}u zRb9;~vZh^$dBSC06J!{}Pw6pg>gS~GY{qO(V-@9-3-0o;doshs=I6?c~>vs0~ zVd%A=J`K8kI<$g=q22Y}z`YI+y6*6)dwp$p>C=1H?>#juMumUp`EHj60es$x<=k1p zUi5au$M5EP)Pc{scKx9h1_!Qx^K@wWwjZtV8SFwPA6b8N?Q>~sa{iwBNDo9RkAQsWyCZLWIi8*G-Oilb@q01J zPH|cRvLTmiK_xJY)_g-+&bs|MFC4ENqDg0{k zqCGO~w$E-H*SD?)aBufUjoce`!USaR2z1w#f7^RtUp@ZMxzE2`gbxEs?%Q|P090Xp z?J_8eieA}syXU|spIm*xh!g$vp*0v#|3SX! zlF18kugMAUHc&qh7ZN@Bjbnc~qJrGh?*>OSrZs#6XR~^`UvW;jItln!MIOsOe+5B~ zF%^I!5j7dzr!`LCSzWNUK>RBTUJY;~mtOJ1OArXqs{9e_I;7y2OunD~6?B)3f=fI{!wv3fscvwT6pv~-}}M) zAOE4EG}u+dDetMeK2px1brrB@!dH1SoE+@h2Gr`YGw8V?`_XfOc!yPRG{t?2m&R`R zdeCD;f~QB{T|Rg~#w!ZSE_$6H4Es>q2}1vpzUBUOo3REw)$?fp`jGA&f04^iPROsg zWM>XL&je1REsyO9=F9d^34!Tg{o*#dB`ug<6gs#93 zMRG!TWGKP}qQ;nY#ywD{f0vY(l&7vvL?hObc4C2bopIZGxk&fcW6@>tuSWbINzvh9 zeeOx8`}i4mHd8|^7CAW6=t<$xxev~9m+ClanF7K{R=9lBb$2y`oC?!NqEyH^DQ}!W znj)7_Sgqm=ULp6g5@|9j)ta%^@&qo(qo{DPxq8jr79EQ&Q}6_Je^K;UUI9ff<_?j)TDM+7RQCkKG>R zMOH0@g3c&}ObAQLx@@i!YBp;|YpsQFDyY-PsbBr@*ZB=hrR+uKBbI^}H4~X@VM&8* z{_Q30_8q%x4WLTxe~-H1$X~gLi&I1qM?0&tv$bZ!Tssk0YL^+pOua5J4uo63EM4%? z<>mRx?K?kT6n?bt8sP`aaJYWLuQkH*!5IbnuYUBqI!TLMuUKbF%&f;ofJ&7=?HPqBiw?>d^Uxuv%vaEcc$j18TVS@TjW3S+F?W7KPA zWjk%*fl1gT!oa2kCMJkKa&!#4Os`ZB8wC-)QjJ$?)@rTo^h!+v{f2KoTeb8F0;BYy zPpT=nR-2XTe^#1778IV|InouKIH;=@M}w0b#Sz8vu{fHBSy}JWYqt8Rc>sSw1SekU z>(zUug4igC=#^@`Qln8l+|F!Gm3&JK+LPDx%aQHF{2@%(t=uYddZRF+ReWp}jY_kz zl|E_}eAJ7FAf!VnlPecPMrxEoltPUZHmi+o?9DX~f2!b{UI0AIy#+=5$T+TC5IMCA zm&B&-zSg{UfgQT>(d8O2#}*pIuYUMDpr-WEqe;$2m;Bn zH8hALe^D*Jr-l<51rY6_#vU3*tGXerF_j*5T9AjEqOH>UQwT%^lA5Y)s|2Y zyKqT7)ZN#bhltqT7He-ajl;$^mM=gM*T)nJBBKDJFZ$RQHLI=aHa6BU0W`rE^#&`C z1O9WRxHFD`&P9RX;e|5gvGLxf%%qW9s0w0^eT5U@$U~PR| zP)=hMKNP>m;s+66eH*KU)q~o)c%XvBD1PXHYCO#S$=!ReBh_8QdWIhhL=L8GEmEi)9ng8je3r2<$AjF$qp6Z8rE(1R*@Nv%6d zyfv_bCL?q4BA9pYO(8JEifk|5>wzK|7eQk?n_}t*HS($DkOA00V)c5kCM;O_Bq5CT zq8#$>CX~ZRa#*WuX-)>RG9OXct9eDOe{enQp}}Zfyg@WK&?m)hJMjr7vvt_oM)=SLQPm!L}808P;Pg5l{np>J6 zZ9sz5UxzkPPGOWjCVl9KKJr6r%{5O-b95>I~f;Sn>EBCg=h&AIsg zg$qm5$bGwSJ7H(9N3X5XAl!oote|V#oxKZs<5KeGj6Kvpc7oVL)C$7mz_!#Uc7v&( zpR$j$;pKdmr?Mx0K4Bj^fBi_;^5PG%+q0dU*b{?ylh>Mtc)OtAlh5i7V0?sK?X^9C zRfzOVnAI!_wriU<`gs+lg9`M?SawK3-VZ|VQgtKf7z&jv%Vfp4T8uh zf#{BE+|lN?R#ZU%P4XNJpu75gaGc1+3n1b@Zh;A`wYGG)5(KcymThg-f7`;E!8i0gc1z;g)7%)@dgyr!tBlMuD0r&}=oE z+X=B_80#`)DQJuWe~4bF&I@g{YTG&B1xTmR#^;9sLhh`59WkdeiXhrRoeiu)-^TVe z6S0CI+ef@6wFpjRlt7d~jRe*Wb6ag7IH4cXmCsgk0v9iQi2uI@S(vKXtZr!tXhI=k zJ%+jjk&Bl=1RQ_V{d{#2@NVRRHR&>5^Hp$0wNcy7X%eGKe?E2nUO-;hgOK{G?hF-# zMlnP$RO5vj#vyc2G8VNR0Lj0kZ)eO`^5ZkWcCCY4lvk;z0OsO;A1rkx>Fs0<{uYZER^ESmjM=>wqs{fDx=0zx&2S$m6&s z&u1rA0`k!~f2?e2Dzpl*;97v}a1s}905?(m5c2;KGLz|ebUb#H^vx}juf zIq+pj9oWox<5T|Ks$)Y)g8}J_7fgg<-2%I4HV$iB+NxHA*zmb~?+je4w{jWeWJVdp z=ui_Kwi?ZCHI3uokO08N>cNm1p-~7?2sJ_og)Cz`e^DTf+PGRsuH8Xz_0&RpNC^v_}%Dqxf>f+@PVUf2XGHe0P$#zx^YkBG@>?ca_+lb8m!zT3Sy%qq9kf0@zAVp>0o{Bph+%5 z*IO4cf8>-dUJ7wlz&1FhX4TlzT7K=|5M~QUA?ZQgf`olaf`=fa!2FC_|cqb#B)Tt+uRyE!wd)V9&~}|Q z0b=6>M`1)^)CpsyQs3Id4Pddord=3;A{Sj~e{^$J?xJ#Hqa-p(#P-ui?WeVdxurg8 zotzC>>uHogWnV+L>kd{fkeuYj3ncEj+JYQT4dB_fv$j}g6Ny|PnX|eM7#W<_D2M2x zYF*Uowt{unq4#u35I=T%_VvTcjbeq-8-)?QR2^iZQK?tA)GRi}{^@gS4c(Q8i-Od} ze+wcmaoPg!)Gz?!lbMRG!^>!Zclw%sIa-G`YK+JzfasQL+)|_2tZr$EzX5J3?2s9( z+!YlxMgc@uRPTy5x3&Ab3G#QtDu`##$%*US(bcbWGAfMPD2r$eHOA0vRJRqrt+_t# zsGu^6Ac~+y1dUc}O92#{YvYbG5*IIif19{b6wCMV@_oIzrFqd~0(FVe0IK(c(T(kp zi?wL?=Hy0ML{q3Sg=VX1ejQ|?WYHK^YNsj?4>ea%kDd_X#4^Lm8z964px?MqFls=R`jr5td`j%pO9|Jzrr9GtYTxaE2 ziGs?-iy*F6+lB@ivuSQ8Wa%+Le?xstVWZR9lmzy7y)mtxekv@v& zMO)^U4j3K-Fw}V;%%C#zyB2FMIL%QW(KXe$rber>waL*YIXfrEy&gnte}RxnYsd%j z*Fq`<<%<`~nl2Qc5%(%-6&WX|G5|^5cyYc4>xXeWSv6`~I_C6@yc}8URXr5ME?yK7 zRd@>`N3+>zY$rm^GbkT^Y=wPtVhy^Z0SBqk8INV=Q3bV86wz7LIIGo4Z98Wyo0yuF&-nDwU)7s!}n|r;sw;$?Jk{2<*Fr75F14i9aD{CYStR9 zZM2IZi6DztR$zAlOgOTStCvJZY?MTlM2#f28ue`zL=%!VZ`a2le{xEr6rvPrr0@{7 zgKZ%k4Ks&Tk*FC*i>tPVoYW|WD25s_G!Bh=ZA;~_Mqau%>thWCsf(9G#17tq5~9(p zRJXDDl-a{Nd2U_7-(Zb$HGM}e^Z;X(`{`6MnP>9MHEGiC>m8`Yen&JVh+i*4a4H0yFNt?L3or( zluC_MR$)itw&qh?us+!JL-NvgZYKh|>a41uc=6(hVEbE;&N*ysBa{ZO^;gInK(`>@ zqP~4?ch{mLoKYJEk=aG;fP2&d*D|&eXt)Ob;1Ry!8pVx_f7U38D2Y1seX~|Iw-Io- z1_gh)r&R2LS|2A>&>STaV@6HPXjEI3Z5&$!fn=zszT0I}{V(kxTy?A{D2-ys4I@rW zovRa5M(wb*jYErH{pb$>TjS1hy0ph2!B-CdCJ0@;7$P431U@qzIMfVmkd@$0H4eA3 z6OQfferaFHe_-)b-ws2%@~K5mY?MTd6t$6}Sv}mw{u{QvdkWcRO+?Y;)J9oES=7oR z1c}?2wW&kaW~!|C!u9X1HCU0ssa?1%);1BLA8Q$pY8ghQv5igQb$|#T7ct03Zb*DO zaIMuZtl{)7UK$ZDd<#na=3#Ry%NZby5HWt@QQrz(e}))799qumMUhh*MG*@bxlszB_>kigL90kQu9#I~3@@UqKt!#K3%OfDb`IZx0 zyZ(?5NC~Or(c`LJRzZ7|Oq5KWWLAwzeH*L&W67+Mk=L_AN(S!Dszp%{dsjstdEThVG${-iQCn<{JVf5i4V_&4Ze|kYc&bs?Kk>}zi6>O_zklZXuq#)r(sey}D!&wW6b6(p zf6oOU*@acQ)+lt@8wBqoDtUuiP+nhgo0Em;PpbG3?s4d-Nmu zatC(JvU}6qGpAml+_QM`x3at#xDyV4n)FwLm(~MN9o|hG_O<<%_M%-mR|9t3A6vX@ zJmjYY%%MH;=pbhOdQ9tCPmtu)|6W}8fB0g=k7H*3(6@Vx!EfN}34~Uhg^j~T#MbJ= z)q2D_%ENV|Vu+ho9UzLS`Pb2(a_|@oU5{kyQ!( zk0{$5E(N)9Xfh?xe?1z2g0sSx%*HB`xJdCbMwM^g<*eC_grplOcH_`A*oVXvfBW6X z)V~?q16Z;fTE6_~?hZ3IBk1(~2YqJLxTWgCvUgvjv;mF^@Ey3>ddiOA?s#C|IOA7= z%R>FgX$qs$nf6;e#WGi0(Ni@Wv@Sv`90gjB`{-}~@?R^ze*o%;OK0~PU15Uj508FXc^h?E@toU&&yyER-VO)t z$Siumudrf>LY%|_vV~7LnRE*EPySWylcNuqa~0W$`#kq8ANkg`Iv|^r{$sMm?y5(x zt-$5}BCfw{%tevA#7DTsyaHpOlQaL%e!by;Tbvs32=s?Oxtv&VY?pS#^5 zxIv2gR&*X?Q4wTesHF@2f7c^#u*soTy?MxN=juZ(XjTkuXGBq(a&@piv6iBcCazdK zoJJ??QBsyW7*kep^PI3rFrJbJ3$Z!0^n*MF)Me;a1Y;1Z)Jg-72~ zJiRD9S^O5+@+?)r6ssHC>3;LJ3a@so8r8e5Xtnl0n`jE6a4n%$n}gf5M|Dx`*{7nRY3&`Gb|J?$efi5$diGMfWpxhR!HDqfv{UR8^_^ zpwzw+R;oF^hBgBkL`I!W_wqq_Z)j|S-^OY@@rIOIy~dtZsuz1`)^(kR@p4lY6Qo>^ zO(#eTF-2c=C6{!^ttsQ!eaZa-W!ZpF0ZNtnIyTZ6+qP}nR>$l-xz79j{Qicu#y;k(+Nx%W=WdIa!iQ0O8fdp~ zcK0lRarVigi&hkfPLO zz4VG9WCgPZz|AI_wu76pp(M}DFTzx+|-TKnA5p*CkX&_&z|E0VS824D|(&33(srVkAQsCFUm_S zTYq8<)FC{*^fo0SniL=-Zn1>X=jykkeCL3DT0N%&QG+d7R##N8HR@Uwqc3=;j?P>r z@?a6xpLYxOhbyI1@~NSApC)7+x5xpiQQJ#M9-eiU40)Cu~+#VK&1prJuR|=jOfam zrV*7f|K2}3X6JfE`7>A;pg($eI?fYs7H@XHIzMv2%n}h_2IqJbYA6xi1i(1d1}J?d zLsR5XafVZh!Uqdu=|=;o?dAYp{Med0K#uuf?2z7E1^+dr~(4V#l7Iy;IQ1x2|3=)ZwYz#X4ZP(r%OOlg8pF5mmY zcgF%9V&A*9-zUtGKA}0Vl3LHO0wDSNY9_|_Z^ImVG)qhED4GQ}r3+sD2a1xlsJTK# zA6o(K7=FT>K=qd<=lak3pRbI*R z3W%}^-`uYxm)aATek*7QpB7fttB)u@Eqf~C0J7D8st5s3l7?MVP?_O*(BgSzqr)iF z==#o-%BCr&$}ZwA(&aA^J@~?KVksGXQ#8PEGpVrFk8O|!r@!uoY;zSQAfo>Q74GhA z>aPhH3+EbH%k|!2sLyueJAfjTzwDIuu!T5B>s|}RU*m8-c^^3o{}T}?HN@;E4AX(a zZ3k`2XYc{|PULdGy`g_=7=cyoU=|X2PXnRPW)T3?_SAQZKl1G&37f@SbL{XzjyXLE zYyCuvGGst6d}_6oawKAp9)i_Z9v1ms++~9vh=NfTyYYokSe0P#V7~p5#XEpr!Djaj z;40IRW??=c8R%RRB94i$I0tfQ;i` zB+USQhDQ5y1N4YPQq+Skwjs_<{JFiu|8FbUI`5riVa3d1kd}MeVrb!o;)-2U?#MRb zXT#p{E}4_N6c>M8%V_g4_0%hFeUw-U*r^9}u~@TL%)*WvhMN?^IOfpTXVDxnBdS{- zKhDG>aM0bv6zTu<7hTtz_Me^_D1dAm13e;;p!g$?lhEZcFf_qm{bs<8&x>X{tFbx> z6nC=Y*lP<_!}3==W^jeG4FOvxI?LWz4S|MD4cWBN&(_}k?%B+Ux4c`4_H4t|>^1Q0Uyb8b$w?9TR{`EZm~e-~u?1N?hX7g|^2s4GOA5^2u=(t8-giplLgNcr!0 zUr(@FG2~rXh$X7_IQ3R859ituTBZPiBZq7vI%Ga9i?sZ^1oaqX#rNKMk;z0?XR;}_ zb*;z^D9xSO$2I^Vcj&%WTu#RF=t+*mbsbRp25&aT>ffIRdO8(Z)Z0oPjB9iVSwn6` z0(0)XHNH6NN(CZ!MvcE=UCv?Lk|q|pH9QMy&#lppho_KZSYl`421ZQZwT}eoP{f?< zV;?Eb%3!xatk!D2wlU+Ry*N8UBVyDg0JzU{p~~ir2Ktla@d%@|Gz_Fuj6r)5A#$Y@ zk@toAv$Bzq5yv02iIDwCL(qRK_jA-R>oC-I`1m~i>8UOR`LwR{;i4zr=wBi-%MOtG zrRK(hJF=g3QIB2A!&VU*Kd207P^^;jR@z|zE(cB#ithZ4bBP(bRzgSd8zQ@`qO@6# zm|Eqce>UrtEJTCDkh%3>U}zFK+4S+M0TGsD0rnLI0 z;E!IUky^9{?KHE5h6q)bm;J4!Imz_}fjZx*txacMm=8iZ2!yhE-B5Z}J^}-9W zLM}$X*yG7))8_gp+drs4g|d$Ox}h&>0mwhxBh4b&CAz8OChsq=-sqKM^LB_c zpO}K2+~?K|NLBp%qb_rRIQQPA!UD4qdG<*D+9aF^KZ z(Es$oJU~WqGx0Jz!pwBVaVotzs~T-rdKO`$9$Du?oh}lAp~(lH^u)R$D>+sevts)r z4jKtsfUDE$$@56lwO=q~Z=(d1JxHzxN}CN`D@a+R2W0FCnvN3i)$9AUJM>zs0u2@D zW~Yz#u^c7pOg`jJ+a}58oT=5Z-t-W-kSDL6Lc+C(<{K$0ae`vFKXB{CKziIsOhFcJ zo}(qm`@$|xYP}(A+iC7;?^#vuIz6Ne&$~)3&Cpj(>9M*(tS|Gx@{LzB%V@1CQJBN` zyZ)1aGbqvE-L3)f_kC@B+}+~<5oT7c6hgW#_sU3({SAR@0gJ7vG(d;k8VvZ|Eho`7 z*VT?#o*N4)HLY1)2$no^%WrpJZW0~K-rl>jX4aDl{o;aCDtW63JyH9_V8BBOtVFoY z(tBfGCQ?4JXWoAviwx741LsP0tQ2;8k4E%#)>ekicM2H*xj~qtOOrIuthNEvOr*AO z5gUNx{n*~-Gzkeq`EsyzjD4XoI4b{;61!nd1<;w+xN3*L~=#W6)q z!5G*WaP8J*&e6>Iind~>0QZQE+5W(`I`ctd)-1KfLZ>2a-Glw)vu?ro0~NRFnzgB` zYe3R_v87~T7QzRv6%F|*$ye+>apS>8(dEJvR@@Zi)>nnr&sAeh(^ z{GstQhuE^I(5c79uXm1t*Je%vLM(AAu-B|xx84IMGa@@7_A83$eQ>`c@zzh20NLwL zf>z*La5Bj97%qON8Hku=+@@c&Cg?#L-!zeWnf2y!97M!A@_)4@$d{(D@Fl5{5}l!+ zD!T$;v(=A^rNN}W7OXE;5fbK#{e<6*XJPJ1$wmW{Kr^VH9noeyGHHg*8?Xz}ned}1 zIvX*Yzf*qs(!;qR5{b+k-)ZGOg#_&bGigZH+2o> znnfMOG6SNOD+oVy=4Rt%IZ?zgy5Zx4f*%2Jn)kk_CEvxnYWZeU_E*>rJr+$ZvBV+d zE-Rl1%0dUyU%ia_jctm<=B&@?rzDVbl6^#1y8u(ip76ej!^U7}dxo@oz?0fX^`-Bo z63{s|gNqsT1CZ(XaqL<57Lkf!YF;WPqQov0h7tSNQ@cg}af$6?1skC;@PHo50z?6B z232bz4+Q2-yXL*CGrpCLg63WG?oN%`LJg3h_Hcb1EI_G?l;*wjzO~t3{6lb_@0={W z17|#Z%X5B(z`GKl2+G&yo%61>+1De_&5vSGvTm&BX_j@+vK$#VvaH)ca-N2vYu-8C zqTHgF8QR4Pj+?6U#n~5s8$GW%7a{=CTgTMe6ED3_vAzEozi++}0jPXaQv?(chv#2J zO=srw9Loirq>whAG4+&9=O)dCu%!PIzn^1!-uH8RzPo#cGGo}gyLsm@n$FD^IhIOt z`2fSrCyGX7+yO=>D&$#@?jEFQtW=|5S4$w5PQCUIM+d4RaZdcCCe|8 z^%iO@Cuu@SxqSP_Y8y%E>0uvfA&sNknWZ%ov41m_#&O-HGeG(wqje>Q`M@36>DzEJ zErt!~r!lTZH&7F$bvCavt{rHlq4gm&_C2IQvL>GH>BxgkY?!W}UoSl`{}}&G?|%NZ z%hQ-OUtxAqw?DaCos$*fus8am!)sN4!kVTsUBC4Ek^Y8B1AI!r`*TorKwdf~#DYxu0^h4KD*kpu~LV$0>HQ zW$0}fg48Z@-&9EHFLGLo#QB(@a!zyG&LnUTl<0`lb163AnwhOAg*R?qw#Bk$ww4+z z#tY#~@8K-muf*8~y%w!?`G9llu6J)UMQa9sX^fdxOv_X*M3NM(n6DUecW+dPv3INd z{GZC5(<)XpT>Z`mkzN3~cEaYan&CSrOb~+_I42VmH5K$5%h*XP=6{mn!2d zTTV1TnrylD@}dxsFc{O(2o^A0{_NU42(@%a#dn1p5H+)sjN`JLDxKZ9lS~n+=rqtv z*2%ARtQCFr#``*mmm+$TS?X!4$Ps8Rg{4a_^rop-=FO#`#1{aPF*)-wwzlTx4#Lz0 z;g3r;Y#Ik>Ep@y`mxgZJsa@-FA?zFX}&gJM~Zczt0Ez9XQ!rPGpg=GolIu2hK!(y)lBX@b?)%K z(u38cITw9I&BN!h+Pl{-^KMG(eo-oV;wp5G2*-!vY^^0a3Exo^W;y$yuxtL3S&`DI}iv?0l2sckGN2)xdjrq6g-w<9;| zb||0Cc13`r1$VmF5N-&xVjpY!k6B6R{EU+vUAi8;yL}5ztav`$G5hkOw`g@S3yz?Y zI%}B_rT0CbE6-m37@OU9b449HzAE#3syR8peTqp_w<|0|Vsx-TjMW?7Ds(h4u_Oow z`<95)=jr5d_BW5u)Bbwp;%w~fEQ6dL;PUF|@c}ToI$F!1OQ4tIbARzLsmJ?UXAA?1 zO@&}-j-o6TO+t8o=-H`{xFk+ra(@-@DF5%I_TQ-dzpLCImb~{n(e4}bHU69Zt`k2H z0GY6+ho%ST58j;`#GMjvF2quAp_e$=zc9~!u&W{+#Y`5r zNQ6Y_`)AvR!65Rys_!fa;#aQ#(T#)1pIYtq=WXIW?|@TW1(c4XrFQH!K|Nj@j&zCq z9oRhiEYI6GUcH#DJ5YTFWceZJqSm`lwlRRxEyFfvcNyuCP5x1Os-$2ZY7zq8-`n0Dk`(T}lHZ}@9i2r{O7-gL#tut|G z-WdixyM?pHJw-`E18;Ypkw82V&fH}j+u*|z(g*Pb40arPh8#xt*2W|0JnHlt;Jh#z ziWkig)$0uYERLJ_I==3Cv)wh6m#@c8FA>sB|L2zq z{Aw8?1Ld+}D9G5Z+rIUTpcq=o$~i|HZH`*J8}GcGJ?LGgNI+d4XB~0|-~!d`4oHSZ zMP{uvu-=mk>LbdBxOy+q%ZrJKzpi1IblV?Z{x_1I#43nI-Vv;rM@=>!&X1*WZ5RVk zkyjUx3m*MbE&%gkZJNP|J^r(yrK*ZRd;e~-b|sUsXaog<7v8d3Xap@=(2h=nh89|F zwf*rs@sTPoI|YdVA-_5S1|t-lL}mj4kJ_i-P~i&7SBCU4ywbR^M{cJvp0+D2a%jpDAcK5Qlv+M^s$I0_s)`v;8cQ}+CrSBY|4KBo zy(O03{%!R&(}5BLpxVlovoSyG1)(YJ56_BL#BxJpH)Bz)rk zUk{SXb~Ax`6a%Kbdsv?>7RJ?|pYu!>I5wGBl~IF^rQ%ls(%^|%;yVe+V!mwkG)U;p znxU)p~9W`{y z$V4}A2Qy&+K6w%+Rr`OIPc@fkmilhlAzkL$(O*nP*-6AE}hr{4em zEyq3=nZ0Nbq-(B1iu&s{(&oGP$~QkG%k6_hpgQLYD7@B%sWr$)gDtKQ)4CP1xc!%< zLKj52ra81NI^x9H~Ng=opHqW1c4ZV36H%m-qz0PJ}9j?xdq`L z$f1t1qZOSG9czDQN}U`E9a3E2U+?0u69O;ECUxj| zEnYysugL|-iG43D7|(sB9>R!spz*=SuwRJ-!c1Zpgy#B@u`r($C2BV$aMw|LeB3BW z9Y|n&N8sV+-gECkTn-W9jw|Z8P@bD7Ri2lKQU8eAJ{0XF=My@C1c(%Y57rMESP8iX zkov`%XGiE`T*t^SC}b-MC*x;%#MwjS#ZJWeOtnRm7X{32O~_=he?S;^44P3m*h2}N z2PT1nj|72-q|-A{#$B=r-y{me6?pWKN~*42A4j6ed^AubKXsY_;Yud$hcDbT?Dj=T zS(~N<91&YDhh+2jjr!DD;N6umFFA@I02l_Wv_YudMk*rpwAj7xr!OAP!u*_oX%dZj zTU%db!OG+hpk8w&1lrjA*>%h3F%YAJ-=&18NHz|P-eUT$SK)2y(?}OH3k$NIxc=$& z#OfpDY1%Enk$1`!tZUhb-0vetX*Zpiz~PYRl+19G<`eP&LqmN*fsq$96Wjv+E%9frhJlot9~4U}C3WtYT|26&KKDuvM29k%Y$ zTd-KS(Gy94MzuXFfV5u$DawgX=%CxvQ#TYX-bJH0!gh^hcBt^5D9TsXOi1Wvro-V7 z1ObmqD-$9RJ5@NQ%MEd&zZ$4C%M+@WYV&7<_D^0ij}NznD1Q1}0Z z+g?WBc#dkp|K)6Aa(0qVc{RWCY)<+MV=AgQLS~FA!Y3=*e8esNLweDWr(_$5MC*)` zRmjy`yd7Rx14v1k!!xY}TSwebc;o#3GhCNwx;Ji1LSO4<=X%-Q@-yW_m@)gC4?Km-b1! z?lG_bEhzRpo7_5vYZM(O#ffy0oE5m~EdfEy25e3v->}Wo$%6y9k5{_ACtzEHq%@co zjVM6+ayt+;&Tp4{qthOc)&IPQp;$jz?0^muO zKN=An<$1dYgumT{>CB=ONXfCvP#Fp#yEVj!15xs*J5bUhrjYOzVcb2GbClFMQKBJM zMmVmP-x(?~TA)U>d+(52__F1`KDqVw#-;EWAtc%sZ!Wcw_OGnUb~lR>FOya^wZME7 zFB1P~Cm;Zf((2ZSp7rj?JRJ5H-wEru1Sj^W6aRStE27LICzIvDA6T|SS0zh_1e=eW zk3Vi4vm`2qXh6+uqWG2t9CT?Pm6sCIdv?X=U*`zQ(j+EMM+#?7<}3Wsl2;7B#k)kE9;9mlMcL9U8#G&9t(+f8Ng6tM!5;ydr~@@()Iv z8UX4mM?Z3vlipqp!T5#?ob91t5yH#jGm5PcbKL0dniN+1e(ZbT0+LzHO7 zO-jM5_?lxr&oTVA9`6mBXDmv`p$A6~OC25A^_T2R5K6K**^mi$mtQFvHuxkH6f=`ORD?NqYag+R}u5tAfrv_$h4o?_M91i zvu*CY)oN+|pY2V)mw!VpLc91wzAjcg{$4x>5NA72Ub*inm|hWH;$N5kUI2c_4q|}e z*?r_5;!sW(G+)vJmf7TyY?Dtp%i{=uu<7H!Tr1nui6HntoNLc+L*8cI58Tx&I_uSQ zI0CDupj7Y|WG?po`B`=0ThQ72Y6E>|Lot&5O?1vytd7>D^bWE{W#S3Z^G7O}ssCAa zFF~~Dj{*#%`k2|>8Q9cuNX`>~`+6Kgmau6tDVl_^9&2tWpr)<_!a$9|01)+{16)?U zu!SUllE4rJB|?i}Eq@h(b)8j0-tWbDqs;ZQU1A95fD$c*+5MkEXtVn`_)DBg%&1X(!X(6Y|;%yLYYBd z>DS`=<^P{WIyE=zbKv}PmJ#sxQ>9&0Wz#~GDtBWCPQwGMO|AAi3L-Fgs-Ok3S{ZIb z$w;A4BbEh8GAKhDV3HEx_>>3Su9fQ<2pR0U0hJWlBnQT^dSaGi7T4jBP3pIf5N$5U zNYdB|?|i0V(9~Gf-KN>w-o>AZPZ0=j_mRr${GM>!wF!~tTDVZg0Vm33oeGmCo3gf2 zr_*kekH-qX)ecLLnMcRouAp$bp8%?_{=>a6Zr5m75s0w?P7}JrDBg-2A5ekt714rc zBK@qu>_jQ0tu8Z{;g>lo*>NZTPV47Hb(QGFm?JTiR5C}_XlWBl1RX_qbbD~6cmp4Z znLoNO-e(!V@@yLEI>>CG(8w!T9!`y@+^?UhB)u%2^H)b%D(RKT_?&OgO^2=KO8}K0 zx~kBx)yCNYV#>bz5=!Hd*EtG8bNG-TuG`|gsSbD;4o*`fK!{6=B-_krj;#Y?%F8lI zTyXx>3UCbM(90>APeaS2*xuPhwy`$M9fVQ|*DG9bywNRK+4W{LvnG^>KuY3LMe zWjlMt=whyg8{Foq(VkA2^~q=voE*raaD@&Efdkq;t&#_L!i)H{oDvOJWCu$@qFJer zF$hI~r7KRm&xC90s{V?#PFa+b*vU`@6Ugsz0_?G&_^*@Sm8g4FJbSu zTW{zi^lu;t?$&I*rfiAfFh;)B_Ved*Rym$oA-`EiGaj7^kU$tgRJ2K~2ipd-)b?o8 zL_5taS8Q32nOJSb(LazNb`!xd3Dh@kC3~w2KjLy+dnaLeFE?@>|5)6f0-V;1Vph;@Ncdd z$eH3KcrOs?L!;*srfcZ3;0%wb zRen5YCzo{aXJWG~Z$D%o4V@*^Fi~q(3q+45$qYK7COSYKgnR+Ufgt|@QP<2ULv%24=eBHt$%m6;$jH#`A;gNOoyNLm&ZMi+@CU^}+myo?{Z-%^Njx4- z6xGO6(japX2+v{}rcPgoJl2}l&W)=Q##qHw{pllQfaxDo8&hi-G>kVuC0Hoti{g^_*#!B^ zvE-v@m}RjR?f$?S(;8P6Sr31bw-gKA!QI7%6QFv^MDkJ0a409*vytZmsw>$H(t5uP zd@metR@i@KY6gL4Yg^m@CBS9n^mJN*h}QP-9Fc+rCcj_KQKu%d8C}+VGGkqWCRLwV z(q0If7fj|bx9<`iX0fFFjnjx^^6+GK#PdbYjAb=fW*7*;ZhmDS7*bvam7VA}^N{pV zb^UQNsF$u3gPTu*%3+=d;IZK1U;^tCANwyz8ed`^sw6JMwKd+Y$wl)wtw@w5~`u?OD7GJK1vnKw9q*jq(D9zG69sPV*K;;aV1DDTDeW+?(nZCH@8v3taH|nLZu0brIwS4YFeh`GD zN48sVW^#n{Cq@$@U%%h@1GZH+!i(r#OOQY_+F$3uRO{|a;ihx>EO<|5&1kEGPNJKy@ExX_D>DCoI*19=Nw+xBd;|hBwfm>`c#hx(~zTT3kJD{?oW_71fwVN9+EHV zW)#Y>51V{nDdL3Hlf7---(J!$QPlxs&5_$mvD)?xiC_BxaLUSTN2!=N&^{t5k+7)X z#_jyTuimb_BiwMVickbDYC~EUh35&gc{axh2;KhZC!0bkmr$#Il6CnhtJ*F#hpv|3 z6vRT}LcN=C=TwG#yCbk82%7L$1<=3E#TSsHI&^Trgj87W2RPIFw0NY-RZjsZjdaW5 z6;wdF>#;;u(#xril6c~aep^x7msiVLmNbi1Skn=0U51&R}6a4e6y<=*ba$VZH$#ga>l+jp7d0;b24 zOf)mf+^#Dj=_R0J&vEB@MuGuO?s}H6NJRf14)h-lWW=%lUv5-=SXdWAZ*f1*lL%m9ZtDRMzAm(D$p8vC3S zAx=$etjh9{_x}yabsQ^9Ox)``42d=Tno*^ZCSmszNQ+l-|31?=8o<;IH9{5Elun_E zOOpVj)C*tx4ARuk?5mVa$?cpLk#G%@a0RijNku!O{##S zai51yk#Q31bOcbsfDJWj)O3VCrS(!oW3Q1KuDOF3?^%j5!igvo8gioJ%c8wRY%q<+t79K~C?dv7z zTy1{$CimVY z@bOrgB)L>$oRAFqTD6PlGQ%XM{6zkMR1K-btVT`Yg#|cmOKOenfHE!qcBb;qh9ZEi z2XxpLj*nSF%ZLztWwS_E))6G}rl98nWboqpFWQESuKGkB@hzFzx^-CS;D5dz|9tuV zbz@p9UqDPIw7_a$(`#P}rPm0kRzr7D|)T#*6#^o2qUTQ~IZ#;6MrC8)HHw)KRv1A zxsJ>leKS;)3RZYE9SSHp#r4Taz6`llEp(e|*to&KBS_eBn=-Vj3eh(sra^~6_#g1U)#xfrCn_RE|9ioK+>!xr^7(LO`9gSC@mD{C0!XGl|E zzK}&jghD396%@Dwu2(QTYw{VMIf$NY!1GO{#Zr*$= z7j>OC$icVA$gJ-K}5RS-f7cUGFgSZ?@Ks2l9}-q@XtV zvXuSXT*Vk=Lk^rxD|ZJ&3x#0}9B|SFTpkx8sW4lWZ7Q@LFWSruJ0%w<5iskBQLBARSyAOR^vx?QKqGw8oO0PIe>0H<2MO`yRF~IrPoEXIJ?ZIN*R25FgGhs2z$D>4B zBq6T205Nc?RKkE^&zX6)0DMYhBy_bkR`iyo@*10&G5!0DYK~p?t`<>#Jc`=FVgkz; zm+XX97d8(atL0SCB$)9_8joqgIJCs_X&oo@vdLd%&a#!%9QjNGi=TIha~G4yNAKu{ z=Mn|r;|D&9j&RVfSTAI_rM43JtW_n%qI@SWrXd7}Yh%G}UZJAmdyIW4ZKGPU` zGy}!vpArV@ZS58+zGlim6oQ%L1}>J|MGDuvx;cIaEz1piwq5WBKM!atHNEJc{rzup zMyERE-CalqDobWFIU6g^5tp@vOc>rySe-UTm9So^v6eDSVu zgGI0l>f*pt?2`Qi3FV=?m6Tcfl>n3qK%GDCWw?y@|%y%qL5mcmkhXu32c{ zZbPm)-3+uyM4kjfOp3;a|LW6%@Yx^a{cO*_&Mw~7s3%95r?7gCIw9i@>ViZ-Jnith z1A%E#!6PLGmHCgBZjCGGkW*HL59p@Q*f^A!5XM8)1)#(wF`~g><0(3{BG=LqSO|SPp_15oQDkh z4FZd0i>^~+Qnf<&;suLMD+ce2w2y4m>Q^g=b1U5-(I*Lo5f2>O@5Ii`z>*ptTsJ2>K2Zg!N zF)@5j#+M62FF|_7YTj7T(4oPG%d5+v7udku8N`#iM?;+0oK|P?!5z^cTU-gg)gBa$ zZ?V`$H=04hjtCKJBPY}Y(XZ`c?c3C*>sK%DQ9mnYzA&U5?)hy&dgGA#p_1oz4Gut4 zIjFS#ziPMc4j6i%@c&0V|PSbHKe5H)-9He+pc$Bg$D+6nJo zxUax}@hqQ0xV8fY%ij!OgSGJ5$?W}5h=QIzdqDcjvTL!L_&BhKLGWt47XBIw?-$_U zg3vk{SIE31^r9{g(fDfhH6nmIYW3r?qJG?y9N2CqY+quVhUIGo>B1_0LF%#Xz!~7b z_;Fs5Z1)RcK26j7rwe6mO^6Xq2u{bZBM;CkTw{SqaE*p)xhj_OaDiCOuG7|kWdBAE z6V+s1_S0Phr92BNQ}P`*#maLlZeN{H8lOw z+JKZzJH$L2o@!2>e>RCm_6{1OG;o{{*M= zgcd-zz6lpD>?1?wNIBLJXDGrg%>Eqkd9*qM!^|Tk&1BW}`E|0V?@3}AiOv25r?4^7 z8GurO`%vz#q-S-$Y9bqK=O56(?WuV+%?P&&Y9j4{WAKFdpG|5fIktkNJ_@@$PTxCKW zrql9=%+fw>pGLZu6?`ls7g&W&5qty}7YHugr*#VDv>K30*X^&aE&}SI{#H*aVIugYBEHdj#t(KRrCfU5 zzvSZ?b}1Q8Paa(e=oTg$GxM?QB@lNNQJsaFGBJ`tkg$#LVb45v1xxf2#F# z8!nPLFwU_pMe37A#IkK@7L3Z(qIQm#e@`+l%Yo`gM{>AlWqM}4Pw?cNmgJPS=*Nt< zmyd=Q-~V`=B#%}asah%1S}Ug_`Pj~#=hDYQo|qH?9BgfRIO)ISYfc>(P{@&;d!(#c^CNlHSoRo~)IYl3Qi$mgvm>tY%$e6b6maH1%DmMO2kX%B#2FN5Onh zMw=u}CJu6Ju6YlW2bV!m3X#aGoUAFL+H0f^Cw(MwU}ZpAhLO;?Pq<(?%gx!ie&Ou} zKv=Q{w6O5pUfw1lF7T9GzJ8?O)2+Xi+muu5qJjXf&;O})bjM`0` zZjlwfH(t4hK@<}c2A&(F!<@AEO>^F!*Tbk?12F8ze$`qL1K68LD>8FhlsNW)g*&gLH9sV=n4DN*jY>9X4k1H<;rsq;}ut089AG*cJa z`@DfU$)*G)TFp%^m|&;knNH1*-$0bN#Yw0W^%LbhL?lCeRiG{zm%VZd)Bz~PnRy?U zmlknN3dvu1>1Z&6#m^QDaHLXsJ{xy5!eFT>kc%6|E;L9>hu{I0Mv`g$ReZeX0wld; zI$0I?5_CbA#>X99})RtBrf{T%^};an~QR_Vy;!qc{25&^}? z1hlf~cphE3^ukfa@#34JtN@%H*OMeav-jdd)OZNtUnFV?JS_jrb>mBB5;-uZ>So)K zO3dqP65t~ zv6QxiQz$6)l5jwjpC@7O7yOvlND#dw*=}LQe(9dj_}T6d$;!qX(^`W{eH9-BD+}}e z)X?Uc14;r*95wiM{(vsG3F`3rgDk1^NkhgIkTkn$y9nIHXv7U!(Uo6~(~C5%(WDsR zXOF)YNio2|a)141)w(NJt8&S~HkEclv#!_o0|!mBIl)o0x;cU4GFzRMiBe{GkSYIH zuitk%o;)9YU!KFw=MNr8-7~_8b9jbzHJBt^xoVE9%{0gJ)c{~l+01Tw>k+|WSfwPZ z1hu}XCYQZErO2<@CTz_*Ca=^Lh0;8{F{U)0XvUHl0+Zz}12y)}J68s0>oC^&#YYGW z)Pugn?$JD*fQaNr@>@0ZZIpA$V&qMcZdHozxLm5r?{B)?97s|Y*~8tztGj#ALo8aW zp{pY!a$j{Ckq6+g-zOWb0v^SJSb!WdQpWhX?RMfnkJbxW(--O{=SK%&%d|WUpEpl$ zU=(|K6n;8imTKNXSuOT?NqK+toD7p9>M$d8#FHE~REYau0nFN*Mzp!ADP|Nui{DC` zW)~bIFS*L z5m4y&u~6^WBjWCQLZ2K{yA{_0y_7xPEDOoUf(K6AUNGd^5vUmZ9Cq57zv%)Ac}K<* zmUFDUlQm&jilmFf@1E4QdU!ezs3w6Y1$@fxyuR7r>1=^Cr~AnMiLNtg(A()M-luA? z>n0B1@cHL^|4TAglkehoP}y5(S4h%P;6?J-rdx@5EKXBS!1Jbiko{kIHEYMA^m=eP zpUvJ^mFmBHmOm8xGK?*2ypwvs_k(wR*gJYs#@vzl4VF5b0RX_=b3cI7 z{wuSTiAVWhIVJ;n1PsAM^Mo4T_kcsLcb+Oa+ZZVDa% zt7`V9WnT%z4Oeo7P1{6rpTOP$f=Xxca)+XuYWgahu%h*^2ZoW(ZSCVtB1wBX>=5CipXJ&d|q9cn%y0f z&M5CjQTp933eai^JlZ;X(G{lL2QnRo$@o0=yG%otLR1i+Zt5xBDA!Zap5JEy4@&w{ zkBfNtaPE-V+ZX7)MJ_k*ss%h z)nD(|R5q+8_(quTuiX3N5r2SUc?8FpiO6d1PC3uhDvbedAUeBN^2&nuE%#eo$d+${ zKR%uAZ}&6=9rts7sdU?_Ftv-gqi0lxyhYqPS^ITnf_ak$=0awULgeY+HpO$9M2|ZH z!`hN~Qq}@re9}P4+%`*0_yZ&YS_eWV-;@6l;sxhR%2)%$|Tn+{-i8O#c zTs|1$fx7s}Ztv?6`gw=k*oL7svYmjM`QA<=dCQy}bCU{gF%L-h$~F)qg%yU!mz|B` znmtH2>pVhZOM9n7zqEaSQ02})6Y}hOS!@1GOm%t>OcTFtjt|n9f8bfI8C!oPCPJOl;ekBom`!I}_WsZQHhO>+89n_pkbwu3qTs zrLMEi>p1p(+W;LAk$ay%nx3YkqW8wR#wxH@bx;bpJs zgfZ5|H+o>x%+VR_?AMr~R!#VFZWcsAp5wpXI66NwzMlW}8vu7zUo&q&o;ol+pA|BM zjv+M((*pK%Pz;!#?P&Hh&&D;e86fr=f1N$#ih$*E6pcr`6UkPAd4~&>{gVn&=?WF& zQ-~~^mYu?;`?jINMb)%vk&Nke^SFMArZqv5Ew-A*i}bFt%%J_%fmR;%gTT$T1M zO7%D1GocH=nQy+Q_xWPD^dT~uRm@PrcEP&eTt)AZ_1Ae%HW4S z)iO=1b8e4nY)cC<+%|Kz#>Y&K)*oC5EQne%N%aOr-uiNC!~8%pVFN6937zm{e=1-q zsbmD*&usV>xFZpZghwhTR`6$IE{{dmCDjtgVD~Tnn}jgvu?votN@F4Z z`%|@DcAcdCPtVBjJNJwsMTY>1cy_I96Q0B`kh2=~u^&HP7+BRT@ml2g`f31P?BWHw zI*J@tM(cF%>6#)OJ$N{FiVJSwG;T{JYMclO7Fg1~dzRxcCk-#rDM%?|%^FhBjq%S) zzn|Mxj4L9Jhgi?s_{5;m&JD)aOh;S1K1T)$ZVk9Ysdl$#Ir>Xs`A2*U?OHU;@`m&U zgsQhZ$~TvSP0#_>(45YA9bACC9{n5~4Ot(R;S`^hSWCwW<-yk=?Z6nXQij&Lr^+wj z)E?rQnE>Rs?%cE-%St50-kGD-`V3{1x!238 zzqG8kll1KT@Dk{A0vL@K7nxrFQY`8Z1d5SC7}kO@=7QKCc=)o%(aKe>E02O~;}$Ekd1JCujPsM~mx^E{+ebxlZ+f_4_OFssc#_GC=IY6Cut%-1~ zN!eY$-n#C9b`Zejzh0)y-QcgU>#EMrq^})d1J&`h=jrRd?dt31>+RD8po}mDf9$lp z;?GXn+3NGbIzZD6%}5CVFO%Z-h@=6C-#gytTQYm^V$`LltL6I0M81r+ARWR)g}1b$ zKM9|^k|eNm239xCpFZfXS%9=bkQ59M@OpUb4dkx{=}$H1g?1_ z8F($^QR8>FI6BUthN;5hnWw$5mBDl&fZw06Rq!}x^<1i-BRl@#(_rZmOx_?i#g?d& z9W7+VHAYYy>^R--yFDaZ8y-ruR@)4^V0w`=H@JHSF=o)pCW*=E+K?m1iYy{ zen+htu%aN0onXXmM`YM6*pi%4=_n*2FE$55FMuThKLrV?&JF$3`wyW5t6$vn^JXyB zT;G>(9145zJIBl(fxb8YU5V2hAVQbL+UP;$$$6>++I4T*1-eFWV^wZ@Gpaj#y~%8z zS6fi5lc4$Oh_ndzmNJOG3+7Ys{G(jqSl3lGiC^I0SH}B$*jKrbNrSsygx__8*IclZ z65nTecTKzWlgJi^0KZ{MD)xp83>i1UGRI^Lo0){m1i#W>*82;YPheAe z!_NjQQlv0jcH(a!G={CEcJHxFv_^8qs<5|`PVfbroz#r~LprGn=kHXY(xk1<#o}Qj zXCOW8vj&w4QIb8)TM@G`IydRJcoX@Q_`CHl&68Y-)KUw(dQdSk3FI&&hwn+h_ABJ^%3!PE0is#YG#4jp;oAKaa!WEHqd>QXlsA z=BNgku#GYw55k+qB5Kk1B^EPMd(#Y*mCpV$dDEucv8#m57~ioUhYs-*gh-8en%DAp zF#EZ2I7=IAGxOpKw!F+WQ^l4{h0C>{53uSmgd*uFIpVf~PC8xjuI4VmRFgjjhBL zZ$1r&;69zru#l|>MulEFK2F0Twuv&)0)K$oFU4G8OJrwyD9d_eKKZ0NgV2p~JR31q zHPS~wD_}Yu&&!V~TT#r!VkJ|52xqVDV6v`d2QUaZ2c*REG0oC)&PGg_7=VJqVM(7R zr8~z=GigHLCywn$%)}qgwCuyb6|(=yw;b!e7l&%{V*iV&Nm?&1T`%5MSS+yt632~H zt6G<@!k)$`WW#YrXQWY=Pw_(DWTvGP==n;m!@u92Tx%g=v#%UV)m(Y9j*Ckk=tjN_ z1+B&62awN6j3TRpZohZr#1(?TBM%&am0Qk?h#RHbm=2YAI?=K^{%*czj!zH=oy_UC zK_!x`aE>~6tbxcVKMGJ`8XxcgQZZ19$X66|0_Nhbni15F$bI2ZYf>#So76q_@{K`X ziXi)X2V_)jY}-TW2Gnb{-9{8|=l{OJ$Cbr z-S_T2P1mF2Ymk6pB!Hg-9tB@SIaCD&FiGi`^2-HFQ#L$8bh;? z2Aq@0Bs8MQjI>gyci?ESvV`XfN%%)W>GY}%#g>Ezg=)}g{}`9f$x6Oo)h&H|zkz@Txif@#qCZ`&J=bKQtl* zmzZHZFx%%T(ISt+$wjR*V*Nj$f&yT0M9Pen_Xy7Vyhq0q8u$Iuy4^DrJg0BD`x!Dd z(!x;NRdlOf6A2AJ`*)Tlv6rL72$4EN_QYtu zjUsEU1O9S;auFOw!lq0=?}Q)2_jnu{fngDe)?*}fj!&rKZ4Jl9nzGw|K4)KG%#xSq2jzJk zJPBu(Nc|1VwIvz93o6Nny@KW>Nl+AHQpi5D37#%2w-pEoQX1wAgl}k7x#E_rL`CK# zOOQj$_{ABRK4rXz=HNc&XCT{S@I8n_`kS5ZoIWc|jSB*T@^-R%VLG*ncUQ=&6V1w-?-}M5PF}-QHIcg2o=JxqKS1>4CwN%j z-7P`0rr8w$h|FUCQ=U!bu%BGhA8~+VOgrPvFyaju!-+uRH>TcWHSeCozFrjSus2u5 zU9fCevFzqBpVXLSS+J%|b^LeQFbvSr7H3^RA+`{Bj;>WR5e@lxn!0cN2a~aaS!s^E zSeIPSVrI4MNDPtpbe{P2ZZj>VN zL}s?$Gp=Q$R4&Q>=fd*mLX+_^Yki-*@4u_ts22(W~vU{^IX zDrjYl;!wpYuW{(!4|GwZaRbv?N|VP~Y9tI`uz_}-1%fQblUC1l3sG`Cy zIuWCL`N=yE*5!9~Q6IsNs-|U!4VPQPE85&NT_Q`wb?c0HndTo6GE|j<K)nY_+v-X)LDdYoew?-ccD;{q2^1# ziK=TK{bC2iG*&SgoNAn+hT)#p>o9go4Vmd*8LnSKyPm%;Uosh8hmeR|3DctsdEc6q z!{nMpK=)6R*880XwA3o)z&_akFAfc35u0BlfcFu=b6M5bS<`?jAg`+HZ42w6B$N(`#;+uhk8f;drW2t-UF8_A zJ%5KVlZG>}TTt`n;&PSF!-qPb7oG;B1-_xW9JlA)dE+gsn%SvgNN63s<@dbE7L zy$QUSU46~jwSUC}x?FGP0557lB#KMtXP$r&7f)xJw(-q$$JFuW-cMHTP$=~5g>m#i ziP?_`z(AZ%TY86*u!7+#{qTl4CPB^$!_qk+Ai%9{e8Fve4Sj!oNEY?*g3+#tAK|}e z@FvgU#UZ2&IY;P$9h{cReJFxw3j$E1xhL?x@A8=icIy(Sy@Dt*0**kz|aY` zX9p?AlVU#oS0;9TR+PqR{$J^N2pn@$v0z(EUKN7V7=Zst($1HK6_ilsy^;opmG2D z3BC1sI<#d_MdOhWry;=4&z97e{d7^U`q7C`pmIe0ZG6-6iB+GScK2A>m1!AW{V36bi4!%}y3Q&N4MG5JmTSx$ z^xQzbjKHDw*9h7grmEtg7ALv|#$H;g-tp$#r_sxSqiuF)mO}+}_8|g7H+hm)( z*~(&qS6dG-3OCt~o<3o0oyQ2|edW1(qbaD4$hU?^;~1Sq7fe>Nazi5Pp89$E_@IX> zVp}8%H>Q!c4Jlpg%)!HxmPo&4Uazf9c)Oq!>+-SO|BgEfp#BmAuxMPjWXx19gx}(T zUlN!R8X2-y`_(&yHqB7|uGqY({{S@#1q6g@5pn^Rdu1r}$zu;MQslVbe*+RbX z)JTwKy~c*;wTgKIIP3=zjyvZ6mWPB^A%pt6&s4{#Ts(5By)F^*2BX#${X3JQUsK{z z6WY&`xHyrOr1r!e=k~i$gL*`JO2+Av4c;bQaa@YCYZC=t{dpdCYKZF zHoQrKpy0E8BOFCN9xixzLLGX28Cjk3Wv9IwY1FR}8;(D5}cq74^7jM6EXB0ksLus@3#71hrc!tzEkoCE9 ziupt3royj8Uls9^JXIo*L9oVl$W3;xlymUn0$7*fu9x8CU=l^JLTb)8)ARoZ0@wEI zJcjRdu963@x2;=A1XIQu1TlCY6kbvgdI^p#Yt&zXDmFR()-4isNV#>k^k_?&?<-Lw z`u%Vg{|k!iie)&P8VMAi$>s=X+ImflhJZw9t5W?jJ`R6|;=*3W2O1r>!b-;tAJ|H6}D2dm#^#6)leTnsWMIi4$> z^jW_)$cQah0qAt_Y?_TnXqvp z{C~f0-sjR61P*Z#iqEglZ;btd6i^gj5RGONsQ2}F^>t79iG|I|;-AYU;TU!3X*T}S za<#c4hiN*8JnyJ&@M~cpr4$p_#vLl{^V4I?;|uc(3Y#@g79bJO;D@wme1NZD=BCBM z-nLY;;$@Y#f$W5#U{+9-YxO2LuYo~nciN5fDhl}`imhOl6seal5yq_?n;W58Ft`I0 zmR&{g6gH!>R)YlnNcH|NICM^Tpv3KQ_4-Rrx2AFB1k@ZVe}>HLh)kFg*;QeY5nUH8 znhZM%0<{m&;2*It*M^?wQn4CxT;bKJ5X!e@jX$d4;k@Jy!Xf23Q=Y!#d9N<|J`Ivj zqe_~H$sc+6gXiLB`(Pf>`iSh)NUfH)7gSG_`BFSoDF}j@6m|-JJ?ho8^m%<>d;OM# zkCGDLA=OmnJCI5hpOG&Kn@qW;#FU9JzUVtsj1L0%xh*_<0PeO5vY1-*Iu22a$jXkH zu2}E|q|DId=E~iiMEdiBGtOGHW>8Wgtobfi3o2YNTOa{ww6GyaOZ`Y_QcP6K6=+F% zDim9qemdE+dq{ob$3{q47xEb3L+sBIey1jInL_BCfsXJrVqGz>&6_VM|E;b|RF`s_ zbD{$92oY$gK?i;@?k!l!$t5R>R$ao-m1Q$b9icJ$INo0>vd%FPW1z7m!p3oVX+-;& z*=;^~w1YIw)Kn>bc{?J^)GJ{l#C$QyYSEzN`+q|b$XYTv>)`;wFzWGtTt&bw!{@>q z;E__`;{osy|Mjx>B=A0w^?4)k@wx@{ju(Ah|Jnk)>2*gBx23pYPVl9A;7zZmfKJpo zifXH4n4_$|!Z&(b@6HtF$sX}&ub5gkR4R*Od}FywPBF{O_PQ-LZdp{3$xIOdzFQoV z#wb$OjrJpTuJ6CA3B1oeZHW*SoWqCNa}SkIWR-NlFc#PMk=qH&vLTg^f$>qz$z+Xq~-a(CbVue^(s8${8kIbiBhBKv?jpkEQ zoG8T44#dy)2)OrWB6!2lcm00!!+4G}K_NY3`9_n9Qu%TzFy8iC7L_AEyGk`vE!$AF z^()F?0J9L7W_q=bRR8^-0T#Z|xM0}!E8Rl{Buua}+NkpOzr3~{q?nBdD+2QQ+9*C4 z??dpBhQ5btlpqnofMdrasyy~}7Jxkt%5U6*XsovkgBW?<11Yw86MZpC0(69z4B)cx zz~~S{o7OVr!7IO0FZjWo6IBL|{d6s~df5N1FMa`0cY;YmfI!lDTA$kUHM!-LF)tT) z{rPBrTnC#uq3DeVOy9E@V4MZfZ@OqP=9v}m1>qYZ@6S#wNMa8ZGnhacWW)f8Z5QMv zY~F4UQ9JersJDFJjbf&qrJWjp?s4RW@<{!yoS0ng&-UgI!hBKzzkG*59FWv)xKB!4 z^Jg#uQBD;ifIJoBwMK?Pl&r8dd%tO#CDD&;6=>gYiC{85ze~q(6h%1~lr6yX6q(Qj zU@oR~b3Nf6MfHF6k9v?CO40jeA3+HXX#*Z*Xm-IJKAzGM{Y`HO^qdeq?0x6SGI*u--bp%?!>`Knn;9(lK=k1vgA{xvpIn78#ZfAh2`c`%|b?P@a%^A9KH#B01mN3 ze`r3LSdS$6hqu};o%nCfK|%Et8ikb+&hlzmij7C%ZPE?K=zod!U{b2Nv|X*n^<4@LGJYf_pxl6VyDwp@y<*h(SS ze=mkt0G+RqkuoYUnV(DcarJb^<@MPlImF-o%Lb@N(Dc1p2bj{y`So7_s;7&yb=Aka z#y!v=oalQ(Bh14`eaSx@@6OTey9Rc-NlB`FX>#CiQzdn+{K~Y*o`h`~aw|eLn?MGt zn+1IurB^HS2Kp8Ah8jl4)E3%38x+F}c}D@`1vmP0WJ&CQ+yIh$;J~^Iqt5O20hSJY zcAT@;+>JFqCK5rBypT^wQ$=O6q2&Z0hZ`S2N4mJYeSlE zLIdZx0erhJm*3}^^+5s?yd?;}Hm0EJ&$v6X);NmvK!0Jo!+i^PJHEZ0W`@OVIjsle z8IA4q=I!0pv8N?l33yp1Px!;Wv#tJrth-7LS&*;^{6YVC?Yh;GwB>x0rzTdDK&P>u zLmr#NfC{0<)&6s*)8kW^I%P4@SCZ%cbGCcZf`tX5j_^{j}~Bz4KQJ&$5#E% z3^H|%a@>OAe$4+$6A_f+fCOM`V#8YPbQcruWAePRyLIK`_Swx|&QwEr{Ai8r*7z=t z$q6c)Lt?XuEwg|>pEeANnI*q5ad93E!-qzBAF}no%l*R9(!voTj_Lh9vy!em?i28i zK^oQ$u8?PyIq5Bi-N#&Y1>>Gwd69<9D#=$QwA9oQ5LwH6&k zoQYV?9X%JX6vDXzYuyDB6^z^|IRTk*3p45rwk`KUB$4sIvNgIN$6?Pe17LuW`0R@* zIehbgqAa*oJVs8GKyGf7;&0paEf1a?%sB~vHC5(VjjT-tQw6J2K3{@sj+SsL$crgp zGBw(s&;?>El>y+eI}euB&J1%n;ZKieQ9o){60pBU;PBY>dU1xhJ=p4cB@6z<_Dp$E zG4viz-dydu@y{{_T<@uo);y}4h$694K$LG09$ zyme~Cq*M87!U?K3Ude^E&~C<^+k~m6YJPP&9_LdWADf z!BP9JAOL?#VT2cSU(ViJ@q^ZwrTJNBPz;G2yOZ|E3FJuGwTX}6^{1wo1p+;!+hvNo zJ>{>4EC9tx`r9%%eX%dmciz}~PS_})KaaZvM`Cd%+yWYl7M;u0r z0H*;S8GK>O@Lrq4pf1l+h;Uh<1km0dgL=|pPxElg^Wz1oqwl^Ofc|0ZX1a6E z>QQ%L-t_>PZH{?7J8u|xg^e^Vz|Q4Mx|lFQ(2s@%4VDXkh$Uui3PYP!YeM=gLk zaBPGfc|sol_I$oO)&mbf3v4kr=zKnu-i)}%)3@V%5?i*0J8(_*+PPDPeOr$Z)i(iIz7S|+8hF7I?+fpKMRP*##muw zDC1e6SCOkg9sUG~%|BYEu&hm>TG_13vbps%yK#J5^{5my)bJi$J~Zf{3N=eQlSwgx z_U$V|GlV$px>+EqSckC}w|&#q2Ee^Ih<-pXWB!1YRZvHLQMBx?*3nl4|D5&$dUul; zy>hKkvb49A2~=qX1no2)62tYk%@Q5kv@iKA>!!$b#-Q~bPS=(i({ZpI%cB^sufql2 zf%Iaq8Xve@1i`iKXXM7G)%H!j~0Ew>Ss1OlQ zfB>+|Jof2jy3&E1Lc-%QeG6if34+4w_FIDA{wf3f7HEjB5(*9O2NQrKfOfMVhN%S> zSs=Gxc&GhBh@qo{nqVj;Ff|-_S=%^Z0Q!lL^Z;)2(AkW!zZz%DDp9l~G%0D&g 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 KyBxp-R0IIxI+e%( delta 131872 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≻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 z%0A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 delta 145909 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%0AC$bTx+Ns1R4{t$+;XsF*vdHb>rV**S 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