From 21b02018ee9dd23440c5631583a306b12c008d62 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Thu, 25 May 2023 18:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E7=BB=9C=E7=AE=A1=E7=90=86=20|=20?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 | Bin 123540 -> 164532 bytes ...3f85b86a-e7aa-4890-ba76-98d6a12d19e1.vsidx | Bin 0 -> 47434 bytes ...4276406d-9cd1-4677-b724-afe7ec1c7148.vsidx | Bin 41298 -> 0 bytes ...6a19da00-ad65-49e0-96a6-8070e9505ed2.vsidx | Bin 44528 -> 0 bytes ...6aaffadf-da73-4dcf-a2c4-55d4edaad44e.vsidx | Bin 0 -> 54459 bytes ...9d5d1701-907e-42e8-aac9-f4fccb63d094.vsidx | Bin 0 -> 46356 bytes ...b164a36b-6b4a-4513-93fd-bd55d2866e91.vsidx | Bin 0 -> 46067 bytes ...d5b6b639-3bec-437c-8aa1-0d19e483a59a.vsidx | Bin 38385 -> 0 bytes ...f605dade-673c-4f67-ac26-a3f4c502f3b4.vsidx | Bin 57139 -> 0 bytes .vs/HaoYueNet/v17/.futdcache.v2 | Bin 1060 -> 1628 bytes .vs/ProjectEvaluation/haoyuenet.metadata.v5.2 | Bin 185297 -> 209189 bytes .vs/ProjectEvaluation/haoyuenet.projects.v5.2 | Bin 693001 -> 1126195 bytes Simple/Client-Cli/Program.cs | 6 +- Simple/ClientCore/App.cs | 2 + Simple/ClientCore/Common/Helper.cs | 26 ++ .../Common/ProtoBufHelper.cs} | 4 +- Simple/ClientCore/Event/DelegateClass.cs | 15 -- Simple/ClientCore/Event/EEvent.cs | 14 + Simple/ClientCore/Event/EventSystem.cs | 245 ++++++++++++++++++ Simple/ClientCore/Manager/AppChat.cs | 16 +- Simple/ClientCore/Manager/AppLogin.cs | 2 +- Simple/ClientCore/Manager/LogManager.cs | 20 ++ Simple/ClientCore/Network/NetMsg.cs | 94 +++++++ Simple/ClientCore/Network/NetworkHelper.cs | 8 +- .../Common/ProtoBufHelper.cs} | 5 +- Simple/ServerCore/Event/EEvent.cs | 15 ++ Simple/ServerCore/Event/EventSystem.cs | 222 ++++++++++++++++ Simple/ServerCore/Manager/ChatManager.cs | 9 +- Simple/ServerCore/Manager/LoginManager.cs | 10 +- Simple/ServerCore/NetWork/IOCPNetWork.cs | 7 +- Simple/ServerCore/NetWork/NetMsg.cs | 103 ++++++++ 31 files changed, 779 insertions(+), 44 deletions(-) create mode 100644 .vs/HaoYueNet/FileContentIndex/3f85b86a-e7aa-4890-ba76-98d6a12d19e1.vsidx delete mode 100644 .vs/HaoYueNet/FileContentIndex/4276406d-9cd1-4677-b724-afe7ec1c7148.vsidx delete mode 100644 .vs/HaoYueNet/FileContentIndex/6a19da00-ad65-49e0-96a6-8070e9505ed2.vsidx create mode 100644 .vs/HaoYueNet/FileContentIndex/6aaffadf-da73-4dcf-a2c4-55d4edaad44e.vsidx create mode 100644 .vs/HaoYueNet/FileContentIndex/9d5d1701-907e-42e8-aac9-f4fccb63d094.vsidx create mode 100644 .vs/HaoYueNet/FileContentIndex/b164a36b-6b4a-4513-93fd-bd55d2866e91.vsidx delete mode 100644 .vs/HaoYueNet/FileContentIndex/d5b6b639-3bec-437c-8aa1-0d19e483a59a.vsidx delete mode 100644 .vs/HaoYueNet/FileContentIndex/f605dade-673c-4f67-ac26-a3f4c502f3b4.vsidx create mode 100644 Simple/ClientCore/Common/Helper.cs rename Simple/{ServerCore/NetWork/NetBase.cs => ClientCore/Common/ProtoBufHelper.cs} (85%) delete mode 100644 Simple/ClientCore/Event/DelegateClass.cs create mode 100644 Simple/ClientCore/Event/EEvent.cs create mode 100644 Simple/ClientCore/Event/EventSystem.cs create mode 100644 Simple/ClientCore/Manager/LogManager.cs create mode 100644 Simple/ClientCore/Network/NetMsg.cs rename Simple/{ClientCore/Network/NetBase.cs => ServerCore/Common/ProtoBufHelper.cs} (85%) create mode 100644 Simple/ServerCore/Event/EEvent.cs create mode 100644 Simple/ServerCore/Event/EventSystem.cs create mode 100644 Simple/ServerCore/NetWork/NetMsg.cs diff --git a/.vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 b/.vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 index 2bfafaab5657d454c9bd8edf81c582d7b329a51e..de578c2088918322a7f195a9c937dcf491b77176 100644 GIT binary patch literal 164532 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
    6kw@<w{CtP~Ii2n*;2=oVlD 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 literal 123540 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 + /// 获取时间戳 + /// + /// + public static long GetTimeStamp(DateTime dt) + { + TimeSpan ts = dt - new DateTime(1970, 1, 1, 0, 0, 0, 0); + return Convert.ToInt64(ts.TotalSeconds); + } + } +} diff --git a/Simple/ServerCore/NetWork/NetBase.cs b/Simple/ClientCore/Common/ProtoBufHelper.cs similarity index 85% rename from Simple/ServerCore/NetWork/NetBase.cs rename to Simple/ClientCore/Common/ProtoBufHelper.cs index 404f542..27e19a4 100644 --- a/Simple/ServerCore/NetWork/NetBase.cs +++ b/Simple/ClientCore/Common/ProtoBufHelper.cs @@ -1,8 +1,8 @@ using Google.Protobuf; -namespace ServerCore.NetWork +namespace ClientCore.Common { - public static class NetBase + public static class ProtoBufHelper { public static byte[] Serizlize(IMessage msg) diff --git a/Simple/ClientCore/Event/DelegateClass.cs b/Simple/ClientCore/Event/DelegateClass.cs deleted file mode 100644 index 3c972cb..0000000 --- a/Simple/ClientCore/Event/DelegateClass.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static HaoYueNet.ClientNetwork.NetworkHelperCore; - -namespace ClientCore.Event -{ - public class DelegateClass - { - public delegate void dg_Str(string Msg); - public delegate void dg_Str_Str(string Str1, string Str2); - } -} diff --git a/Simple/ClientCore/Event/EEvent.cs b/Simple/ClientCore/Event/EEvent.cs new file mode 100644 index 0000000..17a2d22 --- /dev/null +++ b/Simple/ClientCore/Event/EEvent.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ClientCore.Event +{ + public enum EEvent + { + // 添加你自己需要的事件类型 + OnChatMsg + } +} diff --git a/Simple/ClientCore/Event/EventSystem.cs b/Simple/ClientCore/Event/EventSystem.cs new file mode 100644 index 0000000..dc0ee60 --- /dev/null +++ b/Simple/ClientCore/Event/EventSystem.cs @@ -0,0 +1,245 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ClientCore.Event +{ + public class EventData + { + private static long BaseUid = 0; + private static long GenUid() + { + return (++BaseUid); + } + + /// + /// 唯一id + /// + public long uid { get; private set; } + + /// + /// 回调 + /// + public Delegate callback { get; private set; } + + public EventData(Delegate d) + { + uid = GenUid(); + callback = d; + } + } + + public class EventSystem + { + private static EventSystem instance = new EventSystem(); + public static EventSystem Instance { get { return instance; } } + + private Dictionary> eventDic = new Dictionary>(128); + + private EventSystem() { } + + + #region RegisterEvent + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + private void InterRegisterEvent(EEvent evt, Delegate callback) + { + if (eventDic.ContainsKey(evt)) + { + if (eventDic[evt].IndexOf(callback) < 0) + { + eventDic[evt].Add(callback); + } + } + else + { + eventDic.Add(evt, new List() { callback }); + } + } + #endregion + + #region UnregisterEvent + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + private void InterUnregisterEvent(EEvent evt, Delegate callback) + { + if (eventDic.ContainsKey(evt)) + { + eventDic[evt].Remove(callback); + if (eventDic[evt].Count == 0) eventDic.Remove(evt); + } + } + #endregion + + #region PostEvent + public void PostEvent(EEvent evt, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2, arg3, arg4); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T1 arg1, T2 arg2, T3 arg3) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2, arg3); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T1 arg1, T2 arg2) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T arg) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg); + } + catch (Exception e) + { + App.log.Error(e.Message + ", method name : " + callback.Method); + } + } + } + + } + + public void PostEvent(EEvent evt) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + #endregion + + /// + /// 获取所有事件 + /// + /// + /// + private List GetEventList(EEvent evt) + { + if (eventDic.ContainsKey(evt)) + { + List tempList = eventDic[evt]; + if (null != tempList) + { + return tempList; + } + } + return null; + } + } +} diff --git a/Simple/ClientCore/Manager/AppChat.cs b/Simple/ClientCore/Manager/AppChat.cs index 8e5533b..9340b53 100644 --- a/Simple/ClientCore/Manager/AppChat.cs +++ b/Simple/ClientCore/Manager/AppChat.cs @@ -1,14 +1,16 @@ using AxibugProtobuf; +using ClientCore.Common; +using ClientCore.Event; using ClientCore.Network; -using System.Net.Sockets; -using static ClientCore.Event.DelegateClass; -using static HaoYueNet.ClientNetwork.NetworkHelperCore; namespace ClientCore.Manager { public class AppChat { - public event dg_Str_Str OnChatMsg; + public AppChat() + { + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdChatmsg, RecvChatMsg); + } public void SendChatMsg(string ChatMsg) { @@ -16,13 +18,13 @@ namespace ClientCore.Manager { ChatMsg = ChatMsg, }; - App.networkHelper.SendToServer((int)CommandID.CmdChatmsg, NetBase.Serizlize(msg)); + App.networkHelper.SendToServer((int)CommandID.CmdChatmsg, ProtoBufHelper.Serizlize(msg)); } public void RecvChatMsg(byte[] reqData) { - Protobuf_ChatMsg_RESP msg = NetBase.DeSerizlize(reqData); - OnChatMsg(msg.NickName, msg.ChatMsg); + Protobuf_ChatMsg_RESP msg = ProtoBufHelper.DeSerizlize(reqData); + EventSystem.Instance.PostEvent(EEvent.OnChatMsg, msg.NickName, msg.ChatMsg); } } } diff --git a/Simple/ClientCore/Manager/AppLogin.cs b/Simple/ClientCore/Manager/AppLogin.cs index e2529d7..23a25a9 100644 --- a/Simple/ClientCore/Manager/AppLogin.cs +++ b/Simple/ClientCore/Manager/AppLogin.cs @@ -12,7 +12,7 @@ namespace ClientCore.Manager LoginType = 0, Account = Account, }; - App.networkHelper.SendToServer((int)CommandID.CmdLogin, NetBase.Serizlize(msg)); + App.networkHelper.SendToServer((int)CommandID.CmdLogin, NetworkHelper.Serizlize(msg)); } } } diff --git a/Simple/ClientCore/Manager/LogManager.cs b/Simple/ClientCore/Manager/LogManager.cs new file mode 100644 index 0000000..612ec1b --- /dev/null +++ b/Simple/ClientCore/Manager/LogManager.cs @@ -0,0 +1,20 @@ +namespace ClientCore.Manager +{ + public class LogManager + { + public void Debug(string str) + { + Console.WriteLine(str); + } + + public void Warning(string str) + { + Console.WriteLine(str); + } + + public void Error(string str) + { + Console.WriteLine(str); + } + } +} \ No newline at end of file diff --git a/Simple/ClientCore/Network/NetMsg.cs b/Simple/ClientCore/Network/NetMsg.cs new file mode 100644 index 0000000..f2f2d74 --- /dev/null +++ b/Simple/ClientCore/Network/NetMsg.cs @@ -0,0 +1,94 @@ +namespace ClientCore.Network +{ + + public class NetMsg + { + private static NetMsg instance = new NetMsg(); + public static NetMsg Instance { get { return instance; } } + + private Dictionary> netEventDic = new Dictionary>(128); + + private NetMsg() { } + + + #region RegisterMsgEvent + + public void RegNetMsgEvent(int cmd, Action callback) + { + InterRegNetMsgEvent(cmd, callback); + } + + private void InterRegNetMsgEvent(int cmd, Delegate callback) + { + if (netEventDic.ContainsKey(cmd)) + { + if (netEventDic[cmd].IndexOf(callback) < 0) + { + netEventDic[cmd].Add(callback); + } + } + else + { + netEventDic.Add(cmd, new List() { callback }); + } + } + #endregion + + #region UnregisterCMD + + public void UnregisterCMD(int evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterCMD(evt, tempDelegate); + } + + private void InterUnregisterCMD(int cmd, Delegate callback) + { + if (netEventDic.ContainsKey(cmd)) + { + netEventDic[cmd].Remove(callback); + if (netEventDic[cmd].Count == 0) netEventDic.Remove(cmd); + } + } + #endregion + + #region PostEvent + public void PostNetMsgEvent(int cmd, byte[] arg) + { + List eventList = GetNetEventDicList(cmd); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + #endregion + + /// + /// 获取所有事件 + /// + /// + /// + private List GetNetEventDicList(int cmd) + { + if (netEventDic.ContainsKey(cmd)) + { + List tempList = netEventDic[cmd]; + if (null != tempList) + { + return tempList; + } + } + return null; + } + } +} diff --git a/Simple/ClientCore/Network/NetworkHelper.cs b/Simple/ClientCore/Network/NetworkHelper.cs index 39f4efb..4c45fcc 100644 --- a/Simple/ClientCore/Network/NetworkHelper.cs +++ b/Simple/ClientCore/Network/NetworkHelper.cs @@ -55,12 +55,8 @@ namespace ClientCore.Network NetworkDeBugLog("收到消息 CMDID =>" + CMDID + " ERRCODE =>" + ERRCODE + " 数据长度=>" + data.Length); try { - //根据协议ID走不同逻辑 - switch ((CommandID)CMDID) - { - case CommandID.CmdLogin: break; - case CommandID.CmdChatmsg: App.chat.RecvChatMsg(data); break; - } + //抛出网络数据 + NetMsg.Instance.PostNetMsgEvent(CMDID, data); } catch (Exception ex) { diff --git a/Simple/ClientCore/Network/NetBase.cs b/Simple/ServerCore/Common/ProtoBufHelper.cs similarity index 85% rename from Simple/ClientCore/Network/NetBase.cs rename to Simple/ServerCore/Common/ProtoBufHelper.cs index c760407..04e9c46 100644 --- a/Simple/ClientCore/Network/NetBase.cs +++ b/Simple/ServerCore/Common/ProtoBufHelper.cs @@ -1,9 +1,10 @@ using Google.Protobuf; -namespace ClientCore.Network +namespace ServerCore.Common { - public static class NetBase + public static class ProtoBufHelper { + public static byte[] Serizlize(IMessage msg) { return msg.ToByteArray(); diff --git a/Simple/ServerCore/Event/EEvent.cs b/Simple/ServerCore/Event/EEvent.cs new file mode 100644 index 0000000..a2d126e --- /dev/null +++ b/Simple/ServerCore/Event/EEvent.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ServerCore.Event +{ + public enum EEvent + { + // 添加你自己需要的事件类型 + OnUserJoin, + OnUserLeave + } +} diff --git a/Simple/ServerCore/Event/EventSystem.cs b/Simple/ServerCore/Event/EventSystem.cs new file mode 100644 index 0000000..a011153 --- /dev/null +++ b/Simple/ServerCore/Event/EventSystem.cs @@ -0,0 +1,222 @@ +using ServerCore.Manager; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ServerCore.Event +{ + + public class EventSystem + { + private static EventSystem instance = new EventSystem(); + public static EventSystem Instance { get { return instance; } } + + private Dictionary> eventDic = new Dictionary>(128); + + private EventSystem() { } + + + #region RegisterEvent + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + public void RegisterEvent(EEvent evt, Action callback) + { + InterRegisterEvent(evt, callback); + } + + private void InterRegisterEvent(EEvent evt, Delegate callback) + { + if (eventDic.ContainsKey(evt)) + { + if (eventDic[evt].IndexOf(callback) < 0) + { + eventDic[evt].Add(callback); + } + } + else + { + eventDic.Add(evt, new List() { callback }); + } + } + #endregion + + #region UnregisterEvent + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + public void UnregisterEvent(EEvent evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterEvent(evt, tempDelegate); + } + + private void InterUnregisterEvent(EEvent evt, Delegate callback) + { + if (eventDic.ContainsKey(evt)) + { + eventDic[evt].Remove(callback); + if (eventDic[evt].Count == 0) eventDic.Remove(evt); + } + } + #endregion + + #region PostEvent + public void PostEvent(EEvent evt, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2, arg3, arg4); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T1 arg1, T2 arg2, T3 arg3) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2, arg3); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T1 arg1, T2 arg2) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message); + } + } + } + } + + public void PostEvent(EEvent evt, T arg) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message + ", method name : " + callback.Method); + } + } + } + + } + + public void PostEvent(EEvent evt) + { + List eventList = GetEventList(evt); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message); + } + } + } + } + #endregion + + /// + /// 获取所有事件 + /// + /// + /// + private List GetEventList(EEvent evt) + { + if (eventDic.ContainsKey(evt)) + { + List tempList = eventDic[evt]; + if (null != tempList) + { + return tempList; + } + } + return null; + } + } +} diff --git a/Simple/ServerCore/Manager/ChatManager.cs b/Simple/ServerCore/Manager/ChatManager.cs index 7106aba..c44ae7e 100644 --- a/Simple/ServerCore/Manager/ChatManager.cs +++ b/Simple/ServerCore/Manager/ChatManager.cs @@ -7,12 +7,17 @@ namespace ServerCore.Manager { public class ChatManager { + public ChatManager() + { + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdChatmsg, RecvPlayerChatMsg); + } + public void RecvPlayerChatMsg(Socket sk, byte[] reqData) { ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk); ServerManager.g_Log.Debug("收到新的登录请求"); - Protobuf_ChatMsg msg = NetBase.DeSerizlize(reqData); - byte[] respData = NetBase.Serizlize(new Protobuf_ChatMsg_RESP() + Protobuf_ChatMsg msg = ProtoBufHelper.DeSerizlize(reqData); + byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_ChatMsg_RESP() { ChatMsg = msg.ChatMsg, NickName = _c.Account, diff --git a/Simple/ServerCore/Manager/LoginManager.cs b/Simple/ServerCore/Manager/LoginManager.cs index e936177..05d39b8 100644 --- a/Simple/ServerCore/Manager/LoginManager.cs +++ b/Simple/ServerCore/Manager/LoginManager.cs @@ -1,4 +1,5 @@ using AxibugProtobuf; +using ServerCore.Common; using ServerCore.NetWork; using System.Net.Sockets; @@ -6,13 +7,18 @@ namespace ServerCore.Manager { public class LoginManager { + public LoginManager() + { + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdLogin, UserLogin); + } + public void UserLogin(Socket _socket, byte[] reqData) { ServerManager.g_Log.Debug("收到新的登录请求"); - Protobuf_Login msg = NetBase.DeSerizlize(reqData); + Protobuf_Login msg = ProtoBufHelper.DeSerizlize(reqData); ClientInfo cinfo = ServerManager.g_ClientMgr.JoinNewClient(msg, _socket); - byte[] respData = NetBase.Serizlize(new Protobuf_Login_RESP() + byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_Login_RESP() { Status = LoginResultStatus.Ok, RegDate = "", diff --git a/Simple/ServerCore/NetWork/IOCPNetWork.cs b/Simple/ServerCore/NetWork/IOCPNetWork.cs index ea03c91..ad84594 100644 --- a/Simple/ServerCore/NetWork/IOCPNetWork.cs +++ b/Simple/ServerCore/NetWork/IOCPNetWork.cs @@ -46,11 +46,8 @@ namespace ServerCore.NetWork ServerManager.g_Log.Debug("收到消息 CMDID =>" + CMDID + " 数据长度=>" + data.Length); try { - switch ((CommandID)CMDID) - { - case CommandID.CmdLogin: ServerManager.g_Login.UserLogin(sk, data); break; - case CommandID.CmdChatmsg: ServerManager.g_Chat.RecvPlayerChatMsg(sk, data); break; - } + //抛出网络数据 + NetMsg.Instance.PostNetMsgEvent(CMDID, sk, data); } catch (Exception ex) { diff --git a/Simple/ServerCore/NetWork/NetMsg.cs b/Simple/ServerCore/NetWork/NetMsg.cs new file mode 100644 index 0000000..39acb0f --- /dev/null +++ b/Simple/ServerCore/NetWork/NetMsg.cs @@ -0,0 +1,103 @@ +using ServerCore.Manager; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace ServerCore.NetWork +{ + + public class NetMsg + { + private static NetMsg instance = new NetMsg(); + public static NetMsg Instance { get { return instance; } } + + private Dictionary> netEventDic = new Dictionary>(128); + + private NetMsg() { } + + + #region RegisterMsgEvent + + public void RegNetMsgEvent(int cmd, Action callback) + { + InterRegNetMsgEvent(cmd, callback); + } + + private void InterRegNetMsgEvent(int cmd, Delegate callback) + { + if (netEventDic.ContainsKey(cmd)) + { + if (netEventDic[cmd].IndexOf(callback) < 0) + { + netEventDic[cmd].Add(callback); + } + } + else + { + netEventDic.Add(cmd, new List() { callback }); + } + } + #endregion + + #region UnregisterCMD + + public void UnregisterCMD(int cmd, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterCMD(cmd, tempDelegate); + } + + private void InterUnregisterCMD(int cmd, Delegate callback) + { + if (netEventDic.ContainsKey(cmd)) + { + netEventDic[cmd].Remove(callback); + if (netEventDic[cmd].Count == 0) netEventDic.Remove(cmd); + } + } + #endregion + + #region PostEvent + public void PostNetMsgEvent(int cmd, Socket arg1, byte[] arg2) + { + List eventList = GetNetEventDicList(cmd); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(arg1, arg2); + } + catch (Exception e) + { + ServerManager.g_Log.Error(e.Message); + } + } + } + } + #endregion + + /// + /// 获取所有事件 + /// + /// + /// + private List GetNetEventDicList(int cmd) + { + if (netEventDic.ContainsKey(cmd)) + { + List tempList = netEventDic[cmd]; + if (null != tempList) + { + return tempList; + } + } + return null; + } + } +}

    M*#gvNxC2~%S> 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 literal 0 HcmV?d00001 diff --git a/.vs/HaoYueNet/FileContentIndex/4276406d-9cd1-4677-b724-afe7ec1c7148.vsidx b/.vs/HaoYueNet/FileContentIndex/4276406d-9cd1-4677-b724-afe7ec1c7148.vsidx deleted file mode 100644 index bb9e0e90dab3009e5b90d89828c982885176b2df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41298 zcmbWg37jNFnfG5HARs6psN6#_LKXH@AH!VLJxyn2Mpb2ZR%Ue`-CaF1HV%R!*NC7f zf&-$92a0%$sCb~RiwE8ZJAfx5sHp3KfGCOwF5fZ5v{cnA`>Ko4! z5l=jEM`j)E2d&*orP481%Zoe^#$y+G-hGe;OOF#AwQAK-t)yHYEmy1M>S*~HS-Dm# z57o-U@;6dGzE(bAyzKjBzg_k_<-jYOwA}K_?V=o&%TZX4l5!_3$EKXb<;*K*y>i|u z7iqc3%QIeieyTh_SKj0wZK9)1e0116x|<%Inw8~E$5uxx<>5*>u9TC?%5tSrtyKI< zC9G8PO0`;%*r9>S@Y>4o`pU@a%E;Qv`f8<-R2sdC->LXXCGaYNshGJ+E2^}MO4zA{ zaV6|l!mQHCDsfRs8kHokBt@m$sHCQn<(0fz$-PS6uHtuL?glT|IVsuR{~n`=Ym+R&=nP^~sJRvX$}8!p#|YqgPb zZEUdSdo{mZ^P`&IsrgCGPiuZw3rsBtYo=2(Gqq+~YnfVWq1G;HVO)z$EedN#=)YP(|mdR^U%eu9!sO4TQH?_Q7%ahv7aBViNZT4%Mv)V#2 zh(|Cu*cu$n2TzCwy=>4c2K{6(FoVt6!B#RDb_T=I@m1+(_}C$ z2D4%?_XhK1a3LRBb^K6mXs9+kG%`H2c6ez0@X*-cP-A4MJv`Lu4aND;^vKZM&`>WO znx7lm+#T97I$RzYE{_k_hK6e+!y^O3Bg4ZZ>xNf1hu3TvURxbrTOVFu9bR7_Zp6c3 zFg%qF&qu>ss>71;g8E3MI#Owm46PqQ=Bbg@>qpjBN7mLy*40Kf^hW&3h+iG?Ya{;n zNDz!n4v%D&k*qqB)kd=Mkt`g!puBo$Wc5g8^+>jQ{qd`t&DE39>U8G#+R*W9tH)>g znxXkM!)0+~O%$xHj;!SpsX ziw$A0p*LS29IV$H^}1iLH|zCQz22_Z!+L$PUhmZF-FiK%*Nb|6w(e#1Mz8KC^=4Ra znR+X!w~Kn%sE3{UWLEE(de^IW(|YFDvtGT3>$7S7{A}!~RbzwR*q}c)7>o^uV}tS7 zU@|t?9UDx?2D7ojd~9%G?1Z^7FB|iUu|_!NCu4ybYZqf-XDrOe;$kc*#=72EHyZ1v zW8GpbO~%qzg?yx8+%--`n;?s-Y{C2~njWBA2abwbG!$QRIzYqtVO#O4YBl z{Yvgv2mI=&U+elKnZK^#k5{BQd@mC(eSe+rCw?&En~HDhz8Uw8@lDrn4g2ki-}d~r z@!OMrJNDaie(3pO?oW38sfs_f#-AGXr;I-p`_fTS=tqekrG8ZSoeh2`@H-Ni@sq$$ zB0uT)N$e-7pA>$#@KfWbp`RwQjQLsD&vHMn`uVso?&QYLLqAXbe8Ddwf5s2W13`H_ zs5FA=Xi)Wo+E`GN*H$2tcFnMi?_lFdFy0KjH1P7Eu{vn<0>2&jlYt*e*^(%bhbha7 z9++xi2C#6N(ZFmBj2DIz{G*+1||(m7MQufECkIkXr@7HebAZ-S_>F` zVGxAPAdG`B4ZME`lTuk^;jsH9=MlvVlNW>ufa0M9gK(26+<9 zm|%8IurO-MRZ|`?<#AIfo61U4slv@l+f+hR>6l7lD!HkSnyRehJ{+$ZS?EozZEB&c z?6RzzTG!};Zfdh;sBP9BZ^i~?GMllk8Ovo(qD#jO>gr9&9FXB|yi|s-3{cZ3Ors}V zX#B|d9pfj``ogOW>U|jzW8O*mPtdCc1#+Zv}@AT zq?t)`lg^l|VzR2qe3KcIg(mBoEHhbdvYyE{nY?E5btZ3^+&6h(@}|k#CJ#-Xm^?Fi zVe(m%_e{QEirmZ?Gn<&%88f@d%vH@?&CK~`&X~Ex%;lyhe{*Kj7PHwmn`5&%Gt$co zz6>R^V9Y|dSt&Owt!5=}u3F!$`OR9|9O^Z_sOc3=KWO?=;daxc&8FXMnr6E|Gl#8a z7@@I~N;8R?N!m;{HK#|Ksn<+f%`|Cdc{5+t%xldeY8La&*{HeTHy7H?1qr0BO1V|3 zwkkud%5bYP(yFX)RT`~|->L+yN~cxHT9v$2t+uMQR&}&h^IJ93szt3@+^XfR;jp!S zzO_-#WzxyAP|B*8xBPa?4_l_vGF6;A%vj3=Ez^{qYniU}LCa(C2`)lQ;zH*KdfPN&*=-Y(+yOwpcA+He;$$kGnaW0|vLY(iqsmNFtwz;> zXhRs)>(O{q_V~!lA}^OsF7l@$S?+@x){LMT1#uK)Q7{vkG7ht5EHdNRz_CsR7(phE zOd6RiG7C{ShRp|U9YvU>yrWio zc*k^P+3J|AV`gQVVRdY!ozU+@ai`;TlAx2MovtSXr_+r(-MrH+WCC@vR;LI%Gee!3 zW~W!g<$7GH#uY!VWN|H!D}lJ4$$=~$mqSb=#;GWZy-wWd;jkksF81|EHs&~};_MUn zSc9>*rE!qOK^~h*YB9=494$NEWIMF97nx4HgOWiNfsx0oXp1EBAy=k|vd0F0|xwNDjeC!%G^INux*_y~LkN`~)Wy*=K?Pe@ObXrNLlXSXCT#;+6BpyxTjY&L?BafT~ zVv}f-VXR5*QNuimizJ@GvX?|jk|$l0bkiiQCFv+mNokOzCP}BH&yzGy(q58oN-~pV zNs?trmM3`|O_(Q15hq1ADbl3K6WK6l<76&NdPOonmu%Y7t@+(r*sVp~THGD4bUj}V zwOudoHtOAm-)*FF&g=T^uBmp-c-Mro8N(6momn@Gx{=q7!fupwleF8db-RAI8+B8! zo0@JKioe~gF6&TN+|PS*mC!93-D0X+uHfwLr!j|k_S(s$ud^TmWsVwWrjR!xIV@ncYx+g`}9nZR6){U}m znq{MMIfc_%*3L57(8^iv;iQ&JIL(SiR&=srI-3o%UY2bd$~Fz><$7Kz=apmS{tmW2 zxg%2@#U(|xldtmgn*0TFILd1sEGM-DEnUm<+HAghBwts{$K~ctIrpl$H-H-<-e``i z&1UYku<+o*Ph5~oxP`nSmrU*4k8(fB<$6QU(70qV0XAFNJxoWAn{d|TIgW#ya1w$^Y~XSy4Dzs(hly<7c{r1IT6rhSJ2QFg$+DZrGPkjW z<;hr{H1fok3y3_Kl0^hF4+}(=cjd3h)2hs$JRQ!{kvtuhNg@MX263KBR4-2#@@y36 z*(?|5^1PepX`c7;BF&2|pH1@KsGPQBD(Ah0eBR_+&XG^b~p z=}Z#N6v0fdJk!f(=3BFChGxBV*6+-=!`ZMk8|Jf7I4k>c+?-9)*<@}u4ds$u5B^)` zYWdtyXKpCgv;Wv!*pTzn+~o9JCz?x|b7?S_%4>TrYtQAQbF+T0JkTrGdzET$yxALX z_qzZEL>SfX&at+bx<+6&KUNP63OMCM(y@k$vxjJtu^JaA3 zjLn;9z9lsd=BMKMXv4gmcxE=t&rQzHrJIJfY#QFO$!~9JMVq#qzj=tocbJl%lIF^?)UGnx_Ra6e!R>7wxsUaXPtA_ z)^ks3pL^yxC!Z~)`)8efa_yuS{Ld2iDsMgHe^=7xf4&eccJyE0|E3lHY@M=`&wimg zj@Cm-+fF|FoKsJJ!RGF{TTegr1eg-Fn^`r@!;Ax6MEO zAC#1xdd9ZXPu^^MXO*BYC=Imj?6c6r|Lo&q#Rt!+{L>|gm(Mx-S!e9DAO2q@9y|Y$ zeQy3|N_At_R(%b*9QV{>w(|`EzH~;C9IKVOf8_#;d&d1n4D)r<)|KNki{BKIa zplF|bx{Qf`vX(!+^Z0|m`hPFUjyMdp|8*aso+FQZw*2*fsw7+B|Nk-f|F!1kzhp0) zzwF1mM0Km#lM#4R3eR2Ti8rOd-Q|e|Y%g+OA<{fio`~O%^8S>cO!+_(?{OjBQz<`< z@*$KDB@ZJHXZ(@mQPh{oqsf(wKZdMOUnP$tpTYQ5lxviS$Pw~*a;*^cTSs{VIZAFM zPar)Z(l;JMx4+ktfz~e1|+?=SuROLOej|uOi#${yOO(+dysny zQT{$c`77-!FR*(6|n^@os$l82FplSc@VZv|NbFupiSo&mPa&T}K9}*&BTpyKB)5@gljo2xB+nyXB9y<< z`IIl9d?DrSeoBHoizMcF&`5)wu$e)luCGR4CCX~O@J(Pbz{*t_p{0;d#^7rHe z;3WK#(HEwU{{`BRi5vO~sR&>hPyGdyFBBsG zMby8X@+&D{Dn!4&RtWo-3Go2;5WbQ6H<51^%3tZN@`8L8r+hPc3wbN~ZSuQ9*t=bb>x`dJ z|5NfV#@{VOd;XmAFBtzz%D-a#Zz%tk^6!Q6S9*Yako*(*7a{EaRR}*Grv7ij$BVqH zL`tx<8@UI$rx5A)5~9DJB$U6>0rGx>_xypi$=q(}Os5yDQBa$6{Wr76lCG9jnQOelY) z8On1)_`g|*c0EZ5yU%9)DMI-xol5yMA;#l2%4Z9a|Aj*NE4`Td^T`W@h`)&P%gI-e z|3bcsd<}US`FbJzxt#J9LisDbSzh4BJ1AczM7nn&l7#$j>fa+oKfagp`zU{a@->t{ zMEAqz$j^~qAipF;`PWn4LHP#qM(V#TL_NMC#CW?+D1W8z$_xDc z9{B_EheEXH9hC1R?-s(&z2t9%=+8fp4+-}YSu>OHZx=BJ?kYriy9r@`Ps)3f`;bo* zBK?zuVzP7qG<(^Rf zN?Rx|K#&KBbX$ce|0K$%kf#b!{%PbHnXp1d?Wd0@~!0C$t%gL$aj-hlkX!xKz>k&2Z-`MME$>#|0YCz zK1TTyLZrKn`cG5-j1c4Vi$b)+_2dr5-$33-{g=tF3Ss{njK7)sTgY35c!03`ZSuS1 z_sAazVdqEW9n{|`!~;b9=7c`x<%QT~k(4-obItq`jJr2K#oemp2dzdj^Hy&s|e z?B ze+IdV92APnrPbs*>Nk+1Lf9FnJV7?dfNYX&a#DzV9m)wgO?^(zQs1MzStx&{XHkEW z5bg48@?`Q9#y^+xsgzHnd^+Vbh3KbqgsA6vlRS`Vx(_n`!$SEheNX@EB#tt zknVRv#NSW(0m^?6!p}dFf2RH~Lgf3a5DyUbeT4eQgvhsxI0HUT2>ZLiITHFksDC`u z?L~QS@(JWVjDI4zpAh98$oPY(e=7BdQhykEIC+E+<*p#hc2<+ zfczo(VTXb`zpLyHkEVxfk_&Q{G1ifA^z&0C^z!6!K~0 zA>?5~*gu@|k>pX-mnp9#k0C4MaYE#O201`|jT|CJ$m7Yi3Nh-C(k6e39&_- zOZi1Y_cZK1bH3xpCUg)eva{FMBY#gmKt4$RiTn%s z5cx3qH}X;PF(LfWn_(p6UF7B%{CXU@JNbBWFCo(HO+JD8eaR=0`wQ^^k^TVc42MGNZ>KBAaeTf2$N&UAd-%8#_ep?9p-xH#K|3Uo^g|PQy@(%J&#@|KW zP5w-X{J)@luMiIqc78?uedMo&NdG$_#>0a`r27;37xEz?(*3s(e*RsEdOs$__}NV^ za*=NjA@q-@ychWda$oXErImJ5+?hMW`P z0mA+k>KBAaf09s|xOAEj<(^LcHu4-H?7dKk{O42uGU_i9BHzX2%c*~b5cXe1{i}s| zfUx&k@^wO_yFv&%ZzSKu__t7gEBQ9+-$D6G%2$!^Ca)&nM}C0(Ao*b-%DtBI$Al>V zU_1_et+}o)C z4tYEIeeyrZ9|__Ak15|l-bvm~-b4O^{3Usx5cz*i`M2c#LbSsJLiqD1A=3R>hzE%H zhlKF|VaksPk-oIIZHL{3koOWI|K8*igvkFya)0U%5TgB_DumsG8Go1%c2)>s=P1fg zXMBb70Odg;(hZTrLfBhPt`VaA^_1)67&%T(kPR{r!jHBP`KPGwP(Lk1xhdrt%CkbO zgIk2~V}X1Yd6E$JP9aYf!p`$3pCLrPvnZcU`5f|vU9P6ZxSNkTPeSt@;imFd$kY`5b548guQDR{}Ia9k{=^KA%q{-QT`P9 z8S-22N%Ka+&b@FEN7V=gh%Ds*JHuc{nzeoM|g|PcWA?o>4 z#@|K$Ob9#o2$Aky%D*IkC4@h}ru-Z7x76QH{wMhdA@+rbgs}Tp@?pmRjeL~)zYCFm zceyA*Igb~j-=08uU-C)h{z5!Jq<=Db5cyQbgNQ#^2tN)HqJD={K7#QpC?7@nXd%)a zL;bPTSIK9PtH?ni><^K{ikk`Q*EL!Kste`ipBKIIn(k?$Pp&lBPSBK=D!gRplY_1npd z$xFyr3Ng-KOZj!=<>VDY*m;W(^?$n%>EF%xtA(iVHIzRjgnu6v;sL_1kC4|g{-fl_ zsQ(1{N$Ni(M0ua3{`1s-f%@yI-$C9;ewqBL5c$7B-Xerw-=h3&A^iHT5cT_k5cT*8 z%+bH?9G{)+nhDF2519rgE9{!hveP<~K|a{r6+Uxo1J5h2Qbl=3e7 zSb0|=>a{!NJ%p&ook{#Ku!qp08#IT5cUn@o7A_-N$RJ_ zNQm~IW_(6{PI-p%tPl?n{?3s-A7PxW!uaQq&!zr(WI7>10KSeQQXF^dr=-p}bBAKSs$DsP{-;2)_c#P0B6GAvr~M z$b_6GGa<^E6~f*e*%M-%EKoj?d=|M?2*00Aoc2_(TSAP(?@|5%`9t!@w;qD+VXZ6qCNH&qMi2W?8SCHKTSC!3v!n6 zb3(MkCd!)`|4i~ka;p#z5aar})IX0rU5IvgKIIpX=aMfXUre4)UO>J~hP@fzwcBVW(>H&K2Ic2{UoxGX6g}haWe76bV-*+kBE<`*1P>6B;V1p5)#_l(Vl8_Mb@oe&hkvKbbs`JcxV>`Bd_0})5DyUY5#$Q8Os*u4 zAuB>WK;%1)93X4t5IG{m14MmRQ@@7tT5=ur8z>(WX*TUsw8sPr!#P=*pk0JCJLbinv+7CMQ^hShk)NG3{TBAOPkYf*|!}|!<-TjbwKkR+@ z&Pxej;JY6|HtLSB5=p>z~NM`;d-PlNb0 zgbqRI5N&KN9CB+68$JfQYZ!&>yV$N> zn(a{-coe$FA@n$e>}W#hZ_xcs-GDtia$wIxtZf&B@TIv@vb5&THD?cBLee|LePj0; z=&sSci}kg=pdw1cd%C3wj9q*xt280c{_zY^yUbQW#ifJa4l_jTr!Qz?oga3@!t!pa z(^!2$weVfB(&rH>BUDDnO*Nf<+7S4zTLSTmh&T(r=#a8w2ub!+$F=%uPqQJ% zeex{npuwB_`c040t~$?=Lr0i)lrA!M@FSb+czjo_gbxJR!P+-x7K_})tsCkAUUXHl zi<`O&ht%B(gzSo>I+WHx84XRR1&L$_gDcHLtoH9gSaf#N4nSUfr?2!)gmxgb1L+F9 z=vdQ!+fRE?RJICsZGxx~69}n8HissL`3V%HYvOJQX)Wzqj9Arawj4Rs)PaZyka&OS zc1LJJo_5;XkqFm3q_e{oqI08fWQ*Q*@&xMU7DgLdbkbTu61OtgB^Nrk47-qBy_d#1 z^C=oJg?XKg&ZrG(|4O7?{`;n+b5dPfOt;K?x0K>L%%ua7%`U14T@2mD2wjfQ<<2NV zu3CM*xCk9}5b>?b((e$$_cKdBRfqJ&CB`JNs|9p!9ruvKQ|}Ss+UgQSTmqeID;L5S zwo7u;fIaP6t$~OJvbnmsuCSXIV)4z~5SK79rR6 zE_5PdPn4(asQ-K6wy|NVifmPcZbt}T2rSuE9w9q?5ZakT%QtmNW(#*-xsdfw2NGIH zI~j)U5YUiYZgds3>lONP`Qiox2kDZARSI9aDeW&$yD+Ndoi1rwF4DQ>Awa=)=KqPi& zhJSp-mSpr4rRm|*?pw|Pl1wbV?2f{<(stWHrR@}7+PcZ2 z)I+;MTVsC}kf|Gk8ubU8V0dOIg&YokD<1NVh7KGgN zvoipTj6E{JHQimDDK|;ns^YTgL0wn=u4J`M=W=XCky}xuovVv2wYZJxRC80vjRV_d$l=EB7m*jA4&8hl|=W-am961g}=ulKzOS>B)zUj{Kf|l%?bP(Om z5LZ=QbNV_|JK0%5$hD9yL)%%sLadwY+u_0Xr8-+x=yn#m4LNR;r|lGH%B}|}sIM#B z;K!iRac_sMI;2+gWwFJrV+9PX zK*$XNTZXfTUbXwG(=8ThI}f7WqLE}JjH-FJ^z}_n?KkA`Fq!bp0bZM;S^*4P3Ilp& zt!-rwMR3Dz>PX_8bRDmYo7U1*#tkkVjympjIO?UPnh#N0h}o?=dyS1U9+jtUt49&L zD;)1zMUiCr@_;1x%(Y!b57Hzs|CoA@SY281wXEee$4@HQ8&Q1=l&Jczz|lf|BYSC+ zG*FOU69+J*M>X4Ta7b?^>9n#_96DQ7?SQ4G-2Jt!lFT;tR^*sKjqEC*qFR9tKYUaA zK1B7t@0f>JcaWP9iFc^9P4S|WSo_WOWr1wAMhMyCf)3u)-}W~bJATy>}!F&mNWTgAPCF zRQe=BLkJBaWII5o8U};TvfB}RyFBgqb0gvuM4WU!b$g7ecOp7u&aY!)I4%J1o#RdM%{G+h$vAQ!By^T^Z~Z3#`~))y9En(;@U6G|6*RCjmQ( zb>-K#pH@@w)ZU&&W$cj-5!&6_Gwzh;EN8Hs!SbC5;ky!cN)AZC7BqlZH`?t!4c!jp z*n!Z_RtuYM>00dO`TfXyKk`0+5WZVwhmTvX-CV^lf|VXb;t7N%5OT3@9NdN2yB6Eo zC2{q&yD5f>p4R(@l-6ALGMI0}R9o8*V&C}>I(zg($SyLv=7?0%VP;Tidt(7Qb=TTc z5wZ446PEGojCN1?ky=^WU|R0(@CDx%x2EoZh%dMBVh>jOE^c*V>#!Al$>?Z8;(vHT zxg7TN%<3AQJ%6Olyu8eIG~PX|OkhbZlTeYhv45S~rXr zooYG+c7waR!r6^L?P-G{jh;pA9tGD1kXV;Ax3wJw-BE~jGr+DxOFihD6_S>Bo{-J$ zp>EG}rcQ%-{3_l5SSLkgCzu;>E}I?vZe%YecJ}Ut<$Gb-b|{i`7yIpI#NNC(RNRuA zB0}Hh(Dt(hA)U6fTVw6Yx^!$f|CY@%+hAg3r-yvkN7g7x+ZB#~1HOC%A!`7gr-wVc zc<8WL+6z}B$JNN;-nlpgI{a`9&*PeHamBP}@5Pzt`lyX;y2|T8#4hHGlf+eZ1=6jM zXJ4N$kA*`+NH>I#&4G|hXHQUzZrC*&N$g69&|xre7(&Zh*Dk84mb<32izO1<-bXXJ z<#ht4w0~`^4h!u|ZBCfdo5nihos%wPv%$RWJmk;?DnP?_5#cswS6|zWi;ZZlAg}hS zGw*U-4o@$4^;jGm%S<^p>_VaSkgWE6uZypq>olb6pN?nS&hWs#Z4B4+E~lF*ZgkqK z4ph)ywz%pe@{@mX7kLE;Hm(fjT8zzm&hFjtzh zayoM8t0JnSZKe0U?d88D zD;?y_Bc%6uG+W=*C#r=Xbhj7P_$fyF5rB!s9Paj~9s>&WhkfH!PjkBXB3s`G)1F4G z{m_MLy2S{66GXxpXAVH< z02HKmly*lwbky11VA1CQ+3Y+=5*;~q-Ei(=VD?=;pkSTs+J1I+Bd;DhZ1*7V@8xNS z)bF*v(ES}={T+STR~hYEeL)gCE0%_~BinZ9Y_+ud@X8*+;E?*_2Hei9xGCu-vE3?R z+3DP5cUD|FTZV2dC|6e+`!*n~*n#e1T?nz4pdOc?HS`pzJH+*k-()Ky@c4FHI z?Mw6n8ETMNWBM=EMN6>ZATK@Q3%;%079-wTvgo&>-!K465DMXW$2i6Z`W)^ z;alOA4xjyz*fs=0HWnd!XVJwX#{@)ooqQ`y>76I*hDdg(I8UocQeB*vyJ6($l+<^x z?Ug2)-7WwqL&vyXRkZDOTA^H5+VV{kv391wfKD810DZ1L_gx~RG+lk%8lj(C(&gbF zFOjgUH>Pz((#ftf&%Uj_IALwM+Kr2o#0^o`s~4hO@MFy-yJovKK&7=)JS5Sj#ht2L z$GiI_Rwrru_i0#}M$@_T(50|Mg&KBKrQ1!6L`b z-e0wY0g2Hp_C+sq)u{Cfd0peUy1Dz4?hcS^4Lj=KpC0|}8zT_AsHK)>_hgvwYbG5f zc+oz$?=)z;AdBAi+JUyRA6S!st^Q5W-2_wait175bT=@_t7F3sI7Hw_HA;E|43Zsn zIYN5E({#&D(#vY3@386B`?7b3SHR#3=L?39F8aEn>)n9mrxBE^EpF?E5vw)Vx1qJt zcI+aZx@JX`Vds`k9Ly-)4chQPKP`L}Lijy!URR*f+Q0SsCTs=Ux30Tn&fau)s`^*HA zXsl+l^@XnQJ|U*FU8UfLeooMy+|VT2u-hbH$Hq1tVQ2_F&bUv6YG?xKbdR4{th6pr z`W}HDG$`EOu-CN{>2%Yy(?xYKZ%;-L?UIIUJG&aQ;|gBc8!pJ}Zj0DUEm7Hy*W;yb zWBAoUTdw-oMf>TkU2Ue@A?l5&DTMHoDb@|GW#1@4X?CZR0IyOtgcto7r#px&U)xc0 zZCy8p)HQpWgJqrj9@4pEa^Jbmd4f7B9PU?iP!x34w!J%yk*~J$j+u{M6g{Nsu(dOEaVTrE_svyA*o#86uJ)TYqFd_SKyvl% z>nPOYP?T#w|Dy8)&D3|N97)_Lz7dIUL?>(i{v6`Zkz@x#`WBNb$QG{M4Nvv>w$l$G zAc|902O#^k@wTrFW;>utnbkxDJ zu0y)7_T9CDJvZ51E%nmKZi`6rOgOGLC0uFSq1z726G+m4*l_kVLdOeUv_mzWUB1*I zw>mER{4!X18Devoa%UA+uIrS$kytOZ?HU1l`)h}y7wqkPSV@sCm1jvmG~m`D-B|1Z zL6P><3}1A8Sw26s-(cD9YN(d(3!2Ry5w*VR23`Ub?v^h%^z0QlVr{ixSudP)*4mDO z8+s9<2OAwet_|9#5&n0E9lL#(LD1>OqT|ngQVazxA3jT4$oA#ZbZ%IzKxr!w>#iYe z4z!xKf!($-HFWUnQffCoWV2nSb04Cu2SjZ;yGWzyw3auZv>P-rbovIA8(j7?4v5ff zx?@DwqG1@T2;F&VXCRP2~O&ly>vF}8msrn`t})D z1vISoo7;8myhPpXcR^vf?<<;GxON3zbnI#`T#j-tN40c8z6m0JxXw1G-N8h%n{^qn zWoRzJwE-;agtco9#ATbq?Qj>r zX3zZtHCOX)ORxnYiT1*g$Z@1Rd6+;WdMMJa0uXgJx*PU(eO@fwzO9WM?$mM#j9#+1 zDCp6uizIefEY2+>D(i;z3hwIls=8*kS!BBl_U=N+zF~=wou`BI zp>Jcnpw(@)j)CqNqj&p&f5W1QIVG!oJgmGIT9@C3N~h zzU>IS@JV{HSe`%X)+XFCt}baSvvJv^}c8|=9gnRP=OQS|n+$*!&Thk5*Vt8ERtuE9xn zAXs*0&|a|BhcB*{Hndm;{9^{AZEvv#LYm*l{HRJDKctigph?Rr7Ah+q;sk-%yYm zwQZm|md2`q{pH<+IR4gPS;&4BEpsn z^ZTL5zFUbR*+Zbc@I>OB4FS8n!hqItSx4#4shy(bx;EJ9b&vYDXv%%O@I+MRM0jA& zj*Hc|-xO8v(U+b^EY6SRqZ7>;Ac-BKm=%3qEo}{LUHkbVMA#h`d3BU%tnG8?be8EE z(^gPaypx4CUAFn_61jjHEw~~Px*NK?Vb8U=+uxR7#b9*WiKzW1l3mjDhI1FD^zBDI zC)&3kkwk~GuB;lNi-L|Edu6Q)h1L=dt%Q}82)Tx^Yc_Ot8X)9))t&&Lv%4f*(_vwk zDv>zLbmk$QE5lmRzC=VDh3h9=bYSXMX_KHE-N&qSaN$1{mE6xi90*Y_AM|_$OLm%G zkKpw%uzV4OLpwY0+2O73!l>SH&~vs90c#KL+6tn+JM|Pv`i7&9aoFp7rxnev1JivP z&9(uIF1rC?4^-L^Fx5rBsY7m**o{ETK;ibRr~M1@Dm27Zu&l$;U6S=ViP+^=fvzE7 z#Wv2;=5(8;?b@X|Tz9_}9^e<@ZO^zBX$2xyAi|9%TVE8pvyYJ3N-vsn!_mIIf^73J zs^2!Y?E>9y&}pk}MQH0%-G$IyxU_Eghv;^*S@wl8+Ym6Y1KI2jrd5E>I;0_y?B${E zR?Cjbc8}5|X!{A|n1H8QtTn}VLimo|s3c3Dp=OOn23++7Tq)m(>mu;W+zJ=)R8gT&J z(9fahlHt11hIF*MA%F_@ML={lxAhfO$$s~GX?+_gsDT{LN!NZ>r;{BWpku?@b2)U? z)A<42&Tc0xw}*7gyy{zWCDL}X?H;Wq%)52h_2se!)OCQKXzxbdbdT4?O^@+*lxP`R zE%@SE*LmtfZk1oLI5uoI>fna~yE{YF7TTFT+mcI5vu%KEdYo}Zy3V@^Mc(8Z3?XYu z=fdKSV;w@Q9XS}Mb`{W&d(ky^Y2MpV27Y$mUa#r|vo(S}SN)@q?kMP72Yds%zR%?% x)_vgA<#i#q8EQe+ajnN>uv&Zx4H4dVk(l_A;!g*4G?&+?rOlX2Dyt99F9%)q1^JpQ?IZb=<42 z_o_3~)e~o`LAx3x)u3Aq{c4m~TYj~bRoi~G-LH1zY8q9GPPOP)i=}GWt@g|6ykFhg zscv1YE(g`+^2jJTGD?q(n@9HYBlD=XX1P`kYSp4vtJi8ltrpj6WvyPX)kkXesoHVl zwehjq_{Q4!3AOP}wTX?j6Y4d;s5O>qL0k)xT9DO3zZOQdXtCBxYVCe4?$+Y87WZmN zTuZWAx2UC2E$!E`MlEaBva*)-YrRITm)ETHqEjofT2a=@dad+pWxG~pwX&#{OSO5w zwj9)!!`gCDTP|zM{d#?>?ge$PTldQPRHHr>*Mn|7$m&sE?-s`%TR-;L^4KyOsl_9W zrIDaJ68a-iK9WZx%f)fW%^Y_^^|+bpajnSnwtHh$Z*1Bd+wP55y>(S@gS|X&derj+ z&ksF6_58lq=zD?h1#K@#yrAm^nHS_!)77@a7|Lq3tc?X1=#Q^|trC<-%L;kK$i2I@%f?Ek{QeMo&ye{r+f> zjW!oXTiIwk9*w)BaXFgyM|=KgFB$FSqrLuU9*q|L(b69+v(bfobh#X>PmST<)Y!!M z*u?s=jpJh{jE_x^jx{F6+T&y0rLnXe+cGh>I5xJFk8NEX+uj@7F*RNt8TZD<$LuvR zJ~1*rF+RRw)A+{v_{Pcc6YAq9Opb3le!P*6$KiOV7~h(V@0gmX)hBB0iLnzV#=VL0 z&cyoq#QKqmjrEC*lM|bkCW6{TP@f3AiC|`8ZhWGsO%(Ns!kZ{&CW?67*u=Vt+PaBi z-CVLRpI=`q*Vm`kdmGlDP+eb?8@#a%-uMP@-3D*NhOw9^`}RJ>CyJ|XgocdPLKAcNAu~?VtTZk9$lV3 zadF!3PY20#kWIJa>2`lQ?oP+$bdpV{{pp@R-Akr>`E;*8ok!C}HeK|m%bDrYpI$CE zSG~>E@y*rso2$X*YPh)?ZLYR9SKFJb-Obf>bG6u9?QgCwZ=M+2JX4*i9y?R3&D82M zwZ=>>pYgnz>CqWKooU1~Q99F%XPVheJDW+PnLIi%iBDYY`qde~KIMD9@3nj{@f#h# zk@$h{2Z0|%e$e)VjvthM*zm*94`V;f{4n>!(vMnxl=;obZ^nMB=C|s8Yszm$eyi)Z zQa|?nIQ2VIelqDNfuBTvlK4s2PYOTj`^kde_5ALP-;Mlk%kTF5)c4cCPeVVA{Iun# zOMaI6*^=LD`@O=?eLrvcdFtnxpXYvVA*G)$`GxNnkzcg@qU{$QzbO2o^ou3Gtofzq zms5V}`(@ylkzY3bvhA0#Uv~X6^UKmN`+h(1`-R^x{rSjWi2a4Gzfk&%fxj60i>bd< z^Oqujd8#on*H~w-+`OmZ2Ms@I_(daVH=?`|Cyh95%tdUrsFB2tG;d^CBcE*KQKR2% z^jnR7*;r~cmdeKVR%3fRsLlkndQfWzwKAxW1obJKo&qljyg2ZBfwvq?6v0f*THjjD zS|sobt3VJ$L68MeEr=$AXeNlFAc}*i7eqzS8V}kvbW}SE+H*lW4cd!A><4ig#APto z3p%x+vjN@M34%@-bfTb>2AwjneomqwiGw5yk~~QIL3dNo4TG-T%m-N*WJ!>9gDefQ zJjnV%FAaMAAdiAP4)V-q&7kN7MH!T}pqvTHI4IMg%z`ox$|5NHLAf0Clb~M&^Sy9Q zHLQ+=)tRtX4{JeKOTt&!hs`)_=3(oEur&|wj)O1`!?+p7X&C2WT!e8McB)}#bC^V7 zl7vYXcH=PZhglkC{jir|G~`iO)Wc#Vw3Vco3X3Q#>o!EfG7A?rgv(P=wH{SRqUuak zt46hYR2z?KJ~|VtY&)vOQLSqWYE;W?`HX61R9lGZUR0lo>RnbPKyAFpR-?#kM_z0T zkF7e9*Ruu2mXK(y9c^46O^-&??P$6eO_w%JL^Bbp?sshL*)WUz+=hyc1oO+Nu@nWq z`H;DSc|a6&qacfdG79FSa7`4}qOcx?Q&Bh*g?)Li<%ZvU`l9(Q7ewxb5T2s+C>znQ9K`Y+EL<1Nf;$jl*Ccei;@D%Yb9b89Cfp(+l$hAl#XBpPW>ni&|PU1rL8C}qjWyX!YFG-SwHIeQLl`)gwd9Ml-F#( zVEY1Fw4;0~%BQ2;kMh9GjPh2L$5Ea{c{j?_DDOpi9_2-pmr*_+6}70SM}-#^Gd7Z< zB8rMQDtb{-L`4}D{is-qifvI@i^_UbjzpywmFuJO_^6zU%0^TMQ5i*LGb-Cr8AoLj zmEEXJqcV%iA}Y(M>__E7R4zs3ax~wF=A&pKh!(PFVOz9Vj~2aXF^Cq+XsH%0Ek@gR zMBCHIyk$8s$BdSvXt~#{&NOSSX02=SUW;W8yyk<6KD?l?#npxh=wl%j*G;_b1x0-p@EXro- zHTy}kzqPrLG`IJf%RzIw-CRzZ%XzC-ZPn_n+IXur(W;%$suitT*{XZ3k>!>bw7jt8 zMJ=yvjmNDMw%YpCnyIx;9DzGvelJ>q*9zLLAZ~@WMATYQ9UH4?sufMQqOcV;t#?~d z&$_A=6|JajHOE@bsMWGp){4_soVDiSRuZ+649iP*ODm09Y1YcTR%X|tmGxV_yk+~f ze5#datzxECwp-;=tDm>}ORf2()^gBVPFhxx<)U33u`Ox4KGhy?v}e4wpSJzX)(=}A z+Wvey$l76ysWeL3QMVoC?Ko-2X*(|3b8&lazMaPHtkcetc9yq$c{?{Z@3hOZ-A~)| z{q{oEUR-EzpN@|`Huf8_AKB^{`-!bCaU+Nuaop&~jqPzTWz%;Y#BtEE$utfMn?2*O z8i%zwtjFO<93B^kUK~!v;dC5sj>DNa4B{}d*(wf;I9!OsWgAFwl*VXQyY}NGijz3* zMsc?ncl+3|r}a1;!PYgMjMJ$&oxz%56Ppdnw25|2<2dcaX*W*OIPJyhmN?Dhw20F( zPEEu1I9-mjAkNab=f}M$?v-&q6Bo6(sKpNqq}B$-PV=d$Wt7SCl{ZM~Z7_2;$( zb44~cZ&U9~r#9ZH`JGzasn#uOl_b;HE+vg5 ziIOBuk}T;)N!myDa&yS#yzuTQ3>&`d3Oa1P0qq`h*m%H8NUUxZ9 zYxT5Nr1hzEq?USN>J|3*WZU0#rk2jwzOa#E)0w1x*Y=2MV+ngnTRMWo_AY7APs19v zmRS4E{gX88rD2|iMH<>75je<04rcq`qgiYURw2(%NHWy=*G_$l-OIu#r+MKpd z#6r|6(pH(qL24TTjGQvhzGt>F4>5`Xj&(q~RtBz!~dR9xb zT9(y%SuMAR^Q=CVjnuN^Y(n)jFSdtUdq&N?ct(Yy&G0p>;&8%5wEiY?L+4K!>ZFOy$&f+kO(`>Gq%|%&fB1SmdT~}sVKh65RteQ>teQTN3T}z z)xw@1^nAOfJwNaHWv?;WYXrSU-V0j2(CFbiOo`Z`)DS>P79iqSh{InH_c6@m5i<7xj^%K2>-=9+m9Lz_yuQtMIbI z>lI#E@Bpar7K(|Wm>ex;YQ@Yn_Mv{G@SBC-D*Viz?usBU!j3%^6j8m1MsTDQZ7iax z!j1~Cp%3h71N+vfTSO_$$JTSZ?azujMXP1gZP6+V?1ZL@ zc2Km#qTMUn^F@21Xm2m#RuOk?2T;UW5pTu0W2atpMv6{Ubc&+0qezwtd-$^rW0qjX zvQg2i6+OS`h32e9F;WyB9>j}wQP|d?Y6pQuSue^FI|eJtX*{6Y&bqXy#Ku`s=0({r z%56nIDEdj!?-um?1ULim>}ng^r1ZL&O|3t99#?w((pxCK<#OFbx&DN5ir`tgWm zk5Z*Q1=?=NR_3T{4;!d79tq}4?D)5p(GJ_wm(8qf=C&Cv+f!wG21gY3B+-t`w)veM zS2XZc9fxJy#grdsWjt@&g)+%-jL~hC-JUSC8h94Z>>1SN z;@CDjWtL#A$ZSfpnZukK(_D$^DJwCj^vk?%gVRP`ncMx6IcQl-;W?(r%A&;6jBWI6 z?kRI@?)r8u%7v_4nzD_y%|qqVa=A4sx5d_(_UKnBM+Df``#ez(!@2K{bi8;5?{>8C|ME&IKh{+6YF?)UScpW8BM!z}6-t$xw&7jfVA zM`hjmzF&s@GU}I2YqdTqU-TE_{*vF{IyXPIWqxdNep58RsX6Z_818;K-{{ZVv4|ZL zM78;-F^@;(HkQ`N7KD7hxn;g-Q$jGG#q+&nz8}snRp*z=`K_&m`qYBwFL?2Smn>`; zTk!LRAXx~y3+-s39WTVKg}7Wu;sx73rOkybU&t00^4Jcd7Rq>G+m1!Aw0+#-Sc)gb zAX|(Zi*eVs%Zqbc7Q4w}+F#7W#k{$gw-<}{VmY-~_7@j|rRvC1t!@YUOSNLj^OvTR zrRid6rnxlJUh-o*I9qD0TZ;0fR&HCRrCzj@x0Z@>$(}?@+k8b!{l%rld}-_a(sFle zwZ1i~ZH??YwKbaF8YNp>)=1&jPP#SOWc&K9^P9FV&TU=Hw~g)CHojw9E7=zB*j9A5 z?YJ1H+S8-kTiN!uZ;!Uyd-?WWe|sM7s88+i>}ep`;q`ZT%gc>EKF0_~mU;fQ9JFme zj@@67ErcZc?%6e8wzZ^~ST3?<48?4@pI%b0Us9j? zn?90xlzj@*oZMcVe)hVJ8@9JkI%ny^Q`1u~*lzFS^pl4HUU25=r=ER*1wZzj^Ug4= zzi9ipC!KP}Nsl=7eD9QV&OYt*N4Sr5?)LiIw{Ey)?Q_1q$A4bZ_TG8toO|kd7o2|T z`P+LJo_yx%=ReXyPCNZflbh$9`S4TEljxm$;mH@Bb>`n*|J6qx_3xHcoO<44PCZX` zLP-~#bMl3!wJ$vT0)__XoOh~s%K3L&qe^A!+N)o%`d^e(oPO51XP&y<>4%!_!8vE0 zbdQ01H_o_EU!|6fY_56h`kHa_;9f9*W`?!El~?-5cj zC;86`d((R!yyoBUCv)%x8?@W)sG_I)f7>G-^~R5G`t-ludjF>+W8lVsH4$ zX_6l)!Y|QZXNYHtXNhNv=NM6ctTxc|7|D+}BLBtW6U0lzOT{OOJH;o7PZlo|FBhL8 zK2?005#>HZ@-xL}iO)9T-%7%+=hz$d-z7fJi16o&FA!fSUS-6;{})2~ zy+3Sk*!dChIwSh|W0G$aKQ7)R-YkB?2>qXue2Wp~{I|WK=kxZ4{x8@Y;a`&cW$`Nt z|GMOFh~G5AzVF%_`R=qg^!&iy``P*7PiW5p5iI3wC=O!Bx9de%u^ulVDQuxm=;)8b}vMm$lR z6@9TG24W~iVpD91Z7~+-#EzJVT`?6iu_ta3b0g|iO74sE;)1v+E{R*kZQ^!uhxkx& zS$vpyl6bOsiuiExRPi+N5#l4o)5S-LXNYHtXNhNv=ZNQuj~34p&lfKcFBBgmK32R) ze4O}r@nZ1_;w9px;uFQ4;*-QDi25nn65PP|&YMtr^a2JwyJo5X9y zH;Zo(-zvUMe7pD#@txwk#CMDD5#KAmPkg@-|5g$~A5i=U#Se)e7C$0hXT-dAqY?AR z%|^@*wWjFNt3kzhXprUzhw1Bg(y9@*Rr*p5*T< z{zsC3EdE6NsrWxe*!gqGzmWVZ@i*e{6#si8{(-ptgZM`y?E8xm`u?Wyzl;A+I3n$~ zvWK{*xRS$Y`(1y(AwZ9x5It-dntn(O#ANiuW_3KOby_ zU5ATDD1MFPsu6Y^CHZK{b>lrOd_v*tjP|N*ki1bmUg4X>DTPmqo5dONL~&O1#fBJ& zp%@uqM=CiJd*T)`H`=RGO74sE;(`(N+$wpS_WVBc16uaEhc(%gNQTU^c z*v~vx;TIX2F`_-MmHcM$E#h0nw~22z!jIl#v{&VQcENt_IwSn*qvG{Oq`S$8 zcK)QoKPBEGep>vD_}@l*Rc@91Iq~!27sT7dFB(zbuS))!(O#8rh~HB9x5eAVJH+pZ z-xa?ne%}cDe=PYYMtfEMNAl0apBquXUrGM8C znb;Gzh`Cr8(eH~!=-Dc6H)5QeYDB$GGa}s?ia$%?XN%{E=NggjLdlO2A8W+8xzq^% zeX``Ii@S^{?_)U^;7C)izPf5PTh<_mJ|7r0v zMnv5z`E%mu#V?4riC+}IWQ5&cF=E_(OX1%ZZ&&0sv8j-YzIM zo;k@KF%i3BDrQEc&m|W|`~wj_FD@BT&Nd_Zce}Vle5etA{BR@Yl{1XUf3^|%&NbSr za)Dit|3dLGM#Ntv`Eimjmiz=G^gL1WPRW-Uk?$!Af2#O2g+E>LGbBID2*0{g;m;GF zFTTJCeOF0-k@#YTzto6z^0kt$R{S;M>%}*SZxr7oUTcK@w}@|3_}j&IDEwWL-z~mJ ze6Ql)FZl!F2NnKd@j8WnRJ>liLGd?A{Gj`GVvx zieEOOoxW{EKi@9iA$~{vuJ}D8^xY}>2jUOKABjIUBHd4o_Nx5CF6htSO8%n}e)1QE z-(^JkNCfU-MEu^8_YwCsLht_K0SdpT5$O+>d@scxYP477zIH+U{T2Q|@xex{n@20Y zuJB`x7$4)3*Gb-Fgq~?5?A)yIz-U#dw2bzuBzD1mZr%uc7mY~2ByJVAiQA3H|1ilX z8DZC>j41Cc#Xnl{=ZWWw7Z{Q5vEt*!ON^+;Wk!^Lxe@j}RlLH8e9ttZ{O1~xZkOVp zC;9nCq`OM;izL5Pe1-UGBlKKtgq~|8zsU$Y-mdU>i0>5NWrSVt5#J|%K=B`x{9*Ar z@p>cdy3vU8J}%y5M0uZ<{2B4T#m|bj8d2`&C4WJ@P5h$xB_q;(Mf{q=zb<}5{HEf+ zE%|ow4)HtUca3PL9~fc(kB!j(Q^o&}_%re6ivOkLUrGLr_&bIFUi^djNAXYMpT)lz z?NzzUE+}^oYb>e1PP8iU*1Zi3f}K5)Uy#?_rYfZA88AE8bt> z4-g+HK1lILNM0?jG2$Nxy+<0M?`Xvzqwu=qhls~2{5Z*;I4X{bu{{_j^teNg;Q}?F!#vM0-3;@=1~( zF8NgPH1QGQBaO&+hU7EFvy3R`(MI^qV-)^aBg%c8#33jdlB{rfG+-xhB-BL8!FfhY{ss@L~Sj zL)=r`OWfOtbo)x)PuyR;hY|HXNIcYdpvez5BHs~4=wB_lDy~)dQR30!F^aDnu|FGE z_=LDlTyKQ_jYiaOTH%|;8SzAMR`kV&7>J=5iA}L(L^-k8F`~RJiqFMDEXBSN?Xo0! zs}cRSY()Q@tngFBhl{6*r-_d+BHx*k&l1lT&k@fRA8mxa=S#joyik0M_*n5G@o`4j z^#sY6h?j~_6n7e-|H(%D1JS>iNd_TbE&ZVnZhrZ{8Y(L6R%MCGbBG#^0OsBM|`fhOT5wuJ6|aID)B|) zi^Z3SFBM-VzFd5T_)76r;;Y5i7|}kjlYF%i|3Hj`YsA-!Z!jYLn64(azUN{-}7pc!LrB`Eeuk-Yof3ioZqSpHcX&3jdrD?ej&+UlPA;gr2WT{+jr8 zBj$zMCEsC0y6=kLSNNThe`v&f@++fF4V6DC{!ikcjmZC3BkZ_K+{-G9@O{MnjA+OG z#e0Yc7*X$oBp)o^%ZU7kiuYFdeZ*DbeZ~J0?`K552NZ^SF!kc55ylT{Kw)?75+cs&lLU(@mJz+#NUa35dUOEyZqURdG#)Z?_rY@!uK@7 zj=hbj?|$L|3O~?@bO(tCi}zCep^^_XBL6DM_cdBkl_QL3@1u<3yf&*mn-}g;w!~hiLW-o{?|%= zop`l)jnQ6}w@ZG9_)hU%;=9H77@_ZdlHV_WK>VQMKP>qp;&tLj#p}fz#E%(KubU*_ zEPld>cKx*E&lpkuXC>b%e$I&ew@Ln@_$Ben;#b74ieD4IE`Gy^@@_YxobM?7yOO^z z`A*3{G-AB{QsKW6f35i6D*kUq=*5?sVCP;&jK96beT*n?KgA!Q@Oz2}D*j;c5QQIV zgx*!+{T2QI@qyxl#0MKOzgHz6DXtZd5|1{*&bkqH9cx56qlzChLeB;x(w!hq8SxK9 zzRgC|bH<4L4atERijmk9TSnxMCC?c#kM<;QQG6k}G{TMrg)b?5tK{vHcSv3qPZCcN zPc_2M(7FZjmw2TS`CcITg+`=%k>nSPFEN_SRbD6gYVjKJ^+wovt>ib0ZxP=rzD<0)_zv-% z;=9Cm8=>$0l0P7RQ2dY)|3KLL5rtnTepKN%NdB03qxf<0Ch=zR6GrI!l;m5)Pm7;X z{AVTKDt=Dko;>S z{Ny)Al=C~uznA<+@y`nXi}+XZZ{pv@e~5R9I8259J;Xi5y~Mr6eZ+mm{lxvndx!@Z zG2h+W2zytF|0UkvhdQYm`7?x^@oYDdNM8u=_O0k1!(L z8IsRb{MnMvF`}G{BtK4kym+w@`Yw@tsrW>3r}!lC$>L?=f7!h@luMzGcMtO^vW)i{f*| zmy-LE7bGu=OX5~>n-O*{8=>!Hg`XlmTs&1gO?-s-NF(a~C?oWoE%{vWJR|z+e8oRj zyjbB+FrwTiO5Q0xNqn++nRvMoJzxz8|SeD6~Hl?s2p_(FwWCB8^}vG@}4rQ*xP zmy543!cX5I`HkY6#B0Sji*FI%D!$DKJKrI`OX2U9{9YsM|FFV8VnlmfFZl-XV@A~b zX7LtVPZ6IgK25wre7g7y@tNYY#Ah3!_qpPg3V)vD7f61g5q|$lBj$sv z6@HBo`QISVTjBk{-LPsE=Zk^h&He&4YUwVgJ25cCmlZf#>+WvAE762Hy;<%;FNlf$+n&%4&!`h=)L23l9sK z4L-7mJyTVBP=L3)^pT^Fbo&e=ke8Z!h#21COS$}n$%WywA^vc&G6u~o^24~JdTQQ- znrVTBSMcjPR|RJQjl=~%d#vn)dVB%cRj`da{Qj|mA4OI03#!T?OoF?Q;Vz_oRFANI zX%Log{LI0bh97`caLVp9Q$5YVCubEL&$`MSGSGsb+Evz|lV)*;Uqtfbt;(U)jB5(d5Ox=`;d{&#e2K4e2x8eOvosRrvWa=w14;Hk4tx`nAKO=$ zj{0VicNJ9a0nLZujz<0+;$FC{Mc5(8%clD)a!>))M^u1v*_SkkeH0>W7Bf4Wqz6@B z!6ieELs7wDjabH^D2TSOQ$i&EBQCE;jy;Ce8nhaFixoVCHD?8Rha^7q-G?>e1s-z9 z&?gxN^?Sj?%3%aVjtXev-?ORA;*KJF8s8zVut>H6KGLtu4(vMwiCH)NrnRzmXd1*T zh9atUABt#=9+Xo3w_yv?s-4++u!;i_Kd|MeCoa~fNSmR6eMCoJ(Jn|rmzu>Le#zn5 zWfdCiP?*t27#$AZ<8>}@3Tj0EbG^z+LjgV-tjw|p5w;IHndzLbA=WuRl(NVl*$qG0 zsqDeJu?!T>`GCIbqn3xD9vo`-fqE*%9}?oXishoP;3sqeBxe8Ox4EuKP-114T2KZn z$noJL%=!JGa7L^`mc7||EE1Q!hlS&A=#CB4jf06DkH2YD;Sge<)7%iPK`*Au<72K$ z1oiiU1vuSx7b<0U;}>NWPHq&hM-Ga!gSO&`a!rS-?#U`3)+J#&XxiHZZ-)A3I3pmb4RM$$!rK4&P_Ck z?L4%eQ!|GyzNt{*G|a~4=xL*c+&Y81%VFOhxMNj)=0F(Rg$sroV7o0v$gw9Ij3bXr z4C{ux^dUCWDnxKV9F7RLo};%|B&Q6H?t4HV2Lz3D0~TS7_$%(N!Uf+=uDI%$gqiuQpmT)c);20NKE1D6iB+C#y~xEu)kxZ-fdrhR)2e62(hnsGet9)=5k zPvy#um~PNQeV9fCNTwviW@0z8tq{E$dD%yY>{d6luB#C%!xZ_+mYd4iXt%3#2OUL9!cyE-;up?mZnWzUnBBUyWxpftHJ5h7j zu<%UoBJTqQbfg}VjNx(@U4R!9$1YOBfOXp&t;>^!HyZb$`fFp|az!&|T z^RGq(UHQWZ z$89M7T#lP8Y4c%7%zErT70@x!J#0xj^`R^m3OL>DHr_(S?qU^i_ds0kU=9?{{p6v; zj>2*ayfsfXp&0HJVh!ONL$sH^Mm5Gq9M}MaC!ysm3EqB5o z-m#B{&l;Q_T-YE7{$z=3E4K5=C}R~aRN$r&B%Vb&`lMSrIM@-g$>Hec(3Nu*7P(AnP9A)%Be0{L81qJ1>w1+!a8v2svvSEkQFl$M_ zqEeRxPKbBK4IKIgETt-TPs}6;<1;q1;cq%sP@iOKr2k7Da>^cCN-8>F0ob~WUT%P7~zG5%9#SrP(Y8(*EyNqlHQNh6L_NNaaf;%lbCVunb9+8KR>1;+i{Dma` z*(CQ2Mi-^}opc{)b`u5q+&Ke^TCNSZsssel)h>mF(beRK%InC`Ps#eEpQgYRaudoTwg#u>&z0ug`Ssq!OS-i^x` z()qZfRrC#7fS+f(HJMK=ryoUXc=x;=w@tFd|lYBjc(Z<)ZOhVUY92Vl{K*X`2KjcjN9j@u0b)`&%Nrse}17d~## z*lP3~_J>=o*c!Ot*ZGxwVA?F4CPWyIKli>Hm*+A@efTlGTLL-2I9Asp%#GTCmplS@ z9OCqL&UI)d=cjJwLXBuR$28lD?&Id1LFe&lmP>xYaZbZwF8%;mWn@qpe=x7%FNRgF z$Avqxuc08WI2>yDy}q`@NP@3Zy2-;GTcdS{hW{E#W^rNX?Zh3vu&K415d(v0BpGy+E+n-hQQ$}P-W=nT*|e4gRS3Fi%WZpOjRHb9LyW4a~FBsc8ah~?gl za~-E^ZmsA!U!wvfX4r6F$GY*9eK;Yr()fzk&cL$@YRLWy@E-@Ts zbT00_*(4klB}&_E0q20gSKgfGI4_}7qocT-%-W4Rvt$)`hU_Kl#fmKsl5lc!v&x|JIA%)N!m4t5;92u3n0p8#22&OFZL#nb+Zk6? zB&I=JY^drEjs+&hrN?$gW!$F}jOAR12>hL^N^ejQ+m!XayK?~!Kj&f4!oyMa8+&0Z zM+F*;mEq91f!&QZa3cUBpAm;m%(_uz3(XFO&@YiKLD)(AgT&n2x%Oii%wS&n=_!LI zVc76_i_OlabIy-KSV2z6SD>IZtUm5&JeymRxxz@OROoRQoUIC5~+Wo1f;XW+ug z{5HE;F(LmIBBz!T>gi@@48v$Ws>L$ygci58#~uFgt&8B2z+uIPppiN9x>=cbxUdcQ zfflDjn)X*{ag!Unk?Ej*7MGp&UeWf{ykf;c-r*wv+mCxkhPkH+X!#VBvM)LD{G5)C zYH|G1X6F6IpsKGyHurfbMyQVnx6C41}xXb zBHh@a`m31@nrCr$4_YuNmx~DV^6dISNU~y%h4@We4uNqwja&qg)8=Oq;UKW9~w9UehpQu%+F~(+>BcIY~WOJE*YfTH7J}< zuDfM(V++kRJOScN!)|o7WH&-7r>}i*$49|KQ8+6z^i#JS!!&;E#KvaBJ{4`xb%6@_ zNVdr2Z53xOSWg8!fS|rzD3^wFw%~4&M2>U(D zfXD`;+YVPSH@(sVB<91n^HY{)L2g0g7^I&*6#BUShEVDw8=t%$i#zvJIq(Q>NQY-K zY=~XZ%vydEcX&Gyf9TR}QrV68Zd`?r9&TwvztLPe7w_mz+}v?ubQf4fFJUdY5_8Km zeE4BQxV3^%Tv?=K#h%fdM`3_t#%!?7#)MF$^=@h7zOg$)$s zR!KG!s_H~qfMLaQStIT@oDZR~xozYyaEB691@*(jYOdH+z>Z@3@eInhWUk|Bu6t0V z1yq2$8*t%RI1FJtRV!%~BKF4}Ys96EV-wAwE2Yq~Fu3f6zr)U)-^0 z+%!iK5yM^Xigh1mux=d5voMX9owN@kt#{AtoW2mYdXSEZ-4I8PVOQ|ThmFml%XAD| zP0g^19}Th%I3v-`oGplD$J5Q+2t|?ZAe0`<>BfTGW5(rB$|h!|cOo%up=P(H3`P&T zEP_vRsImQcrnM)+XelS7eTTCY)YH9bGmUifJuDr%54U-&?^;;E59`=CPAP4MGjLj> z7Va3?@pRGud#`XIxQn1x>hktap0+n)dIYjtFELl>?> z`}kc5A2vHnp~_9AXbslV&AZf$Fn0Iw`I1TCubUhfvHswO_O;(jPLP2g% z4OMR8LtFI_G5m-VKOJ{FWNzr`leF(g7Ve%jX(>-)c>c#vZe5dbjzv1o%AEP#kVF_y zs5svE2<3bn?aT*2E(t4keK3-Pj?epS5(a0qwg!|ku@8JOl{!2W9of%;QeeWYWXy0e0TRc-=6JzSH(0?zzw zD?WYV_uB5vd<(4FG8iA{(oZeORf~%QAB;Id-5zc@6%2ZYF2Kg7L2fIAaybi((_HrI zU^3!p9R$)j`wIG!BFIu<2NH#ByR}lh6g+^gnQ0t~0C_ zEm*OKgDTD&oF`e@zHDr6aiHF9CQybO>}(BO@LwJ{_i?KRN@L+}4uck&y9;^g@>`ID zW;`4U*y5bSXccEY#_~HroB-$+Jt%OUhireROTjePjVx$jF24*)cXX}6HeeIe@PUJ{ zrytIArk z4LB8Cia|ny{%$v}nOxgLGn@E%tOpwr7dH&hmu}aLFxRHIqpIQ8*?xsEo?o%Fy{MEI zIs@)FDKOg=5cxUm&>h)KwBCL1fjQ6`tDu=9lxH4p|AMM+L6@;fco{YG}BA?(9nY|bPHC-olYZ(t0lCo!iCc{HSa_Y zHr?Hh3e=LN4g1K4_3kW)HHS!5oJKgN*#?|SnV7ydi*)DWasw_r*y6??N>)59bC$>7 zPO5NB(=DLKwf}Pw``%H=qT7jMa@J{2BU{?E-_?zkKdyyU;3r=WfM^8&EK7Z|7We z(czJD2&F9YMi}H8n+3sK{LiLtOuLO7{EwR$HqQQRQ>0tPext|2W{w#qaRY2H0q{X$ zEppIiHwKZ{Eoi9pih)QAPzDQU*ShmCl;I{VByr0V(z&sUSa&vpa@}x2I`)U_o9BoIu?ckceOVB7V-;Ml z(pd-d0cUEimv=WGFoH$W+j-FFCfb1lR>nse{Ct5Ao+~C4x*lSwo=?ZFKVW!?#-X|F zh+KEd(9g|;R82S}YFm^&8 z-HczBnKj9MdDA_WGZvcJ2F`GfP(;ky+eNq;1WiK2L&R=F1(}T>1-K0#BG?eaE&GZw zgBqp9()ALY?c zt4QLOCt5(wsM{oRXvBh!WgXeJFcbils9+p z#B4hLoMyOA{~Zb#ak<^NY29s}2BU|a!coSqWv2`mTz-JZaXt$LT(bCW!{J!C9);6~ z_*jbnuEO=vEvOd$S3K8m?7UqN_hjec?sLe?Z~3@A9Kw#qg$o~Z;J+_$UhJ|#y*u-; z8yA89fw1xlb|dbF>G*jqTWA*&Q=j_{CDY;J!r1$;g=3Z7$n8F#Sb9juNtJuEGf)t- z9XO~5clvz#^r3}`Ij=cSWV(NDaW)t~i`lK&SJB%sdAR2&6z(QQl*<{|&7xdl*f>bc zRn2|e3JaV&B7&CERX8qJBO9y5u*;#|eGUfoY%BK}6-z_xF4hQDpg~(uB>m-dM9^P+ zDCK;`y$=s5kzdcXNJm%ZU}7`z$-#$xtPu@zqX$LqL}_jrW8vs?Hs{?v)bR6ecj$yB zcGDcP4WDbdpbZZ`xQg%g%@Eey9SCv4Lyg>~2=(P1hZR>BuAyw$p*OL0hwj7iF}(1D z5qB&+@MpJ8L23NH8CMdTHf(415zjJQbD~=NAcx!F(l=-yBHV9o(N-ZN22JNP3?gR` zdN$Y4yBowik=K1(gB(1=`@b7Rr9*?*E;~^q`#hw%5Z&idxO3YNM6l0!;R>;0u0uNZ zrF&$AxHq*7+VB0akFoqkftzDF76x7BMg_8QS>&L*0!_(-8G0C-_(y~3pIcpyHKDVkPsl;OfPfFs}^Lw7_$_&+Y(hJgLc z4rL?KLFnxq$-~}f)45t=2+LEl0wzstG%fQ3Q-j>Dk}5oZvzJquz( zxUD2-B&doIdngL$SDW}@C&w!H8$38-Ea#>bdmrQ&jy%?gUtr)=fMRttKIlgGnhoLBU-l~0b0%~x4t*RwJW1szw{AIM z>oPH#Ddd2lX|xIjamuA{u=hE$auH^my5lw!$>!wG1ly(!fjg3dQf~5Dh2d!m^|6_#lp>vQEo$VZNV{?BU5%is%_7l4 zu4h>D!Pw`Pm|F067v1*+hXxJ3n4^r_C^`rS7^kY?%)sTC<+@`?&TD8UI*scs7<3&i zU@c*l`>+He-8Mp)8&M47=s~}^brpAP7tW`&gr}h)8jLmi zCCcEIiFx_a+kf_4i(0ZP=;QdKi|*4o?jF`cJ-dgc;ZJSrYr06sBJV*zfI-8D(beoS z4qdh%wD4D#XV{IK(&*@SQVV;Z6BN?@968*gPH$(C11;`gmCeaAhTVg_{0TFc1Xku` zgt0^E{O-`0c@gm*D!|3n9Cz-?-)`Jz32bLN*Y$|yo!jfdW>#Ui_2Wq1?YL+sCjgYj zS>SHnVqg%RmF-M}xOo~*psd2b-m0-OD2RiY&BRsB4J(*|w{vBNah&sEdFao>rrXJ; z!(|x8mYhY{@#tEP9yW>F03nQyMD@=@y47f=2&QqxiR{L0O*sL$xd}taUx@V zxud1wT%PXsp#}xfT=(e+_KutYh68r@Q)d|D_TI?rw#m5L7Z)xpZn1`GbOH7U{$C^Q z!V$r33YS1uCPZHP_-fp_jTbCu`?=*EJw0ph|K&(@=WzQARdkEt9vJ^U@`|5%@KXvl zJ8fZUoFh2NaQ8s_hJ(|6jLLz-hCmto+@8Mcyky`_4aBl_hdxO^;5s8*yA8>g?Gj71rE^B)Yezm~;+4-{W>e|K}u;f}94+427a4TFrr diff --git a/.vs/HaoYueNet/FileContentIndex/6aaffadf-da73-4dcf-a2c4-55d4edaad44e.vsidx b/.vs/HaoYueNet/FileContentIndex/6aaffadf-da73-4dcf-a2c4-55d4edaad44e.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..733035b99d07a9ed893bea277ce93fa44911ed25 GIT binary patch literal 54459 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 Vu&(bf-t>UtVs^CPQ_n8={{X+DTTB1| literal 0 HcmV?d00001 diff --git a/.vs/HaoYueNet/FileContentIndex/d5b6b639-3bec-437c-8aa1-0d19e483a59a.vsidx b/.vs/HaoYueNet/FileContentIndex/d5b6b639-3bec-437c-8aa1-0d19e483a59a.vsidx deleted file mode 100644 index 9cd0b9594f1c56161389dbaae772c4b933a197d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38385 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 diff --git a/.vs/HaoYueNet/FileContentIndex/f605dade-673c-4f67-ac26-a3f4c502f3b4.vsidx b/.vs/HaoYueNet/FileContentIndex/f605dade-673c-4f67-ac26-a3f4c502f3b4.vsidx deleted file mode 100644 index eaacc07fda4e7e2b314b7a8e5b757634b5bbdce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57139 zcmb@v34A0~x&9xJ0cBA@Mo{rO(}+~fB-Ke~*rt<^>Z;S-Mc2|(Rh^`n8Jooclzmqa z7!hR=6&Ju=78e8+cW_4qcfBYos9aGLR8(B92%_lkdEWDyZpV@9|K9)kr0QGmd*1V& z{nV-Iq!WbAZAL~$w!0fA1YR?2h2xk1A(tbM1C}#XmRH>6##3^3qv8?=0^-mE}&Q;#4M_%CuAQol4+TT23W$ zDydV+oJ#Ig3a3&!PT)9A$B7&#aa`ANM;*83tSFqZ31=*D#z&nA{ER!3qt2>PXZ5J# z2acaRe&N)8r=B_Wu2b(hf$Idm6U0uCI6>xwz7rOXaUJ71rs0?cr{Oz|*l8N4nK>=v zM2QonPLw%O$B7CjDxKIkapc6AlNcu{oTTR@eJAyu)HrF^$?8tla5}z&YUY_!7^i4E z1ujabbe*#0l$lfJPPcI8d}qNp{lMvmPQT&w3#ShY6eV#PJlCzcp6_~z>y>V`>elcR zxl>iwcy3a-Y1hq-+Yj7+v7+LxSW#I~%~uqil`GwqD{CuPyDNiaWst25{gp*ITJMd9 z{;2UrO+Ff>qj5IIP#YVsk4?B^6Qg4jwXw+q$5y*zs~ckn`eQSdv6-{Rf^014k2TF$ zYQ{=4Hs_Dcx4ab?JL|piiZ||g<5S*5#hV!S{J`@=&rdzS>(z}{kGy*3)pM^7vF8P` z7i3X9ok(YP9BJ>L56)mr5dqw6IrB`&l()Y^1 zD~(sSyfX62%q!=;vgdUpuUmNYzK7b)=iWks`g!Y{-ul$*x4eE)9UH4w@q^%3tMzI% zs8+*j)l{odwHjBeNwwOkR`Y7Ls8-8rb-r3Xt6Dv~>bI+YQT4mkdR7hMYLHb!Qw@u% z@v0`SwxVj(s76UO>Qtk$8fVp{s3yH?(yykbns%#Mx7zWmoxIxVR&!I$yVb%}i&nMB zszq5XAkJ4yzglM1`FyIvr8284<(Iw;V`1t5JLv4JbGCnymKDl~))x`L| zqvN&e_*8YgzG~czjW@=|7ZC4GR7NMo#3 zUELU8y--=bp|PDRO7lukwERGdwv_~}k%-Kma0)yb!FGgV|$MR%&4nJWFMGMlb= z)0I`z6@R)?pRNScm2kRZrYp_qN;F-Grz^>HC7rHxrYre$rI@ai)0O`8cx{?tW_qSF zJzJTnxHFZNGmbms_%lv@#tCMeaK?#doMgr+XPo|w=gmx2XG}U{7G_d2Q?_QxeCDk2 znX@Jia?@EZ&7*#0#&=xb@qH)qoziz}zUTX1;Cn4hA>T`UFZaCy)4-po`Kv;I|JDBV zv|o??dgced9|V42{GjCrksq}Ep!7q>4@Wt(L*EZWKQw+A`C;sb^M2U#jqf)yzv=r; z<2PG=GxD2>-|YKQ>PLkim43VCw|&2D{CJHY*ZjEd$DtoXjQlwEAP((_B-F9W{}{nGel%P%9p%=~WbcXPj6_}$W< zGyYuU&qw}3;4k2u`U|rt~FrS+(+AMDl-uGJ4V^%y@=bS5;%F_6oFd{yddyeffof{KbR~qZqSQ? zAEN~WzZ3Wcsv7uR_HAH-APYitvJ)6LFf)NMfr$ds2}}`~xuE5+^IIlpWkD4vTwy0vh$9*&xDGz!PY!?Bsr3qvmoy%=|qu!=Ry2`Alfsv1sD zhto3{m!Y4Bet`jmo(qE*d2n)sK^U4ajKVMp!#p&V&^VzP4NWaH)1j${CSbg2geDG6 z5}LK4fmsonGBk6cSqK|h*fL=h&_|SpQ4vOE7|n(4O4yzbV-v;-cf-OD3lkQduqeZ#AC_)dW??r7=c8~w4|`77tA!hCrsA5)sHw~t zr(zt}IAg{cH_n7{RvX7RPMu=}#dnNx8rTdO*$iRFgI$hsGHhRR%1l+wRLe}2SVqnCxS5_d)3avAF*C;auJJvrQ&^0QEG}3zumoVXV?G;yovC+C z;A3QC9Gf7*FvV~*L1KaoqYZ<}gv&7|Oz4`>Ghx+)lP0X0aK?nb2?KUfXwZ}<++a){ zSH?ufq{eiN$&D$DnKKRFG>mC9Od~dp%rtV-^i9*4W@K8vX?0B$ny6u-)I@XK=EOex zJT@kdOdOlIW8%Uj6_dCo@k~-PiEom+NsLLFCW%avnWSTq!lV_GIwo~ZI?BCLTH_rc z^-WqgX<*WjwK@ zHiIVjOkOkjl*xUQ2drP-GC5 znuSrbFosQ~S*V$XX|oWR1!ERcvjCfpStw1o#Yc=0T%PKWh3((=VHTw;5m_R``@-+@=}j?%ULwrqMJpMiNFq z(-cipHe06IDw|Q-jIw5InsL@lOf$`zY0=E;%`9tX-DW3i=3XM(P@^gX4z|Yqh>d0cJpSpZ1#g@KW_Fr&3@5xeBN^$({iGgleCMrYSq>Zwl8VR&v2`5`ExDf^9E(&mPuMBZJE4fdaageML{cyTT$AIidIszu#{$| zl|`*AZ)Fg>t=zQotW`R#vTSwJR=12+u8gV~_9EB;M0F4M3S`JuISd1D2ZzOE~8_CgeiYaH2-UK5n+6 zW{OsbViU!26csT-v=?witp3qO{P6k`MpA4TcfC@rG2j8d4*MOiJ% zf+$O)ERV82pGrG!)ESLBwW#Aq9TRoRC^u1F;>js0>QNCyg^7wNDzd2PL`5DIMO2h{ zki~w4_x936Wh*M9sEngBi^^_P_M$l->sB-uMThv&AtpK`jyAZ_2Jc|kJ=m=sY=VQc z=-@7%@MqdirR_LvXQJ)++#@&<9(UVLzwNqhx7PN8wwJf3qV`nLo+{hZmG(^9_Pw^> zYzJ{W$l9T4hh^J1Z4%y0wCI|^>dm=oyFBsM9Q%hKy)|(!hw>Fy@%af5@Nt&2Y`G0C?CX4Eiu!HNpRP}ts*f6mh8mLC(S&Gf+UKQC{3awiM=F_ zlEh0AKgq%*%ag23vbm(=bL@BGq?6%&MpBI8$(|3vMKkHfNjFKlMKTv9y*%j^Nxz=- zgQVX``bpAHlYS@Z=SjavD>HaWlsazeB&k!RuA91E>ehI}bn|rO%5-cDZzWQ%o_ay* zHSk&?_43p!Qf~o|Wa$jv+|*OQnfh_+C#j#O^Wn zG<4H&G7Z=80VS-bVaS_s*hs?`CvF(0VUmWOG|bbmNW(G>=lN#HxTy(J6Q-t-nlv>T z?yRXPQ-fICocf&ZjVx_CY12)cV`(`-InTT9n=(;VA@N{ZJ-#b}BbCq*qSX1GBp8eCM0c3Na3o#-oV4eq>xy)Pn{KG#rC#Q^c!QQX3z=KX#+upKeCFku z*Uh|sR_$anPUgpWoXhHdRzEnace8pg3r4fR&jQ2sFKBa?1X&hf@9SovpM?h7+$`*6 zCd3;!z8q>avPPLTovi6)%^If^?^xXod*>+44z6Seo2+fJxRS+A7Q0#OWpNF2K8vA@ zFekIP%n~O{)?|svk~m9}jDrmL zvLefhGAsS8G+Eio$|x(dtQ)h>yPd3?XWb&}mf4)i=DlpbhJldH7g?{Ht=o|GgO1~N zoTB5_I)2dc!;YVJ{Ji6rozU+X7aQ@8ndz9IV^WrmJHMjS%D8!q;!c!ex$MNI6GxrY zbh4C;#kuVCoKCON z>E+mvuI)y7WhURJ$Q?I#CUR#ocUI+2J$HiKY2{9oJ4x=Oxs&Hkk-N3r^YJDz_d;%6 zvG4FAHlCN~UXgoczNV5-6}cbqdB|_(ew6!3?x(q5=6;VmTt3-md06lTEgw8;e1E_P z1MK**|K(Ob$D(TzOr6}U%?&KE4ejP;E;k!;)6bigyy@mmFK^bkS#B2C*5u889{GHh zjlw)?=26O)h{`;g%cDc`wv+QlSj*cpc{|A4A#QJZJI&kc^L9UvLw0zKl@2R!lqW@= z*0}Xf3p^R;c(%*14Lmr{;yg<*lF+~y7I}u)68)WL^LZ!dn~yx;K0S|Q)OdMOE`8VUe@?_1aBI!m&Z;4BdaX)vYVH^91jOrFy?&j@#mtvHuif$PyKvpYtrebMc=dv>ckwiU-Cv7a4=*dcPJvQ*Md6i&ykjl+ zIyEgOgJMm!m~o1ksbavXJd2HiAW~TSWCDY8Fw# zB{0g0=n#Hb(RPdWC|?-2P0@~uc2Tr96mhS>%L(kkvv!fim|A?F#96`Nj*(FmZc&V) zhDA~1dnP>k6b^HI@Di(XNzi;4}kqMwzOH6=ct;in)jUt&3RzASM^Ud+Yb%ULL|EWK{&&6i%kTs2v)UMTnT z%Kg1k-jkM7^>PZYWSsIKxAZHeyk0E*QNC06CrZCo`qO+{<2Ooq@yAUH?i+j)hq{)f zKVQmQv$F2c{{-#89Pwk7rfPU zDa&5j^|=$ryu|RC&&r;Qr>L^mDc42ix*S8M><4B4;IdzI@fNj?AB>=&8??H3I~L+8 z+36a$YieCH#Tzn4mg#mIm2P9K+wi)L8lF_UjYhZ8?>3z-9}(kj6ygB`i*Yv&yK#&y zW;dyH6Std;c9U8+sdtm0n;7oP(v{tGtSeihZW?vdvfG*Ic0#^D#XGqi7g#RSZl2>w zy({yrTg0eGw{*H?ty_lO(x4~MzPJ^1%c5JBb8cV>hfg|V3h zuUr_%=Op_sOpo(*LXa&OcfoiIW@;fy7Ls@&?Ji`Eg-*7Rn}q^{vL>$?Dm};LJ7f9W z5pNxOPP6C4_`I;^S zay-DT8{e>QVtn1c8`k;7I^(Tt#_OUDeE*U3*X7x|qP?!f9>HC|VugJCm9202>(k2m z)U40fZ*XhexOsR4j5m1s2CvxQ_51a#U+?mB-C(pYZ=dnitgE$8EKk>=!s^eGKg~J8S&xvnI|yyE1yV zTRSH;Q~LS$A^6C(!cQNtG?2F#rL-Q-+Jzxd;(ma`n-*&toKhj zW#e&&AN#`S_#;n%|Np(`e^nPaJ@ModoI>1O*>TP zf6)KE%-6o`(tp35|G@*xJde&p`@Zn_Bf6(-Jh?pKn2pCT_Tc$%_&F&&3Hx9JBFMb27K0I4P;(V zQSPDor-BS5?Vm;gVVF#}Ck~eLnK-y4?uCQ)&rrNIA~W>c}h90oBu5u1!{T5X2DS3Zl{_B+Ml^Z~YVX{9C!$JGQ zaZo-|<)c83xf5_OkhD8dd6M#ErQXO!wnU~oRqakwo~}FtWIfMRo~_&jvOMSGU?3@9 zh=cYo$3efB;9wxBe-#A;lJS=+Uk$RoUW z2jjnhgMnoH7jaPk6&wsC<*(yl{5NngpWAUz|6Lrc$M2Lc9DgOuu z?e4)r`6nvhtMYvy1IhTGDSr+!kktPI2lM~6$`7dgdywUOQ2DU(&maTI^nX!43ewM3 zR4RG7waO$fAE(?#^;;sNmZ;sfAnW;f<@St3AgSLGq-rOXpF{zH zKZQM$+^f6~WPN_2^8LzRs{R3$e*-eV-+?U8gR1|d>K|4i5AZfRwawm{cPf~ejm3LL{rhJOV@2=cK`Bdf8Kn9YRd#X&b zzm|in$KFa;IR>&k9>_3E>Z=+*4zk_%Q+a<7KO+Y!YpS18PJ^uftj5<>A1FhRfuvni zd9X53c0dM_I4ok=LqxIY_%J zs8mvZz3Shfd?Uzw-=cO~BGbJU@ie&-C(2i;JxTd$)1*y6dCzkUrm467z`m6e%tNwnF`TP=O7$)_<()eG4^!GdE zgCKrJ9#Z}Zr2QkxKZC5#Use7a$UxGLk&J&FPL#Kyprq-xs^1P|)b==0zas@D)9s`( z$;+K_qJ9^UZMMxKTfNav!CmbU}tK zk$%SzPd`<)A6I!&-fcP1CGfzs|y;WtBmsjCL zKUb^#4wc`@NCcAYcD?fbswa8*A>~Jv9|LLsX>bSd%OL%K1!VqT16i+cDeu(y?&nH-aqp^Fii+9LPY@{&>}&qacS?lh397pi=w@+^?{=P+_JvOix2J=^gT zkmKVrkp3=LUI8-w8$p)yZK}Ugd6mY$9b_0L{l7=;-V0Lxh}u0Cng2&M-Hpndlpj-m zT=@x*VVF$+N!1UN_4o|*950{Mc#@a5;>7qbfsFqONIzc%S?}9G29ojLQhrE-IDG=WfVs_j^J5zaON@131zCw;=uf4y64bRDMwTN99Axhe7;|`~@eb z|EtPd!#UG0Q9d4|-zPBB&B*z;GxSWqtJ*zT<)t9~?4kOns=TMh{|CtNvybXmfUMs* z$a1X)>32Vs*C=N|rfX_^1hO0*jW3l8%Jm@2(FYkwUOpEm)@vike2$`0N&Dw({4uI0 zX@9KBB-0(Q`V*8Vf-L{3AlIvNRDUkWK+?}9km=7;JxTpbl;?vi#|0{12r`hgyGZ3> zGT&Ed{3|t{r2aK3lg#&ZApKmX@)a6SQvZ788$g!h%^=ggRrPOE{naX812T}bes3!ueh{(*DCB14+A&C_k#aQR7M4e+;CbPip+9l%EFiGxB+y z82<&;e^L1*)qfRaAnEVx8vhN|lWfm#ss47=lhog#`a40U|GvsUP~N5bAF6ye$nxBy z@=rAWUXcEN0pe%m0i0O>-+;9Lz3LxQ{llvNv&w$~nVyr1^J-h1nC=N6{cNw?0c1IM zQa%Z!-L4=5$@twsrdz6dlJZlOyDRrlJ{4sC&rtb4RIaGJm-1O4!@on8YadPLfRtCN zJgRb4IjQGw#GexI-L$7npsavZ1fFq!}HswXL* zpgd7|lE#yaKN(~>PE+}Gg zT;JaevL0^*8HP!JZ`1gzK+0DuuTlLwK>E85WI5ie@$Xal10a4zZdCnEAniY;@~1(j z`z**nQocpwZ&mqA%C9QFq5LMu^4|`!eBTCl1b+lFkZg~ig7o_{kaj=Uc#`rjK-&FU z^(5_otMR{6JxRLB@D<-aQbrevqEK3gldQEto5LLiy{ z_8|T2qMQ5Z-5LWFB6qX`pZD3>!_ToTqsLrSL5eZUI1CX4JtoJ;|~Q{pXY)s z=kXeUg6dCE`BaekpRRm?>R$+QpLCw;&sY6Rl`jM7|6-M2uDk?97mvIKq~F)6{xap| zAj|tEknQ_ckbbUK`5h|18)SQ2r@UVEH-Jq4VU=$JS(9*CcjAK}D){5b_B?SBcGd;ny+--FEO4;OrzY8-}QokEy`hSY*Ny>YGd`{m><-IkYWc)rL^IZwj@2JY-AnUoW$_IkX zX9{Gx8Re|%1CV~2AOlH%EtN^i5y<*90GJ_KZak5K)QAoDpIWV+`mpRYUyq@R;P z=6gEGKr-D6K>9xmWIZ;i{ydQOFVpyoRR402`COv%D?yIO*MSTq{av9lN&DA>EXUha zz7k~qSA(>Fhw9&{`fEYj-=OjbK!z=memazq`#Y0 zKTM|ktm;Y1pHqHbc?-yP{IbelQGOLfn@r7 zls^Soj(e5&fz0O@D&G&%{#PKwFq!Vxs(&of?g6zU>Hl{i{r)$|dOV`?UzC3ZneJ~O z14)^Km)r_u`p0oFZ$`#%qjpO`_TLjg=DVZXleF7O^*gJcq~BdN{>jSSK(^ykReqZC z=^z71e|xG-GQVf4ewpe?+AUXBK$h>>Anje{D9Cbn8b1j#-71jnwMOHoKn9YR1}FMy zfwYfQj#W-T&bLD4QrQI=NT!=pnWX)Ckbe6h%XOH>50mxS2tCsusdh&zpRf93K-!(4 z`jb>XP5DBQ>CXh2-`OgkqdZr+31lEyp7T`y66N_CPtwl?Anh*F_=}Y0YP2T={yC<$ME(pOLFo|8~{C17yC}Dz8_*4`d*j{s!gyl^+0^?!zj7MCF@6 zj=xW-d^5;$eNN?DLHhfG@{7tZDZdOdko5BnkokO5{dbjjDDMOrNapuF z<@c38(0G#L^d6N-+W$oPQ;_AqPvc3-KiBwQfNcL?tNZ}Sa{UfuAQ}Il$|U0-2AR*F zK>GW$#*@_lMde{q|ER|QRrxoN<9-P@XPc4s+p3CS-A^H z|GR^_RuF?aU?>NZkjVX}+W914yy&%)Q z4`d+O4<7<)ccaGNr2H7jFifgGuX>XHZUO1%%PN0GQ4nNBI+w<-8B%{QtG; z9{_3pTaEv3l^@jjKdSt&@)3}J9##2oAj2?OE)HtiJ&uF>e<1T;qV|smnf?hN^*bnc zQvDM_29kD9Qki7GKN)1YrOMq^|8$UHn6!I_+C3AbzhxlHy_f3u2DvnOAOp#KCPCV- zQvEQQem~WdwA){0lJWs650m|J5cDjUuM9x?Yk-_LDaibD)ptRLVKTl4J^ifHc#`?9 zS8mYwzRHJ!_!&6{C$38;QBbn}XF{gG7lHJ@N#*lEmhYu1UjQ#&Nc%S`-vlxYlj+_DJ$a4Bla${DGXLv9`ng{D9+36;Ajm*6{zJ+SD?b7<{Y@b2 z_i>Pcr2Qw9pHzNI`Dx{6ls79stNfhu^C11+3NoKBfh_meRQ^wpfn@x*K(_Y}RQ@5z z^gjaG|33%We!l@(zTbijB-8x~q@Ta2o}}HQApQJJW!{wNXFJ}UluWn1$|TGAM3Cv9 zq}*A#i^eYn8A#eaMP-ut?V&Qsb@dq_^I4|c3uHd~fGq#G>Q{kGzprwC<$)mcS);6h z48vsnleKs6117 zmhwf)vz6z748vsmo(nzO>3opod>P38xCmtbzXqh;Yn884UIx2RQ~3js>F)*^NapiXkonxJ`e9OkAM~8JzXoaYCzVHbvgx)08A#f14YJ*~ zQEsd8!(_fYX#7qZKTP_0qQ>tGvfR6Y)Gq~@{%Ifs$$CBmWWLYT_-Cp7Y^4J-khEK& z@-XRV40`6{DXSpY!Tmv|J5cp&lr`m)avEfNg&^%4%9h4Q%7Z}$lKHhk)-wY+zPhTP z16i(~a=q#|sC=mM2$1b^w8lRVWFYD91l6CYJPBler-2M4%W=Bu&s6y=jVD>J^Hl#5 zkm)Z_`9kGIAj2@(4ljqE<#@I73bi9yzc+%+|4kt6-=gwcK?aiXZ&O~Wyh?dB$UxHW z8s*znKTO8IL-qd-Y5z{xvz+hNbR@^c2SC>AMv(3C36S=m1X+(ytNa<|%^=(Hiy#9@ zzh6g!1Ah%pE z0U1c9KVRixQvXuunf^lM%hir#d0z#xUatdLp39Z5SH2OXpErRFB-R^Ee@OYT@=wY~lz#>pNapufkok{1 zi6;b*ez#GXr2Kg0jv(!y2r~UHAj`F@%1c3xr#(RilIfR$v|FyMDECr63uL;LDvyF} zw|zmTKT!2+lr@m~&!~J5$a4801IhgA$^fMQgEf9jqD*qsHXd?+K=pP z{cok*8l=A^AnUOs$a3zi@w+H@1sO<|Yd6&|1(|M7m7f99-!kQ1Ano@C*^Vng`mbvI zq;g-7?X^bZXF#T#1sO>C4U`SllhjAb7-YQ@l{+B)@jIxzlghh*3?$R-s(doYbW1_jZx4{qtIyK-y)}LxjbEYqmC8}&n9>93 zZ(KR4`c=x+AjeBha%=akRvwp{eeC7TE_47iI^*bA67$(!5t9F}|F9tckF8~>T z5lFw6g7o`FkmY`p^35Q_Fd6?A=-IDVDz8!dw}bTiPUW>A1Icvn2AS?XD!*6d_pAH? zkb$KA2Q~g9ApPE``kRy=0~tv6$EQKI$LCZ}($D8rCMn+nvK(IoneJ<<|GM%UAoIHo zq}}Zx$IV?J!();5cWe3|t3647KLMHlPnGv7?*kb~mgko$ldR8gK>Gc?%70Y(PbxnO zGLZEDSCvWj?~+{^YsqqK2bp|=atDy(Vi%Cl(N9(RnIQAu3uOM!R=OYq$^2HRehj4F zs>+if)9(k;Zhw_)8b70QUE>3gfnJ$ zAlvyQl}`id?+lRbb&m3-s=okaAZd3I$a1_w@nuRz3(a43l;bK~Fyq zYy2=7{|NLf*P|fw+3LyGeru5Jw;f3R4yxZ#xf95K*bQVLna@(?Qmg5AF=}%Glbdc?R7RWG6`hOAh4U-26Z_V<5}(DdlHDu1jCn_-`ox6J$Q$RNk)oZ-WdZ^Z5?Q za^9(WlKStdOj7#7e`Zfbl>^#`jy zQFc_HgKXCYkooqMhbY&93?$>%t4uQAzRD!y4^{mU$|FIx^Kl>pNxS1g*860YPXSra z(?AB2cBiZU1uDN#c_zp}((Wwfi$MB0N8?GxpR3%YdXoAVE6-EDM0vjQr6B8hAxOU$ ztN!I6>-8Ft^|)O1S14bvd;`cp^8R@Z$Z>nU#=l4TUXbhGM^(NNWEdvPdlU4`?~@?Q z^J%psDc`K|x2S%YO!p<|S)Z?}{nu5#4W$2XD!&CXkksF<{I>Et8c#C*yUIIMza_GK z-_v-K>AtTrN%;rLyHvj=((b?1?uTke(*KW?_o#kLWc}|&JpJ6Kb|mGWDSr;q-~B58 z5@fmuKn9ZX?==4RDnF?4TO$4c5%KiU=Rc;5;e&TsJA#hFN_}fZO)W|n!Y_q82A3ltT$X^W~sVs`}O>1kpcCF>W=PzK} zwDMJXUD`dwl5~0EVPmP6Z`qJvc^VNfC2Km%h*@5Vu`Ljt&f*vm6aEta$e*PIv>6m_ zXBJ~951Q;uc`HWXRfB$!#l?)+gD3u;(8w%jz$}|%md5;>CR>k?CbM#)$yPKGSMui{ zyNFZ99?BEHVq|0)4qKpc>iB0NBZepb0mjI4c@n3CGH;@8^X6nRq^i8oPT{4k46g=- z+=j&%lw}$HE#XNrzYQ1K&Rl1<;-Wsw6ymwVGE3&$Nrap@7Pev=%(B^~xPQaNNSDU< z(~C5TRC*g`v^7tnldF0oDGU5#U8EyYWvxGcst zEJg>%h`5r1i?KA~tHmkPUQ3gbY2VG0{E5IHsPh>sJuS)T*merP)k~I5>sbmZql91g zGO~hp(n3-`cK(pa-$)%cxy; z(`#>0>@wC+CsjC)x(4%=)?LfYLwb=ux{Mu_|Enap9SI?_=TAHreF{1S>%L0;JImK6Mk z&7sVtkkWM0tG0z`A{|g+;_Y~naUexoMsXAKl`1U5g`IiQQG*7P2pPNAF@?-V$>SoX zke+cEaV1^(ypm#U&9Na@lJ8I+&~JGSW5i&*aK+HRC zgPL6{$*#hMouT|2-I0(cvrH>pCVwv@!$(?D#(~tFzo2ecVDYkvd2CIcoj4TvUA05a zw1oArbz_9wk9MRT|3=2TlEyxix(-jRd^g63tjbb1`BPW%EN#EDR9ae>`6f8DR22F9 z+;)-PhHdJzs?q^ceeoiFF0PialjZ7J%y&>yDWt88G>No<^dR$)p4po#1M57p72CN( zSDiuTOkqpU6d4UABe@YsS(Z`9uffsVA~RYmV@SG3RuHC@6oWoLjrlIaF|xCinJMHx zvw1C<_E8#3vrGTR)bTe_?MPgPixFu~+bI;KXJi~~Mb9!0WJ@A9G^xU@)N--&q^GSH zItZD^YUUeDA5ka$yMhrvV_KVsl#eGn)^H(Tb|rs#IKr=6(XmS}U6w@_b8+<Y z=~)i z^@y}R^Iu{o4kRtBI@E}44(XJk`wX*`5ymeGwp&Rl%O*%R?J^d8c2Ts`Su)xzLPUCz zW*^Kq>9@@sNbKVWC1n!18`u+F-HgMQV4ShCdzILdna|>|%d5=kp|s+PCd+t|7UG3% z(@ngTj+arg4UJ_RFQ-Ao)-1s?95&f?yt2cGS2A^F<0YPLCo{rUT1+IP#U>e4Yp5(z zQaLT=CM96s4do{7CzatB84op+j1q~p%O+jVipjrh*ntBn8Z(;Z$yR|54Aa^P!7Kat zz^hpnYiNv%9a9Vqbeh;DlCidY)Y%)$zZ|w=EOzv_8|{YXASN)gP%`Uw) z*yhPSPnt=F_cFGDWIog`Pz^O5Jq?L6O=WV*or!;tZ%3Wjby$Tfsk>TQ7Z*bVUAE_& z76+H)JDAwAleV)~O3$?7?@;=as`|W=2@x{3q$}C2^Y8ZM%W_6`k%ndFL%S;44fBE{d}_>@7cE z6nz%xJc|5cvf+nxM%cl?*m)LOMvna9)GQ=B>INGTdmE#%6w;xI+}Zh+1S6O8BoBM? z1SuUai-+wfHUtY`cMsA%p`_r+t}48eXCY~4nS-04vZcD6SE5_CcqQwpw61)%yM#5` zo?hf6^^kU!x$rY4lY(E*s>*Y+w76_%q(CzG#mfpQ8dJ!ik#-q$kCaayN4B^jVAt-v zI5uRH#V=#ArN5qTtSjar-yXY-j1r1cnI*j9*R$BM5#r*X#(}JGG_hMrNkO|ocT1%o zS~QXV_#EvFt8Z^b9DlM#*y1wcUk+v2q1drYFXH|@T-XU~AA<&Erir`(+F}baR{Gp9 zg|tv8?ZOBdGuB8CSN|*vZm8N3hkTd+aD?guPqQ%Na7a*bCxbI{6cjhW1js ziv!xp2Hd`=U>nHhc(765g@qi-i0(H?T3(gR!&YW-cH5ma^!kL$D{-)iDJslT7L@xL zVU4MiddLuc8twkZ8r_V;&H#P^ntU6g9Y}+!%3qpp!`88jG^-#Z_HH_O5XVTD#WlPd z6vHkk%&5Z?Q)zK2+96K|7cxTTs@y-MxH6jf&BG%TjFnqaKryB$#{54WcD_k(9lqFL zGDJ5qR`OWJ+;-)O|0zK?K+<`vuas)ACf*0t@CqVMneWYv5P$rh;h_~+bkaTY)GH5m zqLc5Pl6puUgT?K9=4;ri@&GuPU}r#O7vBq+uMEtkY<8a!o8Ld^#h3BN%GgIO4kYRL zM{r>~o`2?SSG@|$A+JRSlei_as@%lkSR?L%)2nc{vNIxrW@XZO_1<3gTf(8w}!K1Dhny8lvTR|dK7hl{b- zGiI}8>6XQbBO_<2)K_Z0n9NQHid#wl(nLD%A^N+H5nCGBEq2dfOEOqm>~4hpA^j_^ zWWKSwc8Tmr9y0e?K51-z>Db87qQ%U`sbs!2MVW81e94-)H+6^eB%*wao(w{}l(Kww zgNqAWH~yiwy+iP;s^xo{Mz*DH7Khf7#qb9k2fF9?%-LZp?n4$_CXU=WWzRY&sZ?eb z7TTQ5XcwN8|&GwP0Y=% zVXWm+9Jb)sGJ;=wJM?rS^FyYP+=QRP6f(F(Co2uV*m3jse}i{!oRPK>Wzm;Spe$+9 zGa|~aPhLJsYseczX~`Q{a2`Vs2;X4|Wc|B`jq`iP%CwTjV;A<3#L7gRWvsNl+~{T0 zohdq|m94maXdMg-X)Bt@u8)6IKJ<8F*Lyb8<{Z#u4>kmwrP!Ux;-89yU$??yGLh6(sYBtFQs2b>hO*3kejVS?TGyc$nF}(mE@r)C-H?{F+bx=$ zf{(A^gzYVkI=hWx8w~AL=u{qG2ZNzP9l!p--u*V4-Lo&!SQ?P{wv*%XEN>58!qzz7EzEWQi zWs=C1EPb2x$EkE+c)FbBI}e9_sVz^MVth4q(iPj%P8Jl0x}_99#H&G*NLl2bEZa~S zqF-VM$SjlChh#W%BFYdDf3ha>i`MMtx^^g2l&cUIcAj5Noj6_2tE1>y3du1uyu!&m zXN@jpgbbR;vF#;Gxjl)iZAC{{KJBE{WV>Kz^5SZ7BV+9Vp|O~3k_CzpGBsq;vUdaO z?5w4+eNiDL9Yj!+){uskC!1N(4NRC;rk}iLeHKNjxjg65_Mbj(V0~v9A$Gr#E738n z41tfa?QJhGR_ZG~ElZ?~Kl?_6$(GSXl0BXc(V@6`wdl`2DY0cGUpr^$K>m}r(NW~r{M!AR%*&E#m(rpA$dAn=_un&cVF&*WY&CwXl};u`$Y9uk{tn~m zRO$w^u}7Vqd5j3zF6UDxjeP-i9qKC7?amU&`-s6nmrC20aZ+5`$%s7^7dE4i)MF;39I%`1BqUSmUWs)6H5x&3&<)ZzawlbxY%z)eZ*u^diz*U zr_vwqVuZb6u$G(80I4|}LfqS50AYLAEQ+B-4Od%6)6_X_~!DvRbkf$mo<00Awz_fX!xa3F1J?$9to^wUVYA zETx-0r^rL0RC-?)Nc!juxneyeg5PR6A}>sRT>R5RA!E;D32d)2J9#tlS6tXxCQlf$ zOOw}&yRf_Eos7Ifl3^x&DI-j_*plzKG=z9z2gr>;iZ=Llj?Q8srAh8!3cD3&8_4@6 zX?7XjLw9T$AWSRmXPcAtkWRKsAH~PhPRb(XJCyF_k$Z~|So9~u!e?3;{PuRovPjd( z=)9S+eH?Z;E~7Y3lUW?P&7^+(P5zNlK&6jH_0Xxqw3arfF3FB?-0RC6dk&;a!PqUKw0+UJO$N;wQ+@w=D{-o*b z=MZ#oH9KB((h#$dHh�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 sz-~b>L0Yh8t+CiK*8n-j8m8ZTb&J8 diff --git a/.vs/ProjectEvaluation/haoyuenet.metadata.v5.2 b/.vs/ProjectEvaluation/haoyuenet.metadata.v5.2 index ce6c4a4c7f3a729ab89ababc89dce14c5e12a79f..39b5c55b08b6fbd65530cbf9af1ad3c87c865f06 100644 GIT binary patch delta 13220 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 AwEzGB delta 333 zcmZ4bi09&RZl+^AjZCdfj9ZzQG@BURrU!B|yKS$!#AM*g#KJH=v5!f9@`7VLlh?Bd zZ+|7uyoGUkh$ge-^eidn#Od!PnU$v>P-7OFzCn^%bGo$@vlxhFKmETZbK`a&X=Zb% zYOq3ES!OSY>hto8WZ32T4yG?>GPzS1*d1r zF<+S;r3SPTVH-@p6GT^)0<+EZEh@}H{I;A7AkYQGOEPNMrtg<#)|qZD0ko*Vl8Jq~ zv;~teqwn;IPE0z}`zx6g8U5jGndt{4nAsWaAp+)>Ov2Osm6%-_*`^0-GP{B7c7>Q> Z=E5X8JyQzkaj=npoSAs1U(jKm0sy-aVU7R* diff --git a/.vs/ProjectEvaluation/haoyuenet.projects.v5.2 b/.vs/ProjectEvaluation/haoyuenet.projects.v5.2 index c299a61dfb60f59ea7c18f0f8fe1f801c87cf787..f28fa49703cfc070f7d5366c53218e6e4e674dd9 100644 GIT binary patch delta 7729 zcma)=33wIN6~{AoGV_+q42dBiVM&4{Ktc!s6|^GYR;x8EYC$AO2#Clcs6dOgY_TqF z1$>oTDF_GwK~2~Pib7Bd1Z9a4R3e7p$|^xYkgeyOd*|g2vERq{z3-iS&t2xuoio4x znfv16%vE3BF}X-9VnupUY>`o976poeMWNN9lzX0=pt1u!JFG}Atvp;?^P#1kOogA@t$S#y z7WfDoKeG7i^UP%T%o+WCgYC5VjAC;D*hpFEHm9~`m&IaYV%D~Psb{PFNPIZs3Kw5+ zHjv16TYSYu{SHg*%(Y8;8^33HDf4?G32|3W=q~7Ev@-ZDYgmNAjaIB-IbhxVcT79Z z+D?l()nn9|R{4B>|4_Q$Q&G>ed5pFXr&+$<#A$eqv^}gK)+6m&Oy|ju8t2&_i;vyH z3f+mrj7sL77_WV!xxb7w&d0~neh=JF%iz<|Znb#Xem0O*SUk0g<+G11KB)@)m2e%j zpTKoQ-Q87b-m7VQdCw_E2W=mpjOJ6m0u1}i;w5`wRomfdqW#=*$4oWu)3p8W#%adF zIIYUfy&<@bu`evQ!3lPKoOWPVt=U2Q(#@?kr)jL(a(gV(p3}4gZVeBu)bRFBo;Ig9 zI*3md{@}62K&eeE{MEoxOSBwz$l|@xer36HW``CA+1D0N=og#K?V#Stox3oUtMhC< z(2;#(@d7?EU12bDr4ypxOpkMp<{gZNDe#;yXKZ92Yv{q48nJ#wr0GkovisPM$@3I zMxmQlrRC*mKk)@yf;}T;pBdWeXpz5^Vm_#yiPp8BqeWhwVlLCpQr+D-QD53Bvhkt? zvG0q(*>{>n>5rRm$#WK6S#7Nff?qbq@ZFzl6L|NoVap$}*{=nfG%5W*gG=20TM0`4Ge^WJtSi^YNeX_m!H-V0en?=~#l17n;jPGX2Ey%R%y@u|)n zYxc#!$HrMtn%yAU0Wbwy0$JK_p7s>nbXlgBqz2OSqj)N>$qPNj;I2`X(pusj z!5?B4N~uHurS||gZ7tgtbVv0IwPtZj1E1GFl;Lyixx(RU4~Gm5uSCKHmV^r|30G6Q zPPndvh?BzgOe2UL=tE)!mc%OA7Gl-PMzPA|)qgPx0_nK)&5U=iG&5NSTm@U^PBJag@!eQK-g<$MwZ{)k+rjhjR&zL&tR11-J$h#%{9tCOuHdZnlMn{l*p= zb_=}Ts9{}g(6AG+>{dInd-M!`bgfa%y4fUR-E9&v*2CuQ*TH??X7fkT-fp`y)*0<| zc8AS3ZUD!fw%g4K%+M(~P|0AsQOVd{@aQ%{hu^{?%C#If-whSVLN6(25Z$?xNAdpK z4F{ebY$J%;S~s=axEM&utFLTId_r`gvMqTr)l5&l+pZUUb@Fq!E#${-ahJI|43}vR zTNag!->K4Yk52-iNkRR+0(^w}--|M#{ytGA)aOam_mrsb1y@4U_f}EgN230IF_2K7 zC(4L=+`58sEQ>uLe296L4v}978uFk(ysT&Nvcj;z{vbLc<1v_Px9C}{ukaz?A!Ptd>#==+kL^I3I<~iz6=FNQdBk?uW@0;BQeiv1kH~fg z;}dqkLOYXficIgy@+Hm(`f#qGV*n?d`{F?0TQYv?TAtVi3Mi zgFHOrheZK;3M9`5V`Z?{j65$yPod{Qo)1CKkgMnUP|5S5#B<>4qqMrEqYs7Oj5G+h z_Ivo)#qcnP37W?#U1wd=+p2Y5TFQKmNPOHCbGZx71=bl1ZjL@C3T*i?F_;!G^6c>F z$Ar&A9}_+geN4bK#AL95ZwNHy@C71sqxjad7d9vj46c~qG zo{C)de_KowST2%SeokWfuM*48dsu!!V);c6%WwnqfdRWrSbj-j`ENcfLuiPv31UkG~{CGgnk2NSOG3{U9f{Bo*hJ`m3m*}Bv?vpyVR9n$9I(;sd#)t( z>!KqOdR{$3&-W1;=ut;#2mq=Op`k*AhHWN7!zC3$!y8G2hVevbjN=_T5n5*53nZrB z@L^hgq=adeQ)_qY4;a31kU9540qIu(gZ`X*5x#4SJmeyyi_udo8NC=Qi@j!K^b+(e z@jS@rH_`Lv)iZjjWb{&x(aUIY7oVT>_F~Cs#UmK~mSnWjK#W%Eg3*dYGFtHpJIKIK-_I5Lxpzx)@9~iv0z;4+LRU$sVH@ib>K4C}P^%$G5EuD$g~+GX2&&7cE3V9^ zm%xriY5lQE>q;N3p-G|jCjw%F2(wB9GmMC(ss1k(C5*jc3Y=Wr#Y^?vY2X7vwEk3-iPo@lMC${>N3<@HwEj}kTGS=2t3^kmHN-N}`k?R;tyhXN(HbTvTGxP$ z()y63^;e=J(faFpwEo6NYv4#7t>K~9(Hbg5YuIL@HC$4mHN1{QYZy2D>d zzw?1weXIi1N*D-Gt6e0hzb7iKdmmURK`l?|597;p*yApO`UrZCNKhZe%2BTwL46E8 z$2<>$`Z#)yUp=T#NKl{fK>Y(PZrIa_r#(Z=D$>E_r&Nv!4;*2BSk!KtUjyU7E#*t?na07&7*kwX; zq9e{Y8p0at&Nv`61d<_GDVaX%CDQ}zC(~+#iDWv-!DRY=)=1jM(q1bpU)CsG96gy2 zBv!@I35YMmN@`>M$Mb4y9na5M>hZkVhpQR8+E71ZKL*bokLQ~>!X``G6dq($8=5)d zc)q!`Eu>8$E05<>;fdn$e44Z^rM=EkkLO`3)Di|$k%g(q!c>aJv~uc>=hH=*G$uoo zNn={W2-KK15GklJZDGZzF`3|xYD^Z~4j#|969Y+OT8lDi41@w{Ot$cm#=y%*Uj*$P zI+kamE;S}cbR>;|x05ucgYc2Y{H$mUOimh;3oDFjOh?!=Jdf`r29d^G53%7tkH0~9 z=U Yh0v&7q|kJ6@Dx6AF0dShW@p3y0UM_dW&i*H delta 29 kcmdmd&!uyjRznM83sVbo3rh=Y3tJ0&3r7p*7B0@o0H?$W+5i9m diff --git a/Simple/Client-Cli/Program.cs b/Simple/Client-Cli/Program.cs index 30e119f..c0dd0de 100644 --- a/Simple/Client-Cli/Program.cs +++ b/Simple/Client-Cli/Program.cs @@ -1,8 +1,10 @@ using ClientCore; +using ClientCore.Event; + App.Init("127.0.0.1", 23846); -//注册 -App.chat.OnChatMsg += OnChatMsg; +//注册事件 +EventSystem.Instance.RegisterEvent(EEvent.OnChatMsg, OnChatMsg); while (true) { diff --git a/Simple/ClientCore/App.cs b/Simple/ClientCore/App.cs index c2567bc..f1fb5f3 100644 --- a/Simple/ClientCore/App.cs +++ b/Simple/ClientCore/App.cs @@ -14,12 +14,14 @@ namespace ClientCore public static long RID = -1; public static string IP; public static int Port; + public static LogManager log; public static NetworkHelper networkHelper; public static AppLogin login; public static AppChat chat; public static void Init(string IP, int port) { + log = new LogManager(); networkHelper = new NetworkHelper(); login = new AppLogin(); chat = new AppChat(); diff --git a/Simple/ClientCore/Common/Helper.cs b/Simple/ClientCore/Common/Helper.cs new file mode 100644 index 0000000..0643fd4 --- /dev/null +++ b/Simple/ClientCore/Common/Helper.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ClientCore.Common +{ + public static class Helper + { + public static long GetNowTimeStamp() + { + return GetTimeStamp(DateTime.Now); + } + + ///