From 20652dda10fd88857fa47999b18e2c60cc3b9938 Mon Sep 17 00:00:00 2001 From: "yuqi.zq" Date: Fri, 20 Dec 2024 18:17:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A51220?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 21 +- docker-compose.yaml | 2 +- examples/ekg_examples/who_is_spy_game.py | 68 +- muagent/connector/memory_manager.py | 28 +- .../graph_db_handler/nebula_handler.py | 13 +- muagent/schemas/ekg/ekg_reason.py | 324 ++++ .../geabase_handler/geabase_handlerplus.py | 108 +- .../src/graph_search/geabase_search_plus.py | 820 +-------- .../src/graph_search/graph_search_main.py | 424 ++++- .../src/graph_search/task_node_agent.py | 1487 +++++++++++++++++ .../src/graph_search/task_node_prompt.py | 114 ++ .../intention_recognition_tool.py | 112 +- .../src/memory_handler/ekg_memory_handler.py | 383 ++++- .../src/question_answer/qa_function.py | 215 +-- .../ekg_reasoning/src/utils/__init__.py | 0 .../ekg_reasoning/src/utils/call_llm.py | 50 +- requirements.txt | 3 +- .../config/application-default.properties | 5 +- .../src/main/resources/log4j2-spring.xml | 8 +- .../main/resources/static/avatar/hangang.png | Bin 0 -> 171121 bytes .../main/resources/static/avatar/hezixuan.png | Bin 0 -> 149417 bytes .../main/resources/static/avatar/liangjun.png | Bin 0 -> 152035 bytes .../resources/static/avatar/shenqiang.png | Bin 0 -> 158411 bytes .../main/resources/static/avatar/zhoujie.png | Bin 0 -> 193195 bytes .../resources/static/avatar/zhouxinyi.png | Bin 0 -> 150712 bytes .../main/resources/static/avatar/zhuli.png | Bin 0 -> 171621 bytes .../resources/tools/system.llm_query.json | 49 + .../resources/tools/system.select_tool.json | 2 +- .../tools/undercover.dispatch_keyword.json | 4 +- .../tools/undercover.dispatch_position.json | 4 +- .../resources/tools/undercover.judge.json | 4 +- .../resources/tools/undercover.summary.json | 4 +- .../tools/werewolf.dispatch_keyword.json | 50 + .../tools/werewolf.dispatch_position.json | 49 + .../resources/tools/werewolf.hangang.json | 49 + .../resources/tools/werewolf.hezixuan.json | 49 + .../main/resources/tools/werewolf.judge.json | 49 + .../resources/tools/werewolf.liangjun.json | 49 + .../resources/tools/werewolf.shenqiang.json | 49 + .../resources/tools/werewolf.summary.json | 49 + .../resources/tools/werewolf.zhoujie.json | 49 + .../resources/tools/werewolf.zhouxinyi.json | 49 + .../main/resources/tools/werewolf.zhuli.json | 49 + .../chat/content/RoleResponseContent.java | 56 + .../exception/EkgToolNotFindException.java | 7 + .../model/scheduler/SubmitTaskRequest.java | 2 + .../service/chat/impl/EkgChatServiceImpl.java | 212 ++- .../service/sheduler/impl/BaseScheduler.java | 24 +- .../com/alipay/muagent/util/StringUtils.java | 4 + .../muagent/web/interceptor/WebConfigure.java | 2 +- tests/service/test_main_sswd_long.py | 153 +- 51 files changed, 4099 insertions(+), 1153 deletions(-) create mode 100644 muagent/schemas/ekg/ekg_reason.py create mode 100644 muagent/service/ekg_reasoning/src/graph_search/task_node_agent.py create mode 100644 muagent/service/ekg_reasoning/src/graph_search/task_node_prompt.py create mode 100644 muagent/service/ekg_reasoning/src/utils/__init__.py create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/hangang.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/hezixuan.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/liangjun.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/shenqiang.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/zhoujie.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/zhouxinyi.png create mode 100644 runtime/bootstrap/src/main/resources/static/avatar/zhuli.png create mode 100644 runtime/bootstrap/src/main/resources/tools/system.llm_query.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_keyword.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_position.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.hangang.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.hezixuan.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.judge.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.liangjun.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.shenqiang.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.summary.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.zhoujie.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.zhouxinyi.json create mode 100644 runtime/bootstrap/src/main/resources/tools/werewolf.zhuli.json create mode 100644 runtime/model/src/main/java/com/alipay/muagent/model/exception/EkgToolNotFindException.java diff --git a/.gitignore b/.gitignore index fe0c959..6b59328 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ zdatafront* *log examples/mysql/db + + # frontend frontend/node_modules frontend/.env.local @@ -37,4 +39,21 @@ frontend/.mfsu frontend/.swc frontend/pnpm-lock.yaml -*.jar \ No newline at end of file +*.jar + + + + +.spyproject/ +model_config.py +model_config_example.py +config.py +**/service_onlyant +**/ekg_test +**/generalization_reasoning +ekg.yaml +*.ipynb +**/web_operation +examples/mysql/db +tests/service/test_* +tests/service/replacements.py \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 27f4262..84cbafd 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -149,7 +149,7 @@ services: mysql: - image: mysql:8.0.23 + image: mysql:8.4.3 container_name: mysql environment: MYSQL_ROOT_PASSWORD: 'root' diff --git a/examples/ekg_examples/who_is_spy_game.py b/examples/ekg_examples/who_is_spy_game.py index 970242d..309da56 100644 --- a/examples/ekg_examples/who_is_spy_game.py +++ b/examples/ekg_examples/who_is_spy_game.py @@ -129,36 +129,46 @@ def hash_id(nodeId, sessionId='', otherstr = None): new_nodes_2 = \ [GNode(id='剧本杀/谁是卧底', type='opsgptkg_intent', attributes={'ID': -5201231166222141228, 'teamids': '', 'gdb_timestamp': '1725088421109', 'description': '谁是卧底', 'name': '谁是卧底', 'extra': ''}), - GNode(id='剧本杀/狼人杀', type='opsgptkg_intent', attributes={'ID': 5476827419397129797, 'description': '狼人杀', 'name': '狼人杀', 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815561170'}), - GNode(id='剧本杀/谁是卧底/智能交互', type='opsgptkg_schedule', attributes={'ID': 603563742932974030, 'extra': '', 'teamids': '', 'gdb_timestamp': '1725088469126', 'description': '智能交互', 'name': '智能交互', 'enable': 'True'}), - GNode(id='剧本杀/狼人杀/智能交互', type='opsgptkg_schedule', attributes={'ID': -5931163481230280444, 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815624907', 'description': '智能交互', 'name': '智能交互', 'enable': 'False'}), + GNode(id='剧本杀/谁是卧底/智能交互', type='opsgptkg_schedule', attributes={'ID': 603563742932974030, 'extra': '', 'teamids': '', 'gdb_timestamp': '1725088469126', 'description': '智能交互', 'name': '智能交互', 'enable': 'True', 'envdescription': '{"存活的玩家": "张伟、王鹏、李静、人类玩家"}'}), GNode(id='剧本杀/谁是卧底/智能交互/分配座位', type='opsgptkg_task', attributes={'ID': 2011080219630105469, 'extra': '{"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728912109030', 'executetype': '', 'description': '分配座位', 'name': '分配座位', 'accesscriteria': ''}), - GNode(id='剧本杀/狼人杀/智能交互/位置选择', type='opsgptkg_task', attributes={'ID': 2541178858602010284, 'description': '位置选择', 'name': '位置选择', 'accesscriteria': '', 'extra': '{"memory_tag": "all"}', 'teamids': '', 'gdb_timestamp': '1724849735167', 'executetype': ''}), GNode(id='剧本杀/谁是卧底/智能交互/角色分配和单词分配', type='opsgptkg_task', attributes={'ID': -1817533533893637377, 'accesscriteria': '', 'extra': '{"memory_tag": "None","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728912123682', 'executetype': '', 'description': '角色分配和单词分配', 'name': '角色分配和单词分配'}), - GNode(id='剧本杀/狼人杀/智能交互/角色选择', type='opsgptkg_task', attributes={'ID': -8695604495489305484, 'description': '角色选择', 'name': '角色选择', 'accesscriteria': '', 'extra': '{"memory_tag": "None"}', 'teamids': '', 'gdb_timestamp': '1724849085296', 'executetype': ''}), - GNode(id='剧本杀/谁是卧底/智能交互/通知身份', type='opsgptkg_task', attributes={'ID': 8901447933395410622, 'extra': '{"pattern": "react","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728912141060', 'executetype': '', 'description': '##角色##\n你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。\n目前已经完成 1)位置分配; 2)角色分配和单词分配。\n##任务##\n向所有玩家通知信息他们的 座位信息和单词信息。\n发送格式是: 【身份通知】你是{player_name}, 你的位置是{位置号}号, 你分配的单词是{单词}\n##详细步骤##\nstep1.依次向所有玩家通知信息他们的 座位信息和单词信息。发送格式是: 你是{player_name}, 你的位置是{位置号}号, 你分配的单词是{单词}\nstpe2.所有玩家信息都发送后,结束\n\n##注意##\n1. 每条信息只能发送给对应的玩家,其他人无法看到。\n2. 不要告诉玩家的角色信息,即不要高斯他是平民还是卧底角色\n3. 在将每个人的信息通知到后,本阶段任务结束\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为JSON,格式为\n[{"action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}, ...]\n\n关键词含义如下:\n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n#example#\n如果是玩家发言,则用 {"action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{ "memory_tag":["agent_name_a","agent_name_b"],"content": "str"}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请输出jsonstr,不用输出markdown格式\n5. 结合已有的步骤,每次只输出下一个步骤,即一个 {"action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}', 'name': '通知身份', 'accesscriteria': ''}), - GNode(id='剧本杀/狼人杀/智能交互/向玩家通知消息', type='opsgptkg_task', attributes={'ID': -4014299322597660132, 'extra': '{"pattern": "react"}', 'teamids': '', 'gdb_timestamp': '1725092109310', 'executetype': '', 'description': '##角色##\n你正在参与狼人杀这个游戏,你的角色是[主持人]。你熟悉狼人杀游戏的完整流程,你需要完成[任务],保证狼人杀游戏的顺利进行。\n目前已经完成位置分配和角色分配。\n##任务##\n向所有玩家通知信息他们的座位信息和角色信息。\n发送格式是: 你是{player_name}, 你的位置是{位置号}号,你的身份是{角色名}\n##注意##\n1. 每条信息只能发送给对应的玩家,其他人无法看到。\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为Python可解析的JSON,格式为\n\n[{"action": {player_name, agent_name}, "observation" or "Dungeon_Master": [{content, memory_tag}, ...]}]\n\n关键词含义如下:\n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n##example##\n如果是玩家发言,则用 {"action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{"content": "str", "memory_tag":["agent_name_a","agent_name_b"]}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"content": "str", memory_tag:["agent_name_a","agent_name_b"]}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请直接输出jsonstr,不用输出markdown格式\n\n##结果##', 'name': '向玩家通知消息', 'accesscriteria': ''}), + GNode(id='剧本杀/谁是卧底/智能交互/通知身份', type='opsgptkg_task', attributes={'ID': 8901447933395410622, 'extra': '{"pattern": "react","dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1728912141060', 'executetype': '', 'description': '##角色##\n你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。\n目前已经完成 1)位置分配; 2)角色分配和单词分配。\n##任务##\n向所有玩家通知信息他们的 座位信息和单词信息。\n发送格式是: 【身份通知】你是{player_name}, 你的位置是{位置号}号, 你分配的单词是{单词}\n##详细步骤##\nstep1.依次向所有玩家通知信息他们的 座位信息和单词信息。发送格式是: 你是{player_name}, 你的位置是{位置号}号, 你分配的单词是{单词}\nstpe2.所有玩家信息都发送后,结束\n\n##注意##\n1. 每条信息只能发送给对应的玩家,其他人无法看到。\n2. 不要告诉玩家的角色信息,即不要告诉他是平民还是卧底角色\n3. 在将每个人的信息通知到后,本阶段任务结束\n4.本环节所有的对话都有主持人发起\n', 'name': '通知身份', 'accesscriteria': ''}), GNode(id='剧本杀/谁是卧底/智能交互/关键信息_1', type='opsgptkg_task', attributes={'ID': 3196717310525578616, 'gdb_timestamp': '1728913619628', 'executetype': '', 'description': '关键信息', 'name': '关键信息', 'accesscriteria': '', 'extra': '{"ignorememory":"True","dodisplay":"True"}', 'teamids': ''}), - GNode(id='剧本杀/狼人杀/智能交互/狼人时刻', type='opsgptkg_task', attributes={'ID': 8926130661368382825, 'accesscriteria': 'OR', 'extra': '{"pattern": "react"}', 'teamids': '', 'gdb_timestamp': '1725092131051', 'executetype': '', 'description': '##背景##\n在狼人杀游戏中,主持人通知当前存活的狼人玩家指认一位击杀对象,所有狼人玩家给出击杀目标,主持人确定最终结果。\n\n##任务##\n整个流程分为6个步骤:\n1. 存活狼人通知:主持人向所有的狼人玩家广播,告知他们当前存活的狼人玩家有哪些。\n2. 第一轮讨论:主持人告知所有存活的狼人玩家投票,从当前存活的非狼人玩家中,挑选一个想要击杀的玩家。\n3. 第一轮投票:按照座位顺序,每一位存活的狼人为自己想要击杀的玩家投票。\n4. 第一轮结果反馈:主持人统计所有狼人的票数分布,确定他们是否达成一致。若达成一致,告知所有狼人最终被击杀的玩家的player_name,流程结束;否则,告知他们票数的分布情况,并让所有狼人重新投票指定击杀目标,主持人需要提醒他们,若该轮还不能达成一致,则取票数最大的目标为最终击杀对象。\n5. 第二轮投票:按照座位顺序,每一位存活的狼人为自己想要击杀的玩家投票。\n6. 第二轮结果反馈:主持人统计第二轮投票中所有狼人的票数分布,取票数最大的玩家为最终击杀对象,如果存在至少两个对象的票数最大且相同,取座位号最大的作为最终击杀对象。主持人告知所有狼人玩家最终被击杀的玩家的player_name。\n\n该任务的参与者只有狼人玩家和主持人,信息可见对象是所有狼人玩家。\n\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为Python可解析的JSON,格式为\n\n[{"action": {player_name, agent_name}, "observation" or "Dungeon_Master": [{content, memory_tag}, ...]}]\n\n关键词含义如下:\n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n##example##\n如果是玩家发言,则用 {"action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{"content": "str", "memory_tag":["agent_name_a","agent_name_b"]}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"content": "str", memory_tag:["agent_name_a","agent_name_b"]}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请直接输出jsonstr,不用输出markdown格式\n\n##结果##', 'name': '狼人时刻'}), - GNode(id='剧本杀/谁是卧底/智能交互/开始新一轮的讨论', type='opsgptkg_task', attributes={'ID': -6077057339616293423, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True",\n"memory_tag":"all",\n"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913634866', 'executetype': '', 'description': '###以上为本局游戏记录###\n\n\n##背景##\n你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的讨论环节。 在这一个环节里,所有主持人先宣布目前存活的玩家,然后每位玩家按照座位顺序发言\n\n\n##详细步骤##\nstep1. 主持人根据本局游戏历史记录,感知最开始所有的玩家 以及 在前面轮数中已经被票选死亡的玩家。注意死亡的玩家不能参与本轮游戏。得到当前存活的玩家个数以及其player_name。 并告知所有玩家当前存活的玩家个数以及其player_name。\nstep2. 主持人确定发言规则并告知所有玩家,发言规则步骤如下: 存活的玩家按照座位顺序由小到大进行发言\n(一个例子:假设总共有5个玩家,如果3号位置处玩家死亡,则发言顺序为:1_>2_>4_>5)\nstep3. 存活的的玩家按照顺序依次发言\nstpe4. 在每一位存活的玩家都发言后,结束\n\n \n \n##注意##\n1.之前的游戏轮数可能已经投票选中了某位/某些玩家,被票选中的玩家会立即死亡,不再视为存活玩家,死亡的玩家不能参与本轮游戏 \n2.你要让所有存活玩家都参与发言,不能遗漏任何存活玩家。在本轮所有玩家只发言一次\n3.该任务的参与者为主持人和所有存活的玩家,信息可见对象为所有玩家。\n4.不仅要模拟主持人的发言,还需要模拟玩家的发言\n5.每一位存活的玩家均发完言后,本阶段结束\n\n\n\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为JSON,格式为\n[ {"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}] }, ...]\n\n\n\n\n关键词含义如下:\n_ thought (str): 主持人执行行动的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断等。 \n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空 ;否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为本条信息的可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n##example##\n如果是玩家发言,则用 {"thought": "str", "action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{ "memory_tag":["agent_name_a","agent_name_b"],"content": "str"}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"thought": "str", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请输出jsonstr,不用输出markdown格式\n5. 结合已有的步骤,每次只输出下一个步骤,即一个 {"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}\n6. 如果是人类玩家发言, 一定要选择类似 agent_人类玩家 这样的agent_name', 'name': '开始新一轮的讨论'}), - GNode(id='剧本杀/狼人杀/智能交互/天亮讨论', type='opsgptkg_task', attributes={'ID': 274796810216558717, 'gdb_timestamp': '1725106348469', 'executetype': '', 'description': '##角色##\n你正在参与狼人杀这个游戏,你的角色是[主持人]。你熟悉狼人杀游戏的完整流程,你需要完成[任务],保证狼人杀游戏的顺利进行。\n##任务##\n你的任务如下: \n1. 告诉玩家昨晚发生的情况: 首先告诉玩家天亮了,然后你需要根据过往信息,告诉所有玩家,昨晚是否有玩家死亡。如果有,则向所有人宣布死亡玩家的名字,你只能宣布死亡玩家是谁如:"昨晚xx玩家死了",不要透露任何其他信息。如果没有,则宣布昨晚是平安夜。\n2. 确定发言规则并告诉所有玩家:\n确定发言规则步骤如下: \n第一步:确定第一个发言玩家,第一个发言的玩家为死者的座位号加1位置处的玩家(注意:最后一个位置+1的位置号为1号座位),如无人死亡,则从1号玩家开始。\n第二步:告诉所有玩家从第一个发言玩家开始发言,除了死亡玩家,每个人都需要按座位号依次讨论,只讨论一轮,所有人发言完毕后结束。注意不能遗忘指挥任何存活玩家发言!\n以下是一个例子:\n```\n总共有5个玩家,如果3号位置处玩家死亡,则第一个发言玩家为4号位置处玩家,因此从他开始发言,发言顺序为:4_>5_>1_>2\n```\n3. 依次指定存活玩家依次发言\n4. 被指定的玩家依次发言\n##注意##\n1. 你必须根据规则确定第一个发言玩家是谁,然后根据第一个发言玩家的座位号,确定所有人的发言顺序并将具体发言顺序并告知所有玩家,不要做任何多余解释\n2. 你要让所有存活玩家都参与发言,不能遗漏任何存活玩家\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为Python可解析的JSON,格式为\n\n[{"action": {player_name, agent_name}, "observation" or "Dungeon_Master": [{content, memory_tag}, ...]}]\n\n关键词含义如下:\n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n##example##\n如果是玩家发言,则用 {"action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{"content": "str", "memory_tag":["agent_name_a","agent_name_b"]}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"content": "str", memory_tag:["agent_name_a","agent_name_b"]}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请直接输出jsonstr,不用输出markdown格式\n\n##结果(请直接在后面输出,如果后面已经有部分结果,请续写。一定要保持续写后的内容结合前者能构成一个合法的 jsonstr)##', 'name': '天亮讨论', 'accesscriteria': '', 'extra': '{"pattern": "react"}', 'teamids': ''}), + GNode(id='剧本杀/谁是卧底/智能交互/开始新一轮的讨论', type='opsgptkg_task', attributes={'ID': -6077057339616293423, 'accesscriteria': 'OR','action':'plan', 'extra': '{"pattern": "react", "endcheck": "True",\n"memory_tag":"all",\n"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913634866', 'executetype': '', 'description': '###以上为本局游戏记录###\n\n\n##背景##\n你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的讨论环节。 在这一个环节里,所有主持人先宣布目前存活的玩家,然后每位玩家按照座位顺序发言\n\n\n##详细步骤##\nstep1. 主持人根据本局游戏历史记录,感知最开始所有的玩家 以及 在前面轮数中已经被票选死亡的玩家。注意死亡的玩家不能参与本轮游戏。得到当前存活的玩家个数以及其player_name。 并告知所有玩家当前存活的玩家个数以及其player_name。\nstep2. 主持人确定发言规则并告知所有玩家,发言规则步骤如下: 存活的玩家按照座位顺序由小到大进行发言\n(一个例子:假设总共有5个玩家,如果3号位置处玩家死亡,则发言顺序为:1_>2_>4_>5)\nstep3. 存活的的玩家按照顺序依次发言\nstpe4. 在每一位存活的玩家都发言后,结束\n\n \n \n##注意##\n1.之前的游戏轮数可能已经投票选中了某位/某些玩家,被票选中的玩家会立即死亡,不再视为存活玩家, 存活玩家为:#$#存活的玩家#$#,死亡的玩家不能参与本轮游戏 \n2.你要让所有存活玩家都参与发言,不能遗漏任何存活玩家。在本轮所有玩家只发言一次\n3.该任务的参与者为主持人和所有存活的玩家,信息可见对象为所有玩家。\n4.不仅要模拟主持人的发言,还需要模拟玩家的发言\n5.每一位存活的玩家均发完言后,本阶段结束\n\n\n\n', 'name': '开始新一轮的讨论'}), GNode(id='剧本杀/谁是卧底/智能交互/关键信息_2', type='opsgptkg_task', attributes={'ID': -8309123437761850283, 'description': '关键信息', 'name': '关键信息', 'accesscriteria': '', 'extra': '{"ignorememory":"True","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913648645', 'executetype': ''}), - GNode(id='剧本杀/狼人杀/智能交互/票选凶手', type='opsgptkg_task', attributes={'ID': 1492108834523573937, 'accesscriteria': '', 'extra': '{"pattern": "react"}', 'teamids': '', 'gdb_timestamp': '1725106389716', 'executetype': '', 'description': '##角色##\n你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。\n\n##任务##\n你的任务如下:\n1. 告诉玩家投票规则,规则步骤如下: \nstep1: 确定讨论阶段第一个发言的玩家A\nstep2: 从A玩家开始,按座位号依次投票,每个玩家只能对一个玩家进行投票,投票这个玩家表示认为该玩家是“卧底”。每个玩家只能投一次票。\nstep3: 将完整投票规则告诉所有玩家\n2. 指挥存活玩家依次投票。\n3. 被指定的玩家进行投票\n4. 主持人统计投票结果,并告知所有玩家,投出的角色是谁。\n\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为Python可解析的JSON,格式为\n```\n{"action": {player_name, agent_name}, "observation" or "Dungeon_Master": [{content, memory_tag}, ...]}\n```\n关键词含义如下:\n_ player_name (str): 行动方的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): 行动方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n\n##example##\n如果是玩家发言,则用 {"action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{"content": "str", "memory_tag":["agent_name_a","agent_name_b"]}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"content": "str", memory_tag:["agent_name_a","agent_name_b"]}]}\n\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请直接输出jsonstr,不用输出markdown格式\n\n##结果##\n', 'name': '票选凶手'}), - GNode(id='剧本杀/谁是卧底/智能交互/票选卧底_1', type='opsgptkg_task', attributes={'ID': 267468674566989196, 'teamids': '', 'gdb_timestamp': '1728913670477', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n##角色##\n你是一个统计票数大师,你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。 现在是投票阶段。\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的投票环节, 也仅仅只模拟投票环节,投票环节结束后就本阶段就停止了,由后续的阶段继续进行游戏。 在这一个环节里,由主持人先告知大家投票规则,然后组织每位存活玩家按照座位顺序发言投票, 所有人投票后,本阶段结束。 \n##详细步骤##\n你的任务如下:\nstep1. 向所有玩家通知现在进入了票选环节,在这个环节,每个人都一定要投票指定某一个玩家为卧底\nstep2. 主持人确定投票顺序并告知所有玩家。 投票顺序基于如下规则: 1: 存活的玩家按照座位顺序由小到大进行投票(一个例子:假设总共有5个玩家,如果3号位置处玩家死亡,则投票顺序为:1_>2_>4_>5)2: 按座位号依次投票,每个玩家只能对一个玩家进行投票。每个玩家只能投一次票。3:票数最多的玩家会立即死亡\n\nstep3. 存活的的玩家按照顺序进行投票\nstep4. 所有存活玩家发言完毕,主持人宣布投票环节结束\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n##注意##\n\n1.之前的游戏轮数可能已经投票选中了某位/某些玩家,被票选中的玩家会立即死亡,不再视为存活玩家 \n2.你要让所有存活玩家都参与投票,不能遗漏任何存活玩家。在本轮每一位玩家只投票一个人\n3.该任务的参与者为主持人和所有存活的玩家,信息可见对象为所有玩家。\n4.不仅要模拟主持人的发言,还需要模拟玩家的发言\n5.不允许玩家自己投自己,如果出现了这种情况,主持人会提醒玩家重新投票。\n\n\n\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为JSON,格式为\n["thought": str, {"action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}, ...]\n关键词含义如下:\n_ thought (str): 主持人执行行动的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断。 \n_ player_name (str): ***的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): ***的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n##example##\n如果是玩家发言,则用 {"thought": "str", "action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{ "memory_tag":["agent_name_a","agent_name_b"],"content": "str"}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"thought": "str", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]}\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请输出jsonstr,不用输出markdown格式\n5. 结合已有的步骤,每次只输出下一个步骤,即一个 {"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}\n6. 如果是人类玩家发言, 一定要选择类似 人类agent 这样的agent_name', 'name': '票选卧底', 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "memory_tag":"all","dodisplay":"True"}'}), + GNode(id='剧本杀/谁是卧底/智能交互/票选卧底_1', type='opsgptkg_task', attributes={'ID': 267468674566989196, 'teamids': '', 'action':'parallel','gdb_timestamp': '1728913670477', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n##角色##\n你是一个统计票数大师,你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。 现在是投票阶段。\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的投票环节, 也仅仅只模拟投票环节,投票环节结束后就本阶段就停止了,由后续的阶段继续进行游戏。 在这一个环节里,由主持人先告知大家投票规则,然后组织每位存活玩家按照座位顺序发言投票, 所有人投票后,本阶段结束。 \n##详细步骤##\n你的任务如下:\nstep1. 向所有玩家通知现在进入了票选环节,在这个环节,每个人都一定要投票指定某一个玩家为卧底\nstep2. 主持人确定投票顺序并告知所有玩家。 投票顺序基于如下规则: 1: 存活的玩家按照座位顺序由小到大进行投票(一个例子:假设总共有5个玩家,如果3号位置处玩家死亡,则投票顺序为:1_>2_>4_>5)2: 按座位号依次投票,每个玩家只能对一个玩家进行投票。每个玩家只能投一次票。3:票数最多的玩家会立即死亡\n\nstep3. 存活的的玩家按照顺序进行投票\nstep4. 所有存活玩家发言完毕,主持人宣布投票环节结束\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n##注意##\n\n1.之前的游戏轮数可能已经投票选中了某位/某些玩家,被票选中的玩家会立即死亡,不再视为存活玩家, 存活玩家为:#$#存活的玩家#$#。\n2.你要让所有存活玩家都参与投票,不能遗漏任何存活玩家。在本轮每一位玩家只投票一个人\n3.该任务的参与者为主持人和所有存活的玩家,信息可见对象为所有玩家。\n4.不仅要模拟主持人的发言,还需要模拟玩家的发言\n5.不允许玩家自己投自己,如果出现了这种情况,主持人会提醒玩家重新投票。\n\n\n\n', 'name': '票选卧底', 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "memory_tag":"all","dodisplay":"True"}'}), GNode(id='剧本杀/谁是卧底/智能交互/关键信息_4', type='opsgptkg_task', attributes={'ID': -4669093152651945828, 'extra': '{"ignorememory":"True","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913685959', 'executetype': '', 'description': '关键信息_4', 'name': '关键信息_4', 'accesscriteria': ''}), - GNode(id='剧本杀/谁是卧底/智能交互/统计票数', type='opsgptkg_task', attributes={'ID': -6836070348442528830, 'teamids': '', 'gdb_timestamp': '1728913701092', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n##角色##\n你是一个统计票数大师,你非常擅长计数以及统计信息。你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。 现在是票数统计阶段\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的票数统计阶段, 也仅仅只票数统计阶段环节,票数统计阶段结束后就本阶段就停止了,由后续的阶段继续进行游戏。 在这一个环节里,由主持人根据上一轮存活的玩家投票结果统计票数。 \n##详细步骤##\n你的任务如下:\nstep1. 主持人感知上一轮投票环节每位玩家的发言, 统计投票结果,格式为[{"player_name":票数}]. \nstep2 然后,主持人宣布死亡的玩家,以最大票数为本轮被投票的目标,如果票数相同,则取座位号高的角色死亡。并告知所有玩家本轮被投票玩家的player_name。(格式为【重要通知】本轮死亡的玩家为XXX)同时向所有玩家宣布,被投票中的角色会视为立即死亡(即不再视为存活角色)\nstep3. 在宣布死亡玩家后,本阶段流程结束,由后续阶段继续推进游戏\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n##注意##\n1.如果有2个或者两个以上的被玩家被投的票数相同,则取座位号高的玩家死亡。并告知大家原因:票数相同,取座位号高的玩家死亡\n2.在统计票数时,首先确认存活玩家的数量,再先仔细回忆,谁被投了。 最后统计每位玩家被投的次数。 由于每位玩家只有一票,所以被投次数的总和等于存活玩家的数量 \n3.通知完死亡玩家是谁后,本阶段才结束,由后续阶段继续推进游戏。输出 {"action": "taskend"}即可\n4.主持人只有当通知本轮死亡的玩家时,才使用【重要通知】的前缀,其他情况下不要使用【重要通知】前缀\n5.只统计上一轮投票环节的情况\n##example##\n{"thought": "在上一轮中, 存活玩家有 小北,李光,赵鹤,张良 四个人。 其中 小北投了李光, 赵鹤投了小北, 张良投了李光, 李光投了张良。总结被投票数为: 李光:2票; 小北:1票,张良:1票. Check一下,一共有四个人投票了,被投的票是2(李光)+1(小北)+1(张良)=4,总结被投票数没有问题。 因此李光的票最多", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["all"], "content": "李光:2票; 小北:1票,张良:1票 .因此李光的票最多.【重要通知】本轮死亡玩家是李光",}]}\n\n##example##\n{"thought": "在上一轮中, 存活玩家有 小北,人类玩家,赵鹤,张良 四个人。 其中 小北投了人类玩家, 赵鹤投了小北, 张良投了小北, 人类玩家投了张良。总结被投票数为:小北:2票,人类玩家:1票,张良:0票 .Check一下,一共有四个人投票了,被投的票是2(小北)+1(人类玩家)+张良(0)=3,总结被投票数有问题。 更正总结被投票数为:小北:2票,人类玩家:1票,张良:1票。因此小北的票最多", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["all"], "content": "小北:2票,人类玩家:1票,张良:1票 .因此小北的票最多.【重要通知】本轮死亡玩家是小北",}]}\n\n\n##输出##\n请以列表的形式,给出参与者的所有行动。每个行动表示为JSON,格式为\n["thought": str, {"action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}, ...]\n关键词含义如下:\n_ thought (str): 主持人执行行动的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断。 \n_ player_name (str): ***的 player_name,若行动方为主持人,为空,否则为玩家的 player_name;\n_ agent_name (str): ***的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。\n_ content (str): 行动方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。\n_ memory_tag (List[str]): 无论行动方是主持人还是玩家,memory_tag 固定为**所有**信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"]\n##example##\n如果是玩家发言,则用 {"thought": "str", "action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{ "memory_tag":["agent_name_a","agent_name_b"],"content": "str"}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description\n如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"thought": "str", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]}\n##注意事项##\n1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。\n2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。\n3. 输出列表的最后一个元素一定是{"action": "taskend"}。\n4. 整个list是一个jsonstr,请输出jsonstr,不用输出markdown格式\n5. 结合已有的步骤,每次只输出下一个步骤,即一个 {"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}\n6. 如果是人类玩家发言, 一定要选择类似 人类agent 这样的agent_name', 'name': '统计票数', 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "memory_tag":"all","model_name":"gpt_4","dodisplay":"True"}'}), + GNode(id='剧本杀/谁是卧底/智能交互/统计票数', type='opsgptkg_task', attributes={'ID': -6836070348442528830, 'teamids': '', 'action':'react','gdb_timestamp': '1728913701092', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n##角色##\n你是一个统计票数大师,你非常擅长计数以及统计信息。你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。 现在是票数统计阶段\n\n##任务##\n以结构化的语句来模拟进行 谁是卧底的票数统计阶段, 也仅仅只票数统计阶段环节,票数统计阶段结束后就本阶段就停止了,由后续的阶段继续进行游戏。 在这一个环节里,由主持人根据上一轮存活的玩家投票结果统计票数。 \n##详细步骤##\n你的任务如下:\nstep1. 主持人感知上一轮投票环节每位玩家的发言, 统计投票结果,格式为[{"player_name":票数}]. \nstep2 然后,主持人宣布死亡的玩家,以最大票数为本轮被投票的目标,如果票数相同,则取座位号高的角色死亡。并告知所有玩家本轮被投票玩家的player_name。(格式为【重要通知】本轮死亡的玩家为XXX)同时向所有玩家宣布,被投票中的角色会视为立即死亡(即不再视为存活角色)\nstep3. 在宣布死亡玩家后,本阶段流程结束,由后续阶段继续推进游戏\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n##注意##\n1.如果有2个或者两个以上的被玩家被投的票数相同,则取座位号高的玩家死亡。并告知大家原因:票数相同,取座位号高的玩家死亡\n2.在统计票数时,首先确认存活玩家的数量,再先仔细回忆,谁被投了。 最后统计每位玩家被投的次数。 由于每位玩家只有一票,所以被投次数的总和等于存活玩家的数量 \n3.通知完死亡玩家是谁后,本阶段才结束,由后续阶段继续推进游戏。输出 {"action": "taskend"}即可\n4.主持人只有当通知本轮死亡的玩家时,才使用【重要通知】的前缀,其他情况下不要使用【重要通知】前缀\n5.只统计上一轮投票环节的情况\n##example##\n{"thought": "在上一轮中, 存活玩家有 小北,李光,赵鹤,张良 四个人。 其中 小北投了李光, 赵鹤投了小北, 张良投了李光, 李光投了张良。总结被投票数为: 李光:2票; 小北:1票,张良:1票. Check一下,一共有四个人投票了,被投的票是2(李光)+1(小北)+1(张良)=4,总结被投票数没有问题。 因此李光的票最多", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["all"], "content": "李光:2票; 小北:1票,张良:1票 .因此李光的票最多.【重要通知】本轮死亡玩家是李光",}]}\n\n##example##\n{"thought": "在上一轮中, 存活玩家有 小北,人类玩家,赵鹤,张良 四个人。 其中 小北投了人类玩家, 赵鹤投了小北, 张良投了小北, 人类玩家投了张良。总结被投票数为:小北:2票,人类玩家:1票,张良:0票 .Check一下,一共有四个人投票了,被投的票是2(小北)+1(人类玩家)+张良(0)=3,总结被投票数有问题。 更正总结被投票数为:小北:2票,人类玩家:1票,张良:1票。因此小北的票最多", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["all"], "content": "小北:2票,人类玩家:1票,张良:1票 .因此小北的票最多.【重要通知】本轮死亡玩家是小北",}]}\n\n\n', 'name': '统计票数', 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "memory_tag":"all","model_name":"gpt_4","dodisplay":"True"}','updaterule':'{"存活的玩家":""}'}), GNode(id='剧本杀/谁是卧底/智能交互/关键信息_3', type='opsgptkg_task', attributes={'ID': -4800215480474522940, 'accesscriteria': '', 'extra': '{"ignorememory":"True","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913715255', 'executetype': '', 'description': '关键信息', 'name': '关键信息'}), GNode(id='剧本杀/谁是卧底/智能交互/判断游戏是否结束', type='opsgptkg_task', attributes={'ID': -5959590132883379159, 'description': '判断游戏是否结束', 'name': '判断游戏是否结束', 'accesscriteria': '', 'extra': '{"memory_tag": "None","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913728308', 'executetype': ''}), GNode(id='剧本杀/谁是卧底/智能交互/事实_1', type='opsgptkg_phenomenon', attributes={'ID': -525629912140732688, 'description': '是', 'name': '是', 'extra': '', 'teamids': '', 'gdb_timestamp': '1725089138724'}), GNode(id='剧本杀/谁是卧底/智能交互/事实_2', type='opsgptkg_phenomenon', attributes={'ID': 4216433814773851843, 'teamids': '', 'gdb_timestamp': '1725089593085', 'description': '否', 'name': '否', 'extra': ''}), GNode(id='剧本杀/谁是卧底/智能交互/给出每个人的单词以及最终胜利者', type='opsgptkg_task', attributes={'ID': 8878899410716129093, 'extra': '{"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1728913745186', 'executetype': '', 'description': '给出每个人的单词以及最终胜利者', 'name': '给出每个人的单词以及最终胜利者', 'accesscriteria': ''}), - GNode(id='剧本杀/狼人杀/智能交互/判断游戏是否结束', type='opsgptkg_task', attributes={'ID': -2316854558435035646, 'description': '判断游戏是否结束 ', 'name': '判断游戏是否结束 ', 'accesscriteria': '', 'extra': '{"memory_tag": "None"}', 'teamids': '', 'gdb_timestamp': '1725092210244', 'executetype': ''}), - GNode(id='剧本杀/狼人杀/智能交互/事实_2', type='opsgptkg_phenomenon', attributes={'ID': -6298561983042120406, 'extra': '', 'teamids': '', 'gdb_timestamp': '1724816562165', 'description': '否', 'name': '否'}), - GNode(id='剧本杀/狼人杀/智能交互/事实_1', type='opsgptkg_phenomenon', attributes={'ID': 6987562967613654408, 'gdb_timestamp': '1724816495297', 'description': '是', 'name': '是', 'extra': '', 'teamids': ''}), - GNode(id='剧本杀/l狼人杀/智能交互/宣布游戏胜利者', type='opsgptkg_task', attributes={'ID': -758955621725402723, 'extra': '', 'teamids': '', 'gdb_timestamp': '1725097362872', 'executetype': '', 'description': '判断游戏是否结束', 'name': '判断游戏是否结束', 'accesscriteria': ''}), GNode(id='剧本杀', type='opsgptkg_intent', attributes={'ID': -3388526698926684245, 'description': '文本游戏相关(如狼人杀等)', 'name': '剧本杀', 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815537102'})] +new_nodes_2 = new_nodes_2+ \ +[ +GNode(id='剧本杀/狼人杀', type='opsgptkg_intent', attributes={'ID': 5476827419397129797, 'description': '狼人杀', 'name': '狼人杀', 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815561170'}), +GNode(id='剧本杀/狼人杀/智能交互', type='opsgptkg_schedule', attributes={'ID': -5931163481230280444, 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815624907', 'description': '智能交互', 'name': '智能交互', 'enable': 'False', 'envdescription': '{"存活的玩家": "梁军、朱丽、周欣怡、贺子轩、沈强、韩刚、周杰、人类玩家", "剩余毒药的数量": "1", "剩余解药的数量": "1"}'}), +GNode(id='剧本杀/狼人杀/智能交互/狼人杀分配座位', type='opsgptkg_task', attributes={'ID': 2541178858602010284, 'description': '狼人杀分配座位', 'name': '狼人杀分配座位', 'accesscriteria': '', 'extra': '{"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1724849735167', 'executetype': ''}), +GNode(id='剧本杀/狼人杀/智能交互/狼人杀角色分配和单词分配', type='opsgptkg_task', attributes={'ID': -8695604495489305484, 'description': '狼人杀角色分配和单词分配', 'name': '狼人杀角色分配和单词分配', 'accesscriteria': '', 'extra': '{"memory_tag": "None","dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1724849085296', 'executetype': ''}), +GNode(id='剧本杀/狼人杀/智能交互/向玩家通知消息', type='opsgptkg_task', attributes={'ID': -4014299322597660132, 'extra': '{"pattern": "react","dodisplay":"True"}', 'teamids': '', 'action':'react', 'gdb_timestamp': '1725092109310', 'executetype': '', 'description': '##角色##\n你正在参与狼人杀这个游戏,你的角色是[主持人]。你熟悉狼人杀游戏的完整流程,你需要完成[任务],保证狼人杀游戏的顺利进行。\n目前已经完成位置分配和角色分配。\n##任务##\n向所有玩家通知信息他们的座位信息和角色信息。\n发送格式是:你是{player_name}, 你的位置是{位置号}号,你的身份是{角色名}。\n##详细步骤##\nstep1.依次向所有玩家通知信息他们的座位信息和角色信息。发送格式是:你是{player_name}, 你的位置是{位置号}号, 你的身份是{角色名}。\nstpe2.所有玩家信息都发送后,结束。\n##注意##\n1. 每条信息只能发送给对应的玩家,其他人无法看到。\n2. 在将每个人的信息通知到后,本阶段任务结束。3.本环节所有的对话都有主持人发起。\n', 'name': '向玩家通知消息', 'accesscriteria': ''}), +GNode(id='剧本杀/狼人杀/智能交互/狼人时刻_投票', type='opsgptkg_task', attributes={'ID': 8926130661368382825, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131050', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n在狼人杀游戏中,主持人通知当前存活的狼人玩家击杀一位其他存活玩家,所有狼人玩家投票给出击杀目标。\n\n##任务##\n以结构化的语句来模拟进行狼人杀的狼人_投票环节。\n整个流程分为2个步骤:\n1. 存活狼人通知:主持人向所有的狼人玩家广播,告知他们当前存活的狼人玩家有哪些。\n2. 狼人投票:按照座位顺序,每一位存活的狼人明确选择要击杀一位目前存活的玩家。\n\n##example##\n{"thought": "第一晚没有什么有用信息,随机击杀一个除了狼人队友以外的玩家即可。", "action": {"agent_name": "agent_梁军", "player_name": "梁军"}, "observation": [{"memory_tag": ["agent_梁军", "agent_周欣怡", "agent_人类玩家"], "content": "我是3号梁军,我决定今晚击杀2号玩家周杰。"}]}\n\n{"thought": "第一晚没有什么有用信息,随机击杀一个除了狼人队友以外的玩家即可。", "action": {"agent_name": "agent_周欣怡", "player_name": "周欣怡"}, "observation": [{"memory_tag": ["agent_梁军", "agent_周欣怡", "agent_人类玩家"], "content": "我是8号周欣怡,我决定今晚击杀2号玩家周杰。"}]}\n\n##注意##\n1.之前的游戏轮数可能已经投票选中了某位/某些狼人玩家或者被女巫毒死,这些狼人玩家会立即死亡,不再视为存活的狼人玩家, 死亡的狼人玩家不能参与本轮游戏。\n2.你要让所有存活的狼人玩家都参与发言,不能遗漏任何存活的狼人玩家。在本轮所有的狼人玩家只发言一次。\n3.该任务的参与者为主持人和所有存活的狼人玩家,信息可见对象为所有狼人玩家。\n4.不仅要模拟主持人的发言,还需要模拟狼人玩家的发言。\n5.狼人发言不要分析前几轮游戏没有发生过的内容。\n6.每一位存活的狼人玩家均发完言后,主持人宣布狼人时刻_投票环节结束。\n7.不可击杀其他狼人玩家。\n\n该任务的参与者只有狼人玩家和主持人,信息可见对象是所有狼人玩家, 其他角色玩家不可见。', 'name': '狼人时刻_投票'}), +GNode(id='剧本杀/狼人杀/智能交互/狼人时刻_统计票数', type='opsgptkg_task', attributes={'ID': 8926130661368382925, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131051', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n你是一个统计票数大师,你正在参与“狼人杀”这个游戏,你的角色是[主持人]。\n在狼人杀游戏中,主持人通知当前存活的狼人玩家投票给出击杀目标,主持人确定最终结果。\n\n##任务##\nstep1. 主持人感知上一轮投票环节每位狼人玩家的发言,统计投票结果,格式为[{"player_name":票数}]. \nstep2. 然后,主持人宣布死亡的玩家,以最大票数为本轮被投票的目标,如果票数相同,则取座位号高的角色死亡。并告知所有狼人玩家本轮被投票玩家的player_name。(输出格式为【重要通知】本轮死亡的玩家为XXX)同时向所有玩家宣布,被投票中的角色会视为立即死亡(即不再视为存活角色)。\nstep3. 在宣布死亡玩家后,本阶段流程结束,由后续阶段继续推进游戏。\n\n##注意##\n1.如果有2个或者两个以上的被玩家被投的票数相同,则取座位号高的玩家死亡。并告知大家原因:票数相同,取座位号高的玩家死亡。\n2.在统计票数时,首先确认存活玩家的数量,再先仔细回忆,谁被投了。最后统计玩家被投的次数。由于每位存活的狼人玩家只有一票,所以被投次数的总和等于存活狼人玩家的数量。\n3.通知完死亡玩家是谁后,本阶段才结束,由后续阶段继续推进游戏。\n4.主持人只有当通知本轮死亡的玩家时,才使用【重要通知】的前缀,其他情况下不要使用【重要通知】前缀。\n5.只统计上一轮狼人投票环节的情况。\n6.输出格式为“【重要通知】本轮死亡的玩家为XXX”,不要输出票数统计情况([{"player_name":票数}])等其他内容。\n\n##example##\n{"thought": "在上一轮中, 存活的狼人玩家有8号朱丽、6号韩刚、5号人类玩家。其中朱丽投了2号周欣怡,韩刚投了3号梁军,人类玩家也投了2号周欣怡。总结被投票数为:2号周欣怡:2票; 3号梁军:1票. Check一下,一共有三个人投票了,被投的票是2(周欣怡)+1(梁军)=3,总结被投票数没有问题。因此2号周欣怡的票最多。", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"memory_tag":["agent_朱丽","agent_韩刚","agent_人类玩家"], "content": "【重要通知】本轮死亡的玩家为周欣怡"}]}\n\n##example##\n{"thought": "在上一轮中, 存活的狼人玩家有1号朱丽、2号韩刚和6号人类玩家。其中朱丽投了3号周欣怡,韩刚投了7号周杰,人类玩家也投了7号周杰。总结被投票数为:3号周欣怡:1票; 7号周杰:2票. Check一下,一共有三个人投票了,被投的票是1(周欣怡)+2(周杰)=3,总结被投票数没有问题。因此7号周杰的票最多。", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{"memory_tag":["agent_朱丽","agent_韩刚","agent_人类玩家"], "content": "【重要通知】本轮死亡的玩家为周杰"}]}\n\n该任务的参与者为主持人和所有存活的狼人玩家,信息可见对象是所有狼人,其他角色不可见', 'name': '狼人时刻_统计票数', 'updaterule':'{"存活的玩家":""}'}), +GNode(id='剧本杀/狼人杀/智能交互/预言家时刻', type='opsgptkg_task', attributes={'ID': 8926130661368382826, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131051', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n在狼人杀游戏中,主持人询问“预言家”查验哪一位存活玩家的身份,“预言家”挑选自己想要查验的玩家,主持人说明被挑选玩家是“好人”还是“狼人”。\n\n##存活的玩家##\n存活的玩家:#$#存活的玩家#$#\n\n##任务##\n整个流程分为4个步骤:\n1. 主持人判断预言家是否存活,若预言家已经死亡,则直接结束这个阶段。\n2. 主持人询问“预言家”要查验哪一位存活玩家的身份。\n3. “预言家”挑选出一个自己想要查验的玩家,注意每次只能查验一个玩家。\n4. 主持人告知“预言家”被查验玩家的身份属性:若该玩家是狼人,则身份属性为“狼人”;否则,身份属性为“好人”,不能让预言家再次查验。\n\n##注意##\n1. 若预言家已经死亡,则直接结束这个阶段。\n2. 预言家发言后,一定要告知预言家被查验玩家的身份属性,只可告诉预言家被查验玩家是“狼人”还是“好人”,不可透露具体“好人”角色。告知身份属性后,本阶段结束。\n\n##example##\n{"thought": "根据5号韩刚预言家的选择,我需要告诉他8号周杰的身份。", "action": {"agent_name": "主持人", "player_name": ""}, "Dungeon_Master": [{"memory_tag": ["agent_韩刚"], "content": "8号周杰的身份是狼人。"}]}\n\n##example##\n{"thought": "根据8号周杰预言家的选择,我需要告诉他2号周欣怡的身份。", "action": {"agent_name": "主持人", "player_name": ""}, "Dungeon_Master": [{"memory_tag": ["agent_周杰"], "content": "2号欣怡的身份是好人。"}]}\n\n该任务的参与者只有“预言家”和主持人,信息可见对象是“预言家”,其他角色玩家不可见。', 'name': '预言家时刻'}), +GNode(id='剧本杀/狼人杀/智能交互/女巫时刻', type='opsgptkg_task', attributes={'ID': 8926130661368382827, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131053', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n在狼人杀游戏中,主持人告知“女巫”使用身上的药剂,“女巫”明确是否使用药剂以及使用的对象。\n\n##存活的玩家##\n存活的玩家:#$#存活的玩家#$#\n\n##剩余毒药和解药的数量##\n剩余毒药的数量:#$#剩余毒药的数量#$#\n剩余解药的数量:#$#剩余解药的数量#$#\n\n##任务##\n整个流程分为8个步骤:\n1. 若女巫之前已经死亡或者刚被狼人击杀则本阶段结束;否则主持人根据剩余毒药和解药的数量告知“女巫”:当前毒药和解药是否已经使用,询问该轮是否需要使用药剂。\n2. “女巫”根据这两瓶药剂的使用情况,告知主持人自己是否想要使用。\n3. 若“女巫”明确不使用药剂,流程结束;否则,如果“女巫”的解药还未使用,主持人告知“女巫”今晚哪位玩家被狼人击杀了,询问她是否要使用解药;如果“女巫”的解药已使用,进入步骤5。\n4. “女巫”告知主持人是否要使用身上的解药,来复活被狼人击杀的玩家。\n5. 如果“女巫”的毒药还未使用,主持人询问“女巫”是否要使用身上的毒药;否则,若毒药已使用,流程结束。\n6. “女巫”告知主持人:自己是否要使用毒药。\n7. 若“女巫”明确要使用毒药,主持人询问“女巫”要将毒药用在哪位玩家身上,从而击杀该玩家;否则,流程结束。\n8. “女巫”告知主持人:要将毒药用在哪位目前还存活的玩家身上。\n\n##注意##\n1. 若女巫已经死亡,则直接结束这个阶段。\n2. 若女巫仍然存活,一定要严格按照任务中的8个步骤执行。8个步骤顺利执行后,本阶段结束。\n\n该任务的参与者只有“女巫”和主持人,信息可见对象是“女巫”,其他角色玩家不可见。', 'name': '女巫时刻','updaterule':'{"存活的玩家":"", "剩余解药的数量":"", "剩余毒药的数量":""}'}), +# GNode(id='剧本杀/狼人杀/智能交互/猎人时刻_1', type='opsgptkg_task', attributes={'ID': 8926130661368382828, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131054', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n在狼人杀游戏中,“猎人”玩家发现自己被击杀出局,可以选择亮出身份并指定击杀一名玩家。\n\n##任务##\n整个过程如下:\n1. 主持人判断“猎人”是否死亡,如果猎人存活则本轮流程直接结束。\n2. 如果“猎人”死亡,“猎人”玩家考虑是否激活自己的能力,猎人玩家若激活自己的能力,则选择要击杀的玩家,注意只能选择目前存活的玩家。\n\n该任务的参与者只有“猎人”和主持人,信息可见对象是“猎人”,其他角色玩家不可见。', 'name': '猎人时刻_1'}), +GNode(id='剧本杀/狼人杀/智能交互/天亮讨论', type='opsgptkg_task', attributes={'ID': 274796810216558717, 'action':'react','gdb_timestamp': '1725106348469', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##角色##\n你正在参与狼人杀这个游戏,你的角色是[主持人]。你熟悉狼人杀游戏的完整流程,你需要完成[任务],保证狼人杀游戏的顺利进行。\n\n##目前存活的玩家##\n#$#存活的玩家#$#\n\n##任务##\n以结构化的语句来模拟进行狼人杀的讨论环节。在这一个环节里,所有主持人先宣布目前存活的玩家,然后每位玩家按照座位顺序发言。\n\n##详细步骤##\n1. 主持人根据本局游戏历史记录,感知最开始所有的玩家以及在前面轮数中已经被票选死亡的玩家、被狼人杀死、被女巫毒死、被狼人杀死但是被女巫救活了的玩家(该玩家视为存活的玩家)。注意死亡的玩家不能参与本轮游戏。得到当前存活的玩家个数以及其player_name。 并告知所有玩家当前存活的玩家个数以及其player_name。 若一个人先被狼人杀害了,然后被女巫用解药就回了,则该玩家是存活的,即不能宣布该玩家死亡了。\n2. 告诉玩家昨晚发生的情况: 首先告诉玩家天亮了,然后你需要根据过往信息,告诉所有玩家,昨晚是否有玩家死亡。如果有,则向所有人宣布死亡玩家的名字,你只能宣布死亡玩家是谁如:"昨晚xx玩家死了。",或者有多位玩家死亡则宣布"昨晚xx和xx玩家死了。",不要透露任何其他信息,不能透露是被狼人杀死还是被女巫毒死或者救回。如果没有,则宣布昨晚是平安夜。\n3. 确定发言规则并告诉所有玩家:\n确定发言规则步骤如下: \n第一步:所有存活玩家按照座位号从小到大开始发言。\n第二步:告诉所有玩家从第一个发言玩家开始发言,存活的玩家按照发言顺序依次讨论,只讨论一轮,所有人发言完毕后结束。注意不能遗忘指挥任何存活玩家发言!\n4. 依次指定存活玩家依次发言。\n5. 被指定的玩家依次发言,在每一位存活的玩家都发言后,本阶段结束。\n\n##注意##\n1. 你必须根据规则确定第一个发言玩家是谁,然后根据第一个发言玩家的座位号,确定所有人的发言顺序并将具体发言顺序并告知所有玩家,不要做任何多余解释。\n2. 不能透露任何玩家的角色信息。\n3. 你要让所有存活玩家都参与发言,不能遗漏任何存活玩家。所有玩家发言后,本阶段结束。', 'name': '天亮讨论', 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "memory_tag":"all", "dodisplay":"True"}', 'teamids': ''}), +GNode(id='剧本杀/狼人杀/智能交互/票选凶手', type='opsgptkg_task', attributes={'ID': 1492108834523573937, 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react','teamids': '', 'gdb_timestamp': '1725106389716', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##角色##\n你是一个统计票数大师,你正在参与“狼人杀”这个游戏,你的角色是[主持人]。你熟悉“狼人杀”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。 现在是投票阶段。\n\n##目前存活的玩家##\n#$#存活的玩家#$#\n\n##任务##\n以结构化的语句来模拟进行“狼人杀”的投票环节, 也仅仅只模拟投票环节,投票环节结束后就本阶段就停止了,由后续的阶段继续进行游戏。 在这一个环节里,由主持人先告知大家投票规则,然后组织每位存活玩家按照座位顺序发言投票, 所有人投票后,本阶段结束。 \n\n##详细步骤##\n你的任务如下:\nstep1. 向所有玩家通知现在进入了票选环节,在这个环节,每个人都一定要投票指定某一个玩家为狼人。\nstep2. 主持人确定投票顺序并告知所有玩家。 1:投票顺序与讨论环节一致。2: 按座位号依次投票,每个玩家只能对一个玩家进行投票。每个玩家只能投一次票。3:票数最多的玩家会立即死亡。\nstep3. 存活的的玩家按照依次顺序进行投票。\nstep4. 所有存活玩家发言完毕,主持人宣布投票环节结束。\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n\n##example##\n{"thought": "我认为我们应该更加关注那些行为模式突然改变的玩家,比如3号沈强,他的态度从最初的谨慎变得越来越自信,这让我有些怀疑。", "action": {"agent_name": "agent_贺子轩", "player_name": "贺子轩"}, "observation": [{"memory_tag": ["all"], "content": "我投给3号沈强。"}]}\n\n##注意##\n1.之前的游戏轮数可能已经投票选中了某位/某些玩家、被狼人杀死、被女巫毒死的玩家,这些玩家不再视为存活玩家。\n2.你要让所有存活玩家都参与投票,不能遗漏任何存活玩家。在本轮每一位玩家只投票一个人,并且只能投存活玩家。\n3.该任务的参与者为主持人和所有存活的玩家,信息可见对象为所有玩家。\n4.不仅要模拟主持人的发言,还需要模拟玩家的发言\n5.不允许玩家自己投自己,如果出现了这种情况,主持人会提醒玩家重新投票。\n6.若票数相同,则座位号大的死亡,无需重复投票。', 'name': '票选凶手'}), +GNode(id='剧本杀/狼人杀/智能交互/统计票数', type='opsgptkg_task', attributes={'ID': 1492108834523573938, 'accesscriteria': '', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react','teamids': '', 'gdb_timestamp': '1725106389717', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##角色##\n你是一个统计票数大师,你非常擅长计数以及统计信息。你正在参与“狼人杀”这个游戏,你的角色是[主持人]。你熟悉“狼人杀”游戏的完整流程,你需要完成[任务],保证游戏的顺利进行。现在是票数统计阶段\n\n##任务##\n以结构化的语句来模拟进行“狼人杀”的票数统计阶段,也仅仅只票数统计阶段环节,票数统计阶段结束后就本阶段就停止了,由后续的阶段继续进行游戏。在这一个环节里,由主持人根据上一轮存活的玩家投票结果统计票数。 \n\n##详细步骤##\n你的任务如下:\nstep1. 主持人感知上一轮投票环节每位玩家的发言, 统计投票结果,格式为[{"player_name":票数}]. \nstep2 然后,主持人宣布死亡的玩家,以最大票数为本轮被投票的目标,如果票数相同,则取座位号高的角色死亡。并告知所有玩家本轮被投票玩家的player_name。(格式为【重要通知】本轮死亡的玩家为XXX)同时向所有玩家宣布,被投票中的角色会视为立即死亡(即不再视为存活角色)。\nstep3. 在宣布死亡玩家后,本阶段流程结束,由后续阶段继续推进游戏。\n该任务的参与者为主持人和所有存活的玩家,信息可见对象是所有玩家。\n\n##注意##\n1.如果有2个或者两个以上的被玩家被投的票数相同,则取座位号高的玩家死亡。并告知大家原因:票数相同,取座位号高的玩家死亡\n2.在统计票数时,首先确认存活玩家的数量,再先仔细回忆,谁被投了。最后统计每位玩家被投的次数。由于每位玩家只有一票,所以被投次数的总和等于存活玩家的数量 \n3.通知完死亡玩家是谁后,本阶段才结束,由后续阶段继续推进游戏。\n4.主持人只有当通知本轮死亡的玩家时,才使用【重要通知】的前缀,其他情况下不要使用【重要通知】前缀\n5.只统计上一轮投票环节的情况\n\n##example##\n{"thought": "根据上一轮发言,7号、1号、2号、3号投票给4号周欣怡,而5号和8号投票给7号梁军。", "action": {"agent_name": "主持人", "player_name": ""}, "Dungeon_Master": [{"memory_tag": ["all"], "content": "【重要通知】经过整理,投票结果如下:4号周欣怡:4票;7号梁军:2票。因此周欣怡的票最多。本轮死亡玩家是4号周欣怡。"}]}', 'name': '统计票数','updaterule':'{"存活的玩家":""}'}), +# GNode(id='剧本杀/狼人杀/智能交互/猎人时刻_2', type='opsgptkg_task', attributes={'ID': 8926130661368382829, 'accesscriteria': 'OR', 'extra': '{"pattern": "react", "endcheck": "True", "dodisplay":"True"}', 'action':'react', 'teamids': '', 'gdb_timestamp': '1725092131055', 'executetype': '', 'description': '##以上为本局游戏历史记录##\n\n##背景##\n在狼人杀游戏中,“猎人”玩家发现自己被投票出局,可以选择亮出身份并指定击杀一名玩家。\n\n##任务##\n整个过程如下:\n1. 主持人判断“猎人”是否死亡,如果猎人存活则本轮流程直接结束。\n2. 主持人判断“猎人”是否是刚被投票出局的,若之前已经死亡,则本轮流程直接结束。\n3. 如果“猎人”死亡,“猎人”玩家考虑是否激活自己的能力,“猎人”玩家若激活自己的能力,则选择要击杀的玩家,注意只能选择目前存活的玩家。\n4. 主持人告知所有玩家:被“猎人”击杀的玩家死亡。(输出格式为【重要通知】本轮猎人击杀的玩家为XXX)同时向所有玩家宣布,被投票中的角色会视为立即死亡(即不再视为存活角色)。\n5. 在宣布死亡玩家后,本阶段流程结束,由后续阶段继续推进游戏。\n\n##注意##\n1.通知完死亡玩家是谁后,本阶段才结束,由后续阶段继续推进游戏。在下一轮输出 {"action": "taskend"}即可。\n2.主持人只有当通知本轮死亡的玩家时,才使用【重要通知】的前缀,其他情况下不要使用【重要通知】前缀。\n\n##example##\n{"thought": "根据周杰的选择,他决定使用猎人的能力,并击杀1号贺子轩。现在需要告知所有玩家这一结果,并继续游戏。", "action": {"agent_name": "主持人", "player_name": ""}, "Dungeon_Master": [{"memory_tag": ["all"], "content": "【重要通知】本轮猎人击杀的玩家为1号贺子轩。"}]}\n\n该任务的参与者只有“猎人”和主持人,信息可见对象是“猎人”,其他角色玩家不可见。', 'name': '猎人时刻_2'}), +GNode(id='剧本杀/狼人杀/智能交互/狼人杀判断游戏是否结束', type='opsgptkg_task', attributes={'ID': -2316854558435035646, 'description': '狼人杀判断游戏是否结束', 'name': '狼人杀判断游戏是否结束', 'accesscriteria': '', 'extra': '{"memory_tag": "None"}', 'teamids': '', 'gdb_timestamp': '1725092210244', 'executetype': ''}), +GNode(id='剧本杀/狼人杀/智能交互/事实_2', type='opsgptkg_phenomenon', attributes={'ID': -6298561983042120406, 'extra': '', 'teamids': '', 'gdb_timestamp': '1724816562165', 'description': '否', 'name': '否'}), +GNode(id='剧本杀/狼人杀/智能交互/事实_1', type='opsgptkg_phenomenon', attributes={'ID': 6987562967613654408, 'gdb_timestamp': '1724816495297', 'description': '是', 'name': '是', 'extra': '', 'teamids': ''}), +GNode(id='剧本杀/狼人杀/智能交互/狼人杀给出每个人的单词以及最终胜利者', type='opsgptkg_task', attributes={'ID': -758955621725402723, 'extra': '{"dodisplay":"True"}', 'teamids': '', 'gdb_timestamp': '1725097362872', 'executetype': '', 'description': '狼人杀给出每个人的单词以及最终胜利者', 'name': '狼人杀给出每个人的单词以及最终胜利者', 'accesscriteria': ''}), +GNode(id='剧本杀', type='opsgptkg_intent', attributes={'ID': -3388526698926684245, 'description': '文本游戏相关(如狼人杀等)', 'name': '剧本杀', 'extra': '', 'teamids': '', 'gdb_timestamp': '1724815537102'}) +] new_edges_2 = \ [GEdge(start_id='剧本杀', end_id='剧本杀/谁是卧底', type='opsgptkg_intent_route_opsgptkg_intent', attributes={'SRCID': -3388526698926684245, 'DSTID': -5201231166222141228, 'gdb_timestamp': '1725088433347', 'extra': ''}), @@ -166,15 +176,18 @@ def hash_id(nodeId, sessionId='', otherstr = None): GEdge(start_id='剧本杀/谁是卧底', end_id='剧本杀/谁是卧底/智能交互', type='opsgptkg_intent_route_opsgptkg_schedule', attributes={'SRCID': -5201231166222141228, 'DSTID': 603563742932974030, 'gdb_timestamp': '1725088478251', 'extra': ''}), GEdge(start_id='剧本杀/狼人杀', end_id='剧本杀/狼人杀/智能交互', type='opsgptkg_intent_route_opsgptkg_schedule', attributes={'SRCID': 5476827419397129797, 'DSTID': -5931163481230280444, 'gdb_timestamp': '1724815633494', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互', end_id='剧本杀/谁是卧底/智能交互/分配座位', type='opsgptkg_schedule_route_opsgptkg_task', attributes={'SRCID': 603563742932974030, 'DSTID': 2011080219630105469, 'gdb_timestamp': '1725088659469', 'extra': ''}), - GEdge(start_id='剧本杀/狼人杀/智能交互', end_id='剧本杀/狼人杀/智能交互/位置选择', type='opsgptkg_schedule_route_opsgptkg_task', attributes={'SRCID': -5931163481230280444, 'DSTID': 2541178858602010284, 'gdb_timestamp': '1724815720186', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互', end_id='剧本杀/狼人杀/智能交互/狼人杀分配座位', type='opsgptkg_schedule_route_opsgptkg_task', attributes={'SRCID': -5931163481230280444, 'DSTID': 2541178858602010284, 'gdb_timestamp': '1724815720186', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互/分配座位', end_id='剧本杀/谁是卧底/智能交互/角色分配和单词分配', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 2011080219630105469, 'DSTID': -1817533533893637377, 'gdb_timestamp': '1725088761379', 'extra': ''}), - GEdge(start_id='剧本杀/狼人杀/智能交互/位置选择', end_id='剧本杀/狼人杀/智能交互/角色选择', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 2541178858602010284, 'DSTID': -8695604495489305484, 'extra': '', 'gdb_timestamp': '1724815828424'}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人杀分配座位', end_id='剧本杀/狼人杀/智能交互/狼人杀角色分配和单词分配', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 2541178858602010284, 'DSTID': -8695604495489305484, 'extra': '', 'gdb_timestamp': '1724815828424'}), GEdge(start_id='剧本杀/谁是卧底/智能交互/角色分配和单词分配', end_id='剧本杀/谁是卧底/智能交互/通知身份', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -1817533533893637377, 'DSTID': 8901447933395410622, 'gdb_timestamp': '1725088813780', 'extra': ''}), - GEdge(start_id='剧本杀/狼人杀/智能交互/角色选择', end_id='剧本杀/狼人杀/智能交互/向玩家通知消息', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -8695604495489305484, 'DSTID': -4014299322597660132, 'gdb_timestamp': '1724815943792', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人杀角色分配和单词分配', end_id='剧本杀/狼人杀/智能交互/向玩家通知消息', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -8695604495489305484, 'DSTID': -4014299322597660132, 'gdb_timestamp': '1724815943792', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互/通知身份', end_id='剧本杀/谁是卧底/智能交互/关键信息_1', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8901447933395410622, 'DSTID': 3196717310525578616, 'extra': '', 'gdb_timestamp': '1725364881808'}), - GEdge(start_id='剧本杀/狼人杀/智能交互/向玩家通知消息', end_id='剧本杀/狼人杀/智能交互/狼人时刻', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -4014299322597660132, 'DSTID': 8926130661368382825, 'gdb_timestamp': '1724815952503', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/向玩家通知消息', end_id='剧本杀/狼人杀/智能交互/狼人时刻_投票', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -4014299322597660132, 'DSTID': 8926130661368382825, 'gdb_timestamp': '1724815952503', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互/关键信息_1', end_id='剧本杀/谁是卧底/智能交互/开始新一轮的讨论', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 3196717310525578616, 'DSTID': -6077057339616293423, 'extra': '', 'gdb_timestamp': '1725364891197'}), - GEdge(start_id='剧本杀/狼人杀/智能交互/狼人时刻', end_id='剧本杀/狼人杀/智能交互/天亮讨论', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8926130661368382825, 'DSTID': 274796810216558717, 'gdb_timestamp': '1724911515908', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人时刻_投票', end_id='剧本杀/狼人杀/智能交互/狼人时刻_统计票数', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8926130661368382825, 'DSTID': 8926130661368382925, 'gdb_timestamp': '1724911515907', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人时刻_统计票数', end_id='剧本杀/狼人杀/智能交互/预言家时刻', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8926130661368382925, 'DSTID': 8926130661368382826, 'gdb_timestamp': '1724911515908', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/预言家时刻', end_id='剧本杀/狼人杀/智能交互/女巫时刻', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8926130661368382826, 'DSTID': 8926130661368382827, 'gdb_timestamp': '1724911515909', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/女巫时刻', end_id='剧本杀/狼人杀/智能交互/天亮讨论', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 8926130661368382827, 'DSTID': 274796810216558717, 'gdb_timestamp': '1724911515911', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互/开始新一轮的讨论', end_id='剧本杀/谁是卧底/智能交互/关键信息_2', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -6077057339616293423, 'DSTID': -8309123437761850283, 'extra': '', 'gdb_timestamp': '1725364966817'}), GEdge(start_id='剧本杀/狼人杀/智能交互/天亮讨论', end_id='剧本杀/狼人杀/智能交互/票选凶手', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 274796810216558717, 'DSTID': 1492108834523573937, 'extra': '', 'gdb_timestamp': '1724816423574'}), GEdge(start_id='剧本杀/谁是卧底/智能交互/关键信息_2', end_id='剧本杀/谁是卧底/智能交互/票选卧底_1', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': -8309123437761850283, 'DSTID': 267468674566989196, 'gdb_timestamp': '1725507894066', 'extra': ''}), @@ -186,11 +199,12 @@ def hash_id(nodeId, sessionId='', otherstr = None): GEdge(start_id='剧本杀/谁是卧底/智能交互/判断游戏是否结束', end_id='剧本杀/谁是卧底/智能交互/事实_2', type='opsgptkg_task_route_opsgptkg_phenomenon', attributes={'SRCID': -5959590132883379159, 'DSTID': 4216433814773851843, 'extra': '', 'gdb_timestamp': '1725089603500'}), GEdge(start_id='剧本杀/谁是卧底/智能交互/事实_1', end_id='剧本杀/谁是卧底/智能交互/给出每个人的单词以及最终胜利者', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': -525629912140732688, 'DSTID': 8878899410716129093, 'gdb_timestamp': '1725089654391', 'extra': ''}), GEdge(start_id='剧本杀/谁是卧底/智能交互/事实_2', end_id='剧本杀/谁是卧底/智能交互/开始新一轮的讨论', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': 4216433814773851843, 'DSTID': -6077057339616293423, 'extra': '', 'gdb_timestamp': '1725089612866'}), - GEdge(start_id='剧本杀/狼人杀/智能交互/票选凶手', end_id='剧本杀/狼人杀/智能交互/判断游戏是否结束', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 1492108834523573937, 'DSTID': -2316854558435035646, 'extra': '', 'gdb_timestamp': '1724816464917'}), - GEdge(start_id='剧本杀/狼人杀/智能交互/判断游戏是否结束', end_id='剧本杀/狼人杀/智能交互/事实_2', type='opsgptkg_task_route_opsgptkg_phenomenon', attributes={'SRCID': -2316854558435035646, 'DSTID': -6298561983042120406, 'gdb_timestamp': '1724816570641', 'extra': ''}), - GEdge(start_id='剧本杀/狼人杀/智能交互/判断游戏是否结束', end_id='剧本杀/狼人杀/智能交互/事实_1', type='opsgptkg_task_route_opsgptkg_phenomenon', attributes={'SRCID': -2316854558435035646, 'DSTID': 6987562967613654408, 'gdb_timestamp': '1724816506031', 'extra': ''}), - GEdge(start_id='剧本杀/狼人杀/智能交互/事实_2', end_id='剧本杀/狼人杀/智能交互/狼人时刻', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': -6298561983042120406, 'DSTID': 8926130661368382825, 'extra': '', 'gdb_timestamp': '1724816585403'}), - GEdge(start_id='剧本杀/狼人杀/智能交互/事实_1', end_id='剧本杀/l狼人杀/智能交互/宣布游戏胜利者', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': 6987562967613654408, 'DSTID': -758955621725402723, 'gdb_timestamp': '1724911404270', 'extra': ''})] + GEdge(start_id='剧本杀/狼人杀/智能交互/票选凶手', end_id='剧本杀/狼人杀/智能交互/统计票数', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 1492108834523573937, 'DSTID': 8926130661368382838, 'extra': '', 'gdb_timestamp': '1724816464915'}), + GEdge(start_id='剧本杀/狼人杀/智能交互/统计票数', end_id='剧本杀/狼人杀/智能交互/狼人杀判断游戏是否结束', type='opsgptkg_task_route_opsgptkg_task', attributes={'SRCID': 1492108834523573938, 'DSTID': -2316854558435035646, 'extra': '', 'gdb_timestamp': '1724816464917'}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人杀判断游戏是否结束', end_id='剧本杀/狼人杀/智能交互/事实_2', type='opsgptkg_task_route_opsgptkg_phenomenon', attributes={'SRCID': -2316854558435035646, 'DSTID': -6298561983042120406, 'gdb_timestamp': '1724816570641', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/狼人杀判断游戏是否结束', end_id='剧本杀/狼人杀/智能交互/事实_1', type='opsgptkg_task_route_opsgptkg_phenomenon', attributes={'SRCID': -2316854558435035646, 'DSTID': 6987562967613654408, 'gdb_timestamp': '1724816506031', 'extra': ''}), + GEdge(start_id='剧本杀/狼人杀/智能交互/事实_2', end_id='剧本杀/狼人杀/智能交互/狼人时刻_投票', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': -6298561983042120406, 'DSTID': 8926130661368382825, 'extra': '', 'gdb_timestamp': '1724816585403'}), + GEdge(start_id='剧本杀/狼人杀/智能交互/事实_1', end_id='剧本杀/狼人杀/智能交互/狼人杀给出每个人的单词以及最终胜利者', type='opsgptkg_phenomenon_route_opsgptkg_task', attributes={'SRCID': 6987562967613654408, 'DSTID': -758955621725402723, 'gdb_timestamp': '1724911404270', 'extra': ''})] new_edges_3 = [GEdge(start_id='ekg_team_default', end_id='剧本杀', type='opsgptkg_intent_route_opsgptkg_intent', attributes={'SRCID': 9015207174144, 'DSTID': -3388526698926684245, 'gdb_timestamp': '1724816506031', 'extra': ''})] diff --git a/muagent/connector/memory_manager.py b/muagent/connector/memory_manager.py index 5c5bcd0..e536466 100644 --- a/muagent/connector/memory_manager.py +++ b/muagent/connector/memory_manager.py @@ -5,6 +5,7 @@ from collections import Counter from loguru import logger import numpy as np +import logging from langchain_community.docstore.document import Document @@ -877,7 +878,7 @@ def get_msg_by_role_name(self, chat_index: str, role_name: str) -> Optional[Mess return msg return None - def get_msg_content_by_role_name(self, chat_index: str, role_name: str) -> Optional[str]: + def get_msg_content_by_rule_name(self, chat_index: str, role_name: str) -> Optional[str]: message = self.get_msg_by_role_name(chat_index, role_name) if message == None: return None @@ -889,16 +890,33 @@ def update_msg_content_by_rule(self, chat_index: str, role_name: str, new_conten if message == None: return False - - prompt = f"{new_content}\n{role_name}:{message.role_content}\n{update_rule}" - + if update_rule == '': + prompt = '任务:请根据游戏内容,更新变量,变量名为:' + role_name + ',变量更新前的内容为:' + message.role_content + '。本节点游戏记录:' + new_content + '。请根据游戏内容,输出更新后的变量内容,不要包含其他信息,不要重复变量名,只输出变量更新后的内容即可。。' + else: + prompt = '任务:请根据游戏内容,更新变量,变量名为:' + role_name + ',变量更新前的内容为:' + message.role_content + '。本节点游戏记录:' + new_content + '。变量更新规则为:' + update_rule + '。请根据游戏内容和变量更新规则,输出更新后的变量内容,不要包含其他信息,不要重复变量名,只输出变量更新后的内容即可。' + logging.info(f'变量更新的prompt:{prompt}') model = getChatModelFromConfig(self.llm_config) new_role_content = model.predict(prompt) - + logging.info(f'变量更新的输出结果:{new_role_content}') if new_role_content is not None: message.role_content = new_role_content self.append(message) + logging.info(f'输出结果:{self.get_msg_content_by_rule_name(chat_index, role_name)}') + + return True + else: + return False + + def update_global_msg_content(self, chat_index: str, role_name: str, new_content: str) -> bool: + message = self.get_msg_by_role_name(chat_index, role_name) + print(f' message if {message}') + if message == None: + return False + + if new_content is not None: + message.role_content = new_content + self.append(message) return True else: return False \ No newline at end of file diff --git a/muagent/db_handler/graph_db_handler/nebula_handler.py b/muagent/db_handler/graph_db_handler/nebula_handler.py index cdbd825..9d94180 100644 --- a/muagent/db_handler/graph_db_handler/nebula_handler.py +++ b/muagent/db_handler/graph_db_handler/nebula_handler.py @@ -63,11 +63,13 @@ def __init__(self,gb_config : GBConfig = None): self.nb_pw = '' or 'nebula' self.space_name = "client" else: + logger.info('NebulaGraph容器启动中,请等待') if self.nebula_started(gb_config): self.connection_pool.init([(gb_config.extra_kwargs.get("host"), gb_config.extra_kwargs.get("port"))], config) + self.username = gb_config.extra_kwargs.get("username") self.nb_pw = gb_config.extra_kwargs.get("password") self.space_name = gb_config.extra_kwargs.get("space") @@ -317,16 +319,7 @@ def add_node(self, node: GNode) -> GbaseExecStatus: if prop_name in {'extra', 'description', 'envdescription','updaterule'}: # 转义换行符和双引号 value = value.replace("\n", "\\n").replace("\"", "\\\"") - cypher += f'"{value}",' - elif prop_name == 'description': - value = value.replace("\n", "\\n").replace("\"", "\\\"") - cypher += f'"{value}",' - elif prop_name == 'envdescription': - value = value.replace("\n", "\\n").replace("\"", "\\\"") - cypher += f'"{value}",' - else: - cypher += f'"{value}",' - #cypher += f'"{value}",' + cypher += f'"{value}",' else: cypher += f'{value},' cypher = cypher.rstrip(',') diff --git a/muagent/schemas/ekg/ekg_reason.py b/muagent/schemas/ekg/ekg_reason.py new file mode 100644 index 0000000..11af385 --- /dev/null +++ b/muagent/schemas/ekg/ekg_reason.py @@ -0,0 +1,324 @@ +from pydantic import BaseModel, Field +from typing import List, Dict, Optional, Union +from enum import Enum +import copy +import json + + + + +##################################################################### +############################ LingSiResponse ############################# +##################################################################### +class LingSiResponse(BaseModel): + ''' + lingsi的输出值, 算法的输入值 + ''' + currentNodeId: Optional[str]=None + observation: Optional[Union[str,Dict]] # jsonstr + scene: str + sessionId: str + startRootNodeId: Optional[str] = None + intentionRule: Optional[Union[List,str] ]= None + intentionData: Optional[Union[List,str] ] = None + startFromRoot: Optional[str] = None + type: Optional[str] = None + userAnswer: Optional[str]=None + agentName:Optional[str]=None + usingRootNode:Optional[bool]=False + + + + + + + +##################################################################### +############################ #定义PlanningRunning 和 parallel 模式下大模型返回格式 ############################# +##################################################################### + +class ActionOneStep(BaseModel): + ''' + 指定下一步的动作由哪一个agent / player 完成 + example {"player_name":str, "agent_name":str} + ''' + agent_name: str + player_name:str + +class ActionPlan(BaseModel): + ''' + 指定后续的动作由哪些agent / player 完成 + + [{"player_name":str, "agent_name":str}, {"player_name":str, "agent_name":str}, ... ] + ''' + data: List[ActionOneStep] + def get_player_name_by_agent_name(self, agent_name:str)->str: + ''' + 根据agent_name 返回 player_name + + ''' + for i in range(len(self.data)): + if self.data[i].agent_name == agent_name: + return self.data[i].player_name + return None #没找到合适的匹配 + + + + +class ObservationItem(BaseModel): + ''' + 假设 agent 说话时返回的数据格式,除了content外,还有memory_tag, 指定这个信息有谁可见 + ''' + memory_tag: List[str] + content: str + + + + + +class PlanningRunningAgentReply(BaseModel): + ''' + 示例数据 + sss = { + "thought": "思考内容", + "action_plan": [ + {"player_name": "player1", "agent_name": "agent1"}, + {"player_name": "player2", "agent_name": "agent2"} + ], + "Dungeon_Master": [ + {"memory_tag": ["agent_name_a", "agent_name_b"], "content": "DM 内容1"}, + {"memory_tag": ["agent_name_c"], "content": "DM 内容2"} + ] + } + ''' + thought: str = "None" + action_plan: ActionPlan=[] + observation: List[ObservationItem]=[] + + def __init__(self, **kwargs): + # 处理 action_plan + action_steps = [ActionOneStep(**step) for step in kwargs.get('action_plan', [])] + action_plan = ActionPlan(data=action_steps) + + # 处理 observation + observations = [ObservationItem(**item) for item in kwargs.get('Dungeon_Master', [])] + + # 调用父类的初始化方法 + super().__init__( + thought=kwargs.get('thought', "None"), + action_plan=action_plan, + observation=observations + ) + + + +##################################################################### +############################ #定义输出plan格式 ############################# +##################################################################### + +class QuestionContent(BaseModel): + ''' + {'question': '请玩家根据当前情况发言', 'candidate': None } + ''' + question:str + candidate:Optional[str]=None + +class QuestionDescription(BaseModel): + ''' + {'questionType': 'essayQuestion', + 'questionContent': {'question': '请玩家根据当前情况发言','candidate': None }} + ''' + questionType:str + questionContent:QuestionContent + +class ToolPlanOneStep(BaseModel): + ''' + tool_plan_one_step = {'toolDescription': '请用户回答', + 'currentNodeId': nodeId, + 'memory': None, + 'type': 'userProblem', + 'questionDescription': {'questionType': 'essayQuestion', + 'questionContent': {'question': '请玩家根据当前情况发言', + 'candidate': None }}} + ''' + toolDescription:str + currentNodeId: Optional[str] = None + currentNodeInfo:Optional[str] = None + memory:Optional[str] = None + type:str + questionDescription:Optional[QuestionDescription]=None + +##################################################################### +############################ ResToLingsi ############################# +##################################################################### +class ResToLingsi(BaseModel): + ''' + lingsi的输入值, 算法的输出值 + +{'intentionRecognitionSituation': 'None', + 'sessionId': 'c122401123504af09dbf80f94be0854d', + 'type': 'onlyTool', + 'summary': None, + 'toolPlan': [{'toolDescription': 'agent_李静', + 'currentNodeId': '26921eb05153216c5a1f585f9d318c77%%@@#agent_李静', + 'currentNodeInfo': 'agent_李静', + 'memory': '["{\\"content\\": \\"开始玩谁是卧底的游戏\\"}", "分配座位", "\\n\\n| 座位 | 玩家 |\\n|---|---|\\n| 1 | **李静** |\\n| 2 | **张伟** |\\n| 3 | **人类玩家** |\\n| 4 | **王鹏** |", "通知身份", "主持人 : 【身份通知】你是李静, 你的位置是1号, 你分配的单词是包子", "开始新一轮的讨论", "主持人 : 各位玩家请注意,现在所有玩家均存活,我们将按照座位顺序进行发言。发言顺序为1号李静、2号张伟、3号人类玩家、4号王鹏。现在,请1号李静开始发言。"]', + 'type': 'reactExecution', + 'questionDescription': None}], + 'userInteraction': '开始新一轮的讨论

**主持人:**
各位玩家请注意,现在所有玩家均存活,我们将按照座位顺序进行发言。发言顺序为1号李静、2号张伟、3号人类玩家、4号王鹏。现在,请1号李静开始发言。'} + + ''' + intentionRecognitionSituation: Optional[str]=None + sessionId: str + type: Optional[str] = None + summary:Optional[str] = None + toolPlan:Optional[List[ToolPlanOneStep]] = None + userInteraction:Optional[str]=None + +if __name__ == '__main__': + # response_data = LingSiResponse( + # currentNodeId="node_1", + # observation='{"key": "value"}', + # scene="example_scene", + # sessionId="session_123", + # startRootNodeId="root_node_1", + # type="example_type", + # userAnswer="user_answer_example" + + # ) + + # print( response_data.type ) + # 示例数据 + # sss = { + # "thought": "思考内容", + # "action_plan": [ + # {"player_name": "player1", "agent_name": "agent1"}, + # {"player_name": "player2", "agent_name": "agent2"} + # ], + # "Dungeon_Master": [ + # {"memory_tag": ["agent_name_a", "agent_name_b"], "content": "DM 内容1"}, + # {"memory_tag": ["agent_name_c"], "content": "DM 内容2"} + # ] + # } + + # # 直接使用 sss 创建 PlanningRunningAgentReply 对象 + # reply = PlanningRunningAgentReply(**sss) + + + # #测试ToolPlanOneStep + # # 定义 Sss + # nodeId = 'somenodeid' + # Sss = { + # 'toolDescription': '请用户回答', + # 'currentNodeId': nodeId, + # 'memory': None, + # 'type': 'userProblem', + # 'questionDescription': { + # 'questionType': 'essayQuestion', + # 'questionContent': { + # 'question': '请玩家根据当前情况发言', + # 'candidate': None + # } + # } + # } + + # # 将 Sss 转换为 ToolPlanOneStep 对象 + # tool_plan_one_step = ToolPlanOneStep(**Sss) + + + ###测试 LingSiResponse + sessionId = '349579720439752097847_25' + #谁是卧底 通用 + params_string = \ + { + + "scene": "NEXA", + "startRootNodeId": '4bf08f20487bfb3d34048ddf455bf5dd', #hash_id('剧本杀' ), + "intentionRule": ["nlp"], + "intentionData": "执行谁是卧底进程", + "observation": "{\"content\":\"开始游戏\"}", + "sessionId": sessionId + } + + lingsi_response = LingSiResponse(**params_string) + print(lingsi_response) + + + + # ###测试 LingSiResponse + # nodeId = 's' + # execute_agent_name = 'n' + + # tool_one_step= ToolPlanOneStep( + # **{'toolDescription': '请用户回答', + # 'currentNodeId': nodeId + '%%@@#' + execute_agent_name, + # 'currentNodeInfo':execute_agent_name, + # 'memory': None, + # 'type': 'userProblem', + # 'questionDescription': {'questionType': 'essayQuestion', + # 'questionContent': {'question': '请玩家根据当前情况发言', + # 'candidate': None }}} + # ) + # print(tool_one_step) + + + + ###测试 ActionPlan + + + + # ccc = {'data': [{'agent_name': 'agent_2', 'player_name': 'player_1'}, + # {'agent_name': '人类agent_a', 'player_name': '李四(人类玩家)'}, + # {'agent_name': 'agent_3', 'player_name': 'player_2'}, + # {'agent_name': 'agent_1', 'player_name': 'player_3'}]} + + # ccc = [{"player_name": "主持人", "agent_name": "主持人"}, + # {"player_name": "player_1", "agent_name": "agent_2"}, + # {"player_name": "李四(人类玩家)", "agent_name": "人类agent_a"}, + # {"player_name": "player_2", "agent_name": "agent_3"}, + # {"player_name": "player_3", "agent_name": "agent_1"}] + # ccc = {'data':ccc} + + # action_plan =ActionPlan(**ccc) + # print(action_plan) + + # agent_name= action_plan.get_player_name_by_agent_name('人类agent_a') + # print(agent_name) + + + ###测试 ResToLingsi ### + nodeId = 'somenodeid' + # sss = { + # 'toolDescription': '请用户回答', + # 'currentNodeId': nodeId, + # 'memory': None, + # 'type': 'userProblem', + # 'questionDescription': { + # 'questionType': 'essayQuestion', + # 'questionContent': { + # 'question': '请玩家根据当前情况发言', + # 'candidate': None + # } + # } + # } + # sss = { + # "toolDescription": "toolDescriptionA", + # "currentNodeId": "INT_1", + # "memory": '', + # "type":"onlyTool", + # } + # # 将 Sss 转换为 ToolPlanOneStep 对象 + # tool_plan_one_step = ToolPlanOneStep(**sss) + # bbb = {'intentionRecognitionSituation': 'None', + # 'sessionId': 'c122401123504af09dbf80f94be0854d', + # 'type': 'onlyTool', + # 'summary': None, + # 'toolPlan': [tool_plan_one_step], + # 'userInteraction': '开始新一轮的讨论

**主持人:**
各位玩家请注意,现在所有玩家均存活,我们将按照座位顺序进行发言。发言顺序为1号李静、2号张伟、3号人类玩家、4号王鹏。现在,请1号李静开始发言。'} + + # ResToLingsi_one = ResToLingsi(**bbb) + # print(ResToLingsi_one.dict()) + + + + \ No newline at end of file diff --git a/muagent/service/ekg_reasoning/src/geabase_handler/geabase_handlerplus.py b/muagent/service/ekg_reasoning/src/geabase_handler/geabase_handlerplus.py index 68c9000..2edcc68 100644 --- a/muagent/service/ekg_reasoning/src/geabase_handler/geabase_handlerplus.py +++ b/muagent/service/ekg_reasoning/src/geabase_handler/geabase_handlerplus.py @@ -7,6 +7,7 @@ #路径增加 import sys import os +from typing import List, Dict, Optional, Union src_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ) @@ -63,14 +64,14 @@ def geabase_is_react_node(self, start_nodeid, start_nodetype): extra = json.loads(extra) if 'pattern' in extra.keys(): - if extra['pattern'] == 'one-tool': + if extra['pattern'] == 'one-tool' or extra['pattern'] == 'single': return False - elif extra['pattern'] == 'react': + elif extra['pattern'] == 'react' or extra['pattern'] == 'parallel' or extra['pattern'] == 'plan': return True else: return False - else: #默认为 one-tool + else: #默认为 single return False @@ -95,6 +96,76 @@ def geabase_search_return_all_nodeandedge_(self, start_nodeid = 'None', for i in range(len(t.edges)): edge_in_subtree.append({ "startNodeId": t.edges[i].start_id, "endNodeId": t.edges[i].end_id }) return nodeid_in_subtree, edge_in_subtree + + + def geabase_search_reture_nodeslist(self, start_nodeid:str,start_nodetype:str, block_search_nodetype:List=[] ): + + ''' + #返回start_nodeid后续子树上的所有节点id , start_nodeid 是一个意图节点的末端节点, 可以设置停止探索的类型,比如 + #block_search_nodetype = ['opsgptkg_schedule', 'opsgptkg_task'] 时,代表这两种类型的节点不往后继续探索 + #同时返回边 + + 不直接使用 get_hop_infos + + 一个意图节点(非叶子意图节点)下可能有多个叶子节点,每个叶子节点也可能有多个意图节点。 在并行的时候,需要将某个意图节点单独成一个 nodeid_in_subtree + 如果直接调用 geabase_search_return_all_nodeandedge ,会把某个节点下所有的内容全放到一个list里 + ''' + + nodeid_in_subtree = [{'nodeId':start_nodeid, 'nodeType':start_nodetype, 'nodeDescription':None, 'nodeName':None}] + edge_in_subtree = [] + nodeid_in_search = [{'nodeId':start_nodeid, 'nodeType':start_nodetype}] + count = 0 + + reslist = [] + + + while len(nodeid_in_search)!= 0: + # print(f'count is {count}') + nodedict_now = nodeid_in_search.pop() + nodeid_now = nodedict_now['nodeId'] + nodetype_now = nodedict_now['nodeType'] + + + neighborNodes = self.geabase_handler.get_neighbor_nodes(attributes= {"id": nodeid_now,} + , node_type= nodetype_now ) + + for i in range(len(neighborNodes)): + + nodeid_new = neighborNodes[i].id + nodetype_new = neighborNodes[i].type + nodedescription_new = neighborNodes[i].attributes['description'] + nodename_new = neighborNodes[i].attributes['name'] + if nodetype_new in block_search_nodetype: #遇到阻塞的节点类型就终止, 不继续探索,也不纳入到结果中 + continue + if nodetype_new == 'opsgptkg_schedule': + + one_subtree, _ = self.geabase_search_return_all_nodeandedge(start_nodeid = nodeid_new, + start_nodetype = nodetype_new, block_search_nodetype = []) + + one_subtree.append({'nodeId':nodeid_now, 'nodeType':nodetype_now, 'nodeDescription':None, 'nodeName':None}) + reslist.append(one_subtree) + + + if { "startNodeId": nodeid_now, "endNodeId": nodeid_new } not in edge_in_subtree:#避免重复导入相同的元素 + nodeid_in_subtree.append({'nodeId':nodeid_new, 'nodeType':nodetype_new, + 'nodeDescription':nodedescription_new, + 'nodeName':nodename_new}) + edge_in_subtree.append({ "startNodeId": nodeid_now, "endNodeId": nodeid_new }) + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + else: + continue + count = count +1 + + #去重复 + unique_set = set(tuple(sorted(d.items())) for d in nodeid_in_subtree) + # 将去重后的元组转换回字典形式,得到去重后的list + nodeid_in_subtree = [dict(t) for t in unique_set] + + unique_set = set(tuple(sorted(d.items())) for d in edge_in_subtree) + # 将去重后的元组转换回字典形式,得到去重后的list + edge_in_subtree = [dict(t) for t in unique_set] + + return reslist def geabase_search_return_all_nodeandedge(self, start_nodeid = 'None', start_nodetype = 'opsgptkg_intent', block_search_nodetype = []): @@ -443,6 +514,8 @@ def geabase_getnodetype(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_tas else: return 'onlyTool' + + def get_extra_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key = 'ignorememory'): # print(f'rootNodeId is {rootNodeId}, rootNodeType is {rootNodeType}') try: @@ -463,8 +536,14 @@ def get_extra_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key return None else: return extra[key] + + + def get_tag_(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key = 'ignorememory')->str: + ''' + 得到一个节点的属性值, 只判断属性 + ''' - def get_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key = 'ignorememory'): + # print(f'rootNodeId is {rootNodeId}, rootNodeType is {rootNodeType}') try: oneNode = self.geabase_handler.get_current_node(attributes={"id": rootNodeId,}, @@ -482,8 +561,23 @@ def get_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key = 'ig return oneNode.attributes[key] - - + def get_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_task', key = 'ignorememory')->str: + ''' + 得到一个节点的属性值。 优先判断属性值;如果属性值为None,则判断extra中是否有值。都没有值返回None + ''' + if key == 'action': + key_ = 'pattern' + else: + key_ = key + get_tag_result = self.get_tag_(rootNodeId , rootNodeType , key ) + get_extra_tag_result = self.get_extra_tag(rootNodeId , rootNodeType , key_ ) + logging.info(f'get_tag_result is {get_tag_result}, get_extra_tag_result is {get_extra_tag_result}') + if get_tag_result != None: + return get_tag_result + elif get_tag_result==None and get_extra_tag_result!=None: + return get_extra_tag_result + else: + return None @@ -496,6 +590,8 @@ def user_input_memory_tag(self, rootNodeId = 'None', rootNodeType = 'opsgptkg_t logging.info('user_input_memory_tag 没有找到合适的数据, 可能原因是当前查找对象不是 opsgptkg_task 类型的节点' ) return None # print(oneNode) + if oneNode.attributes['extra'] == None: + return None if oneNode.attributes['extra'] == '': return None extra = oneNode.attributes['extra'] diff --git a/muagent/service/ekg_reasoning/src/graph_search/geabase_search_plus.py b/muagent/service/ekg_reasoning/src/graph_search/geabase_search_plus.py index 12706b1..d55c8e7 100644 --- a/muagent/service/ekg_reasoning/src/graph_search/geabase_search_plus.py +++ b/muagent/service/ekg_reasoning/src/graph_search/geabase_search_plus.py @@ -4,6 +4,7 @@ #路径增加 import sys import os +import re src_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ) @@ -45,68 +46,18 @@ from muagent.schemas.db import GBConfig from muagent.service.ekg_construct import EKGConstructService from muagent.service.ekg_inference import IntentionRouter +from muagent.schemas.ekg.ekg_reason import LingSiResponse # from loguru import logger as logging from src.utils.call_llm import call_llm, extract_final_result , robust_call_llm from src.geabase_handler.geabase_handlerplus import GB_handler from src.utils.normalize import hash_id from src.memory_handler.ekg_memory_handler import memory_handler_ekg +from src.graph_search.task_node_agent import TaskNodeAgent -def is_valid_json(string): - try: - json.loads(string) - return True - except ValueError: - return False -def robust_json_loads(llm_result): - ''' - 将llm的输出转换为json, 有一定的概率这个json 在格式上是不完备的。不然少了 } 或者] - ''' - - try: - llm_result_json = json.loads(llm_result) - except: - # for _ in range(2): - try: - logging.info('大模型的输出转换json报错, 现在再用大模型修正一遍') - input_query = f''' - ##输入## - {llm_result} - ##任务## - 上述**输入**可能是一个不完整的dict,如果是这种情况,请将上述转换**输入**为完整的 dict。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 - 上述**输入**也可能是包含多个dict,如果是这种情况,只保留第一个dict即可。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 - ##直接输出结果## - ''' + '以{开头,任何其他内容都是不允许的!' - ouput_result = robust_call_llm(input_query, 'gpt_4') - logging.info(f'修正后的输出为{ouput_result}') - llm_result_json = json.loads(ouput_result) - - - except: - logging.info('大模型的输出转换json报错, 现在再用大模型修正一遍') - input_query = f''' - ##输入## - {llm_result} - ##任务## - 上述**输入**可能是一个不完整的dict,如果是这种情况,请将上述转换**输入**为完整的 dict。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 - 上述**输入**也可能是包含多个dict,如果是这种情况,只保留第一个dict即可。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 - ##直接输出结果## - ''' + '以{开头,任何其他内容都是不允许的!' - ouput_result = robust_call_llm(input_query, 'gpt_4',temperature = 0.1) - logging.info(f'修正后的输出为{ouput_result}') - llm_result_json = json.loads(ouput_result) - return llm_result_json - -def agent_respond_extract_output(input_str): - if 'output' not in input_str: - return input_str - input_str = input_str.split('output')[-1] #取output后面的值 - input_str = input_str.replace('"', '').replace(':', '').replace('}', '').replace('{', '') #去除掉可能的符号 - return input_str - class graph_search_tool(): @@ -120,675 +71,9 @@ def __init__(self, geabase_handler, memory_manager, llm_config=None): self.gb_handler = GB_handler(self.geabase_handler) #gb_handler 以 geabase_handler 为基础,封装了一些处理逻辑 self.memory_handler = memory_handler_ekg(memory_manager, geabase_handler) self.llm_config = llm_config - + self.task_node_agent = TaskNodeAgent(self.geabase_handler, self.memory_manager, self.llm_config) - def robust_call_llm_with_llmname(self, input_query, rootNodeId, stop = None, temperature = 0, presence_penalty=0): - - #logging.info('using a gpt_4') - res = call_llm(input_content = input_query, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty, - llm_config=self.llm_config) - return res - - - model_name = self.gb_handler.get_extra_tag( rootNodeId = rootNodeId, rootNodeType = 'opsgptkg_task', key = 'model_name') - logging.info(f'model_name is {model_name}') - if model_name == None: - model_name = 'gpt_4' - if model_name == 'gpt_4': - try: - logging.info('using a gpt_4') - res = call_llm(input_content = input_query, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty) - except: - logging.info('using Qwen2_72B_Instruct_OpsGPT') - res = call_llm(input_content = input_query, llm_model = 'Qwen2_72B_Instruct_OpsGPT',stop = stop, temperature=temperature,presence_penalty=presence_penalty) - return res - else: - try: - logging.info('using Qwen2_72B_Instruct_OpsGPT') - res = call_llm(input_content = input_query, llm_model = 'Qwen2_72B_Instruct_OpsGPT',stop = stop, temperature=temperature,presence_penalty=presence_penalty) - except: - logging.info('using a gpt_4') - res = call_llm(input_content = input_query, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty) - return res - - def stop_at_observation(self, historytext, llm_text): - - - # 检查llm_text是否完全不包含"observation" - if "observation" not in llm_text: - return llm_text - - # 检查historytext中是否有"observation" - if "observation" not in historytext: - return llm_text.split("observation", 1)[0] - - # 统计historytext中的"observation"数量 - n_hist = historytext.count("observation") - - # 统计llm_text中的"observation"数量 - n_llm = llm_text.count("observation") - - # 如果两者数量相等,返回第n个observation之后的文本 - if n_hist == n_llm: - parts = llm_text.rsplit("observation", n_hist) - return parts[-1] # 返回最后一个部分(即最后一个"observation"之后的文本) - - # 如果上述条件都不满足,找到第n个和第n+1个"observation"之间的文本 - else: - parts = llm_text.split("observation", n_hist + 1) # 分割出n+1个部分 - if len(parts) > n_hist + 1: # 确保有足够多的部分来获取所需范围 - return parts[n_hist] # 返回第n个和第n+1个observation之间的文本 - else: - return "" # 如果没有找到合适的范围,则返回空字符串或其他适当处理 - - - - def sort_messages_by_time(self, messages): - # 使用 sorted() 对列表进行排序,key 参数指定排序依据 - return sorted(messages, key=lambda msg: msg.start_datetime) - - def endcheck(self, nodeId, nodeType, oneNodeName='None', oneNodeDescription='None', current_node_history_json='None'): - ''' - 借助gpt4 来帮忙判断本阶段任务是否结束 - ''' - oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, - node_type=nodeType) - extra = oneNode.attributes['extra'] - print(extra) - try: - - extra_json = json.loads(extra) - if extra_json['endcheck'] == 'True': - endcheck_flag = True - else: - endcheck_flag = False - except: - endcheck_flag= False - - if endcheck_flag == False: - return True #endcheck 通过 - - else: - endcheck_llm_input = oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ - '\n##请结合已有步骤,判断本阶段任务是否结束,只返回中文的 是 或者 否即可,不要输出其他内容:##\n' - - logging.info('=============endcheck_llm_result==================') - logging.info(endcheck_llm_input) - llm_result = self.robust_call_llm_with_llmname(endcheck_llm_input, nodeId) - logging.info('=============endcheck_llm_result==================') - logging.info(llm_result) - - if '是' in llm_result: - return False - else: - return True - - - def react_running(self, sessionId, nodeId, nodeType, agent_respond = ''): - ''' - react 模块 运行 - - ''' - if agent_respond == None: - agent_respond = '' - if type(agent_respond) == str: - agent_respond = agent_respond.replace('"', '').replace("'", "") #需要去除agent返回中的 " 和 ' - agent_respond = agent_respond_extract_output(agent_respond) # 去除 agent_respond 中的 thought 和 output - #stpe1 判断当前状态 - get_messages_res = self.memory_handler.nodecount_get( sessionId, nodeId) - - if get_messages_res == [] : - logging.info('当前这个{sessionId} react节点 是第一次运行') - first_run_react_flag = True - else: - if json.loads(get_messages_res[0].role_content)['nodestage'] == 'end' :#在上一轮已经结束了,这一轮还未开始 - logging.info('当前这个{sessionId} react节点在上一轮已经结束了,这一轮还未开始,在这一轮也算是第一次执行') - first_run_react_flag = True - else: - logging.info('当前这个{sessionId} react节点 不是第一次执行') - first_run_react_flag = False - - if first_run_react_flag == True: - # 当react的状态是 end 或者为空的时候调用此函数,进行初始化 或者 chapter + 1 - self.memory_handler.init_react_count(sessionId, nodeId) - - #step2 获取节点名字 + 节点描述 - oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, - node_type=nodeType) - - oneNodeName = oneNode.attributes['name'] - oneNodeDescription = oneNode.attributes['description'] - - #step3.1 获取memory, 构成给大模型的输入 - #获取memory, 主持人能看到的memory, 和获取tool的memory类似 - - # tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) - # get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #此时是主持人,所以需要看到所有的memory,无需加tag。 对于在我这一侧需要运行的llm,一定是看到所有信息,因为我就是主持人 - # assembled_memory = self.assemble_memory(nodeId, nodeType, get_messages_res_sorted) - assembled_memory = self.get_memory_for_dm(sessionId, nodeId) - assembled_memory = json.dumps(assembled_memory, ensure_ascii=False) - logging.info(f'assembled_memory is {assembled_memory}') - - #step3.2 获取当前节点的历史运行情况。如果是第一次运行,需要将react node 的name 存入到 memory中 - if first_run_react_flag == True: - current_node_history = '' - #第一次运行,对于react模块,只将标题放置在memory里, 因为对于react模块,description太多了,循环的情况下,很罗嗦且超过上下文 - self.memory_handler.react_nodedescription_save(sessionId, nodeId, oneNodeName) - - else: - #不是第一次运行。那么肯定历史history进来 - logging.info(f'#不是第一次运行。那么肯定历史history进来{sessionId}, {nodeId}') - current_node_history = self.memory_handler.react_current_history_get(sessionId, nodeId) - # llm_result_truncation + '": [{"content": ' + user_responds - - ''' - history 里存储 observation的截断,不包含observation, - llm_output 输出整个完整的流程(如果是gpt_4, 不能有停用词,因为每次都是从头开始录的), - self.stop_at_observation,需要接受 current_node_history ,先分析里面有几个observation(N个), 然后我可以往后扩展一个observation, 不包含observation - - jsonstring 就转全量的, 但是录入到memory中的时候,注意只录入 N+1 个 observation的信息。 - - - - ''' - #step4 执行 llm, - if first_run_react_flag == True: - llm_input = assembled_memory + '\n' + oneNodeName + '\n' + oneNodeDescription + '\n##已有步骤##\n无' + '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' - logging.info('=============llm_input==================') - logging.info(llm_input) - llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) - current_node_history_json = [] - logging.info('=============llm_result==================') - logging.info(llm_result) - llm_result_json = robust_json_loads(llm_result) - if type(llm_result_json)!=dict: - llm_result_json = llm_result_json[0] - logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') - # raise ValueError(f'llm的输出应该是一个dict才对 ') - current_node_history_json.append(llm_result_json) - else: - # current_node_history[-1]["observation"]['content'] = agent_respond - # llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n' + current_node_history + '": [{"content":" ' + agent_respond + '"' - # llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n' + current_node_history + '": [{"content":" ' + agent_respond + '", "memory_tag:' \ - # + '\n ' - - current_node_history_json = json.loads(current_node_history) #历史记录里可能包含虚假信息 - logging.info(f'current_node_history_json is {current_node_history_json}') - if current_node_history_json[-1]['action']['agent_name'] != '主持人': - current_node_history_json[-1]["observation"][0]['content'] = agent_respond #将历史中最后一次主持人幻觉的输出,转换为用户补充的输入 - try: - current_node_history_json[-1]["thought"] = '' #在非主持人环节时,应该将thought 设置为'' - except: - pass - llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ - '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' - logging.info('=============llm_input==================') - logging.info(llm_input) - llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) - logging.info('=============llm_result==================') - logging.info(llm_result) - llm_result_json = robust_json_loads(llm_result) - if type(llm_result_json)!=dict: - llm_result_json = llm_result_json[0] - logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') - # raise ValueError(f'llm的输出应该是一个dict才对 ') - current_node_history_json.append(llm_result_json) - - retry_llm = 0 - while(( retry_llm <= 8) and ("taskend" not in llm_result) and (llm_result_json['action']['agent_name'] == '主持人' )): - logging.info('由于是主持人发言,情况继续') - - endcheck_res = self.endcheck( nodeId, nodeType, oneNodeName, oneNodeDescription, current_node_history_json) - if endcheck_res== False: - logging.info('endchek没有通过,主持人发言终止, 强行将 llm_result == {"action": "taskend"}') - llm_result = json.dumps({"action": "taskend"}) - llm_result_json = robust_json_loads(llm_result) - current_node_history_json.append(llm_result_json) - break - - - - llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ - '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' - logging.info('=============llm_input==================') - logging.info(llm_input) - llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) - logging.info('=============llm_result==================') - logging.info(llm_result) - llm_result_json = robust_json_loads(llm_result) - current_node_history_json.append(llm_result_json) - if type(llm_result_json)!=dict: - llm_result_json = llm_result_json[0] - logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') - raise ValueError(f'llm的输出应该是一个dict才对 ') - retry_llm = retry_llm + 1 - - logging.info('大模型调用结束') - - - - #step5 分析 llm_result 执行结果 - #llm_result 为最后一次llm的输出 - if 'taskend' in llm_result: - - - react_flag = 'end' - logging.info(f'当前为{react_flag}, 将本次节点的count设置为end ') - self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'end') - elif 'observation' in llm_result: - react_flag = 'waiting_other_agent' - - logging.info(f'当前为{react_flag}, 尝试补充字符使得llm_result_truncation能转为json格式 ') - # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') - # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') - - #提取此时应该执行的agent_name - execute_agent_name = current_node_history_json[-1]['action']['agent_name'] - execute_player_name = current_node_history_json[-1]['action']['player_name'] - - #将该节点的count 设置为 runninng - self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') - - - - - #step6 存储 history # for DM - logging.info(f'存储 history # for DM') - if react_flag == 'waiting_other_agent' and first_run_react_flag == True: - #step6.1 存储 llm_result_truncation - - self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False) ) - - elif react_flag == 'waiting_other_agent' and first_run_react_flag == False: - self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) - - elif react_flag == 'end' and first_run_react_flag == True: #第一次运行就运行到结尾了 - - self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) - - elif react_flag == 'end' and first_run_react_flag == False: #第N次运行 运行到结尾了 - self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) - - - #step7 存储 memory # for other agent - logging.info(f'存储 memory # for other agent') - if react_flag == 'waiting_other_agent' and first_run_react_flag == True: - logging.info('#第一次运行 等待agent返回') - self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) - if react_flag == 'waiting_other_agent' and first_run_react_flag == False: - logging.info('#第N次运行 等待agent返回') - self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) - - elif react_flag == 'end' and first_run_react_flag == True: #第一次运行就运行到结尾了: - logging.info('#第一次运行就运行到结尾了:') - self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) - - elif react_flag == 'end' and first_run_react_flag == False: #第N次运行 运行到结尾了 - logging.info('#第N次运行 运行到结尾了') - self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) - - - #step8 返回 question_plan - if react_flag == 'end': - question_plan = [] - elif react_flag == 'waiting_other_agent': - question_plan = self.react_get_question_plan(sessionId, nodeId, execute_agent_name) - else: - question_plan = [] - return react_flag, question_plan - - - - def get_memory_for_tool(self,sessionId, nodeId): - ''' - react 节点中 对于一个 主持人, 构建memory的函数。 - 只需要将祖先节点弄好即可,不需要加自己,因为自己有 history进行维护 - ''' - nodeType = 'opsgptkg_task' #假设一定是task节点 - tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) - get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #对于tool,假设都是主持人的工具,所以需要看到所有的memory,无需加tag。 - assembled_memory = self.assemble_memory_for_tool(nodeId, nodeType, get_messages_res_sorted) # tool 的memory需要兼顾以前的格式 - return assembled_memory - - - def get_memory_for_dm(self,sessionId, nodeId): - ''' - react 节点中 对于一个 主持人, 构建memory的函数。 - 只需要将祖先节点弄好即可,不需要加自己,因为自己有 history进行维护 - ''' - nodeType = 'opsgptkg_task' #假设一定是task节点 - tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) - get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #此时是主持人,所以需要看到所有的memory,无需加tag。 对于在我这一侧需要运行的llm,一定是看到所有信息,因为我就是主持人 - assembled_memory = self.assemble_memory_for_reactagent(nodeId, nodeType, get_messages_res_sorted) - return assembled_memory - - def get_memory_for_computer_agent(self,sessionId, nodeId, execute_agent_name): - ''' - react 节点中 对于一个 agent_x (电脑agent), 构建memory的函数 - ''' - nodeType = 'opsgptkg_task' #假设一定是task节点 - tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) - - if nodeId not in [nodeinancestor['nodeId'] for nodeinancestor in tool_ancestor]: - tool_ancestor = tool_ancestor + [{'nodeId': nodeId, 'nodeType':nodeType}] - - #需要将自己也加上,方便在下一步memory检索的时候把本节点的历史也得到,由于在生成str的时候,第一时间就save本届点的memory,所以这样做是可以的 - #需要注意的是,给agent和给主持人看到的输入是不一样的。 主持人看到的是 memory + node_text + currentnodehistory, currentnodehistory 是文本,因为主持人需要维持一个 结构化的输出。 - #agent看到的是 memory,agent只需要说出一句话即可 - get_messages_res_sorted = self.get_memory_from_ancestor(tool_ancestor, sessionId, execute_agent_name) #此时是调用外部agent,所以需要加tag - assembled_memory = self.assemble_memory_for_reactagent(nodeId, nodeType, get_messages_res_sorted) - return assembled_memory - - def react_get_question_plan(self, sessionId, nodeId, execute_agent_name): - ''' - 如果react模块 react_flag==waiting_other_agent, 则需要返回 question_plan - 可能需要区分人来回答还是大模型来回答 - ''' - if '人类' in execute_agent_name: #需要提交给人 - ''' - example: {'toolDescription': '请用户回答', - 'currentNodeId': 'INT_3', - 'memory': None, - 'type': 'userProblem', - 'questionDescription': {'questionType': 'essayQuestion', - 'questionContent': {'question': '请输入', - 'candidate': None }}} - - 一定是一个问答题, 无需提问,这里question变成一个固定值了。 最重要的是把memory 也是空, 因为历史信息在对话里已经显示了。 - ''' - toolPlan = [ {'toolDescription': '请用户回答', - 'currentNodeId': nodeId, - 'memory': None, - 'type': 'userProblem', - 'questionDescription': {'questionType': 'essayQuestion', - 'questionContent': {'question': '请玩家根据当前情况发言', - 'candidate': None }}} ] - - return toolPlan - else: #需要执行agent - ''' - example :[{ - "toolDescription": "toolDescriptionA", - "currentNodeId": "INT_1", - "memory": JsonStr, - "type":"onlyTool", - }] - ''' - - - assembled_memory = self.get_memory_for_computer_agent(sessionId, nodeId, execute_agent_name) - react_memory = assembled_memory - if type(react_memory)!= str: - react_memory = json.dumps(react_memory, ensure_ascii=False) - - # logging.info(f'react_memory is {react_memory}') - toolPlan = [{ - "toolDescription": execute_agent_name, - "currentNodeId": nodeId, - "memory": react_memory, - "type":"reactExecution", - }] - return toolPlan - - - - def get_tool_ancestor(self, sessionId, start_nodeid = '为什么余额宝没收到收益_complaint', start_nodetype = 'opsgptkg_task'): - - #1 对每个nodeid,得到其memory, 首先需要遍历其所有的祖先task节点,将相关信息记录下来 - tool_ancestor = [] - nodeid_in_search = [{'nodeId':start_nodeid, 'nodeType':start_nodetype}] - nodeid_in_search_all = [{'nodeId':start_nodeid, 'nodeType':start_nodetype}] - - while len(nodeid_in_search)!= 0: - nodedict_now = nodeid_in_search.pop() - nodeid_now = nodedict_now['nodeId'] - nodetype_now = nodedict_now['nodeType'] - - - #查祖先节点 reverse=True - neighborNodes = self.geabase_handler.get_neighbor_nodes(attributes={"id": nodeid_now,}, node_type=nodetype_now, reverse=True) - #print(nodeid_now, nodetype_now, neighborNodes, '=========') - - - for i in range(len(neighborNodes) ): - # if res['resultSet']['rows'][i]['columns'][0] == {}: - # continue - - # else: - nodeid_new = neighborNodes[i].id - nodetype_new = neighborNodes[i].type - if nodeid_new in [kk['nodeId'] for kk in nodeid_in_search]: #已经探索过了,不再探索 - continue - - elif nodetype_new == 'opsgptkg_task': #如果是task节点,则加入到tool_plan中,同时继续往前延展。 - - #查询该任务节点有没有收到过response,直接查询count,不用在意count的个数 - message_res = self.memory_handler.nodecount_get( sessionId, nodeid_new) #查看这个节点的count计数 - - if len(message_res) == 0: #这个task节点没有memory 或者没有收到response,则不再往前延展,减少geabase查询个数 - print(f'#这个task节点{nodeid_new}没有memory 或者没有收到response,则不再往前延展,减少geabase查询个数') - continue - else: - print('#如果是task节点,则加入到tool_plan中,同时继续往前延展。 get_tool_ancestor') - tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 - if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : - nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - - - - - elif nodetype_now != 'opsgptkg_intent' and nodetype_new == 'opsgptkg_intent': - #第一次出现意图节点,需要尝试 - #print('#第一次出现意图节点,需要尝试') - tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 - if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : - nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - elif nodetype_now == 'opsgptkg_intent' and nodetype_new == 'opsgptkg_intent': - #从意图节点再次碰到意图节点,终止 - #print('#从意图节点再次碰到意图节点,终止') - pass - elif nodetype_new == 'opsgptkg_phenomenon': - #如果是事实节点,则继续 - tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 - if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : - nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - - else:##如果是不是task节点,也不是意图节点,不加入到tool_plan中,继续延展 - #print('#如果是不是task节点,也不是意图节点,不加入到tool_plan中,继续延展') - if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : - nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - - tool_ancestor_new = [] - for i in range(len(tool_ancestor)): - item_i = tool_ancestor[i] - if item_i not in tool_ancestor_new: - tool_ancestor_new.append(item_i) - logging.info(f'geabase_getmemory tool_ancestor_new 的个数为{len(tool_ancestor_new)}') - logging.info(f'geabase_getmemory tool_ancestor 的个数为{len(tool_ancestor)}') - #print('tool_ancestor_new', tool_ancestor_new) - tool_ancestor = tool_ancestor_new - return tool_ancestor - - def get_memory_from_ancestor(self, tool_ancestor, sessionId, role_tags = None): - ''' - 给定了一堆祖先节点 + 当前节点,从中提取出memory - 祖先节点 - 对于祖先tool 而言,提取出 nodedescription、tool responds - 对于祖先react 而言,提取出 nodedescription(name), 每一条message - 将这个list 按照时间顺序排好 - 当前节点 - 对于tool 而言,没有当前节点的memory - 对于react节点而言, 有运行到中间状态的memory - 将这个list 按照时间顺序排好 - 按照固定格式输出 memory_list_output - - role_tags 是一系列list, 如果指定为空,则没有约束 - - ''' - if role_tags == None: - role_tags = None - else: - role_tags = ['all'] + [role_tags] - # print(role_tags) - message_res_list = [] - for i in range(len(tool_ancestor)): - logging.info(f'geabase_getmemory 查询第{i}个祖先节点') - # logging.info(tool_ancestor[i]) - nodeId = tool_ancestor[i]['nodeId'] - nodeType = tool_ancestor[i]['nodeType'] - logging.info(f'【查询】memory message_index {nodeId}; sessionId {sessionId} ') - # if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: - #当前节点为tool or react 节点,一次性获得该节点所有的 chapter的memory数据 - if nodeType == 'opsgptkg_task': - memory_res = self.memory_manager.get_memory_pool_by_all({ - # "message_index": hash_id(nodeId, sessionId), #nodeId.replace(":", "_").replace("-", "_"), - 'user_name': hash_id(nodeId), - "chat_index": sessionId, - "role_tags": role_tags, - } - ) - message_res = memory_res.get_messages() - message_res_list = message_res_list + message_res - - - - elif nodeType == 'opsgptkg_intent': - #如果祖先节点是意图节点, 意图节点的memory 暂时不分 tag - memory_res = self.memory_manager.get_memory_pool_by_all({ - "message_index": hash_id(nodeId, sessionId), #nodeId.replace(":", "_").replace("-", "_"), - "chat_index": sessionId, - "role_type": "user"}) - - message_res = memory_res.get_messages() - message_res_list = message_res_list + message_res - - #根据时间排序 - # message_res_list = message_res_list[::-1] #倒转message, 因为发现tbase存数据是类似堆栈的格式存的。 后来者在上; 似乎不对 - get_messages_res_sorted = self.sort_messages_by_time(message_res_list) - return get_messages_res_sorted - - - def assemble_memory_for_reactagent(self, nodeId, nodeType, get_messages_res_sorted): - ''' - 假设 祖先节点已经选择好了,而且 节点中相关的message也选择好了, 也经过时间排序了 - react 节点中 对于一个 agent_x (电脑agent), 组装memory的函数 - ''' - - if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: - raise ValueError(f'当前应该是 react 节点才对 ') - else: #react 节点 - memory_list = [] - for i in range(len( get_messages_res_sorted ) ): - if get_messages_res_sorted[i].role_name in ['firstUserInput', 'function_caller', 'user' ]: - # # 第一次输入, tool返回, tool描述, - # memory_list.append({ - # 'role_type': get_messages_res_sorted[i].role_type, - # 'role_name': get_messages_res_sorted[i].role_name, - # 'role_content': get_messages_res_sorted[i].role_content} - # )#此处存疑,需要实验后才知道效果如何,注释后,相当于主持人和agent只能看到tool的标题和执行结果,且以list的形式呈现 - memory_list.append(get_messages_res_sorted[i].role_content) - elif get_messages_res_sorted[i].role_type in ['react_memory_save']: - # react 模块各个角色说的话, - memory_list.append(get_messages_res_sorted[i].role_content) - return memory_list - - def assemble_memory_for_tool(self, nodeId, nodeType, get_messages_res_sorted): - if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: - ''' - ''' - memory_list = [] - for i in range(len( get_messages_res_sorted ) ): - if get_messages_res_sorted[i].role_name == 'firstUserInput': - memory_list.append({ - 'role_type': 'user', - 'role_name': 'firstUserInput', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_name == 'user': - memory_list.append({ - 'role_type': 'user', - 'role_name': 'None', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_name == 'function_caller': - memory_list.append({ - 'role_type': 'observation', - 'role_name': 'function_caller', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_type in ['react_memory_save']: - # react 模块各个角色说的话, - memory_list.append({ - 'role_type': get_messages_res_sorted[i].role_type, - 'role_name': get_messages_res_sorted[i].role_name, - 'role_content': get_messages_res_sorted[i].role_content} - ) - else: #react 节点 - raise ValueError(f'当前应该是 tool task 节点才对 ') - - return memory_list - - def assemble_memory(self, nodeId, nodeType, get_messages_res_sorted): - ''' - 组装memory - get_messages_res_sorted 已经根据时间排序好了。 但是对于tool 和 react模块的memory拼装做法有所不同 - ''' - if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: - ''' - - ''' - memory_list = [] - for i in range(len( get_messages_res_sorted ) ): - if get_messages_res_sorted[i].role_name == 'firstUserInput': - memory_list.append({ - 'role_type': 'user', - 'role_name': 'firstUserInput', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_name == 'user': - memory_list.append({ - 'role_type': 'user', - 'role_name': 'None', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_name == 'function_caller': - memory_list.append({ - 'role_type': 'observation', - 'role_name': 'function_caller', - 'role_content': get_messages_res_sorted[i].role_content} - ) - if get_messages_res_sorted[i].role_type in ['react_memory_save']: - # react 模块各个角色说的话, - memory_list.append({ - 'role_type': get_messages_res_sorted[i].role_type, - 'role_name': get_messages_res_sorted[i].role_name, - 'role_content': get_messages_res_sorted[i].role_content} - ) - else: #react 节点 - memory_list = [] - for i in range(len( get_messages_res_sorted ) ): - if get_messages_res_sorted[i].role_name in ['firstUserInput', 'function_caller', 'user' ]: - # 第一次输入, tool返回, tool描述, - memory_list.append({ - 'role_type': get_messages_res_sorted[i].role_type, - 'role_name': get_messages_res_sorted[i].role_name, - 'role_content': get_messages_res_sorted[i].role_content} - ) - elif get_messages_res_sorted[i].role_type in ['react_memory_save']: - # react 模块各个角色说的话, - memory_list.append({ - 'role_type': get_messages_res_sorted[i].role_type, - 'role_name': get_messages_res_sorted[i].role_name, - 'role_content': get_messages_res_sorted[i].role_content} - ) - return memory_list + def search_node_type(self, nodeid_in_subtree, nodeId ): ''' #返回nodeid_in_subtree 中 nodeId 的nodeType @@ -829,6 +114,7 @@ def geabase_judgeNodeReachability(self, sessionId, # else: nodeid_new = neighborNodes[i].id nodetype_new = neighborNodes[i].type + logging.info(f'======nodeid_new is {nodeid_new} , nodetype_new is {nodetype_new}=====') if nodetype_new == 'opsgptkg_task' or nodetype_new == 'opsgptkg_phenomenon': #如果是task 或者 phenomenon节点,则加入到tool_plan中,但是不往后续延展了。 tool_parent.append({'nodeId':nodeid_new, 'nodeType': nodetype_new}) elif nodetype_new == 'opsgptkg_intent': @@ -837,19 +123,23 @@ def geabase_judgeNodeReachability(self, sessionId, else:##如果是不是task节点,也不是意图节点,不加入到tool_plan中,往后续延展 nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - + logging.info(f'===tool_parent is {tool_parent} ===') #tool_parent = list(set(tool_parent)) # 将字典转化为元组,然后放入set中去重 unique_set = set(tuple(d.items()) for d in tool_parent) # 再将元组转回字典 tool_parent = [{k: v for k, v in t} for t in unique_set] + if len(tool_parent) == 0: + logging.info(f'======geabase_judgeNodeReachability 没有有效的父节点 则一定为可达=====') + return True node_description = self.gb_handler.geabase_getDescription( rootNodeId = start_nodeid, rootNodeType = start_nodetype) if gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == 'AND' \ or gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == '{"type":"AND"}' \ or gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == None or \ - gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == '': + gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == '' or \ + gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = start_nodeid, rootNodeType = start_nodetype,key = 'accesscriteria') == '{}': logging.info('#此节点为and处理逻辑') #此节点为and处理逻辑 logging.info(f'{start_nodeid}的tool_parent为{tool_parent}') @@ -974,7 +264,7 @@ def fact_branch_judgment(self, current_task, neighbor_node_id_list, next_node_de thought(尽量不要超过40个字): ''' logging.info(prompt_temp) - response = call_llm(input_content = prompt_temp, llm_model = 'Qwen2_72B_Instruct_OpsGPT',llm_config=self.llm_config)# qwen_chat_14b #Qwen_72B_Chat_vLLM + response = call_llm(input_content = prompt_temp, llm_model = 'Qwen2_72B_Instruct_OpsGPT' , llm_config=self.llm_config)# qwen_chat_14b #Qwen_72B_Chat_vLLM logging.info(f'大模型的结果为:{response}') #final_choice = extract_final_result(json.loads(response.text)['data'], special_str = "最终结果为:" ) final_choice = extract_final_result(response, special_str = "最终结果为:" ) @@ -1055,7 +345,27 @@ def write_analysis_memory(self, sessionId, neighbor_node_id_list, chosen_nodeid) - + def toolResponseError_check(self, lingsi_response:LingSiResponse)->bool: + #判断当前tool 执行是否成功, 主要根据 observation中是否有toolResponse字段来判断 + print('=======print(lingsi_response)===========') + print(lingsi_response.dict()) + try: + lingsi_response.observation = json.loads(lingsi_response.observation) + except: + pass + if lingsi_response.type == None: + return False #第一次输入,不涉及tool 的返回 + elif lingsi_response.observation == None: + return True + elif 'toolResponse' not in list(lingsi_response.observation.keys()): + return True + elif 'toolKey' in list(lingsi_response.observation.keys()) and lingsi_response.observation['toolKey'] == 'COMMON_QA_QWEN:MAIN_SITE:HttpClient.execute': + #灵思兜底逻辑 + logging.info(f'当前为灵思兜底逻辑,toolResponseError_check == True') + return True + else: + return False + #raise ValueError('toolResponseError_check 出现未知情况') def geabase_summary_check(self, sessionId, nodeid_in_subtree): logging.info('geabase_summary_check start 判断当前状态下是不是已经走到了需要进行summary的情况') @@ -1182,7 +492,8 @@ def geabase_summary_check(self, sessionId, nodeid_in_subtree): def geabase_nodediffusion_plus(self, sessionId, - start_nodeid = '为什么余额宝没收到收益_complaint', start_nodetype = 'opsgptkg_intent', agent_respond = None): + start_nodeid = 'complaint', start_nodetype = 'opsgptkg_intent', + agent_respond = None, lingsi_response = None): ''' 增加了react模块的逻辑 进行单步的向后扩散, 得到下一步应该执行的计划 @@ -1192,6 +503,7 @@ def geabase_nodediffusion_plus(self, sessionId, logging.info('================geabase_nodediffusion_plus start===================') logging.info('===================================') logging.info('===================================') + logging.info(f'agent_respond is {agent_respond}; lingsi_response is {lingsi_response}') # 0 创建 GB_handler的实例 gb_handler = self.gb_handler self.memory_handler = memory_handler_ekg(self.memory_manager, self.geabase_handler) @@ -1207,8 +519,8 @@ def geabase_nodediffusion_plus(self, sessionId, if node_completed_flag == False: #没有执行完,需要继续执行 # - logging.info(f'react节点{start_nodeid}没有执行完,需要继续执行') - runningFlag, reactPlan = self.react_running( sessionId, start_nodeid, start_nodetype, agent_respond ) + logging.info(f'类react节点{start_nodeid}没有执行完,需要继续执行') + runningFlag, reactPlan = self.task_node_agent.task_running(sessionId, start_nodeid, start_nodetype, lingsi_response ) #继续执行还是没有执行完 if runningFlag == 'waiting_other_agent': @@ -1238,6 +550,7 @@ def geabase_nodediffusion_plus(self, sessionId, nodetype_now = nodedict_now['nodeType'] neighborNodes = self.geabase_handler.get_neighbor_nodes(attributes={"id": nodeid_now,}, node_type=nodetype_now, reverse=False) + logging.info(f'neighborNodes is {neighborNodes}') if self.gb_handler.all_nodetype_check(rootNodeId = nodeid_now, rootNodeType = nodetype_now, neighborNodeType = 'opsgptkg_phenomenon') == True: @@ -1287,7 +600,10 @@ def geabase_nodediffusion_plus(self, sessionId, # logging.info(f'{nodeid_new}#是task 节点中的 react, 节点尝试执行') #是task 节点中的 react, 节点尝试执行 # logging.info(f'sessionId {sessionId}, nodeid_new {nodeid_new}, nodetype_new {nodetype_new}') - runningFlag, reactPlan = self.react_running( sessionId, nodeid_new, nodetype_new, None )#这种时候是react节点第一次运行,一定是主持人,一定要看到全局信息 + + runningFlag, reactPlan = self.task_node_agent.task_running( sessionId, nodeid_new, nodetype_new, None ) + logging.info(f'前面节点执行完毕后,在向后探索的过程中,执行了task_running,执行结果为runningFlag is {runningFlag}, reactPlan is {reactPlan}' ) + #这种时候是react节点第一次运行,一定是主持人,一定要看到全局信息 # logging.info(f'{nodeid_new}#继续执行还是没有执行完, 需要留下 reactPlan,且不往后面扩展') #继续执行还是没有执行完, 需要留下 reactPlan,且不往后面扩展 @@ -1300,7 +616,11 @@ def geabase_nodediffusion_plus(self, sessionId, #这个react 执行了一下执行完了. 继续, tool_plan中不标记这个节点,往后探索即可。 nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - + # + elif nodetype_new == 'opsgptkg_analysis': #如果是opsgptkg_analysis节点, 将其标注为已到达 + self.write_analysis_memory( sessionId, [nodeid_new], None) + + else:##如果是不是task节点,不加入到tool_plan中,往后续延展 nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) @@ -1308,19 +628,20 @@ def geabase_nodediffusion_plus(self, sessionId, # unique_set = set(tuple(sorted(d.items())) for d in tool_plan) #暂时去掉去重,但不知有何问题 # 将去重后的元组转换回字典形式,得到去重后的list # tool_plan = [dict(t) for t in unique_set] #暂时去掉去重,但不知有何问题 - # logging.info('====tool_plan===在去重之后===') - # logging.info(f'tool_plan {tool_plan}') - # logging.info('====tool_plan======') + logging.info('====tool_plan===在去重之后===') + logging.info(f'tool_plan {tool_plan}') + logging.info('====tool_plan======') #2 判断这些tool的父节点是否都已经有observation, 即判断可达性, 进行筛选 - tool_plan_2 = [] + tool_plan_reachable = [] for i in range(len(tool_plan)): nodeId = tool_plan[i]['nodeId'] nodeType = tool_plan[i]['nodeType'] if self.geabase_judgeNodeReachability( sessionId, nodeId, nodeType) == True: - tool_plan_2.append({'nodeId':nodeId, 'nodeType':nodeType}) - # logging.info(f'tool_plan_2 经过可达性判断删选后的 {tool_plan_2}') + tool_plan_reachable.append( tool_plan[i] ) + # logging.info(f'tool_plan_reachable 经过可达性判断删选后的 {tool_plan_reachable}') + #3 获取每个tool的memory tool_plan_return = [] @@ -1331,10 +652,12 @@ def geabase_nodediffusion_plus(self, sessionId, # } - for i in range(len(tool_plan_2)): - nodeId = tool_plan[i]['nodeId'] - nodeType = tool_plan[i]['nodeType'] - if 'reactFlag' not in tool_plan[i].keys(): + for i in range(len(tool_plan_reachable)): + nodeId = tool_plan_reachable[i]['nodeId'] + nodeType = tool_plan_reachable[i]['nodeType'] + + if 'reactFlag' not in tool_plan_reachable[i].keys(): + # 这里表示是tool 执行 # memory = self.geabase_getmemory( sessionId, nodeId, nodeType) #获取memory, 这个是task tool的memory, # tool_ancestor = self.get_tool_ancestor( sessionId, nodeId, nodeType) @@ -1342,7 +665,7 @@ def geabase_nodediffusion_plus(self, sessionId, # get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #此时是nodeId是一个tool,假设tool一定是主持人的工具,能看到所有tag的memory # memory = self.assemble_memory( nodeId, nodeType, get_messages_res_sorted) - memory = self.get_memory_for_tool(sessionId, nodeId) + memory = self.task_node_agent.get_memory_for_tool(sessionId, nodeId) # logging.info(f'{nodeId}的 memory is {memory}') toolDescription = self.gb_handler.geabase_getDescription( rootNodeId = nodeId, rootNodeType = nodeType) @@ -1358,12 +681,19 @@ def geabase_nodediffusion_plus(self, sessionId, ) else: #对于react 模块的 memory,另有方法提取,在制定plan的时候就提取了。 + #这里也包括 parallel 和 plan类型节点 + # + for m in range(len(tool_plan_reachable[i]['reactPlan'])) :#tool_plan_reachable[i]['reactPlan'] 本身就是一个list, 必须先取元素,否则格式会出错 + tool_plan_return.append( tool_plan_reachable[i]['reactPlan'][m] ) - tool_plan_return.append( tool_plan[i]['reactPlan'][0] ) #tool_plan[i]['reactPlan'] 本身就是一个list, 必须先取元素,否则格式会出错 - - - - return tool_plan, tool_plan_return + logging.info('===================================') + logging.info('===================================') + logging.info('================geabase_nodediffusion_plus end===================') + logging.info('===================================') + logging.info('===================================') + logging.info(f'tool_plan_reachable is {tool_plan_reachable}, tool_plan_return is {tool_plan_return}') + + return tool_plan_reachable, tool_plan_return if __name__ == "__main__": diff --git a/muagent/service/ekg_reasoning/src/graph_search/graph_search_main.py b/muagent/service/ekg_reasoning/src/graph_search/graph_search_main.py index 92b9696..2051bcc 100644 --- a/muagent/service/ekg_reasoning/src/graph_search/graph_search_main.py +++ b/muagent/service/ekg_reasoning/src/graph_search/graph_search_main.py @@ -44,6 +44,11 @@ from muagent.schemas.db import GBConfig from muagent.service.ekg_construct import EKGConstructService from muagent.service.ekg_inference import IntentionRouter +from muagent.schemas.ekg.ekg_reason import LingSiResponse, ResToLingsi +if os.environ['operation_mode'] == 'antcode': # 'open_source' or 'antcode' + from muagent.service.web_operation.web_act_ant import WebAgent + + #内部其他函数 from src.utils.call_llm import call_llm, extract_final_result @@ -54,11 +59,13 @@ if os.environ['operation_mode'] == 'antcode': # 'open_source' or 'antcode' #内部的意图识别接口调用函数 from src.intention_recognition.intention_recognition_tool import intention_recognition_ekgfunc, intention_recognition_querypatternfunc, intention_recognition_querytypefunc + from src.generalization_reasoning.generalization_reason import GeneralizationReason from src.question_answer.qa_function import qa_class from src.memory_handler.ekg_memory_handler import memory_handler_ekg from src.graph_search.call_old_fuction import call_old_fuction + # 配置logging模块 logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s - %(lineno)d', level=logging.INFO) @@ -69,7 +76,7 @@ class graph_search_process(): ''' 图谱推理主流程class ''' - def __init__(self, geabase_handler, memory_manager, intention_router, scene , sessionId, currentNodeId, + def __init__(self, geabase_handler, memory_manager, intention_router, lingsi_response, scene , sessionId, currentNodeId, observation, userAnswer, inputType, startRootNodeId, intentionRule, intentionData, startFromRoot = True, index_name = 'ekg_migration_new', unique_name="EKG", @@ -77,6 +84,7 @@ def __init__(self, geabase_handler, memory_manager, intention_router, scene , s ): self.memory_manager = memory_manager #memory_init(index_name = 'ekg_migration', unique_name="EKG") + self.lingsi_response = lingsi_response self.scene = scene self.sessionId = sessionId self.currentNodeId = currentNodeId @@ -111,8 +119,11 @@ def __init__(self, geabase_handler, memory_manager, intention_router, scene , s #计算起始时间 self.start_datetime = int(time.time()*1000) - - def state_judgement(self): + # def scene_judgement(self, scene:str)->str: + # if scene == 'generalizationReasoning': + # return 'generalizationReasoning' + + def state_judgement(self, inputType:str)->str: ''' 根据当前情况,判断当前算法输入所处的状态 { @@ -123,24 +134,24 @@ def state_judgement(self): "tool_QUESTION_RETURN_ANSWER" #task阶段,不执行tool,而是向用户问填空题/选择题 } ''' - if self.inputType == None: - self.algorithm_State = 'FIRST_INPUT' + if inputType == None: + #self.algorithm_State = 'FIRST_INPUT' return 'FIRST_INPUT' - elif self.inputType == 'intentQuestion':#INTENT_QUESTION - self.algorithm_State = 'INTENT_QUESTION_RETURN_ANSWER' + elif inputType == 'intentQuestion':#INTENT_QUESTION + #self.algorithm_State = 'INTENT_QUESTION_RETURN_ANSWER' return "INTENT_QUESTION_RETURN_ANSWER" - elif self.inputType == 'onlyTool': - self.algorithm_State = "TOOL_EXECUTION_RESULT" + elif inputType == 'onlyTool': + #self.algorithm_State = "TOOL_EXECUTION_RESULT" return "TOOL_EXECUTION_RESULT" - elif self.inputType == 'reactExecution':#REACT_EXECUTION_RESULT - self.algorithm_State = "REACT_EXECUTION_RESULT" + elif inputType == 'reactExecution':#REACT_EXECUTION_RESULT + #self.algorithm_State = "REACT_EXECUTION_RESULT" return "REACT_EXECUTION_RESULT" - elif self.inputType == 'userProblem': - self.algorithm_State = "TOOL_QUESTION_RETURN_ANSWER" + elif inputType == 'userProblem': + #self.algorithm_State = "TOOL_QUESTION_RETURN_ANSWER" return "TOOL_QUESTION_RETURN_ANSWER" def intentionRecongnition(self): @@ -214,13 +225,17 @@ def intentionRecongnitionProcess(self): if os.environ['operation_mode'] == 'antcode': node_id = '剧本杀/狼人杀' Designated_intent = [node_id] + self.queryPattern = 'executePattern' + self.intentionRecognitionSituation = 'success' + self.intention_recognition_path = Designated_intent + self.currentNodeId = '剧本杀/狼人杀' else: node_id = hash_id('剧本杀/狼人杀') Designated_intent = [node_id] - self.queryPattern = 'executePattern' - self.intentionRecognitionSituation = 'success' - self.intention_recognition_path = Designated_intent - self.currentNodeId = hash_id('剧本杀/狼人杀') + self.queryPattern = 'executePattern' + self.intentionRecognitionSituation = 'success' + self.intention_recognition_path = Designated_intent + self.currentNodeId = hash_id('剧本杀/狼人杀') return 1 #直接结束 if self.scene == 'UNDERCOVER' and self.algorithm_State == "FIRST_INPUT": logging.info(f'现在直接到谁是卧底模式') @@ -228,14 +243,31 @@ def intentionRecongnitionProcess(self): if os.environ['operation_mode'] == 'antcode': node_id = '剧本杀/谁是卧底' Designated_intent = [node_id] + logging.info(f'意图识别结果为:{Designated_intent}') + self.queryPattern = 'executePattern' + self.intentionRecognitionSituation = 'success' + self.intention_recognition_path = Designated_intent + self.currentNodeId = '剧本杀/谁是卧底' else: node_id = hash_id('剧本杀/谁是卧底') Designated_intent = [node_id] + logging.info(f'意图识别结果为:{Designated_intent}') + self.queryPattern = 'executePattern' + self.intentionRecognitionSituation = 'success' + self.intention_recognition_path = Designated_intent + self.currentNodeId = hash_id('剧本杀/谁是卧底') + return 1 #直接结束 + if self.lingsi_response.usingRootNode == True and self.algorithm_State == "FIRST_INPUT": + logging.info(f'现在直接到fatherIntention {self.startRootNodeId}') + + node_id = self.startRootNodeId + Designated_intent = [node_id] logging.info(f'意图识别结果为:{Designated_intent}') self.queryPattern = 'executePattern' self.intentionRecognitionSituation = 'success' self.intention_recognition_path = Designated_intent - self.currentNodeId = hash_id('剧本杀/谁是卧底') + self.currentNodeId = node_id + return 1 #直接结束 @@ -246,8 +278,13 @@ def intentionRecongnitionProcess(self): #step 2 调用 ekg func 主函数, self.intentionRecognitionSituation , self.intentionRecognitionRes #step 3 写入memory #不是第一次输入, 接受的是意图识别问题用户给的答案 + + self.queryPattern 有两种 'executePattern' or 'qaPattern' + self.queryType 整体计划查询; 'allPlan', 下一步任务查询;'nextStep', 闲聊; 'justChat' + + ''' - #step 1 判断是执行式还是答疑式输入 + #step 1.1 判断是执行式还是答疑式输入 if self.intentionRule != ['nlp']: self.queryPattern = 'executePattern' else: @@ -261,11 +298,13 @@ def intentionRecongnitionProcess(self): self.queryPattern = 'executePattern' else: self.queryPattern = 'qaPattern' - if os.environ['operation_mode'] == 'antcode' : - self.queryType = intention_recognition_querytypefunc( self.intentionData ) - elif os.environ['operation_mode'] == 'open_source' : - self.queryType = self.intention_router.get_intention_consult_which( self.intentionData ) - + + #step 1.2 判断是 整体计划查询; 'allPlan', 下一步任务查询;'nextStep', 闲聊; 'justChat' + if os.environ['operation_mode'] == 'antcode' : + self.queryType = intention_recognition_querytypefunc( self.intentionData ) + elif os.environ['operation_mode'] == 'open_source' : + self.queryType = self.intention_router.get_intention_consult_which( self.intentionData ) + logging.info(f'意图分析的结果为 queryType is {self.queryType}, self.queryPattern is {self.queryPattern}') @@ -302,6 +341,8 @@ def intentionRecongnitionProcess(self): #raise ValueError('意图识别noMatch ,退出') elif intentionRecognitionRes['intentionRecognitionSituation'] == 'toChoose': self.intentionRecognitionSituation = 'toChoose' + #raise ValueError('反问逻辑尚未构建,退出') + return 'intention_error' else: return 'intention_error' #raise ValueError('意图识别得到了意料之外的状态值,退出') @@ -407,6 +448,49 @@ def summary_check(self, nodeid_in_subtree): return False return True #所有task节点都有observation,则需要summary + + def initialize_replacements(self, nodeId: str, nodeType: str) -> bool: + """ + 初始化变量,调用self.memory_manager.init_global_msg实现 + """ + # nodeId, nodeType = "剧本杀/谁是卧底/智能交互", "opsgptkg_schedule" + #cur_node = self.geabase_handler.get_current_node(attributes={"id": nodeId}, node_type=nodeType) + #cur_node_envdescription = json.loads(cur_node.attributes['envdescription']) + + try: + node_envdescription = self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'envdescription') + cur_node_envdescription = json.loads(node_envdescription) + except Exception as e: + logging.info(f"发生了一个错误:{e}") + logging.info(f"变量初始化失败,略过") + #logging.info(f"node_envdescription:{node_envdescription}") + return False + + #raise ValueError(f"node_envdescription is {node_envdescription}") + + + # cur_node_envdescription = json.loads('{"witch_poision": "当前女巫的毒药个数为1"}') + + try: + node_envdescription = self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'envdescription') + cur_node_envdescription = json.loads(node_envdescription) + except Exception as e: + logging.info(f"发生了一个错误:{e}") + logging.info(f"输入不是json格式或者为空,变量初始化失败,略过") + logging.info(f"node_envdescription: {node_envdescription}") + return False + + + init_flag = False + try: + for role_name, role_content in cur_node_envdescription.items(): + if role_name and role_content: + init_flag = self.memory_manager.init_global_msg(self.sessionId, role_name, role_content) + except Exception as e: + logging.info(f"变量初始化错误!{e}") + return init_flag + + def first_user_memory_write(self): #如果当前是第一次输入,memory如何填写 @@ -428,8 +512,23 @@ def first_user_memory_write(self): # logging.info(f'type(geabase_search_return_all_node) is {gsran}') nodeid_in_subtree, _ = self.gb_handler.geabase_search_return_all_nodeandedge( last_intention_nodeid, 'opsgptkg_intent') - logging.info(f'整条链路上的节点个数是 len(nodeid_in_subtree) is {len(nodeid_in_subtree)}') nodeid_in_subtree_str = json.dumps(nodeid_in_subtree, ensure_ascii=False) + logging.info(f'整条链路上的节点个数是 len(nodeid_in_subtree) is {len(nodeid_in_subtree)}') + logging.info(f'整条连路上的节点信息是:{nodeid_in_subtree}') + + #nodeid_in_subtree_list = self.gb_handler.geabase_search_reture_nodeslist( last_intention_nodeid, 'opsgptkg_intent') + #nodeid_in_subtree_list_str = json.dumps(nodeid_in_subtree_list, ensure_ascii=False) + + # 获取 `nodeType` 为 `opsgptkg_schedule` 的 `nodeId` + try: + nodeId = [item['nodeId'] for item in nodeid_in_subtree if item['nodeType'] == 'opsgptkg_schedule'][0] + except Exception as e: + logging.info("不存在opsgptkg_schedule节点") + init_flag = self.initialize_replacements(nodeId, nodeType='opsgptkg_schedule') + if init_flag: + logging.info('变量初始化完成!') + else: + logging.info('变量初始化失败!') # logging.info(f'=============================================') # logging.info(f'nodeid_in_subtree_str {nodeid_in_subtree_str}') # logging.info(f'=============================================') @@ -502,8 +601,10 @@ def memorywrite(self): def get_summary(self): #后续待优化,当前只输出所有激活的summary节点 summary_list = [] - nodeid_in_subtree_memory = self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) - nodeid_in_subtree = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) + #nodeid_in_subtree_memory = self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) + #nodeid_in_subtree = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) + + nodeid_in_subtree = self.get_nodeid_in_subtree(self.sessionId, self.currentNodeId) for i in range(len(nodeid_in_subtree)): if nodeid_in_subtree[i]['nodeType'] == 'opsgptkg_analysis': #从nodeid_in_subtree中找到analysis的节点 nodeId = nodeid_in_subtree[i]['nodeId'] @@ -555,17 +656,35 @@ def get_summary(self): return summary_str - def get_nodeid_in_subtree(self): - logging.info(f'self.sessionId is {self.sessionId}') - # nodeid_in_subtree_memory= self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) - nodeid_in_subtree_memory= self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) + def get_nodeid_in_subtree(self, sessionId, nodeId): + #logging.info(f' sessionId is {self.sessionId}, nodeId is {nodeId}') + nodeid_in_subtree_memory = self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) + nodeid_in_subtree = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) + return nodeid_in_subtree + - logging.info(f'nodeid_in_subtree_memory is {nodeid_in_subtree_memory}') + # if nodeId == None: + # logging.info(f' nodeId == None, 为第一次输入,调用 geabase_search_return_all_nodeandedge 取 nodeid_in_subtree的值' ) + # nodeid_in_subtree, _ = self.gb_handler.geabase_search_return_all_nodeandedge( last_intention_nodeid, 'opsgptkg_intent') + # return nodeid_in_subtree + + + # # nodeid_in_subtree_memory= self.memory_manager.get_memory_pool_by_all({ "chat_index": self.sessionId, "role_type": "nodeid_in_subtree"}) + # nodeid_in_subtree_memory= self.memory_manager.get_memory_pool_by_all({ "chat_index": sessionId, "role_type": "nodeid_in_subtree"}) - nodeid_in_subtree = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) - # logging.info(f'nodeid_in_subtree is {nodeid_in_subtree}') - return nodeid_in_subtree, nodeid_in_subtree_memory + + # logging.info(f'nodeid_in_subtree_memory is {nodeid_in_subtree_memory}') + + # nodeid_in_subtree_list = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) + # if len(nodeid_in_subtree_list) == 0: + # return nodeid_in_subtree_list[0] + # for nodeid_in_subtree in nodeid_in_subtree_list: + # for one_node_info in nodeid_in_subtree: + # if one_node_info['nodeId'] == nodeId: + # return nodeid_in_subtree + + # raise ValueError('len(nodeid_in_subtree_list)>0 但是当前节点不在nodeid_in_subtree_list 中') def qaProcess(self, nodeid_in_subtree): ''' @@ -592,6 +711,53 @@ def qaProcess(self, nodeid_in_subtree): res = '输入为闲聊,暂不做回复' return res + + def grProcess(self, scene:str, sessionId:str, currentNodeId:str, algorithm_State:bool, + lingsi_response:LingSiResponse, + geabase_handler, + memory_handler, llm_config)->dict: + ''' + 调用 泛化推理 + ''' + logging.info(f'当前scene为{scene}') + if scene == 'generalizationReasoning_nonretrieval': + generalizaiton_reasoning = GeneralizationReason( sessionId = sessionId, + currentNodeId = currentNodeId, + memory_handler = memory_handler, + geabase_handler = geabase_handler, + llm_config=llm_config, + retrieval_flag = False) + elif scene == 'generalizationReasoning_test': + generalizaiton_reasoning = GeneralizationReason( sessionId = sessionId, + currentNodeId = currentNodeId, + memory_handler = memory_handler, + geabase_handler = geabase_handler, + llm_config=llm_config, + retrieval_flag = True) + elif scene == 'generalizationReasoning' or scene =='NEXA': + generalizaiton_reasoning = GeneralizationReason( sessionId = sessionId, + currentNodeId = currentNodeId, + memory_handler = memory_handler, + geabase_handler = geabase_handler, + llm_config=llm_config, + retrieval_flag = True) + else: + raise ValueError(f'scene if {scene}') + if algorithm_State == 'FIRST_INPUT': + if type(lingsi_response.observation) == str: + lingsi_response.observation = json.loads(lingsi_response.observation) + input_str_gr = lingsi_response.observation['content'] + else: + if type(lingsi_response.observation) == str: + lingsi_response.observation = json.loads(lingsi_response.observation) + input_str_gr = lingsi_response.observation['toolResponse'] + + res_to_lingsi = generalizaiton_reasoning.process( + sessionId = sessionId, + currentNodeId = 'generalization_reason', + input_str = input_str_gr) + return res_to_lingsi + def outputFuc(self): try: tool_plan = self.tool_plan @@ -608,7 +774,7 @@ def outputFuc(self): if self.gb_handler.get_extra_tag(rootNodeId = self.currentNodeId, rootNodeType = currentNodeType, key = 'dodisplay') == 'True' \ or self.gb_handler.get_extra_tag(rootNodeId = self.currentNodeId, rootNodeType = currentNodeType, key = 'dodisplay') == 'Ture' \ or self.gb_handler.get_tag(rootNodeId = self.currentNodeId, rootNodeType = currentNodeType, key = 'dodisplay') == 'True' : - outputinfo_str = self.memory_handler.get_output(self.sessionId, self.start_datetime, self.end_datetime) + outputinfo_str = self.memory_handler.get_output(self.sessionId, self.start_datetime, self.end_datetime, self.lingsi_response.agentName) else: dodisplaystr = self.gb_handler.get_tag(rootNodeId = self.currentNodeId, rootNodeType = currentNodeType, key = 'dodisplay') logging.info(f" 查询dodisplay字段结果为空, 或者为{dodisplaystr},本次不对外输出") @@ -696,6 +862,16 @@ def outputFuc(self): "toolPlan": None , "userInteraction": outputinfo_str, } + elif self.toolResponseError_flag == True: + logging.info("出现了tool 执行错误,终止, 当前能返回什么summary就返回什么summary") + res_to_lingsi = { + 'intentionRecognitionSituation': self.intentionRecognitionSituation, + "sessionId": self.sessionId, + "type": "summary", + "summary" : self.get_summary(), + "toolPlan": None , + "userInteraction": outputinfo_str, + } else: raise ValueError('图谱扩散得到了预料之外的情况,退出') @@ -705,26 +881,115 @@ def outputFuc(self): def process(self): #step1 根据当前情况,判断当前算法输入所处的状态 logging.info(f'#step1 根据当前情况,判断当前算法输入所处的状态 self.inputType is {self.inputType}') - self.state_judgement() + self.algorithm_State = self.state_judgement(self.inputType) logging.info(f'#step1 over,当前算法状态为{self.algorithm_State}') + #step1.1 其他情况, 泛化推理 或者 WebAgent + html = None + task_query = None + + gr_flag = self.memory_handler.message_get( + sessionId = self.sessionId, + nodeId = 'gr', + hashpostfix='gr', + role_name='gr', + role_type='gr') + logging.info(f'gr_flag is {gr_flag}') + + if self.scene == 'WebAgent': + logging.info(f'当前scene为{self.scene}') + + if type(self.lingsi_response.observation) == str: + self.lingsi_response.observation = json.loads(self.lingsi_response.observation) + + if self.algorithm_State == 'FIRST_INPUT': + task_query = self.lingsi_response.observation['content'] + html = self.lingsi_response.observation['toolResponse'] + + else: + html = self.lingsi_response.observation['toolResponse'] + #html = html[0:50000] + + agent = WebAgent(memory_manager=self.memory_manager, llm_model_name = 'Qwen2_72B_Instruct_OpsGPT') + logging.info(f'self.sessionId is {self.sessionId}') + res_to_lingsi = agent.web_action(chat_index=self.sessionId , + html = html, task_query = task_query) + + return res_to_lingsi + # example :[{ + # "toolDescription": "toolDescriptionA", + # "currentNodeId": "INT_1", + # "memory": JsonStr, + # "type":"onlyTool", + # }] + + + + elif self.scene == 'generalizationReasoning_test' or \ + self.scene == 'generalizationReasoning_nonretrieval' or \ + self.scene == 'generalizationReasoning' or \ + gr_flag == 'gr': + #print(f'scene is {self.scene}') + #根据scene 直接触发 grProcess + + self.memory_handler.message_save( + sessionId = self.sessionId, + nodeId = 'gr', + role_content='gr', + hashpostfix='gr', + user_name='gr', + role_name='gr', + role_type='gr') + + res_to_lingsi = self.grProcess(scene = self.scene, sessionId = self.sessionId, + currentNodeId = self.currentNodeId, algorithm_State = self.algorithm_State, + lingsi_response = self.lingsi_response, + geabase_handler = self.geabase_handler, + memory_handler = self.memory_handler, + llm_config = self.llm_config) + + return res_to_lingsi + + + #step2 意图识别 logging.info('#step2 意图识别') intention_error_flag = self.intentionRecongnitionProcess() if intention_error_flag == 'intention_error': - - - logging.info("所有分支到达终点,summary") - res_to_lingsi = { - 'intentionRecognitionSituation': self.intentionRecognitionSituation, - "sessionId": self.sessionId, - "type": "summary", - "summary" : '意图识别未检验到相关数据,终止', - "toolPlan": None , - "userInteraction": None, - } - return res_to_lingsi + # 意图识别查询失败 + + if self.queryType != 'justChat' and os.environ['operation_mode'] == 'antcode': + logging.info(f'意图识别查询失败, 表示没有数据,同时现在不是闲聊 需要泛化推理') + + self.memory_handler.message_save( + sessionId = self.sessionId, + nodeId = 'gr', + role_content='gr', + hashpostfix='gr', + user_name='gr', + role_name='gr', + role_type='gr') + + res_to_lingsi = self.grProcess(scene = self.scene, sessionId = self.sessionId, + currentNodeId = self.currentNodeId, algorithm_State = self.algorithm_State, + lingsi_response= self.lingsi_response, + geabase_handler = self.geabase_handler, + memory_handler = self.memory_handler, llm_config = self.llm_config) + return res_to_lingsi + else: + logging.info('意图识别查询失败, 表示没有数据,且现在是闲聊。直接终止') + res_to_lingsi = { + 'intentionRecognitionSituation': self.intentionRecognitionSituation, + "sessionId": self.sessionId, + "type": "summary", + "summary" : '意图识别未检验到相关数据,且提问和已沉淀知识无关,终止', + "toolPlan": None , + "userInteraction": None, + } + return res_to_lingsi + + logging.info(f'#step2 意图识别 over,') #step3 memory 写入 @@ -734,7 +999,7 @@ def process(self): #step4 #get_nodeid_in_subtree logging.info('#step4 get_nodeid_in_subtree') - nodeid_in_subtree, nodeid_in_subtree_memory = self.get_nodeid_in_subtree() + nodeid_in_subtree = self.get_nodeid_in_subtree(self.sessionId, self.currentNodeId) self.nodeid_in_subtree = nodeid_in_subtree logging.info('#step4 get_nodeid_in_subtree') @@ -742,6 +1007,11 @@ def process(self): logging.info(f'step5 #summary_flag 判断') self.summary_flag = self.gst.geabase_summary_check(self.sessionId, nodeid_in_subtree) logging.info(f'step5 over, summary_flag is {self.summary_flag}') + + #step5.1 #toolResponseError_flag 判断 + logging.info(f'step5 #toolResponseError_flag 判断') + self.toolResponseError_flag = self.gst.toolResponseError_check(self.lingsi_response) + logging.info(f'step5 over, toolResponseError_flag is {self.summary_flag}') #step 6 self.currentNodeId 更新 得到 start_nodetype logging.info(f'step 6 self.currentNodeId 更新 得到 start_nodetype') @@ -783,7 +1053,7 @@ def process(self): logging.info(f'图谱扩散的输入 self.sessionId {self.sessionId}; currentNodeId {currentNodeId}; start_nodetype {start_nodetype}') tool_plan, tool_plan_3 = self.gst.geabase_nodediffusion_plus(self.sessionId, -currentNodeId, start_nodetype, agent_respond ) +currentNodeId, start_nodetype, agent_respond , self.lingsi_response) self.tool_plan = tool_plan self.tool_plan_3 = tool_plan_3 logging.info(f'step 8 图谱扩散 over') @@ -813,12 +1083,24 @@ def main(params_string, memory_manager, geabase_handler, intention_router = No params = params_string if type(params) == str: params = json.loads(params) + logging.info(f'=======开始新一轮输入=============') + logging.info(f'=======开始新一轮输入=============') + logging.info(f'=======开始新一轮输入=============') + logging.info(f'=======开始新一轮输入=============') + logging.info(f'=======开始新一轮输入=============') logging.info(f'params={params}') + logging.info(f'llm_config={llm_config}') + lingsi_response = LingSiResponse(**params) + lingsi_response = lingsi_response_process(lingsi_response) # process,currentnodeid 和 agentname都放到currentnodeid里,需要分割开来 + logging.info(f'lingsi_response is {lingsi_response}') + #params = lingsi_response.dict() + scene = params.get('scene', None) sessionId = params.get('sessionId', None) # - currentNodeId = params.get('currentNodeId', None) # + #currentNodeId = params.get('currentNodeId', None) # + currentNodeId = lingsi_response.currentNodeId observation = params.get('observation', None) # userAnswer = params.get('userAnswer', None) # inputType = params.get('type', None) # @@ -827,9 +1109,13 @@ def main(params_string, memory_manager, geabase_handler, intention_router = No intentionData = params.get('intentionData', None) # startFromRoot = params.get('startFromRoot', True) # + + - if scene in ['WEREWOLF' , 'NEXA', 'UNDERCOVER']: + + if scene in ['WEREWOLF' , 'NEXA', 'UNDERCOVER', + 'generalizationReasoning_nonretrieval', 'generalizationReasoning', 'WebAgent']: #标注这个sessionId属于新逻辑 message = Message( @@ -901,10 +1187,11 @@ def main(params_string, memory_manager, geabase_handler, intention_router = No else: logging.info(f'当前不为graphStructureSearch模式, 正常EKG') - state, last_res_to_lingsi = abnormal_and_retry(inputType, observation, sessionId, memory_manager) - if state == 'retry_now': - logging.info('现在进行重试,返回上一次在memory存储的结果') - return last_res_to_lingsi + # #重试逻辑,如果返回值 observation中没有toolresponse, 则进行重试 + # state, last_res_to_lingsi = abnormal_and_retry(inputType, observation, sessionId, memory_manager) + # if state == 'retry_now': + # logging.info('现在进行重试,返回上一次在memory存储的结果') + # return last_res_to_lingsi @@ -912,6 +1199,7 @@ def main(params_string, memory_manager, geabase_handler, intention_router = No geabase_handler = geabase_handler, memory_manager=memory_manager, intention_router = intention_router, + lingsi_response = lingsi_response, scene= scene, sessionId=sessionId, currentNodeId = currentNodeId, observation = observation, userAnswer = userAnswer, inputType = inputType, @@ -928,6 +1216,28 @@ def main(params_string, memory_manager, geabase_handler, intention_router = No return res_to_lingsi + + +def lingsi_response_process(lingsi_response:LingSiResponse)->LingSiResponse: + ''' + # currentnodeid 和 agentname都放到currentnodeid里,需要分割开来 + # 是在agentname字段未上线的临时方案 + # 后续可以去除 + ''' + + currentNodeId_add_agentName = lingsi_response.currentNodeId + if currentNodeId_add_agentName == None: + #不做任何处理 + return lingsi_response + elif '%%@@#' not in currentNodeId_add_agentName: + #lingsi_response.currentNodeId = lingsi_response.currentNodeId + #lingsi_response.agentName = None + return lingsi_response + else: + currentNodeId, agentName = currentNodeId_add_agentName.split('%%@@#') + lingsi_response.currentNodeId = currentNodeId + lingsi_response.agentName = agentName + return lingsi_response def save_res_to_memory(res_to_lingsi, sessionId, memory_manager): ''' diff --git a/muagent/service/ekg_reasoning/src/graph_search/task_node_agent.py b/muagent/service/ekg_reasoning/src/graph_search/task_node_agent.py new file mode 100644 index 0000000..4578604 --- /dev/null +++ b/muagent/service/ekg_reasoning/src/graph_search/task_node_agent.py @@ -0,0 +1,1487 @@ +# -*- coding: utf-8 -*- +#此代码为在aistudio上运行的代码 + +#路径增加 +import sys +import os +import re +from typing import List, Dict, Optional, Tuple, Literal,Union +src_dir = os.path.join( + os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +) +# print(src_dir) +sys.path.append(src_dir) + + +src_dir = os.path.join( + os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))))) +) +sys.path.append(src_dir) +# print(src_dir) + + + + + + + +#一般依赖包 +import json +import requests +import time +import logging +import copy +import sys +import os, base64 +from loguru import logger +import uuid + + + +#muagent 依赖包 +from muagent.connector.schema import Message +from muagent.schemas.db import TBConfig +from muagent.db_handler import * +from muagent.connector.memory_manager import TbaseMemoryManager +from muagent.llm_models.llm_config import EmbedConfig, LLMConfig +from muagent.schemas.db import GBConfig +from muagent.service.ekg_construct import EKGConstructService +from muagent.service.ekg_inference import IntentionRouter +from muagent.schemas.ekg.ekg_reason import LingSiResponse, ToolPlanOneStep, PlanningRunningAgentReply, ActionOneStep, ActionPlan + +from src.graph_search.task_node_prompt import REACT_RUNNING_PROMPT, PLANNING_RUNNING_PROMPT, \ + PLANNING_RUNNING_PROMPT_SUFFIX_1,PLANNING_RUNNING_PROMPT_SUFFIX_2, PLANNING_RUNNING_AGENT_REPLY_TEMPLATE, \ + PLANNING_RUNNING_PROMPT_DM_SPEECH,PARALLEL_RUNNING_PROMPT +# from loguru import logger as logging +from src.utils.call_llm import call_llm, extract_final_result , robust_call_llm +from src.geabase_handler.geabase_handlerplus import GB_handler +from src.utils.normalize import hash_id +from src.memory_handler.ekg_memory_handler import memory_handler_ekg + + + + + +def is_valid_json(string): + try: + json.loads(string) + return True + except ValueError: + return False + +def remove_duplicate_keys(data): + if not isinstance(data, dict): + return data + + result = {} + for key, value in data.items(): + if key not in result: + result[key] = remove_duplicate_keys(value) + else: + result[key] = value + + return result + +def robust_json_loads(llm_result): + ''' + 将llm的输出转换为json, 有一定的概率这个json 在格式上是不完备的。不然少了 } 或者] + ''' + + try: + llm_result_json = json.loads(llm_result) + except: + # for _ in range(2): + try: + logging.info('大模型的输出转换json报错, 现在再用大模型修正一遍') + input_query = f''' + ##输入## + {llm_result} + ##任务## + 上述**输入**可能是一个不完整的dict,如果是这种情况,请将上述转换**输入**为完整的 dict。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 + 上述**输入**也可能是包含多个dict,如果是这种情况,只保留第一个dict即可。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 + ##直接输出结果## + ''' + '以{开头,任何其他内容都是不允许的!' + ouput_result = call_llm(input_query ) + logging.info(f'修正后的输出为{ouput_result}') + llm_result_json = json.loads(ouput_result) + + + except: + logging.info('大模型的输出转换json报错, 现在再用大模型修正一遍') + input_query = f''' + ##输入## + {llm_result} + ##任务## + 上述**输入**可能是一个不完整的dict,如果是这种情况,请将上述转换**输入**为完整的 dict。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 + 上述**输入**也可能是包含多个dict,如果是这种情况,只保留第一个dict即可。 不要新增任何内容,只将格式补全/修正为一个完整dict格式即可 + ##直接输出结果## + ''' + '以{开头,任何其他内容都是不允许的!' + ouput_result = call_llm(input_query, temperature = 0.1) + logging.info(f'修正后的输出为{ouput_result}') + llm_result_json = json.loads(ouput_result) + if type(llm_result_json)!=dict: + llm_result_json = llm_result_json[0] + logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') + raise ValueError(f'llm的输出应该是一个dict才对 ,经过修正仍然报错') + return llm_result_json + +def agent_respond_extract_output(input_str): + if input_str == None: + return None + if 'output' not in input_str: + return input_str + input_str = input_str.split('output')[-1] #取output后面的值 + input_str = input_str.replace('"', '').replace(':', '').replace('}', '').replace('{', '') #去除掉可能的符号 + return input_str + + + +class TaskNodeAgent(): + ''' + 在图谱推理过程中task node 的运行agent + 需要同时 使用memory and geabase + ''' + def __init__(self, geabase_handler, memory_manager, llm_config=None): + self.geabase_handler = geabase_handler + self.memory_manager = memory_manager + self.gb_handler = GB_handler(self.geabase_handler) #gb_handler 以 geabase_handler 为基础,封装了一些处理逻辑 + self.memory_handler = memory_handler_ekg(memory_manager, geabase_handler) + self.llm_config = llm_config + + + + + def robust_call_llm_with_llmname(self, input_query, rootNodeId, stop = [], temperature = 0, presence_penalty=0): + + #logging.info('using a gpt_4') + res = call_llm(input_content = input_query, + llm_model = None , + stop = stop,temperature=temperature, presence_penalty=presence_penalty, + llm_config=self.llm_config) + return res + + + # model_name = self.gb_handler.get_extra_tag( rootNodeId = rootNodeId, rootNodeType = 'opsgptkg_task', key = 'model_name') + # logging.info(f'model_name is {model_name}') + # if model_name == None: + # model_name = 'gpt_4' + # if model_name == 'gpt_4': + # try: + # logging.info('using a gpt_4') + # res = call_llm(input_content = input_query, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty) + # except: + # logging.info('using Qwen2_72B_Instruct_OpsGPT') + # res = call_llm(input_content = input_query, llm_model = 'Qwen2_72B_Instruct_OpsGPT',stop = stop, temperature=temperature,presence_penalty=presence_penalty) + # return res + # else: + # try: + # logging.info('using Qwen2_72B_Instruct_OpsGPT') + # res = call_llm(input_content = input_query, llm_model = 'Qwen2_72B_Instruct_OpsGPT',stop = stop, temperature=temperature,presence_penalty=presence_penalty) + # except: + # logging.info('using a gpt_4') + # res = call_llm(input_content = input_query, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty) + # return res + + def stop_at_observation(self, historytext, llm_text): + + + # 检查llm_text是否完全不包含"observation" + if "observation" not in llm_text: + return llm_text + + # 检查historytext中是否有"observation" + if "observation" not in historytext: + return llm_text.split("observation", 1)[0] + + # 统计historytext中的"observation"数量 + n_hist = historytext.count("observation") + + # 统计llm_text中的"observation"数量 + n_llm = llm_text.count("observation") + + # 如果两者数量相等,返回第n个observation之后的文本 + if n_hist == n_llm: + parts = llm_text.rsplit("observation", n_hist) + return parts[-1] # 返回最后一个部分(即最后一个"observation"之后的文本) + + # 如果上述条件都不满足,找到第n个和第n+1个"observation"之间的文本 + else: + parts = llm_text.split("observation", n_hist + 1) # 分割出n+1个部分 + if len(parts) > n_hist + 1: # 确保有足够多的部分来获取所需范围 + return parts[n_hist] # 返回第n个和第n+1个observation之间的文本 + else: + return "" # 如果没有找到合适的范围,则返回空字符串或其他适当处理 + + + + def sort_messages_by_time(self, messages): + # 使用 sorted() 对列表进行排序,key 参数指定排序依据 + return sorted(messages, key=lambda msg: msg.start_datetime) + + + + def endcheck(self, nodeId, nodeType, oneNodeName='None', oneNodeDescription='None', current_node_history_json='None'): + ''' + 借助gpt4 来帮忙判断本阶段任务是否结束 + ''' + logging.info(f'endcheck nodeId is {nodeId} nodeType is {nodeType}') + oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, + node_type=nodeType) + extra = oneNode.attributes['extra'] + print(extra) + try: + + extra_json = json.loads(extra) + if extra_json['endcheck'] == 'True': + endcheck_flag = True + else: + endcheck_flag = False + except: + endcheck_flag= False + + if endcheck_flag == False: + return True #endcheck 通过 + + else: + endcheck_llm_input = oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ + '\n##请结合已有步骤,判断本阶段任务是否结束,只返回中文的 是 或者 否即可,不要输出其他内容:##\n' + + logging.info('=============endcheck_llm_result==================') + logging.info(endcheck_llm_input) + llm_result = self.robust_call_llm_with_llmname(endcheck_llm_input, nodeId) + logging.info('=============endcheck_llm_result==================') + logging.info(llm_result) + + if '是' in llm_result: + return False + else: + return True + + + def naive_agent_input_prompt(self, histroy:str, node_name:str, node_decription:str, running_type_prompt:str, + suffix_1:str = '', suffix_2:str = '') -> str: + llm_input = histroy + '\n' + node_name + '\n' + node_decription + '\n' + running_type_prompt\ + + suffix_1 + suffix_2 + return llm_input + + + def task_running(self, sessionId : str, nodeId: str, nodeType:str, lingsi_respond: LingSiResponse): + ''' + 通用的节点task_running 模块, 根据情况,当前分为 react, parallel,plan + ''' + + if self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'action') == 'react': + logging.info(f'======对于节点{nodeId},当前节点为 react 模式======') + return self.react_running( sessionId ,nodeId , nodeType , lingsi_respond ) + elif self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'action') == 'parallel': + logging.info(f'======对于节点{nodeId}, 当前节点为 parallel 模式======') + return self.parallel_running( sessionId ,nodeId , nodeType , lingsi_respond ) + elif self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'action') == 'plan': + logging.info(f'======对于节点{nodeId}, 当前节点为 plan 模式======') + return self.planning_running( sessionId ,nodeId , nodeType , lingsi_respond ) + else: + action = self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = nodeType, key = 'action') + logging.info(f'action当前字段为{action}') + raise ValueError('action 字段格式不合法,当前仅支持 react parallel plan 三种模式') + + + def judge_running_state(self, sessionId: str, nodeId: str)-> bool : + ''' + 判断当前节点是否是第一次运行 + ''' + get_messages_res = self.memory_handler.nodecount_get( sessionId, nodeId) + + if get_messages_res == [] : + logging.info('当前这个{sessionId} react节点 是第一次运行') + first_run_flag = True + else: + if json.loads(get_messages_res[0].role_content)['nodestage'] == 'end' :#在上一轮已经结束了,这一轮还未开始 + logging.info('当前这个{sessionId} react节点在上一轮已经结束了,这一轮还未开始,在这一轮也算是第一次执行') + first_run_flag = True + else: + logging.info('当前这个{sessionId} react节点 不是第一次执行') + first_run_flag = False + return first_run_flag + + + def parallel_running(self, sessionId : str, nodeId: str, nodeType:str, lingsi_respond: LingSiResponse): + ''' + parallel 模块 + + ''' + #step0 根据返回值,得到实际agent执行内容 + + logging.info(f'react_running 接受到的 lingsi_respond is {lingsi_respond}') + try: + if lingsi_respond == None:#第一次该该节点被调用是,输入式将lingsi_respond设置为None + agent_respond = None + else: + if type(lingsi_respond.observation) ==str: + agent_respond = json.loads(lingsi_respond.observation)['toolResponse'] + else: + agent_respond = lingsi_respond.observation['toolResponse'] + agent_respond = agent_respond_extract_output(agent_respond) + except Exception as e: + logging.info(f'lingsi_respond is {lingsi_respond}' ) + raise ValueError(f'从lingsi_respond中提取 agent_respond报错, 报错信息:{e}') + + + + #stpe1 判断当前状态, 看是否是第一次运行, 如果是,则需要将节点初始化 + first_run_flag = self.judge_running_state( sessionId,nodeId) + if first_run_flag == True: + # 当react的状态是 end 或者为空的时候调用此函数,进行初始化 或者 chapter + 1 + self.memory_handler.init_react_count(sessionId, nodeId) + + + #step2 获取节点名字 + 节点描述 + # 变量替换 + oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, + node_type=nodeType) + oneNodeName = oneNode.attributes['name'] + oneNodeDescription = oneNode.attributes['description'] + oneNodeDescription = self.fill_replacements(oneNodeDescription, sessionId) + + + + + #step3.1 获取memory, 构成给大模型的输入 + #获取memory, 主持人能看到的memory, 和获取tool的memory类似 + assembled_memory = self.get_memory_for_dm(sessionId, nodeId) + assembled_memory = json.dumps(assembled_memory, ensure_ascii=False) + logging.info(f'assembled_memory is {assembled_memory}') + + #step3.2 获取当前节点的历史运行情况。如果是第一次运行,需要将react node 的name 存入到 memory中 + #如果不是第一次运行,肯定有历史history 和 action plan + if first_run_flag == True: + current_node_history = '' + current_node_history_json = [] + #第一次运行,对于react模块,只将标题放置在memory里, 因为对于react模块,description太多了,循环的情况下,很罗嗦且超过上下文 + self.memory_handler.react_nodedescription_save(sessionId, nodeId, oneNodeName) + else: + #不是第一次运行。那么肯定历史history进来 + logging.info(f'#不是第一次运行。那么肯定存储了plan') + current_node_history = self.memory_handler.react_current_history_get(sessionId, nodeId) + current_node_history_json = json.loads(current_node_history) + + action_plan = json.loads( self.memory_handler.current_plan_get(sessionId, nodeId ) ) + #action_plan = json.loads(json.dumps(action_plan, ensure_ascii=False)) #去除乱码 + logging.info(f'对于parallel, 之前存储的action_plan is {action_plan} ,type(action_plan) is {type(action_plan) } ') + action_plan =ActionPlan(**action_plan) + + + #step4 执行 llm(如果是第一次调用),生成action_plan + #如不是第一次调用,将已运行的agent_name 存下来 + if first_run_flag == True: + + llm_input = self.naive_agent_input_prompt(assembled_memory, oneNodeName, oneNodeDescription ,PARALLEL_RUNNING_PROMPT + , PLANNING_RUNNING_PROMPT_SUFFIX_1 , PLANNING_RUNNING_PROMPT_SUFFIX_2) + + logging.info('=============llm_input==================') + logging.info(llm_input) + + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + + logging.info('=============llm_result==================') + logging.info(llm_result) + llm_result_json = robust_json_loads(llm_result) + llm_result_PRAR = PlanningRunningAgentReply(**llm_result_json) + + current_node_history_json.append(llm_result_json) #将当前记录放到current_node_history_json里 + + logging.info('planning_running 第一次大模型调用结束') + + + + #此时的action_plan 是一个string + #action_plan = llm_result_json["action_plan"] + # 将 sss 中的字典转换为 ActionOneStep 对象 + #action_steps = [ActionOneStep(**step) for step in sss] + + # 创建 ActionPlan 对象并设置 data 属性 + action_plan = llm_result_PRAR.action_plan + + + + else: + logging.info('不是第一次调用,无需执行大模型, 将已运行的agent_name 存下来') + self.memory_handler.processed_agentname_save(sessionId, nodeId, lingsi_respond.agentName ) + + #if lingsi_respond.agentName == '主持人' + + + + #step5 分析 llm_result 执行结果,如果第一次运行,则提取execute_agent_names from action_plan + #如果不是第一次运行,则判断 remain_action_plan,看是否节点任务结束 + + if first_run_flag == True and len(action_plan.data) >0 : + react_flag = 'waiting_other_agent' + + logging.info(f'当前为{react_flag}, 因为初次运行且plan不为空') + execute_agent_names = [action_plan.data[i].agent_name for i in range(len(action_plan.data))] + #将该节点的count 设置为 runninng + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') + + + else: + processed_agentname = self.memory_handler.processed_agentname_get(sessionId, nodeId)#list + logging.info(f'已经处理的agent_name 为 {processed_agentname}') + if processed_agentname == []: + raise ValueError(f'此时不是第一次运行,在memory中应该已经有processed_agentname才对,但是processed_agentname is {processed_agentname} ') + + remain_action_plan = [] + for i in range(len(action_plan.data)): + if action_plan.data[i].agent_name not in processed_agentname: + remain_action_plan.append(action_plan.data[i]) + + logging.info(f'剩余待处理的的agent_name 为 {remain_action_plan}') + if len(remain_action_plan) == 0: + execute_agent_names = [] + react_flag = 'end' + logging.info(f'当前为{react_flag}, 将本次节点的count设置为end, 因为remain_action_plan 为空 ') + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'end') + else: + react_flag = 'waiting_other_agent' + logging.info(f'当前为{react_flag}, 因为第一次大模型生成的plan还没有执行成完,还需等待其他步骤执行完毕 ') + execute_agent_names = [] #对于parallel 模式,中途的结果不给下一步指示,因为tool_plan在第一次就并行执行了 + + #将该节点的count 设置为 runninng + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') + + + #step6 分析 llm_result 执行结果, 并保存 + + if first_run_flag == True: + action_plan_json = llm_result_json["action_plan"] + # 将 sss 中的字典转换为 ActionOneStep 对象 + action_steps = [ActionOneStep(**step) for step in action_plan_json] + + # 创建 ActionPlan 对象并设置 data 属性 + action_plan = ActionPlan(data=action_steps) + action_plan_json_str = json.dumps(action_plan.dict() ,ensure_ascii=False) + + logging.info(f'将要存储action_plan, action_plan_json_str is {action_plan_json_str}') + #存plan + self.memory_handler.current_plan_save(sessionId, nodeId, json.dumps(action_plan.dict() ,ensure_ascii=False) ) + #存对话 + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False) ) + + else: + #存agent返回结果的对话 + #agent_respond_template = self.plan_running_agent_responds_build() + + + agent_respond_template = copy.deepcopy(PLANNING_RUNNING_AGENT_REPLY_TEMPLATE) + + agent_respond_template['action']['agent_name'] = lingsi_respond.agentName + agent_respond_template['action']['player_name'] = action_plan.get_player_name_by_agent_name(lingsi_respond.agentName) + #agent_respond_template['observation'] = [{ "memory_tag":[nodeId],"content": agent_respond}] # + first_memory_tag = current_node_history_json[0]['Dungeon_Master'][0]['memory_tag'] #取大模型第一次选中的memory_tag,在这一轮里沿用 + agent_respond_template['observation'] = [{ "memory_tag":first_memory_tag,"content": agent_respond}] + + ## TODO: "memory_tag":["all"] 这是一个临时解决方案,需要在后续版本中替换为更优的算法,具体为 无论是planning还是parallel,可见范围都最好需要时立即能知道。所以不能等到玩家发言后,再到前端显示 + ## 当前设置为all了,但是这是不对的, 有一个解决方案是,将主持人最开始的memory_tag作为后续所有的memory_tag,有一个风险是需要区分 信息的可见范围以及 plan的区别 + ## 可以看见这些memory不一定表示 要参与行动。 + + + current_node_history_json.append(agent_respond_template) + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False) ) + logging.info(f'current_node_history_json is {current_node_history_json}##### lingsi_respond is {lingsi_respond}; ##### agent_respond is {agent_respond} ##### agent_respond_template is {agent_respond_template}' ) + + + #step7 存储 memory # for other agent + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + + update_flag = self.update_replacement(sessionId, nodeId) + if react_flag == 'end': + if update_flag: + logging.info("变量更新成功!") + else: + logging.info("无变量更新或变量更新失败") + #step8 返回 question_plan + if react_flag == 'end': + question_plan = [] + elif react_flag == 'waiting_other_agent': + question_plan = self.react_get_question_plan(sessionId, nodeId, execute_agent_names) + logging.info(f'parallel question_plan is {question_plan}') + else: + question_plan = [] + return react_flag, question_plan + + + def planning_running(self, sessionId : str, nodeId: str, nodeType:str, lingsi_respond: LingSiResponse): + + ''' + planning 模块 + + ''' + #step0 根据返回值,得到实际agent执行内容 + + logging.info(f'planning_running 接受到的 lingsi_respond is {lingsi_respond}') + try: + if lingsi_respond == None:#第一次该该节点被调用是,输入式将lingsi_respond设置为None + agent_respond = None + else: + if type(lingsi_respond.observation) ==str: + agent_respond = json.loads(lingsi_respond.observation)['toolResponse'] + else: + agent_respond = lingsi_respond.observation['toolResponse'] + agent_respond = agent_respond_extract_output(agent_respond) + except Exception as e: + logging.info(f'lingsi_respond is {lingsi_respond}' ) + raise ValueError(f'从lingsi_respond中提取 agent_respond报错, 报错信息:{e}') + + + + + #stpe1 判断当前状态, 看是否是第一次运行 + first_run_flag = self.judge_running_state( sessionId,nodeId) + if first_run_flag == True: + # 当react的状态是 end 或者为空的时候调用此函数,进行初始化 或者 chapter + 1 + self.memory_handler.init_react_count(sessionId, nodeId) + + + #step2 获取节点名字 + 节点描述 + oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, + node_type=nodeType) + oneNodeName = oneNode.attributes['name'] + oneNodeDescription = oneNode.attributes['description'] + + + oneNodeDescription = self.fill_replacements(oneNodeDescription, sessionId) + + # 变量替换 + + + #step3.1 获取memory, 构成给大模型的输入 + #获取memory, 主持人能看到的memory, 和获取tool的memory类似 + assembled_memory = self.get_memory_for_dm(sessionId, nodeId) + assembled_memory = json.dumps(assembled_memory, ensure_ascii=False) + logging.info(f'assembled_memory is {assembled_memory}') + + #step3.2 获取当前节点的历史运行情况。如果是第一次运行,需要将react node 的name 存入到 memory中 + if first_run_flag == True: + current_node_history = '' + current_node_history_json = [] + #第一次运行,对于react模块,只将标题放置在memory里, 因为对于react模块,description太多了,循环的情况下,很罗嗦且超过上下文 + self.memory_handler.react_nodedescription_save(sessionId, nodeId, oneNodeName) + else: + #不是第一次运行。那么肯定历史history进来 + logging.info(f'#不是第一次运行。那么肯定存储了plan') + current_node_history = self.memory_handler.react_current_history_get(sessionId, nodeId) + current_node_history_json = json.loads(current_node_history) + + + + #step4 执行 llm(如果是第一次调用) 获取action plan; 如果不是第一次调用,无需执行大模型,将已运行的agent_name 存下来 + if first_run_flag == True: + + llm_input = self.naive_agent_input_prompt(assembled_memory, oneNodeName, oneNodeDescription ,PLANNING_RUNNING_PROMPT + , PLANNING_RUNNING_PROMPT_SUFFIX_1 , PLANNING_RUNNING_PROMPT_SUFFIX_2) + + logging.info('=============llm_input==================') + logging.info(llm_input) + + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + + logging.info('=============llm_result==================') + logging.info(llm_result) + llm_result_json = robust_json_loads(llm_result) + + current_node_history_json.append(llm_result_json) #将当前记录放到current_node_history_json里 + + logging.info('planning_running 第一次大模型调用结束') + + + + action_plan = llm_result_json["action_plan"] + action_plan =ActionPlan(**{'data':action_plan}) + + + + else: + #存已有的agentName + logging.info('不是第一次调用,无需执行大模型, 将已运行的agent_name 存下来') + self.memory_handler.processed_agentname_save(sessionId, nodeId, lingsi_respond.agentName ) + + #从memory中获取 action plan + action_plan = json.loads( self.memory_handler.current_plan_get(sessionId, nodeId ) ) + logging.info(f'对于 planning 之前存储的action_plan is {action_plan} ,type(action_plan) is {type(action_plan) } ') + action_plan =ActionPlan(**action_plan) + + + #组装agent返回的格式 agent_respond_template + agent_respond_template = copy.deepcopy(PLANNING_RUNNING_AGENT_REPLY_TEMPLATE) + + agent_respond_template['action']['agent_name'] = lingsi_respond.agentName + #agent_respond_template['action']['player_name'] = self.get_player_name_from_action_plan(action_plan, lingsi_respond.agentName) + first_memory_tag = current_node_history_json[0]['Dungeon_Master'][0]['memory_tag'] #取大模型第一次选中的memory_tag,在这一轮里沿用 + agent_respond_template['action']['player_name'] = action_plan.get_player_name_by_agent_name(lingsi_respond.agentName) + agent_respond_template['observation'] = [{ "memory_tag":first_memory_tag,"content": agent_respond}]# TODO + current_node_history_json.append(agent_respond_template) + + + #step4.5 如果需要执行 主持人。 修改 action_plan 和 current_node_history_json + if first_run_flag == True: + while action_plan.data[0].agent_name == '主持人': + + llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription + PLANNING_RUNNING_PROMPT_DM_SPEECH + '\n##已有步骤##\n' + \ + json.dumps(current_node_history_json,ensure_ascii=False) + PLANNING_RUNNING_PROMPT_SUFFIX_2 + + logging.info('=============llm_input 主持人==================') + logging.info(llm_input) + + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + + logging.info('=============llm_result 主持人==================') + logging.info(llm_result) + dm_result_json = robust_json_loads(llm_result) + + + dm_respond_template = copy.deepcopy(PLANNING_RUNNING_AGENT_REPLY_TEMPLATE) + dm_respond_template['action']['agent_name'] = '主持人' + dm_respond_template['action']['player_name'] = '主持人' + first_memory_tag = current_node_history_json[0]['Dungeon_Master'][0]['memory_tag'] #取大模型第一次选中的memory_tag,在这一轮里沿用 + dm_respond_template['Dungeon_Master'] = [{ "memory_tag":first_memory_tag, "content": dm_result_json['content']}]# TODO + current_node_history_json.append(dm_respond_template) #将当前记录放到current_node_history_json里 + action_plan.data.pop(0) #从action_plan.data里 抛弃第一个元素 + logging.info(f'经过pop 后 action_plan.data is {action_plan.data}') + else: + + processed_agentname = self.memory_handler.processed_agentname_get(sessionId, nodeId)#list + logging.info(f'已经处理的agent_name 为 {processed_agentname}') + if processed_agentname == []: + raise ValueError(f'此时不是第一次运行,在memory中应该已经有processed_agentname才对,但是processed_agentname is {processed_agentname} ') + + remain_action_plan = [] + for i in range(len(action_plan.data)): + if action_plan.data[i].agent_name not in processed_agentname: + remain_action_plan.append(action_plan.data[i]) + + while len(remain_action_plan)>=1 and remain_action_plan[0].agent_name == '主持人': + + llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription + PLANNING_RUNNING_PROMPT_DM_SPEECH + '\n##已有步骤##\n' + \ + json.dumps(current_node_history_json,ensure_ascii=False) + PLANNING_RUNNING_PROMPT_SUFFIX_2 + + logging.info('=============llm_input 主持人==================') + logging.info(llm_input) + + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + + logging.info('=============llm_result 主持人==================') + logging.info(llm_result) + dm_result_json = robust_json_loads(llm_result) + + + dm_respond_template = copy.deepcopy(PLANNING_RUNNING_AGENT_REPLY_TEMPLATE) + dm_respond_template['action']['agent_name'] = '主持人' + dm_respond_template['action']['player_name'] = '主持人' + first_memory_tag = current_node_history_json[0]['Dungeon_Master'][0]['memory_tag'] #取大模型第一次选中的memory_tag,在这一轮里沿用 + dm_respond_template['Dungeon_Master'] = [{ "memory_tag":first_memory_tag, "content": dm_result_json['content']}]# TODO + current_node_history_json.append(dm_respond_template) #将当前记录放到current_node_history_json里 + remain_action_plan.pop(0) #remain_action_plan.data里 抛弃第一个元素 + logging.info(f'经过pop 后 action_plan.data is {action_plan.data}') + + + #step5 分析 llm_result 执行结果 + if first_run_flag == True and len(action_plan.data) >0 : + react_flag = 'waiting_other_agent' + + logging.info(f'当前为{react_flag}, 因为初次运行且plan不为空') + # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') + # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') + + #提取此时应该执行的agent_name + execute_agent_name = action_plan.data[0].agent_name + execute_player_name = action_plan.data[0].player_name + logging.info(f'execute_agent_name is {execute_agent_name}, execute_player_name is {execute_player_name}') + + #将该节点的count 设置为 runninng + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') + + + else: + + logging.info(f'剩余待处理的的agent_name 为 {remain_action_plan}') + if len(remain_action_plan) == 0: + + react_flag = 'end' + logging.info(f'当前为{react_flag}, 将本次节点的count设置为end, 因为remain_action_plan 为空 ') + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'end') + else: + react_flag = 'waiting_other_agent' + logging.info(f'当前为{react_flag}, 因为第一次大模型生成的plan还没有执行成完 ') + + #提取此时应该执行的agent_name + execute_agent_name = remain_action_plan[0].agent_name + execute_player_name = remain_action_plan[0].player_name + logging.info(f'execute_agent_name is {execute_agent_name}, execute_player_name is {execute_player_name}') + + #将该节点的count 设置为 runninng + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') + + + #step6 分析 llm_result 执行结果, 并保存 + + if first_run_flag == True: + self.memory_handler.current_plan_save(sessionId, nodeId, json.dumps(action_plan.dict() ,ensure_ascii=False) ) + + + + #step7 存储 memory # for other agent + logging.info(f'current_node_history_json if {current_node_history_json}') + + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False) ) + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + + if react_flag == 'end': + update_flag = self.update_replacement(sessionId, nodeId) + if update_flag: + logging.info("变量更新成功!") + else: + logging.info("无变量更新或变量更新失败") + #step8 返回 question_plan + if react_flag == 'end': + question_plan = [] + elif react_flag == 'waiting_other_agent': + question_plan = self.react_get_question_plan(sessionId, nodeId, execute_agent_name) + else: + question_plan = [] + return react_flag, question_plan + + def get_player_name_from_action_plan(self, action_plan, agent_name): + ''' + 从action_plan中获取agent_name + ''' + for i in range(len(action_plan)): + if action_plan[i]['agent_name'] == agent_name: + return action_plan[i]['player_name'] + raise ValueError(f'action plan {action_plan }中未找到 对应的 agent name {agent_name}') + + def fill_replacements(self, node_description: str, sessionId: str) -> str: + """ + 构建替换后的 prompt 字符串。 + :param sessionId: 一个函数,接收占位符名称并返回对应的值 + :return prompt: 替换后的 prompt 字符串 + :return placeholders 涉及到的变量 + """ + prompt = node_description + logging.info(f'prompt:{prompt}') + placeholders = re.findall(r"#\$\#(.*?)#\$\#", prompt) + logging.info("开始变量替换") + logging.info(f'需要替换的变量{placeholders}') + try: + for placeholder in placeholders: + logging.info(f'placeholder为{placeholder}') + value = self.memory_manager.get_msg_content_by_rule_name(sessionId, placeholder) + logging.info(f'value为{value}') + if value != None: + prompt = prompt.replace(f'#$#{placeholder}#$#', value) + logging.info(f'替换后的prompt{prompt}') + except Exception as e: + logging.info(f"变量替换出现错误!{e}") + + return prompt + + + def update_replacement(self, sessionId: str, nodeId: str) -> bool: + """ + 更新变量名, + :param sessionId: 对话id + :param nodeId: 节点id + """ + cur_node_memory = self.get_cur_node_memory(sessionId, nodeId) + logging.info(f'当前节点游戏记录:{cur_node_memory}') + cur_node_memory = "当前节点游戏记录:" + ''.join(cur_node_memory) + + try: + updaterule = self.gb_handler.get_tag(rootNodeId = nodeId, rootNodeType = "opsgptkg_task", key = 'updaterule') + cur_node_updaterule = json.loads(updaterule) + except Exception as e: + logging.info(f"出现错误: {e}") + logging.info(f"输入不是json格式或者为空,变量更新失败,略过.") + logging.info(f"node_envdescription: {updaterule}") + return False + + update_flag = False + try: + for placeholder, update_role in cur_node_updaterule.items(): + logging.info(f'更新的变量为:{placeholder}') + logging.info(f'当前节点游戏记录为:{cur_node_memory}') + update_flag = self.memory_manager.update_msg_content_by_rule(sessionId, placeholder, cur_node_memory, update_role) + logging.info(f'update_flag:{update_flag}') + except Exception as e: + logging.info(f"变量更新出现错误!{e}") + return update_flag + + + def react_running(self, sessionId : str, nodeId: str, nodeType:str, lingsi_respond: LingSiResponse): + ''' + react 模块 运行 + ''' + + + logging.info(f'react_running 接受到的 lingsi_respond is {lingsi_respond}') + try: + if lingsi_respond == None:#第一次该该节点被调用是,输入式将lingsi_respond设置为None + agent_respond = None + else: + if type(lingsi_respond.observation) ==str: + agent_respond = json.loads(lingsi_respond.observation)['toolResponse'] + else: + agent_respond = lingsi_respond.observation['toolResponse'] + except Exception as e: + logging.info(f'lingsi_respond is {lingsi_respond}' ) + raise ValueError(f'从lingsi_respond中提取 agent_respond报错, 报错信息:{e}') + + + + + if agent_respond == None: + agent_respond = '' + if type(agent_respond) == str: + agent_respond = agent_respond.replace('"', '').replace("'", "") #需要去除agent返回中的 " 和 ' + agent_respond = agent_respond_extract_output(agent_respond) # 去除 agent_respond 中的 thought 和 output + #stpe1 判断当前状态 + get_messages_res = self.memory_handler.nodecount_get( sessionId, nodeId) + + if get_messages_res == [] : + logging.info('当前这个{sessionId} react节点 是第一次运行') + first_run_react_flag = True + else: + if json.loads(get_messages_res[0].role_content)['nodestage'] == 'end' :#在上一轮已经结束了,这一轮还未开始 + logging.info('当前这个{sessionId} react节点在上一轮已经结束了,这一轮还未开始,在这一轮也算是第一次执行') + first_run_react_flag = True + else: + logging.info('当前这个{sessionId} react节点 不是第一次执行') + first_run_react_flag = False + + if first_run_react_flag == True: + # 当react的状态是 end 或者为空的时候调用此函数,进行初始化 或者 chapter + 1 + self.memory_handler.init_react_count(sessionId, nodeId) + + #step2 获取节点名字 + 节点描述 + oneNode = self.geabase_handler.get_current_node(attributes={"id": nodeId,}, + node_type=nodeType) + + oneNodeName = oneNode.attributes['name'] + oneNodeDescription = oneNode.attributes['description'] + + #step3.1 获取memory, 构成给大模型的输入 + #获取memory, 主持人能看到的memory, 和获取tool的memory类似 + + # tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) + # get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #此时是主持人,所以需要看到所有的memory,无需加tag。 对于在我这一侧需要运行的llm,一定是看到所有信息,因为我就是主持人 + # assembled_memory = self.assemble_memory(nodeId, nodeType, get_messages_res_sorted) + assembled_memory = self.get_memory_for_dm(sessionId, nodeId) + assembled_memory = json.dumps(assembled_memory, ensure_ascii=False) + logging.info(f'assembled_memory is {assembled_memory}') + + #step3.2 获取当前节点的历史运行情况。如果是第一次运行,需要将react node 的name 存入到 memory中 + if first_run_react_flag == True: + current_node_history = '' + #第一次运行,对于react模块,只将标题放置在memory里, 因为对于react模块,description太多了,循环的情况下,很罗嗦且超过上下文 + self.memory_handler.react_nodedescription_save(sessionId, nodeId, oneNodeName) + + else: + #不是第一次运行。那么肯定历史history进来 + logging.info(f'#不是第一次运行。那么肯定历史history进来{sessionId}, {nodeId}') + current_node_history = self.memory_handler.react_current_history_get(sessionId, nodeId) + # llm_result_truncation + '": [{"content": ' + user_responds + + ''' + history 里存储 observation的截断,不包含observation, + llm_output 输出整个完整的流程(如果是gpt_4, 不能有停用词,因为每次都是从头开始录的), + self.stop_at_observation,需要接受 current_node_history ,先分析里面有几个observation(N个), 然后我可以往后扩展一个observation, 不包含observation + + jsonstring 就转全量的, 但是录入到memory中的时候,注意只录入 N+1 个 observation的信息。 + + + + ''' + #step4 执行 llm, + if '##输入##' not in oneNodeDescription: + oneNodeDescription += REACT_RUNNING_PROMPT + logging.info("react 模式 prompt 分离完成") + oneNodeDescription = self.fill_replacements(oneNodeDescription, sessionId) + logging.info("变量替换完成") + if first_run_react_flag == True: + llm_input = assembled_memory + '\n' + oneNodeName + '\n' + oneNodeDescription + '\n##已有步骤##\n无' + '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' + logging.info('=============llm_input==================') + logging.info(llm_input) + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + current_node_history_json = [] + llm_result_json = robust_json_loads(llm_result) + llm_result_json = remove_duplicate_keys(llm_result_json) + logging.info('=============llm_result==================') + logging.info(llm_result_json) + if type(llm_result_json)!=dict: + llm_result_json = llm_result_json[0] + logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') + # raise ValueError(f'llm的输出应该是一个dict才对 ') + current_node_history_json.append(llm_result_json) + else: + # current_node_history[-1]["observation"]['content'] = agent_respond + # llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n' + current_node_history + '": [{"content":" ' + agent_respond + '"' + # llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n' + current_node_history + '": [{"content":" ' + agent_respond + '", "memory_tag:' \ + # + '\n ' + + current_node_history_json = json.loads(current_node_history) #历史记录里可能包含虚假信息 + logging.info(f'current_node_history_json is {current_node_history_json}') + if current_node_history_json[-1]['action']['agent_name'] != '主持人': + current_node_history_json[-1]["observation"][0]['content'] = agent_respond #将历史中最后一次主持人幻觉的输出,转换为用户补充的输入 + try: + current_node_history_json[-1]["thought"] = '' #在非主持人环节时,应该将thought 设置为'' + except: + pass + llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ + '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' + logging.info('=============llm_input==================') + logging.info(llm_input) + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + llm_result_json = robust_json_loads(llm_result) + llm_result_json = remove_duplicate_keys(llm_result_json) + logging.info('=============llm_result==================') + logging.info(llm_result_json) + if type(llm_result_json)!=dict: + llm_result_json = llm_result_json[0] + logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') + # raise ValueError(f'llm的输出应该是一个dict才对 ') + current_node_history_json.append(llm_result_json) + + retry_llm = 0 + while(( retry_llm <= 20) and ("taskend" not in llm_result) and (llm_result_json['action']['agent_name'] == '主持人' )): + logging.info('由于是主持人发言,情况继续') + + endcheck_res = self.endcheck( nodeId, nodeType, oneNodeName, oneNodeDescription, current_node_history_json) + if endcheck_res== False: + logging.info('endchek没有通过,主持人发言终止, 强行将 llm_result == {"action": "taskend"}') + llm_result = json.dumps({"action": "taskend"}) + llm_result_json = robust_json_loads(llm_result) + current_node_history_json.append(llm_result_json) + break + + + + llm_input = assembled_memory + '\n' + oneNodeName + '\n' +oneNodeDescription+ '\n##已有步骤##\n' + json.dumps(current_node_history_json,ensure_ascii=False) + \ + '\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' + logging.info('=============llm_input==================') + logging.info(llm_input) + llm_result = self.robust_call_llm_with_llmname(llm_input, nodeId) + llm_result_json = robust_json_loads(llm_result) + llm_result_json = remove_duplicate_keys(llm_result_json) + logging.info('=============llm_result==================') + logging.info(llm_result_json) + current_node_history_json.append(llm_result_json) + if type(llm_result_json)!=dict: + llm_result_json = llm_result_json[0] + logging.info('llm的输出应该是一个dict才对, 有时候出现[{one step}], 所以尝试选其中一个元素转换为dict') + raise ValueError(f'llm的输出应该是一个dict才对 ') + retry_llm = retry_llm + 1 + + logging.info('大模型调用结束') + + + + #step5 分析 llm_result 执行结果 + #llm_result 为最后一次llm的输出 + if 'taskend' in llm_result: + react_flag = 'end' + logging.info(f'当前为{react_flag}, 将本次节点的count设置为end ') + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'end') + elif 'observation' in llm_result: + react_flag = 'waiting_other_agent' + + logging.info(f'当前为{react_flag}, 尝试补充字符使得llm_result_truncation能转为json格式 ') + # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') + # llm_result_truncation_json = json.loads(current_node_history + llm_result_truncation + '":[]}]') + + #提取此时应该执行的agent_name + execute_agent_name = current_node_history_json[-1]['action']['agent_name'] + execute_player_name = current_node_history_json[-1]['action']['player_name'] + + #将该节点的count 设置为 runninng + self.memory_handler.nodecount_set_key(sessionId, nodeId, 'nodestage', 'running') + + + + + #step6 存储 history # for DM + logging.info(f'存储 history # for DM') + if react_flag == 'waiting_other_agent' and first_run_react_flag == True: + #step6.1 存储 llm_result_truncation + + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False) ) + + elif react_flag == 'waiting_other_agent' and first_run_react_flag == False: + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) + + elif react_flag == 'end' and first_run_react_flag == True: #第一次运行就运行到结尾了 + + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) + + elif react_flag == 'end' and first_run_react_flag == False: #第N次运行 运行到结尾了 + self.memory_handler.react_current_history_save(sessionId, nodeId, json.dumps(current_node_history_json ,ensure_ascii=False)) + + + #step7 存储 memory # for other agent + logging.info(f'存储 memory # for other agent') + if react_flag == 'waiting_other_agent' and first_run_react_flag == True: + logging.info('#第一次运行 等待agent返回') + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + if react_flag == 'waiting_other_agent' and first_run_react_flag == False: + logging.info('#第N次运行 等待agent返回') + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + + elif react_flag == 'end' and first_run_react_flag == True: #第一次运行就运行到结尾了: + logging.info('#第一次运行就运行到结尾了:') + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + + elif react_flag == 'end' and first_run_react_flag == False: #第N次运行 运行到结尾了 + logging.info('#第N次运行 运行到结尾了') + self.memory_handler.react_memory_save(sessionId, nodeId, current_node_history_json) + + if react_flag == 'end': + update_flag = self.update_replacement(sessionId, nodeId) + if update_flag: + logging.info("变量更新成功!") + else: + logging.info("无变量更新或变量更新失败") + #step8 返回 question_plan + if react_flag == 'end': + question_plan = [] + elif react_flag == 'waiting_other_agent': + question_plan = self.react_get_question_plan(sessionId, nodeId, execute_agent_name) + else: + question_plan = [] + return react_flag, question_plan + + + + def get_intentionNodes_from_subtree(self, sessionId)->list: + ''' + #抽取 nodeid_in_subtree 中的所有 intention_nodes + 返回值以这种list [{'nodeId': 'xxx=','nodeType': 'opsgptkg_intent'}] + ''' + intention_nodes = [] + try: + nodeid_in_subtree_memory = self.memory_manager.get_memory_pool_by_all( + { "chat_index": sessionId, "role_type": "nodeid_in_subtree"}) + nodeid_in_subtree = json.loads( nodeid_in_subtree_memory.get_messages()[0].role_content ) + intention_nodes = [] + for i in range(len(nodeid_in_subtree)): + onenode = nodeid_in_subtree[i] + if onenode['nodeType'] == 'opsgptkg_intent': + intention_nodes.append( {'nodeId': onenode['nodeId'], 'nodeType': onenode['nodeType']}) + except Exception as e: + logging.info(f"发生了一个错误:{e}") + return intention_nodes + + def get_memory_for_tool(self,sessionId, nodeId): + ''' + react 节点中 对于一个 主持人, 构建memory的函数。 + 只需要将祖先节点弄好即可,不需要加自己,因为自己有 history进行维护 + + 默认将这个sessionId里所有的意图识别节点,弄到 tool_ancestor里 + ''' + + intention_nodes = self.get_intentionNodes_from_subtree(sessionId) + nodeType = 'opsgptkg_task' #假设一定是task节点 + tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) + '''[{'nodeId': 'xxx=','nodeType': 'opsgptkg_intent'}]''' + tool_ancestor = tool_ancestor + intention_nodes + get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #对于tool,假设都是主持人的工具,所以需要看到所有的memory,无需加tag。 + assembled_memory = self.assemble_memory_for_tool(nodeId, nodeType, get_messages_res_sorted) # tool 的memory需要兼顾以前的格式 + return assembled_memory + + + def get_memory_for_dm(self,sessionId, nodeId): + ''' + react 节点中 对于一个 主持人, 构建memory的函数。 + 只需要将祖先节点弄好即可,不需要加自己,因为自己有 history进行维护 + ''' + intention_nodes = self.get_intentionNodes_from_subtree(sessionId) + nodeType = 'opsgptkg_task' #假设一定是task节点 + tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) + tool_ancestor = tool_ancestor + intention_nodes + get_messages_res_sorted = self.get_memory_from_ancestor( tool_ancestor, sessionId, role_tags = None) #此时是主持人,所以需要看到所有的memory,无需加tag。 对于在我这一侧需要运行的llm,一定是看到所有信息,因为我就是主持人 + assembled_memory = self.assemble_memory_for_reactagent(nodeId, nodeType, get_messages_res_sorted) + return assembled_memory + + def get_memory_for_computer_agent(self,sessionId, nodeId, execute_agent_name): + ''' + react 节点中 对于一个 agent_x (电脑agent), 构建memory的函数 + ''' + intention_nodes = self.get_intentionNodes_from_subtree(sessionId) + nodeType = 'opsgptkg_task' #假设一定是task节点 + tool_ancestor = self.get_tool_ancestor(sessionId, nodeId, nodeType) + tool_ancestor = tool_ancestor + intention_nodes + + if nodeId not in [nodeinancestor['nodeId'] for nodeinancestor in tool_ancestor]: + tool_ancestor = tool_ancestor + [{'nodeId': nodeId, 'nodeType':nodeType}] + + #需要将自己也加上,方便在下一步memory检索的时候把本节点的历史也得到,由于在生成str的时候,第一时间就save本届点的memory,所以这样做是可以的 + #需要注意的是,给agent和给主持人看到的输入是不一样的。 主持人看到的是 memory + node_text + currentnodehistory, currentnodehistory 是文本,因为主持人需要维持一个 结构化的输出。 + #agent看到的是 memory,agent只需要说出一句话即可 + get_messages_res_sorted = self.get_memory_from_ancestor(tool_ancestor, sessionId, execute_agent_name) #此时是调用外部agent,所以需要加tag + assembled_memory = self.assemble_memory_for_reactagent(nodeId, nodeType, get_messages_res_sorted) + return assembled_memory + def get_cur_node_memory(self, sessionId, nodeId): + """ + 获取当前节点的游戏记录,不包含祖先节点。 + """ + nodeType = 'opsgptkg_task' #假设一定是task节点 + tool_ancestor = [{'nodeId':nodeId, 'nodeType':nodeType}] + logging.info(f'tool_ancestor:{tool_ancestor}') + get_messages_res_sorted = self.get_memory_from_ancestor(tool_ancestor, sessionId, role_tags = None) #此时是主持人,所以需要看到所有的memory,无需加tag。 对于在我这一侧需要运行的llm,一定是看到所有信息,因为我就是主持人 + logging.info(f'get_messages_res_sorted:{get_messages_res_sorted}') + assembled_memory = self.assemble_memory_for_reactagent(nodeId, nodeType, get_messages_res_sorted) + return assembled_memory + + def react_get_question_plan(self, sessionId:str, nodeId:str, execute_agent_names : Union[str, List[str]]): + ''' + 如果react模块 react_flag==waiting_other_agent, 则需要返回 question_plan + 可能需要区分人来回答还是大模型来回答 + ''' + logging.info(f"nodeId is {nodeId} , execute_agent_names is {execute_agent_names}") + toolPlan = [] + if type(execute_agent_names) == str: + #如果只输入一个agent_name + execute_agent_names = [execute_agent_names] + + + for execute_agent_name in execute_agent_names: + if '人类' in execute_agent_name: #需要提交给人 + ''' + example: {'toolDescription': '请用户回答', + 'currentNodeId': 'INT_3', + 'memory': None, + 'type': 'userProblem', + 'questionDescription': {'questionType': 'essayQuestion', + 'questionContent': {'question': '请输入', + 'candidate': None }}} + + 一定是一个问答题, 无需提问,这里question变成一个固定值了。 最重要的是把memory 也是空, 因为历史信息在对话里已经显示了。 + ''' + tool_one_step= ToolPlanOneStep( + **{'toolDescription': '请用户回答', + 'currentNodeId': nodeId + '%%@@#' + execute_agent_name, + 'currentNodeInfo':execute_agent_name, + 'memory': None, + 'type': 'userProblem', + 'questionDescription': {'questionType': 'essayQuestion', + 'questionContent': {'question': '请玩家根据当前情况发言', + 'candidate': None }}} + ) + + toolPlan.append( tool_one_step.dict()) + + else: #需要执行agent + ''' + example :[{ + "toolDescription": "toolDescriptionA", + "currentNodeId": "INT_1", + "memory": JsonStr, + "type":"onlyTool", + }] + ''' + + + assembled_memory = self.get_memory_for_computer_agent(sessionId, nodeId, execute_agent_name) + react_memory = assembled_memory + if type(react_memory)!= str: + react_memory = json.dumps(react_memory, ensure_ascii=False) + + # logging.info(f'react_memory is {react_memory}') + tool_one_step= ToolPlanOneStep(**{ + "toolDescription": execute_agent_name, + 'currentNodeInfo':execute_agent_name, + "currentNodeId": nodeId + '%%@@#' + execute_agent_name, + "memory": react_memory, + "type":"reactExecution", + }) + + + # toolPlan = [{ + # "toolDescription": execute_agent_name, + # "currentNodeId": nodeId, + # "memory": react_memory, + # "type":"reactExecution", + # }] + + toolPlan.append(tool_one_step.dict()) + + + return toolPlan + + + + def get_tool_ancestor(self, sessionId, + start_nodeid = '为什么余额宝没收到收益_complaint', + start_nodetype = 'opsgptkg_task'): + + #1 对每个nodeid,得到其memory, 首先需要遍历其所有的祖先task节点,将相关信息记录下来 + tool_ancestor = [] + nodeid_in_search = [{'nodeId':start_nodeid, 'nodeType':start_nodetype}] + nodeid_in_search_all = [{'nodeId':start_nodeid, 'nodeType':start_nodetype}] + + while len(nodeid_in_search)!= 0: + nodedict_now = nodeid_in_search.pop() + nodeid_now = nodedict_now['nodeId'] + nodetype_now = nodedict_now['nodeType'] + + + #查祖先节点 reverse=True + neighborNodes = self.geabase_handler.get_neighbor_nodes(attributes={"id": nodeid_now,}, node_type=nodetype_now, reverse=True) + print(nodeid_now, nodetype_now, neighborNodes, '=========') + + + for i in range(len(neighborNodes) ): + # if res['resultSet']['rows'][i]['columns'][0] == {}: + # continue + + # else: + nodeid_new = neighborNodes[i].id + nodetype_new = neighborNodes[i].type + if nodeid_new in [kk['nodeId'] for kk in nodeid_in_search]: #已经探索过了,不再探索 + continue + + elif nodetype_new == 'opsgptkg_task': #如果是task节点,则加入到tool_plan中,同时继续往前延展。 + + #查询该任务节点有没有收到过response,直接查询count,不用在意count的个数 + message_res = self.memory_handler.nodecount_get( sessionId, nodeid_new) #查看这个节点的count计数 + + if len(message_res) == 0: #这个task节点没有memory 或者没有收到response,则不再往前延展,减少geabase查询个数 + print(f'#这个task节点{nodeid_new}没有memory 或者没有收到response,则不再往前延展,减少geabase查询个数') + continue + else: + print('#如果是task节点,则加入到tool_plan中,同时继续往前延展。 get_tool_ancestor') + tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 + if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : + nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + + + + + elif nodetype_now != 'opsgptkg_intent' and nodetype_new == 'opsgptkg_intent': + #第一次出现意图节点,需要尝试 + #print('#第一次出现意图节点,需要尝试') + tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 + if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : + nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + elif nodetype_now == 'opsgptkg_intent' and nodetype_new == 'opsgptkg_intent': + #从意图节点再次碰到意图节点,终止 + #print('#从意图节点再次碰到意图节点,终止') + pass + elif nodetype_new == 'opsgptkg_phenomenon': + #如果是事实节点,则继续 + tool_ancestor.insert(0, {'nodeId':nodeid_new, 'nodeType':nodetype_new}) # 倒叙插入到图谱中 + if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : + nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + + else:##如果是不是task节点,也不是意图节点,不加入到tool_plan中,继续延展 + #print('#如果是不是task节点,也不是意图节点,不加入到tool_plan中,继续延展') + if {'nodeId':nodeid_new, 'nodeType':nodetype_new} not in nodeid_in_search_all : + nodeid_in_search_all.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + + tool_ancestor_new = [] + for i in range(len(tool_ancestor)): + item_i = tool_ancestor[i] + if item_i not in tool_ancestor_new: + tool_ancestor_new.append(item_i) + logging.info(f'geabase_getmemory tool_ancestor_new 的个数为{len(tool_ancestor_new)}') + logging.info(f'geabase_getmemory tool_ancestor 的个数为{len(tool_ancestor)}') + #print('tool_ancestor_new', tool_ancestor_new) + tool_ancestor = tool_ancestor_new + return tool_ancestor + + def get_memory_from_ancestor(self, tool_ancestor, sessionId, role_tags = None): + ''' + 给定了一堆祖先节点 + 当前节点,从中提取出memory + 祖先节点 + 对于祖先tool 而言,提取出 nodedescription、tool responds + 对于祖先react 而言,提取出 nodedescription(name), 每一条message + 将这个list 按照时间顺序排好 + 当前节点 + 对于tool 而言,没有当前节点的memory + 对于react节点而言, 有运行到中间状态的memory + 将这个list 按照时间顺序排好 + 按照固定格式输出 memory_list_output + + role_tags 是一系列list, 如果指定为空,则没有约束 + + ''' + if role_tags == None: + role_tags = None + else: + role_tags = ['all'] + [role_tags] + # print(role_tags) + message_res_list = [] + for i in range(len(tool_ancestor)): + logging.info(f'geabase_getmemory 查询第{i}个祖先节点') + # logging.info(tool_ancestor[i]) + nodeId = tool_ancestor[i]['nodeId'] + nodeType = tool_ancestor[i]['nodeType'] + logging.info(f'【查询】memory message_index {nodeId}; sessionId {sessionId} ') + # if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: + #当前节点为tool or react 节点,一次性获得该节点所有的 chapter的memory数据 + if nodeType == 'opsgptkg_task': + memory_res = self.memory_manager.get_memory_pool_by_all({ + # "message_index": hash_id(nodeId, sessionId), #nodeId.replace(":", "_").replace("-", "_"), + 'user_name': hash_id(nodeId), + "chat_index": sessionId, + "role_tags": role_tags, + } + ) + logging.info(f'memory_res为:{memory_res}') + message_res = memory_res.get_messages() + message_res_list = message_res_list + message_res + + + + elif nodeType == 'opsgptkg_intent': + #如果祖先节点是意图节点, 意图节点的memory 暂时不分 tag + memory_res = self.memory_manager.get_memory_pool_by_all({ + "message_index": hash_id(nodeId, sessionId), #nodeId.replace(":", "_").replace("-", "_"), + "chat_index": sessionId, + "role_type": "user"}) + + message_res = memory_res.get_messages() + message_res_list = message_res_list + message_res + + #根据时间排序 + # message_res_list = message_res_list[::-1] #倒转message, 因为发现tbase存数据是类似堆栈的格式存的。 后来者在上; 似乎不对 + get_messages_res_sorted = self.sort_messages_by_time(message_res_list) + return get_messages_res_sorted + + + def assemble_memory_for_reactagent(self, nodeId, nodeType, get_messages_res_sorted): + ''' + 假设 祖先节点已经选择好了,而且 节点中相关的message也选择好了, 也经过时间排序了 + react 节点中 对于一个 agent_x (电脑agent), 组装memory的函数 + ''' + + if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: + raise ValueError(f'当前应该不是 single 节点才对 ') + else: #react 节点 + memory_list = [] + for i in range(len( get_messages_res_sorted ) ): + if get_messages_res_sorted[i].role_name in ['firstUserInput', 'function_caller', 'user' ]: + # # 第一次输入, tool返回, tool描述, + # memory_list.append({ + # 'role_type': get_messages_res_sorted[i].role_type, + # 'role_name': get_messages_res_sorted[i].role_name, + # 'role_content': get_messages_res_sorted[i].role_content} + # )#此处存疑,需要实验后才知道效果如何,注释后,相当于主持人和agent只能看到tool的标题和执行结果,且以list的形式呈现 + memory_list.append(get_messages_res_sorted[i].role_content) + elif get_messages_res_sorted[i].role_type in ['react_memory_save']: + # react 模块各个角色说的话, + memory_list.append(get_messages_res_sorted[i].role_content) + return memory_list + + def assemble_memory_for_tool(self, nodeId, nodeType, get_messages_res_sorted): + if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: + ''' + ''' + memory_list = [] + for i in range(len( get_messages_res_sorted ) ): + if get_messages_res_sorted[i].role_name == 'firstUserInput': + memory_list.append({ + 'role_type': 'user', + 'role_name': 'firstUserInput', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_name == 'user': + memory_list.append({ + 'role_type': 'user', + 'role_name': 'None', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_name == 'function_caller': + memory_list.append({ + 'role_type': 'observation', + 'role_name': 'function_caller', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_type in ['react_memory_save']: + # react 模块各个角色说的话, + memory_list.append({ + 'role_type': get_messages_res_sorted[i].role_type, + 'role_name': get_messages_res_sorted[i].role_name, + 'role_content': get_messages_res_sorted[i].role_content} + ) + else: #react 节点 + raise ValueError(f'当前应该是 tool task 节点才对 ') + + return memory_list + + def assemble_memory(self, nodeId, nodeType, get_messages_res_sorted): + ''' + 组装memory + get_messages_res_sorted 已经根据时间排序好了。 但是对于tool 和 react模块的memory拼装做法有所不同 + 已经弃用 + ''' + if self.gb_handler.geabase_is_react_node(nodeId, nodeType) == False: + ''' + + ''' + memory_list = [] + for i in range(len( get_messages_res_sorted ) ): + if get_messages_res_sorted[i].role_name == 'firstUserInput': + memory_list.append({ + 'role_type': 'user', + 'role_name': 'firstUserInput', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_name == 'user': + memory_list.append({ + 'role_type': 'user', + 'role_name': 'None', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_name == 'function_caller': + memory_list.append({ + 'role_type': 'observation', + 'role_name': 'function_caller', + 'role_content': get_messages_res_sorted[i].role_content} + ) + if get_messages_res_sorted[i].role_type in ['react_memory_save']: + # react 模块各个角色说的话, + memory_list.append({ + 'role_type': get_messages_res_sorted[i].role_type, + 'role_name': get_messages_res_sorted[i].role_name, + 'role_content': get_messages_res_sorted[i].role_content} + ) + else: #react 节点 + memory_list = [] + for i in range(len( get_messages_res_sorted ) ): + if get_messages_res_sorted[i].role_name in ['firstUserInput', 'function_caller', 'user' ]: + # 第一次输入, tool返回, tool描述, + memory_list.append({ + 'role_type': get_messages_res_sorted[i].role_type, + 'role_name': get_messages_res_sorted[i].role_name, + 'role_content': get_messages_res_sorted[i].role_content} + ) + elif get_messages_res_sorted[i].role_type in ['react_memory_save']: + # react 模块各个角色说的话, + memory_list.append({ + 'role_type': get_messages_res_sorted[i].role_type, + 'role_name': get_messages_res_sorted[i].role_name, + 'role_content': get_messages_res_sorted[i].role_content} + ) + return memory_list + + + +if __name__ == "__main__": + + + pass + + # \ No newline at end of file diff --git a/muagent/service/ekg_reasoning/src/graph_search/task_node_prompt.py b/muagent/service/ekg_reasoning/src/graph_search/task_node_prompt.py new file mode 100644 index 0000000..3f60932 --- /dev/null +++ b/muagent/service/ekg_reasoning/src/graph_search/task_node_prompt.py @@ -0,0 +1,114 @@ +# -*- coding: utf-8 -*- + +PARALLEL_RUNNING_PROMPT= \ +''' +##输出## +请以dict的形式,给出参与者的所有行动计划。行动计划表示为JSON,格式为 + {"thought": str, "action_plan": [{"player_name":str, "agent_name":str}, {"player_name":str, "agent_name":str}], "Dungeon_Master": [{"memory_tag":str,"content":str}] } + + +关键词含义如下: +_ thought (str): 主持人的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断等。 +_ player_name (str): 玩家的 player_name +_ agent_name (str): 玩家的 agent_name; +_ content (str): 为主持人的告知信息, +_ memory_tag (List[str]): memory_tag 固定为本条信息的可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"] + +##example## +{"thought": "str", "action_plan": [{"player_name":str, "agent_name":str}, {"player_name":str, "agent_name":str}, ... ], "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]} + +##注意事项## +1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。 +2. 整个dict是一个jsonstr,请输出jsonstr,不用输出markdown格式 +3. 结合已有的步骤,只输出一个 dict,不要包含其他信息 +''' + + + +PLANNING_RUNNING_PROMPT= \ +''' +##输出## +请以dict的形式,给出参与者的所有行动计划。行动计划表示为JSON,格式为 + {"thought": str, "action_plan": [{"player_name":str, "agent_name":str, "task_description":str}, {"player_name":str, "agent_name":str,"task_description":str}], "Dungeon_Master": [{"memory_tag":str}] } + + +关键词含义如下: +_ thought (str): 主持人的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断等。 +_ player_name (str): 行动方的 player_name, 若行动方为玩家,否则为玩家的 player_name;如果行动方是主持人,为 "主持人", +_ agent_name (str): 行动方的 agent_name, 若行动方为玩家,否则为玩家的 agent_name;如果行动方是主持人,为 "主持人", +_ task_description (str): 为行动方本轮的任务. 只要写要做什么事儿即可,因为现在还处于任务规划阶段,事情还没有开始做。比如行动方本轮的目的是讨论,写出讨论的话题、目的等即可,不要把讨论的内容也写出来,因为现在还没有开始讨论,只是在规划行动计划。 +_ memory_tag (List[str]): memory_tag 固定为本条信息的可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"] + +##example## +{"thought": "str", "action_plan": [{"player_name":str, "agent_name":str, "task_description":str}, {"player_name":str, "agent_name":str, "task_description":str}, ... ], "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]} + +##注意事项## +1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。 +2. 整个dict是一个jsonstr,请输出jsonstr,不用输出markdown格式 +3. 结合已有的步骤,只输出一个 dict,不要包含其他信息 +''' + + +PLANNING_RUNNING_PROMPT_DM_SPEECH= \ +''' +##输出## +本阶段行动计划已经给出了,根据行动计划,此时轮到主持人发言。主持人的发言表示为JSON,格式为 +{"thought": str, "content":str}]} + +主持人请尽量不要重复上一轮的发言 + +关键词含义如下: +_ thought (str): 主持人的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断等。 +_ content (str): 为主持人的具体发言信息, + + + + +##注意事项## +1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。 +2. 整个dict是一个jsonstr,请输出jsonstr,不用输出markdown格式 +3. 结合已有的步骤,只输出一个 dict,不要包含其他信息 +''' + + +PLANNING_RUNNING_AGENT_REPLY_TEMPLATE= \ +{"thought": "None", "action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, + "observation": [{ "memory_tag":["agent_name_a"],"content": "str"}]} + +PLANNING_RUNNING_PROMPT_SUFFIX_1 = \ +'\n##已有步骤##\n无' + + + +PLANNING_RUNNING_PROMPT_SUFFIX_2 = \ +'\n##请输出下一个步骤,切记只输出一个步骤,它应该只是一个dict ##\n' + +REACT_RUNNING_PROMPT = \ +""" +##输出## +请以列表的形式,给出参与者的所有行动。每个行动表示为JSON,格式为 +[{"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]}, ...] + +关键词含义如下: +_ thought (str): 主持人执行行动的一些思考,包括分析玩家的存活状态,对历史对话信息的理解,对当前任务情况的判断。 +_ action (dict): 行动发起方的信息。 +_ player_name (str): 行动发起方的 player_name,若行动发起方为主持人,为空,否则为玩家的 player_name; +_ agent_name (str): 行动发起方的 agent_name,若为主持人,则 agent_name 为 "主持人",否则为玩家的 agent_name。 +_ content (str): 行动发起方的具体行为,若为主持人,content 为告知信息;否则,content 为玩家的具体行动。 +_ memory_tag (List[str]): 无论行动发起方是主持人还是玩家,memory_tag 固定为所有信息可见对象的agent_name, 如果信息可见对象为所有玩家,固定为 ["all"] + + +##example## +如果是玩家发言,则用 {"thought": "str", "action": {"agent_name": "agent_name_c", "player_name":"player_name_d"}, "observation": [{ "memory_tag":["agent_name_a","agent_name_b"],"content": "str"}]} 格式表示。content是玩家发出的信息;memory_tag是这条信息可见的对象,需要填写agent名。不要填写 agent_description +如果agent_name是主持人,则无需输入player_name, 且observation变为 Dungeon_Master。即{"thought": "str", "action": {"agent_name": "主持人", "player_name":""}, "Dungeon_Master": [{ "memory_tag":["agent_name_a","agent_name_b"], "content": "str",}]} + +##注意事项## +1. 所有玩家的座位、身份、agent_name、存活状态等信息在开头部分已给出。 +2. "observation" or "Dungeon_Master"如何选择?若 agent_name 为"主持人",则为"Dungeon_Master",否则为 "observation"。 +3. 输出列表的最后一个元素一定是{"action": "taskend"}。 +4. 整个list是一个jsonstr,请输出jsonstr,不用输出markdown格式 +5. 结合已有的步骤,每次只输出下一个步骤,即一个 {"thought": str, "action": {"player_name":str, "agent_name":str}, "observation" or "Dungeon_Master": [{"memory_tag":str,"content":str}]} +6. 如果是人类玩家发言, 一定要选择类似 人类agent 这样的agent_name +""" + + diff --git a/muagent/service/ekg_reasoning/src/intention_recognition/intention_recognition_tool.py b/muagent/service/ekg_reasoning/src/intention_recognition/intention_recognition_tool.py index 2b81fe4..1d06723 100644 --- a/muagent/service/ekg_reasoning/src/intention_recognition/intention_recognition_tool.py +++ b/muagent/service/ekg_reasoning/src/intention_recognition/intention_recognition_tool.py @@ -7,7 +7,7 @@ logger = logging.getLogger() logging.basicConfig(level=logging.DEBUG) - +RETRY_MAX_NUM = 3 def intention_recognition_ekgfunc( root_node_id, rule, query, memory, start_from_root = True, url= os.environ['intention_url'] ): ''' @@ -45,15 +45,38 @@ def intention_recognition_ekgfunc( root_node_id, rule, query, memory, start_from } logging.info( body ) - r = requests.post(url, json=body, headers=headers) - - logging.info( str((r.json() )) ) #12:00:37 - output_1 = (r.json()) - # logging.info('============意图识别的结果是================') - # logging.info(f'意图识别结果是 {output_1}') - # logging.info('============================================') - res = json.loads(output_1['resultMap']['algorithmResult']) - return res + retry_num = 0 + while retry_num <= RETRY_MAX_NUM: + retry_num = retry_num + 1 + try: + r = requests.post(url, json=body, headers=headers) + + + logging.info( str((r.json() )) ) #12:00:37 + output_1 = (r.json()) + # logging.info('============意图识别的结果是================') + # logging.info(f'意图识别结果是 {output_1}') + # logging.info('============================================') + res = json.loads(output_1['resultMap']['algorithmResult']) + return res + + except Exception as e: + + logging.info(f'意图识别报错:{e}') + sleep(1) + raise ValueError(f'意图识别报错 超过了最大重试次数RETRY_MAX_NUM:{RETRY_MAX_NUM}') + return None + + + # r = requests.post(url, json=body, headers=headers) + + # logging.info( str((r.json() )) ) #12:00:37 + # output_1 = (r.json()) + # # logging.info('============意图识别的结果是================') + # # logging.info(f'意图识别结果是 {output_1}') + # # logging.info('============================================') + # res = json.loads(output_1['resultMap']['algorithmResult']) + # return res @@ -85,17 +108,31 @@ def intention_recognition_querypatternfunc( query, } logging.info( body ) - r = requests.post(url, json=body, headers=headers) - logging.info( str((r.json() )) ) #12:00:37 - output_1 = (r.json()) - # logging.info('============意图识别的结果是================') - # logging.info(f'意图识别结果是 {output_1}') - # logging.info('============================================') - res = json.loads(output_1['resultMap']['algorithmResult']) - if type(res) == 'str': - res = json.loads(res) - return res['output'] + retry_num = 0 + while retry_num <= RETRY_MAX_NUM: + retry_num = retry_num + 1 + try: + r = requests.post(url, json=body, headers=headers) + + + logging.info( str((r.json() )) ) #12:00:37 + output_1 = (r.json()) + # logging.info('============意图识别的结果是================') + # logging.info(f'意图识别结果是 {output_1}') + # logging.info('============================================') + res = json.loads(output_1['resultMap']['algorithmResult']) + if type(res) == 'str': + res = json.loads(res) + return res['output'] + except Exception as e: + + logging.info(f'意图识别报错:{e}') + sleep(1) + raise ValueError(f'意图识别报错 超过了最大重试次数RETRY_MAX_NUM:{RETRY_MAX_NUM}') + return None + + @@ -133,17 +170,30 @@ def intention_recognition_querytypefunc( query, } logging.info( body ) - r = requests.post(url, json=body, headers=headers) - - logging.info( str((r.json() )) ) #12:00:37 - output_1 = (r.json()) - # logging.info('============意图识别的结果是================') - # logging.info(f'意图识别结果是 {output_1}') - # logging.info('============================================') - res = json.loads(output_1['resultMap']['algorithmResult']) - if type(res) == 'str': - res = json.loads(res) - return res['output'] + + retry_num = 0 + while retry_num <= RETRY_MAX_NUM: + retry_num = retry_num + 1 + try: + r = requests.post(url, json=body, headers=headers) + + + logging.info( str((r.json() )) ) #12:00:37 + output_1 = (r.json()) + # logging.info('============意图识别的结果是================') + # logging.info(f'意图识别结果是 {output_1}') + # logging.info('============================================') + res = json.loads(output_1['resultMap']['algorithmResult']) + if type(res) == 'str': + res = json.loads(res) + return res['output'] + except Exception as e: + + logging.info(f'意图识别报错:{e}') + sleep(1) + raise ValueError(f'意图识别报错 超过了最大重试次数RETRY_MAX_NUM:{RETRY_MAX_NUM}') + return None + diff --git a/muagent/service/ekg_reasoning/src/memory_handler/ekg_memory_handler.py b/muagent/service/ekg_reasoning/src/memory_handler/ekg_memory_handler.py index aa6ae05..8f5eb51 100644 --- a/muagent/service/ekg_reasoning/src/memory_handler/ekg_memory_handler.py +++ b/muagent/service/ekg_reasoning/src/memory_handler/ekg_memory_handler.py @@ -5,6 +5,8 @@ #路径增加 import sys import os +from typing import Union, Optional +from typing import List, Dict, Optional, Union src_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ) @@ -213,7 +215,7 @@ def nodeid_in_subtree_get(self, currentNodeId, sessionId): hashpostfix = '-nodeid_in_subtree' memory_manager_res= self.memory_manager.get_memory_pool_by_all({ "chat_index": sessionId, - # "message_index" : hash_id( currentNodeId, sessionId, hashpostfix), + "message_index" : hash_id( currentNodeId, sessionId, hashpostfix), # "role_type": "nodeid_in_subtree", }) get_messages_res = memory_manager_res.get_messages() @@ -345,6 +347,15 @@ def tool_nodecount_add_chapter(self, sessionId, currentNodeId): logging.info(f'节点{sessionId} 的 count_info现在是{count_info}') self.nodecount_set( sessionId, currentNodeId,count_info) #重写count数据, + ####### 泛化推理相关 #### + def gr_save_prompt_main(self, sessionId:str, currentNodeId:str, prompt_main:Dict, )->Dict: + ''' + 存储泛化推理的当前 prompt_main 到 memory中 + gr_count: 当前交互到第几步了 + ''' + return react_current_history_get + + def tool_nodedescription_save(self, sessionId, currentNodeId, role_content, user_input_memory_tag=None): ''' 将 tool 的 description 存入到memory中, 分成 chapter @@ -432,14 +443,20 @@ def react_nodedescription_save(self, sessionId, currentNodeId, role_content): self.memory_manager.append(message) + + # + + + def react_memory_save(self, sessionId, currentNodeId, llm_res): ''' 将一个node中 llm的返回值 解析成json,存储在memory里。 每次覆盖式存储。 存主持人说的话、其他agent说的话; 同时修改count中的计数 + 格式为 [player_name, agent_name, content, memory_tag, section] llm_str = llm_result_truncation + '":[]}]' llm_result_truncation = '[\n {"action": {"agent_name": "主持人"}, "Dungeon_Master": [{"content": "狼人时刻开始,以下玩家是狼人:player_1(狼人-1),李四(人类玩家)(狼人-2)。", "memory_tag":["agent_1", "人类agent"]}]},\n {"action": {"agent_name": "agent_1", "player_name":"player_1"}, "observation' ''' - + #1. 解析 llm的输出 if type(llm_res) == str: llm_res_json = json.loads(llm_res) @@ -450,35 +467,67 @@ def react_memory_save(self, sessionId, currentNodeId, llm_res): section = 0 memory_save_info_list = [] for i in range(len(llm_res_json)): - if llm_res_json[i]['action'] == 'taskend': - #任务执行完毕 - break - agent_name = llm_res_json[i]['action']['agent_name'] - if agent_name == '主持人': - player_name = '主持人' - for j in range(len(llm_res_json[i]['Dungeon_Master'])): - content = llm_res_json[i]['Dungeon_Master'][j]['content'] - memory_tag = llm_res_json[i]['Dungeon_Master'][j]['memory_tag'] - section += 1 - memory_save_info_list.append([player_name, agent_name, content, memory_tag, section]) - else: - logging.info(f' llm_res_json[i]是{llm_res_json[i]}') - if llm_res_json[i]['observation'] == []: + if 'action' in llm_res_json[i].keys(): + #react 类型 或者 是 parallel中电脑玩家的返回值 + + if llm_res_json[i]['action'] == 'taskend': + #任务执行完毕 + break + agent_name = llm_res_json[i]['action']['agent_name'] + if agent_name == '主持人': + player_name = '主持人' + for j in range(len(llm_res_json[i]['Dungeon_Master'])): + content = llm_res_json[i]['Dungeon_Master'][j]['content'] + memory_tag = llm_res_json[i]['Dungeon_Master'][j]['memory_tag'] + section += 1 + memory_save_info_list.append([player_name, agent_name, content, memory_tag, section]) + else: + #logging.info(f' llm_res_json[i]是{llm_res_json[i]}') + if llm_res_json[i]['observation'] == []: + continue + player_name = llm_res_json[i]['action']['player_name'] + for j in range(len(llm_res_json[i]['observation'])): + content = llm_res_json[i]['observation'][j]['content'] + memory_tag = llm_res_json[i]['observation'][j]['memory_tag'] + section += 1 + memory_save_info_list.append([player_name, agent_name, content, memory_tag, section]) + + elif 'action_plan' in llm_res_json[i].keys(): + #此时为 PlanningRunningAgentReply 格式, 可能为 plan 或者 parallel的第一次返回值 + + if self.gb_handler.get_tag(rootNodeId = currentNodeId, rootNodeType = 'opsgptkg_task', key = 'action') == 'plan': + #plan模式会略过 制定plan时说的话//现在制定plan时也不再说话了 + #parallel模式则不会略过制定action_plan是说的话 continue - player_name = llm_res_json[i]['action']['player_name'] - for j in range(len(llm_res_json[i]['observation'])): - content = llm_res_json[i]['observation'][j]['content'] - memory_tag = llm_res_json[i]['observation'][j]['memory_tag'] - section += 1 - memory_save_info_list.append([player_name, agent_name, content, memory_tag, section]) + else: + if llm_res_json[i]['action_plan'] == 'taskend': + #任务执行完毕 + break + agent_name = '主持人' #只有主持人能生成plan + player_name = '主持人' + + + for j in range(len(llm_res_json[i]['Dungeon_Master'])): + content = llm_res_json[i]['Dungeon_Master'][j]['content'] + memory_tag = llm_res_json[i]['Dungeon_Master'][j]['memory_tag'] + section += 1 + memory_save_info_list.append([player_name, agent_name, content, memory_tag, section]) + + - if 'taskend' not in json.dumps(llm_res, ensure_ascii=False) and memory_save_info_list[-1][1] != '主持人': - #现在还没有run到最后。那么 #最后一个observation,这个是幻觉,主持人替其他玩家说的话, 不能存入到memory里 - #如果run到最后了, 那么最后一个observation是本次填充的 - memory_save_info_list = memory_save_info_list[0:-1] + logging.info(f'memory_save_info_list 初步 is {memory_save_info_list}') + + + if 'taskend' not in json.dumps(llm_res, ensure_ascii=False) and memory_save_info_list!= [] and memory_save_info_list[-1][1] != '主持人' and \ + self.gb_handler.get_tag(rootNodeId = currentNodeId, rootNodeType = 'opsgptkg_task', key = 'action') == 'react': + #现在还没有run到最后。那么 #最后一个observation,这个是幻觉,主持人替其他玩家说的话, 不能存入到memory里 + #如果run到最后了, 那么最后一个observation是本次填充的 + #这个只在react模式下生效 + memory_save_info_list = memory_save_info_list[0:-1] + - logging.info(f'memory_save_info_list is {memory_save_info_list}') + logging.info(f'memory_save_info_list 最终经过删减(假如是react,如果不是则不删减) is {memory_save_info_list}') #2. 将llm的输出存入到memory中,更新,已经写入的就不更新了 hashpostfix = '_reactmemory' @@ -495,8 +544,9 @@ def react_memory_save(self, sessionId, currentNodeId, llm_res): for i in range(len(memory_save_info_list)): player_name, agent_name, content, memory_tag, section = memory_save_info_list[i] - hashpostfix_all = f'_chapter{chapter}_section{section}' + hashpostfix - + hashpostfix_all = f'_chapter{chapter}_section{section}_agentName{agent_name}' + hashpostfix + # 原来react_memory_save 的问题在于, 根据 _chapter{chapter}_section{section} 进行编码的情况会覆盖其他 并行的agent的结果 + # 另外,取结果时,由于三个agent都是同时发生的,所以原来根据时间取结果的方式也会出现问题,造成三个agent的返回值都是一个 memory_manager_res= self.memory_manager.get_memory_pool_by_all({ # "chat_index": sessionId, @@ -505,7 +555,7 @@ def react_memory_save(self, sessionId, currentNodeId, llm_res): }) get_messages_res = memory_manager_res.get_messages() if get_messages_res != []: - #这一条数据已经有了,不用重复写入,只更新没有写入的 + #这一条数据已经有了,不用重复写入,只更新没有写入的, 这里根据hashpostfix_all 中的 section和chapter 来进行判断 continue user_input_memory_tag = self.gb_handler.user_input_memory_tag(currentNodeId, 'opsgptkg_task') @@ -532,6 +582,223 @@ def react_memory_save(self, sessionId, currentNodeId, llm_res): role_content_nodeinfo['section'] = len(memory_save_info_list) self.nodecount_set( sessionId, currentNodeId, role_content_nodeinfo) + def message_get(self, sessionId:str, nodeId:str, hashpostfix:str, + role_name:str,role_type:str )-> Union[str, list]: + ''' + 得到信息, 作为一个通用函数。如果没有检索到信息,则返回空的'', 如果检索到了信息,则返回str,只返回第0个message的str + 注意对hashpostfix_chapter进行了特殊处理 + ''' + node_count_res = self.nodecount_get( sessionId, nodeId) + if node_count_res == []: + chapter = 1 + else: + chapter = json.loads(node_count_res[0].role_content)['chapter'] + + #hashpostfix = '_plan' + hashpostfix_chapter = f'_chapter{chapter}' + hashpostfix_all = hashpostfix_chapter + hashpostfix + #print(nodeId, sessionId, hashpostfix_all) + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + # "chat_index": sessionId, + "message_index" : hash_id(nodeId, sessionId, hashpostfix_all), + "role_name" : role_name,#'plan', + "role_type" : role_type#"DM" + }) + get_messages_res = memory_manager_res.get_messages() + if len(get_messages_res) == 0: + #raise ValueError("执行memory查询没有找到") + logging.info( "执行memory查询没有找到" ) + return '' + + return get_messages_res[0].role_content + + def message_save(self, sessionId:str, nodeId:str, role_content:str, + hashpostfix:str, user_name:str, role_name:str, role_type:str)->None: + ''' + 将message 存下来,作为一个通用函数 + 注意对hashpostfix_chapter进行了特殊处理 + + for example + #hashpostfix = '_plan' + #user_name = currentNodeId + #role_name = 'plan' + #role_type = "DM" + + ''' + + + + node_count_res = self.nodecount_get( sessionId, nodeId) + if node_count_res == []: + chapter = 1 + else: + chapter = json.loads(node_count_res[0].role_content)['chapter'] + + hashpostfix_chapter = f'_chapter{chapter}' + hashpostfix_all = hashpostfix_chapter + hashpostfix + message = Message( + chat_index= sessionId, + message_index= hash_id(nodeId, sessionId, hashpostfix_all), + user_name = hash_id(user_name + str(chapter)), + role_name = role_name, + role_type = role_type, + role_content = role_content, + + ) + + self.memory_manager.append(message) + + + + def processed_agentname_get(self, sessionId:str, nodeId:str)-> str: + ''' + 得到已经处理的agentname + ''' + + + hashpostfix = '_processedAgentName' + role_name = 'PAN' #processedAgentName + role_type = "DM" + + node_count_res = self.nodecount_get( sessionId, nodeId) + if node_count_res == []: + chapter = 1 + else: + chapter = json.loads(node_count_res[0].role_content)['chapter'] + + #hashpostfix = '_plan' + #hashpostfix_chapter = f'_chapter{chapter}' + #hashpostfix_all = hashpostfix_chapter + hashpostfix + #print(nodeId, sessionId, hashpostfix_all) + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + "chat_index": sessionId, + "user_name" : hash_id(nodeId + str(chapter)), + "role_name" : role_name,#'plan', + "role_type" : role_type#"DM" + }) + get_messages_res = memory_manager_res.get_messages() + if len(get_messages_res) == 0: + #raise ValueError("执行memory查询没有找到") + logging.info( "执行memory查询没有找到" ) + return '' + + processed_agentname_list_all = [] + for i in range(len(get_messages_res)): + processed_agentname_list_all.append( get_messages_res[i].role_content) + + + return json.dumps(processed_agentname_list_all, ensure_ascii=False) + + + + def processed_agentname_save(self, sessionId:str, nodeId:str, agentName:str)->None: + ''' + 将这次执行完的(lingsi返回的)agentname,存下来, + 注意,同名的agentname 会被覆盖 + ''' + # processed_agentname_get_str = self.processed_agentname_get(sessionId, nodeId) + # logging.info(f'已有的processed_agentname_get_str is {processed_agentname_get_str}, 当前要存入的agentName is {agentName}') + # if processed_agentname_get_str == '': #第一次有工具返回时,processed_agentname_get_str 值为’‘ + # processed_agentname_list = [] + # else: + # processed_agentname_list = json.loads( processed_agentname_get_str ) + + # processed_agentname_list.append(agentName) + # processed_agentname_list_str = json.dumps(processed_agentname_list, ensure_ascii=False) + + processed_agentname_list = agentName + hashpostfix = f'_processedAgentName_{agentName}' + user_name = nodeId + role_name = 'PAN' + role_type = "DM" + + return self.message_save( sessionId, nodeId, processed_agentname_list, + hashpostfix, user_name, role_name, role_type) + + + + def current_plan_save(self, sessionId:str, currentNodeId:str, role_content:str)->None: + ''' + 将current_plan 存下来 + + Parameters + ---------- + sessionId : str + DESCRIPTION. + currentNodeId : str + DESCRIPTION. + role_content : str + DESCRIPTION. + + Returns + ------- + None + DESCRIPTION. + + ''' + + hashpostfix = '_plan' + user_name = currentNodeId + role_name = 'plan' + role_type = "DM" + + node_count_res = self.nodecount_get( sessionId, currentNodeId) + if node_count_res == []: + chapter = 1 + else: + chapter = json.loads(node_count_res[0].role_content)['chapter'] + + hashpostfix_all = f'_chapter{chapter}' + hashpostfix + message = Message( + chat_index= sessionId, + message_index= hash_id(currentNodeId, sessionId, hashpostfix_all), + user_name = hash_id(user_name), + role_name = role_name, + role_type = role_type, + role_content = role_content, + + ) + + self.memory_manager.append(message) + + def current_plan_get(self, sessionId:str, currentNodeId:str)-> str: + ''' + + 得到当前的current_plan + Parameters + ---------- + sessionId : str + DESCRIPTION. + currentNodeId : str + DESCRIPTION. + + Returns + ------- + str + DESCRIPTION. + + ''' + node_count_res = self.nodecount_get( sessionId, currentNodeId) + if node_count_res == []: + chapter = 1 + else: + chapter = json.loads(node_count_res[0].role_content)['chapter'] + + hashpostfix = '_plan' + hashpostfix_all = f'_chapter{chapter}' + hashpostfix + print(currentNodeId, sessionId, hashpostfix_all) + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + # "chat_index": sessionId, + "message_index" : hash_id(currentNodeId, sessionId, hashpostfix_all), + "role_name" : 'plan', + "role_type" : "DM" + }) + get_messages_res = memory_manager_res.get_messages() + return get_messages_res[0].role_content + + + + def react_current_history_save(self, sessionId, currentNodeId, role_content): hashpostfix = '_his' user_name = currentNodeId @@ -557,7 +824,7 @@ def react_current_history_save(self, sessionId, currentNodeId, role_content): self.memory_manager.append(message) - def react_current_history_get(self, sessionId, currentNodeId): + def react_current_history_get(self, sessionId:str, currentNodeId:str)->str: ''' 得到当前的current_history ''' @@ -569,7 +836,7 @@ def react_current_history_get(self, sessionId, currentNodeId): hashpostfix = '_his' hashpostfix_all = f'_chapter{chapter}' + hashpostfix - print(currentNodeId, sessionId, hashpostfix_all) + #print(currentNodeId, sessionId, hashpostfix_all) memory_manager_res= self.memory_manager.get_memory_pool_by_all({ # "chat_index": sessionId, "message_index" : hash_id(currentNodeId, sessionId, hashpostfix_all), @@ -634,19 +901,63 @@ def tool_observation_save(self, sessionId, currentNodeId, tool_information, user #logging.info(f'sessionId {sessionId} start_nodeid {start_nodeid} 的 memory 是 {memory}') - def get_output(self,sessionId, start_datetime, end_datetime): + def get_output(self,sessionId, start_datetime, end_datetime, agent_name): + + #首先提取主持人可能的返回 + get_messages_res_all = [] memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + "role_name" : '主持人', "chat_index": sessionId, 'role_tags': ['all', '人类'], "start_datetime":[start_datetime, end_datetime], }) get_messages_res = memory_manager_res.get_messages() - if get_messages_res == []: + get_messages_res_all = get_messages_res_all + get_messages_res + + #再提取 标题 user可能的返回 + get_messages_res = [] + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + "role_name" : 'user', + "chat_index": sessionId, + 'role_tags': ['all', '人类'], + "start_datetime":[start_datetime, end_datetime], + }) + get_messages_res = memory_manager_res.get_messages() + get_messages_res_all = get_messages_res_all + get_messages_res + + + #再提取 agent 可能的返回 + if agent_name != None and type(agent_name) == str: + get_messages_res = [] + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + "role_name" : agent_name, + "chat_index": sessionId, + 'role_tags': ['all', '人类'], + "start_datetime":[start_datetime, end_datetime], + }) + get_messages_res = memory_manager_res.get_messages() + get_messages_res_all = get_messages_res_all + get_messages_res + + + #再提取 tool 可能的返回 + get_messages_res = [] + memory_manager_res= self.memory_manager.get_memory_pool_by_all({ + "role_name" : 'function_caller', + "chat_index": sessionId, + 'role_tags': ['all', '人类'], + "start_datetime":[start_datetime, end_datetime], + }) + get_messages_res = memory_manager_res.get_messages() + get_messages_res_all = get_messages_res_all + get_messages_res + + get_messages_res_all = sorted(get_messages_res_all, key=lambda msg: msg.start_datetime)#按照时间进行排序 + + if get_messages_res_all == []: logging.info('本阶段没有能给用户看的信息') return None outputinfo = [] - for i in range(len(get_messages_res)): - outputinfo.append( get_messages_res[i].role_content ) + for i in range(len(get_messages_res_all)): + outputinfo.append( get_messages_res_all[i].role_content ) logging.info(f'outputinfo is {outputinfo}') # outputinfo_str = json.dumps(outputinfo, ensure_ascii=False) diff --git a/muagent/service/ekg_reasoning/src/question_answer/qa_function.py b/muagent/service/ekg_reasoning/src/question_answer/qa_function.py index 78d0d7c..8ebcf32 100644 --- a/muagent/service/ekg_reasoning/src/question_answer/qa_function.py +++ b/muagent/service/ekg_reasoning/src/question_answer/qa_function.py @@ -65,10 +65,9 @@ def full_link_summary(self): resstr = self.geabase_nodediffusion_qa() print(resstr) print(f'full_link_summary prompt的长度为 {len(resstr)}') - resstr_llm_summary = call_llm(input_content = resstr, llm_model = 'Qwen2_72B_Instruct_OpsGPT',llm_config=self.llm_config) - - visualization_url = self.get_visualization_url() + resstr_llm_summary = call_llm(input_content = resstr, llm_model = None,llm_config=self.llm_config) + #visualization_url = self.get_visualization_url() return resstr_llm_summary @@ -96,7 +95,7 @@ def next_step_summary(self): print(prompt) print(f'prompt的长度为 {len(prompt)}') - res = call_llm(input_content = prompt, llm_model = 'Qwen2_72B_Instruct_OpsGPT',llm_config=self.llm_config) + res = call_llm(input_content = prompt, llm_model = None, llm_config=self.llm_config) return res @@ -122,7 +121,7 @@ def get_referred_node(self): ''' print(prompt) print(f'prompt的长度为 {len(prompt)}') - res = call_llm(input_content = prompt, llm_model = 'Qwen2_72B_Instruct_OpsGPT',llm_config=self.llm_config) + res = call_llm(input_content = prompt, llm_model = None,llm_config=self.llm_config) # res = robust_call_llm(prompt) return res @@ -141,137 +140,153 @@ def geabase_nodediffusion_qa(self): ''' - #resstr = '你是一个计划总结大师,可以用比较通俗易懂的语言总结一个计划。 以下计划由一个知识图谱表示。请将其总结为自然语言的方式 \n' - + resstr = '你是一个计划总结大师,可以用比较通俗易懂的语言总结一个计划。 以下计划由一个知识图谱表示。请将其总结为自然语言的方式 \n' - # #1.假设当前节点已经运行完,得到后面的tool. 如果为事实节点,则需要采用大模型进行判断 - # tool_plan = [] - # nodeid_in_search = [{'nodeId':self.start_nodeid, 'nodeType':self.start_nodetype}] - # while len(nodeid_in_search)!= 0: - # nodedict_now = nodeid_in_search.pop() - # nodeid_now = nodedict_now['nodeId'] - # nodetype_now = nodedict_now['nodeType'] + #1.假设当前节点已经运行完,得到后面的tool. 如果为事实节点,则需要采用大模型进行判断 + tool_plan = [] + nodeid_in_search = [{'nodeId':self.start_nodeid, 'nodeType':self.start_nodetype}] + nodeid_in_search_all = [] - # if nodetype_now == 'opsgptkg_analysis': - # if self.gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = nodeid_now, rootNodeType = nodetype_now, key = 'accesscriteria') == 'or': - # #当链接到node_result_1节点的node_phenomena都满足时,才激活node_result_1 - # resstr += f'当链接到{nodeid_now}节点的node_phenomena只要满足一个时,就能激活{nodeid_now}' - # else: - # resstr += f'当链接到{nodeid_now}节点的node_phenomena都满足时,才能激活{nodeid_now}' + while len(nodeid_in_search)!= 0: + nodedict_now = nodeid_in_search.pop() + nodeid_now = nodedict_now['nodeId'] + nodetype_now = nodedict_now['nodeType'] - # #nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) - # if nodetype_now == 'opsgptkg_phenomenon': - # ''' - # node_phenomena_1 与 结论 node_result_1 相连,node_result_1的内容为 热点账户问题,无需应急。 - # node_phenomena_1 与 结论 node_result_4 相连,node_result_4的内容为 请排查其他原因 - # ''' - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - # for i in range(len(neighbor_node_id_list)): - # resstr += f'{nodeid_now}节点 与 {neighbor_node_id_list[i]} 相连,节点{neighbor_node_id_list[i]}的内容为: {next_node_description_list[i]}' - # # print('==================') - # # print(f'nodeid_in_search is {nodeid_in_search}') - # # print('=================') + if nodetype_now == 'opsgptkg_analysis': + if self.gb_handler.geabaseGetOnlyOneNodeInfoWithKey( rootNodeId = nodeid_now, rootNodeType = nodetype_now, key = 'accesscriteria') == 'or': + #当链接到node_result_1节点的node_phenomena都满足时,才激活node_result_1 + # nodeid_in_search_all.append(nodeid_now) + resstr += f'当链接到{nodeid_now}节点的node_phenomena只要满足一个时,就能激活{nodeid_now}' + + else: + # nodeid_in_search_all.append(nodeid_now) + resstr += f'当链接到{nodeid_now}节点的node_phenomena都满足时,才能激活{nodeid_now}' + + #nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + if nodetype_now == 'opsgptkg_phenomenon': + ''' + node_phenomena_1 与 结论 node_result_1 相连,node_result_1的内容为 热点账户问题,无需应急。 + node_phenomena_1 与 结论 node_result_4 相连,node_result_4的内容为 请排查其他原因 + ''' + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + for i in range(len(neighbor_node_id_list)): + resstr += f'{nodeid_now}节点 与 {neighbor_node_id_list[i]} 相连,节点{neighbor_node_id_list[i]}的内容为: {next_node_description_list[i]}' + # print('==================') + # print(f'nodeid_in_search is {nodeid_in_search}') + # print('=================') - # if self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_task') == True: - # # 后续节点都是task节点, - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - - # if nodetype_now == 'opsgptkg_schedule': #操作计划节点后第一次出现任务节点 - # if len(neighbor_node_id_list) >= 2: - # resstr += f'并行执行{len(neighbor_node_id_list)}个任务:\n' - # else: - # resstr += f'执行{len(neighbor_node_id_list)}个任务:\n ' - # for i in range(len(neighbor_node_id_list)): - # resstr += f' {neighbor_node_id_list[i]} 的内容是 : {next_node_description_list[i]} \n' - # else: - # if len(neighbor_node_id_list) >= 2: - # resstr += f'{nodeid_now}后面是并行执行{len(neighbor_node_id_list)}个任务:\n' - # else: - # resstr += f'{nodeid_now}后面是执行{len(neighbor_node_id_list)}个任务:\n ' + if self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_task') == True: + # 后续节点都是task节点, + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + + if nodetype_now == 'opsgptkg_schedule': #操作计划节点后第一次出现任务节点 + if len(neighbor_node_id_list) >= 2: + resstr += f'并行执行{len(neighbor_node_id_list)}个任务:\n' + else: + resstr += f'执行{len(neighbor_node_id_list)}个任务:\n ' + for i in range(len(neighbor_node_id_list)): + resstr += f' {neighbor_node_id_list[i]} 的内容是 : {next_node_description_list[i]} \n' + else: + if len(neighbor_node_id_list) >= 2: + resstr += f'{nodeid_now}后面是并行执行{len(neighbor_node_id_list)}个任务:\n' + else: + resstr += f'{nodeid_now}后面是执行{len(neighbor_node_id_list)}个任务:\n ' - # for i in range(len(neighbor_node_id_list)): - # resstr += f'{nodeid_now}后面是{neighbor_node_id_list[i]}, {neighbor_node_id_list[i]}的内容是:{next_node_description_list[i]} \n' + for i in range(len(neighbor_node_id_list)): + resstr += f'{nodeid_now}后面是{neighbor_node_id_list[i]}, {neighbor_node_id_list[i]}的内容是:{next_node_description_list[i]} \n' - # for i in range(len(neighbor_node_id_list)): #往后扩展 - # nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_task'}) + for i in range(len(neighbor_node_id_list)): #往后扩展 + if neighbor_node_id_list[i] not in nodeid_in_search_all: + nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_task'}) + nodeid_in_search_all.append(neighbor_node_id_list[i]) - # elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_phenomenon') == True: - # #后续所有节点都是判断节点, 则进行大模型判断,选中其中一个 phenomenon 进入后续,同时在phenomenons节点上记录memory - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_phenomenon') == True: + #后续所有节点都是判断节点, 则进行大模型判断,选中其中一个 phenomenon 进入后续,同时在phenomenons节点上记录memory + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - # resstr += f'{nodeid_now}后面有{len(neighbor_node_id_list)}种可能 ' - # for i in range(len(neighbor_node_id_list)): #往后扩展 - # resstr += f'{neighbor_node_id_list[i]}:{next_node_description_list[i]}; ' - # resstr += '\n' + resstr += f'{nodeid_now}后面有{len(neighbor_node_id_list)}种可能 ' + for i in range(len(neighbor_node_id_list)): #往后扩展 + resstr += f'{neighbor_node_id_list[i]}:{next_node_description_list[i]}; ' + resstr += '\n' - # for i in range(len(neighbor_node_id_list)): #往后扩展 - # nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_phenomenon'}) + for i in range(len(neighbor_node_id_list)): #往后扩展 + if neighbor_node_id_list[i] not in nodeid_in_search_all: + nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_phenomenon'}) + nodeid_in_search_all.append(neighbor_node_id_list[i]) - # elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_schedule') == True: - # #后面都是操作计划节点,假设只有一个操作计划节点 - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - # # neighbor_node_id_list = get_nodeid_from_res(res) - # # next_node_description_list = get_nodedescription_from_res(res) - # for i in range(len(neighbor_node_id_list)): - # resstr = resstr + '操作计划名:' + self.gb_handler.geabase_getDescription(neighbor_node_id_list[i], 'opsgptkg_schedule') + '\n' + '最开始,' - # nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_schedule'}) + elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opsgptkg_schedule') == True: + #后面都是操作计划节点,假设只有一个操作计划节点 + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + # neighbor_node_id_list = get_nodeid_from_res(res) + # next_node_description_list = get_nodedescription_from_res(res) + for i in range(len(neighbor_node_id_list)): + resstr = resstr + '操作计划名:' + self.gb_handler.geabase_getDescription(neighbor_node_id_list[i], 'opsgptkg_schedule') + '\n' + '最开始,' + if neighbor_node_id_list[i] not in nodeid_in_search_all: + nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_schedule'}) + nodeid_in_search_all.append(neighbor_node_id_list[i]) - # elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opstpgkg_analysis') == True: - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + elif self.gb_handler.all_nodetype_check(nodeid_now, nodetype_now, 'opstpgkg_analysis') == True: + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + next_node_description_list = self.gb_handler.get_children_description( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - # # neighbor_node_id_list = get_nodeid_from_res(res) - # # next_node_description_list = get_nodedescription_from_res(res) - # for i in range(len(neighbor_node_id_list)): + # neighbor_node_id_list = get_nodeid_from_res(res) + # next_node_description_list = get_nodedescription_from_res(res) + for i in range(len(neighbor_node_id_list)): - # resstr += f'{nodeid_now} 与 {neighbor_node_id_list[i]} 相连,{neighbor_node_id_list[i]}的内容为 {next_node_description_list[i]} ' - # nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_schedule'}) + resstr += f'{nodeid_now} 与 {neighbor_node_id_list[i]} 相连,{neighbor_node_id_list[i]}的内容为 {next_node_description_list[i]} ' + if neighbor_node_id_list[i] not in nodeid_in_search_all: + nodeid_in_search.append({'nodeId':neighbor_node_id_list[i], 'nodeType':'opsgptkg_schedule'}) + nodeid_in_search_all.append(neighbor_node_id_list[i]) - # else: - # neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) - # neighbor_node_type_list = self.gb_handler.get_children_type( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) + else: + neighbor_node_id_list = self.gb_handler.get_children_id( nodeid_now, nodetype_now) #get_nodeid_from_res(res) + neighbor_node_type_list = self.gb_handler.get_children_type( nodeid_now, nodetype_now) #get_nodedescription_from_res(res) - # for i in range(len(neighbor_node_id_list) ): + for i in range(len(neighbor_node_id_list) ): - # nodeid_new = neighbor_node_id_list[i] - # nodetype_new = neighbor_node_type_list[i] + nodeid_new = neighbor_node_id_list[i] + nodetype_new = neighbor_node_type_list[i] - # #只要后续有节点就继续扩展 - # nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + #只要后续有节点就继续扩展 + if nodeid_new not in nodeid_in_search_all: + nodeid_in_search.append({'nodeId':nodeid_new, 'nodeType':nodetype_new}) + nodeid_in_search_all.append( nodeid_new ) - full_graph_info = self.geabase_handler.get_hop_infos(attributes={"id": self.start_nodeid,}, node_type="opsgptkg_intent", hop = 15 ) - full_graph_info_str = str(full_graph_info.nodes) + '\n' + str(full_graph_info.edges) + '\n' - resstr = \ - f''' - 你是一个计划总结大师,可以用比较通俗易懂的语言总结一个计划。 - 计划由知识图谱的形式表示,即full_graph_info。 + # full_graph_info = self.geabase_handler.get_hop_infos(attributes={"id": self.start_nodeid,}, node_type="opsgptkg_intent", hop = 15 ) + # full_graph_info_str = str(full_graph_info.nodes) + '\n' + str(full_graph_info.edges) + '\n' + # resstr = \ + # f''' + # 你是一个计划总结大师,可以用比较通俗易懂的语言总结一个计划。 + # 计划由知识图谱的形式表示,即full_graph_info。 - ##注意## - full_graph_info 是一个具体的流程信息,包含了节点和边的信息 + # ##注意## + # full_graph_info 是一个具体的流程信息,包含了节点和边的信息 - full_graph_info:{full_graph_info_str} + # full_graph_info:{full_graph_info_str} - ''' + # ''' + + # resstr += ' \n \n 请总结上述排查计划,注意有些情况下可以概况总结处理.注意,请直接输出总结结果,不要输出其他的话:' + - resstr += ' \n \n 请总结上述排查计划,注意有些情况下可以概况总结处理.注意,请直接输出总结结果,不要输出其他的话:' return resstr diff --git a/muagent/service/ekg_reasoning/src/utils/__init__.py b/muagent/service/ekg_reasoning/src/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/muagent/service/ekg_reasoning/src/utils/call_llm.py b/muagent/service/ekg_reasoning/src/utils/call_llm.py index c32ac0e..3b8c4cf 100644 --- a/muagent/service/ekg_reasoning/src/utils/call_llm.py +++ b/muagent/service/ekg_reasoning/src/utils/call_llm.py @@ -21,11 +21,9 @@ from colorama import Fore from Crypto.Cipher import AES from loguru import logger +import logging + -try: - from call_antgroup_llm import call_antgroup_llm -except: - logger.warning("it's ok") MOST_RETRY_TIMES = 5 @@ -37,6 +35,11 @@ sys.path.append(src_dir) sys.path.append(src_dir + '/examples/') print(src_dir) +try: + from muagent.service.ekg_reasoning.src.utils.call_antgroup_llm import call_antgroup_llm +except: + logger.warning("加载 call_antgroup_llm 失败") + from muagent.llm_models.llm_config import LLMConfig from muagent.llm_models import getChatModelFromConfig @@ -44,8 +47,8 @@ def call_llm( input_content = '中国的首都是哪儿', - llm_model = 'qwen_chat_14b', - stop = None, + llm_model = None, + stop = [], temperature = 0.1, presence_penalty=0, llm_config=None @@ -53,7 +56,7 @@ def call_llm( if os.environ['operation_mode'] == 'open_source': # 'open_source' or 'antcode' - #开源环境,call_llm 依靠用户的配置 + logging.info('开源环境,call_llm 依靠用户的配置') try: src_dir = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -85,14 +88,35 @@ def call_llm( #logger.error(f"{e}") - print(f'os.environ["model_name"] is {os.environ["model_name"]}, llm_model is {llm_model}') + logger.info(f'os.environ["model_name"] is {os.environ["model_name"]}, llm_model is {llm_model}, llm_config is {llm_config}') - if llm_config is None or llm_model == 'gpt-4' or llm_model == 'gpt_4': + if ( llm_model == 'gpt-4' or llm_model == 'gpt_4'): logger.info("强制调用gpt-4 的配置") llm_config = LLMConfig( - model_name=model_name, model_engine=model_engine, api_key=api_key, api_base_url=api_base_url, + model_name=model_name, model_engine=model_engine, + api_key=api_key, api_base_url=api_base_url, temperature=llm_temperature) + elif llm_model == None: + logger.info("llm_config 未输入, 强制调用默认大模型配置") + llm_config = LLMConfig( + model_name =os.environ["model_name"], + model_engine =os.environ["model_engine"], + api_key =os.environ["OPENAI_API_KEY"], + api_base_url =os.environ["API_BASE_URL"], + temperature =os.environ["llm_temperature"] ) + # elif ( llm_model == 'qwen-72B' or llm_model == 'Qwen2_72B_Instruct_OpsGPT'): + # logger.info("强制调用 Qwen2_72B_Instruct_OpsGPT 的配置") + # llm_config = LLMConfig( + # model_name =os.environ["qwen-model_name"], + # model_engine =os.environ["qwen-model_engine"], + # api_key =os.environ["qwen-OPENAI_API_KEY"], + # api_base_url =os.environ["qwen-API_BASE_URL"], + # temperature =os.environ["qwen-llm_temperature"] ) + else: + logger.info("使用默认 llm_config 的配置") + + logger.info(f'llm_config is {llm_config}') llm_model = getChatModelFromConfig(llm_config) if llm_config else None @@ -139,9 +163,9 @@ def extract_final_result(input_string, special_str = "最终结果为:" ): #return jiequ_str -def robust_call_llm(prompt_temp, llm_model = 'useless', stop = None, temperature = 0, presence_penalty = 0): +def robust_call_llm(prompt_temp, llm_model = None, stop = None, temperature = 0, presence_penalty = 0): if os.environ['operation_mode'] != 'antcode': - res = call_llm(input_content = prompt_temp, llm_model = 'gpt_4', stop = stop,temperature=temperature, presence_penalty=presence_penalty) + res = call_llm(input_content = prompt_temp, llm_model = llm_model , stop = stop,temperature=temperature, presence_penalty=presence_penalty) return res else: try: @@ -155,5 +179,5 @@ def robust_call_llm(prompt_temp, llm_model = 'useless', stop = None, temperature if __name__ == '__main__': import test_config - res = call_llm("你的名字是什么?") + res = call_llm("你的名字是什么?", llm_model = 'Qwen2_72B_Instruct_OpsGPT') print(res) diff --git a/requirements.txt b/requirements.txt index 84f0432..115cf6a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -29,4 +29,5 @@ urllib3==1.26.6 sseclient ollama colorama -pycryptodome \ No newline at end of file +pycryptodome +dashscope \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/config/application-default.properties b/runtime/bootstrap/src/main/resources/config/application-default.properties index 77805b9..cf8ef39 100644 --- a/runtime/bootstrap/src/main/resources/config/application-default.properties +++ b/runtime/bootstrap/src/main/resources/config/application-default.properties @@ -14,4 +14,7 @@ ekg.chat.url=http://ekgservice:3737/ekg/graph/ekg_migration_reasoning ekg.candidate.tools=undercover.dispatch_keyword,undercover.dispatch_position,\ undercover.judge,undercover.lijing,undercover.summary,undercover.wangpeng,\ - undercover.zhangwei,undercover.show_key_information \ No newline at end of file + undercover.zhangwei,undercover.show_key_information,\ + werewolf.dispatch_keyword,werewolf.dispatch_position,werewolf.hangang,\ + werewolf.hezixuan,werewolf.judge,werewolf.liangjun,werewolf.shenqiang,\ + werewolf.zhoujie,werewolf.zhouxinyi,werewolf.zhuli,werewolf.summary \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/log4j2-spring.xml b/runtime/bootstrap/src/main/resources/log4j2-spring.xml index 3e56422..66b92d9 100644 --- a/runtime/bootstrap/src/main/resources/log4j2-spring.xml +++ b/runtime/bootstrap/src/main/resources/log4j2-spring.xml @@ -2,18 +2,18 @@ - + - + @@ -24,7 +24,7 @@ filePattern="${spring:logging.path}/${spring:spring.application.name}/app-default.log.%d{yyyy-MM-dd}" append="true"> diff --git a/runtime/bootstrap/src/main/resources/static/avatar/hangang.png b/runtime/bootstrap/src/main/resources/static/avatar/hangang.png new file mode 100644 index 0000000000000000000000000000000000000000..43b72730f156dbff3b82a615ed9500895943954a GIT binary patch literal 171121 zcmY&gcOcaN|K~b7L}zE8y+?L5E@YF)o|Ty$vUMkkN;XMKWh5iXUR}!y<+67wqKq;# z>i2rT@A!Owe|+jg_kO*fdpw@c*TtI{>(JA3(o#@R(Cg`HnNmUyS|`tjIQ$%=2|3&Mr}fuFmJn|0#+K=+o3vR%%-G^u^U^6| z{pYe;%lStxJr>2a(S7w(HfK!EJ}JF1+%N2te!g_$nXX7X@+6D2Of3u2<@EG+xaccZ zp{&lPfW>1Ip}f4O7LP4%ZQa|doP3{i;q87(BpORW{^Pu`Q+`Z+@M0c4Q%<^lP3qlj z_4mWZ71b{~yhL64tba$9byv*gF^yPP=cV>;1`KuUKlwKCL-LAJ^|u-Q%D>CLb~RH` zpTZujFSD+5EjG*k{Ufhu;8JC%Z6I8=J-SugXPWg4{Jn0ysP-w$zIwI3|G~4`EAN8j z9mjp|W){`0&eZ+rlozf%``+k%Sc{aIUc0IAwCtxVFAP@KM&92_OXz!pJ@h~Ha5qqO3M~4;k1N zrjMs8uD|Ci__mlZEm0imxE=Yr(>!%rBKc0S(!f1Whp15h+6z5A|8w*LjU0u)?+3kG zryb)mX71)~n2m&!pd^mU#bhqfxia$)3Jz=_=FKAfzI&%L-tM5KJpa@tN}E zu71$iTpmRAV)YM+2JK*_p)T_&da1^f*P7)U-FeQ3yg5+xZ9*@9UhGxA4~=3~v$wpg zisG+WLCJB|cKS1oS6pX`tOLw1j$0Pyzc_Tab`_Vzwx@i|6-sK%pAmo2J%+IdsD3(( zHMqaB84(+4Oi24KGvw{ur7S-uQ|xWCpYyPxab6qh(2gZ>q~l`7*B!YRLh1$*S^3k` z)*`9Dy3c;Tx+f+aZW(a^d+!R8V$aYHp!cboOyEMz&$rH!>wC19Gf|E-tZR43ct&1*bJ;gERZ!)-)#0yV`xq#ZznQF7zKsZ$YNm{i2o71_ zJCTwps=~jgK9(~$N?pcZ;tBs9c9C*K-C8Dl&_VeJy_!w;)W)TcJ*?_Tv{*FZX*Zwv ziv(BwFIR4SWE5uHlN8!2pJE@Hmtl`}{3F`I=5Mw|b$J@fw&Gc|?PVLDdS|#Et0GX9 zmQMIQ>h@lP>XY$WO>DBha?f5a@CWzFZ-RIDUD3Le# zmptB&2vnbJ=`B7of=Lhaz11nHt`QY0$!x#poOsk=N5`tmT}dIcq8JJ1 zmmx1MG+{Y&Q9v{wkK@-b`Q8d~e3-68Z(8lp6;GYoF6B8PZ}*=ipml(|`Hz~*@0p7? zx~-`%*?mrQcE7Y+(AV+rgBA2OmuSFw=*#%oIu&iNg@oix^I?~YEP0ox!R&$)|8e^o zL<#W{(c-qrL0o(9Z=V3uvLtuKv1!l-_78PJ)~~k72jUaJg)8; zbMQZH-U9M}8xjx?J_svxfi~jTa5?e8DedIsP^U;u^~x{>SYV(!MwD3>$j$v%5+E$AJ@M zl|PJ>c7K!m2GKayb54T|@`GU!rz$ON*_m;4`*6EyyR(_)`k4`*X^GtrQ{c}7b&Ibt znDFg}1FHlI-{7S4F_biMScroLn zu3T2|n_O?idtsxDl?rE(;>u7U`1z~VV;$zZ#!i8V0)qc#mRYsyuJ}IG(&hb$kQJZ} z@WGe%C68tc47C@O{Ytkg5MtStH2MZFRjW@K= zkS#tEoYB@WZ+G?m?hAl0#0eC6IZk#!pd>mf%?WGs4Fz}ES2LM*gjX~B))=$7S14@u_?p3eB?UK`gvj%VJqxA;GNU9O%pQvz^XBB7qpg)O*fX(iz`FnCA2hpkTtk;fzONx(`gB5NrTj7^+wPeF< z*-UxbkeE=$1jCH3{Hs?GO^_Xa#&$N~lANv1zq)N>OpRitC@az1$m72w69pY~6kugtf6K zO{L5QY0tH^p8FL~FA1pflccs`I!VQ$pl7YFH>P~oS;W{2v6nUCUI0>57iES>r1;qp zEJTCN`u~=HlTIA9v@QLtO7n|!h!y`*bDmy>Yl`9J6g?H!+&wp&5+P6s`Kasjk|^P3 zD?jnQ4xb^+kfgL#&2Y3j=+4#eWOLReG>UkN7QH?GxF|tMyJEgJ%V5u1On}kRe5?Mr zD{Nr<7UtekN_@F73`u>IDgC}bn(TIywpt*WI4n=1q?k| z;Eoi8ll5ddFgi~KrL28 zoW&Fv9>0<`9XaeoFqfN~+fI+K$ko*xZRE3$lx%rTHtceF{7{{W=B=VL9y6Q@E*%1Q z$aw=21yYZ+{dmYGvGjvz;L0a=HW4an)pU#@Zb7Y*&lbo}EXqOfi#{KEZKhvb%cb2_PHFC!mJO1YBjTxBp}FY(a|gQ#qhQbKY(+!sW3 z@Vna`(+qO!Q9q~m=*Q;nAl?UDML*_L61`{`xnn!;7_Gi%2eMH0qe#{jb{tWyR+n0_ zhRJ$M`ETn}cEi^u^nbm9BYRuNaK^bf>B!OEzAgkQq5wU(KLeJ%cEkVJ9w+yYshDJ@ zP*$jE5dYo|K<{SA2zI%f!bV9eae698=faQB?!MLw6m)N0C22@y8SW*bTB0tIN$pY4 z()0M2eO5eVU8AkCa2`oN1urTy8)|CuXp^-78Wzwbef~qPUh(F%gLC)CTnwmn>uQc& zzDB$IG%5ktN`!wm_DX94hc1QNR$oEIvXx6nN)n#`3-HcWxJ<$ErD^^Q4ISxBkepBA*&9#B zWq3xnJ5OtsU$KER3@C08zzoGPBIGoORstzt@$N;NIr^j2x@+Z6R!_g&<5U7U{f(O6 z+DI-ai!+U^L{LmqV|*6Wi(qT#W-sq!ZRi;8e|5cHz58UuZuEJ9>noPO9KHUg*En3T z`%L?8x#h_2MDdy#5BnKT5K;Z;JhSjmM)|sZUF-fr%7^!&AS=S?-`3p^qZqBK1m;_5 z*Qm)dnUV$$IKE||MtYI6S^JJlPz)0%rkEbH7m3jyS4J^Ho}zc^J)V6gy^8|zi^Yk8 z=|iM2D8i7INb9rF&P&AqcdiPpL{m<%1n`J!WWJJJSA`klhy>0a=Zk ztR8GNleM_?TTfFYo2NRsBGQf+YwR+P%{_)#G;ob(a*fWi`Ioph+EzuDCfXRt?ei#m zJ;|YRyAaCePMF^0||sZbe_Qvt}iU(h=Crvt#K? zvAlJ!TG^Ue&YdCa4wy(fP49Fpzp!g`Xz4jltz8D9AO2{f-1rHzPB>fa~mQYYVp&`K~mW59#MR{abUfboq zR%$8Qxy9pi$}iXH&U_ioB$7Ac<)GO4rR*at4%{cmaCC%A)~m0t_qS3TUqJKj`b=Cb zAyDs&vq4LCeZ6&$dzK8zq~czJps}%dm@|8rN;b3O2XOb3|At-lgO{sq;)9&W@4 zKz$AH?j9y!ccnXzY$5UD??643cY0fOL|1yHz2SMr|GN9hY=p(L>24ZvTjg=XtY0+P zUAf-_q)(QRYeAe>&?Ob?MbEOvt6f!WP%%vwT{o)nfx2kk&@B~u`k?MS5poB63YfjA zR)juW2Gj~V6{qM_^InX4qF$tTV^`>y@=Loqk)FMgbrBp# zyZgPoUj@p`rs|8|E|G0`12nT}UK-L*YGO{s?@uRn@m!3;?$4aMO#TcMz-{(4#;;2z z90M`_r_P_9%(!ya=viUcT*C$L#I*m?Brvxn1HxS2=n;OG_bu7t3desHANWBsr2pUe zZis+9-(-7GX`PynYs(_;+HQ;kM{Lv+w(0^j?skQI`e?GBfn+eK5(gY*+gw5|sh+1C z8vnL`x_P=|E<}|~B9y7c%5WT_o~_yShDQEdxny|oGaInAg`I~0ZUK@N06G4hN9pyu zi}qhF#7MObta4B!IV?5vzR%-Yh}{jW%^znXTNMwebDm3!!;$OAnnqO_oZnR7&;>|7IILTY_*uf z6raUOc@%59faY)xWsH&ijQQRic<^Q z?!FLeFz9{p@x=d-I)M&3({fwBD&b2q$%Y80fL>)5)Ux0wor_aNC5vA;_a6KYb)rO` zmyvtEnvitj-BHnBBswng15z2z3mq$~JpNb92vqaJZF-A6)zg@#MTl z2Tb2?&_y0LhY+`j18JA8XD>4BRkJ{nx9N@wW&vR=#eHEQm0odmz|HUY%E2!lpz;d( zLt{E+2x_w*Y+uQ>86?a}PlWbqy*dSrztIOs?D|8At<_$b6dD1Es^Y;dtp`7o3lvxb z_(hhGM!;FCKPmfQi~)&LmD$d)Y?i3`TC4B>dalC#UpN664+G`nmmP!ZoxLrE!~X1< zWaG90VthEp$qD!M?uj@fbMCRQme%9*b%~z;W7^nBTSTJ%G()OS2sIbU2p&m++}+Wj zvk1SXqVJnd6?m!a|9hzkma_P|%ZtZ`JC!rEwGz8U${ipZ!V_`09X8RWv`s&%q3xzO z{4D851>6599Tj0P`5{F+D{z|1i=@A}6!4_jJX;e?eOrM9b!Aka`IZ0mBrFEJ^F(zs zqr5obX&PBRzJSZnPyT|?;n*aQs{L!7Kcod>lY)xi5VgdEXwelGHZANnoiR4`$m$I; zDhgmPDk=Gyq|cBk~7GR8h8a-G%plDkLfX1(oTq)^u}Nkx<-Bx!%?m{^d(6kKK(C_?N#K zzYm)apEvNx_Re=UoimpyeQ~>TZP;|6Do?3DNiC?u?c4T(b$#A9X~xC*q|-Bce2ubQ zclf&^H1F>4d4K`X@`q*H>;_mnY7%k#-<0l* zl~e}V77~Tt>`UVdOR-$zTs+_Oih}uyp4tq1y{LY6rbKe$zHrwanWn#C?;Q)3^p~fr zB7)dRcpipoA+2lt{9J(&(mIXYf0gJ%EhP+vV8xJLi_Uc=v2AmO58dNLAmS{M)e{bz zpT~&{;gu0p>B0APdQTV`5j(Sp?`8G=-4p8T*B`eQh=BQsMlU(Eauwxw33mMe{bF2n zFUj|y7r;RRD@NrdUzee;bhbiM_=S&HcAhwJ3E+hG^_7j^J~w@S{tr)F53g+e!#I!_ zOxV0Kp6rk%wKE}UDk9kRPqECS9WuHYy-9kG1jVYXkvF|8O|XsB3KO_6KJzLbKsR_3 zn!&SwicDW~MV*a#diXBn+EZfXe>aITJ2vBMgW-Hd0SCrc+T0!#G)f%%Rjc@m%0uRg z+z~#F1?Z#0!cLt+)(MKUu{t9`eC#CHz=Q&rAQjdb&ZPJ?n!yf-t&X$<$ z9ff-h;oy1-10QB}q-*S9Ysbe7nRJJHLdP}=GgLG;U@AAHocPXGJLeTWyD~JRAw`Ph z1a_e6kVCKl5fG@L-sXH=cddkQ!xU=u{LVOyt>%q4<-eiUZJ3uyPp^COvAS~{^OcV| zUq@7THHbJfZaJ__ieE;A?;=H^c}0;s-V+zgvPt4vupif`z{$rvt zL1zl(P(SlrPfL$yk$D#qQzayX-^i|yY>S0l&kJ`-aAvL)LS-lvJC4^uZsg zyGmr2;qh?owi{k(sG}r>R%O~H^+(DY{s8?4u_6j|lc6cMg4^m$|CAE!VdpJo9Sl^M z-M|z1uj~IPtr>n_=cI)2Z4yqXGYI?b-)>V26S>WN=dLb?>WWw?L+JtG=5HScZCP zoy6|B;r8$^7oIpP|E}RIhA3vBTbY&Iney^z&EeJ-(+FHNOrkkx5IiQnvz{uTh}DC5 z=D=SYA2?s+^+#91h5FysADz|AEP&=E9UNuciLw%?XjK)43p%3%>0W$=(ag|<4`u3< zYLstgoKDRx9<;#i>~b;E+^Ks%aqMw^D{p#+zlqvGDE&@8CK&3efc#*==UJ`@E36Yh z5^p1}#zT1pqH7` z-SpHhrFap#l;V1aIcO!wB!DFX^>Qy_{ytxj%dNd9@mzf(s9a(qPu z*Ulmrl`NOce08|H&7GPN?EdL(|7i_ z!4aWjUu{o?17LuiGT?>R`MjdyY}QPzuW+bZIt`?IrMd)~`@RL}ns8$JF9uci!iAQL zZZv?Lhs?S{z)Lb??@6YoUn@JtX>*MbzNn|!o$T6)gOM4+75qV$d84^{r@YWVWAFZE zK8DdcfTbP6X$8%|2pUQkLRC|{=#Nt)ae_%VcXt8KrpQB*Za|E4@Uc4x%~upRP@gew z4)l0WIs14q?QZttdoklsgnNR@vu$RRR8W?n{{&BQu~3&0y;{Ht1cK%ONJfODw8}W; z%vFI;iV0B4Kf|WF9hXsayx&^1L;U-gI^EZ-!hBob6xR7Ds zZtc;m!0FBmiElz}E`q5%<&4A;t&XPE=clkP;*e%)rTscQh`IbJpEGBkhoW5#Gt2(w ztPH0OY6-wYktoW5M14hKW4{UeUx!&Viri_O>@cN)kGusq ze_boN0@XxFDW|QoE2b}G(tZ+f24+yz?Pp0)pB&|i;tsmiKrJJ*-pu6L%a^CVm{eiS z&Xmdsxy(&$le5m9z%N(NdBh!u<3uz-XP6p~u#&UM+*c=Sdm)cECQ8~0Ktb4hRQd+_ z#m|!0=J{sQoVT759{dxskIer{uSJUUNKq#x8<)$qS;UP8lQ+n8NzNiCXe5{0nv1Z%4?$8^WvYWo6eorPI<>bj)J?17^_K^sk58=)cS74c@0_6 zERs-b7q)D4l+5PF3+Lzo_}J-4CEq~0&3a=Nzd6kp86)+Ob#>09LDu{W`rO^VJ*E5CF|C$eY~ zhDBWrwC`+gX5Kt=|1RJP@D1UHEm;!a2W$`0E9keOb?BSK(wqHAxT(yf>bJJ6pIayT zG&Gc8*V1VkRrTt>BRpOqNM*_m!E!sIU%rCiE$5q`5TqJ!8#E77g)*K{bUwubCaRI? zZDCgvDNlJ_C4$%BMiBY=!~_+C@Sn5Q`(`br4^WCgCYtk$I8LCB*^phhDUNP=LGuaKV&ewn%UW3h~~eMDsGMe3IZ_7RF{MvW)Uz#;{cFr6Ayc1|5kzWj< z`6t1WawK?*zN+!300;eA75XMz_*5EA4$K&c-W!AuIh|Xir{){?HBy*dPohzG&X~6Q zr5e9vk9Kv3>j2DY5H>bcLY%Sz>SpH6I@SriuRr1&cW!i_vc}C;{nc0bL*}Kr0#Q6UJq_KTgDn)^Bo$e{&5XCnc;CpOlD zf9{3_Z2iL+0B6zb+CkAS#t1~@{qLu{HwWdsntGr)`D6*U#)s$~tlQL)Ba8{bBmb%z z*H6zOq+6gM4aVzC8@d&OhV{QP5T&i8Ur|DKNs+|_5&94`$$xm|Teu=ZuIG@-Gt^C7 z@b^DeD!N+>>>0Pe3w9ueN&kLq zN+hi~n5fezjP@#TmnFR?wTalzR2w`tpN*`c_yo%R$SXnox&)=M^Pru$-!PcJp7({h7iMAbxAUp^~@2*v> z3FvvUx$9++N^%3hcs`eJ%H>VGBdZlV{u$k9;MKqnV^83Ksio-@>#Thz@Xbz-dnN?Y z;x|A+8oxN6a)1&E(AjXyH8W*(4dQV|k1S<4SaxsLtt>lE;XpQ|n>Ns-)-!XUFB3_J zMF#pvZ6i)s`9^x;8C|%O{LSh_k@Adt9WoUvGzb_bi>ImeE+-(QS|KZ?K%7K*{W&&^ z-=AMK!0?Du2@OWWe9X2CS|41`!1Tx6#y)nA%?f<;xW^;Q7$y)HdHe^56o6d{2*Eo$ zLh5!FI@(XXZD3t4Ase4H4{zyMVbG0OvsA_HOS7`uDwUJJiXdn|(1h^aCbD_uJitha z3}tWUVJha)P8382DH-ShT7G~N7FIW|KJ21<&g%(_2`N@?aANjguzswg_WmcvMbBtE zb0m2pax4A#W#9vPm_zhh4k%R7Gd~_s!67r`R<<$hE z=Rd(vF1Cg~FWWa=LgG0#w-zDjo78d%6Xvgip9ANCft{IGTl=UdUa!@EJQnz8UJHeIZ0-|;XpR8=v1d=DO}O#*2s(WFg*gIE>Rj+Z z9{-(o+ep~;PH5>vnR>?W+~5fmgv2i`GV%!EurXl$EcRYfi|>D2$)^jpzjhdKU38zC@sPGn3~VuGsnAVk4r14y(>F_6HHLk(*9 z(>&+elCe*POj0mJhfX6D6&hTPMVcq50c_RjZ^UdKb6)Vc!%meQ4A`N4C?ALSIm;;1 z(>D&YFXTJ|@M&Bwpc3W7DJ_V@Zh+2fw&~aBraxym|N4+Bx=D4AY<0qZ`WM-%-Tw{)su)MSip>OdsN5crBfw!oB%siS09tWiHGQrAefuLq=DjJ*);ku} zDY4lpgPTK?Rg6}3gbEiT|9-uIX$%Z`fs(yA*|c5G%(6yKCb%H8|FPwh_;!56E1BXK`SI%QCHv zLBXu>*g*40Ehj9=Y=}q*{=hTP4vwpPm3a-J+V2m)%CCjTFc>dH;XM(0Ue4;W@B6`$ z)N}+UXVq*rC)kAKGY<&DA~_tqFRg^2Odib)iphIQz(p~!P*a?DtI;uO?bf-YaF66e zmzJjcg*PcIy)Lvr{g$dz2H@uW&H|9B>N2YQPptsJzTC@#&49oY^_glja8w#Qi{kl5hU?zutzw zhqMGN@e(&6w zPgbT3VZiaoUy8Swzr=jvDR$it$GEP_X+a`Jf5#EL+8x}9318I8scWE)HW}*C{zwY} zdxMP3+`B|;S=X9pAUUX(9dcp}H3V2ND-jE_-(e0g-ecSNae*lO=AH=VC|o`irdI6+%Z!9cY5Qi(3n9vkCY+4cd5q>iko9!)g>`$fhhOqo;&9_v?H?V3e zt;7l!#)BGLum-5W@{!e03V%V_!dP@ks{r^VHU_ydW*?(`(}EG3>j$=#rvf>C@EoYI z_-x@K44aQG9e2bN#qADVo!n4lGg{T@gh%&&9BkB>j}lItY3{t|3yi}VpgksnFi1W! z^UBtsa1jMq^g!G90g}itOV@B<^6T;@U-RHTDtrj)0FTs8&c7Dc#4aH!z@~{DUPMpR zP%Xgom4!1uB$cm#QH|!4l>p|s#$4WatieE7rF|~xb!mq_%*=E2_vVDaH@Y4pi>(3- z{OFHO7xKBD?b{uQ(To}cM^PL?nlIj_pbZ1>pkeNIow%=o{@vf z{ZBq0!3M{M0O*si0L1R|{(spsH|1_Zia(52U3MeNcHcgU7677J>bXt~)y%I~B+r0L z^e2xAD-IfV9X$Z;JfSTq|6Xvi3(l}ZVK5B?4*7T2pQ~(a2$QER5ru@l0p0!FNG8ND zrrIUMY=BWuc(`w4~u)5Pv49yq<0&+U>rD^OJUc-s(6Nm*zDrrYeuh9naE@#)&4i z>xyz;g)9UJbe_>l>@k0Va)4#H&y)>hBqhK|Ue_zE0JMFcshqT75$+p#k66Z42bQQI zE$wU?SlWq~KBs0wy)~E|8zTDa7(9q%duEphM>rIgVCPGupP@2|g9=UDGjL+WHy3|E zs0IXnrKATB{wX`z`=y=mTB1e|BM!oMcUX6FI!IyH@$SOWec_He;MXs{>L4i?dXAlW3$b|$*fP}gqATtix zMMche&WQ_?rlTa3xSn9+sdxIgAQ&6{VEUR^Oo+Lj$7reB-=f41HGTkcV=fQ&)LV8^ zh*Z07K;>!-y!ZPPP>kKCy#(gFNC~H6$+eWK@ld`ZES(wX7J%CBBgX3WPM?rXPk*Pt zSA-7v<0w6YQ&hPCQ;);)BmW9Neg!rJ7B!?=I3cY}0Ih7ZxkiEx><+Hf_`bMjqsobX zvB5`DaJe;EO(@9LKYdIx^g3jPw*gi!&U58frL!LQr(_cFp^69)Ru}{WbXnujr;vAg zvrh(xdDl$ogEJpN0?bsbjFUEj>nd5-oa!>e9N&5Ii%eFHR&y^CS2$++ev`p|k&j{*sI!M--6D$#ufaR8 z_rZC;W4@~ooi@LX)3~oH5p65@7J@m|DtVSS}*Ch@rqbty)Z3$1PU(L!^rXEz7K}>1qFxR z6+zWv2^uWEy#R)CioLw(20n#Hu*j?@`ym`uC~JW8)mBZE6}V7L&2^_jaZRimn_BWG ztH^UH>g5Nh9uxyh{7H|>&A>1OB%G%=mYsiA#gV+wgaywxFKYk6(uwum{YS58mRPM` zS)0Lz>g0mRyc;-8>kh@P^Pq(lk5yBG)2SKjfZm!Nc@QoJ)*O-^^_Zz*LB^##Zw3Qr zPOOMv@T^oI^lUDKW=b0aXftVkB-ltvdbN8?m6E(XaYLef{Wz#1*{i5-2u?Nt4NSy~ z173mdMDU`{9n^P+hfj|LDzTILaj@D$p_Ks+t)?SwLye2i>Uh7rDG7%!^pc*_`msFQ zf0Li4q;6t$fox)&1>Iq|9&1|4G!6RQ&*q8{Q5XovduT`xmsE2%>|N$V^v3w%K#aw( zAk-HH5;%EoShyo7Cy<-}bT_|iPGq>9gW@qMQ7XRIiI{e-;8b$=y@R%pR(UgZm5 zs!bCtv{UO|*5IwVMBb?UOS3X|hEt*c<*GFYUJmv1MWJG_&mpykmuWx85kc>BQ-v{A43fv1~k2haYd)nnhXiFrp7RGXz!ws)S+zl_DP(d(d1 zWs^!`n3IkC8@dsmuL*OhL)96Q>T~G3d&qfE;eCLT5w&Y5Xb;Pa^49a`3LCtz@H!Me ziO#Dreq|*93^m^IPlyk{x14NR&l5bD$|l<#OtnCYIv5l_UL%OSPu?IIWzsW3{g0{x*!sYB=m2o9Kfu0w&$h(cs3>i9ru`U zGd1tkjBZz#zaczR0|*k0lxaV&#~jy#8;*)h{E!cV!bLOZF6u4VH%!?wcpC3<^gR6H zw`ZW7_;bhfg9H3{-gUl|vPO*xHegARZ9Ecmn#Y(8gaia~7MOw5T?_~-UpNrSk3LLk zn{(9K;(}nm@;nswQMEE3i&7PTvv~}R*=1s`a8qT-ruw`zs&_No%@vq6#57x~&xZNW z3rt`d6ak>ADM{Izf|IeNJo}u>Ll5pJ(UN#A4G6~m+VlLzsYA$12s$?1OgkZ?2ukwp zhDQ=hPxRcVwW>llfoV;F5>)&z??*~RGSKJOHz~K{0#SEKG1%5=QjhqI+F*PHl2$6= z-Vq{4q27ys%!Ox3J3oG>C;u6$y?7D+9J=gz4MZnX)Tw?f;Us0l8wStffLTfTDT7Zu zqgMnVROva>QuE)rr=EF10}19*uQ9nQZu+g<;z~;7l_zX3)wtR0?~4j9Euv=*YWxFL zL@xw(#anTk@W)E2Qqik&= zmz7pmWg8N(VW2UDZdI{CG3~!1#ojk&a}&nNcB>i zT(5`FSmk)l$*;eYWC5oVWPxKxwO7a>4zqyuv=f=nYg*+vli}Cdv2VP|F@0%oZ;81w ziuBD zqu|(wKjjQR6&c|;WPwV%b7|S;jUu$Whkph-=g*llDb@?owm}LYgz}ZVr@_vvP^$4MO$+9$tBfX*26arG^PWZs- zS>lg-lw6OubTrsh5Vq+>;T`JTeMooK z@5EDKlPAHV7yn6c;FpEWvgN4w*4-;p%>sT2dT!l101qDpDQar`e(E7S>zhPd;T@*k zGd5xgRP6e#ya(wJJz#|-g*r#NY30NBRpVAt9N3Wc%LZp`_+0t4y9==P@&GF+Qw;%K zuPeD$qOn+j9UigJ7TtgLwmj)6Ed#<9XGwC6R zv&-ZB$eEbAvrAsUzLB3C4#Y3(-t-cTZt@d(B=$wtPCrF zH?=8|(QI;IgT1b|Y3rpxf1axfD7x{**c^ESH0Pti)mWBfTV!*b~=ytfFm6AN4bvydJJMFxF-Zu75;Tn!Z%G zRog^)^gME3HL4+LCI*ak^xQ6^bR+`-o7ccLvZ?!-eob)UR5?AulE}t?F`hJoM91C6 z9VU*gUpf>Pc)4@Tc(G9v^p(NOsnCP~#E#o^jc&v&Y4zp?05@>2|i(_?E4)W{W%0KzsnbAemXyFyQkv%qKu*>Wqxrz!r;hn$fR z1Uwqv5c-%GSnwjb;&|zY3Xtc@L4Lx$62FdnfVg~}r{5xzNEOxZ1kaf%k@rB}r2bL) zDL;T(oi)3hk zj|}%ND0sVdI9~GrDKNbjEbq}KPTWta52QJLIuJk_OEV|*EE5Q%#0Oe?v{;vqPl4eU zAu%5s!tbH*OGX4}&FjVZQYi%;%n9g~2%$3u`%VYiD_!PBuu*s`>_WkgRq8DGa#9nlox-@$Wz`i!dpgVkhsNB+j}` z;;_G{#_#a&{4|_>`GDmmyBciISOOL0<1r)eX<_z9DUA49Xi7YCJEfHaKuOQl9Q^K z(`|6uMu+==u`^NtH19$cwmM(RK*9blKBehH-}YD1i~!=KH+F--lAht;au z5G-iSTK`=tdVHGVIZT!Yzmu{2Z0we153Lcnj&u?9T_qWDbU?(o(x)4Bx4u=rU-F_M ztq9kOnVjKI;FS!TojM;T&u%tZ=a#=5%kpC1MUsL+0prvqYiR$5j{ux%3Dk=;|9E@& z5l290?0^4O6WeZ}M&SvdSS;L8L?(QURzNJz7+n33QD7V-B7c(P{HQ9N(o5wa`hjcp zI(LDufX#h=ECvA(-fdHk0BfX8KD6foLe41KD)`uJ|44p^gv#%fiVcK{o#>cK^+qHp zQ%S;#5O8uPQ#ldBK(Yc<5q5$nzi0jXl`FdZdGtgJ zFXZ2y8-Xpe&*L@8weWcnzcM{HpEzrgDGbQ7Q8jGYr9!&gRI1B@w;S}KH9HFYAS&c) z;!T;1+eg)ulTl0>_+U4KnQe``N|G^MJxpYJz9LJy!FEWGJBTzJP^9ra{T+qR__t_i zeot&@Ym#Jm6nHdU$o_|kJff>VIi^HBq$?2p`j!ltyisx$jP9hcMH!6jJS;Ls_~+5^ z;T43nPM@I5F?A2u_M|xzD;q|x$_@sk8X(04o?`o z&%9oJ3PdSV6nuuV;&GpoSGofz3xOzell_ha9i@@^O6Jc`WF#EI+{4y0v=h_y^#ytr zOJi*&6F7(-g}M)?yEla=&~n3L;8xRXP({7w2Nue`g=I%o9yswdwV{3P!QNp= zs#yEip%})|YLn{iU#&#z6Y1k&3Tg8_yZ4bxv@zLF9jw zP{-Ey8U%h=&y1|!>oXugea2pZ6IZRt|FKsn$N#S4YL!W)CNs$tzz7X1FfwMCvu1oh zH~_59u;>CW#AB?f@wZWf$J==?_H*%AUkxYOAQpo}jE7<@9VNXRyis=_Uel$u^Uqpo zdz0*yvv>EF3o)dnV&-__AUkL%?*k1?4ViHOnZdW8g~zY&X8-d7>P(?#c_cIQ?seXaYjw2m1#tukpnxTJjENShK{5~*wPo`^C`P&{ zjgv*_@Coi*zT>>{ty;F(-)`ld9?`cuolW-k1vT;)V1Ov{LeEX#o*JW$cn7BR&hL5) zt3M$u^u^M@o~BUUVIf^&!}KGr#_AT{=lu~EBbh{~)Sj)GG4TB$@iAJ8)Rcg)dtkl; zvZD|GkNC@IKMhdeFpn6v$$@BdsZQuG5_?GH`hAiciN#>`;se{i5g%S>J+IUsS4qyy@WF;^pLjrqL0JItmye&-1mhO7Zx8fc?aBBM7Bh_)w{!}< z{%G+Ew(}~JtSmlsIq%_Bu+sf4NL__2GwfI7oROLtYh9VgAv_8ikStC2geijY`Jb{p z=|@Ay?8#vX+d!ojoFUU}xY_<{zB!%iyi|E$QQ)jx(R9(F>q5{nCseAIXiW;IcK^H$ z5^P;cbTu9@AY3DHb4kj-S+jKA z(0MbJsPuuG`9(LxQ|7zi3r-I4;;UJe8;B-gI3gB7Wqn?_Eg z$co-D#&dy@mJGOwymyxqs<^K^2MLjf1t4M6Aa5Tr-dz1->LIS`&kkjn>5JXlaa+ez z;cW>Dd<0cV(S$XJ{o1<|1xRB5k2;c=(Qb@o=}(f6dZhr@CsZ>!mCcKPO4RH)|h zzv)1-$!0{UXl#x+?qzmlv%#btn5a{Lp%V*aKIe{E(?c;z*f)K}VAp)WH9y+zuTCCs z&5N6E(FsV%fmO%X%Z%Rlt9M=7gtAz{(B3sLS4lh;yStOk-U!aQB0H<{%CbO!Y!zA- zxu+dxYuNQhy!nPuiht?xDsI&g^L>)34|l5#f2?A}r*tJSA#kgdcx61^>j0+?ITj1h zl49|xpEx4wtu}7L`W?7JZt6vut!jX967^&Pt;qdSq4S5XnCv}n=**2LHD2DYCfhA$prx%Y$| zpV4uo_}sF7kviHaSrwX!e<@25mxDKfN7py zHt!=rXwBi)i@eo=MB@+s^S$cdBYut%rBx1Z#Qoq+C4DCazMRI((cvO*Se$0d>uT8* z<}h&N!wCV-1CMd@W<3U7)rW62^}x5|fHS_e$_?h5?fsN*ADr5_@6#Woteo5Jz}9)< zg+!!d_6;)MlNAJk)b79_4%|=FS19)IDJ}Th5EiN|i>4zRM?H|QcO%&^BoobS(wn@K znju_5ZT1`60bn{t>d*CG_rL|13mozQf+5LA1 z5fq3&N(6I4Dgt|Zh+z@Z8NT7ae(4ZnuIKM>F<742vWUG#b{Go0GVOMIoK9n;Mx)<)m#-aN;&Gz< z#+@C$nJH${bdwUPA>}mh0=~=VH#%6?6BVNkNOiA{)_x7XtfGCt5D(Yd@jXRyv+9}~ z6h7deuWmSNIwht-d0s`u;NKmwgw3mpJF5t(Hu78rguH_Yi`K0A&Ib`zS;CBQ=^!gx zd5fOgW&$u8Yl_U8XJkLAE&_f*EAsJzx(5I+qjvJk?xha74p1%U&pb$N85e9?zMSp* z1=>V|{Rb=`S10PJ7)v`uN(iENFQ-d^on!s`LXX35j#7WylT|fcT893yaJ}pF?i?{C z4L&1_LG${)OTWNPjthzU3KL0p@7ghAWOqZ1HKwQXT9(?*j+jnvFmiWCTE_u=?Z}#$ zz}B<2{ru!A2UROs{%t+)YLpaD#FLe##kwC$U0(rgdnM9vb9o=}=TI#PtOR-B469Y% zs*26}zo7Bro>5zQYU8Xy{jZR1Tbl;1iY@ZsNjQ)-O#xdrh3hry9! zt&bCPkIcL{`XS%x`0@^Kz(nLWi;l_Zr23oS3+3{jG$IdH;En}j!8D(Q$w;@+3FU?N+E%oZs?Q+pqDQ!&0sL@Q%?{D!Y^&cWSV z(in6Y<; zkms>~(CsSjiH?KjX;1DcM!HHnG5;D7ZW8}NFGcFefqA_aFtHWQ347YhoykNa-W;}h zVry05sFZiO>F{&=;YMryAbnfDOl|GFBJr0NMx<+AkWd(@I;%v6LOmIo(VTcJw9(P) zf5z)MmDi(h1}Qt(=gWKFPJ&))!UnCb9OLhPH{1OTbX;_&Q`n?ajBSLZFaKd+^vs_> zZFErW{-DJCh~)f)ERQN?l{+IgHsZ8CemAJ#)DhFBsXw=~)a%-!aW6qFzOfbYr27=* z$nf?_j(`_8#r5FJs*rAxX1UcCo4phInT^9uoBvkXW*wVfr}8Ysr^0hWz;d({+AMqM zjy`oA)kU3LG^kQ&AL`yB&<*x=WlFk&?@1F>gbsr3xmMWkOKW~j^H`}D(e1c&os^fGS9OgRHx&RQWfT{ON!fpb*OI#;3{SH;`p7@G! z<9lmfaO3-?uoM1|S5BO`B+HjYc618-B%Rk;`JnsBwcOGhZhHGeK^kgjzU>XZI3<4L zONvEIp`hAc?zcnxZP6s1zGAxh`JkQqEtXwjVV@wIFQgO&$2=9hdlIuB#LFX2&lMvO z%8dW6<=uQez`;YVV!?OPdB_9e*OW?9XT;aA5xpJUHUSg?zC1mE<=6~=#BdQTt9f6OZ{;MFcx_^?h zvcHGklfN+vVps0~c7t;-WV~XMTjTsRzFO+UYE*^lgeDL_w+DH!;KhG&&dn?YqBwj} z5PmK6^&bE3QKj!aJw*HV{4-@Pm7Sv_-%2zw-vQmxQPI5*QgKF=jn);T_p?$tZ|;T2 zFHn)>xm#AFkY}8%%v?)nfBrf$e_K~*U@_QrqzuGUS9YRB>0071&x?hzFyaLL-&Bm4V+XBJUEl} zA_e!!{0qdWCxJPcq6FOFiNO6KGKkX(X`n0OsbatPeDki?d`Qe1G`hvxBVf&8z3 zg9DI5-Fi}1(N3@dM0<^oD(6{19!t$#NmGn3RW#9%N`CM75O4MzzUWK;Ca_Ia09qBP z`W~HA>lXHF^OYqPxuFB8iwtBCBM^T5J-})+w#WSJzWubNuY3JZ^h+Ej8Z?1?;pGT& zcbr9PDlOxYMwA^FtitJdmpjq*EjF?+6t;yBf#xcu>!B^fRnnO`KqzA!oKhb}K`fI=!Q&i*@ z!7%B|6Yl2Qedwr=X6h#RvJ+u^)^m}^<6Os#QueA|e-so5 zx(GodA8)jnp%cLUY z?9F}Um!|l`(nt3d9+HU?{zXd}uxB9m=?`#)C_(_gC1Wjd=ZAjNBs0}(EwF7JRRLPB z5$U7NNV`D!&*f*8VFZ=-5S0v{?w5+^Z2B9|^DDi^O-?(!bUM^*Fos-wNagJl30<#m zuQW5!!U06u38jE}oN%;D~qMxreXkT79D zls&2Q!|%PqHH#UeX<#Q{L-AJokJEKCu*O}9y1+rZtGBBZc5I1lQ_!Iy$Q~nvyH!{X zh1&z+Zz23PV|>lTI6!furuvrjUjVMhX(&C1;RZZ88qH^LM?~7@)%mBVv)cP9WYrT5 z%r1!PfNy%~Y!p#A$e2(R(IrS1D!GY%&es?`w>Lxo5uGn0vNxu&E#gY7dH?Xo=3V#@ zc-GTPjKozFUfI$Uxx|+rsZ{xxAL+1Y(W}M0b>WR zH-j}_d4|1=-MPfC_e(jNbF1=7DJrZ0=Y0bd)xNw#CkBWDD}4vTl;svfdu3BS8W6&L zi2ESLhW2DF()%VJS|5Qnao}_O?R}(%cYb{Fa0?ZlZSI~@P@khjP=oYug|7mdd9xvhtaf$+}%*||Xa z!Z)!)_VN2C_6gxMQ{;$U3*#=fL5Bxt2|MBvf1RHw(K;B|LX>ioXy*J~)VMlz6Hb}l z%MV=oXx9&6&6% za)=#k0g$w9@Tt6Z(XI?P$+=~x;X=&1j1Sd0|B197+;f6n^i-@5i*F6FtDZ1lh>i7; zBhLZ!Jct8J0x`dm+LW$&z9b!H-fqI%9}RBNN##)cA;=`=Gi)2{&YNvICn>2_tw?MU z!lu%=g3VSZmYhpdU@|;4goAe_$5^JwS!Bl#L)CZh7YVJNpRKKTbx5_6x~(*>C3@;2 z5fpd^;Zw;}G3Vm3iYJ!-Ca3dTQy7(l;O!A2B30jYhILtZWhFgiv=}?5MtR_Z!(#8WsAwH001b8M_^Jw7FnX{pP&C= z9vU~CsC<|un%>Wq1+kzqJJw=qR{!)c+l0BYK_Ji?Rzx&yjN`ZC}`X8-Ij%Z~Fnyf<#1y^$P-z4}= zLG5wC!c}0$M^7oeeinF6pW9&~=2CD@v=^?T^EX7$3dt(dnr0hihI``--`qIBj+1ZR z-NP@oNO68+V^f#k4fUyVI-h+fE$s`{&@4q`0WjsIFDD?||Gp4N_ zz>7R_#)yi8W}hj}UK4bPIOi->*TCH<^kggW5%5-^0przN>6f6I@Mk?tebtcm!66Td39A(Il-5lT9-Su%wUh)w*_U^=nnMml(dW zJfTLXc)_ z-M=C1(wbAR@4TBhK3wHL{o4@feRSu)0TrU7eKtk8bkmQ6kzPw02)Fcf>bPBhWyKh? zwVO}M&-H0k%?K3Wu6)`V?+Z9lW@TaV{`%|DLeU+@@g*^XE;MihNMkhQtI^}p&-J7o z6P6vkKs1wk0|ZNKLmLzsHy7DZNL|DZ9+3&{lPu&vY0qNN_m_SA#2voTM%UMPK}H_n zGSO@eY|irc=;~o77m0<81ZIXQz`77`UvIX_LPNa|X|K0=^p>hdKmJ=E;V7T$QP0}| z1Cmv^VRJ)$S)kPc54wzJGj&Stnc zc38qnL8`&<|5#LWid->^L!hPFsyq9(hBgvl$p4btHht!LWF5!L0%VUR>iE%Igb-dm zcwB?vN|KM(d~tJdERYh*B-aNu6}EqOI~HTpv6xUmlK(t%_TkbR@L|D(ox+V;_kFz*?Fr97PIZFBXk<-uY%@JU@<3o*_cYz|%Ck=@;#dNy&PH8|4W+x9KTN5(U(%IVq!^qWg7v?5hddjiN0=UJ3z5O! zvQ!djLnN2nz?$tBZZGOD%aF(9R(aIr8EX3+6O=+eGFJeU1#GPa_8QDIvqD zh&VA&w5ZO($fxE1!E*o>1kOVMoX6aKo>G4VZ7A;dwou#XZ(cY1M#YgukL>LJzihyD z+hm0yE2Gnm|ISUUC&2IFp(DnBi#I$th|ROG9cgQS}?8E{jCV0w-+1@jCUimhp zFnitPf3o*K0w?3^)b%@M)~~oxkxW?wv8tD#_93x&SY-4e4v6^e9XT1zbNl~4UqVd& zLUCc3;Yoj%EwO9rF*%^>m!Ze9m_Nx*lk+Ed{z#Gi&)@&I=qj!!B5h~SNfrMRu|Z3w zS%*3htl#aMGrW%;*@`5`e|Xj838uA#nTW`CE7{H`&SNJv++-)-jb!4EixM zWU=Qi*1yHh{?87NpgoI|n<~-g&l7bA?0euKxw_k6VVJ_4E29?blfp1jW-WrF{NMJrWi4xS%UKCaW*r_?xDl z$i|Z6sYjx2=YNPdy-c@kxZcZMcOFcOUjDw zvRb2p*V0$5&P5Cu_RB4OMO@bf*Pzbt_}(E33;A*BC2f^0ryAO8Z)K~T{)NxRaJK_f zcR08BSX>8zFzeeRy_}o_yi-BqSiAzQ9A4-G)wd(PK2e_I6yDSEK+}6yA1y>noRf(Q zI%XP~v()q*DvnCSNtOLXhK=|7i9*jM0+UGoVXOpim(T`@+>_zwTUKuqN->=72EFyA zOc4>d@%$ofe6}o4Q{=+kpv^<%SeCOj#z?px#+%Kp*gc_tcM1+{Z%x^ts14!G#yc2! zRdj4m)1T+2X=%6y)Y5|X`4i$E7PRjVfd6C!?GMBs3hqhYqY)5$zHAlIr9p=ipygts zW{v|UPy5fIp#z{bQU^2R5^Iiu1qi)4Y)sOz5!@esKTp15RJ!w9bs(}$`%E%> zNQ-wE`+J?~*n1IW_wlkGClJ~f#Vm)>bxR`qN5St&4nivVT&5M?E@TTOA8Q8eRW0RH z>F)i8JYn@Rqu5w(YztSs_%-$1xglzkfsZ<8Wh^xsR2B<}L5@_**Wa6WCk?--HTW>= z-Cj>W_s!;9Vrgl@3t0#DBHcqd3pXK`RAPwd-;*7)5?zlMS~Z~;5Lg(B%t6n# zCtBB=q6SJ~)|q&E7nHsN1y}3ao`S5O(t$tcn>6GUP#`++$C%f7`J65`Fx;NlBY`g`QQVeYp_{%E7~uI*7^1ZsCX;}r>#X@GzRV> zeY!DTqNR8IwAgW)&VM2vS}=&Tcvkm9n0si7=Jn^qqlAf)`_vW`eLgnK>U}*+WnWyr zZlTXq7vCwbIiEMo#je{O2mjtJ@LH1AIFGA9^Xgv-^PaiiicVHRQ++o_bN{x;rL4xC z3{-de5kekZVP3f2DMsb6#S*bmcj3X)6eDytasx7}9kpC5ut7k40UTk;1=rDvpuGTw z{ZohO*yl!DQFTZcVoOt2A0CAfUTv<2frkkPm?9lk}n@g%@H+^H! zs#|gjYZ=r?oUNxivZiW*?>4PM-W6K8olh1IOjDk4ICubmH>ycP#LAT?ArT*I0=FMwAxR=oz*4rypraJlBc& z>E0|(DzU|@@o5{9Je}uzCcoP!@_`0=3FDN+*luzoGKtiCXY=maIOfj_edql=8Tr%pRbO z|7i#>)#%{h2Of>?yrTPI@}1}TKuj`w4rbSj)PK6a|7r80#-1$C6rRQO)s!9up! z+oPN0?{Lc91&E+b+Gv~44`;(E0&H}Fln6FrR>X1;+o+%|Sh zzv6L5y@{>UWXx)DXoWf*%7K!Wr+LEXUgK!xrZKy*5%j8dkX0&MHIJC6%^<7(u{(u& zec8j3k{qa$N-&yuG_Xe>9xruesa%I>@_v{_xCL^>skf{Cz9>-qb{r|rWLcqsuGjjj z(im#&bba^h>}+y{JNd(Lu}mLF9y_(|NW`oywEjz5`@vU0>ac_GmD;`MK+%%4 z4hTK~c7HeWq)!n00XjV+ec!~vZrd?=t9XVXf;aUMqBYa zctS<(x$Z~yPbkz~OqhS#=AUaiJciSwAzp=kR3Y6*DhsNL&Rs! z1|x_lD@^ggW=B-#+)Pe0h8MCA%)b$qOWumh$a(!{3{s4U6J8L*z_!Ecz$HNzBq*i= zp!hb(EGtkEb!`gJH4ys~y=xqox48PvLTMILp~7yO4h_kdRx&Z0F$hf-R;9D(9?-OP zD^JJcY$vcSmPTnf764tnKCe%AXF~N{{*E^z1OG z%*7JB_`fVZ?F-sOLWJPdsz^+{lGY@n*z_~f} zZtUxU>R*l7#Gn7@F;7O5PSbc;Yj0z~ZO*^Cuc8sQ!HiR_q)b(-o6F3xO3|ZQOx#0Q z8Gs*I;cBD{vegm;Opzg?5P#fVlGdtu?-f3! z0wP}c#1vl5X|~z8z;sW*_4B(pWi$mY!t7$=oM(Hxzdf>K><|Zq@5Y6n19^!gWrXsT z3|K4Q&&EL_Lg5D{p3jqHwS`qZy84^HB+x#gMGWGcx(O@wYm!UG6aKj2<#)mog06GG zTajjHuoYWfj|`BYRC43+%FjWEsQlx&$)!vQG^OsF2-QnA<&m4czKL+GV9fZMcH*AX zIpKb9LX~CX&nAr_f&mjoSlq-@fvoyF{XE{24d9JO9s;^rPk#QkRb0A7sr94+CWGD; zB`oK);-vzk)L*gK2|_snJYM~XNIg7MvVH2s?0`wViUu@&yIQndv<4n9tr+i4&xlL?vme5eKd z9(DH@^qGcz=xp{hgUPo5Wx2U;ZY$Isl0e@I#@{V&1iK_vKV=zxl zL5lk{hWj1XCu~Jjunp5inBQ)(g%-KTn&ry57_V~4EEf8SF0hRL21 ziS|`gVNT8?VC%!Buf;Nok>l}hV)904tF-p#-d}y#(p~QeOW|X^8znQQXIJHk<_rl>-Td z=!XaQEK)MlDx)06+L2cl2x4`(?&f7Z21MOq6A)RDRdhhb6uwoE2CnuWd9}A;%hia~ zh)gGrH85EG3TvBpS)$RIEtxA6hTMX@dlYub#+d}jf+usPq*allYTF6$(#t(Qg{K9f z(_-~ki`N9(Ip%sS_pu~_|BrEb!7`|_V&9ZwsEaQnn{r>^Tz7x^SNV(qTA{( zzMyoEuNoALf&1x_4*$th{pCkwV1Z1t@Do`=Muz{d|bq?ZV9hsy0!U!9? z3%CGgva~+z#X+&w42Q-iA78T~9T7>BN=PMpETy|pQOz}DO~Ie`%V+$%o+G(GfjM9| zoR@Iv&{OZ0IVy`FNe#IWX=oj3m?O4R+JdNhahT2}c5oOQr6s%xpifGAMzDkWRo^>U zz^9FGY@HfmvT`u0xbr6ctkwog$B$m4R9jiw$$diS7oPq&3Y;wBYh1DF?ILsTI5Cmx zB4^OO4?YA&>w!XwGdDvH>U&e+kf_j@*5tjo+#+Usr!QxVVacR=x}I*)WF9Z1Mk^7#;+J^Jq{J%_KH!~}Dmc}DQR*sLyF=E=~UiDnxAHI%mmBjKv)2Dv}F@Cvz9 z%afr`VT2=$3C4`^I9>*{A5f%(Z(;%On$P}3{gP3!bS2+wR9~wuuBOde61Be*b=y<% zU=)SmOb~4<);t4i5Tx!X$VC5T2d5-)A_6MvhmnOF&x4|o-EtV9(q-cobdf_Ry>av1 z)7-)v0QQfF|2D3C92<;s*bZx}eAGfrVXU4~J@@#N^P}fiz%XP4Jwe?#_w(i4owV`X;eh~jZglTHeC$zV(z6Xi zU1E+v%)p+@la(!ZnDWB*^4U9(MIo9#NR(q9IP|`*rNTYr_e|lyY9?2^38WM~zCDKJ#7iNq4YbPl z*fDDP!1I#_fvhVy9f$ia&YRascwP50Z*(BD4>Y9^;EGsIeK7|biCp&r5=RcrLTEXj zqLy6GT&B27YKW;5K!N`v9?oDX8w5xxJXNK}Wq-hy-QO60H-tMysCJ~GI{#>yxau?S zUm#D;|Fw72wtc?|`RJ98$Kyr=Cr_$6Y66-DD8^A#Vu$(gwf{)L&YND>>cnWqv3RPl ze-ajQY;iMM3I+L*zE5MQl|bo9Q0o+L6XL`FW{lkTHP|669IsiHDQukZ%Jn~_)3?N* zjGjTX)~kGDDy#v%=-IL1lTUend}cg6>s7rK-${XPeZ=O$hdS+~gY#yb zeJEGxdhN{a2fmgZX-w;)$(-%=>a~nR-O9B74sHv)+fic%nY?QkX{b}GRGLq<`;0vd zE-oNx9T*KCX1NrfEg{?e{(4Tm)!A*%G&K+ql!IddAxV0$(7A}pPJ)D%rs4k9QsE#+sB#Yj)0HgM10wB(%NUyK}hHzx*1l9&6NUoxH>}fT7Y;NYBg}Olt z6!IDS=`L@0!#{b=~Nybk! zCSBPo9&_0SZPITn5NMLAB@_KWMelmU{#CbWZ*dj7=+5SZ<&18~Zz)9~AMMhn5#URv zd?~c+cNW(mG)FpgIZCmIw|zP}U7BhBIf#y5tha!jg97Ll4L=J?qAK8RARO`wD~Y-; zHO}-6`GIQeK;>S}JAqN<4v##{Cuv3|54073CMM7GB;e z!Cz~Nmofg}g-+t8zA?B6NQ@XnR#9fpT+bZ?P|&?+%VeH> z5NDH1VD7_*bn|>Cu@nzvdEaFYo!AvkDrTT|{F2FJ+ck@Bd#I63>;)+=#`A?Pz}O)3 z3sYKuAfrfnP=3sCe@+vWQrn2+=&Xk>6ti|3#oKSv&EFeT@)7|8~6Pf4>a zKe>6&yJy@&Dx#O{ApYg##mX6T7izOrLqr)s*-k(ysMOsz#QIBSSf1ep%4!4m?|qp{ zvk&9K07oV*3S*Xbg+k{u-NS6K<)eq?yK94Y80Om11FdMnqs{_H9WkJ2KqsuzfTt{Y;BAOkFbB?d`io_pbMR_ZWw z6V#E?ux^klw=jII%&K3YhYi;X6Tk^Qiz^Fee9TuEWbWU4f!v)G-S^XtDDcMNJ{?Q< zbd+~Td&|W32~_>GGbzII9V7C6%;E4kWuEO`NDFP(CL-nam+jHj+s~qwZDo}2TB6^^ z<)Zi)uw-w4qE!D?R6&DC2A11eGhn}_!79o{(z3IFL>t2lu-&zu4#r(dQk|`d*yaUj zwD=L`HBw}1$_>W^mG>hip7$APU;I4173idth>{LtV5h~vp}092?QO0^(i~Qx9^dv5%G@~zu`nfsy~>*F3!&rtV&<`2LI_he5E{lEJo<8Ocz z>Yi$HTOmEWa|nnAm>~_cHqX0El` z3{(Y$sDRw&s{h2X`2&YM3Fm-<1&O5rgZ@~P7a#mN$kwd?d}ocq2DN50cyS*;F34#%M#s5fB*}-! z1sQM=-G|-%@OUm>C6OB6!eiC71-x+M@DB5WIW~a;GwMLu zrVJcb2~ZPv5yH-k`$M8uF7)&;^Zn4{zbKz{1EMXM`1VHt?V1_}2I6`nCn=!tKbvo* zVB^W1jlBg^2-&zsG-H5s)H;V#iGzpAhhXkvvsUirE@Z2ITwb`l8+CS%2KYW>+&E$u zuVe+651v}u7{QM))Kl+)Vgn~bUAg2hC`zZ&V82fb09$?iAF>%>gYwqEi(PFkSE?>& zwk4D~jQ2f`RB$=AYD;jaqXJ(@Q)T;iGHSqwgoXq;u9gUz?+Z@A$m1W?;tC|20C${D zy&ZY|2sL-)E*V9XN)afJi~5cE4^{ADu)uM_R*THbD>2fbDD63g1$2GR+y?12LkTAP z3JuitNzlEAsaeNX{1eCiAenx0JF)|L63m70cK}TV`<(@Kb-GAXCT0wP0baVthwM$o zsLMJf@j?pY@{&8>Svy=Vs>PeeR6o0F2LMIMKMoJ1xG`vhxIE>dq8pM4NMuY5G-k#6 zM@Ak*&l5vCFw9~DY_8rWRM=rCBWOZh*9c+aT95p&SZCulwU~wOh=s;V+PsibalMna zsB-A1B{YC!V>Jp`5lD8c;$3BRe*k#pcNYNYh({hDuuB!A0-7mYiYT|m$LmK7jd@9L zkYtynDTZwC+CFUZ`guYB&MTzz6rK&wG}U`7kQM2+8nz_>HZ0@~aK^HI*k#a0Z4}=z zaB&yu)xF~!nx`DwCI0A_fzmKiv{Pc(zr`;779;(F%sl~@k-}>L#LCP($7ID1z?BiE zql2+`!b?tL=UggLj+qcFf_E-=cY`#+CZE7yh2-pFjk7qxe)YohRqW@hI4F%J$%oYy z9b))+RAZ%gzRKQ^2cx~ekMTF5k_czdiVeznQG;BtewVY`#|zQoZ9!#LBwt{IQ+--{ zh&xbzhiZax;cSv725b&G?8Dt&czQw64#b@fn;rR;NQ{zLWhp9DlEfXpf}oxKx8ITj zDkaD>q#?QlJHT=M_~=-p*D@CA-hrc)Yy|7&!VV=M&h{k8_E<@2?2cq=&3@GswU(WUK)mk)2yZ~r z3=53Zx~|dQwk6srOX)iewY>V*gQ1S6)s`J)p}8OzI1RHV9y(6SnOqJ*MSzktbS8{_ zPivN*57vX98PQUJp84xwYftL0Ek`O67A%d?#^0}2|EGAnI`jZa~gc8|o9)cYD7N}R2 zF>G4KcIqN+oTLesY)@Q9@=(DKGrC>VmYib4y!yGX{8>%sL;n4I z3gF}32vlkQ$-q#m(}BXFdvbpFat@Z&{N6#R2iVWCwO?4K4BkqdHoUJg zK)DlO8V0vx^2qT1XCf!{XfmMZ_%IZj*J7P?A8g?w16yAu$koj}=k-zltVK414*6@y zQvnEu1_+=L({U#q&sD2aG6i!aCCnI1PTJ{3@5BxCK{-q@HfRF?OtvVp_W|5=vojCdl30CFXZA%#$4HCT%a-cT&z+`=_ zWzlV1k(@X3ynG9dg^#UeX^uN{>Bwk+nScl*-$T0h33TUO=)eb#!TTxwM?F@;N*aT1 zES8kUH^4xey>H*a6`4;;uIIFY!vs$0=RLmdhNI|zPASj?Cy+}^RXHb(N&7e^XIG1X zNC8i*aIs!s^ZP3Cv(9y6my0w^*L=(QPm}WZ*-oh_NndGA6`t7Eq@QdRSIQZK5>_cZ zO)%xdufbOw77S7pHd)fCpa z^{GadaN%fC=GJQDAmD~eu)3SxK_ERlE-!=5<|9zTGad)L?=sH#?FpT|iGvQlVxGm- zmvzu-4inR7JS&N-ZC;OGxN>0#uVT=j=qt<%w>~Wl!H^NheHOlW+gCd@g>*S)HCWBy{HI z)eGTs?I7yYH`}W7ygL#gDFJDZxRCoc<}cw_&-G#8UnxF}w(Mzr(GgRGE;G`o$;0~Y z(dliecK66_AjHUld{|&G?{y^Jx7!6BUc912aiPB4oct?E4aq8jTr1`n8(%Qn5YX7T z%kf4>oWu>r{qen!11!dauOU?j@w?<=LVS~#TEGU#n9-jP^-V>)Obpw z09Oy;z_Yoz*6**f*;L4p5ViObX|isHS%J{7=YVmza!<*8TdDpAxJPdNTN8_+wok(B zrk#A%LVJK@DmDPZRjf5};yMwMASaL@Qk#YV)Ro4Nau_q&i70oj$HNQ%Vy?tfd{=r( zc9_r85#$RmR*dEf%SsNEEaI(f!kfF)R=4;U-H;+sb|0e46?6`)d!~J?Te9tJk^KnNzs~#*Kg$!$0fn*gKiyrntYzBWs9ECQ5VQqXXA*{jD?kXKjcuZd?~YEoTF5dOwf8&jy3 z-+UKjYaVwlI!_UHU`adqIB)B9+N#ancMV6^)kn9-nJ|^~#GQr{mjLKbiMLkJ-LJi*LFGXVw3sB*4 zzB`zAuO=KbkQc)$xZ$C8mH$?VRp%V!&eCMzanwC`kABve#49Nem4K%_6$78|s217l z9x(dAghsxAc`ut-WIiWDtdtb32>(o|5b%cgxZo$H0q z1U*>}Tq$VM`>o-DRnN!I3hjWbFrs0JiEJDkSBvBm`((&3KTz3o1-90idS*vvw2e>_ zq?IZnk4rf3`_Y1=uvPzoOV6zGioCF=+X#z_ybi&BMOV!yE!Z~V?d3nKT(!~anlwQd*yF%Q6*^fjcCszLo zhfAbG#5FQ%%GTPIcc0nlq}4=j1S%q&y&I~)oX7xk5zX-=4fo zV503cfG03ey*uDGUcEW$2-aaTsRtzvpD9D{XS{Om7^eDqgCCnEeyL&iyY;~G>;Oq*F&S8S8bTQMimtB!LPp-Zn}F}eY=um)C(nn7~w5zEl7W{c~SebleV^v>KCRwqP1WN zTSS;xh}B;8R6~SI*h_c9dQr7s%KMrxCk_~I43crmb?=gitu7>>LvgGxG{y6?ley&< z^aKUpLI2(~%Xe-EHDDOx$Mf=L^9r8cO^z6TE!l{5(nYUvs#9!B;>z#cb9c}Lmwi9L8046U z^V4%c6#|cOs`jMA?NaQfa7FE1<s-;$bixKo#Z^rJR&BHvzW`p2f)IKe3}cwlGl* z{c`UX*Q5S}`#rOd>+%b9^Jhp^(&j@!|2mBz3}8z{wqj?;1WNvOWWaYJN~f!s@j>Nl zOPK)a#as(7dc9-$Gh!&Y=XOCK>Gs&B&I@zeSq_sT{`NwB$4T-rs@@yE^uO;!Z7ohw zUylj6JGK7fqj%r#bcuF%j?u>#GqqghvV;J;;sRRGZH`*>lf0ux-Dcc_H>|(%{vEP4|d@p(z zR3Igtu)K#4KV9ta8N1+Qb!?@lrbk7EA+lZMJ3tQF&znxbML;n!Pcck6b&QI7-*6}# zu{b_zkdyAbH#Kz6V{1CX^{&Xzcd-KtG0seL#6bWPLc|Aa7uFixZNz`6EwGJ>uYq#u zl1eSNkPfyxSz)I|q#a(;PmLWej-9%1{WUZNI_hIJ{Q62qx2*&VW`eIg5N*9C$3ft7RrB0U zpb38`IdXD0X=`9|rsACn_^=x=7VGUv@$MdzJDa+O{KmFg_%HjhVqP22h`dXav%$E6 z7^86Obf?cq603gbvrNW9`{RMZnCPX@OKcEzadY70O8{g=*0^9{rv=+TfGw63Edp7F zUthvaKmHxuWCE0{ka*h7Es2x&lOi8#jh3Fi!+Z@|sLy&3yjim1oTZ;&n4aMRdreKR zT!-0UGcHHh_iqk6#=c9uQdeiCRe4JXq!%$shPQKqAv*jFsL~anBZ*$>Mo?3NkF{J{ z(-jcYdD4F8<k3c@w2XPB;%yxTa~sw~VC3COhIJOnK`gUY;86WgJDH zMj|0T;dH=bb*aPFvwWS*JU;pt{}g|`0;b6dsd@{6&e8KI3;4psA6G>_R!^!RCY#?P z85ZQuOd+)Kxo`1-G0T-NiS&z|6-zPX>zL)J=rcTBBYhQ%jEb7?^ zZY=$M<^uZpeKroCz8z|j%c`w6HZ2Vl*AVu5(L3)y|0h8SrCGN@#RqfsR2a7a57%S( ztX@6h4Uxu?y{_!>RAtyB6l8Y!Psk{}IF|zyd>V=8DTF^xx53Csj%r@dJY~;;-lx+9 z>XsL8`EUw5;k^d`ACdp`=tyg%?o@gFaM~TT6i^+4`fHkW&OZ_tt6jq$H`Mb+unPAVE@<9oX_AO`{2f#Ecu_` zYuB*sxZ8hh*XQN>V!!gnFzpHA9EyHFWE?~KJyZ>$YqF1jI@vo+V{>=sNhsv8&ULd2 zBoa%)Z$fYit^0>rLQj~_5kSCm1@X7jkoJH?ZR@VHIt{{!v7emcSh=?5)A%K}!%gI~ z`>!rc9hk2NWSligs1sp->Y`Vl;GJU76Q6#}?5XKg6aenX)MxQ9tFHTXCcPVPWD5#( zAt0*7GDw~4AiX9Q*6{9vcS!WP#C_r@p1Si>>+cWzNwO*TTcAS&ri*)2?3#D6{|{&2 za|gFNqX(aDv`a=pBpXp3w0P7*Oqdy57;ZX!ZW4d92(b9g#=ATU3<; zLlYqETu$AzRNlw&n5({hXcL5qRZF6C^eRBJPjJ>87qpAPbfL<_<@Nn#`=5vt6j`@N zU-Ld8PAY(s$eeXCXh*k6K(8%gfNor zh)GIeY><7tCMuXZpmCNL15yWE3uCNU?^(?F_HyHnG!PZG-JOC@7q2e(EPfJIR8d~D z6k!XnWS4<6z?^JCN6M}Iltv6xuC5|PkBqWzNb5o5EiON}#viYPnW@#Qh3lH0f@o5?_CnP9uP@bDlW=LN-AE?yY?_w5q@ zzvcGJdFV8&NyUg$rqsS(!un-Ny|dQgY4^c=xzu3@@39}3k+ABVCMUZKWwRXOg2x-R zSy~yLb0l1}0M~gIRU!TeU%WY-_Sz%tl$8n;PT(n!ZtI?;p_G*Q&AtQ%k-GHWlok!G zX6!C4FhI&P9 z&O0?{lFQUb4U|T#Wv_42eQNXITLzPN(%YZg;XrQ!-fr-y;WJ;sC1=Pb`&jW*A_Tgp z1|NGGnKX1zT&x>I(gCPxU9C2F@>HA0MivYW)WyIG8WNC;9|FM zh~FHCcF&SF84o=OB+oba0tT;r=9>FdNstFP?T)aMoae_MpDhJzSJ$R1SX+}F)?V!h z{s=ENU3h}17jtdj?8cO*J#kYI^j}DwXApx-uDB^bc3G6U?r!}jJ~t%hb+(nrT^fG~ z9ot;)VN%|`VanSmG#TK~y$2@08pLxq#*e+(LlZy}H4y&xueUhYrzIJ2vY3IzD-%bJ zu3w8FvNr`*aySnvYCRY6#xa_cJ?ttNPmvX$$?D`8FiruP9Rtq87NW60Z?EDKtGMUy&)DhNQmxQErBttJUxCmY zp1tXdN*&v;Uz47&zJE&eLU!tIlyU+7Rrx)jPR}rlk3{I*al_#7AD>p^em#)S{^^*f zs_r;5w$68-3F1?glYC5sZ2hTDPZ<{qj3LKP{0g z%$Q*L$7&Fa+_s>ZqOL4QIAoAG=4EhiA&8Rl z#rA%PH2bta|S~3j23PS0g+`jZVe2ZcnDuXi&}$E1j9^OesFrt?+g`UPyS@p^sfU z=M{YejRp8(8bJ;b)zllYLBIoP-O?OiTVwQ%9_u>MjcePrT>WAMgM(0cqO;NXI7A)izHwYNbncvatcLX&&AS1 z4+p~)o+Nc6-UIC{AS%{L}d%6Wa zD&skNZ8Gz^x+PE$=n1KM390)040=+L>tOk4|nA zSp_DGElcglHo>`vT^gqniNX@cRlvs>e=$X$oa$ zsy`HX|4XIBOom1uw3lRwS1|sZ@iruXb4M5SwOxvoSbJ!;C^hvFUJ#&BDr{d{v#OcY zEKVaFSV98(g1co@X>fs4SMQUrG!k@kruI?;A)ta@@HIu^K{J6ru*p|(ryWiMu4a6R zp0`!W!;qnYLf!#Ld@>D*d-}B|9*q5%Ong62q94@Wu!yb9`pM4>*|OC*^h_LNbl^HD z0Al?(_l6WZSdQjAdO^%ox2)NGK5+6@sdv1X5eL#k);4nzmT_2UC!%D|c#$6BP5!Bc zUSsI6u8lm8a~-hDHJ_M}L7aV}kK)%L0gQ4^4^J!KC(KZXzyG8YB6$~7dh9vGjc>=p zPw7f&sImT04*C|aphKCpP6<&(v63T4MG`6G1rne=xDwd z^aYi5y>9*NH)=g~>eO1<(mCdi?5KRB1`ITOB)D1!D8BwGUf?$km6kD?Y)T(xB4RA;3+{@Z;5!a%Tv(Ojs<|By7kvxl6l&5sL8qJna4Ip_Ashmz7;jxKOp z2nx`Ihe_^=YFke$bBOn}z7e&`@jO`;n9a2kDr_8|}wd+^d-FJ&A_E zOZe`wKzU8)Gy9Nj{&}7PnEH2+OARj+w|D1GG#2V@UZ)eSmq<$N`UtJ$7bX-{=3+~% zhV&7=h?Nwn{EFxg4`ghlMuhS)PF6&}a)jL>gqK!&uRgAB2#E2JOy4z3d%TN%afn^J z$NFJSN*uap3Mg|#bIq!&M((PJ4uTtLMj?M(6sxwyV#&X}dBX^5AkU3FM*P9O#>g%x zC-G;PS1!6>nEw1d*S`1*LO}!p^AuL8hSS8a`nk=x>-V#2#YNWclmed=Bfop8MM5B zv6Am~OmfqtaFUdI=7!+^(g?l)r-o?1c}=7EQ*B311Nwp`d~K;aDSnBT&wGt5G?S@J|EN~$cFd-e%k~%K ze($rR%6WdsYuV2D6{d#&C zpaJN@zTM7KV;UTqo#j}5#h-GuQgob|c%6dRCih+(TKh?IEwAT0T*+-L zZtXwWLO!en?@}#bAA)4doPvDuA>D-4B6pS(*0RT<=T}tnHpaUpu*SfpGU_Wiq_S?O z#My`ZOQ#lV67ZijJsy932%+H^(A5H&mAh*6{I^>xZ93Up#QspVQmVXXyx+%IWi>kS z_V8I$r9#wdBH#0VdY4+c>Gj%{MlZ0uUdrsfIYyWd4?g>D*ruyU=#w=Bv8e1CHF6$;JyB>Wd^%t zs)ZyKgG;!Ir)(|2vMRz4ta83!>=k1t!@US+y?%(sf&(r=2FM7)&R{8otl z_phlfmN)(0k#Rqxv$yUgK@8%b`q~&@aP})Y^O#dZ;StgloUeDtqdjxVE?SR;o-I~f zBRRSPpRyQ@u-wu~dU>pY*cWm|9ZmSScwmB@2m7e_&n#b0NCVZR-!HTBRNsf%?2=j$ zWvLXkaS&GgwQ<#eWpCn|PaNbcyogUbwJtL+S3%kV{GmKdh+{RwnDqC!oekY9Wj%T}D zvTmHd!2|mn7gK$6ArNnNr-O#vr`?c9%BL8#m6erg@>`_eIXOT0GD6l=w;t=mmZTJ4 z717pFK-7R_WResRVw=LaeI+!*TYdT0{N(0&&aZ<=}CVIJc$ zgOsq*c5naCr^MnPx`t=#c0dl*w5sG^%#hymyudw(k=b-;8@N~BAsD^DtX2$P`gL!Z zoRI8>oIAU^yI3R+HgkBQZ~20o%`KmgT`Hj#|2fMzLwMN&S8no%`HsNIO>8sLzzAn<-3=lk zAT15j(yf4$lnC#Gdd|`Bd*5IDfQ!5Ky<@Gl?uz3rO4Gxm2md=yBp@#gei4)3oJVpL^>mKgogPwrYu9xJ>dAyzSuK)RN4@T4-b);E zpE;wl<@v1&o!uYHtn2-PsZrPnUocd>@13L(5<~+Pflr3lB}V5ETRO2@#<0`EGg>}@ zS(F{j=Od(iSPK5@0Ip6H&4Ts$g8q}pQXUboX8)GX3PWh#sz?9Z)}79r)q~3JkLt`B zlA!yIS{qv)5`l3(`L~wwflK0xbH7pNTSjpNI1iRBMRbhg`NYp*daJI~lxXY4!`eiA zDG)C#)Tjy`MH*&q6DF$qzniIobVYw$cg@<`_N(kNL&6f}ka}|ldTR!yS(*7*+S=@~ zY}CstNHfr4-ixvyy{t^Y3hA*COZ%$|j}+{B-wFR(q|^xRxu;EDah!n;KTZ|3S!L%F zF5q7w8a=VW+MN9A3S0jF^#y?a2E(8|cfaf$y;(6)85Y4;0u0>d)wN7vp^1e=je*oxAxe?CBtS>|JkD>P!3oN|v6<)x4j_p%nvXJC zk2Q=)4;90~5sfSSBuJEp~tcGt%{26$WQ-0dJZjC>2T_8n`Qef+`-1ou;nK zH6;qhl00W(xBiANgWkjnu(f+&bAQY^Z|~dRwu?lMLSvg9Fi7uo|6ml8P;bEpWA@;R zh`-l9(y}c!09(FuqJ?v1qk=BU>d%cwoVM$IziVvi)Iu{K&VBbg^nRd|vWexYguQFK z613%0a@;55?p7&@uUbh zDlPH+(h%^PgmKchJ+0zuR1oB7NqZb}JUhDRPCHoqOuUR`!YJ$XrfT=X&!6MF>@MTVAjlntYx4iz#qN?_A~*5+z}|gz(G7K8AKA6G1sXB zE>Z@Z!gMxFLKP+IRiX0Inw4yyTW-pXawrH~P-%+qlZ*LE=q*vNMgM<-%hd@Fr6M=u z#Wch#B;8yp5U{88_RK^ddg(n9?upNJ`I|X$^{VDd>-WilJg~6N6*ms&>6N)ovo<_2 zZgLun(bXPuV(_2pTS&q38FrOcpso+G;c~U5&e&ve_GOsT_LQGgz*!R<(%DVJDtuKs zza#c<7rbGZaaKUXJo`ECm`9fm0w-75uSsP-Hlh~t8M1f&2YV_Yid~ikXy(jmRTTR2zU$sTzHLHI4np<^a z3`@rLX{(fVlhtWr(BI=~!Smf6?tCtA&_R{cW&tQsaMZ&5ZfHSP^frM)g2=l&@5Dh=5rX5HCIQJ!1W#{M|z%)H+C+{ z2y&C{2DfLwT2p*i{ogLwgcW^eY;(Woxmmm$KPfzgI}Uj(wS}bBQ1(@(sSk(CxJg)w zmmVv2U&|L<=+Z+8i$R7jxBEC_!f_BKRG_`-t?30__)r<(xl^HeB*A3v9;e=)rVWGF zOzdGBatKYM7p;SC2;Gh{FVR`@af$zh8xtcCkUMWKB8>!cjjm9rgmji{EX;Pq6ywCTh{qDwkX{cE> z7w1y|0ple>{kgKKi3C;|l*awBpY>hhORyepPX2&4RQH9X!ZB z5s>P*Ke2frmayji(8)n?{2;35^{hL(0_z2Nf7gkJQ>fmrd*Y;tX#fbH4&0tnnV*`c zf;FVF+ z8ybm#zg&phy-yt)Q4~Ew4_}Ng%qd(kC5GkSL@dz08NJlibTo^S(#9mLC@GknRwA2T_DTJ1MleM-m18!# z*A1AXXD1OfjlRIkZ$3Q`MeFeS7JX8=bj-ohJsw5zahy zFW}7BbBK_`fs+#MvApTML}dzA;+K|zWCM?% z2i5WQPJ7&dINvG1N83)dC|NlEt~?uNkuae0XV56Bro`QGmZTRI|DL7@gw<%$Z~xvW zpJn5;oP8eHliRz__V>UAI$G-=T}BAv6c#G?9{M_Z@PyN1wR=H~2e&=*rS4%8I&6>J zP$ZMlK*UhxWjkD+=6;i~lQHRKa=cqEooD8j$v#k_bSU(j=G1P#aA z`|zEy8!t~;5P2wZ{?O};*em!+n#DCcjO-3t7A~C1nScvcBOL&)X^(uKk-`(hzprTq z2F6=oC||^h<$b_YG?EI2&c=MP(?@Ktvu=O=2;5R)!ggi6RMBJ0*%)BB?GkaE_Cafc z59jbmb)+7znx3%QcGlcZr`hVkC#7C*c%&x6e$4cxwu9h3T~*4^zatC`7swefbM(*P z!2{)R6(dA!@N&VPQMQ!o>65%Cf6Bzdbu$SVGaKSuV%OyoT`8CwQJM~%>09!fWQxW- zgBd6Xthw}!uG+~UMu-!y^TWv`4My}+1)2c6{g3dlM}Kc85|jhkLNk8>KBSd7ls!^F zkq!=qKCL)C-IL+m?d#lHa+E$ZRe?Qa9%4H=54qcyE>{u)3aT?bos!L)AGzTN?C9H; znW(mnv4vr|f(VZeQh^Cxg`Iec2yif7kSi5-b2;%IW5m)sAoKWpOCyzk7j03sZmah} zk8!i1#X3RqwwXDv#ADX(a6LETeL?Pk`}Q0HRLy@axSAy2$Ary5 zxLOzYenV-})CPFuJ>AF!ogU5SUQITSHBAE~{6b^n%f*`|k6hV|1W@-VhS;0iSWfCl zTr|1l4~JVsS~s1wxDy(_3@sK8elY-Ijwtk&^=FEcC0MrMHPP6%8-EQ4lu*==;Ok*o z7v%bg>`(I#=)2TBgdj@Lr$5j7VcM8_hBb{0aISRVBcT3DmwbBsxu+OXhn_``y6$7x za?mHHfaRgTQj{Lt+Y%O}qmS7-HA(SI$Zd2}2VK#LL@DHDNC$Z}U%2G(mgi^7kKRap4W5FwlW9EKI6AUXS{3~JG&4})5Stj5 zPnUx@_V_Z+2DcTmT2#?)Hy@N+^JK6*D5@f3`%I8L-m(H$QA84!!i5^rRoO4@qHE}` z5Gu-+%MlpL;|gK2>pV7*S_a8xWx*3-`!y>ccIKkk!IJ5=k~WWOewD|64?Col;jBPc zm_GUD8Bw1S8u;SZCRQ5k=q5`pUyYT+xJg`t>aTgjVBW^NrQW@;ypv#*~omM=sDhD5uKvY)ZW@+CUzRBnGcaj1m(72ywXCM~e z@+F2TlfqaYr2LWN-ccj5=6bc=*EY(|o0uYBYTO{!sbar+`Y@v{D`WjNG(GA&d zSm@UO60Rb*u(!bZQq3W*GF32)09;zA6SSXc+Hd^`1Q*amxG#!?rq3%<{9Q_@w7dk5 zDQ_b;*ThI%JL5w+{{)Kqr;^hRn$vA@I1oiP#8Q<+!X+)o*{CbV$lN{~@}!z944C;R z!byQzk`d2nPl0Izm#1!HU*EvTk!TX|E9~po@9V&sSwXCSpJfIL7ed`el7BgcQ{EBH zxE0Ppsk@Lf1fo`Y={yY9-Wlq6WkMl5LILm@32E(%1J>u*6#pRbPtkktR`@7q`(jb|f*6OLJl zlDSy`WtQ>HP;!YM2lZO7Le@yN7Yqj3Z%gnpLJn`1OYWW~SgD4ZUma!T_wp&Du}sUg zY?K~2B6J(6$b?B)U?B#{98a}Kv%$(#u;TLmy8r*bBWTD=cNoFt0f-ut2-B@~r2p2R zTC3i&;9VW{SJ5gL_3L=-qG?GNJ|UxLb`cdf32yk0Z2eJiMy+TvGT2c zPR=d}HEQFWEpW95vD=K5eraqL6r&E^24dG7Imo8FKo39{{BT7GCj+t*$2G^iVN%*} z+bTO=P7Fvb1WU(nr-%Jr-nRsUU5=mmJ52RSv75xX-vVl^;g3Kc>VSDD*@YS&ql zB;*YW45oslU&g@NQ+cu(|KwU$$Zhka2(Z=fv|XxZR4FM!8NKnvRi`pBHjl#3*x=QZ zoYCl?RhEAp985>E zz*K;hX)1qvx&D(u%O+LyD{|rItLHW$o8MTnWgf6_vZNGY(#In~9T0w~*ky09g&+$W zcm>b(n=kkzIXR4n9P)`Qa_*u1x2F-)mQ^3S@{pCLOL8y(4~l!dfX9Y$KgLcR=G-3n z_o-zdIl%zFXD;bHBXu*O*Zu0ML-Uq_<36m`{<@d@W!u(3ORQ{xmJ$W7CnxOiC9L#!l^3^LUt-AE+O)oWn@0A}cqo4e zP|!vMlYg(lt?{=DG}HSQdd<|@SvKM4__SeNqxXAG>&L3_NZkdO)^+1MPJJwG1!4gF z9$zC-{!Fti<2FB$M!@-=XmQB@E%IgpB?Oks@+0y&)A1%ORwt+9+X;NqjNTz}{ zx3_}zn@8@VfBQCO6MGPSl1$s67%EHLW>-n)y((6xx&u&t;l!BAC)}QxG^~4pNoY7n zMV5m?&FZoMX`cpS-%`>Fc=}=v7bLD$bbsv)N((%4Z!8dVrba$pb1rAVs@UP4*;Q_b zd;^wz`m46J@TsZapZ%>eK88xMq40J1yZ@*V? z!Ma%yOEN$LonOqI2hHukSaE>X$&_Fx1p?Jw`-q$fPpxFpq3(Lzcw+2$GEn2*hA`@V z<#v<|iDscl`FFrXB!F8iPQPg;C?M$UcFZFZcnw_y9G#)CCOmH8OR#@^X;g2mjepA3ta>jiglAFjH1c4fcOn%%)bi- zWLxUOi&Nh13x?(1O)#5~u&dkC6z`TEg}RgCSxCIc!8x1 zDxP4E9JN{9?VyGa`5_UcZKJKTp3Jw4Ziv*H8W@RPS4t5rI`ANd{M zpC=sWtNi!CFdZGhed(O6v3>IV9k@t?IejNh-$3taJ8V8ZHKSDR0%N`yoX?l>`9gpc z(zEqr{#+!Z-gh5JSVM1Ro%GkSDopi^@9RPFvI@na}`=(uy8Npc24Wm}?W4)fx_k1mGTe7NyQ;rNGcdiwe+ zV9@ENV~je{K_L%H2tE^6?CX}QWiJBl`*;kfH3~Y2eM^IOl9)o@J`^h z1(lmm>XfjcCwJ2^xIgRdYJJ z5d)CuI3;{`pj0b2WYe1e~!*?CMalR7gdo5p! z`_H`7WYHB0YYff<)DnLOXrQX>)(2L%^3Y-mZyrkbVa|Q1{3kh{blp3vf=6F17U9gu z4E5bpZMgl<>I7DC49f!}0+6zzKCW^Gss}6EjZTDei_ckmM3^u;r@S!ab-<2aM-fA0 zz6;PWMHmwDNv@my-xac4t&qj8$n@cM8g-j~R9kR|HbeQSc~@AR!YA3QE1ixKRb{f7 z6D-zvWQC7>jsA1-%QKbMz^en5QRDva1Nc27e$k0KK=q@tSwp6ycs z%8rmXKZ8OFUOe8s4QLHWw6*MUepM%L{89Ez3tum4h?7WtNY%G?-(M#xie-My&644U zewockm|FzZJD<7l&eD=2TtIfXm zbbdX!vtwGa_s3kB#8d%UFMUAc_y+icINtjmJC~IigikH;ch-BrZL~$9$m9MDcUS83J*xpwP&L*# zwlXiEhmffwEmpmcM&BuuX&lZn!4CKr`z+=JHnsSI)V|u+vdzhI*@>6-J8&dy=@y;i zlO&Kz^4-%AEJW&0$W&^<=PT$)8{>V9AteCSufb2o^5By`DT) z$CH|-;_{s3;rSO$1~8F~vxym%X}%1A1sKX}X?2H|y}Z6rB|uqdWgojVQu&TY$`lHt z&_#+U?|yHjcf{A!1R)Vo9(sS*$qHN zVS4Zmo-Aj}H1oI3ph|&;s0XUYMVy8c-Al1V&}>t87H15S&6hm5&V)5Ri>)1I{X+RK zZ(pew0G8|GTdyJ7v`imhBoHXacX;L^FbcT^bPNA2>8bS3Bc!drbqNoLU0l>Pm>FyH zZ%DqaDTsW<5=$1;5fdau0)4RDCB_t~M1FM1k@66!8bxq)lPcKeL&f08w}^{V09P9j zT>ZT4Tjo3ugxKHZ7>XZUpm8JS)u-Wzxi zMtY7*6J|NLn=cz;d^u9RM!wA|1uE@a>-}>a6c0>z(%PliU%l$VVl*A;>S-4Hew=qH zyxC7Wf>>^kl)Pd8`q0Y~BXfnmX*lzfCVoV(L-OD?_tzcFE`kdVK8H>omfWnON*Zy3 zs*5bDm5QAM>KUIVBEE#p95f~;P^vEU?>^dk6+u~X_}VJX&>#R$#K{qG)9L{J()MD| zn90rfBR*hF#xH`>KN_+xtF}A^U&pC^tfoj=veo#-@LN*YnyJ`f9C=zRXYe39kWR4? zXw`7{&Q6fGqtSaLl3|Mrfq~RrfwY}lN>hb7ZfLD|LDfx`9`912BVA9`tjgkB2TPrM z%?U;;0vGEeA@m}DAWUSdh_NQ zJYm^;&?aY;OAK;&2SLU`T3_$lt($*yKDFc8w^_nHNI=~-7SFKRxPzL;79B8}jf}q0HMb&o+@WS9^0D1KMfPBqc=)AJmsv_}wK@({*jP@Y z>en9cyJPXGCoYCLGu7BOzrprH4npNzE&(Al8j0nXMTC#V$VCzK+BKhEbh}4V6us8z zc=w)`iLH9atHBYI>~{s=j-#93VcZ_MmG`b^?7Mj>&fT8*nu@=$-A&Ys?BghH0Tfm7 zn+aiR3w_`vIzaGa+|82R2Y8$YycUW7tfZnMHFqxi>nATY-Icz^$8Q>gzGd()O<42u zF%=nXTz<3)>Nv+S;5TAQAFXnuct3aFW?np+(%HT{swm_AfZOD=Lwe3AQT|nh z<)*5bdgPy4b#3x=!okvS+}BtL^CjCsf09Bjbr&O!D!t-sZQ#S91n&TH2~mlqZUu3dW>?nC>a`4EnSLp6RXA&@gVe(IuAQ3ra4 z_hp!;44cErnm6U$K_bwL_-^)!{!3D1wih7!P_*bL`%3GEF9wi}>~UX1DxQ$`$2*b{ zRy^F;f4ky63n%Xe@0akXd?bDHd8&46DLec;`#$N<_A>=hAau2fX@e0L9KR2C+&rHWdBAi?T_ z%+4t8{x1#Ah5~Z>uEBJ}*9DV}?E78caA+6vzh4+;lnFlxwE~(Lr^&}Gu<1DttSTHG zFxUF?@5=14YUzF^muXX;*XCwWFQDg&4qb8sYLlSxnTV&Va-`#N11f$=g3KAd=;{)^ z$$CD7_M83dK)LrEL-i!y0K#((63V`-QBMAt#ri$rw8@>0oK7|M$S7K37-x1;_jKXF(u+TCcF1BJ%)`Uc)C=l%T z1_Gr%0Q)Sy5^$w~nM}M<-4YaWwHb17Uf|}T9m~A6R*h;A?6p{I44)Dx^Wl%blV64G znyS$`nB=c}>j;Y8sy_79Vo!Z}ctc)MakE(m!fLQo+^Odl1CFAM24lnjNJ>`<4K6^k z4aW~L=wgbHoo`T4khE(%G6=I-K2Hk)k-GfisqVLtHR-pwc5^g?2AQjhdm1hnl9)t| z4rsdB?K=Fxda%3WvE~8vBR7^p%(WjaRQ+p zd;4sFsYYU9Ez$uZ*h>!bfMQHSBEq4anmH#c$610-?$j$*1L^s4^kY}!672QYBr`Lx z`k`1wBZy(*4zKi`cXuny)-lrDeJsp(>6>-|%l9PDXLU<+mtR>~465E^z5XlKp5(Vg zE$*^NhG+SOx74}Jx3`y(EJJ1IzfQRIb@Huq3~Vu&c4Y0?(!KUNb*dl!)q_(^`6{67*Xn@UmxJ2^n$Hfmu zijhw}`KhW>un*+t@C;-txS%>{M^tjM-i!HQs@VP7LWX$AE3zUr0V6TkIt0 z<-sIkqsdAAng86oAx@9qu*`dTV_1LsOJN6$90!s618gCA3cH1sZd~hPoxc2$ zCa>-1a(Md5q=dp@NOe%>r6*lDJ*TooJJp5hQ}OUyA7t1KkCJD8(Hy^%ToZH^fU1iM zeo1fx=q4X(aA{N)S7!!_66>V@yv@xatbs@&mCwAcCjJY({VG5Or+E1+;uvqVw%vKw z^<(CY-NkN-9iqfk{zU0}U>dRR`wZGrV&RIbu)Lv$5K3wvpY@~jtbg2vRy7>|n8}=x z+w#TiVVz~0+Gj_HkYr1~9?gqRkVa$qgP6~X$;~Zni9ooFSCn&N)1Bg8E!4j#|{@mD*KExkoQ~yw~jp%DbAxu1l!Y3hJ$d9n>kHN#f z>w4LSYd(7i!p-g^mp`B6RYry?f&B2;6LsTs`4!G|-qjJY#oujV>^^&(-RiF+24T*K zZ^02hqxW%^Q+C^;{jk$!@WYtHYmGa%v3IIy*oR_l7rw641f@aQIIuu+ql%Ut5TZqneZxe zFgLRa8T#$bzzQ$NKKAYI@xW@9`f5R;>p$^+7cKoiPR`$69NZQ;AL0Kw57m+d(ZHP9 zt-5XM>H(Ll#ctXDI>3=et0x-RYX-c-u$R1T;r+tcJn1>t0jVr<2jGhl^QR-8eb$A2 zKTZ7%R8MX0e4G<}5@}UpxHc2Tu#vj5d-kd9g_FF6>GM|}msB-J+M*4E>I*>&2ZMbF z)7K3dmoeIZ2nL<_Q%hg%^-VyQO*iwH!QAq}xER2>w{9)*=sxC2JO^U}%0kjPXzb+Vl zT_hU>{pC7r^DtfFY(Ht$+s~eLoSf7{^2;23p}8lrPy)ASjPV1IlN&urc0-V~sYJuR zd+^P3g~ZhY4&WJZ+|-$4(qygoAlZ~-PH0`$&&vG0AprQ*<$|CPtMUsUTV{Ip49By<=vkpYVUTPH6~USk8F~M8?`fO-|EnJ zV}+52wL=?-Ul##bK>7Zc@!|qri75* zwai!ZD`swS3=11I3PhVv`(B=Xyq?y^Yxn&lQ9L(r)_8b8dR_rsb^hYykOLv}tPyq7 zM+CJ>AZy(A7?#HRRfN&3BjTWJ0Y=j8^{iuod~1?3ABBGs5!JGm;{X23j=C_ zUVO;`+f=m6TvFr_9H0we6bcB!U^8smk#fni$%(E!kx&;LT@FYnoBiTP^Upsgv@_3Z ze&)MdmN`&y>#mMaN#xuM*iSTCIQ!UPKSMp5-p$Kw!Ut-o(g5_UnUS@tl&ETtW;~Fu zt}K0HJlGsA5DQ&g9Rl&z=E^DqeIPntidAp%`>in!U9OJR?a!yTt!@8&XV_hJ1wwTr z5YQF~TXMzDB$w2*|$jZ68_d=Ldkdt|kI%boZvOh`C*w4=IL$+JLmJV{H1FWfU0KKJnRSVU6f4iBuSCWG9UdT&8+MI*BdoCab z6|^{I?@QM$=oQk1175-Yi9qOt&&bd+fGrBWj57J8xLrXGFsM@Cku=jX?=^3YOV5;7 z^*l;!0F7k#AUs2yh+An`C||>KU(yqNwfXjX=yiY~u9UEW(V~Lb^t2f`_D?@Z?10Po zN|4N?UCXV8x!cM;oma&pyBo=C{)T8viXU*alp)KGbJt!Kld$C#f6zh*w$?Xac>P#8 zP_}suu(@uA@@Mm0M#nTCsJhaQWOM7P<3uV$0j(=D$8OV|lCHP44^-fxEUCeJ%ET0k zN(-~yM4>s^$Fc|A(#Yu_lGB)fCI@(MFIWYOH^#{LSr=iuFIzSgxQ10QsZlu*q1v|M zZI(IhuvvdVRQ7559Z~7hWEb%jB!7_Rd0pS_dO=*Y2XHN5-HZrP0>`~C9(7Awr#kPl zRcq^jc8DVAmY7I@#r%}t`uvO^hcHg@2>*|405@brJPW#LPtIZXT951z8nqMlT5j#z zmDIZkey{^3mA+k9Z~AD5d>;nWk!}gN_9$dN!LGsoN;Q8ap4{g^O{li?f#m>t7VLdk z8|k$L-_p^aez~@^FY#e_+6K!8ELK+oDSH3Yp5Nkt`YH*kClh$<<7!Um*fE8tVmNTW zzSNE^WK;u4I{NTM(|p{N*Q%IxL9;A0YgyN^-zduChUvPJu?gB4=(ISc74hmsmt1fhpP)HrqS+-RZiO?j$pC1V}roHhY{bJ*G z5plU4U}!7gkxHEr#LDtlG7}}tboRTa+vZ*Xq07Y;z8)^RU16zD7j|{ziCV}TC<9_L zAXg}}^!ilEZCQ2T#^56m4Yk${uyh=}(qquRSM9ocFE$KleAC`NJ$SBISbi0DwV-vz zuSzLmz~)3J-zSxTzLu)$EDyS>klylfQA}IgaL%tyK;hHYlAyJCDOOK;={zr7*=f#o zb&{SW%&zdo%Br>HWsCk^@A&6~eqeLbASN|;CB3;XvrS0=u;+0_rf@Z&?qUd9xN;;v zKcsyraM{eX{*zW#YIjG9?#1UV1OD;T+i?PU&bc;w6hYuzczK=$H08hxNBPlzv<@t) zQ*g)=Vt3Zb5bg^TM9kVS*O>G`-+P3M>)T?7lDf)jq5o(BsBN~QPob&2IG1M&UMCZQ z{JKdmngB5g8A)UsR#X5Yp(G`uruQWFO^0oB!HkcczVVvnb;}KU(bHd$04feE8`NDt zo|HdVN0amZIa^KX(=tH)&(n6@vRR#W9~aPbKIYJFh`b&f)yMLiw0|nrPb!4ralIwk zoA}@ca8Uq#TN8!6l1`4{*cm%fFz~kjyAIOA)w|Dbrl8)Jl}T5A>;MH>+VM~U1ZX8u zB!B`Sq;3S+zbdwAcMqS#;!!YYY5+a~0{r4vexswgaDvfZ<3mw%-BmyC{`mU_K!WQ~ z<)r&C0>|2A%+$Z=e$*tsJZKaOUApc+kS5-rmo9;WAj0s*a~0cf?BoFht&2{EijZ$d z@@|-o19}kNL~&x`DfJ5NeOY#OJWOG7k4iBfPOj2zh__96DAVc%M|( z%iMS_D@l0O{S^xygo$0Qo>HueVh{<(5BTd;-%HPK3;=5pyK{IG{#Z6}MfP~T&(0P) zxC@Oq$C4>C43>THc+K=0a-Vla6G%e==}BsMAK^-4xM0$tH&1)x@w99zL8uIm;0*v^08pYn2aP9^C>kZj+*d<~i|vn=bKL?7UbkHG+40>^@~% zzGbL7*PM3w6oyHdH77Uz5CqGoM?fXap^oQ|dtTq*8{xr$@PGrcB_9ORrar)-8}7Mf zc6B{f7VyDL*OAmeAKkrJ@zGml9!j6uI)`?uQ&+CbCLC;zU~i1bYyd|MC=5qxtsZ?H zN0ur<@R5!40YTr^lOxyFTdcq-jAs?1{H8Uve4B48yI;lac=kERT1L+Y$uY1cb9weh zljJyIn6@``Cj+TR30AhKWHyuJfOWcmoI<#mT$dl%5w;~F5d5~5R&1~O0Z+$6i`7E_ z0aa;fyqa4!r}eja*o4wWgUF2Vdj|gC{^94@Qrt5N?nWRmxx4veR|gLekvj{7{U### ztAA`4>Nd$f=Y(zi)u(jMfa#IF(h2(2EUQ7Xm5{Sr{wEkRtpyrbV zHsYIPd*PqCwa`&@;*el!S?eD>Pod7)u;Rg6roc?X1Sg@<)OqsjnNFsJZ|;VDx+q)T-#_)mT@nlZbX(K& zzQBw;8plPhu!Xz}KJf0v-Fi*k(GVrp`@JMEVEY9Do56RTFDo~;^BU;hMD%w~=HQ7P zY6G&mMYaS!U{rH>`4racF&@l0kDA?qB0sn19P#`IKVm4qeNXZf;^Mk?Irr$~7~f3H zZf-cDLZwe0Yb)*wld`(n(Cl{2<|)XaSDRJ<&k`p@zAM0_u|4 zPuYPI*y8i(p0(?C)t#Uq+8umr;JOvxRCz+8gfFQ?8!8a8twqoEEPduUqNUk_;-cw6 zAkC~-0Acciu+>AawkZlAOBP0t5+GkU$f&v*C+t{_RU$024mgHE_)J-P@sCbF105X! zGi&9In4qhs(Zq!VZ8L|tK&2i#01Ih?fz$f=MCAj2kp~au@4!w>L ztD*)3KIc#f4&wX^FgNCmrj{2;nmQs4FsBq&?zaWtgJf2oX4~S$>7nWQ)Ol?#;!sm# zU&0?hUL+0vID0YaI<=d}>H*G+GL4F!0FI z5c`0RBr?7&I=&-1zN>Pd=rh;#<*zA%7!~{Ezq;e_nGm9sj{C@$ZA7bfi!D!A7$n1g zb_LLQXG(hbnqRFavaH1t2VsEC))6BDl4=%OG5yQK~7pGW3 zn$0&S?*R#uGkUo#D#^txzr^`X=}6c#%x%rdFbA(DY0y@~z3zRrbD7_w9DdkC6W~jZ zl8=Y8ny<+>$6v4qGf2MaTVN1Mx_g#@{q?HZ&qNN*OMo=^UEC@p%Rc;;j1PRil{;#F z{%~J

oPWa+SC#woM3tph5RfYKNwN`We9boiIk~DG9~vUFA8GJUFlX(lh2Gq)Cc& zJ)c$zO{pil+ZbihQ_8|Hj{MG{?Pqym?Vuq17W^xLF0u=Jtzmn^eq|E5a#Eh%SdC>? zYU=*EW4Df)xz}6l?8mY%r(sbZLzE(e2+;%P8-w209xNyM@P8O?ey2Y-|moRB9IH_l_d6x+CHW`%4&9{zN~uOEWT&a_52R*ZFS3A zF_yQkD68lPzCKHX;Xf}<=ILl`scBqgB_n#=KQ>MReRo$$HjG$c8AD1B`|D=vZliB@ z#)(Y*iHSG0ex@IwA`jE3HM2_nEwg1Gy+f6Q!UyYPrHkj`@H$>qQB8PJ;E98%MO*Hd zE?7Xr`Ftv=uMrzGI zjF-$*ad01lWc7QEk%SlYGgu-KU^vFyFJVw59Gj4t7^_yXt59a5&$H~^?Ks8JLP z)={_r)%c&{D)M1O-P97T!A$G-IfYE@X_9P80r>ng*MT+)Fwi8`@*$e_F}#-wemlu=X{MtcJU`Jfipofg83@keZ_Mxlbd@j{jk?07Msvr|v-OT-wG zR~&*#I6KQv_HXan3NshbVkk?kkInYv+^jqs9eDRwiW|ygZ`J|UAQcSL7GTRo)qe409r5UlsA-P?#qC*eAUEWy7d@}vwr@$74^mAs3EWBb z=CHL z23sDWdySII8=6TOd+aTE4H<8Y$K9mbI|mR*GH^hc4alo{gL10Y)Um9#O8W?(#Ao%X z@RK|vpg3Krw6tEsc%pYR?JCFo-)-73KmebxBUF9^gd=IyNgXe9n~1PXHlZLn?wo^$ zmi=53<{H7>o{z=z?P7)k7ow2j+mW>;WVN=luOE&AGtj#v&ODj50biBt3&&s<)%Krg z+UP`C6FE7)cp+;QBMqCNQkgQ{;O^i~OY7DD=L|kcd|#eXowf}9DTEVEbl5Iq&rCb= zPOP_A3rM~`tgaqZiKbp1D-*!~HUcz(89y^HdgHNVd&v~m8qojK5(uHaX0tAQSMf+% z^(OpLQWbVd(!-JOK8HS!X`SqrfR-*|n>e$#6JHTeP_#1p$Tn?kJcV^|)`&l7F^chyGt z+g(voiR_GIPaWOMKkJ5IKPV`z$N&BIf$ms4NLEWx zdC?{pLcWO2$CSl;8bIj4yeeM%?%0=FkO8eOiOs5jL@o!5QN8BF(Kf@V{~*vMHFqY5 z^tP!-oqGXxb_fQf8ylh5qPu|Z6zEmIdrFbgXgEoY?V<0pXXAYK7}0#B%0Th(tDyRA z?9QxL>^YlZH+36<>}X#oJ1vZcB-3Td7Dy7WAXzcCh=#HVkPN`FM#=+B1vC1TlJ&gPH#I z-9n_@W*9eX5YJw6J_{=Cr~tZKf!ZRHUwHiy2U=N+GvF{81n?pVWe~`iMChk@^3E3n zY{YepIXt#fJI{K$NGc_vzc}OBqj{gacSEn1P zirwCh4j);M z!Jf{ExCHtU1e%ZnsaGxfD;4=Ie54`36)v_q-Xs=2dtY(QQv1j&${r*03x_Gs-?prR z1fdOZ5aF%R8@`QlX!+c0l!_0RdQ8f`cqFNKfq?85P@G*+R`es#>`dI^7ygvyV5*Jv#j|q5?}ZG0A|7+iId_a!BwB7?}jI5%_8Zed?HEz zY;p!F4U7Nh;QEk?VY0g1pO*pz4H>$62E)E}m^ey=tAsv6pntcZ_998EG+-MVEu8## zDPGqUH4R+>6ZrO>a5rCR=7}zxEA$uN-A-qN@6^1)>Ri)6)ccyx(Z5$n=`z(iGJkM8 z@WQSB`f_gbbCIvqB2oXJnap8bvpKgKxc#n{AnWMO&g(L^!xyC+gx;#p_)YFqyBei8 zw>WCk2pN1o#aW00Jf$kA^$7Qk(^tFPrEXi`@r$1+m*hKkn?R}vXZ+Iy<_}pM3m^gD zT!4d-*C-JdE20Jnz$B*u(FdLOt=ivuPlbS|ZT_`@>)??Xx)Bn@JKEY;SmqZC9LQL* za;#y$-KQx)j+xhr^AAOE)gcfm1?Q-neIwhPu zm;*6v^FhLvcvm_`c&0`ir>;N~3CK&J2mE+jUAo5+V<|2TbV#Omtt<~U260skUuu#~ zAERU+^Nnfq3*no*e7tew+D^7|Y#YsXvGU0I8)fAuAJeM8?^*^*5KGLh!|{BU=Ien~ z?s*tyzWXC(qX{y{Vcz8i?&MHX;ujM)6paQD+rLbZRNv`+Tpq5o;|wnP9QIVz;}THnGcS{M<-Q5V%3P?x^NC`-HBT^Cu-5{Z~biaG}{nh)Q zA4P6&clMcQW}cbl7-{`;`xiV=_IwNvjpXE0{@hl@hoApAa&?6)~Q^yvWPtFH~Cf5#8$ z3=9CSE%{7&<$ageHm}2>sw1|`JCv*7IFokd*QqMd-@zxjxxHG>$AtLdME|?@51=0y zu3(fa3=8&H`xB-)dF@9wZ;S-(8#sB6^JtGkY|Y-g`Q_S$Fi{DI+bSLb%)^9!xB$r7 zkq-^u*KWSL29$Zx8FEg9RR2|zIS)L!f;7j?T;yR)8=EXAIXkXAJFUE1aQD&vb%{Gs z%IVany)J><-N>-#2ltYV|796==xyh@xjp#?7rT)@ZKK~ugR~_oZ^?*q@26~OC&xDP z;-+goOE?m%S*!gO6dK5;{3{m0>w5tK~sD6sDaB6uBMK{8Q6?->!80HWf? zQ`!PyUBEaHw%1X~Ea8*^@L)N3u^#M4*y;ODsbMf|kotcu0wi$qAxq5`V&eXNf5Y6T zk+^wpu0){ygM3}Bz;g?c44gd9ah43#)nnIfB7LYYq*N5*1ih63?a9BCCth$P9EzhY zvn(|9_b{1p{g;lxOs94}0J*YUKcwuDHJJ4gsNys65V_JY>+FQllsJ~rb(HEBUCM%d zdJr=7|1IVb#I&siDfsBZ-7!TX%6>C5)~@=-P(JN%Xj!^kZ&Eb_bg zzOnh8VattT|CGEtK6ubE@7G_;`$E!x?~0^JXxU@NfU|%nlX4g8HD|uR znE@2!0Ep{KYKa;g>Mv5KX`pV{*i{Bw$GNUZC2XKEi!0KmMNxz8wam~Gl-`&Z=4>Hoc`wCHVDwPX3EUuf-rj~W-0 zw0=^WOrJrX6KsI3c!<8!@=XYZf&pJKxbFwLD5^Zrw^Ysa4=%PxwI@=59=hbi;oxkk?4TdCqjNW5dv<&6@kK1+jM5jk?LWRkJsf2_IPQ%%{?@xB}V*ZZJR&WJK;B58Q3Xb6b~ zMOfz@i=RQaUqNzPtBn?(k_c3=gPhHX!$XOHH7$Yk%KB}pJ1h-D0$3!>|rEccBEkt@j0 zZ69zIbg{{iaIn2A@UssL_8@#S!O?d_N&0YQiE=g~%5=8KhlAmN5j6N8snMp95to{L zRW_vJ3;u~;bZIA|+(7LX>6-_b3aDI?(DiR7!yh^eLUesa$@3V{jWPJ!Fb6Cn7h#pk za42R(QxY1gf)@x+e$e1)+0axCEkqMq$Cs5R11=n>Vpy-Oo}EW~H*iCu197gfr8j!2H>!$rG}xlluRurHtHYWfl(|2qzb<7m zBMIF{6TdUfs+{|sgYep`t^Ma?Wrq|93z|GAdZG68Wc!lJWJ{-27 zF6obG3!aFf^`P9qOTSmnlkVId_HQSZe?K**3lDt-QUPb;Q;r>E!wLTv7Icua`cA(t zuZ^lzYSS-iD`fdYKubcg9|ab)ftI64du%vj2;Ij4^O@e@SqAIJuUmwKf^4871 zI@VGbVj2?1S7=FUgo1mS^s)p!r>}#)@43qum@QiDoyN*I&vzgV{T+(3}1M6$`my1bTFr(g_n+ z?@G7KixEGzcs`9Ta)^#6=1Qubc#Z21lH6w8Iipc%#MH<)vDUnhTQL7(?~6W5QD=|7 z#uErp8ehTS3Nw>zC6SyizxnYW`eu`&t&4)SZ(rZ&d*4}o%=abE`rp=p&($GWI{ca> z;Ch9R)niI|O>Hr%K%(5vIQ!cZhj`4=%;dooA|R^yLh7CT_Z8@g)FqHdgGKJ`EfhCM z0Dp1fCE322AF`w?1!=^xtoL;LX2^C%K;m|BiUd>)5p3 z^=k_}CeHc#@X76_?a94B3^ak_x2}Kp&rajbk4{0s9DS?J{_Ve3(n!?nTnRxU)26Z;FzL6Wx1emYA#}-~ zp`A#c_B}Fck|eG$>UU(s53v0FY1p6YEDNF2u>P>i=RzgqpHaSlV3EQ8AWwvf?S~ej zO&$0>`6iG|29Y_L+1{)9Ok%Ue!lg5KYsdyt-0 z=N7vi_)e}FN1WLyEq^vJ8g+{8i@mpqI!^56?N^0X=JF1NFI5j;Z;?|$sW`o(1iV-} z@kKD#&H6(f9OiQ49Us(aXlZR9kgNV{vRj3A__<=I@JRd&YF) zNLIK!GC%#v%s5K%@lNH2YVr#Njg1+2lg&r*4&KajvFKkX;EZlZ^Jqz?LQEByOTDLF zAktxkT&At+*pB2gnPqp?wP|lV{W8wP-r6IIXP^vyYCl3n9`)u_<0;QBhEXdIMPp~f z^rEfczcB>JsJt<#pF=pRiKpoaceT%>%5;o=f~OebdD>_MW|fv3AFJ9 zCes$JlHYrcWi!NDg`N-&749ngotZu?EP>i^JaP$RuN>&G0Hx5C?!Xr@k_4>fxPL#5 z9V+5%6MlGh<}&c?5#!-fQbHb8VszZ+(7&P%%p~%jM{PbbB{Lb>C#SsJU&-m*X$b)ChO3H?;Rn?XpK>yVa{|nsU}@71bFaG zRI?$@zP>p8JK_e#+-?671zC*aMYe(SJ}R}f&i=fw(A`XulC5<|(G5C&qY_q%MbBSr zG8Vh~-8-QwT{E9C!GLpV343R~iNKuSk*M!lq-<20CqC$FcqrR2^n%|u$cW3{_B4yA zD+9z`GI_d+3O93&jU4R=Z-|2_=xhlV0GMy07pAN~*PCJ9eCgsv19|VX*hE9ED?izs zG=wVgOZ4Xxny3Lc`0@8EV^DpI+aPo^)WcB`r9sJX@x3<^-`b38eCje`cXNLzwA1> zjmO#B`xyV+fF4@MrcTS3a=N1+(HS|+7D6}w08OiIp4GlMgb+EUQ6i;L(#O^`FT)zU z<&qzJHu{4x-QSlsXV~>$f6#Ba-Az3mA^wNM!Dvju5iJ&y_VeO-e4+~zog=9gV|&u7 zI7RGB;lGE^x-?B*Z1a-;gFP?Qx_DTBzPIcwcldVHOSJ{eM2~6_K{h7Ah&P5guIrb@ z&cV=vFvG6lUsiY0S)ma8rkId`ij*4fn+pMBC&XVE@;;$CfUCMg;dj08pvqlJuoXKr zK^({CHvtRX_A~k0cvq(1B^5~HoG7H%$IlAMM+yFXxmP*K5=EoIx^|IpM>&Gdef^1F zuF1>Z&O|2J4r^)XjI3c|94*f<0Z>2>4UYR0QtZ549%Jah{!|D_S_mfn>qJRG_mS}o zJ%CjDWbdl6e)!H^r8s>{YTAM?MYmRT%C zX!jIF&|tYA%jwCm?DM5`Zx5x7RYmFc&hBqNOkBm+cd^#lu}x+PZB|IaR6AbJI)zPW zNs2)3k~KA{L_6n|IuYNbB%y`e<(6hY7*^zC%gaK{&w}T`*6`wO$o821~t<*MCEsBvAfgT-iE;06&e^bw}G; zc|_%)?!pg=fpgxqe(rqi{-3*KL&IySBGRHxu|hC!oTvi4 zHm6I>=BmK`RHvVs~bQIo?KKrkD#RhKPIkcf}r5!iDdZ$E7Lw6swG(f>Elb)*JnC?z!a}p+OR_z#BKA7 z=9KI2y#HMOBL?+)22bWV7`5lO)pq!j%JH_QS#X!yg?d`v`A!*xCO7vHU+#!zu`E+% zoWF)gAItKHSl&FCW4;5gwOSlF62Cr=xZ4+ae_^Cp>yjs`1^}0waoNJHUnQ*ZtJkxW ztXB|Hf~1j^@0G^Qn`L)bWYmLbSW+mR2_L_04%gH(bBP2?u&k3h5{{K|^HvE#zEVD= zSM8Was(GhiQ&ij2gs{qHFbXvC#0F-A5gPJ#9H+a|Vm`s`4gw~ZONL@~J(O^4Es^c& zAEvmn7SGG{+hLY2tCTq=dwwV4TJnhM9ovvbds`jT_&6*6hvK?98c-oTMGj&SPxxAfyGt+{WByjTiTymR0-9Z^sk1~hlW22?aO|%B z48iqM?j<4sxo%`Xx_+}uR;h=R^%k=uBbqPfR zV)kL9sH@y&P9;Y#U?VMuJchKp0X?smb;fKQYfaIcbh{!nz9;jXZ*Y`JUETVDwq#fBz_zO?W8&Mj=-W4Y9 zex#7@v1Ou`l)TheoH?3q&g;wt*yMsD86BcX42l%jH0m@{W~#SAem3fPwa#>_qJ6il zJZF0iB{qeLNaLw;qfl&&paTO?2FWuFZA!;3zueNDm@JO$QMDv`f7N7b$dt+luRe`O zNNS5oIAppNGuYJ^$>;vmLd||>H&TJwYVD{XoS;W2^BvC9a?hAkw*k}&BV;Sn+AVMHwMcp-xz`f$;|6`muT$%)AL|( z^Hb!GdF3|O#NrqfdqSL)5cq4bc<25v=c^ZFeEQ8TicX%}cV^6=H1#yfUjjS`k%f}J zd|-BC?QK(c*_pN*)Pj$5xA3Sgci}~GRV|wyxOzK8HX9^ym0{j-Rh@RD@NSVpdFIl= zP2px2#6riXxOUZAM29o%sxpvXk!Ou@P1je)#el5IN_75U@I?5 z*6BOXn6rW%d1)ur7&p{7@^b=e*d!U6^5$~$?#Q?a;X6YRweok(6?$$^dh6==%QLN; zse*=q=JRfz>v2isc#P6q#M)PtOCbc~?lnmCcp`Q$SWGrd)LTw3j_jN2rm=8md-Yn{ za@wwF?#RV=WjK&h=k@QB(29eB$UC^^iJwY}aAVQ2(1tCNERdZZI>cbtrdcqofjcR= zfIQz8@L?&4RR;yE_6#ooMI#{eNlXTIsG|Rzv(njYh$DE9@`nPmzpTw zs*zWGY>*<{33paZsLHV%NY821)29sIA>w+{lb+;r#kl$q9IPXRPgBZvEXU);K_rY? z0WA@7KHXp-1oAyqav>7q(*>KE)zvvqwl?M@ZO(ts&E~OjXajWY1?cEtJ_=?yfB_M; z#SfNW+Gmp9FXnqn{kh+7r{b?83UJ>>tU_IFOWYCcoKiV^dUt{xrb|gM`{Oz+yz1xQ z0G9V#UJ=c!uw<{4;rICC??dKQ6=z!4G-1@7cXu+cr#z;)jq*bnklzwg^kw{ctnzc{ zQ7GL$7oFb}k>cwUeQWI~AJ~Y87cr4!7W>x=@Nu+gUjrPOTIglT?$@&Tb>!S;l>dL$ zl4tx(kg$VCQ_s<#Vo2)7*&A*5cmFEyFKvSetH)oxLVZ4|*PXqp3WOwpGV~4}SH`7+ zh}S1ghGrXBc?1^qn(LL-rVThR-O!P@Y~ zH;3jkIC)roUfNi+8T`Bw6YxIcVXbjql<7lKU*u_VL^%Kxr)UFBIwF$d)67SLc*mIL4RvBI;s_{g{=@OZ*zNSQQ z<6ccr-}Q3P0*7Mb(>A3HuYmVS(Dn9Ot~5O02WGJcO%cFL6~I67;`8wrQ(m9wnVmKE zLKhi!i(Ka(5D&$9;(EZ>JSTuA2MRe2FnJ&C*$iQYjOA5m(mvw6&DB?O1w`~|T6KLb zc)+-u5oQ5Jk9%l`=$!nn>ht$Wb3q=>;HZ-N<~4Wxx7w)gme_E{CM<5_;*sWXM7nO9S7lV~+7ocebKy|Gd4~hgZ)Zh^pbEZ?jg^U~em`qJ!(U3kZoo z9J-zP74rROb5aj~QfxiV5&N^&15NrIfsr&maf=Lq34NM{i#3?4?3bZYlzSF6qQGE; zQMeJB;+0rYm7WFui5(lSmbCuVgN`R(N}uCsd~>(SaJOiTB0|IJSPd} z-iJ&g7bbp45ldv&F}+3^2ts(4|8w@pvb_aY-#CDrM2EiRk3!-I2&=gTt1`wXN8@7T zY@eo&E902oQ0BfuV)QwUN42*CM|eqyigxg2^wa(~@8qx+t=rbZ>$6t?`r%)Z(`6IG zk?Z!B@>H#`hUB`ziuycCs;8_h$)1bR^rDu6vmRD=geDiJCsv;}c*&IKjEKhbA-lAZ zS;eFc;SG{xaIo=@vo%X^VZ7yzoLQf|%5zz{)24(H^s@;Rb&4|b+x`86xzHWqxaEH% z$y}I288n{g^VmLgC8q`<^OJu6PPZ=Qtg!n$5M^_zSWbI;>>jmfBGIFrVTz|$s|h$y z!33&ps&Qmv#^lgEQnG&QeG?GOvmLz*ylPvXDsF_|SxdZj{HV}Cf14nJ8% zHuR0m4_Aw5l0^8;d4{Y^RBi+t@z$N*{lwlqo6VTTC$N-_bMBssgw zGere4|D-)r81*1KnG`>jy9e$jkV*aFsH)py8r4pl2&9%n#oJn2!p4}tiCj;uFNylm z*g*J}@$pvaUFDao+|yV8y{;|KL{B|2wj7Oh7T*o98b3UBOi7R#oLbWfzU1(sAoR{z zIsHyv_%?Tv_JfmO%vo8~srX9E@2Gfn$zBK{GyTLq{FdqNQfCDHaM5DRhP2>J8)nAe ztXq5hNTehq!JU2>YNcjgLEz~e-P2Ls^H&9i1?pzJ7q2C3}$j?8WD` z)NPJ_9DJ9s5Ql`yZ%NIW&!|HxT@i0!dp(f(};fGbwF~VV>(s ze7aLCWudc1sTW9rL9xGTp&|zx0%Q;GnjZmMmqhf3ZroT43irv)h+y>J(Hwlsa`bWD zu=0cBd|pU4B$hEw+RZ)C3GG+l!NWfz(~iYSC%v)uEY(#9Nhe4?#p;N`wGUoG`H4Vo z4G6W+Aq;d%BAQyGrU<^MN#gXR001#VFQ5<1ODiU^5CI$yyCoj%f2E!pe zi=*mtZEl=Rc>1?cC92C9^OMiT&zG!n-}X1+86TEc3_AQFiLehK(|2dx2WfR_)B!hB z+o{FeTSEkexM0jT$3@W&a3Itp(l>R(?Pq~~3ZmV|=Agce%FIMiv%IbScpxqV<#^_g zov88)GcLa^1Bm{%^p>Z+v3eaYkNW*@_*qJ7O}(=}SA1f_P5E*^x%!e|`tb>ebj10e znkQPm03F&*Y@A`}nC}Z4Gy%;8QR*sLisD=mUYakf z9}G}2$@m4%+kWb8D9QtVsic`7mxyg(h^k9vNSs`uacOQ=Cv;L=7k_%N`{YA&zT3)mz!G z{TxPKh^6Z3(mEYmrmgd&!_U_QS(VL4nzQ0rO=7fKLywr=eAs6OB?e5LU)!_Vu_M0n zR&kh4rG4KGc%a8@2Q?{ggm2rRNs}-H-}D?2D`))i%&xE3fhBM4>vbFUwke3QWBr^K zdoI6ra%0j{ocNbG8tT&ciHaJhGlt*aF%3A&Tm@`%tC}zEG$mk@Xn>W)-4^2^yjYy~ zA~agv)ZyaUk~7m}ZU@XH>L^02NNl~hx`0;>@ZNGfo8`Sk@mq|F)(mfeH(|)X5<#q) znA-@|-R4VLrwsc}0?b37rmE~*u%=A0yeYXc8vkFSL%{rXvp0P~zH3sI=(i`=FDquHVu~iLp#`g=tZr5q>)H&opCpMP6)K#2uzq)V^*+Ka=DQj(hhp(P2sc69Am3o-w z#3zR54OmK;5gI%5cJ*ipCeGQHSK}MEs7mA_1kk?q%4ngc(ul-L*~MAVIBrmAN{>icn;F7+woW`eE&yJlk-wgcSh zH-6~$4H@nH!W6T+yC!gfR-pu%ihn|m2qkeJBW!sm61>Y6OoCM63F;WftjnwhCAk?F z&njT@`FSGgo7Yl(=EqhJ=vC1#YRm49mWS2bi;B%CwMS=jd=DOo z=ytIwG_eaVRwujhgT)0QlFR`!rx*)HD#TAZxgoH)nh`_-#F|NBnn_~$Kr>1b$y?(1 z(3!40-H^)LQuK$4e$L0RJ@PxTpv9nhox`v9)gIr_rH(eTlkfoErKnj_{kB_d%D_9h z`qVx@xZ&BzE;m;jb36HnjQq4$dY@wpMZK~sW|wlL>^*wwSmZv`MT`}E{CDkwO0|2v z5Wh-|T18R8(aj4{dT(}u?1RjQ(~(h616;iMFouWKtwv` zQbhGY%|O1IM*!?yWW@OmKU0**9+L-DNLV{y!> z*ieAUx8VLKN%vGwtn@?1pG?Eg3D?^HbA;(ULB!yFq%-JaJp_gN$N8qFw7iD*dGd%f zVdR%kzNpSYDT=--bnwYfL+yNS!HE4L6|!_Y?{7exte*SN_X(DC^gJ}w5Xp6+^O?Y# z3{;3>`i1rVOrQu~`9GOsxcgvI_YO6>>RZc>@}B}!N1uNDXvNu;?PFJ&zc1cB4SvQ{ zb(%c)P4Kb$8Jotwb4YWOrhcvj0hOGU&MUyFj7_M=cV5wij@<8$PM7w=@)!$T|owL9H^czj;%gZ|tR@PUF{NEmoHTJF*HdTBKuD4va zff8*_9CX{Q5QM3UzqVtFg!lfX;g;~x-&O-~S_u)&RRrcE3=Lu(`Lg(z=MUScna;_n zeY6c$u(|OjhCP~6O%r=#1fQ42`0bjt%MISV#e&W)+_dZ1xpvpPw`Sfxa2DQX?htdN z70>8gF!#20!n{W)?6d)94BoOykL)-Q=vgJQLbVlxJ`-J~!Wabdt$?=J%!h}ysEg^ z^etJ#WN@sBH5U;+&tn(u+^^YU>Fa|!y{4Bei=Ki+;W;@U-^UoR!0pKs_1I|&)wGjW zo}y2%8U0R$5vT6DDp~6`^Hv?)B7?_(=WTt5485ZoBBO2t|A7xCzZL|Ns!lfymKQ>N zX+yK{rn-9i--0I0PHGwj{-%{+o&g2r8w298L88jY9S#mPeTy{IKZge%g)azNYLKn& zy?>UZ<`EZL2A86{r+w*iO^jV#(~Fw7ivPwzYty*cclxv)xj5_mT-|xpc9t#MKI5N7 zakP2;JGJlp!>wzHJlowQebKr9q<468R%WS2Oq`d)7y%}4Jk1`om#@! z-J7k4!=~a$T{Q-IBJXE2VYz~3Kx4Ei*wt#6d|*roAzAh8@IXd!{ZynTx4q z;x-d}MV!he;kLt4cM6dI(gO4a+7C_KJkEu$fEIZ%untSsbZQ7k%Qb-&mB~5;UI+eH z4Bv(_h)qz1xAN5ng}mJ7HDbXz*+Vg>IM_$(Dd8k5WD8(|-JjnCO!>+Jk?x7m#J=!E z+AxIK%q8@NjGSvr%hzS}N_*2|EWz~=DHl8C{B2Ugtm}2G)`OwVZRFy|@RtTd8lbvC zE-*vh)k)ZBP>d=2LVQ|rxu@5|&3n4Sinxy8u}wY_|klRG(U0nFRs|gOfyvVx5CMc9t-2wOR9%m~HJF?mN;goW_A&2(c7rdm0uihG&?cOKG(0LOcex6lxBFg;zrz%>l zv0JQITA#!nhMCvaU*u`c%t|1Eh)}Bj1`+QKuH68r6WB;%OqA3M0HT99;M>7En_^TcK@bSP(jhzqiKZ`#rfxm(SN6{0= z+RMgXcZ=4t4pliqVqs^_fYWFrrn_oE3?UstxrVOha{PbMO1JLf$Q<~6dN6snwJ#>9 z$Lpm-l|i^)i$hW&wyBZ&dT!r`T7BQqLjTqGrHyA2J*0I4O*LH01}>)hCCvBiC^w2@ zqPid5FX~$O0`qf(>%Of9mg2>J^4}%qf0=m~&(O0wR|?q^Ti+8hPY=0+8mWW1ESmCy zd&nzw*y>R#45>*St;!QT&zP6_0uK|bq$J-NN_HPCjRRW=0j_HKPj+v4eLw#iUM)AQwp~(Uino63b7bd(8 zq$w}O#kITxt7+gzJBqD;Jt|MvA1PvCH!(_5wIK)z7H25$U7mTjm=PqA#T#I2FLA!2F-a9Kf~|l75M6<2%W!IG9UaH>*Rhk-`Dn<=ADY*g(lV% z@1LHZsYX9s_TNb~RY7F$;rgXy?rHqNL~MASMtMS+gX^$miq1io0fm@m1L)8cR506* zyIR@YT`8QI5UN;eP(}_8R@ZlBe$hOwcKa*J`cVjgd@FsG_XTY*DyIpK{Dor_vS-UQeFAeV;`TEOvUHy@T;WF zeDG^4!RPN=)v|JxF`4)vTN?g7oW}N7IqWk)(E~Wgq+dPnp zX{`6{cQydkm&Rs**dxO(TMY7H8klvBwuX2r5X?f$kUhfIjpRsjeTraZL7w}$%pcU|*rOFe_C8bK9sS|QT=m-2rxX`x^s(wyp7^SZ>^zF5uz6yOc;XMrDa{Upo zpZJTt+OPaX!S;jUkU7QuIWivPKJZ^nK&;TwORI%FHYgikUNFsuyZH;g_4AG-vKCaN z2cT?(2C7H@GB7S7A#{xNOz$2Xi8(zmb3;du#$Uz~c~l>Y0J1$O{6vI?lw@&Q7ReFo zrOY;~F{e&UqHr%Z*yM?y%>_z1^Mh$Pf$RJ`cT%&8* zrY3C}4xIBRip;{gQO1W@@hJk%kJ6Z&H`IY7>P^Uw#-p_Av}kiT@*zkLzYf1V7m!Bs z4yMJc@U)eO%Jt`{VUn9h>!qHu!th;KfF#wjvVoz?M!|QeE5P1w#vvNllZn2@yOXb4uyFHjuJe7>@v0Ms#yF?0e$H$dWo{ELY?4yj z$e6uUThG1Cuah1Ap{$9~P@8H&0j+?4A(NRlov8xb62)w@U_MoP8So!4!ikqxH z!T4D%Y?NK?#(8@)IQEAvK?k0Jc6r|gP^Y_IVKvCv&HQ6p9OmsU^>xDwbXI#%-`5`C z>-if;`g4JkR7DgLKP!G!6tV$LfhLI{T#$`;_nw&;fc%@v4Tz%nZX0zE1;KeH^)%ysfFG3(+ux$t_;wGq;tm3S67T3G+e7CO7l~eTw z|H98KnrQlDq#eX)xK!nDK6g#@V^^IvRoQ{-C28PTUnNS5a*;mIMOP&>PoIo4XFY~L z9tpOop@Znnbu&kcIUYV&N!NFvKh-j}8sF=yqu3^iaDtfnj*xway!CqhJX6b7v3Dg| z+mK}V{sNJPRwKE)R*4;dl%{) zPdcA&&HdnCO}?0$&?Vf41Jv^4&`{&&+!r&U9K(82RbzYP5kZY=`phsG=KH1wP5m64 z@XJeqr-iM#IN(V+{PB3OH;kf)BzT@baLC?=AVO25##4L8eTCGhM|p^|p&TJuq(4vq zq0gR5Lb1{vMbH?9to(bZNwQtix%_Si^W3L7S&AOgxhMR}$kd?ljh+5IgPwwkiWTwP za@T}!!(7dwCUSo@f(>J;&{H~*n1ZpE*U3ZG1)S%xyEt&GMlToz14}h$q2ki2l?OAH`qCc*?3FCWkc>aJD!?9}v9(!fs5l_-$ zQi;tZQnTPSdChx}k8x-l=&;>iI(y`fAX{v|M*ClxE~$lnIZV>iL?RJ7wS@<$=ypSq z>m=+3amqFy$e+*THOQLcLE5R2+xZ1t0NVq20 zDg7V~-=zRabsL#+tQxZWn4My_V~f}J=Y6(X6IVoeu!pQ?Nn@30Jqmq7c1+mwTggw8 zo4xP{&$%I#dsgLl$6nGAr2gj5;=C3#-#Uth0k`#Oj(QQkB*`cU&ijt(zZb^BJLOL7 z&DLq)=}AXVGRyvj;h2O~56=t=9+$0kHS;8EVGiq!L(wERQt1U!R@(Ub#+8g6=!`4aVO3(SZZh>`Bo~RzEfJ zn(A;D`cmJ3F5Q4S10f7*Jm@s(j+_4>YGwz>r}}-PGmc=eO0Hm9yG)wD@ZE;joiH=(C=)*W~T;rl5E|029~e_=c+5=Z5CN z$QN7qvTd}M2ftAq{$kIrGiXEl=rznL^-Jy@h2UChv7tfM%N>^3D$xRD-;8-K-YODN zx?5GJ6zfs(6ZSl|kN|XftlzCFUUI-=T&w#a`-&outYEcOcncc(Pr0ABrM=_2nK0?8 z`AJ^)!kIy~qe^mwzUCeaRf+UZRw|3?j3sOG>#(FDA{t*I-TQkSSU@hqYz+#b&lmvRsOUua)oQGZ z7!I~N3LSX&NZ{n7Mh6F7PVd8SoHPgim0wC?($cn%XuWCIGrv~ObP0AP0dkUS&1(Hd|09E#8D~@RR0mFSMG;s zS>-H*Z>>}Ewy()(hO(_ck*xdHs@=eVCH+A3jk`5^5rxn7QZh(IsDo4Vd7Ks0Yvvmx zgk6R`#3%i|LulW&cc_SoX&9e~YSMk^Nds;A5Y10{W$YY~IML}!rs*ikt_$=Pf`%cR z!PoS5EFYhSdk1;)9=_N#(t4ACmns7s6*m6!)1LTHmH2TM|H2S+WB_)XPkZEhJ-*5^ zn<0cw^f4xNJBJD$D|nyAOJ^0Q@5^C$^DZHY-CnJ`b$)%6JL0N9bYk7*`m4&m1px-qhPxxOG!}d8n+;)e zLVG3ERi78{fvZA(C4Tn>OYiwKz{?#~mE@a%+3R@eKO0EZe&VW+2~5&y}w zO6PwWLjo6zmQD#qGlykqG2Pku<7sI*yo)|W3i?m}c+I`=zC<;%9NelYF@B^OYai^2 zf7@mJx%W3neT;}hSG_qtmR)%=owvs>J;;Y5`P-M+lmuz3&7;3 z(B<7Ud)yFijEzu!09%nm2mW6FnG5l{8<5=d9Y32o=a)!)g@er8ilj`=3I#cI z{2%|I;9DTrEX6#LosmX@H=iYQ1X0I%#uAiEblLT|5*<75jr%yShbbcZDcimJ;!4OgZ|I%xN!0 zq@^wWucJPZL(tNKiT5)G24B!I>wgK3gUEi`TK^}V=rKz%2d5qf-l15zTTv@wYx3?n zA#NzqZiLa%_DZ&dm?=lGi3wGwJk1uM*Q7~-K~A|}2y8b28dFrBb7TZ2OWCUr;M-v0 zo>wzr2u;k#&f;XXUz0xi(z}GCW$c+SBo8_$27=jhvHIL4D=({8Fo6AxB8&T$NuYSz z7u8lCFOB}E`{y)hs*_0sto0{H)y;6L2Iqj>?hEvaPu+9d<}5_D6ekVe9d=kHXzL`} zU()+bNP+T1dqaN*lbH?TItKQO0z)Sbhpj}!cT*oj{;FWFlhL&85CPhbiZS2kAf-t{ z5t4N^J7ZcmYGo6AmL{m9URGNkUuLnR4&U-}RLVFYT*l&*!s3J&GVJ%rtk+jwkd8^pqV4Q#i4RWHej%gpEVt*i&V zFMBWHop8W3nj*T|!;=q?D|G(!JVm71_QVY`3v;slZy54s?n)@CA!Vr6cYWYc3m zvqkK)4fpNUXiZA+F8V4UQU;A;p@8>ffI}ch8rNTPtPw#c)(eSxFS0RXy1zucve%K2 zvBOfE(vPzCbDECEzz}^!h}zK4upA69tdcW3JvZN)Z3z|Aaw&&FCwBzlfVkQN)P!&^ z9`_%b&i%ZHHw70Iy_(k3&`JeAuo1O3Av|y7!;)xxmxQM-IRP1hM7t@Prj&iObOpyg z0ug<pF??BS|Wh+**Zolza0bHK^R$vLwd_$oM9x!Qn$KcI#xl7j~O@Hcgv8tk#av>kAl&A0fgjk&f!hL-mfwJ!J( zs}++Y#Y-OAwTh-6K8A|_t-yx z0iFH%X~a)>*=_?yfp3cUKsc8GTR7rs3UXF#$9Nei$n&n|^^c zJFyVZ6a=FlQd_5#1{D67wX1i0H@Lw#kPP$_CEef|aEJekw+&p251lRmk(w8}_5bg+ z#E~sxj>YfVMVrKr|2j&ZGQ0dMCTo)_22?#Lc<@rztb#?}HRq>JScJ*~;+O}wbH$zA zVAr=8h&T!v)aSf8-i2HiF&@5znlE-%;A(|nzz+qb?&zh*-*{=*81@xIwOieNOH*Cd zU#GQ&FOF4lXJ2QyfzX#)0asUeM^1%JGefc)T2wHqMi^vHS7lkyRr;S4`Kj-pf2Ww>XViKIPn6 z-Q7N((7L!2J z*zyyRhr}5jn0=e|XhJ+|UK`>YMCzd?y zB{;E(00mvZ{rJP@%xq7;Rl9(=1^2(gnm7Ey1U~+=vH_2STUA>vjKFvJhTL>BF_G)@ ztN-1KSJBQN0paC@51=AcWT^ZWX-H=T|J&Z}*6xxz-$@lVxWml=fd;q{;=t;O1%N6z=IsyLewH$n#Z34ayQE1x=@9(Aptk z*bY3mbSu<4x+VzF86XQ-MXIM79U#Ezu;Gf{6wR3fu$iJg70z}5bX%4@Q= zlMb490hKsKvN0dOo#6*B=&Gx0CG5izCHbFip7PD#2jYEgYPZl zOzb-$z@ea_*3SE3a!z)iA~g*PC?HrW`asQ?IL(a|1s5#3v;$M9*&~r|Z$#X9qqyzV za8wxyjZ%Nc$}l{tsl(Hj^G*N-#bwxbLKK_uDIy|#FE|h!kuAA_DpdVd7m5-}f;N6h zA*o}^x6icL3pe?Z_(tDp&@aMQBP?x&BEX4U{H_M{QxXRiO>nH=q-pJ~*>MCY!< z-0P)9q=<%)GX$0gi*vR9kIYVP+wI%Zyq(KDknv)d-6nVBauE1{r74_=L2 z$3Ct|8t)cluhjy>yIP0BQu}NpO2Q?j5)qD%V@rEc=bY>55kajRGG}VAPjQp$nN((1PG#1g?f&Q4T8H21#L?tJy^D2f#)0-KH zHOKoqUnf0M!uzxKwFDXXMywTneZ%0e@?6Llf`e0!-tT8}1-9YTYmbP_k0R}{R;ypJ zVodVQffVcUBXB>;gWqs}`h;lL=O8Rb8%$;Q%WylE=REt>;>qh@6jm25|P z1PPInRJyxcDe3MO5Tv`~+k^M>-p~8Je>^y3m}_5qt-a!0=UO}bZ{INJW<>|$V9_^y z$XQ%idSG^GmlzvobxVi(<@<}LufRo#(Svxz0Qv=ugkX2)sIJ#N zY-Z5mFUW7)`m+v~DFUY>w-k^nEL!f9oxV0YlE=cC9?!{D{gnM#>fYt6|J{_fgQf2Zer3H_Gj?I=0}FFJqK8EhdvD3`PdXm&FTOYo``rh+tNS@JLe!B->%)!|3oV!Ozyxq$` z-$R8#FjqwUPqoDn%qMQ4ho}+lwwnDAy3fy3wmzTZ1ifLg}6Axn90+p&CgM1 zgp^HN^|J6$)5&kr;0QwoN7$t{ZAyHBMUw*iVu1ZIA6U? znB{!L*ncjDkhghGy*Z=^Uy>te_6O-1J_`M+r$rEaO#;L<->lWVPkIsHN4SVi*&>(k zlIUmGtg$$JQOb?bfhrtMKwJTpSXPt-EEYT-hxABCIV+aZuZxi&^9njTunq>KtHSE< z7r?HP!C_c-gqFt1kpFN2&TYv$o#1n(9bjn*a^8l{$UKgP9fA(F=YQJ-mS!VG&5ALO zp8x)=AMpAQ{qrd${VA>FJ1S2lmiIB}mA71w*)}Z`VZid{GiRAkt!?jON`klC`(H!w zDgT7&UUbZeeiAdY{|k-;IP3mxb^z%QKV5Gh+BHh@TCOR>xFYCl0J-H=w*OINO5$s~ zyFNES76BcCsR~+n_Tbi1`kENL^gDW5tFY_l+eS8e3KIi;y*Qc%_zh^Fre$D5_KVCn zRI{d@6sf#F+GtU9jk-8TA#Anuj#^}n@<`lge?+?a`$FftN1B*5f2&k1yH&eY4I7RC zbZcvp#pb9BwIcxSb7WuDs=%BDJw=ezo#RDP(%uKhPY*V`p<2KwV5Wz_BESnegzz{Q zyrbs&_|AV+YO1&E_7jur&$>-ki6%0_!%uaVy)LzD&YZ;f!wmJ%mLE3+?uUsuXK%jW z3xOvP%7q|-h}!FJoYT-vCB-`Y$t-rZVk0gm2Zn1Ky+V zf(a5jCI9!?V=pQ5f#N^MxKfP@Kk9y@;*ii=D@=zd?)xUn|47Tza`e9X>+p+|B8olL%W(}Wa> zXs!;o#k+fo%8X1M5`a1df>v30NK_a*PzTfr4Q`k0pg*wgB}Bl7zmpRF%wg`>_=Qhe zXrM54*BJQv!2{QWcFM@Pw$~VzGSJ|%edXinpO=q^RC~mrK=O6RV zk_;03r8j(J1xOYKfNAF@vA2KGFQzrLT*bx_D{BpYyLh7dk;(p9?(@Ttx6wS|-Sm77>K+zynLi5D5o|S`Q3~#04)==70SB>i$( z)_Ay$>-z-c&4(y-{QOH8KjUSH;L8eWsf+py92s2)JzyF>3u>N{2!1hclB`1UiUUq;i6qyq09% zitlHaUV6tO^LuWH&3zBi4P0f=`~IR;m|ep<=nFT4)A%NhaK5!8>d)3lj;>lxIMI4A z1ZwNTq)9+AB3CQENlrdVAZEt7@V1+B;=aaGllbL`{Nzf2;9hDm?|LQ$KyWcF^o%x~ zc)uEEKPKIMyDF%=cxz_!9j&}tKrrwSPAVvoGwLU69i;yT1AM|PEELE%x%A?Iv2W`9 zU-#sVOpLJy_Jt1YODNcv(&NU+l>u4cuay^*{t314Rvy8~AjbDM9{(=b**xU* zc?*;&!NIuej1thP7DKJ6_k-fUuRTZq!+lx=iXHbJL}hkHM*OyI_2PQAS;}()D0~(& z{tI8n23u9da{sz6KMgVZCt&^qM_J1RJC69SYuHBxBduMU(34g-=_-9EZ9#W1N&`&P z(DACL*;$^U3Uu#%69sW00%~iEx-#WL*#&Q*E<$;x`_!T2k>P~!cx7!0=uKaz0o%fr z{y;fFxw(k`;6@brAf%h~>`$%Cz$&lh`8Qzp^k_Ni>{uEuWvC|Jb7_2rXpB{o9Q5jC zPzn}yUAzQscwc=Gn`$j?xe9o_a2rlPoS&YJ1JH~>Tih}G@e3n8axf$1#WMfT8c4a;b}KmjWW@f-KyBCvsH1EPW7D>T553!rAOkGL-nAaRZ+V6*-zYO-wVI$$%KYt;Yyq*Clj|+i=Ht7c^A?B!&spB0zVdd za(|h3?OU(%P8jf(@B1708XI7+TWe5dOEcsoKR-T>(NH%T9C31B6jnN}EQ11@M+LcU z$iz<}nNy+aE5VAxn7tfVEtqxeH9f}$G3-bB|K#^3Jlh$zWDSj!AR=Vw^IfU{l=pPi zqWe*qCwNWQ-%c3XEF#oKnEDzQ%sey37q8D)9Ob*8WBmqtM+Omoa_?wu!BGW<8dw3i%8tLB! zHz_zq#~q!5@KV#nJRqQ`sNuw>pOfh zd82vKDgi-5O<7f|BUx@1n>g&6nxH+dA!n?Kb@Vrj2@$M*b zZ17VBpGf5O{y98uDxxc?zQP7P?q@>7tltY4**=^vk9Wm+i9eGKaHkY6h0J%r#ZhrAt0Zdo=r)B{v!8Lv|PYvqo$;8O%7C&ix-0L#F zN%kqrBM~J|wO3x9PR@F#1n-!%sz%fV!bOLJGIv}u@nI4`MFXr8)RKmE#%Q|)l5 zL}O=7SUMslFA#(>EWGd$=W^w@J!f95zA>lxiBj*;TLDR#(7((zCOY{-npd_W>+I_v z6)Q9UE@%)TxYC)x_KldFo9A|j*|S9y^Mq!xf2FU&zrO_UP# z@`Wj!!w2dPs!M2_2YZ@`jK;PUtl(b{}$x>HBf85x+@W*2hfcdG~IFcW7z58Py(Ye8Z3Q{ z2;3pCh@tHgxm*ZX|IjeKP*cgyNJBMS#t_haM?yjkVxYV3pTe+j-jclaU~rPHm+5`x zyc+xr3$NcQpsS7Q_Rtf%v8onM)+QzToA)6u7>(}HzWzgi#}+v&M9yVMhG}T$wlpP$ z`7yo%R7aAUSz`|B&j8&_DouFCI-{QI;^MG=CeUl|O+4fT>kWT3LK$X@%gI3JL!kMz z805K(AZQKzq!U=&MM3+vt>Kx$6g2|qfaQuVW=Tjcb7$!AJI`lH`vTGi3uU9{#eh$; z-$YuFM87Hdbx_se1bT$TaBwvI;1U?!q$gjW_&Uq4Oubb!lX_PTP{O4vn>2Z={F1MW zU(07y=B_5rdBvmaQ#Uq@#lT7JMtN=dhYE|ja1G&rF($4D&c!0cEMOA}|CslHQ1f?E zRBzP#nYYWyT<4PInrI$0n;+PK5GfB1!0ZdFKep*yC4M06W`=yfF^E6?jm{nMdmQVk zq(;+dY5JY}n_qGhMBkl(p5Q}nPbXbSrs^{vTa7t>QZ>a%ThL?32pAbN)z)-YmxA1d9Ei#v7cG;^FmmkOtz}uP1ETc61TfC>7`6 zPQ1g9HJR$5P5TuOe2InfVtakv66{;o-7cvt?&E42e$hk$lfp{xYmfbokf#317SkMAk|HiX>uA^W5nNgz4q0wAo z?sw1`a?$Q6xVp&=i4z&??A8+^#?qeDQ`#OCfJEr=R?zu{9`6Eb@G-XI3qCcFLHMBm zBsuRS(k=`Xd&W8_t+fS^dHVoprrx_%$xbl5V=2V_+ZPI-M?=Fb&t=TMx0o^Rkh6k; z9DW#JY-hmzfj&5N3q?HIB@bn~rIf+I%+aJ4&PK0pC`11baxqvThUa^;OJYJ>lXLlX zHE5~%Pe$Ys59onX$-VVk>vTU$k292@$-)Lmy7Loi*+xG@1j~^;G=(f40o#~D@KO-u zk7dNUWw$wHxVgdkHP+m~z2M(({}_rKYaoxDTQi1L`e)#+|RZM%V~f7ooVJGnJCUBX)DZH!5Ii1 zXpFKl{md^3aX62MZp60qj{-2^M~r~(jWeYIt|B=xSLzdbH#DZzE3#)=xUqb+j;!yM zS6ge@bGjJNb>-`ykb2)b-Jc8PvCuGC^--9c8S+||e=G98V(K86JZYap$0Bl4{Kgqj zJnJ$!O0lQFP9R=hvWFL9%^dK$mihUVgV>Y@yl??UtVfx(N(YT(mNSnqD{UXTD*eO& z|J#ZMct#xq?F`P_c-uP>^Ebu@?S&tYr2F4(yKLv4{C?a&{q{q7b>3e`#-|N^c?MEo zcNHiLq&+jH<~T-j(q)naZP{wIwnPyy)#7i*(VZ>2M2SL6n)IYr&=MClmDw`he*u(S z)(OlmN6FxbE*vC?@shQpo1_pIP@hJO8V`>v(85_$N(}MoIU1+B1X9$a-OHy(l4ilw z!)K%B8SNwEMQ+2Cf&4=+g10v{v>d#U-bbiz{U!Y#5_n&^szJ4?Nwuowmn0%9M!}Q= z#I2#}xjcQjCJ>w=jOTO5S6Kqw4^^Lsc9w>Ui(%?4Gr|L7kCll;qEYaK4Yz$B;q4OU ztr5Zd8K@PY%vXL}a~R%)$BnnQr>__AA@6+_WMw7^9mEQa2@7;$#<#1A#>P*o#^!bF z^$M#iLz}1bwl%B^3*{Y%CEIf7zKjU0&%n?gx=*!%GLD$Xi zk*+TYo3Z6nG?PoSK9_N}fK}?|Id|j!ZheOUaiBJ8Jeu`9=SPDKF}5U!4!Mu#JcJFR zpdR&)llj#u=XPBs;nk%y3O*p6=3d0zohGXYwQxx;^sF;WW~qJjDTA6xqTDG^@(~aJ zeJJ%alxL(Ox4{Fr&?-4nlElVgLI`>d>!RI!K4DmlZMF-&;ahC|_}zJ~B{zMp7d9wg zijJhBTCui@Y)2>T+*K3ZY7e~)`_aH3vD+U{eLfzMH>*jF|A;=xXf%gnJcsiGh5#vL z;;_*Z72Z#DGA^%W++z07YP^`Q?2YL@t>Cp%*_JL^33(p%xjZPx&ry?3^)o&qva#AC zQtO)NMmeI4!#AbC5R-DPI&lP;40_uE*3dvdS>cno6xq7dw-{EWeXK2?Y65X%${W+w zCT1_v3ObD)sQsaDFchd33=jQ|dFbgMw`rO<Tx77Sg4YbmhQU(8kr}QzoukW#w6>luUb5j!6edDbB;hy%;sX1?NJdp2Ra&8>m0&|27wZlBg<+?z&~ zW=UP$&4%9lnl_!LIHQBnvn3~G7>LMtd>>nE0tar>2T-Z;v2Gu$#YqGrK+q?dj2h9e z+ovPc=Z4;xPX>3ArX*y4`LZ(`Go(GKtFcBX)nJavSJ5KDesMffKktu*h@7Uqc=V9g zc|u7s^w&K`3YY}eo5F&aW0A-(K`UyY42*;&2ClX^qKXMm>Er~1ugknd48DClm@DG0 zGrAQRb8Q=6#*xnW{f8vZx5{;u?h`WDe_A6FQC_(oziS{wUxq&n^SP07cu;Chpv_+D%0?2kB&bGtu!;xD^qFqF)DrbrZ~KEd>suIPaLnp z4L!X%ayB*3X!9=SCP{_t7EWi`-CpqXR918{An4QLwL=&bDIaa#YcG{>r}`SFlzt3x z-jrNdq{>ndt||WUhr6glNl9jSYwK0F;>sn5){<->bQV2+fzzAN&CeI%z%a^}jQ4tk z5gae(J>S-Qg?1m3o5>X;zhNDA)*DZL`jSR5LA5N$7WJOJq&&}{*~`8(#k)0m?KaSm zN$@^&5g(?4D5L|^o}$0FIup5SnGnaMi=XXw<6uV5MdHysCKf}&*p z3d~PbvgL&Jo@N56W238A^8U%Jdtt?!>?f5sq9>u|=%P0c%^pGir8V%d@FMqGzf1Cg z7Yb2Ry@);U&)@o``>i330?#E{d|-wKo&{{Fy1#slpFUcofsOcG<#hAz>?=z~zlC05 zl50I>{Z5~@4l17UBh>qir?rE--pW6Gf z&qRpGPhh(~J|Vu2LqkT-OQGMdGv(&gm*voKxAT>=6|@}rzpP|z(U3+at-i)Iru9dF zjAKDh$eIp>LVr2!A~5ww52-}pLcrDrw#Zi|s!z=?N-=jjY8yh?yV;$e+^iw#Ml_dE zzH7ff2f=;9Jh6~^Y`J{T%~vMGmNieh#QwNPgi4V_cPChZ1eqq`eY^Rj5w#nFUiK0 zN8N*+5t0Zq8pidp4)H2Iq-sXz9Q6>FuScCd2xpzTS+$ZDM z{*exy8t)WB1$>%H5UIa5F54FIsSpB?I18kQ%q=&qwmU{ok)B_~Ix;Y0g^%#&Yt78< zrM64feqS2PBpcn!=0X7ubdPn(W~?b07}OiLJs981xj~nP%@umulm(y740r z2_NGiEyIhrJ|>K-ZUv>6h~}36;R3jF;D4JVkeM>b7xB|wl9Tg0G$^zvaHfw_lMU}9 z&3VOCs~Et*283!~@=r|g>bi%09#NI8D|xNfUKKc$9Tc6udyU$cpR5FQ(#F&H8mr}o z=R965?Z`9ansO{~NNu+dOD=`>RB!HL^&I_*3M(Bay{2BofJyo#W$(9odZZDBKwI)5 zem;%?zLzbR2CNZvc)?aMyJQiuxPGP~Fy)krYK-9kuigB@mFYH@r>NrCpw-pJ;=_FB z`aPw-k=|a!B5k`dtabk&jOi}{Q!M~Ddc(hQlKuFs>5EE^QA)Ama ztj^CSBp|>HV+4^$(u115y>q{#Rk*btd3wZ?UG@M3Rd{^SP;S43cF*wKV@f>U@QXi4 z>OL2YysDpQ-$G7VpN#lm`An<6B>T=R69zrP;S^?WRU%*?ees%M98hDsx|(HV zy{)WV$BJlSu2Xv297YA-tSqRBd7?qlOvZHhx;M>{!QBgO!N0Py{~4the!7{9}9&45z(pxe8y(uek&w z)TKY{9GWGq1n$Hc^NsCXadp~}inf!ZbdI!f!t!47pRVZ}LoSK|3CJ$G`nKJ0vtbcB zws@7Jbg-Kuc8t4@|58x45^lTX2Ly>oMt+s(KNv73lgo|7?2i-Y3}J`Qg$b5YTD~UE zM=GoxZokQ&U~x%IR(kCe`0@SgHM}|9+i&o0Gx;VceaX;c2=#Oj@M?ge=OU&^RKWzAbw*be`8+qJ~?(p_)M4KG2 zd@Uj{SKve$3oN{9XWk#pC&U{VQMJ8#v|U^CypPtiCMuL}9^b;k>e3mn%yv^`mrzC$ z{kgKy5Y?LHRf)m<0{>C;wv?9g-GULf+Xea32@(pLK^&M#DB1=Y*t{>D2ewVN98%Zg zN0nY}#1j zF^PI)I!d#sR-@y{a`M}o`}WVjI_qclUv({qw>@Tr4AF5|4==VXE+0K?m=#LsPgJWk zYp$2{V7GH-z7lgV%$v*TK0(!Tocct^&Z&|88dpO{Jc?o|7%s;543VQ#3))Qr_LsBY zks@XBo6`FG<61+z+2A`#2`kGIKH%A|Vu;65DZ^KD)+`cCMX-(^)w*nYHXcwUa~}sn zk!)s!e(*D&@Srd><<>0idn{?Xgpt`k^!hTZSW>!F{R5N$OFP1_;R2UE@9j4)f>cR4 zT&+bGwIEbfs%%9nB3ty6_OH-^PL^nuo&M8>h_M0lf!!f$`@Rd{J;W9A!{AQ$S&JtYYHu>c*X(Tu99|<76ChDzCvfgtioe zbPiHnJXx?dKl62MVdm>a*7&+@;KqG)@x`}lSjRK@<|w66^yt(^K~N2w&qejiJdJg4 zKEwCMKN|)0v~TDkm(<2b6R8~c48e%HV{Y_zAK9-9sl+U~byE&sh{`1*G^Ga&M+mcy zhd}}sULOfG6OZpLG;`_j^!jz*cQ^l!*`IbU=VSiQoIv^G zP^JY1Tw3+*tZrBc*~}kPKz7iz-8_vhe|!(%q@>uE&uCRLY)dFBbF(B?eh7NgQZmEC5iTR?%<3m^Gt zH;Hp}na0DXNBJz_xZaQAkPwj{G3>=L#BRFbvW4p*zLo;F8Z03lh&0Zafb;fD>altO zW=3JY>TZx`?eKhEtQD*6QBietw?)t%~P5gh13^!Hl&1a=RJi_Z%|qHy>8JM zafehwf{?Sqx5-F+32=6|zvVHafat~jWbXK4bzxq0>?Z3>^6Oy^QHg=sP1hXd2MoiD z{7*SMVZV|Ie|ngFc3iMubMWsWb+dGFiYdpL!khEliaF-ugfDRs1F^MXjIprhh65=w z4UO*bkrILY{ku2^j>^=6oJjy_m-S$alY?KE!3@_mv+0@vM{Rpw0-mf-;=4C{*AubM z=kRLT4s}rQlul4nv}d&Nmv^lHW(n7Fm6B69kyb;0o)4Y6n7deQw6kv4p{yk-T;rJE zND-=wP>kp1+Y8PgdUv>7=yOpi+fsMgT8GsZMoT&$X4$wm>$wkrB(Tbdh!P82a@T(6 z87UHTh>qnMsa{z|m|_U98sf7Ym*)B0h2NGz1;7m?^G?T*l7(WbyX?3F>qJ+DGS4=b z$E#_Jfh{32TgP6Nm|34gAS0(RSh=P+gxkz1%)FUxf&5F%$j>L#_NKGm^Qdxce~?XB z>RZc^!?p8|mG7|c();KJ7L)%-z6jlWutd#Tx8a(&Vqu+Au}kXhG9^H)rd|5D z;YX+mdET({dgPT%dsgHAn9!W3>S6|yg!8tC8jq=hq0+dt3OuB10hz%FMFi`}H0%70 zZ`dIb6@=?C_F#c5S|H_e(1CW!8Q1g}zEJax6$WOc7^4FFL`;l+ON4IT`JqvBi zS!#dCK7GWa)cN`zx;cv%{Ir;(4C^?C(QjId${xU@v3-t*6lBSTZ`VOq4PA%K%xoO# z%*77!)>W8@d)mEFa9gXo=j*F~xf487I=Y~`m}9U${}ISo;DFyC z15Fb*LMbzcJm!mR78((_bqM#5YsT10OnT^klS?MuxAiG6k#jIieFeIx2Ad9yZ80=s z)%7tVF}{9!9u8w^LxmM9kmX@1GDRN?f0ab_vPjTU{w7BC_6n zMjr1Q+0=p2F@&}{q}TB*^mpMoy2|2MUElPOCe<&twK#_EL6q~IhNOnllIpyE7Uw3W zr_}Z&h}P5xzUTK?PwXbp2nElu*otB!QAoVsD|DbDr>Xjj$*8AP1rsMHB$1G~lXJcL zniX!kcz+)s^iaTHyv_9K=_7<;L8lry67!c8Dz9|dU-Yjphak$r)ie@Cft92C${d9Y zp>!V6xDo3;FwA&+Nl+WEiXf@H-4DWt0S#Hb#gWf zYHMSTxjnC7BIjQcytZWelKGkUi1o;UdNf1q3TD&b5y0BQ0=2b!|NT^m3F;c!&8^X| z^`->wyoe5*?T4v&&J;Y5FFkI|w^NlxqxD%Hsj<&?oawbnWF7IxL5eXdK#hkxZN~J@OE{aohwLpQJD8+-|>RR?RpoaP%W7(A$cj zt4)C*skktmt|Xhs5IlW(^pNi<~8HuHMFjE(#dhcL>R9$NuxaAgir6PP7`z{8{ElBP4Mt&Uor#PvBvH-2)kp ztcNT;xSj?}-_QW?Y~DR8DDw!so&m81ui&xH9Fay9uY1;L`GFLZAWi$erw-choP&d| z@HHAl$S1rK%9u*mo+c%xtmV#pli=oGX+G*f(i*P(^^kfox~p7E<2= zZRIhsmObL}H^{UBo&DW-=KtozO+uZ8on0P_G zV8N@-l_4KUvl7XW?m7RT(rGpy8gQd3O4Ux0@SZ_#WsJ`L{xX5EwpnjX^q1HI01opQ zL+7*K-Lu}~tWi?zJ(iO|cczc5Gi}D)(fxxNdA!cDd0*RruRz-1Wki#}iXo-vH>efx z8_4&FEV#XIdfC&Q&v|;EFujRwdzVoA5gcA-T+T z1N$e6-KJw+UXM9?FLY1viER-w}cK2rckYy)|iNan;L9 zt3;6-m&MfOZPP7b$6*mNdvDvpA>Lbgs`#Y?xPqoBE~Y2*prJl8B#CUB@sf0Wss?e} zTs6;T5#`+;S-AXd?jx{8GRrHS+x0=kEu4u2kr%~NSheVA%u8SPTyGn7+dAS3&E3ot zXZ$O{{K9g#ECa|TC+SOm?wvQ2b|b8y$YxK)B=f=DAsJ+M)NVw&@N!PZWs-dDlq6rh z^_+^149hEjqv1#JsXQWj+gpDg1bz+zes?}q{fQ^m!KyQZdD9&ces&fZ4LNfcrv@Ic zymaKE4$9PG;$n#0Z#)e&^9~@***+J$g|~CGEE=?EtA`)vwQDT?AR;1*6O~Y=n+l7R zW;M~<2N}KaDYx3t5xHr6IhJ~JiR8BvASnCb0ru+aEM^AU)t22aOx^u_dzTEiA{;B| zS8{^urz>>xJp>1mKTwhH(QquD?lONHI**I0j;HXfn7$Bld>zsC&__LfoTW@Mk^=ZA z^p`C)GkY<93}=Wx+kP~6kB-r-y+VSUEHT7QvJS1yXZd-JOm8(9?epz#SDtiQum6-C z3#aO{7sADW%MWpc8<#YEl&2!6FkQ`N8_l=U&Dnb=wb1W$|8{3x-OK1jP*l_d2s`fX z!GxHfE%G=$!((#p#S&DY!El>-f;q}t=_^28in=ro&FC?N6`%i(yJ;vNiRKBGQIr$f zI~Lp>Wy{)%TwPTDV2X;Q~|ned~sf6uH0F#Z6gRjhP0It#{DhSmX|Q;mpj* zx&}WPpQ9S*4F{*1wxmG%6)3j?!}#w%lPrUW`%$M|kl9o4cZa}DrI86J|y@hF30 z#dbR_DfrgKJm@gAb?tIE`&&Jwzrw>g`Ry(*y~0ng!MA{Zf4gzJvDk5)#B@~RoeEI8 zNshih`^&b#iXuK81iNmu5M8kH|JqUHCdSB$V%ck3!(W&mj~Uk_E2(OuHbZ3#I(c;? z9Dc(;o2LDBZtooT{8vS*FZa|Friz=k7dkO9XeV%HNkM*eu!9597!aQ+4XC}>uqJN?4%42JZ$s^$lPYa>n<~_Vk z#s8}+$Ops)D!=920w3&-+f8(glX_v|KJDHc73%ACUNax3mN$L~KW;@W)*$je`1Xv- z5}^#5)sM}~atU8_F}ikZ1fVoH9(&|XVK51>*hRA-j|)Nz++gR4*iri}-1n-roCPhhG;=2*{!D$nfi~CM z?+RYL1s^hQQUVa#6)RTr-{I=E#(B&9iPEdq0|B!oYkb_`$p0%eYBuBtr`0*PHoNu1 zn>XP^!sULAEVTu6;{!R_W_J*nHNWh8@Gw4RqXb@3Q$pSV5dsNLMpjiH z)f4%R%SoECGXQs^b{G#Hg(J$h3|5D!-d+d&;JczN3BekO{)WN`k6udYN{TXdLdjff zhKJ)Tyk88gugMh&6BFlqJa1yDm4R={zuVbX28|#dXR`hvDDeT8)XmD~P(+JQspnzV zyez!N3CA86(^_Ofao%$sAQ5TC^a&!wSoDDKLA@AqS2lYyz3pCPAp7USs^7lzP#dGb z&0l*L0@xD&OBL5sps8M3jHbFar*DyKFaN>!S2p(IlB0#S$LmFbj|A`${<;Fms{)D9p zqC19w;vHVFBuuiBtg>@SX}Y(Yv_On$$Gh8X&5yG1q@hAvNaF}D=zlk`=22vmS+Qpy zyBqz)__zSzIJ6Jx;SYOR8+*di`O(9{hXEp-xO9lS!F>B_7Xbqs8iEzqJvfT~3~B{e z3>BDk{zOi@&`RWFY=fvkLdOgme_GTKJO9mkHEnv|9L^YP)OtLs@il1&_%CG+j7^6F~KMnQBDxu zgxk|S6N6i}0rYs!NybCNNey8!Y$&E5U`V7`28+X06b;!*P^ZG^))VcK{D;7AzaANmTu(`bJsY%;-_BlSK37lFO9PtR$^ zh>u8!H?u=;;D6J_VaqAkV~6gCpsMFwiG5hCeW&_t%2VTC<2Ii05C1NGiNy1Se&W-l zA$HxRF8G!=>Ta{lRw9ZCR@EKz~WXJSFckV(B45m(!=g@~3CyboS#JEf-h3^L+SC7T zDJVGs6gNP$D)Tgmq=%*Iy)e-71p0vSnfRyaX|F<_!ykhO9^(kOLC3P)CEx03gC-s3 zI5&RE@gIn5{%_qwM@Cky-qHHLpjDUl>ThbpUFW0oxmBR!Tjus3s=iA5*VUOy2F{FF~Kpo)aQsx zoY03EnAEa=V{iMah&{K6pH;f-C&zD-i~avzLmPr}8prJN`FeMSFM7wRlB}Y*af--2 zkgAH~0q~t^s()j|>`PD^*q`X)xWS7-B?tqO1a73C=I4Z?G!w(nxwKm4slr6Rb;O3* z+8e;e_%D(ClAzA5lfAxqBaF~~o}SkzJ1}8eL4Us$SC<3>Sl%HP`@*Heg{f=ApYQh# zHQw%f9|-_V9-Vqn7_mN(n(OJM^=qq$9YXw-oo<%L`7Th!$o!Y^6!PEqXe);P4oU9z zGb?047*8)QkT!BTH98y87drv+A{s5w%I+<3;=Dpn3=aeA)rAOR zr``sqKE1a=zmA4VEx9ZId#Kd(IWPQS>+pvqMGHSiiYgaZBL5ZMUqQEh^?hhVK?&1= zq33_aT(GnIGPfmijg$tfa;;=KR!0V{C;#;vF9`cXk=rfWO2Ququdf#9mxpOlRtDhl zraRtxzx-y%u&1S}6qQzdUOz=~M;ZhG*#BRgB?ZIyfV%M?ElTOo=`) zE8_hzv5^^v2OaMlB5>eq$HuxE0wrwkj2m$he}bF!TfptP6;y@Zki*>%G3=uM8Eei< z;)BAT#;D=rv81IU4jzTAd>`{L7kc75=l?%@39}$rzx3;g)|+Z{b3`6-OPtCzKPlES zG1ukj5!L@37Y|6ov=Y;;#^5igf1_ag%rG7=_+^MlJoMMD{`^GXKM!R9InX4^XZ}6PKaboC03f%~TNKyFF`K4mCbc2((V{xzU z*z%zd&$B}F!Oi+|`(56UQSK@&H}Mj9asOY<36_Ozxm7dnu7(vIRW+2V683q$>*wL7 z*8+?}Y)@efl4QkCVs48{Jf3;HON~Qf?30Ia9Kll{udO0xT zm0`Vx8@}O64*Bx`CoQ}#*1>_ zPym-u`fF~vzC4+mm6P>$+yg}g_Ce%016wVxS-fpgk9ffspHaXT+pBynD%HrcWESRm z3FbGjnVtADk3^Fu=#Gug=Tc5t&a+QuV)AZJ7u&>C>eQR2R_zv!1S1M_7Z|2=V0UQ^ zBss_B?YSnLgez|6+h`6XannCOScs_}AQ}TMmk%OLRje#^zGGh%*szv-VRMn=avOK@ zLT)!b?Z|+p)8r05S%a|Pr209Qpe|uU=Ra|CO(GY-V;DR>>P746LQwTbb2w7!AMTox z(4(>1PA%+a$%YdrfJF5nyG7Gkr`=W7esJ_h7t$e=qBSetywdXR zk&UMhqL3mQ%6utT?yLv;%R5dJ-K0KP=T5A%X$b}#dgY#WuwZzI zApnXO0HxP|1uFk#I%s>U!T`2^>)(lDpkE~$N@O>h-@|Kd_aePBKT`;9SG{33jb)H` zkzd;1ai`}rJ3gH|Z(_L$nfibLQN(&3yQ6wDA|@=*G?S^V1aZ&z-OP3f%v`auk}}Ms zr*jc}h6v0XtcHN&$WSWx_VoJ+}oR_Cu?>*IPliq?)^|5P(Aypq`fB^K7$nHL=3RO<%_AY(aN==Pr*#x(DQH$QB+X_K1#YYivHq7yk z*G$5bpJ@>!_r=jl(lY*2%aut&wYEvU)f)Q{Y{5BBevoLAw&qo%Ks2Gh9+#AkiJyM? zbp;K$4nw0Mb+<4bq-kknL9WK>nl{U~;`+^0#b{USbE(z!=Utq_4>f|rrks^1Afw^^ zV|?juYnw!6@ftp{uQ)84KR02R((#ul8!;vuyotYJVbfblJc1kaLynI^znNpT!Zl|2 z$g~2hbWd=W@jCY<^|RYn ztAtL2LY2ex-!ol;lt4i!$@(Ka7Aho6^b#944j;OHlxxN%Bl^S52{x#Ux$$`lbTI)| z6MKG6juLKYk-n_9-4cEu{%jLt?YZ^@ldl{jvLiDL zMbd;`Nz2s6SA`9VKVi8#DTX!(ItZ^Bj%zXm;BppQ+*Ia%E}RQPW~X*;0+k+7%Gs-n zNE>;PyJ3>qk1&?E;e*=VU>dfQ^%o5IN{ArK*Ef=FAUPc{G#qGL6)0)Cj>P!WW%$FR zxuwWRrYyD8P3>%LiGdxO1h{`O&yv$I1>I`gCIM;y;~9I2qMYbz0Qu8>Cz8z z(ctjc{(v!^Nk(+s08`3d{NgyLA0WloQKRR_b@Q^$HaTcztkvYVCcQ>(1toA*tdDQI zy<2*=LCd`!OU`va@ff}@Q7cz_GNL<1DhUYJz;L|l29&RS8>u;`x&xl(g8-$t)=^9~ zUoUwMMqOTC|1;$BrohrcM&iIn5JYEDSs#PI+XllJNts9`n!U<(G!)@{cJ!4TF|9x8 z>*e`KxoWDTO>|}~<_yfb)F85HzVV*ayKMH|8Dk;)2A36RUvg`rpksXY(NRVhBcLlF zbj&hjX=?a(TR3At5^=dZPVYnfiXqb-rx-k4m9?Y`SjTk#>*LPHl!c&A3rces5a^Vyz^&EJM)S7H(`N7I-_4dbX#l~ znZv6^hl8sVMjMdksUG=i#AkhY16lDKYHibl6GLLx-6o=XW{^_2s-?QPrxQF0g6^6a zy;pT-^=RBaT9#m(!;cFbob5kiHh~4{2k6Fr(j4^DH5~Q*ZFU z+cLYUMShQfO$x}p;)YRFDSZmnfG>S2rnJVO@n5f-iUF1K_I5&K)`%MfQW93Fk%a^C zK89{6{#=VD%&8`@Q!CA+@L%pZj=W;@}9(Vh}HT)}2CcW0ZwD!3<#Qv*$g;-v# zD=QCV^!N%>d`Set`iNThZ4E22PPqNUAJdsdPJZ$p5^mtot!C*podP%up>o)c&i{z& zDjMfs_2R{$XQCf-1M)#S_7md*2cL$YS!2#yFzJ{0s)43*vwG@?qDf&u!6 zs$+jf=UCfY{SFc6sCk6nZ}e>(>ptY+JpqaHYxKuYt^af7x^RKCkB`TG-yi1+umqz( z^6;A7N`d{OreG*V-|((`M_#?V!rY*8?aT{Okis_@p3D-1;mb)EZ;$2 zA`QT}eza?GFeB2vMKmhxdL6GP;9STi{vN&fMqn*T)I(_6~hAdMiMv9Z$aJsXx zr9*8z4(JJ8Hv!yA2jEtp9;tmWI@ENolluChkpB>vc!Qi%#kUKYb6Kp_kRsLHhYy@> zUgL3gW8{MVcP7e%!_sFQJ)jd*EkX?FXtcYNHMA!v7^ zE{szxEH?Iq?r#}{rKM$erbbrp;PZ(YBW}vJ>lB9U*?FY8B`>-@G2UbOkpbGV-#7N> zIeAA;^FEVXL?z=(e)irSys^Bg#ox}68KVlBCkf}D+!yuhd8E>5Zn(h&l&&0K?F|3t zt9a0vc3=-;Sr9bUK=voR*6lt>ckC6XW9>S+iU$lBXkE2yLqb^gpGRh9aw#T=>oW)r z51d!IY~S%Za~}|mQ?Q>26kJOEVqGZEz*9P!w47UcGiiS8laKhpByM}Wn67|;fa5!& zU$i3j=@HydSgic0+nXvJmhU*N>E-BG_Ltn<+TJdhh`r0 z_a+KILK_R1L?gp9Jg+Ii=%-`ynFJHAG50y*7FA4!<0@!6Th8y&#Rb*0?n` zRwBr&7r_}DWxiFpKP;2Qyq}9cO|pn(6g~*0;2@9a#}US4+fIZ@6o_eUqxwC|xPxk6 zMoR5`BXo!8wnEeN2zeBc0#!L~vK8|Mr2fdS5k_P}t-%aQ8GA0Dxj!bybsp9;vNiQ zQyOBlSY%kbi;!V=_3OLoEb(|u?p=8dYp(U=aH|btVpNsqEtv2Loe8YFm=s*d%V`&w zNrs+7pGM)Dr`@#koYTDJ^n$q3yX)5hB^nuAZ2HBuDqs8^BR4iR%db-d-7h7lr6Ma> z;p1+)G0u0@Sa(R4p3raDXZ~?diccMlxX+%H3VD`7vF-^$r0*(FJaj_jkG%fk9kI_;Vhi+qwjq#utpY(*keV|ee-wk_0*1EPo)pj@2 z*~Ib2xyF({SiAP`&E-{X$&GpJkCikza3OKYE+D52bT6T3y{{||7t}DFt=f3q>n;pF zcR&3$p(1B%(tJD!QolWX?Vy@MCUgUa_l+cDfctb#tR6lp#nldbW^5b~(o4aRZ4dq1 zpMG}v%G`KD1ZdXCOm+=uE?3+$C=xpcuIG+f>*bLd5vpLU?(<-D|C9Y{)n+4u$mTD~ zpzqwX5?=ec9|Y2sm9Vb`aI}G|b@j=pD}e}xC5yopAn3Ys#GeP3EDOJ=>{Z64%~G>5 zF;>8t2D7v*j{z-KfSSrVnZ6a1ae`6XXfSF^q5I`iNu@;g99Gy8aLl{klsjHmiseY? zr1{;QI3Nnz<|rAUAk1DQBKOter?UOk;dKo0R&^nVkJ)>Z>HwWlSY#P+mxpNcSk1a|k{g}@c7 zbW_(B5{6FpN^AR+y^hp$Yr{@=D~4ij+a>4l5rACv2f+>)iSF*#z$=Z?fDWO8G>UzC z(3-Gh{q-&hDqv1_?qrSnmnW2AtmCiLyeQPUut|Fnli~Z*pxbO*40t^@KIg1jk5@eb zVYEabwdV&dq;K?3fxfXtSBFzzzX$mlfs`Uf|$YrBTIVt41+Ow_+SAaC|^4dj=1 z8lwD&%~C$o-1`25V|T<>H|HfTnS2B2=U+g+W#N^?Kx;6#BffnqyVZbzTHoh5OKBk! zpfADjo|~11;m7oE^gL$GSfxJxIoe$gs`~Tv2GIDkcN_TG*f>znnlD~7RA~0W=MtUC zvQ|yeC+3_HFXsU4MflRljE^POoR=!_E2cw!-b5OLKz@C4Tmk5PP+g3l1BPB>{ZZBkNcN-4A2FgZ%44k0-<39L=b%rN zwidrJxP!rb7y$Wp7?5vEhROWNppP3TzmI+kYIMV+iAdwKp-(@dff3{+ zF}mOLNoJL0CRC?ROM;k-rfi43!;vXFZ@CRKhEc2(*TdMfIs30pDx!ZKY3?4@n#sL* zzWWTV4jNCusN+#dDkj++yhJwJKPp!k!31hdrjlI-<9l+Dje?MW4-V$UGXXOe3M?ji z-q7i9zGg!A6;ogw$&V93(;V=k?90n!8>y(hO5L#iEh!snX{_!}5%w~OdpVYUsV(d5 z$MK^Y1$4E~VJ2GWUr>_mSB2^sG#EY(OlqcifQSFf9|k>BZwcd^5O#6yuZh=T!rI`2 zgtW-r$Ts{?X&E(6JfXWJ|D0hIg>%csq4`MPXG&bMWt^U(6|P_mAq&&TO^48@S!Yb{ zjcmk&Okj?}95R9BcfcmYX}#asQ59UovB5XZ9ZfmGv#L_LqyZ(*gY5s92t!nV&VZBM ztc|c3HTv(^;JU}Ua5e0PvE|~gvVX^({&(zK7}0k){A5BT-A|l610f{S-$ylr93xUB z8_v@bkVtSQ^Y}hlse>giT#BB1P)W!}g7J0Uf(Vh@p~cHf7E8_3oWA2itm@=#aO`6} zpd0<|@Dp>vLIVUq9u=sgVXobyeXhJnSr6#5r|`eu7}+>pt{-wu7uy3+lfuH+cO4#% zR5DloIgH-lOc?-ahLU>qH5NmBDkRy=zlZz(?}rznT1#|x%bngw$|v82{@;AO z-<6jP8~TiGBz{Sm1MvF&zFfucjt7_yDR4r>=<0czObd4#tgB7`C-LF`CGjfmKQrZ| z;l=j8|Ied8%3m@(#5J~YdWq?GM_=lpe}m=3{E9;LM8yvuw-fO7Q>`K=d2p~UiUo=p z;OCJr+7i3`P7F|-krsxbV26f+l$EcRd@_a-4H#AU_Oz^lTU*3q1e*=j9iup^>UWg< zpS_QJPeJt0fZT3!X>K>WuV0qDhW{(--?_X0_qn-(kB_8VUF?dq+P?jJIDtC7xYq=j z6W_9yzJS!EFG~L7O72QpNpu|mWWdqQ;(_+%lc1l|zzLZnunOLa$tl>PfP!O^&0NYo z4_fu%Kf?zaL^db4P$gL z;0}y|Jn#zHzud?1ovk^HzuXRG>6lI!j|d`c$X3;K7SFoLSVW3lA1b|Lzd?*JsBbNMNi?x*F1_r-<>Hdz?RI<^Pi3c z{BIpmOq^W55mr&$Z)K)}8A12<_JFU0=BUE)PY>#r0vs75d{wb1b`D+I*8KK;+O@J?XET=3 zJM80mk*WKH|4)B_oI^I_({lQK{Wsq@hYuH-ANjv?hyCw!%l`9Ho2s(C5W&f)();x% z;H6sk@;gYOoWq@+kR7Dt5WvKh7n9WQIfRY)w*Mac?tee_5wgBkSByDpLr%CCN)#u< zP`+IQ9K3n1A58`6i%3m)QSz%ewkG;lgg#}EQvV=|^7jEJ&n$WKds47~0>EgO zjUdf97sZ;+|7-2{ksj>^yD^4q?^V+wl(9|)XIs2p>vgmm=P0fBDCc6Ok^o8%x(6Hl zUPiIU0%?5fdyPYh0ncf$kF|p8J)>MojMe-sR~mflO@nZisFJf_)^z!L*%EthFx4v< z$Y1+3uj`dDO!ba5e}Y4|-yn2ikol-l6fb9TTCPWvADW~C$eM=M>4%u*bIYQf4;gA{ zmW$mfB@K2r9&2cXrz$7p1_C%C!gjpMB}QVRU_Iw$*6k?N|Hy7pC!?muU}$Ksrher{ zkIzyKLkIqRZ$8-iBF-LsW*qJ+Rz*k&IW=c8nbid|_x#2J|I%&T;LogT;nBlaNaq8X zfXbqsY0~dK3kLKD^7TtQL8wx^XL^UcVB%w7RVV>LD{PzGpHmbsN3VYoH@H557y9-? z-r*yiTUdXlOzLGi@OWv-oHU$c%wAF z{+SvpHfo_&>7ev!)??3w^}ejgy_F$K2bN1H60cSaLb3hhBJ*?b-!d~Y3RWwavDiw| zn>X+g6Dbxl+~CgMwzf6_Co;hf${BvWuUjWh zIIoRe>5aqGWy@wUwN8cP(25F7t?-ZK1O+h3jJhf?zO&y}I-=>Jsv0spyyBJ|@$x<6 zRq(!gTt3+1urH`m?_NTQ7rD&GIoXfCZW=new%Rlio68(4(cT}0c!(TFxQc6jy>t$G zvtK+hS95S#WQ+RpYo?t~n-=%R zHB8Jsem$sLhG%@SRDb1_G0>JQ4q1X5LWekEVzXA%)(mFi0!V@VO|-`&Paj@}{*{+# zB|$*FxX8z~T+$N!q&HmRux&Z!T<(32fc02~2JS_Y@Bc@w0xqYwfyVF(rdAm}t5>t{ z-~9I0pz{IfkZLE+hh~MVXc9me3CbP63IOm$an^kepwZ$Ha`-Zhfdw;@hKZCSJ)!C@ zhnE5KD9D{p-5Yh8@Z>0AeQ_;KYgp$HK!fV)>ZVo-X>a*3AH62fi1oi6aZckIR(aKT zqf+kY9S-o$S@zHVz*b7`*MlpHHSxR*aWE`TZ&Ve2RHO38!Yv7*vD`1X!7d@f6N^56 z|6%|C_9yB`csSTOH? zvQcR#U}2wtt&+qkn+@|dqi;ApfV?#sFWl!kU5aN@g4@D42)Jb^sf+u3jcs@e37C6N z#!d~AP=ka&sqQUr#IjH2_@&naQ;`zKD@8H4%|GSv#gRZ?TsA<9&A{)0vZdO(dbi&w z;zIRYd#zr&@#*#(tk{wNI4dOB^85t~~I>7jgGZ#`I~@Idg^D5Lk~ zpmS!r#z5;kQW!!v4AcTE)kbe(r1p29fEuC=91`?Y5z_b%kLj28+6*!76{wfg=BCU|HXK*VUzx8VorF+ z7eVFi`Obf@2O_wKs@O9IU>>oPxBIi(0Q_AYET}KxHG6wByD(OHvxJ8Ujk$y0;gw;v zMv9`}<${1pf?feZ81Ue1r6`tLFwXCuTk-RnZ)g9j39V{hXc+K4nf^@nS%OZTj0&>` z=gyRgTY|jAi@{qjN6YxQj?R;1px9DvgvmREyNjQK(NG+}xF$^3W;ADhgf2uI|JQf# zuJH`<{oKb}xkpiJp>t3c34RZ9-1>mab28!sK$NGG+DxPN&Lr0(s9m6c{z;u4E%pHP z1K(FC1mgetQa4$2ZsOK9Qfi}hes=mYXjvVFeRByWZ2)hE9Aw+%s;E-Di2C`#5S^nB z8#SDdCwRMq`fm+|K68iPBIN@+j44{d8};h7YX0QduYua^6T`LJQx8k&*|52yAYypC z`}^@$3*eA$O5ImS1Ik24*_ukuaDG!iSAxghllJJ_O~6zx{KFDHU_1t^{ymJrWH&Vr zxwxNKWmK%a`L=RNmK$NBiOfiSf(Jg{#KY?Mp3GB7@V=Lycb)l&KJ7_;R_dw^_{G7MWj_cXSA?GmVVy`tN3%hj{qTdSC!h`ytuAAh1%}sw?S{qmTU^ zYN${!Fv0{YfMe2u%;WBhLG0V_Iq8D|JKF~s;@-3h642%+$C$CY{hD(_9_;2BYVTmZ z4U5(WeW{+}dG~SxIc&{UPt>ctnztnU%^0*tSn&_~*ZW78nTz^3d3lxl`ua*5?fD@O zIb~o7y?AZ-^)%iBm_M66o;RB^C|r4n%mrZ?+KTtO?{+(eQi1QzZRFT-t5uWNv4@o( z7fZ`mzs5P#{;cJ{>J~7ek|VB`Lz((UI!fNkSE{|TZEq=pM>myIEp?D-z~37imh~|a z%C^j^$)6^X`L?n5-1$=WE8Zu2SIGq7i&lG?11DQ$i;+@LbwNTg`0U{1?dVj=WjWTaa-UqeEYn2Xv!?j$iwsHSrW8wQ& z5DS~9a^rNZ%O44jzIs>|IdFAfUnEUZ(7-Vp1D2t<2``TtX7(xy6b#afLFMHYS*(-& z$;wl7+{r2oJN%j~F+4`L37J^ZL!T~z(n4% z0Zz>I`c^vLESrR%9#5Q;>~D$8)|@-7wur1J7nC%z(ZUO^2N%2hx{4kfXBR(`fVBHQ z5v>+OjqNeB-K%#epD`QNFnE^5A8~F>vzE+{6CLr@Wf=5L`T8i^kw&F;wFcTL2@~59 zImS6nhEIZi1o*s#!f>7%#>PpURxi`gSoLLUOc@yXj+QQzxX??4kva|r$mK^-$UL{u z`cZu&tSXH!^(cuBa_nRX3V~MbDMRL;B)Sn&FJLAbAUn+sz0)0`1Q9xrWDan^t^Nio zv!q;WLa90)G%1(k!f1k+nHy;2^;^u!ta}k*V=;{cMh5x>*@m?S-=qQw_q%}vVt=cL zOE{N9V$UX+ttyu-&$9_AE?EGHJV2M6(cwOw62b?6_i{dN0C4GMOI2%)qaU`JtO#GN z=2v%FWOI1NCapHq8vy)KF)CR&IKgxco5Ts)azo@$@g&6)l>M z%VYQh;P>Z4LPA~yE<4@=hx(w4`={J)-tzy5#A@iXt;pI1w~6EUoT;>+^}Hr8j}ok! z5U^{F4;0nytWD1XeH(0-&4Esq(h^1#F zn(dt9=R~0kp()eaHs+82fDRqr%hVy zU|~m4DU=6XLo;=Hq-UqxGs(E-3Pl=xjei@J9+wUkh!uLORbk;L{b_Z+064bNtNbr%Y`_@GSHxYL@hi?J z8oIi=Ws&_?_s48^x%HhbzhbWpKlx?4=K4kVf^HHIDA>Pa|HH;wUaO*`Lpi>;wi>Vi z`^7Z|ELE}Ff6VIb7^K!++<)$*M(%kQam45*IwG!69*o>hsW@a_A7(mVt6c97*D|nh z)4K;<+jXb^ny${Ch<>sC(QjF~h35pnl~4DUWB60^;tbFH-lKlw@0_J6TQF-hDM;MG zCXo?!@<4U&Wyjrp5pV)-p(~KT{k-5S%>(F|k_B}&d4VeRYzBTz4QavMj1(464&~R8z0=;!T4+BA4YUX2jxeNtcfKhzqOS> zAddcQHjVWm?v_dk4=3p;Y|rsN(Z++F#0+g(bGSt9JkRO!dyNvO)BW0W{YV4XjMdkx zgw0rI20`V9m&?{`j_rrcBHz2oI+U-MFuOl8Ob}??D?>;khw*?P`&t;WJ-z*0BB&Qr zHh{7BUg~eZnY$vDr9hc`6-=L;N9+Vzzoo#qG8A$N&-torZ^8rmSE$MGlrQ#+Ht|Jb zTcFLKC(Y#YYp=`^&lDI0+o+X4#-s5P{syUAkoeK_vdG@6`(|dz3#+vT$>%}U_s}7k z6?+mj%DW0Z#CNun6_V@)^aI}nNX0hzM@9XbeRNeSG)g6&m)$o0a;G#qUD#O6J%c&Ky#iXE?<3e#Nl z9Ie1T4lmP*G{KL$`FLxXgl^~J{`sWO;>{h*2P4!_V>w9$M7F|}67b-q%sjvD(m9GZ z)zHPCT&*MOI({n672Qa)-F%n^9Mnj`8`$CGN`)>lD#fovOGVS&f}8DG45b zqlP>ZHC~urlI2XP+3O~+kyd6LnPh(MB$M)YMm889k8_T{@xcB(7BB8VdUB*zhs{ZX z+Nt_$)ue)UyYUuJ~~=d<86pLyV;_G~D>!%P9j#qW@Ld_LiE)HO3(a-;Lr46{Qos*WBV zaI7U`vHHwv&X^2yFX&5n-$#>|rX$U?ug&~DBS599$6qDbecVW?0vSvlJ&u8&b-N0` zpFCXaWJ|Vuo?t(Lsb;5J{_oru8^;X!{Z=yQ-UOk0V}I3hEwcG#Y593^&w$ro#Nmp? zl)a5g|5c+nRLj;X{{mCZ&}hY5GbF|qDber5)%pa>&IK-T?#(8^Bqe1Pox`8gB}`w^ zgXCkB0ppb{-7%uO@e+M8!ArkpYeu@qptkmXN=iyg8VdBJ7hG2r{wdBm<{UzB1F=(; z-~{&0QP-M}w0aS1Jgp*#Y>LMOaVJYzKX)s0Vm=r{af+WpJ0K0~!GrDB8Nna2y!f+Mre4l1oBZ=Tnf5lyK+fT)9}#m-2JYkIFZ=W^L8P?cg1SX6 zdZ+VcqVDHyhB(ax?6YkhFS8^~73hodp{b%eRm`gwfADMSz)3}mx zCCDW-!f$BY@zieA(BqoSg8hn?mCp3MmQ=ga?H&f@68Vxw%kKrc#Zzmq_1wAuUnE+w zw2q`R)aSVOWw@KSFd@972QUed9X&|T1FV)YQ+Olp!8W%RgD8W9v^~9chZe_UvLDuQ zp~VYw_&4&1HQRsPf};OT{O9GeeGR;JUqfzOJE8IJRgY)Y8C!3)zl?pgRO0ER=kz;d zlKXz%O{=J)J!UiWEni-;TI zfm?-X^SV`vkzJA4Lp})A@|K5NrUo=t9S*;_BeFBL&ay~A8Ib(F`H-Ib+#Sb(KA#&p z!Yf0g{f}?W24tU(@hUt*T%vR?H~!|nm3b_>=sNw&A1Jt-yu4UOf}9HG#?{v%_YLJ? z6r-?TZD|sXpB8w7&Q^L<^`a8iaxl^-r``C&wRpUB;Xlj989->JKX(tY>eJ(xt;9%Q z%h!hTnxVb1xEz$6XkX8N2}osudHFB68t)?=(7Xoc`JzYNOT9FECJpU^6WkymTkz)Y z>`}mjagRmTUqlPq#Ao^5`X9GAu`)4v4Mt!MoBrFwtQG4O<~|durhh6R&4*C9yr5RA zapA1}3%iQqPNF&FYe?}=)E~`E?1cJD;0DX|m9re#c)m%Zfh^7o-~J<)vL{tU2kGIr zs}(4uG+gOm>K)R+o#nI47H9Bdj?&r=Y?!JgK)s>!c0Sx`@-8%SnKe&{n8H0yb<+hF zcLTBISj=8~#C5(Zrun-bO9;40^o}AeQ!7$p%C_%g>)~yf@U)+Jci)^lalhZk)Texq zuMLMQHZidUrhO{1z3cM;Nrf|Sl^>f|zcp>wqbS%iT5ea(F}56oG4$%1C*t;3L8A$P z++Jtfwg72PbsM?zYK%r)hjqaHOk3Gf?J`a%f@{t2YD)1JMayUdC>R&A|4B^Re6?4y zJf>802^HJ#ki1mNa+EY4_ygPbzfU=MHq=sRK3$g>*j|P2j;eDZuh@QI&npg4-mpg> zsAV-Y)(rOKVYZW@e{baPtv`fORKZNAe!k~-+k3%#_BtwiQS?+r_*t;|F6T#Y0(gqN zplri=&YiCsu23b{?C*W#AJBNSv!(yyU~essjN;!k$t;Ou;*Xw?PdvH$hp$SZM4$Gv z_n63q;DdW#=Cc3bp$1cu&qm*|c%1LwU?kzaG<(Zpz6LZNlo>v;IPZ=|?;D=`Gv&>|5ih7|tMZis4EN{s zpWdzHV*uAdb_?xF6{vOW@XYWck|gGnIuBVF%>h+#%|8Xsp9u}`))Dx{-2Mj-E=*Q7 zx0m*}!*@w+fVRz@3WNe*=C>2jhLtAzmX@;mrq=1Z=BUK+=RjgDp49IMM=H5 z;E|X?&z)~zTfji|c4v5oFY&%TX#ne_7ET}7rw8KSLXN)Y%g_I=fh93Tsjq?6)56@) z<3JqtI;LM>O2RMVeB(A-HKff44<}dc*k$E+AA8+-NP`dd9G+O6-|Unea4E5K06zej zm4D&V##v`7nfH|gS^^Zt)fIX%^xy`AvRF<@WRb1&jBft&*;Z3pv(wy_nMJ0{(siBi z(*$iEv(B2o^VEyPkQ5}~=iibx&-aw?osav|0h@9D#Bo@iaP{9mGsE?91I#cf$XMPW zGjSIl{0a4|pQP-F&8^$OqrNr>Slji5&DQ+{?rr}nY^XM{1*dtg{Y$7a;D)x|h(Db% zKWRR*T|ZH7_U1pk_w%+X;jvDl>0eNyNw1G{&Mi+_fQ4Wn({(^gE;wr#uCES|C6D)A z)TE{GRwpIzTXiSabn)3P#Ef90kT5vU=dW9PO)eG|uun1M`>d0@L|t(&=R4wVV6f^m za}?|WEM$#X3T9#s+bRh1P+)SNMBCeZFvyu{n6EaOW|7C+(h)J;(05SHZ>Ze&eY2=Wu}Tuk{V&Qji(E z(m-V#X5QUn)UtAY{5uhrytU1;#n2y9+S}-i1x)HvZeR_QxuW<8$ zz4YR|#Cf?;E#G2;FV;Z>z<%YzOwUdZx8l~F&(Hg-4n)TcUuPHHPh4r(?LPlJ@RIgD z9b}e;*AjOxX$)*Al$6LjG26j|S+5gE<_2#IXs0Zav_XR{Xd?pqOT6+vNdJ&GM#LT8 z@vClN1U&K9bK}RwzrSyH+Ku*`d*bMt2xpx$^H>M1>UHCe5 zhyy~{=`De<_mnAV_m?@oe|pkIrjHDMgqD2pVOvAHvoCMoec+W4cY*frVo4+ zy#dum=Xdp>F_d_H!Q&Rr`my~8?mI8_Tex)=V*V~`E+O5YH3GB$zP`uiPC#7obB*-6ZIiF5oB zb$GWT>c+y2k5HWq3KDD%FBK0DAIbwA+wv(N2LAC6z%{+Yx+XqBnDACJYpAi@U2!L` z^>4O%?F%nnG%(>G$kh>u#ctFS+&_Sle$a;YR&B~09^B^4YwLnPSqq)56YC4qnL3q#@kpG-IuuWI&M507q$Llqf*GI!!%Dh-;1h^>k%H*ej9 zz0S60J8>e94u2?Ef|<}GyQPj)3F94kruAVvT-%)tKL#bQYYt*TM9yezcvq+J{FUi!iVt3bFT^Vfs^Ja@ z6^Ehk;CX@^+^SpeOQ_ki3rK;fynqP9ImwTTP$Kt{=D9?f7eC^)!KaRk=tP35(R@C- zH{Z<{@71O$#c_3tA7@{tqDoOv#JI#Q#qBjXoDBFH(7)DGy0`k>K1k%R!`q{9wu$4{ z3qNqx4BFrb1saagLAJN+0dna%Z96Ip5dRyg1sAcY$jox%(;7)D%8SNno^6?73wsqG zIOmkxE$jg8Q^1$mR{3T+Pe&PyLI%TYkEP@Ejz`Q3?;htH*Uy&E$IBn$wP4|gWCZdV z0*Q$cdX7V8i%fPp%hm_O{#(&%Ts@dpwgNSPKQ2iC-xVWzp&DZ0&uSWhLLlh(OQMW* zYg5?t$Be8S%$HL-6g*7-ZQO>xpixM?n!|0cR>OF`&wWEQyawF2pZ#9g zjR$~P>h!gRf3b10()h6LqQaB*f3M-p2VVbx{hWi=MGP;`)n%eAW&7g%}ps^sYaz4ll4d?-2AoyA!W zAt*4k2R_@;<>rzh@O#>epbtv$FN8&t7rmDY;1w~oDwZJs61Jc8ftok zDNnY6d2cq*w5@yYSK0>&<~W2uz0kru7spEVx4|OEoE#u@VN!zf4IV?M4@s}Pb=|{w z?>bM!cX6FQfhyCOpmLBu>}sp{m-*e~BaXvxhj0)ltbguWqxcczPtOAvnB_(IloK8M zsLKy3d;tZ^O7lxCFw|d%JriP(cXO?f-rL_NK%LNe+dDe8g5DAP{)CrTh4h#Hinl%y zZFza34}U(rm{J`72tSJZaem5^3lkdbEvJX^%MqN}r5iJM;O&hDb?nE8#-2uoL17-&;PSdq`GMAkZRU`*HOaXK)$~`3DUq$9 zxOcCk0@rupUmZDJ3!4RAaY6Zs46A^%5TD>7GUJ4s~E`dM?IlcB7tjVtyQ}&tVAU86j$|df(u1e7}ah zK%0AvRncvXIrlW(osC~)b(b3h0teLQg>{>KQD8!kW3S@sAFi*GDXtEOI$qyHb!en6 zB0JJWR5f^$vQ!zqU`LV24iddP)Cx~eEMM19d?1D2zg)J8);R>h(9C0}#^d<e z=)QgDa6y`+<=-)s>+jMX%$H@X_6S0Hu#V_uSHJUYrSw)bv$wj2hJ5^|qqUmEt59@d z#TzEc2!1)Q#V~YFk#*9i&dJ72$MgJEHA9MO?&rwJ$V>NYj>pymROK*1S+&N0TptAs zsf3xf#|X5fiLaH-e6kPXopIQ%wS5!or6V*Wav4=8iT>H%&i~vvZdPEs+m5m`C>|q^ z34-TOa+jvVYnE@k_xVVQihbgsc!1Nj)pdDpP8A#K_HO)fpOqPMx$b2drps0ax3h75 zu%;XPMWT2$y)%lBmF|r~H2}ke{K)##V-7ZdNtU#2#@jAoCyU4Pv;R)>S2-`-Q@JL(je3v)a>n9l zX^`AjEIxe#N(bLW)~SSmX0udg{8K2397rctR&gAP2X}l;IkN~*B5N+J6DXD7aS{*v z;`GLuj|(!SeJWs0w&QtUTzZAdPis3jJXsx4b!l)96J4`OLk9O@#+Oh+OM4@6mO_J} zwtety;^k;OEcv>7_H&p19o(;8*nElLJM*YvNu0zJkjT~2e`7!ta!ewSN@OPW|LTP( z7@NMZ&49;Ja{Vm(gwW84V)`fVAUu#Yw@g+pv-Nf_&fK)XR)#3_YRH7JERV;_N_4eX zqL~$(%$$pnK!THnJ;sv*>Z~CrdC?Iu#-Ji2+166Ce~XI1V{!vn#m^Jp!m6y}5lq7) z*-eYwJNd@^SjC5q+z2aP@s3L3^pD=1cn@Cc^DnH4aO#wf%*S;@lLx>xmu5Uap};*p zD~(tsL|Ohcq~xj1pE8QVa-|L7l}cA`R0hp!sGW&WRkW1UeJCKd9d}yq+$+gl!g}?KU7vN+;*?Bh!MIwCko8n zt>t~$e?K$3ZLU#i7!`m|%l5d&IdI3#GVnfQ4;SQZ_~3F8nZpO_Pmfl=s$>CKYU)$g z=zn+r5rJ!hr3jwmv&n6R@;+Lp)mTeNT|l6(;8zu!m7WanoQFj++?_Mp|6Rfcc{~yp zn5yUTIF9+>Q40ntTvv?}Q3*#p{2MlH#4E88kgxqn_IQa)gQ2p+&%muK z*#iTL*{f{5;(a#%Z)Kq>^#ZNRb&R(iOL@nP{z7*xJ#xg z&xa?W-*sucg`9$ONqEVx^^2y?oEuWvWA-s37TK zi=ocJK*cngm9(i$EB3=Trt~&Qrp`+JVr+Wu^I<2XYr*u#EON-9RS5EOvocVj;ov03 zTNyKA*L&Y`B>r_H9r)D%0?O;jC4Bc}U^fqFRE81Suc zFOqd#oi|%}cHSlMW$n&049LZO`MIdan>&nRtv_363DCWGOXGuF+g|5yM73(gcN>KD zrVv-z;?mzAa81cTV1OyQ{~Ygw%j6PUK?wLu|;b<`sqdS zS$V`>`!~e)n3O;>&MSrVFMU0;`uK^g8I5B38mjzebPx5C#L>xIe%_yq{nBgC-rnA3 z@a~&{LE(^A)}{e<)xl48J(sz_2*9lt=HlYwLeJ_a#e-xLR(l^ z$kufJIxMi8R|0^rUO6(-N;<2AdH+qmTd)eR=$=n(r-fn>p&hw^Uid6K24?x|13GP zR>{ZOmNVaStiu$4t5d6gwlFYzWfg&3CzTXG88ERDA!?cQ<%S~#$svF*Mw1mFz$()Z`b_)=HfU)^(KBu-EA)V1ml^y{tL(s3#SD+vrd=QSzDm!GqICo@v?^(dRRF;heA#r^tyBpe{yEwlFi5W^l6X=beqSx zop(X2PrYT~Zr4e|Rukf0sJ86{p!yN9WV2fPJfU%lYaTo*{W0dOV7ZN=(Lr6!R*IeF z?DP}z0ZUbU99@LE)&rl3t&rJO>rykeIZX9Kwo&b^lb%#CRAY0y{lY3KibaFQe_phc%p-Bnc&$5?H5BO|v zt+!9lp^OaS550;M2nW_L{43hI3DcF+pRbH_TSxWf0J#2>P*Q?@u`usL=Fb{W?qY%W z?{#ZISJ*0*=xCnf`bbZr;O;!s`xoIqD1=;=qGkv58TAGDwcp<6fpg+tI269@Ht~ z)KIr6Dq3Cz4&kAc7TepPZKe3x+PMXM9A<(YuUQ99x7XD{B1u#jDWFmK&pqNYt;$;G zp1dXZR)}`5Vx#!*LR{t}^?2q?OL>A8n8TN=9B_RiYMuSZlQ_gJeoRR=QMo3hI!c#}`lYBw| zSh)m30Ddxi{^}b`i!YBqkDF*-B}0O>K!s9k`X@0b6Gd6@I|AQWj3QCzg(kxL2mV_v zl%%1VuiviHf3hIkKqV@_$hvfrwVg8t{XQ{*thu7@8yCHV*mC7FmwJ$W^=a5WTKrPD z(&mVL7aLxQ9>0c&&;BDYbmV&V@p@J=RALOI>){D^Lf2rd%v%IJl2TEE?7y0GM(DiILB>@z)xky**y<^owuHRuS`I!_cko`YU1)cE7VxJ9S@drQd#4}_-p?I`c28Y?dJT;*y z$-RKtGTLN`bqiCsXOtvS2P}*%xe`XQr>Wf0ICGgM2358g+f|$Y_0|~la~x7t|Nc+n z)Asn|ve^}SKo&R=^tZyf$b4zH(4<@T_s+Rms=$6Se4qHF@N(iPdf)#lX4gA%0h*I< zb#%Yy)x7E{iWI?2#X{1^%Pvy?-_%8{u+~vIrhsA{Yzn+&febVP*nHZ2@Ap}h#1bEj4;+tk+vvr(43&E;oc73|m`t_=@MWgJh zg)0}dAM-$oX98pHlKd%wYMZ%5(zFn%J3c_NZFh~IZx zz`(dxEd~5P)IVr567#4oyk?M;IAAlUimbpHwmR8(oo2w51J<%{g#RG{2|a>Qch)3i!X0mvTH(@s1a!l z&_esQhrh->apLj~Zcj*Y#Z(P9&7 z7X7{&L6#mQ}PsVH}$G7h@fBmHf1Eaxm$`s`0%&Scp zNC0D~dBm3XB+qL3n%`D*vLN&V@@6^EFq*PzKhIsS#p2Y_9JRW^KD1}ngPs83Ck5B> z%3K^D6>J+=g`aOtmo$2;K3U>V^dl4e3%HMOar6PNH8q))jc)Li;^(E?l5Fs3@3~i- ztCYA*@t*ADHM+2lEhQlXTaJ>`*?bO+VR@pO5QgQi`8#R(ex-H?9U0HS3zIE)Du3w5`zC>)at86~lq#5tL4u1xvoNMvAqo8!(x47Sl8th6Gx;o9> zp<=4_>M$@DyFwipYn$-kZ}ge<6#dOSEDITo6 zH@C)}Gl&XBfk^t&AGO}czTpqQbn7}c0@q7(a%3Gks^B;tfhV(pi{%MwXeBNL)zOBQ zt9U6qZ8)*8)JnW5Jw85mIoV`P_@Rc`1r1&P*(^Df^naD%fmOmt1 z@<>OV##Iy*UE<3d@gU7Cu;eYmSXKnw3z{sW@_17(`>}(JD`rpyYjPFM=T}s+9A&iR zMf99PPzBjU2ZvljBul9=NU~e8wrZDJ33vz ziWPWp{b@oIFdA7__8Di65P}L8({R5})R;Qp{;miI=vCO$@7l1_aDe>5cz)|uh?eiq zhc>=`IUeI2!?>|%PR65W^c>OT8U6l-6|aGS5q*UZ_-0D*hsUK7eqswIZYW9wv!MyC zFQVMLSMmujh6eD+2E^gKZ`t-V&jN!v*BMYqBscVn-%0e$+GOBd%A_W?$BzOdy}#wz zv}~!6ocNJH)L-lRiEdLZVDl}$sGV!a=!*0X<&OZYtpP3~86(DD8??n z;K7Jwsd@WJdoS>vQyMT4sFuI?^{be~HL{UFf@nMHmzi|;gladYofPelQbADnr9BO` zE!iP&gxS%cBL9O%^p_#_{~pI&eoyAH=<&m4(N$Ve|GAiS|?9ReUCfGgZ%<}@L=Pkmu3_vY7so)!oN zda@K$+zcMPe5;S?@x&V3%!w+MW2GQ0h5>h5dlr&nN}(g`AQqtQ zG=M}-({RSSb?*IbNul9?)(k|`WgrzLW!i$>O@!fk*7H~VJPWtHHdOVoC%$?gV-aqY zJ`?h~3>gCJngfdIqgdTvtE2NV04H@cgHD6+p_6#t;vZW7*0-0aHSPc4o69dgBXTyD zOP}nlnhXFuksuBKA0v#B{?rd0V?iADMO27hA0jMIM4~0O?|^2ut^)W(=`inh}=qga<6ka zIx*RKG{;ZIBNy*|UpF$10gT_VlZMk~DP&eIfq5Zg^ZU06pCTa7Cm}OHa}}WGl-sb- zEz`|259@)LN@IcXKbf#mFrbW)AY_vlG>|FL;=4oaYh^199NJ>%>C?}80SwGTob!W% zzgE7x6`)s7i`;_e+kU1DijDAef%IZiGjJy8m=D?GxgpxG9%5(qAF%v9G^=PHd>+hG>uod8h|(dhFLl;k*ZbA3`HdnTxRM%yT!Jr zH3e}rAx8DL%2>=9&~n{Ra*%Djfdv>qXTf`Qo^o4rV>tX?TM1^#Ed)e#AL4m0di_+O z*e{|(!}j|2!)f>eZ&2{}AXDRZE-d;P**bkS8fU!jfG)g?T|%n=L~MZ=1k4~U7p^jO zFt)&NiC!xY=;cf2eoyZA_2c0rvjcX>!mQG~;+~)Ej8T1EQX7tRcY%xZOc(~@wg>+k z#!PmN^6dM(m-Kn|C3iE+LT$0!c@=^9b-!y6ihuDJTL0G14E*2vEe@gBI%26F6Z_@W zhzLUuj%yHU1P9Gkt;ojWNDVKyG!{neZr{6D)m!Q)JfHybu_$eA3WMKaW>ZK>J1HmCU{v~4qD(pdBNwNHFHRrgh2C~;La*EES3MyYxdq5J0 zMUr_8qAlh@YjJb82V2HL_CFf~woq@#*=A0piy*PEn&&ssFX&R!h1i$6AjIYXSocBS zzIyQY*F1v1pJUZPD76)nG{QAS*mDb~>r36-m2~9T?=I769LVd8 zI0n|^*GPiyu;3J|uCotrtH!jBK=3kPz=|r}CPDY8-}mX^$DRoc-K1Hq2ris{=j9pg zWxfZ=#-@|Pv93bRBze*hD9T&!EiA6n+!q!J%ffbiBbpfTOy0$Li+kE`YdrGIzK?~2 ziZ}(aP^Kz8IW-{XvQf4M~a!{Y1%!kXN&ysG^+UqoxM9<=r|c@+8tlS z*IQKFlcN^r{WXj2T|_ipL6=nIsc*Vp1RWiOX`W`L- z9V>n3^ZdLJKZ2Tna63q-?r7h;JCy*0`WJm z>TwfCKBr&HC9jtcamo5~{GDuLHVMIhS0l6?&V!csuj6j@;Q^_%QICYL{HKW{Fij_c z2LQ6}hC0gw?TH(hjuiloD>3LIFhzG0uza~nfCaIhUPD^1YcQ+6A&G34lnQC#czu3x zo%#O8A-Qr1wjPVeL68t}kxSAtoPp$TDvkUlxGENn=I@Y;${@4TP;7UjzzMUt8|XnT zyo$LoH^1iVh3A{MkBa18<`i*E<;cxcled-NSmrlu_#1`dZHjL3@?uQ85%$#YI5746 zTSqnL3$1VDSY!4)fJ%Y@o`6_x&EDguZ^;Z+t?Y z%I!Ob`7arVq;UWufr|$uSLswiR|y0$jZ9gRSPa!sTgA#+CFB*GO{sbu=F=dn9lwEq zO<7jW@%?!&oO01Tn>`3yPR>3fbSiWe@G4J#;I}oN1v{ z4Ci$9UP*H(pUmIo!HyBY%?p}Rl>9TF{edkkn%OOr-#GK?J~23^?989;F?HuWRas4Z zkB^1#`QBfYVo10=P@`Pt%xeR;}b2U;2>#{7IoZn z11EVix@j{NEZu9b`!q``xT?ZRFy1amDPj9^|1?m1l!QZ`EgU&xd)sTZ!-cT~U=-+d zUv#&Ya4qk;-U;p+#OM?Yy)^H?7Z-MW6PBO;c#8eoo|btI=UpuwpJN-pN=r387+f&r zZFm4HT~v=TzY=8x@u#2zUZ$SO6IUhlk#d!DA&* zWuE@d=W=kX6=TxC`GA|SN|h_ubn0uo3q1-CiyuL$;z0Lo04t4vWwmkabKH^n(#SS4 z|MouX2KDtvmTAwhuv0neA-J43awEzZ`ac=Hv%!A(ozS`rU6|j%(Y2#%cz8i=b7{7` z9n^)ZZlCyPaZF>H=CYwNebW%()Mxg0@P0Cl->^)S#r5JJ!lLAq>5e5-k0+zMxPVcoRz zwH6s$UegpL6>d3tNbHCN@u0xE4}h{`mHMM33tkY>IKX3Nkn3G4T;>2?LW%m5A+Pki z^^qLIA9N}U10fz2afK_Wvs^K$hvWrutIh4HWMU~!9>G=t7|G;kfK=u=>Z zhydWs`sT^b`PRJjBhZ*yC=9;p>6?}SQjv5~5nj~~8>P${x2E){uU#~?cgwW&g$8f{lZc1Zv( zAx>O?NWW?3ntV$)At#Ky0M8$%68({zDG?hv1IoUS5-EOPMc>2%SiqF5AnK^y+GfFa zq#o?(-zGuay6s}ZauRZ7KeJ^-14mF>m?68&8+Cu@UB0p>mkF^_4kv~Z7#T(Xr;s|> z4-ah%#p0)$Gp(^OonoL?J5-pJ1`heV7u)%UJDL4`=kH4nG9FmwDxjIqyP^ct?8QqD z&j#I)$U^92p(6E{tnd5Pj1(*|+bQs1qYN4wFP&dy=N=p+uQKGMgFq`f@DQPZDehT5 z;H$(5DK9E}AtPGdfBr?JjuUo-4FWm{0dFUh-&QsqdC;c#6C2+lc3?3Fu>g-Zy_g6c zxS^5!NuR<4)Xzt8e=MOh!jb??Jhpt;0EDrBM5HgqgpUi8%aF9*H>I`pKF?g6N9Pwn z_+(5{clql|Pp?YxTDuPZ9pJTcs^k>pe{lR%U9M0q#v*Y~buy9n;%V+gLRldz05JJO$}Q`c0e3?_ma~lD zAk0Fvte063m*qS!dAoV-JeHik^cu-yt&)ICw~A#M9=>2idtu3fBqo0 z>M_nX7SIhk%{N(4P1o@!WA?`YF{|e8%<)wbKDshEzKHHKz-qN7G3^^CWQ=8KW?`AD zubp31QV1cfkDRq1!u0fm8Bqe~6y=w2RX~(>vrQ~RgIJhg!>wF-|GI;c^~#^EkP=MG zJAnGc1O$rb&#UXG#JPTc!-D7g3NG2sIw%JQPpP9qoJvHDa0;;kxp_W_HsGdu;QHA! zdkKIu7w6sT@!{=6oRUcd9hSsf@U%WXfI+>RkJXV7POpA1w{DRs>-5=KX1iap*zdsZ zHhBo4AGb#GPZ>&)oi83{o9!rilU@-fW%d*IICx}uQ$9_Yx(@qmXZnwqrGR$W8WlFp z;+QfE`5q@MD0`ND7|a1Wd)k7y`}v+@08V|GOGEd=>@|0mjkQc(&-)dB zN9smj44(=DRA$uP)l<*&+%!Ybr}` z)O}_|Dt28-aA_eVLISERRcQ05CFf&|NIVJf>;A-b*#OIekS%KeKpcWIonTG|INRiR zlDO~UqJN+jLH-3i@22!Wdf5?waMHQqY9{LXFoF{Jh%@Wqov&C#HG(%xsiI__4-y(- zl^+!&-W=D0szO9`e;ykuJ|1%qDU8Zpy~(5di^udAj}8AbhO$tdyaa62W!u`)E+XI? zKlhfIPgvKJYZG!BB^<#$?g~ok4WUv`S4I|?Lq#PdKEOczf^V|!_ZN@FFCL)p63gzO zSKl!|rqTuru3sg=|hqQXw}CDedrQ8ZR5qMD#Y8C?_{jrjGe z1oPMbsIM4~yaN`>y)S%{{8uIxuX}QcHq|^q-*~fOl83A?`0bl6EV&2OK@9`{>v^<_ zTRe)s0Bj!nBE%n6)*uUvR>L!FfiG$5f|%+dEUL-71a&)YqXEsGNi+I*{rtE?iL zxS@tpnTroC_cIfls_sChKN7*&XrV=NjFy$imFEoSy_zzVD0Xho=JcrP{49WfQhz6nJxVr4{WwEAk+=Dy)ktfN)qQ>NJ z`~Z(1Inkez-pTvoB-^^?Gk8(pOaTNf$KTX2%nnyPL3dDqL!j)4w|pLFZ24IGgQ3sX zZ?4N&_5d|9vT{ZC8zy}N133*bbf!SA-MJDUn3%BmD#j#5J-C1wFa$40zJkKoE=_A* z!~n?C$=#rO&`@p~JU$#qjFkoAJp)8rgtp0%jdT@b^EffW+j9~4i3vfzy*Vpgm~|CE z@7Jj#;Q=Gq-aC7&V(^YB7+rO>#$}R_$U|tcitn6r#g@p)*Odl)c{&n=@bso@X}I=@ zuB^$-il8<&y9~jrf)U>xjm|{xqoy)OeGXG?jZ2K{e|k<3`UdAbB_N}V^N06@RBa`R zk7h$el!Z3eoqWJ|k4JgX!~Gg1arss`j{<_OD`LvYVhuH)aVh zp!pUshwPam!uJfn_Nl~jIdbP;&e>;H#M&G<50DIAF=znv79bY^PsMqpc2 zI^|QIBiUuoEcf z8FXw$4~$OD>h@w%WN6(-d@DWu@AacDQj;xtBqUQz`F5?mo}RB!OijC`eHUhm; zFY!!0!>j~=Ky`^fNP^r)6kP_)iWo{ILuoV+Aaq{9jdA$4Jyxobh?ii7R5_DNSliI{ zrIOz1G;+FJuZK;IA$>mCpS?e7s*s1PL$5({ zfj+8-;u5MKYpxJ*8FY_Ac|ZBv*u@9aw^%-7bY~L_D*CNt^xDom?Z~3qojj};k3@cg zDx2kiRJ^boa?(`|@^F1WQUM#g=pKUR5%MQosyvZR?g{932^CAyO+QxsUDw;)f0+(2(!F&3TbsWk)`J# zK8`jz4RsrMrKh7(<$GUNSy)gW$9q&IYH9YP$QfF;_BU*=Zxi(YYC)iBRRev$^OVP+ zR8=|FAugJ3q(|Tj_SP~W{zjAH!0T#WrCv!1hcv&~>=V%$c-=oyX?|WF0EOY{2w05@ z*#ybm&;D6H_xvJU-=h<{lYSWGk9tMxy{_qWn##a}2RFFlwXOD)$ur$op;_Bhb@>DzJiiS=Nh5ZQ2;*&@m_ z+Bu`F8hl2w6{zR?V9}qIKFT9=9FWqP0GG^-ThuNQT))8{6s*3qxC6hRB;@sZ4Tvmo zboiIQqbofi^4tr~UpDwii~Slssoh)5Y;oh~&qGiV8oVI6mcslmRUy$r`Zs7YaPLFJ z!X)J1a{E)w@s-sa(pg&TVS>t0hDpAnQL!vcAsD!jw4F9Zp!7sj{YilN9i%y3rcXip z5~sF+#YgoPXtT+iYHE!b~1P^6&RLrgXz%eEL`g@L+ zNy|3w#pqH5u}rlXNU>5vJycmVkG_p)9vw(ZgU)HIA}$c60D(i`A)v|on7hn}?`2-aLaN==`&G?;itaVFmy;BhF4r!VE;w$Oda9q&mc z%D0^cBZ;{776d#Es+F`VB&NKW>kZGo@&Ex`&eiewR>_7GI6}l3>8CQKd!M&2|9*Qn~GhENb#mHa0 zVN8n_Iq1`n&M~zX{C!t|^$m7YCBS(Lvl%?_9^3C)^#X%3!nVW42k8k0Cy(*jL zWR+VU#u7;`Gu*Nh2Q(#Hau2ZZnH*F$Yq9BKZpwcXC9~##$v2K#e#Xx{$@d1BJGKM#|3fx`-$aqSeDVv=p6!@CfNy{iD=LIc>HS+7Rk zHV+Bexj^#dfJ$mm@#z{iIrZ#*Bw%JwS0{;ljpdB1_YnD?@&sK&9+>nz4F+i7c@ggk zLX^9o%IU<-0(BlOl4CZ(q6OkVnt4G!WnVen5pZu$pGX>~KIC2q7(GeKkx0ss96$8r zo69|Gr~(IJgHq;M9oflvX8j@u4!dyEb^F|+bAESYj{3?Q7XDSt9bvFvfDssDnmo&^5;I=z(u!L5g@^WdGsH1O{ZYhg{)kdTP zE3xcz3*iB)9&CF5bX7L#6_?7qFexjW!>!~R0R7?<-Ga`(sam;K%RCKoRu2*f0 zfB;$MT5rxj^%UFEZ>g26<~!4Qolrj6Ik3EQv69e`4f%x@30v=+U@}nPZDdP-N^%u1 zC6kaKdeWoM~ZuE?81DL{_P8U0UDd%EGY(3#Mtg|Ak<%ATX*T~ z-`VT;lrKd?@Pbq#vtvPaFe?3V=@lMP7s7*oj8rBNd4)%jkbMotk=2@7`*JI4wfnPO z)o0&W(wPe9Wr~|gC0|G+l2T>7h$Z=@o_{-QYIA^9DziJ+VaslL2PQzntZ~N#o;a)a zxydfEKK_?y2EIrEoug^lY5<#&P(i7yJYicn=wGv)Adxhb{P>X#*Ha0wQ%PziqSyD; zod5||bBBB)MtGvm2dIF~o|vE{ssMv{%-u+6*JfQg4fr!)ADkn;_5cY2OnMVqJ(R~5 zFTm%wsNKP)0ZT8<`1EgRi|M32E}ECmr%s=hvhK=|_m7OOpfn8B`A|YQgwv>d`Ao>^ z$()t0+>og^Jbm%?y0D=TU^xIt3;@KtKFIh&j7R)gd`9JH1deUrW!}#LA^G#^I%awW zP`Ua_+V(9lX;~OT$Mg6DK>vH9Ik}OVni}o9VF)TX^TXAv6QycT@E!kv`7PmC!0 z{ZkNUc+7K=u?(3H*U2la?#E@(3hR=hwWB$~l%~n`g-7W!y95t(pZx3E8l?wCK%*P) zwuuohJXY_amuI8pQji2IlJlA(KNvwe^5GtyXBTLlJJpQw?h6_2{r7u2@cYtz=Z|7c zc#1m(Lzr<8fJi&q&Z-YqUyMhxAEs;(fOQpBA6>Ij=r3JnDbts|Y$(a;kIQ?2>%9S@ z-H{iYqG52nTmN(ko)}Cws9n;uug~5kgHdFe3cThwvq|b*g}f&r^R>o8_wM`?-G?C4 z7eXl(l0l8MpiV5rNo5l|o`{j$BQk-DLHCWp&!6FS_0veuoP-4#+bwzj#3s(sC>H?b zr%J1v+>zr{( zWXQ{tG8U)()Egmu_EVM^0U>qs{h5Ikr>k@H5T6x71&r(XQXWCXAwdNofnREnKLYfwJa(+a3<&^zLQ7yM%dK`FWMyxZ zdU&>{0QJ685H_KN3uO21FrwuWd=UsI2pyU^29a;Us=PtebwQkepDCEu>jxHb{K^%w zkn03szHpts(4NonU@q|PM`8XixP}(sKPUr6;ENDhk^zj6oOI?xHu0mRL7`Flr%n7* zCoT|6@p;JX_Mu}bH}v|X3lh+?7!?9dK_}DXnLd1m!7*MZ7B*B2tT!=QBj>}xK_8F6 z@98Fx{)X+$_pll(@Cs4iKTY%{(8YPTpuYlqIOtI{loAZ#9GPCm><$7F^^KTw##@K= z)c@LXw^cj9)pK9i6VWu=&u+o79q~g_CjXSnI9ecngB$H(@H>*v{@|1oY8+?G){16% zVdKefJOIjISY_MDuoMZCkz!?glk87IYC} zhxPXlHsb(SH@1KI@YER_Q{7kn*S7)E-rls~H#|PXFqX`C9z(Hnv=&dogo1t<4Jpu4b|A)fyAV~A#@5eWBU?{3i zvVz|Jx5G3=@}M3JgO5^NAe-lTqZTDQ|2LEjyO9V!)rPlGclnz18PMmlc!)GA3 z%1kzI-_0T+_w}KR_|t$D3LstA_STPjYr+E>`Pe6RwbZw;iD_^U3!th2C0$n)AP?t0 zoptpPXI@F0QOOha^$O0fW=2s0qJiD@mjOX3U&mfI=2K+*r=P%F3DuW#KXX<g;f3SJM1)(kU1$pUG5~X#+UB{eOMc2Vn;X=S&@?>~`DNljSqY5ziO`AO^V2TTXz- zpTwbsbDlsW{FJJ&qUd9>+M#IkZn37PiqQ7~Fk*90H-blDnWcCm=AlfL7Tbcq4o$9KHb^oz;z*7c zpOqeX8?yYoeRI5HEg4zZGFNA*Kee9nKyOkWHcksJlhON67f*|&POUq_UO@TUzcX`z z+xd*k?w^Zjg){>{|12a?EI>XMEVB{2{cce1!zu%~+{<@pfpf($GeckjQc+H;tprCnP-sQI722zzb z_CjiR{y~BMn7K||F!&p!SuRoTjEhUOCJh2VTk2~zx2N}RRDp}Yz#a3SYs5tU<9qCE z`I-K##T2AG5CFt;qvsjqA3~--t8xhAbW*5xnh~mLq5tJUABRBmF>#$4xWsPaRRGDm zMe{BG$oY8qS+N3wX9f=P_p2y(of09Og!>8LN(>h|rZiFLUh)38`7rAH3V?I8!T(&l z!=Il#z2+S~!U?}8-^rfoP+(5YArG0dipj1){%-H|;F@xL&sVpQ1`6#y`n{Fp4&Zz( zwzEx|U3SC_F7ERQLu}$4f=MRuS;Np`fG8N%eP4I}EFon{Qdj7_a@!T2|?<-2ms5g%H% zycy@gkIZ~?=yXR*=Wiyz(@W{v99!I3*Fyk~8<(9Q9$G-6_07&4DWn#xfYs>zOCd=v z3h_FgCP;JQ;bL{sJ)M1$vVt70S#d#T)Ia-@2;dupEo=&tBfL)t(r}6SBewN239pWl zN;~UKg<9u$UU1gj=-sKB?90{ni!Qsc1U1%5zt%0y+?8pLI56nl_cSm)S6- z-1DKLaW_HY1r4|jJ~)nF4EEx5%Kh??8e5J5WGj&a9}0vv2z`b$@0#I3a8|3PN!sB3 zy0lll(t*=Ua8Ao*e+SKX3Gpqhu=L{336qK0*0>frm^TMFqnJ^0r~CyZXH48QjzW=! zD1`!zy}Dj`a~ElFW8vSPr;?d^S|%sgS`Wfxrm4=d*iu8tT&ts z+CQuNVJant|5thgojGKBq)^@GclKrX)KEbs9~v5*@S(45z6vRA=~~laMD86kAx^O; zaMzry)xB~gpzbQK6;2O+KELwU^`@4Nh^ekcpapN;7|+@02+|CYaqn>s?Fcu1Wb=V0 zwzC5d7A;^tW*K-^e@hgp5j+#)|T1eV3LLx5jp7d0{S zB*0cgUoq#j&84$(XMb&5b{-z7pyI=~c*u%gj|QoK27b zA#g7>20iX~oAlcXYF--M>LOFE)&-QZt!g*=?^iU}g3b8uyUd>Yz6)bGL?XducE~;J zD%t@)fQBJW%)A5|h|B9LeCHcPt@BH%ps%RV`t{2-XtvFhzygFb@$=9}cd2pn4&b^G z86=(}v%ayXBH(#%@iRosLWOvxymBjied5{<;SEIKMegRb^}R3R>FQ*u$L6w9<_T~* z=m^b@(q75m)c`kW#tombqXu5a2j;pfZ4Ke}KWivp(O^R_IJ8kG% zfYcY(nl@bmpYGf|s3!$7?uU=v+y%iCBhzQCx=Ydc%!$ZiHx^LLVI{}1=2{zZZba zJtv>@eeQC)sK`G&)S~ggwXh~ZjyS46b;jW#1m^oV@N??(`=;p!8sO)YVq;+fi9kgu zq2}MuYmL22{doohC4k{%a8A~(6~fu|x%bRiFv0qN{Lr`Q>#rQt2%#b7ya#yivlWkB z6*8AJMM#Bm$Ry4a_XzYlesaWe^p+b7c+@!9+Jzx$69IIktRPF*{tGXI1y_0pK;+&L z*<|I8s_Iwi@9$0>jh=4coM^BK5q$V4m3E8^h$xxXS)omy)4aeINZ5#iwtphEVl)Il zlJm~TP#*CLAeiIF6Js4G~x!)ynRWbQSSj{de;Gh-NOT)v_i2OzF!XuS5v$R z8|Mb%TkO9C`x$zH;D?&uy>9k_KyKW439-8&KvYhZnDwt~5T%PEWH|MKxCM>X)vuVM z{OUwDz#eG>(3Lxm*UuV@%q3}mbKjX**i)aN`YaBn0wE3Hr?i6-PJAlXrxF5KcANA@ zRnd{~S1c}>Ir(bSu&?_8jO~e5>o#fY84JXl)mGxYIAhE?fD8AhDq7v(?#7ssk5_Qo zhFQ1iAc)Rp4_}eE8f_IuTtn-KNZuuEthMT!y*iU{D#sT<^0=2@99{=T;q+2BX2co9 zIW#2&4*C@o6Pw!VH-2Ls1e-Ncn>_zrm4gyD$;|6#UJBZBS1reUbP|R<+c}BEwRD-0 zFpfR$3oPEy>A11P18|TstmY^B=to&Klz4rrEiU8*0d&Lug~mN#2};)ZMPhCtQ8wX4%xEYB5g z6T(*qxiztzI{5&Vs{ejH?$#)4;l3g`LWJlDWnqH(Rjq~K6r$$|tOvMD0l}sSv_b)Ee-)(_@~i876^`KW`mfGj7O8=s)iO!$z~FpcM?ilmyjN}u%M zuB?z8*3;T0c5Zz~R!|eBUdt`4M18Xi@HGe1vp^Msdpch&E#gOvFQ#HImK7!4nxmVK zPaR{)zqwEuw*DsYbpUXV|$ZxQg6I%-qjjjO`b3K>jt3mHtGbwasMk8|FBTpMfV zSJuI>*e#*S+6C@O#Z4?*0i zYS!l}(UufKo_rI_FT61bBsXI398T-xF;fkCbjO!YDYz}%_mk1w4ms@|?CZFLNjgnh z;5q4Rl%F=GPYdUfGiss|PpX&ufOF>O#L4GM5gv>toRmO~6l&~U z9LTzS75WVLZm;n}RL1zsZES)q4pQGb&!_r+s*;Mv=o;obletExY5)B!;E+)Do!KqD zqiAThMqNA$h1~|cO*}y+i8e0p=O-?9aZ9DEd&{OC-R!pPHA<{lA88B6>?{PxY)XVu z0vDz!IOXI&B0Ng;@z(!z5B~>!qWjfYZtH`^j}q(&BM?h73x=C3iLXW-b#0yOh=r%( z6<&E$GO({(qS=H2%O>g4wz3_2LFc5?Eq%$ioxaW8PA?x%d2ib8g5iB|n`GLZCFcD1 zDF3v&(p2YXjOgD=d2^ZP@!jT+KlJIl@e3`iw;9|If0Attw-kjLy|-%19)xF>pY&C) z%@UphZ|?8f_{fkrK9!`%@qOEYbghc*^!#3tCw8M09mf%g+B8LBhqs?%!?r?19ARM~ z+S#_1gx~y!)Ot4aytYP81L+NUF>JNlkrP$Z;ipr}kn}vW?cDxu#;Y&#L~I^juIFkA z#SRnzfBNl6L?sJDlroE|Y{XdgiV7Lba<8 zWsbE3RaA{(F9n()7K6^C^H0$3shg6SixZ^CUl{)S>XXe6nO&=4 ze7Dw%%#6Vvv(?vA5<@xtSKI%4DqO|G?Ymx)_z-Gkz+QK95UP)ldm`EnuSCn^HilK)M^NkYE! zmky?a!k-2@5|aaG=X+;ib+I7=e%$mFRK?Mzz8%m*2_$I z)J+9LaRN?IVi#2r*J{!xnuv5xy519o=|?f=gch5)6pr6sdJz?KbGiPvsi%Y}aqCbO z_XAsvLA1LwT4AQ9+6HOPm3)(6T&QK)Z0gphFCz8;?}y(ut*X1L+~-9t%-U9X7Szq? z{W=|wYST1vCUC|SN&gxQUw}Swbxa_nJLahS)UGH?icw0nuzv5QClzY(PxU^@^vCbC zNP?B8n|IKnh=&u!lZ!qXq-bU>Ki+bp9shYvNGdDX$b(P$^LvaVt=P~+82EXU-}>sl z%13r+J5apSp+0cAV1j#(_r*!|BeHK2wqc}y@XFP9@mV=fkNv~wD9v~e&MR(NN6u@p zc^~ls``zf}U^xezx?X3?Li;)In>)QN=B{d*7r&2ul;J-4U7=(UB8MSM^ySX1t?xH% zkF&>=jG_Xm9Mgb7BYH|2rO9EQ_oI=&t%ge^|08x6-Wc?-Eq{AM`XqnsafH5*r=X%U z6^#^kK*TB9{d4G`?YaiszYjGTe`=i=Y?r?3<@p?CW)hih%tr9!SBNhxmBG<`ig*Eo z=9P*Dh?ifzQy1eB0baPfOsDh)4m5x-XS@*C1D;rn=qi>pB{CRi|6<*Df1xMty#KdD z`h70tXzucH7*AW%=T@NgqrIJkiok7_A+?@+DZ`gl!|GRU)(U7f`@MffoX9=uFIF2m z;K!_CFwa4{RDx*nb9->_-KIh`3)DExsJ%lwR&>U|%Y%y$ZaO~Z@3qv?HqZ~`am3Q(-9|RIv}a@X#HKV) z#~lcoBT!MK`g$N=G7(-*y2~+12RPkyNa>(N2e9javhs@hFT0hXhX5tWQ&`IW!q{Sm zkfZExpmDyPQ(~<>5LcLClbr^*YlyQ?K|LO0lS6-64Y?E^6myPOpmdSyaxhYC~i+zY)e4v8d;?sWn;vf8V>R)vTYBaa3h!jyfQ4WfmR!ZW zB|3}L@5d(v303z$U4yi2%%YM7D=u5AAn8{xRYcMPX%;b})9c(JdGiohD@qBs#kl~# zeIh#h@%di&8B9I$W_c6PHz^cgM&zgva83gqF|&M=wyvNyyo{6+BZh7yH;g~tlT?@J z>3ZLD;Q2@ude#QA3*88lz8o3a)to#F@S&!{tf$8edwxcNG(MZ zh3Tw7hQMmHjdiWSm5Im@VOly=CU9!dam6PJSS(_JLr4hQ959QjI-wjMWG%QP!z9y1{tK=`e?;L4tojY!hhoJ)-N{WAJ`U59{PDEolHwVZ_8k< z=0 z^d4WvG>AFiT^}K}ADwi-uThx90t*Mp17M?)GuvLdi^pMts7yukwPk|gb-La5f(V}t zb+q61W8O+73f^{3p~)iKx&*G`PY^$R*qSgEGkFPi!cN74%&geuDXiDioq!7q(gfZ1 zVe}d6OQBVBy}#(6k+Kz$sB=0Uew;zG`BM^Hp|8_IfS(`4anMPdB|~>qw=D0;LVpfU{x00SEfHFq?4mL&R=&~fT!KDnjdm7U zTiW$Z#oUQet<}{1rb;?Z(X&SKH!Hh~GlYgEK$eKzdzvX0dbL_`QO^BMT26bSm+T9LQpzF6yD5WOoOL#QC-wGu@94Z1GiIwd_8eT- zS-SiN_z(WXF(*Z$Q_;v`0#Oic*_n}nvD9b4R==hVZKDn%eK$mRUBpT>9n)ht$&ZS) zzFx7Dcsg64A(|b(HHe>Z(3Bk9z#h_phxaBb`=pzhB4#G9@y2eGZQjYPdB(4{xqB(_ ztJ)}po1Yz=hUH~5A*XguZlv*(!;mjD_HORsg43J9nl4GpF zvp$vt_Rv3~kiqk`ki*G$U7fekD79>ji43C?y^&2@8_r7&hlHh|7ikZu`sTT>eZNV!}hRw|D72DH%eJ0O)Bkf1M zr+SI}a;*LK3KNas=#HjI0hFS7xsDmD)SFnK2%ABcpHuCspu%J^!9CS|9bx)L$;o^) zNtrra(tAfYzOa4;;)y)qBwFCIhSa7TOnb`YchVn^XGR zjDlZru3w#swNLxre-F3T|4OI+`g@|MCr89uw#Q|)(a2U1gmi+X6BV8Aix`#;*c{K2 zL<<_=Q!Bt$1f_UI_kwQkPqnBUs#mpF@6bqBs&$}W@)5?4;>~Yp7&myY=#Q+0?TzKs z?u3+|qrcks9~0+s(|^>jK`$W4Mwt(!_h|dAgr%(hRs8k10v&qB1F2Q0>8)&JZB^Df z9fWR&@oD%Coz_?KMkhWPxp*E}xKrZHik+hg1CBLUUMII&VYdoyI=JUI1?N3#sm(7P zseuy*!SePa)0R+Abo`*nXTBhtFIp#D!KTlGw+n(dbkYdr54-2Go*3P*l%^<)4&J;u zO8)*f>y*q%T}t$&9I)z&9eC&;+3o2?SrTTElkZ@MI%t_~Ik|Y;flxa42OJaenLyah z?aJ@^2j5Ze6<=8_OFgm}nC=0bT$J(caviG}|J6+~>48#pspXd+EYQMI$8GK$uEXH_ z(<`it8jADHbhoO}5qWK9v1gs?FuFX(%w2L&E3G-woEzTu_6OpTo-_l9lvjo>xP>aV zqaG+Mw}zJz5nk&0D2eH%QltJp*z4Y!H6{+G#xEGBCspwvJ%YpvUBOVyYeJ|MrJQ{A zQ8MXK4N=|ikt*H11NFyeWt2Rq$;1B=euQ8AG5DNh@W-)Ub^~DLQST7n4owqXCSOOL zGw^5iE>d)O_PWy8Im?ybAb6aJcxH7h(;-R`N!*FGhIKSK@OPI*; zl`pLxI@lMan{NjfGJ8AE+;g=i%6%>M_b-w2kx5ndlV`f__`j19lYc;0bXb(+&v+$Z^esCw(T zs=DV5RF4NefV6L#-2dKC z_GYg&GtWHp%nS>G5rhM95W;33e>8H;-XWF6?1MPaD-oKE4&V;BE>yFPg~y0?pbN@O zkk@h|1xP&YUt_0BKO}dK0eRFe-atH^$p~~kdE&}r@e|u6Q;xarm8~O{&NJSw7Qb3g z|L-^&nahSSJ}MuXSv!67I|NaS-(Fc}<<4zYy*V1KkD?YaM3BXNz-&CDtSPYWsr^v8 zT!Y3&@EPlwoX*%;vGWBu(>V0|cgw3v-M*ZJCoY$->;`&{1XLwfT{Y|?$nr6&NJhBV9Y&658xNI}!$sq;JiD0xm#-#+FB{BJba z;JB`2+Qmi}+4B3!-SFD8?KF*>zMWnB575H*UsRwzx8JB{Jez-5q~>|xAe8;wjk8+hRi}pz!JXQ=}W>`r#BTL z63{ffIt*t$6BB#?4~H1?!-l(ui!XPVv8YaVZL7id2-G(TMA2Z zAiDtuONT2fKMt@amDbfe2DQu7(fNmf@_D_!ogaj%2PoqX@;cM3Er8PBvQBhkEP-9h zz?aY)>%ZA+NPaXLVm zf>8{h_GP|l$4TORm6|DgVf1iA$G1o5APnykY;>mJ1HWP(>TKYK!ytNG&l)}1H|;4> zTU7}N*U$I}2?i}v-lmkigAvJF$PB1#nMj~P9q|A-N?o?hxXAK{!H~sp5W8*9$RD+5 zr@eD0o(mGI-x-~tqO&cV)(Hh$1`u>=>3o@VE+}`Mxj(Xcac$U~T%PByYSl*U|BcUh zffoobD7v_~$k6@80~$><0Yv|NoGl1@iy6NaR6%#>HpBN08auJTjl?oI&pGMSU#KWa znYW`FA|-tvUD>>JRYnKGtTg&VRuSGa3pU~Juj&wv;)cJ{c1Pc~wA}f(ivUTBt|>TJ zfK@6yWD0dc%7j651%Cww>@6q+2jR%C-PGDGL5rYK=CJ;oGo|BDmIJNvT}!?Od;8yB z5$`#|YTxyje0c!fTH@Co0hD(v&+{?A|N2Duuqj{Zu=y`fG<4nI*#8Um_d&+(03L$7 z{u@memtW?8<*?R&TCDvVSc);@M)uxc7zr^#;vUuDGZ`nUe;r?E*2unO*>8@b_2uEW zI~HNc8_^W^-ZpGySx9(96$2YH1?q;m*9?YW2;P|v_*h=7xDI80`2}ZcZ*GlB_pY_LsnsUk6I!n+IGNWc=%y78zo=-ergG4q%Cg6+!hlno;(=pu$2 z7*C$cJR4Ux0jDJmV@HemmMeNOEPbA5ZC~YaR8OpSJ-p{x$XpNMJ1H8&o|(DKrpo&caW@vl4Gq$>H8;;0TTTkXHf;{1hn*mm8=1Brqu7}X z)dCEh4#xx?4O9hCC2W+6wUdM-55P2E{E=wFO)gfGj0FpK1@) zbDUTe`E8zhl|Bsw;);u5Ok@A>*eeXM8s}WU<@k5Q)I3l6`So}C-ckraf_Wjr&=HZPcE5cc~9dY4qZH!1kZiwayGKyeq$>p;a27Bi7!^m?%1xX ze0;CU<0b^go}#`mdg48;abaiy-wRM9!eHm5S@ zzl@6Eql-z33sW;AY5DL7KQ@??<@dw`Pa3)k-@|t1z>%p3gz>>bgcOpdj(DazHp%P59OVGJ9i3buS z=fg|o(;bS>O>_f^e5#>s!6QkJr{rx1<;h^6@>D{YG`(EAJP?=qv`jL0@4ls_MU0&1 zluf=Y9^~tJ|I6s-ZFEF1sQtu;Amo{njD{x@;s+LO4Ij0)Z&0=_g)h(t#1|l_xZube z@kELw$FHd*V)Fgw6uH<@0v{Rze7eNac%?EO&pKuX+8W(WjimWqUV5yF2lJ6;vBJq% z22yy`FN25+Y0b-D5a6?F!4|!nE+*?4bmF>eE}Z1%Nd=cvwAsCn=}jfvjx&l;4_@3t zx}n|WX%gPP@PbE-&^p?h+N33Iz2;(N%sVNX$2}~y zKcPg=AMMYK;EJ{UyP>1m;r9FI9vnx_|4_eKU&hgm(y&nh8o>NG$%l^%7)D=d&QpVx z7kJmL1fKY@X1dx9N}E0}%p0rpb3f=SO$a`KNFi+M0h^CMgx5O9@7xZDw1=HiLw8|& z#2|G9`cQ&bkfX(CektZ&Pa)>hoXXBJzU}{6EZ%Fkmdx9V=x|nIH=ooR$_PM>dCS7V z*y{=Hf*UgD$N7{-qYNHv>mM!jcwMBg_uDj=>SIQ)!AF*tPF9CfDc4ilYIZ>4cdQ8> z;KjLLO^Bg<&;+}MaDx;IpLnCxanA~=Wsb5YgXH7eAJQOpS62Gtl;rvy$gqO=5$?)excfkerb7Z z%&&)K>kj&*=L0w}Y5a{Y5&}}M%5^1?Auz5X4MW1f*SR~9VMpf2Fy$wjzRJ7Ka`R>> ze@+So8+@t`E@a%3^uDcVCfiG3c+rYY5?O~&saA)hY&emo&Y+H%3q z4vM2nS3t>}c#nY2J z6CYF+qLi#{1}2>gpB8Q^cC3Lvjo_C>%~*fr)nCh!Faa0S6WH{`wk!{v3}^-3*ZkTb z>9`C1u`Gp!-uIcuZf!6TkrM4H%VpJA+PROMg-jz|1cysaq1)a}5%W!oroF5&!wub^ zW{01^J`q{;rx1~P9hp#|5x}G$oGs_@iX5AD;FUW5LaVqtH@LYsvQ;!bW+`_`k^7Sd z04MM+L$>O+XBA385`g|LgEFb>oYxYlZ%`5Vjw~NPFBJ$0RQa%QiWYGk${KOy6?jyA zNlLIDcY|g{``Uz7q&5W+lO0amUFuE$6pG!*FfF6GCSV~CoX&f((KG@Q)u435)fZ6RgzQVz|aBRvN|7Y>dpGS z8yeR}#!^^67$&{_EXy5?(}h7*H@cro(k^dK;R>j6;D9Q4fzpOKo&p?Yk_=`qEtUiI;UqmDuH{{9+tXQ z&&8_PO%%J4*XX2tEXn%F}E%E0$lJvx^! zX$_a_qDYOn84CeGVH~hq-yObL8i#${tokLDt{F%gELOVKY{OIBILsuk*_l4e< z`+HAaKPZ{Snr_yg(>HI%N$n6moINS{rLE2klCHTQuU}9}!kQk@L%!A4y(5?Dc6Ys2 zdX?+Tnj*WQhLk&YcC;nGAE`^2AGPG**y`ju>gzokZ-RCg+2NLPR6NHzt*2&wgeQ*D z2j1<(Lj~*hIC^}+f{K>*V*LUj&;XQkQRdgiQA;c82r76z&(~ff$QaT;+EEznH7ynz zu0Vym87zXOGIa5)6XPu(jQIhVx`)mFpr+e%4ArvAB(#t(v89$HvDe;qcE%Eu=2<(# zL)X-LWs7KvGYy^+Rkc7tOh)xT%JjBuAVkW5Y&sI=6f1$UgaI|YrWB_DJFz=}Qk^i) zp443FoYZv2;c$&+``-!86}raTxTVk2RkanO#a-t0V|Yqco{g_bus_p-N^2Fw>}5tofGHXTNdyKlJ8a z)NOq!Cx-Y5N|tokY#frPZdguvxe8JyCC)R858g;KAYAYgr%&fAp>*%i#dqVzq1a+? zFSj+O6w!~Ax2A%&THg%bhI9esfuPpb1tS-Tf@ll9$t$7nU6(5XHm3nP$5+)#d=iQt z?eCfj9ZwnyFb&+5mg`R#y}gOR+9V@DLa2e{|C(!e1$dMF2ykU^Y#E9nM8IvmCLsx% zmeT%oi6>6=7`AQpdPBK`bBLhs84uPPgBc!<+O>q@w>8SB<%}>3dNtUf#+w+a{(GN~ za#H2X-H_oFsIaOfO%<2^V031j80*xAQh4q7EvBM9JY-z8>!#~5 zJH;l0yX|Z2-Jwr&?pnknEm@Ce&*+s?V{rN3i_>vU6_nbyLn_rkklHPJg6rZ-Ybbg# z__XQUH${BkpUHdoV9fY=q>BX$(WaYX$~pDq-9P1faW4$F z6EM}~u^Z=9I^cR<5TgIw> z%S`Sn8zbiMW(Kuc%HWvFlHev1R>OziAE^ts?>*j*89j9mSL-qXYO%*dw zTo3PM6MP%}n4=?qI<|GC$XaE%xBXf3eInQ};|udGf4+!$3j&M(Q{jP(^{Zb#%imbG z?P=-82uu(OIglN>y~B67l}Dlk$n;5xXSg_1MR=vt5_L)K#x*xxOM#?DUpd+ZF(`8WdMu)3od%reKq6%bmgvP$u=sN-YM7X>dke|Q z30)SiBn~^5d-`Kuc%9SoA<67CHXzGGG*MoY7`9h`0=r*=&mjy%a6gBq$%-nWA2_qicNGS(G}MVK|9rbLW&;W)Z{_q#Q$-uxH;?8@`{S1O zVb_~zR&3f?Ywua|aAopPFG_1R|FDyz>-jIeAnsIa;jqyv?H&^=4$858(ei~A4=iFy zyIV|Bm|+yv@@NCVlmHf>7R*!81+A#QcwF+aS%vQNg0dBc;KXo<@`QYHe8dh-u9*wv zcD^XYlQB8$%nTNgMD3tVBn~3Q+r>R?5Go`3>)F*CZBoeguV{cb3W+f@R+FO!j9kCn z_Q+mq@c{qpg{xFSZ*W-Jl^=Z#_??0SSMMWjNe1q-lI=Q5k*NTTLJASdMsb~ielO5K z0l|Zza}_&OnhmZ(v%fUsUhg~g*@I4nBPtTkCiof|;+JiTDgQJ-@b>7--dejeSe=Lv zs4+I~)_gMfAS41V4&Nb4fbvnM$S83yzpCMNiQRR7fSGv!?dUU@{9V57$X-q>%ULTx zcP(7Qqza4c_i3PA4-~(z-bX9nuvI?I8XY#XHNZJk#)oWNq84~9C znebl$id7snG|R|2O4*T;etf5c&RkLbo1US{tAOV6^w$ZNSLK~9x)>BHR2NS{RHR8I zJnXG8pi%57zwy{y zGjL|b<-bM?US1(=&3G+QU%QvOKe@jyZJd5cabj;m8+}UyOQSH$nrW5 zGsp^}puBlQJdMsza3d@Z?-17vP0lDxW<)kG~1Lu1o39}VzLL=iH9%uE#EmL-41 z97%X2y`dReA>pf|@QO7CYsIl=R0%MlU+o*Ib>>^&zfMl^Xh!s8Yq6rkf*Dq}3JSi` z75&6Vkg-LKSBL<0=8pS4l5q6O)!smWE|a>-W{h>VgIs(n0oB5HQcuH5{fUEXYHLXH za(p|8N7>@tWopKJXAGiNK3y5l@rzo^+m8)zqKH6ElL;Kv=Z5DD5cjm!Lsp1H(MFop z)na|6b%;Q9kLwWc{jgxu zS>G#)2dwS?HQoR-0u&TINZY5;LZWlF7VPQu>^$FM&_qZed4^e?4IDn-M8C>M{Qafy z)ypdG!lLY@Ji}@>FTC(l9ZFVlvnoxi?6GEM&J3w^0KH-jQdK)U|KA+MwZ6tlsqTfX zt9rO%6i6KB(e3hj^GY|N($^s!q1NO~hLzfx-AdJ|o^~kYW*{hba6o;6L!q?100M(t z#5d~b?@UBY2!hJo1-IlcDR}V{^T;r*gxV&Sg2Cq zivVf_$b{642WhbGx~VuIbaf-Ckc`zX8{fy>f`Bg!k_O2203EmgICz5zs4m3GMoL&y4=m1uHfTx=OWUj$j9Gd03dAC;`>A- z7@GZ}d`8vcnIxCF?tirV^H&CJr*0ThtrcSb56eV1iv{kaYLyUJ;R~*|^io*VI^SS4SE0XD(%^xPe}!`2b9XQo?o1tug?ZslXh?PmK-!F4tV; z#!`y4^J<}TK~e4~5*;kgLyBtEj}>73{grz?3>LuA$%5KPWV+Vf+i*J7SFf_45?r_S zvI*nL#E8qArTRE8x!2d&AWssnUbh+Q5u=kCBxZA_yj=SFQ{uQ@T-{d{u<5T-Nn{h+>Tlap$dCCsvk59lrOzAPg+r$sEb(b}b(17%zVLiceOIjlpoxZdlO#rw@D?Jx2TXK4!+4{4M|)zIM3O%Jb2d4ccvE`&5)SxGe(i>2w zcJ24rUaoy=%$(-^d6(MKf7Zu>FJI)uEcz!lzkPSoml0>J`^XH$OubKw)u}^C>&v3r zHGedQyNS-{scIK1n7%4fCb$gnNNR_c=Zo^}%#k5&nowu)|C<2-N`Z&)FN<+=Z22v= z-9KwhoDb%U-GZQ;Yh|lxfg^8iHkQcA|l5$0z5Fs z$)!-5n@|QF`jK(rgC8y0uARkbu>Bzht+ZVj<_kr6Ye6oA`w2C14r4iJNqhs^_@S0W z8b6T#00pfHt>vBDHNcdDN;~6M?Ru5%*3sj8p3b`e`sCFA3bQJ|rN{lY?1~4nurRpN z(5qzoGX1tahRNwpFxGPnK|arl?{rS1AWik$G6oS5z3>|x_6Jk=K&pXac820_=nN8t z2RF;v86_0bABy2DL16%zE9AT$h)w2yv&%u#vt&HIbKYlu%{enD%p>g@VoWI()|MrC)p{$hi_4$m=ds5v{@@B)EFkYI@;Cg zuL&@?1KjS#QAdyP}5f60DdQp~Kd7?Q1n!D8GReslDy4*_~E zuxZOm9mRpC%g;8)WrVA+IJ`3n7OnncnNs~HCVI{AZ3pI+M4RcjPQM7>!dVs^ga8A? z{av>C=(9myYVLd=zgquB?T6xLMj&m<6A;u%OW_v$ zmkmXuhirL4KxNBXK`Y=j`%Hp&(TQaLd1q=w0iq~aTo)#CM+&^nR?65-?e6j$P%Ln` zKyBC8-^ixa3Pg9B=Iw|g^&f3}6qYQm?*=P@I{ZH9%ERT{<7lE@cz2t-@Zi2=Pj6(t zgFEX_$_!NEfz@^Om6HfjyZ}he!o=Uel~Ut#yIC*@RFex3bTa8#&MChVHJA+>|N4*K z9Q^==Zu&F>6}pXWiAgy6)$dh?kEibfl;68C3q40VUi_%9KY80bUv2pzrgruY=;qYo z0}Z8Q50{a>S!nP^NVsJ!1gIZ31=MS`Pz}RARate+gf zY+*3}z%iG2<3$Hy762-=Ac6b8g6b6io>TwopoX60CrbR51FWP?+w_U z+Z~v?6XZi32JQ-@4K@6tthWgO1r`_W(xj$Q!*_d>87eG?X!^~gg~UfdLGnH%MK_n7 zmuc57`r?5MFwWiNtLPuPPN-0!41fcc%E4VSLn$$yxPx3b$d4QT&cn4W^={XmPxm9F zjm+Tx<*GJ$Qt0qV)_s(377YJa8!{2ibKG?>D`fiIbJy&^O_M#U5jUHb2jj zF8P<>Y_h@G7}yCZ(k>|7R#o+h39*YUdgAILzD0{}BYL5E?J=h^8z&@vhruDM`}`8Y zud?9iC{=i|VIyru`v4R=n10VZApKx+vL`l_9d>=GH@R$lFWGfX!O2GIJ+%Wr(tK`f z;F@$={5dKHwi&cBH0FHqb4!}1%C?5pljK4V9zOC#ob1 zWNp_WZZl#;R~LP5BI$nOuM~2MOaNtfAnA;K&oXYpzy$MU-#_THyDq4H^boGg8DV_9 zJ(N>*u>#&H!!d39G6Q*vuBn~z9gIQozP7G~R55lC^bgRZp#^#XI)JsiM#cMkBSr6p zHlUrXgo5rHVdYbzehnSE?%Cc53h?(InCEV?V#>dcO$x(=l@NA5w9v3T@`^YS>^L3J ztfb<-;!;msuE57dzCdrBn<%6#wuK>XE2D>$dpJ$bjb8jrBowSqT1>sid-{*?zju+2 z22Sb=I4Me7-eQ^s9>}Qmhj5z4;wUd3A+k2tbA2RQ*ma6>WJ)NtbEGLT$aLZ}03Q|; z)5lrkRePOkB~W874d4q%RLRFRtZ#t!Ka`^6j-4QvF)*GnSO-c zBqn#C?&6-cE^!~V5Gal2biUd}D9FL3sBnc@bPVD%9RqK!9N>!0Ws)6m9# zmD`nBk*Ys~1UR*?024;)8VW`QKy3TknQTxNdt5eV#@iCq)MSP8f=Qy|i^%&( zID#!XqA*;IkUsqhJ)TS`R7u^Sl6WGE!xa%r?75Wb{#tQp-0T?~pWXo!>zW2fk|4zt z>I+PsCdpax>@oYq%GEfVAU>CSh7UdKvPWSx@3HR%wYx|Ks6V(t-Qpd*(Jr|A6@VbT zNy_@WZhnXHq}lp_|N7nBdA+Km$Y?-EpG^D~Tvnp2kYEco(**0qvd3Cum}6-7 z=4vFs2-I7s_P-oFPvI5lhv<1fZA0JX78GnhlVRK$gf>tV%h58Y%jBWREIwl4XjmX6c{jm!3IhFgU+3ont%y)0uhZw0Uw0r?WZ`Eo>`62KPY zblWq@o2|axqRdgiuiFc>RI3TI2k_8H zSj@Jne>ooQFZ9srccUTB)E2rKqb;N?V-2Qr?Qt+Q8SsHht-6TfRh&OEd7`ich&n~S z3eJT1siLVj4QC5&yQMU%o_^BJC+6oqNEB^YeAPQw&wOlj6|-;&2GQ{NRw>i~oc-TG z4O0&ZFlIL=XNl6J$M-Crin+LkQZ37Xty!j}H?g!2v1g`?AsAe%P9?^jUdqNaTKnE< z{6yRVsL~=P=gCMvJaDlIAuY&vu>0+-@#WTwAGLpKzZ1f+JUx#N<4zj@k$@+YEuI)6 zI#ws;dwNCrdh9!jE5p-hgs!`O4uj{4A!GX`H0fLhxRrU9cYP=IGV%=`EGYSk8YVxgj0Uh}i%F`~{;pvh=Qn>y;6<=hzV7mGit@-ANp#?a)` zBqh=RBim95;-V<<{!6Wjxu)voemdLg(raD(dXL|KD(jDUQ1j`{z3f~Zmn$qOrv*H6FQCQq0@wp}v-^EwKQrHYpxYLV z8$c(BFDAd}*;d~8JaBMbM1mN5*avnFskTLnBBi!JVXgYC+4pyeU_$k%82IrR_YW{78>H*1m*2T^IoQnt%nK^kG4R3@_#y>;>P|E0bGLmv z(h4q`ANyD)h~miQB2wh1!TjPPUSlxv2?{8 z0qb*V!#C+#X8MuwO6#^YmwODf_^>&AP29rqXUb=32L(JrVXfz+=!D6@Q)By9#k z_G+OH2-!Gi3R;qcv}26VN+|I{Fm+k?K_PIK)Xv$~=RNI$6f(HM+Igqo-qT{sT+(Gm zmP5NP$R1~+^3d}BxhQCm&ai8s7XXGpo~!EqMS)Hb&aC|FJ+|J@tb0e>!<+-;*^E}6 zV&?e#PDz2QM#!S4@}Q)?HSyyQU8W1c^bN*~q=;=LrolhiT0X1kz=7FJ z%ob1U+nzXlstoXRL^~+f_kJ@kf6+jElb(zeUB9cSR4)D0!h6=rB2T{WT@e&s`N0^D zKGWi=kQL4i(!mVSDSe!Sm4gWs+p#WJY-OgtX@G@|e(a;3?h04oAo!2s7 ztQH*}NvknE@UCuFMbz>TMSkQd?;OwK+}&koi!Qd72b>x{t0O> zRX9+41**+xaPTjTU>w+YD@kDZjw$i|VG91|2^Veol!JfQIMutUN~ylJMw1{Wm|uE3 zRg3bOSEkVCe*}JT>-1!Um~&6;cm2mn%X+&Ti%?cWMC1|Hn`hJT`b%2v<{Vj}sf&N1 z4h#)h2s)|KKIsu**|e=G&0A*C5>q$t=PP2@nIa<&{kK>F1C$T4aMQ9u{6B}}C|I(o zo=#_NQN&xs1pPx(bAS5gLA89r7)cP`J4zTMDN2;?%!k=HHc^;XWKA+u==ZhMCm6`k zV&it#V!L*YksGew!_E4Xm>`Vz5ywBY7@N2Cd`_u%7=75<9=C6+wZ>5BvYhf~wtW<` z*8fdLf=B`>Dnl!lzUaq50kRgF9ztukll-zshsfaT-_Rc7(j1qcvA8fKEk?4VF0wC4 z-{I$WE%=7$Hna1@q&`Pj*w^#C#)relZ3J?!lY7tkl&0j%$+Un-hzN*;oL4aGU_ekn z?XWAZX`p}Zsp#$ciS{6b>!*lZja~T|pAESYxg8|T7lx(-ROrYXgE*h-m+&}KeDcxY zouL*J^I4NIkCh(oqxof}@pd}{GTTT6?Xl-ni?BGg2U{zj-O<66A~3<*(9_!2=4^11 z_;bU|haVvmQB>y%NN6kvT!nhSL($e_t2gW)2BPAEAqSCmdJUJB-fQRgq+il!*SN^n zgPUuwWQjopy^Jmucp0=L2?^j{!u;}?Tjbio&3!T`kdK{aG9H3{(KQq7WbYfJLlXrC zF#{$!ak4FuhxZ;SoQ%D!&|6$gZ#*kDb&(P#lFiS}3-6L!uVD$Bv-#0>mvZnnwA#y| z6eVj`*nITMKk<5ufsf};5e%7Bgmqjv`yjCh9FKSb{7g@>U_}e`=jgH;vasZ^u%E~k zbtlhA(6K6>CcBr|v5QJhdrAukuuKBF2?4t;4-q%2(&pHURvgc$&S97JcaNf~E=MPL zxR%<~Egrr6@pe zCsN$VB@ximgRjUQh`=Q66hDX`eGcESE_JC1_d5Ht?nNkVx_x*k#Yn@!gZJ=@IHVLh zg*F4a$)~qZ<#UdS6{+$yFa2!)u}AK-JLT#kfENQ=6~Hb5Xq=dNJrH8R(c`sZFbO|P zq}>(Zc_#l;&Bft$tex03&1|CM*Tj3}%k^{3x|J2mMUS4ps+{ZV%@`F4FH zJJneAk$)8kOX#pwQ>}}otH}TAO8V)p0~@*4NtIP~oJOw?!@33;t%C^E(|#cCtECsa zz68E)b5`jx)rn+l3aYhs5yq2P3=#8|4t(5BQ{Me?uh{IQtK6>KsKQSJEu>_xdtHM@R4~8K_#?`)UmKC7vhd+g-G!U;E5J8a z_oLBBeY?|dVEtRM_UBjhy842kJx?(8V<7_8E(2I2tL~ehSeFaHEY{I=CrF2|`sa#` zr%0m6ca5;L`LwXGoV)bnk0Jf%|4ml{hne*n_4;*)`<~xXKOJqSs=U%zf4GQzM(X1( z%`hJD@r+>qQwa&M5x%{m*$4Qy(8&HkALre#EMYwowj)eVZ$X8H6OE+ftzElM*)(8D z5#5W0Jn>JWE!VPoOZlCe4tjoVI6x8rTmBq$Y}3M{M(W2%l>bw-sAbGqH>9i zr<6K5tHB(DDPJZ(Gbt;AZ}bKA$vkXmQ}sYEIzCSyw{~aL%vR<*j{lYuW{O>` znyqu&lwC}S3@cMxs6_Hr+Kle0HLtVlY&Vxq2ujlMX&on}%8kH4dk$zTf=YYg4Nxa8 z1Oc?P^2LAq9UboI?uVPF6sLs?ys$qxV8IpA%m3(?geLk*wdlNKrM3>Oyg^2Q+DP#K zv;hA}D--I)&|93ek$q{e7HA%St=BRHP)OuTs^Py*=n19>>*MXIrv8oK{+qe>ff%7ZB)p4+?SGyowKfs!Q|khm%isR@^8TsPq&u~ z@{G|NXG3f_E>iMJ__c*4lC1Naa_(6hx99{Bi~iy?XzF%*Lwd*TpLO3)0V7mF)|oZL z7XQs8YMkWyfn8K{DHV z!Uvg8pS=<|G;$+5S_GsT2=-S#)fqU!?do*ZUt zsR^EKrAjKi_TEjQNX>s+mG%jM&GCc#a|_9Z$h&iq%pQb)#?x6AYnLlnRDRYNypr&f zdo`XhC%an!$Q2Z5aE)s^KP+-=Mi}zRwnaa(yInkcH*mV;ai63hl9hxi(>0bv zE3g5l4K}XkL+|Q+P(N`!M^sAqg|E#%AggT>f7R{6GV4aFkyP4F09WUAb^kogN`0bhB2$GDN8 zuL`euZ4$<3(8&JH03YxG?@?T14DCf6V7cuqKF=!o1y%aY=Uu^Kuxn@3dPuDKSEZ=C zEyZe=WuUjFhdE;T-BYY*Zq&GJNYo(?tpC}-*0%DU$dwVLtLG|(*MmCx+0LQ~Ng6b! z$D&QyO3i?VFhUMGTPOKoEm>Vnwj`tlZ>8ngOwIkal>N~C#uI!1@l$XVPV>((fZdB= z%OJNb?rwuZwig@xPd?%%5O#egzcGROx)+xgOgO&%tj- zjfTxxH+z0Dr<63OqO_&I8T`Z~^Z`hKzu=vLy=;#X+79t(GE4jQG$=}7kV>+80vC;% zt`h4*1Q}ylRqd-(T~#Zl1e4q^!TJRdf@J{8NnNNMR$>G@mXPa}s5?_tF~ zLz7vEqe2>d*nhs@i9~%|Kr8J2xvqirDU!n4n&f@$n}=7AO6qKxHY`Fl)=JpESk<&( zz0!m>7zWa5ZC&TOpSEz@9~{Rm{+nr%u6SGY+Ny%n1Um35@dZjphP0z>zU|D@Chy^l ze_xgc*NsSKA%Ut97lHWA>Dv8%G<#@)XKsJ_65BPfraRtJxuHwn8o6j3UlFULVLPrP^Kl~2m6A;@WC>M zUS)>v7+F3a=dBo8Kk+2AzSpOAf2XGZgy_{}%1x1lfB*}ALnAz(VI(r+g}&Zb4 zB1?nmiaqVUt`H0#CmLX(E5y*F{$r&qhJ>Gv3^z`^}3g~Ymr3RAhg zSEizje|>R8_=KnoA0j_61<&vbt4*~{-d82~c=ZystYNxXpfah~zQ635U_@@bQh=0A zX1Pl=;ZX#vQ_pGvgBg%S^9Ye(_syeWl6R!fOL(TM)HD(nX<3axzKqXHUfiu(>Z zP1NWjr51Xz8`o?%vm(4QW#i}f7A{CPVfw=%?&k!1J9CiSjWQLGtnYM?;GKU#S!z9g zXX+b3B_;eATf@V|PXF^$H#OQ=X+`kkXppKa4vSU>xre8U0?v+s)l|@AD?jmgkoSLh zl)M8Sp#!=?^7%@V0n4lu@fm(?;v){HlV{@VuqKsElNm0vTtWNgx0_-W)e5|XJP(VD z(nq-qtc!G~7#~~wK|F9r2Hj2T0Sz+7RWl`G2eVXn;78OEM)`lR_t(Tuk5*dd3c^FW z{%u1~uLIFCk+tnDcmWWuZus}Al4}L`%+t;t1vk08RY2tqfw;f35M6lhkIe_fz$cS# z;uh98XS8GL&$e0V>t-EYZB6(guOlt3|K!sgs>gQDy|X(tn~L)LfoG9{l9_DTCgoXA zZi)(^uv=8YhEizU0VMF@!2T@@{a%7IXQf8n3EF1&dydg&XsJ3H45VQP!Hm7Ufj@BvBE&Vai!w4> zmcC0y-CUIg4ABq*Q@@3z0zFUYPnZ_LKi@9KaPs=Cv%V2fY~alx;BT$=Nqv|Oi~t@8 z6knL$N7}a?4&|aqlUP@`UsPQvh`!e{7-421I{+j9SPHwk03y{)4epEsN_)&?8NoWH=U?ZxvE?hWmy{Fl#qK3St zEyzo#^VaQNjF3lLk)oEb5_`jc`Y`Q>ldB#4nIqAhVsbG3DSa+dV1#S!KEeuEaseP+-So0luFR$*T zVc_h;h#jUL)Y(cDILR5R7aSk@+oSH)yzqS#PuF^m_S)gq3taa7#&DG5f6rjVmw8FD zGE;9`XpZyHu|PNH?B&0Sd0b%X9q!?Aau9Sumf>@?JG;MCX}Jx6p^@AO}SKj*Ju0kkES9yka7L_3aoa`VFFp>vcjq zpTqC73>aX{<`UT&IQ3u2@;$1QfS@UO7vwEUBOSlC49N7f;ASHH=DjNB^WV=?;WtY0 z*_$Ju#kt{1R>bV%I7*i7U&!z|kfk`IUEp^9s7kRseIztO-{ejdW_B^Zpk}JC|Cy}d z$bx|pA4sk{F|#zcMjZ=l)_UU~-;8vczqkvYaSNu6x9}rYUGNzN^u%^}?2PMag7s3x zyqCewd>`jk-GHX2%spfvdh(!vI>%nz!*AD(R;AYjuu7=^o?J1Ys3;62bZ(B$MS;tV&uyEZ*#S<^X@!8}C& znOcUf;qR|@jIQp|U=xhrK%_&0|B&jVbCdNUW$NSQ>UCfugls&H~`6d$@t4s>)YaFh@KBsS$^KLR4ttVIXE2uE9?bs zoRiGLD=oZ*IN#rSk>RIf5^tyi zh!#+LoQuaZ2I#4F@Kg`46ZZM@DX}XpW0&`Kkqm&FL)82Ae(khv)f-|@(1D?mpTcjS zM%N_;P*S9kgzZc$o5Mk@H0gO6m&ISq|M8h&?-viPN~BKnM`R*9?m#6<+}cPox!C7N zx9he0w;Td`0mzx&Rs@37!Pi1EKy`^b5Qq9LP3e10x+&-(Z!BowKdQ0aNrX&CrxPlM zAh?S0*}V9`OJ&>*!;iU^XRp@(e0oRvrbay7_`O~`wxevLztD?nzv8w}yKI)x=Y?mZ zs=M?}K#4xeiv%h$oLzaKi`9sZAWpV>k((O(4vvlk7%uN@~ zLEgS=Uap&!q4!qdP^i@A^KW^1hEH(&|EcP`mJvBUf1io1h8XG#^9C}?8m=O zN&Igu-qE!M*&|4bcCuZl~X>ob&WTBbXn`yk{Or4>g#F__n6 zPtVb%s%{>rXr;|L)#GFz%4veu?#9YqPK%TlH%w4;cOi40&3s2-kt+?K$^Ot$;F9ZI z4VHC)+~sThop6nz#PU&g5Xt@geQrF#AX`lJZ6ooCo%*>y> z-8sDIxEZc4z!MTnWc(hH>P~E+tmXklUaw4J#M4o^nfEZleQpi;K~LKc`az#>Za6IT zZgJJ4($nKoDUDh*so_&OzJ0{z_Xm(v12W@Zm6FbyrO|BL1;+y62q8QDS#&+Hfg>b@4iOfoN)6CoSvPN;wLHt?dA0y ztobc-qz@JS8H-Ft_|sOKeCaWnhga8>%Ljz6=6VNsSw8Ip+DGZi+_mJjiUK&xRre zjmIT&fnbZzjC>Kr!(znFi$6x6PKX&yY*p~a9M6(x7WDZbJh7o4Xua=9=#l?gPRF`w zaX*S%+yCY<~s<~y|g%f&MQA?Av@q4tI*yh^Wc@vP58_d?9cCBRzbT?!D?*+AS z>wBY64FGmO4&2wFPt&zx>$1%?-s!+u?6##0JS(aUaG!!+v5(oi+Ev%6hRTiJt%Z+t z^t%-@pxd(RIb%NLpr~ymMSWV3PFzdk;%ldM>u#nM-CcATY`dbr+b>WkI{6n%%;8If z^zp{}k!z|`nOX}#vz}PU&|7Ovh&(Nl&XLSIo#RZ<(7G4%$$7q=UD^f;IU@S~vp*~O z89#6B{3`!6Z0-J;_j0;}K8j1oQKLzIj7X#70uQX`mF}a9x~Y3Eb9c?wJIHE{Pj3o= zri&X_yaQbrf4>`YBRNap&z=KsO2ty&BRK#OJH-%llfDYA?i%n{W|xIW_u6-uAQ&Hr z0*cD#ZV#1ctt_q2k2>_?*OQ9f0hfva`2Y&@-URR{qGlcGz4C4(kgGW17e`j7ny%kS zXiZ?7ag1*L!?5ueQROp>y2_lqaY+}WKdw#t4rSwlrTg{krfY;`T zEa*>LJ{L~97-d*QXUFE&1+W8j0YG~J2w%G0(mwr|``_$xbpUu$S?MC@&_TMTcm zm1|ObPqNQ=EJoYe$rEo&p;&{E<0o(`ukc3op!D3`>oT7DYxObxe+tZ=QCEai5>d&> zrV#}cGIPFm&eCTbmQ~`qc}B`G|u^(*F%1Z9_)aWra}E**ij7P zT6mqCt5baMER^0)EvF#nan(sf9tmsruySV|2HLyK#&ebdOGu>BZ-SWuTrAGM5Z(TM zg#zm)3*K=86vT+KK%mopQo3abTCac*fQ#lkuThoYX_Hk=9EG2?2VJ7Dw`B|Pl1CYl zh<-iaS^$$oiBcWRSG^b+Nh?gs`Sh7$K6FK2JZ9SXosB}S8Zd$ptzrq0y$rm-ugCG8 z+VfQzyB)EeE?54JQ{v)~3krzxgvYysc($l|9zx?1#NFU$Jg(W%Hrs0Pd7HWTzl1>O z6M#TCcH7QOh6k)rFUi9Bhv_==S#fuH8U_krIra2!{VQ+0<1cp!)}5b^kn)HSZ>FYq z01!Awk4<7yRn7D!Gl}J#s@nWBtPE7^W)4(W>iXhPAr$SP5Qv?TAfH`WF?<(SegG;0 zoJ&DSx6xIG}=TYEkO}b(7nC3lEY^ zrPm?Ur=4MAIo7%2r~f05hLWNb1;{PW(`VZVnRM$IQ`x|RmciG|vYkzjel5>^AuD8o zcVL5RI7k{Hxxt89qy_VL_lYqQ!|zFYpU|!h2Y@sQdyAumQ0v)Uf5z=TFHB{z+Uz;K zT1VFqn~tHfEHk;~@zGZ7uX>!pX}vuNqk!Z1MJJ86(o!E9+WEPRTYy|(Bal!44rGHd zVJ*Ac4reyV%LLj{u*Tf3AZ0l2uug3!qxASa+KKrl1++=#uxtTJF7N4me3D^v?C@PsQe20QwR_y2KL=6t zV&~xcjpvXnggQX$Yhwmx*akT`NfLN=?~JU&o$?&H7%%4v4L?MXC6-bVqazQPID}oU zEv~pO-l4gTkcCi#9DL{rio@IzRNHsUOFXa+5L&9a00+NSa5t}a3h==7dpR!v9QMQAs>y!%8$$u(Dt)s+496PjBH zpXk7J*E1IBE@b8fv9rTc$}w_;f1*Za_50`~Z__E#S45Z``uNUQa*GI@dhJk}>|jsO z-M%(W*W-5fuIaB}h8^}UAebiDNeiAsmC%UTuaTD5Iwp*{^&PFwHzm42AK&X@u6sx# zmLgRwJ7T55N(HG8=48&;GnV;kzw@w5P(ai2Iiu*d0Sa!_(aG$4SH2rFA0z6MMjTM$ zJbT;0s5`Opq(x2Eb>XQJnLLW7z+jx@dzA{x_S{4JbkJW68*8(!>zZUEyH>Q)@@f(6 zEHYJvz;izdg(Vbcr1=Y(?UI#GQXL?V>#l#G)m#l3-{#8%sUX3p8bt=m+(!lgF(d8Y zSO(b6#|9auuX-locJBPa_&I~Ti}Jx89(DE@q$m#x6<`7fa>^bhrQkhWL1?60?b~0x z1y4z$m<5#DYL48nx$s00#*lixrr!W_d8`&WlHU5OKeaIZPj1Di#BX&7upV-sU}9KF|phRB%b7*={1wd~Esx76rM)#~z2dPX1c=QAsUKPEp``8WK=|C1%+8 zoA%hujPT&sk*$WVx|O+emN4uZ#007NbfhTR+PJ&J^`Yj^Nfqi8nNJs2><5N$NepHT zfy^CXgkT8kdd1ojndB*r=IhRu;Thza`{1szOb7O3waL(N99ze-@_8DXo|$+ZVDtki zg(|Pr5gimDG_>Cs*iVSaA|4EBGV9*X=ofj&;O(V>RXNn!SG44`DzN)|enebgzsKLu zArW+{L0zne9BAzS_tFHk6W*^{^})mEDKcQVq9F7OiuusRena6>9miSLOp zVa4H{L!|3=?i0=f$Y1-wu!;SkmHZ!Pu1+PuO7k5w5`j))(Tp5jnhX3Tmg~dW=ex-D zUSuw-Ig%b94UfPODFB+38Fp^HQ2KF*wL|!)qa?QjLHL)J=gYWGyspbhKf&;nVR{Zr zkh)40D`6DL9;mG@5CV`ziHiU(5%vc}zU}lJufVh~QC8!l+Na7)`Br(xn|wEc8#jU_ zriuUfM($9V`O1#utug^hq6_K$|I{&5h;GAWt>KpH(<<$~OhKl+IxE~dd_PcZLV^Q; zU(VNl(tHj6PFE?)7pTe)+Hf)1uut-gd}1dAs>}RFl>6v9bJ%)?4rjf9a(s}~I@Fri z8kR-yu-3$I%_5CC7OjFoFoqg5NB4pl6;{I#)sSEvH_;+17(s;$@Kod}!oi&X5OXI)G$&a%y%KhPbs zj&fQVWICUi+9}SE1KXJlOG;pdBGN^Ff1v&HU|?$P2F4(*#_dW+Ct%{Sm4) zxt#gdb3e7@_^s}6mD9+o+?191Pw$WZh+wGgtDv+y5*fPd>lvZ)dq_VQs_DC3EZ(d~ zjIE1t!u)RRx!WzkZwI-P5*BeVH5#^!#iz;I9}@4*&!-wOZohn2sn+yNDhO?lKo~}X zV{P+c8x({A5&*MTT@kOUS?* ztP!r2{r-qfe0jmXg5U^>6UuR^$JAl%?Iq8Q%4*A6yH`)h*78E$z2UNWfq+7c96m;L zyOa3pEH=BE&C>E``Orjpfxu}J#GM8bXKdW)+6@CdgnwW$DH=muZ*y z%Twv@O)ZsK!OexcAS7s|h*DJwUbqk85)GJ_I#Z7BeC$ykBR@Yp%4nJAO&ovk&C0ld z&t6ZVE2^R>1Q|HSfw($qFWK2W)W)YB9>8E`kZvB)CVU6U0sS*-<6Pd^w-3GZkhYyL z-LohwEwRtf?I$qK5Z|&-mC=dCL?R$HlqOJ<3;J%1e$EW!8R2`iRRTA2OU>V%7!@VP zEW$0n$Pp{XA`O+yADDhM8i?dRcE%ThEkiaHB7rb9`^^hFnF4&~PaA8$i^;6N*F2V( zI)RG*q0~g|Bbz^L(ejZ{v|%UYCb~ z9T4I~dch`dffTV1)PrbCI^Uw1(g2hI9-W1foNIeRyzl6NGF77eHbIVOnlk{iW>g$o z7|{Kp|Jmy*v@j>)tS;WSYDU0eUtpt)dfkMMQSrjYVqg*-&dK|6T=*PbFcGM!hr3kO z{61D$`6QL9I<&P8Q9!*k>9i#T8MLfCGSep!hTSJK@3^ClAD z_OmIg8!1aauPchtxj~|KWy86u8h9+!m6s#1vZYdU#&6X^2XQd*uxHC50PG%oaDGO9 z&{4{A=;rz5D(77+XfbP7hay}3*zxt_sM{__(M*QVQ^sUkZlF~&CR7eJkoZzjW5(h3 z>9`F~!uOB!58rK$$!Scrl~(m9)OJ>NNHe-ahZ(HLT3Uz?Zn{l=rxoQMO{lblvqxZN0UspYDp>noxbZ&{+QLRd4j3To-uh>OXEd*e?)>p}EB0v@HMMsdR)b}t@la_C)Z-UW?f=ePC9wW!dL^Np{VB;cr zG5H8P_T}Wd(%Sd(?xDlTh|;|8$77NwtAC&UdsHtjgVu7tlAAxi!9f;nTO6lH?cxiJ z3rRyHLS8{18NX!)$QK|tsCSu#^Ed5w1m*DZ4D!dFrB+El7P{Co@Ir^6M;d`kF3!Oo zXYy?=11sg8>X}1J>ENY4)YJZ;-j+3|{`XO2c23;3d3`fI=)9vRbD75}8jJLjzhQ_B z2z5?>?U`wvWtFgDd(HN+s90`TC5#I&Jf?6_YPwh3l z9eq(0=pqLDW9yy<S76c?!;%WuuoF1}K$URa~pm+e-xoc-@Ah$iXZd$@?EU2N4@Q*Xb=MxkvW9saYw zdukxNU#_KbTwV6BG^nUUlP!_W`+g&{&$gdMum;9OKO8H@GtrfVjL4F9d34=#=t5DG9)? z{&^5WB-*H;v?ta28?W}y!F64Gku5!?3vz)nH7^xq3O&}GKgG)V_w7VFJ$6f3;dt$G zm#hnJL=H^;^5a64WTBo)|8V1InP9(NkXXPWpCNd7wo_&rbBV|b2j}9xK>=y{bjTSp zsmES=mr0!Q-I11)Zegm5xB5RthYfuJ7?6+<=faW3fYgzw?=>~ZX%VD9bA#E$l_?BY zZH;YK>*CO`hoIL4NlBPbiNb0+DUGz!((}-2L@Ms_OIUn*Ml|pMSje#bXaNyp_%3;K8@qWJ>yKjvci- z!mm^$v(TZ@H8gYILx@6i9sJM}Nx=Ch{UFD>mG@j0yJ?E>HC{!T7Zi7nPRW(P(AfmA zi766etK6-9)j)!D_2miY?7U`QpyavztehM#*ah66=0gNV%A8@&C5?bheJ1F>^!ZeE zAVMp5mEXeANS*sDG4sWB>OJx9Kwh_E-(B#AO3x(uuh$qU%vTx)au+STIHk4UR#8ILmx9gxAX>0w-QL+DTMZ)H=i*w28+aHy-a${i zL}@@mR2lFOUc+nuSR)w`qr~)O#7OpVnMTW{lg-rCD06_KX>15Rc@zWl6i0+rXVHu~ zYjuTn$WW;--EiDNMeb*>s?W2(1DD1e5Tfg4gDFZFUh0nS$%2$;oHArN6O4sO=aEGPdAL z9#V<^xqV@|H2mL^`c7v?QsR{aYZgbPivK+mlMA?-kCe(XQ5B%*UnuIWk;upDs;yQX zd-Zec$ApHwT=+QSPW%@aMIWy`=qsd4NtxoScxJM9B?TSL^T9RqT-s!?!hgaI`-*j- zN2~wx*QF2bb%up}ZkO!-PNlPjv39U+U%jW&e6Q5*KzW>J5niN>(valxiTO3<1=(8IS@ zythHqDsq~x41NTYhOAojn+DmgsJmt!{-U07JLxV^%kNY4_)n2z8%uf-tZOb^t@ua$ zhfv$Uf?TzEa%Ytj(@PbNF+{7Xxs|_T7|_?b!=$I?)-#~`YC@y6Z0K!xl;M{e%O7W1 zbfEwC1x@HU0omziI`S@WLyyqAMP5*#OL2xucg-%oNLP{5$+_3uV~Q>E#jrF5_!evs zE9VnSjYVVpgUsLZKPv19elq>~@b6N+Frf$bmR|Q1A(!^iSe$Nu$mm)l zO?GXS#79B1g#L(v_9)BU4P2tt#{n{^?R>#`LYlBscJp1;fz)-S{^-sn&NqK&bv)Z{ zeo2)?m2{weI2E5Q=4EMF+MX1cB}W@?>ML|%oSuGh4dvOiCo_MZ^7~Zdp=;4D?n9(p@QM-U<&NnH<-B(X zg4T*kg%c#N#Zefo6r>uM@28KLp6*$vApqnJHuRb_psd`$D;3e(t7V_^R(o+P%+Wl7 zXEM%d@BJgJ(*M+x3@d^iCNtu49bI$>4$FqU(phuwNNJI0`Rm=eUjoQtIsQI-@d$P) z+{_TvBo{9jD>O6*uSb{J{P*U~)i(2tlgZ&sg7JY*91s5atEj>O6jlX{>!mmlVy7W` zxzc3$vKVwq2O^Q~RqSILYk~NN&Tr7{4OKuGo7X>UAB zwt%N|+39?>UwiEOWDpt}n^lL!o z?7J8gFYz`|kbLLoYE$yVAY*%AJnePmj(Fq+RwH zT}g)b2UjKJNAnETTixV9&txRnyjMVj=CdB9Pwr2@h|Xze2U{+Cto&X!%GElJE_5)% zgI(SN;P`ovbbOQNp#;WbTwK;h5ybTTtR*4NZb_wzgiptfW4PZbpPS7fioIQP#)%F^ zEMqwYeb!EKq;u7gv=kpQ%5v?c%F$lJ^Hb}BLWgWEyOvNic#oE7pkRP&9v6%E&)xx( zSp9@+|A^CbrLj3@^Az{N$3=ezMwSVZPFKm(lF-jYUAeHV61jH8R;uAl74a}PJgUa5 zYOY9|=@5hD&WX3vn~Xd-{m#KQcFws&6S;R(%p0*`1qymOdEWwH*)|ZVQvO zy}jK;S)>R2QSYDF3>uUSZHnE4Z#dkK2Mz38}?ibP4&U(^$zmULwf5;sBa498nNP^(g% z<=OYMPoKcl$F(QAr=ODke2$`lpRv0>4xy9$Z^zgRIv_w^(~`IZ)d20DL&u{%&JR;f zN9USzY=na~N%*NFQ_4?k^`(6$(t;tsL3Obv+KqJQ)RG;RmYB6?)*hEw>~u;X~^-Im(Q68y&PJ-?QHPr_*GkEl|H%VQuqaW^tU zx&C)=Fgu8U)acr)g1c*xoF4^}M?r;$;g|ON1r3d4($zB=>~fiZ)$T?wQ{a3TMwo0$ z@k^HoYUesurIfM^X=#0%%%7lO9XBYG`F@b}lr#ffO^ucS7(2?X>0#dbPu2(z1ic%B zpFK|M$c@!a79+^~*`yz(@upWgqP(2`V-f9c6SGdg&rJw+u@EBdfU#aP+3-I1nzE;b zN~osO<8CdG%kC+!z!E7SZU<&piT(e_8|318hoM?Cswz9QnW{YTV;RF&RhT>S z=B8!%)0&!Y9?qB>JWsdzluE30J!O!x&pvfHhNXnN#dNH|xv{AE^=_V-Ou*U6@?G&- zosgJiZpIs;mk|{p-8T^71}tjI)%_zPs7q%0IeXZw==hHMG`1xE4o#V7qE?CFz{h0w zTt>c3MVls7iQ*cWHxCSI$xW1V_2>z2g1C~2Ig(E@gwHdyuZpDa!|)SN;R>Z)QW54e z0b+xpm((OhO?j1Nvq2O}B#|lqN3wu_0KkcEXI}}>{_|3vVKI=U0HTgLVR@RDgjBpK zO*aRshHs9gB5y`$q>5B!v2`40;4rP)}uoW_xOBjFLO%Xi~BE~7BC1Cn?b^LfBxhDOT& z*f~)i6Ldb>KV&*~b>ADONyznI+S@l*X4AmSx|=Mv(!%{*+}wB29PdpTGMh)bW+Jce z*y88`vO$BNO~*#_S(eh~L2~1AprTv6b85joRhuaB!1Uj*6$mmM+vG$QoHQG&-1ojw zmBxGv{D}Vc|v+V{}03q BjYt3h literal 0 HcmV?d00001 diff --git a/runtime/bootstrap/src/main/resources/static/avatar/hezixuan.png b/runtime/bootstrap/src/main/resources/static/avatar/hezixuan.png new file mode 100644 index 0000000000000000000000000000000000000000..2bbadc29721ebb9e00f19908870d0f7783951369 GIT binary patch literal 149417 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≥#JSksv&=t0wk>ndG`t;>}B7GgY05v zMT7pp!t>QD##1g=Xpf1m-G*8IRbzgV^Nkxwm1y^y<4y_;LmbaiI>GL8puMLhNHb1# z9kJ+A7~@X$SV0>zl^WqeyYGHTd%ibexIUq}M5qN!;jcUL@@?m}QmwPrJwjjojPg4F z7X4^RauD_IFzp#WasS!3MFvcxEp+QC*NlVD2oauzi@4dk7>nHS?Ll*>udYAk>xJR* zqJBh)Vvc{=VrZE2v`Nsp;8`eNAY!WDwaWt^qPSV7hn32X(@=+p)EE|Hx?faoK8%j5 zN=A9qU>3#6S9})(ShbIjd>(;4mBHKF#zp{VWj#%KTBwy+^NRU)#d!*)KE3W`IAbbi zj#qn`_3<=?J0dMMkq(^gi0x@_K| zT>fM+yP5zGsSs5SjWmezHI;dx7v$puUuNWl<7d|8XDX6f7Sv$iRgT(DNtXgGr;*Bf63MfZM4k(3ozF}XRhmG?d`INqj zz(azrKGKs?XhRiRRbE0xh`j*orKgwuT~|Nnp7D*0xMEc0ym=Hz?NrS8eDNU?%FK== z0k8A$B5OBd#N%)Ew#ojDubL|j65QO?Z`dv-PHc}@YMj4T?!F^y2ILfh*cgqrWv$HI zYJ@MMvuU5i9&!;AQte(G{M4Bvltb$|mA%t;k?r$4B;7{;M{J>J&kN5R^fMC|ZDA&% zBrm5mxh-WJ4l#%&Nye~-0u1n1b&PtJuNu@9c&*tGcK(pA_aNhNb&oXu z)5MD63la1zedS^hGt)yLzRuI~-4U`wJ7!G(IBlC6_|O}2WzQvE8Io^%CpWv?=rcFO zlbmg^n%XCZO%E;}B;v&80oMsZG6*+bXEkJ(eaa|7>f<8`{kkDUuf?bKg&HYFYX1B& zR@51eI)C%YYnG?w@NGYQ91l+{!hg1h82c?cNkRLA(f!H0m5DG6ld0xW->T^iu7Kd4 zM8^rSAh-lHj|P4y*)A*25eOb&4!w1rUCX00HO#TcYv2H&~!S?BF?9U>}d(V zQErt;%1L&xBOq=IVp~>TQ?@(Pl{n=Lw2)rmL%%jQXf`Z#*#2+6D~3(A4{doSGB1w*NCpWRR5ISDHVZh*}=|7B%PUNQ(zg zuwClo;wk#|$FBN6jsB-jl*q@)|-+;lKZn^1VbR%KsP<8FWh@1%UvjpA?GVzRep zegvaVxhLl}BUppK{`d$*Y1$!TmgcV0j2?0FTd)TnH#n~h0`RoT`T;);h#XT)J@l}$ zA_W{IXJjbhY3>uDo{fi2E%19ulTSX?|)}EBvbUf?@s7nfP=-KMU50 z6!)cSbK=gaK_2;xUfIj(;PoZgM=$s0pq>R#k%1Iky6IyYLG2xau7P3SuOMQ+^qoF( zR;f&OwAsI7g`AunA7!#Pr>5$ECK+=@S>oWK>f6Q0}t3351%PoZX7+d!3`k zK{xSuIoTNLYO)%YfA?ivtsL=RqlS}CLHf3|(?+XoSFD6C9-$W92p2x5)F4rF5Tl~; zcvQS+i=~n9%BL3K;x07?g2X9)>Hz=&J)yT62SqI#r#}l&RaGQGjFqeDC3JI5aG9K6 z`CNTN$8}pjl6fm3^1rR{1+_=drHPz47NiF;Xi&{V#iAj2jO2W+mnZd4= z$vrsmBVyS;b+_qOk| z#w#JB!bR499%X@2bo_zwr1R)*1!0O_$7QUwR0|=DlfM)k2V=+wJUCDfYh*w@JPLo0 zG<`pY4ilbI0C}yuo?0>UlP;|0bm*++xzs|3ZjLhnDwk-JpnJu$M)yu`UvW^>`)%JY zS}Ciaw{pzRT|yaLOgzB8xEAIfHY@dSQ3!L2ZV-ei0hP4{MMc8`!#iy*CWK&qY$`M^ z)HE+5bI-+k*eWho?xf_My1DG!I`XmLso19g;%*sxKqCEp0wp6x{k}qTw*bS+9(Ugf zLcg|%;~pyp6{_b4%UYG{a$$je7>4Fa_s+zyvznv41mHdd^ZtHil9{)udCR<`X76tL z6%KDz^+v%kU#NE*mfvQ5;UYHo&3`tZ0n(RSs9@3gF>gP^^bo3cqb=#8n8(`FG-lD; z+^-YLn>?|#8HVh;j`AnIcj-WR0JoyOT-jq}si^z%22us@7jWE)D8o zKCIMuuVb{FA$yPeA7D<(28j|pc{lsb-#CLn+k&bI@;2Wp082ST;C{WFy9r5=DoZ~p zSP%@j#OX)}r{M?;5PBYx^=|E0t$JAUiW)j zWLXkpL;OF>gvUWUe*`PLUW7(1570;x(Ske7^wyrDRxFzzeN1YrJkKbncXx>}Su~OZ z%BF+BNYeeTZMt7$fqfeJ`g`uOn{}h0vhTack};I3=6MJkKMIeUW-kx$!F)%%bmSf8 zed*y2C5Qce;?JkP&ogBLL1`VN$9!D;6yDTf1B=gLaYwhl--6VdYz_b-f9J=`2a{;z zq+#a`f1)*m6ja~YYo z@lu!}u-h|~{bM81gL7q?Gnl>YXW&aC->y6Eym_ypiF6fEihH`3oF;MTpPf&%bUn8j z5faKV-|BdP5_ghfyd>Ai0_4+S>b&)2--6<}d!4rR*3dc|{sb@O3MkC1L4FuUowr36 zbh}|eK=4e3+Qr?@J%Y5Y5jrVZ(F6oX)~ACAN)rk{WJf;cw2eV z+!yF;jbTT;)EzK zc?&DgoM%|>Vtn_4e3CI(upa&4^@T6&WmH;HXd$^#A6E_qu7H?{ff^ zbcYZXTIC{nuWr_VDP^%;@Fxf)84dUAE^`R?u^uv8;JYaESR3Z1j>Uc#-H>v?$60z{G3@}Hx z(b$Rl#3&?gwIkoZm-O|rFE!qnuEM(h;&pg0C**RhG*|bX(fX8myc8f;{#c#`jo$r0 z9k+M-CW%J1FQFxc@TxWS-387{YdAhNL%l)0%2eqWzlg^GBBUuISd3fZp&6wp<(TlM z3kd(#Y8tV#lfzYtdIC$0YlXghN6AN@VHq5jd&ElH)k`?Eu`Az?4H4}BHF)W#*Ryoc zIj9ecq@@)zCkd>TC7s-Oc=Ad8lGn(_VhdyLg?QM0%x@zj)fphT*YC%jsTIqrWMpzF*OOrYmw8p6(lnSo{Sgsqf3Fb00YsLxT-nH2iu*uq z4=Fp>=hGyyFsmKmaQTf9Dmn~i*_V9_>Eo=nCgG|!gy1c=U6JM-rLU4?8%%r=o1y?h zL$THB`J7WWt#B~&UslofY05O@l1dUM;rO#huIuNl>5n*n;b05$$9zpXw_i_iNw~j0 zjzuw3MEaIFNsMg>-LoL<f98WQEge ziaYq0;PqgUbHRg_j#VjTUc6khrSLrCl#ffe{_J38*e1~lihAroNcI~& zz<)qzDMYeXUlkU&x&HWG-`BbwfU_x}BSJbK>|4rWWN5Fn*I2GqJ7a+U?a}rC7C>0{ z75AsBQK&Mi%;^0=(8xmri7DXoMOUG-XHT;1=FYMi#HgSl7~4_#%G*P#^U1vE`2TY> zJCJt*^+x;$m?T`iJEbh3)g(_<*AFz8eM>fIv|$owzv5*mTYw#2*tBgJ-hq}NNEW*q zviig!9Cl!gBPf8&EYa~Zs>ceV;DEf_O$^Li=x{V+&$fGnboJE_wN60%(x?Lt7`xw( zd`J_vJStzj*R5zVDAp1mlb`vw7r=<7$R6tP=?AJKzoLI=<5tF8fu)CCJf3d3hVd&^ z-SlrUamX&xf2(3E$MINc)=vO$uH`1T8RV z`{DjI6Fqm|=TCW?e}t-9tgB6!P^IjFVZ)#!!}k6B9XdBsnJIS zz%rV$5$VylJEj$iw@IG>Th-KiX)9PxIMX>zmKe^2sd%y*lMo)Az=XNo6Px<;fpu%8 ze!3*J{$EPLCIbFh=yr2Ae}EtQlPRU!owL@1Iv_4mep~V>>wc$J%=DRi=~3U8DBNxo zX$8PG*8i!P;*Sc@Ap!660U|BR-v2h-mlfhqu{Xi!(7fy2CZ#mSi08^j`ZKu^oU^W@ zx_aeD{4pByk9`6P|6LM44)5BdW|80$cctBGInv&=T)XkR5qB<=;&UeA-%_&MZ+j4F z=_KWZ40LiBHOscH-b%cZg~3R{B@m+(07{bQe=YaJ^sy{Xw0aT+De!RYuZf#zG+Uy#E+U0 zWI4}(!|N;vul|8)iUQ(!2<}g1wd`ug4~|>3wl77^0_9=8Zpim*of)<_*34gcZV<=vM^<&ZzM`Z3vdA2I?e7q;b3;RiHM#l8J4Da zj0Sd1tjR@vU_4-c=4GnXbFg51)cGUplwa0Is#%U9Xqg?8Vo~wasva}`og8V{fY&<~ zJT5wYhj9g&&WeTNXa31|;o*>Xn^U;FmU;Sqe&NYo84-qaW$bA8eZyYm%POUa$FMu^ zikuKN*K%wzNE($aRX?%fQX~(9AsGZpXi!snC2*k~mpyMX|J%WkX}D@XlR6=wvX0G} zS`bP$k|EnP+Mw-wG!t`mp}uQ57TzGD^f#)EpnmL%XW+DZGn* z!Rl)LvvV~3wo~W79K?1A{Ih{*^X&|>JxIGs)ZCOC?tTa@KGlBr)9H{sE8xZ}hQF#&HH}yHfZ9x?) zO+jz_`?Q%mnKw#Ka5h1%Qggfa$Rbv^aMNSRj}W5W!beesWl9ZE4D%CJZI8!L{$|VJ zV;RA-_3jLPsR3B^ZuIhUH_#vj*xOH5v*ZHg3*s5DZ>pbpdF&r7jB`ZsL)d;v16nW( zkM?XIC5(XN0jmrYhS>WwxXy^pffwm;;lnnxNanLl!?-rxrdVVy<&+YIh7#73;erV3 z3!anVybsoUc$qRne~_>im0pEa{_{#J35U(J=S$rZ4jc5PPj9MrwXz^TlqT&hs|9Wi zmU$0CqFbexVkH@QOKW zZhJ(d4;!WpaA^a^1e%;3m5#aZEhiQx8ni(_twqsh$yq1YwaXd9XNl*C8Y_vy%GXd9 zoci!`Ld3WhLN$&r=5;98dPzk7loR^ucT*^*25-$$pyr5K*G;}(8_V%xF3=FAx8vKS%rP;w({I{9MW>IiN$BxV#!ELNv2f%Bf}`jW%@j}J-0 zY`4MPpkeQK?Fc@g(kZB4xDUxHcpir4W#;5useS*AsC~|$?`5w9yIBl5tseOav3{#& z-P=vOb=Pq5No4GdnDLwlYdpL1!B^2zV+GQm0%+9FQj#Emo>fS3?Qv7t8D7ZUn#hW( zEL1!ospbYY=X(eBW50belTYVysi9WXm+3M@?7n2sJHCrBpRN|pr&K7u?RTj_T9NQQ zHUYHK{B_KTpTZ=36AmeGUQTjHQE6+NcL+M0T~?}Axrz9LtWpz=?{tizXp=21d4h-j z7l^Mz5NZD<)veoDtxNK!aaIlv9a_zYc?B!%UL=1p*dI604052%_L(Bfz}%YB$sd^& zraQ{HMn7Elza=_<%*L>J<>Pv0BI`3rNr28n#!3KUXFY_daYp3k<@mSyn;9=la)^SI z%k9MjbL9UA@BVzXy06Vh>3oM}()vmge_`FD&!$sLyWss5 zHLU+-+1J9phsWaa6reN;ip)>1GsUbO*vPtgt+Sn^rW2<{ln~|ha10h)5>0SRr#c&| zGyz+9mA@ilbIZ`?o$i<}M_#sX#l#%y$XJAB9Y6n2a>ezSC-yJC|1J0y)cf2gsLtF% zBBbl11pNejIv;xb*Hp~s1||l^{Kvs-z!{0c!Im+={Xn(ewT;tj78MFHI9 zJsVZW3sWRwU5qSRPibRiZl?cy?+r*S2Fo2-{ExR;Nu`ZUyv|0DPCy3q2TP&eajj3*kbN257G1HWT>G?~~UYP&7NmWPHW}oWQ@o9%_cca!$73aG%Qi z^{|>JJ;p_v1l3Iem4#tiYOq)zBG@8Mw#~6OJ{)w%eImPCW}v`|NKFuB+fRz8ZQFZU z#RsN{HXq@Cll2I2@4Jt7|I00)GTOk+_aj=+uQVAPY^baUm-fInRN#J8Nc*}YDuBc) z-Je|%EXe}Ob#;H+C;7JYkkkqrOLSg0|Bos7y{BPbNT8A8t9Fm!O$YG+71fuAv64!~ zOyOQGJcwU##9>KaqR!f$rNDz5H#~~f%{Ab^t{AbB_Z~S<4KAEI5v&+3Q4il*9u`@C z_30v&k~Uyh(P+9nUpHFVFuG%M~_q1#y~QP(u>sW9$s@{TW1xPVRPI z{s4}e0C+LdlDoY?q3i3IPR9SM(^d?W+jVeW?hP&StjtWG-^_As%ynXt9|~#KsXOTW zr*Q>r7qX!e>EJJ%lLwBiFJ(2^+0unoBhBV!DkjM9ks)-*5GK{!BGWs%f)F}H@l>@0 z#)aTdi(bQ97$#meVe_wJP|XqKWeVnH!nyt}7a*a228>O+8V}d}{)zAYL-^X&5)YCm zjlUT_M}#mltZj7K{wyldI*9qHTHBG8bj;2fLglBRH8aCc>o+$nD%DJT3^uM_Y~1|% zf0a-K>06;qW$6MMhl~OCS(J|FmPme`XX3@H51?>{A@&ToD`#KSO5z>Vyx7-wV$s5@ zq7e=kX#!>6vn;n}QckZ{%k*yK+g#A{YHIn^_CH(Nv<4B8Y51Bb8-v+-a7TDdD8B4` zu{WpT?@Czde*h>47l7Il<^`N_d#s!zN z7!~md#`>WYiR#;H+KC9S3de)_*AM9e^N(wW##(A$yDe7|bK{{E&;s#~+UQ^*vu~v* z4AY4D_Z%2lyXb?&y5PK-7BQJq{{^(AeL zWVaBRK~rQ>e9G6L(2^UhrO#PKM@j`^5W&6z1G&7bk3cgg*~xz6g{6;`<(um!)PFr7 z%ngZxMz?yZrP}E#G+5Sh;4?{HxXYUIsvw`z^BcYvsC*h}Uz3TAz;PsHaosj!RyV{K zXXCVzjKclUZfBOHZJ0$dd&^6Fw~Psb|9$K0_xBlqfjkFy)6RdOh0E;HG1R&bz*>5p z?$rPWYZf80pQcEAhvdQ4N0Mly5z4z|blQui5B#qQA$F39=QNGHO^)`SoN|U;@e7oWB&Ds-(3l_+KPMd`O>*EcGPmCEhk6ct11!7uno|Mgued~>buBb4pR z=`Pwbs^5WbY2-o8ly64)9NQ~N2L%S1e;D5X8;$62SUgaj1*8ER8zLxW`lXqn94LAS zi60WeHO9ftZw9iPy>pz#$AeGT_A2S?cfq(2pu?u%@A*z{XCG$D%EPOoL!@8-n9uc3 zVu?P?gJRr7A|0ngeF1cgr(W5d0$mX#Aq}B#L~r<}!RXVS@Uv{zV({RB9D8@#65<@F zWDuFtL;Al**zQSRHRFa=wZ}9rhp2!2r`ZUxwMFlI8s%>>pP(j1mJJ8^5H$YjtZf=HFMepplv)V zYf@Je(v85e|8fFc{%}xthG}X%Nb%l;(TD76{5i>$)%gZtlB+a&R?Ph$Ig^KuCsnuU z;;5ts+E7CQN1!%r3u?m``n`X;ODw!z{WmRe!eW8ESU5Zn zG(29%$^G$YXSWJZODo5cc`Ii}3sE_TPSWWKD5X7qLSl_H&n=E$ZSRtSh>anPEXU~r zW@iU@Ayo9bhq7(#MDfW#|0^18DByZfoq0!?Y{T0z0c-?3^t0OO>G;8u1caGX$v1`B zPPqhM&OHXm#`MRO|NDt4Ev*|1rY| z8Hu7CKX6vax)5tIoMtm`%;Oil$Hd?)W&8?JTVKIoF_gMr*w@^mb%SoWvx90c+krh3 zuq&iLp}xPY(dB{$;HuxoBq3mDd?;GTePDkjZ^wW96jAv>wRA( zC6ucfSKrpXL1=nEogOWVO`QmnKsTh--5~vY?aG~}fY(Q~Mblh1PMaNVL_39^RC@r_ zq+D$poyv+0`m_GExkagPnKMjO_DzeHmscHz5{TSd`N%?!JiN$Rr5_;)0<3Mi%pI=8 zx~q?9q=n`p_{r}}?ks$|3s#}0>D$n_mculHKgv0S|2p=%{iE%%>;Jfz--{WQZ$h4@ zM_{Pk^;*%i@}I?vU!*k-a__Rvt;0-PdN4sANy-3m4^$dmZ|(lkr;n5SrZ7RhS`ZPp zYEc{-^IyA7neQc^azpa<7aEOz&~N+@BmVa);D8fqxRsAXf1ixvqe(~Su<=q56T{G< zc&%k@s2q3;_#yN?OqkG9pA}RZut~K`@FTmyKl^w>c|00}Z(WuLctVJ1#DCWwXW!;s z3-=!}t<(NKt$J(XaooK}0%=BqbOQy>hvTdypTIBqK0>QgN&C7Np>`v7r@-)imz~=9 zbwI>?d6XE6O=6s%GP z4B-S1#jk(98u1foJw^otpKjKNd~&OkB^kzQr}7-97K^ALkcs*DBtoSKp2+kri<)WO zh|PoVWzvGaxqrl&5ABjkZ2)n|IbHL0c1FWyy1#p7>!IawTt0B=(Dqk#qaG7l_FQVg2)OI^n zBmXx{j%qi}WW9byB-7^B`FwD2mO<5Ypmd@%$q(UdLH~(|Lar_Sr1~7B)!eNxQTJV! z48i*Zgj#Vz8@vhXl# z?|mRqo2;f?a@<2{Fnl>&Lgl^!bHF`G3-G6;29Qsj+^c(XpvSaQ`G?!^U>0bj__V*+P!rC54*8^r@bWp@LDEmg1AP1dH!-oed@A{|N zYq4-qAascUbNR6J-m0hf()<0K>~{yyx4*9s_!mC(f!jfb&b)CF9-Tniw8K7^>ffHD zN3?x-MppJ^zKvuBo>LrYj~Qg6j+S`vOWA&oq%!@N;HfDgko>^7>@6Yfp%hi8BiK8u zGqGY>i8U@*48nJ!^`*DoGZ6MMd!KyH$ z?N^nix=lw_3-XbeTK;Y?jX8-0(fVH&krnl)8=!EA!;!yw{g-3d*W3tRz zX5SyAg6#5tdknNh2~l6ODnz54tD2$Dop8x01GJQemwoIZGoMl=p%wz+lG;2(GLZft z;#>$WA2E!2#GdXudfgJ2CX({AHh*yG6BBBAo4E9sIi+_S+L_D7oX=!=+3)^qA@HUh zh)9vIox4m}iA`jxFMyfvFSv--&lzU?BZ)&?{>8V^Ah8RiE;jmBPU7q=I0qITaF`{eAeAe3Zp^S z?L8)D=bM;ph$UCxvZOTztNvOj2RGp45j3(HX<1LSUAt&5rKW9hPvX@aCP6x}38?X- z&w){eY54+v|7Gwhk&mAR<7{#=85K5ZfQBv&w+q5Hhae1l#Md9_M8uif(?PVeM(_GTGKUdWR#=qVbMA2*E5I^&{iT1l}_o!o9h7i@KLX!n%6-CX_v?o znG+mPf}+J7i{Gum`ET@`q|}3cZQnQ;;t4g}I4IuSVMO?h=6gTZv;xqsSGr0b#+5IY zDU%B}+MJ$XIR_8cg0q4lrCRkZ0wevgfMU`+3&r}%%4sQ{I-^qnML zYHKx>V}P<5o3+eOnUtlg|Lq0Pa1x4b9}zZlWTd%v25Aya%PMJoMviJXT$yJIzh5df zr(74GK`od^t52kUb0tkKJ|R+0xUx%iJpz|5TNv}dQtN_nZ}`*qmbv#+Y$m$H*GOhQ zOZRN(6^5n_abW_viPgiaD_~56exjb|-C5b%#S%^uX7U5B=K=^z0IjXNXN%cOpzUGt zeDQ$k{zSb*U;f^zcEEq^#K&g>=J6||-BeIv*nhc&hrUv{Jk_PLop>zobw|gP%vW%o zijNOAloL0*=v(nC>f#%$2B62(_G_9UVh<)MuM;gtSrdXUgpEoh_Up%A@^iEVr=%Zs z{+B)nt;ygP zGEZ5F*1IhA#;;m{?Ys6(ii=nADUWCJ_Yn4eJ{)N!?#haKZSs^1 zfwtFj{2Mx4)JZF5GSy8gl+Wd+lD{97kdz|!ITnv4{fs7SyMl+=2Pb!)Q2Z)p<>&r2 zb8uV-U)zhzT?>Ypsf==&65_$bGiJd7kAK`C9L}4$Xx1jX+DJkHn$8hlhbh)tcgh!h zBAEy>67xmwjLs*l*fGCJeGU|d>V_0xY?EY41KEL|B?^6(BqJ`wG}n6k&xct05og~b zKH;-#M(`(wZ`JIQm$1Q19#}O)+%Pxol}13Pq!f6QCTz&?Y(P1(KBND`t+!T}@Z$P4 zz87D^uHWVF2iy~8oIE13VB~um{mTvU{=RomC=DHWWK*9Ex*~nADN>`lO~uhFXFUGf zpy>4K?{#P(7wd!`G*ieoNP;d231hxCvxNVGMi*7Rne&I9=k+Snuxr8?l#;I}n{@5Q1DgZlf%szDmD@&*I@%k}e zTCev@uCz&q~#ofQA)>v$A@!so2tS&*g#d%747QFC{d3s$Xg%bDqkUI`ewLqr#*)FM|qK-pj7m z-_XaURe4t)Vb!4RPjO8T0*|GUK-lNg;{4^ms2RjhUl+em=sl*n%QONB*Nc8gp=UwY zzx*n0mbx6JM%l2$*h{aSuR7z^Z@1*b4~3kd1iRSBLxQmnk^diCUmX|a*0n7|2%?k% zN)90?jetlG9ZEMyN+TfMF@S<1EuA9W-6f)cba$wPba#Dw27R7$-sk%V{mD7^>{)y5 zYpr#yYwcSMT+Z{4^U(YTlJX4Kvfq*UW$b$}PY6y#8v$GT<$LuX<6Kzx8?Gtk-;)edchjL>?OP4@Us2cziq7UD%TR`Mq*YhM&k^k;ylQ zv5*$Em|7^wAmY~jkzcenBPwCYNnyO=P*}F=b9(u4I=!)S`3L{^Y4}fyX(e|XhriRA z2O>8;EZ^tjQQtNRUs2|6Bv@J+?j-%4X^sCZO&5adb@^5+QO%%8AswNA`mfbqLW_Uo zcoevnm)wfLLr8aFsgEIo6}Li_L%+utO1q)7GN|N7ct(&6t9ONLp8l6xg$|~5lDz$SG zrr{OFMuF1Ef0JucF|dWlO@dFd3c56Ec@+>mDGVwAS!5I^*{v|L7+sk(0MoGQq9q+lyWEQQ+`yFnud%=yCLx{HR+;OOyQSoQ7sxMPK_vBDBVAcf zX0cR@8Jx#^rpHG0QO^u|kcI|Z>9?Uua+SAQ_@Z!got8#{1I zj-LItT2u;?e~Q@3Mo0-YAx0##QXV>9o>_^^fs{qWOVl1@fGG}uWijGrukN3&;lH`_ zuYCkPkm#AIXM8hr`|6tY=;esad4*PAYPT)#)vHqCQDc;O0qIW>R?T3n7P$8TUi&8T zaM)YE|9wz2T3X5xm%E4MSDc-bJf>;L1R`8Ig0P2dVH#l%8K4*~>e23A?|3}Nk1znr zDQ4nc3l0|vUd8{MqkBYSCl;s$)eYuv>IQI-K0ye{B&d?>%fY49&Kp6L6TjRVl?vx%!MfM52`cs8r6&R$Y_&n7fDW8$F^UVnnuY88>D*7y9CYKclgwIm_2 zb-{?$^zb|ERb9fbXm`ZJ(X@>pq+$|{Q`4Y8{KLcM&nRbKEH??|McDQ>%(`!`@>4v- zT=Hm4>D_(ad31E{1#q7Qj`}TM>11PaP39d^5P-BZ(%bMb^IbS(cQ4wv)u~cVu)x1H zW5a8GWG45#e_C1l#OAl>?Pn6)5oVQx067x0=vb_98zj_#pIl5lBc5LcpS>s*HF<#c?aojv~V zBk`Y@P03_9*_6^#J^DA&@e_f&%{V>nEfeJAwx7_nAoJ{U*=A>3*nMxSPLB1LJ}NrY z%i)zwtqoUhjk!lwqdV=@%dT-ykN@wd6`?oQbIMmx+MY#?_Ov1(rJi7`;~}HErmFVO zsyviOx{;w~;hSIn@i3!(ONFK-9*oXpZV`m?;BRUOoy%w*+5EM)Tq154Ke4ZFpqnXy zpj58G)v%B3P#H7<*xj#Kz1*i?8I;o=t}bQ9wq-@68a_G@&y+mHgNs{E_r)Lo^NBt_ z*CCyHvZGDby$8@oR7his(9AL6X6IJ}0xS>3kSM2bUMt1J)k-Jq^v_=Wc9Ljt)73GR zd}Q?RUa-ppw$q;;1#yXMKW_LV>7p&Q=0jcB{kC$)U?*-EgDRJ%lDRhVycg21_|PKi z9xtalgUSB+v2Z-ie|%H$ohdM1Y7!Ooeh->2cfm`%N)R+$x@j*dm*#r=Cx!bGv228|;s_GhYLnplW|e}9$c@B_;H zf!@hlvpP~})QOAF{AKn(p4IqdIrUwX%y>>ma{B*WSw!=gB zHG;K8Jk4XrQ@JogV6w~$EY74vMztVXr7!ulEAoGB#)0Px2Cp1O95>msAh+c252zbj zSKn@q=(}=PTaUdv;`b3xyLscuK!Ts@Ny5R0nSP9RTInW>-WL9=NEiy6HMRWU3G)-c z3jcTT>Jx?!-&W#W`d*JC@dMf1hrhypVrNaBU#dM3DJe+`b(X4a6u{m^8o);Y@-=JN zvdVIGO*-%y5^MkdfaBbVT?{byeT7Ve#VTPziEvSs126a7-)5-kQvz5)Nb(1oh92=Q ze%j!-?L#@SQQ;k=d;I<3gU{Bc8~3ZIi(TV6^54Rli#5CNWtqV|!DIAM(|INBMk-AW zlCMJY)6~Oh%i)K`KOneXkS2NyugokXw=sGsuK{a| z4Czti5Ohha{u$hY5}JGeLN63FUMSo72NA0?-V#)Nmph0^)r|2MxVU4WoUq)K=)|(g zgloOXPtu^Ci*&!KW)VvFlz{ry-|a#sYN_iG%iIXA)3mcnq4wLzZ#RNf-tPPjFRH$8 zrq#FaTAWAaynF3`RwV$bdtRwK-8*h3FJkoXD!N=ze@2!^Yg=*&3JWnoE?D>4liB^>8@5Ui95JrmD z=>AY=ck{dTm)lcF9j<>Am#F{GSVuA8~Nw2@NVkT@lSOdLD{hLpmRC1ZFR?U>~ExOX*KT zozcpePcz{opvL~U(Lq|VZ9oFO@}_?3IWi)JaUotMSp^a(Vf-Fr%1=7S|Ex$-f3$Pd zGOO&~8|z+Ds(%coQ^?S zy~_}~)?MT`cEViSU#ei>H!1rc`)pxD7-wV#>l5tQuAW2zKZP)mkN4a8j$8xrAi#4+ zXQJQV1vzgG_UlZ~YFIFIWFq|L|H1GkDBEe8M?sFvH-r=j29-f0JC-BMkEr6+l4B!< zihAxe{P#H&a4*(EwGpr216r|vg*~6~*5^L6WV^oUn)4u$?Fe1hK)VRtpKOES*Nl|2zvLMFFn z2|hN$u=@g&2VL^BN1F011_KiT`%t2$0U047mnwQ?yD5c<6Q z)7^hz3OpO%EI-)Z*_*R)TT)i`4)SC}ze;$nhZT^bC8R zvPArpzmzWX)`S0!;sYbC;lGMs*ti(mv+@;?z6uYp0CbOm(**|du^+HYoH=3Cbc={| zJ#L&^>mhl?o%Y{Ztc(Z-w#E z>QLsRy}b%c0kCcJ{fYGnUcLybe;wRFb2#f8;%sXzrDvoH{9vE)f+5Uy7&waKr=N4X zgD|9O+zE(?k^8TLMLS>qySYm3A$t=~?n>I-e;&I)Cip~Xk_6urj2)SMRuI2QECsq__Bxqlu<+IeKVaF9Gi9WAe?}}HXktOS2r+SHZwDOLB zxIV>Dlwlqi94t%>MKWGMBg518u9C2gPwYH{>V8GK?&oJ8G>|U!gSdSxPw`w&oBTrT z-@a+6r2i#ftoumE;Ms^=KVpl@v7ZcNe`aW4i*Hq~0+73t2MJE*!Nhqnn~Bl)03d5Nl$DFz+O>i`{2ME7J`nfkyU5d&pnsP&7ow zs4=QAA^o6(<4%(QvHCqY^V45k>*;b9Ge0}@OuxRTd5r+s${R-&1xqEocEW7CyYuSr zWn?$*AO9ytD?aEmRVlE;oh5l4rTE{gDu8ju7>a-QKVzndGPiV_Mb?^y;#V^_ve#PmSyzow)0LE5i*M5*2l9Q$A*TY$pA!8@{>N6i=zl^~$O_3rMCBQ1 zg<@(1Gd@J0Z0^Kp-;db9{JRtop$1D5hEH|N#zX(zx7t$EKj{;(N{sxyPA!I{AuvDr z*lWOyFEO1U$so>gE~^WEmA&zwCrPGm+H-xMNzsA+p8^DWf~NLf8bCRZvB1d;6Cq-Q zF7=?PO7d=m$!J{WO@*Vkl~r43-)%ocBL)v=umP@4-E@}1~XV^G^qn$>M=JpL4eUl1{iNv0(yk-1n8w9r%m-*ai@>3;(|{F zq{5Qh>_@5UiS>e3fv)n>Vq8RG`dQ*lW7Eus90KB+_snJFpQ_m@r71-oKgF@sqkD^V zCn%l>Jc=+U-d)EUQ{CtxVnuK^%qe1pWhvH?{c;qgj~%$D^L0Z(t#6T)C&0#~$j9cr z+N0yhfaK!{SsfW&O{Sk2N!awv-BiCk3n}@KF6PM4t`=H|zM}X%Tc_4>plA9nqU z@nM&uwNvfn-5?7aDSE@ueICAEM*)(_38_Z%X~8y(U+2)q=0w}VDzJK-askRby$Dlu7j)6*$jutT zJ|Z9^-#W3#SpUWnHj-yc59w#z8p@;my~B4w*Jj(IHIM6wlk)TD*@hfJnR{y&Sx1MA zx&bhWV~>5peI4F~+@}T`O-or8bWLR_qif9%ieDSKP7)Lj3n}lMcwa{hVk`apq#KrK#TuXU+76Tjs#?DUAcN1L?M z{p!Hsu+6?~Fe*Gc|HC}(eY$UTd@@(rKe))w8@;PveG!uhX%qNwqF3`C>>9@B_4xz4 z7=hA_BC3=p=`{6B{$qb4R$%W-TT?hKaTzx4nT_8~Jj{k>%U^>1nxp(gC$DMr#mhKo z83j}Y-eFg?vFJ>_sC*Z+GnGVZLiG07bP&oeX=(ch7&;*)ziaM!_53w~;PQ-Jl#KpQfnaqw1=4 zPEjY6wmq$cxRY(G2?E}Vt@5b|3tI>=X0onAdou2q*=)a_bb4Gm(^1)}K-W zGp>36upvF*@-d6i>em60xaFJ)`_aPh-7?AsUX`^(i@DYI$#p@k9t#Ub54i42V{O}7 z+xw%em+UR4g14%`K%u^pNxvM#ft{8GWw;`~?!&+N$VArD-H=9Yy`z}3vJf%&b=5Zz znF!-~!6}HX`g(}1FukdbzQK+(?v980)T6sHT>#l|Xrg(`fR|^bLB21Mts5M}y%aBiHU_ z<@SegPW|Jf{qu>|FLx|5988I%j%G3LLGgIula!}*8*U!YeiIpGsA0`7nJ|D@z!PWw zy}RetQt+MgQ?r6J-Jr_Ft3dAdKf9qNfZHaX*)Mi!g--^`9caRQho`;ITg9 z-97&%SvxF78P$AQ(qD%KXvc<|mcfnB@Nde*&OX^?7 zs4DS~Vgjsc@}}^RV&#o=QfBi&vt}Z#E6&9YxK`@L+oaF3$&bLj2-% z;2tfgew2@mEA0N)k5UhfZs93EdrfyaNI(1elR47$1@j3jAmVSz?4{_;D*WEG80x@*vzTVfQT~&aWQ)>=Y4_m^u zq8pwJAl#7&FV@|&P_6OH8ZNdj`a?w8K!v~6acEZ~<3;@LtH=a!lNBLeJ8LX)gM1{N zs2|YW7&^>Q^fK?NMsi_!b#d#{-p?_H-cbX1J04qi$kEXgXZp9tk0j0Fbf{mu#xXFo zE7~e1^Aays*Gb>lEt~Rwj5<|=OkE5m^<^DPP4r?Z`OuY-jaMI!fi1hJ3+6j_sH}YI z^H#njET{yev5g>W>0(jnVPC<@u2I3?58v9DXLUG@WHXVg zcdJg*p4fl>urzr@B=dGd^eC`*K6|^46suSu%HXF2WoxXk@PCyEF&qUc{+@j^7++xoUG44SR5C z+8LSSrdDcF9ihc&60iA^bR4uu6n}DBtEdG8<(%pXd79kQ*Anmqn(pbwkBAy# zg+B6)pBET%ZmObF+4!iK?N|#QUl8U(G_QJvIPiIv?hTf(*7`qyz4c6gdxwPFX=guo zvbdv+3-djU4Xuj|pCeJ={zFCcoDLaTX(b7*(o&AWOOEX6HR!|kbA!ikdAvF~r5_C{ ze~6AqM+=#}@y!wn*oD^A=8=W%c=mi)u;myvgHakK^14^@ zb)<(-t2Q43Vnj0F(P{BnPrZoh;YoV{kkAXA`OCNb-ETA-G%@#C|Fzt~(1`m?exo4cKqOUm^^ zJxLsfi(w9{iA#?qLHavX18pOp+VCPYs;iSmAS_&iaEy(wKk5AQRh*B6a9>w((|*8+ z`xI1VstXY!PCe=mgf)?g5qNZMV!gEcnJxJ>eHt|BZWG7s(EV5b(@WYI}4rDHnJ~T&or#83Ld{4OD)i@vgnLv-l&q5mEEup z`6cd7_g#-^p+dWvQ-F8D_@NNDDEg)KJBNo|s)s)z0FQXQ7g(!NCRZ+GH_Z?(2v2e(#cUB)$Jt+;yY)fa2@x zjnSUVi;*r$_BLDOAq{_^aH{wY^sHD3l<7?oYk=cmKbb{W87cT;FmV_9vdNwzYsHz2 z$8R#0wF=o96NAG(_iL9QqGsYEGO>Oph3y{>N$flLT#p~4S3Da$ihX4K4u@wx%&E=F z+SFzrCR^_(8B&;UNmxb!2CmNpMQukq? zlrhrY=Mgr4*s-y##S^!@!4ff*@33HOn*B8E`61$n({l6afRteacKBgl4CJlmxk%uv z#PqOLgRf-LjYr_PA|el_zd|$pZ07>Qu?}X8L(GjAsOc+ql5Wr;^s>Koy*s%55?#{z z4^c0Vw({6|ASZ@Db!FM!kHULv?lTF8$@`zbe)&T7J`T0N8N z9RnFpr$1G$tgMt^WG~M&i8J$Z`fWxA2Jns?{zmu4W-k-($`6l^ zCvm?1Hcq(oypycX*eN15h5O4yoIoj!j+dYYWHFnGBVC|p)7jZCR)@;`q4aktc||X| z%o{t8h99y{lJ{7X(3-fo>&m?WiRl{CkL&{d1}wna!IT^HINlJN?TW~WEDa*e-I@z4 zi+AReLv6g}cy3_n6Dz_9YD1-71>$bEKR~u-yUOdxV;=b@+*0emN!{f7{fLVb!`oTR z)wO2Ebty@$7qXq+tcJ$bW*YZnZPGL>_E$xhHNkFyc}VP=x8`B7_h@gL*`PnDa-q{- z4BA_p(G*7?w?<7L^Kk5OUJ7?${_Yq${Ydu1QT3DKGeL}U_X9cr+k03{Ui`{I6rJxI zTe6Y-bgC*OB#{*(FJCXu8fQn=z}iP8G$L`=@A>VkIR|PnsN)jdzPmvML8&%1?TZ00 zN_c>o$g{)h_G{X^a;aa>gN~hDu~+ak|IIB@qP?+?H>*9lJ5Kgjr^#temfA~=JE!Q7 zMOAk^SLZp8Q>gz=ckzffcI-6N*48V7j{YG%V|NnYK!tK)Z5)R55`UGnp;N?Ki9NA1 z1r~yhEY{KA{pkWIy^rxDr@~h}u_8)}2X0K>eCewXlp~;ZPKUeOaj5j+dsU1-I{^&f&aXM78c6EIv1iUmjV?&&*1 z#;G`(#m+S{cD=`kj5Pm@U%5f#3&LD13Lp#W;8 zy2#eE>Nw$n9B8M27vufq0E~A$Z#v1k5u95;>sHZZS;g7#-fz|qH;^#srPfS;p7}h( z=8fNj{99q$@hVek)y6*_Byu5ty@tYOK9$A^9X`K`^>KuELn7-3il;&>~8$$`}_NxV$=(-CCrlrQ$ECo%{`Vl zm@cb>pq{Kcw?(m8(#p(o8&m0{ja<-Zmi2TZn+z~$C3@vcW&4=hoT)5iHw~R&n#G89Uvg8Um^P`e(9LPuSKVBrzc=bOtyNj3 z_L?Az)l7qA#|M)(T+SQMnRV;O&L;%(r#Yp%Y@eG*@exCGF`odxpM}{m=Z{=4|Qv8 z61f4>4}io>oxGQ5`q6E38W9<39OA~nz%XGzG1bS5!XcDiQ!}1KU+TE3=FI)p+&4Cf zX0oaAbc65Eg_)yzdX0g-PO8fTkTDZ9uUe^2e;=Q+IGXwc^oJQ?zdUBqO-a#B{T5%{ z&f>p@bS7S=xkzQT!qQxv>lUUy#oS;VPw9;AD{FWn%X&V%4Vl}diTS{PEACJ~M1`l| zXX{i6Ur%x=P#bZv-^&|Ew;R=QW|xQFOo0L9=a76xgNV7#3Dh7{uy3*+b$To4&61Q`}OEh;8gci^foy z5HRbXz<;oI3op_>BUd-v!GdpR38~hGKe!F-^`SxGyYQSOB$S_9ZuI>4zWj4LJ3CI} z?|1e$rY9qh(5wKrZP?jG#17UKX|z0$0pjIkQ}CSS+i@<##Sri}RzUD^Ds+t={MeXujzkk;q<*74HyUu*Kl!N;%b6q}l;-Pqj?NCz zwS@dWFRjo2Vh0}!{f_3bbX{e~=t)p%8p=*c=GuaKr}}@^DzU_a#B_n7P&H$?g3r*^#y4U-#3!_r#KO{wY-NK1&Dx+I@uj_+&C_5NJ5vu zZG$84n@^&G($t&fO39yADDEnJbrpxM{&LwptykXBhu9?$?wJ2464^JJ*QD1%q0<=-BI|yJE(53`rg=QgGx?^Y0L>6q7~{`*%Lil+~) zCEtWI;cdyxtyxkI=0&Br5bEBhmm3O~q*&JUfJi3$n0s}_akNb{mwIBnJsvqL1A#SV zw$?GP%ldZV){WM$$NM9{Mt`@99%9*0=K~(riXhhcMTlB`_uTH|kG34ZFnH4tT;MjY z)lbVafwDE)0)s}?< zm`9>s@2qo9$mu?OhDFQ)BvSFP?$$e=j`!L|&~JT!APW!i>|lhsFU%de>V z@Zk%cF?D=mU5VkwozXRVnbM`6`gJ@?on#HeSNYX!d=l*%oq0;_vGYN&WYJLSK;t@g zvof%a5=xfz$=Q1mtJtKw1CE-2`UQlb1^gH#YQtLe%?Ky#=C>!RLM!bxV;Fbs{*Vy> zh@9%Lmm;)w_d6}i_2y)_tSxt_>q&QkCk=`d>&%0#qbb&DUZc(_DsoPs%``A{3XYwo z2_j}4nX0j$hOe)V6udZ)VibHNn4+@3vc6I^%2H5`XhlM&KsDSo)FS!lOA^MF4K!%y zA~%27MQN~av{Yh9HHRx3^w&`nA`zPnn+;E(i`8cVe@kO7AGnYuMGxd56Vni5QGFUs z$di^|GMJ&wmp5WxR8+nk|M^&=3kSbUxfKyMv=+7PTcd%MJZ8@lfmgk#?ox0r1El8H zpQJ9ei(9Xznu( z(aOG?&96QV8Tx`j_Wv=I4Ut!o@E4oimqdXbu9xSBqeD5$JU2Rnh^4wxv0}+-0Vz;s z-?~P`zAFLpc0^7rX&q)D@SCqzV*L8IMQQhlr#~snbPUHfM9U@aq*O^*r-X08D5Vccn?0jnQ76}J{6l2BZ55Z zTFhGtu#A|h6YEf$@(p>PUn-7?G!5&v)Bea#VjvqFl#}JNWn4S#oljb3$d;*#U%)dn zO~~zb_D|d{O37!Z;C$fXyF4nBcv7nS4_Z0(o?}CB>!E1Q?In@~XUFE81s&l`37azRpNlL!Rcxh`}B6z;1?6^L` zm0ffDCQ1T&B{v_4ZU_LyGBgQ^%?t$QYLGT;6tWy)I$ZkVc>n%4%Wq>smVgaviGr+B z`@k5{FB~O7D?4K5dtD8(y$N+fOLRqv+Aqz~T_u5HWGSi2%kYlUJ+MP&*Put+8(HyP zz~K)WiKeQ*RpY$;$=mDRP^=J6<>8FGTe-p_<^c$)nCf{`@?6vBzc=DwP63?dO#j} z2&<7PESK&Wz-a$)J0qIg%9r};URpl1N2i?MyHL03$6Xx)$YqS+Fryn?aZS%8FE8W~ zgw!Ae#Dc>9Pm=Dn7@zThPKH>|LlLAbNp&w;^DIX<#81|`>!KnOe-9IYnO`^*^Q8`c zR-7rZS?9nJRE*|IHn@j%W#C7s=XAmfv?E_oczR1yRnD8-AFT_>&@PVPXF# zDvd)+|8>_Iv=YE}VM6R}+K0cFzll7)*>_%T;AXEeOv;qi zpxBkp*IWPhgTwmk6iY3zsq0Vapu-1qj)M^UC}o;!+9p?X=uK5 z8V3f$#BRiDLgBFHq{|-*!=I`Zlz}FRNAsrg!9d&?rh|(9pf6fCKc8N3g)RB5uUD!p zMTR*k$y;j60hLjvR;Wh#nMSQ0ajZN^FGXptUZBB;R-2?-lsr0g)!YWhxt7 zpK$Q8^5=`AHldYhZR>3hav~Ts0*!=(gwwDUQ((LGc5;^IVf&y%$7bk0;+NOpAy^)c zuE`dHQp*~6$w;|wpcc@YaA;(>PimxA+`{uy&B<+&K4}PkHIE#~0UHlAjEbKX|42lj zW)NA~ZU%vUy6*U@CuZ#43<@3|^@8BF!BHPRxYXhR2fTyQX6w+yvt+jSyFWRL>`7Xa z#H?rdfKsG@UJyE9WX~a;$?~IBhbC1**W{6uhggG;{E2;yOi^Wt!X(hFK3ZUW+!Bsx zts&aD=5g$yvZtsuB)>W*^iR-e60tNN&)aExu1YEoM5H6d_lcG>w zjr*arD>SSIZ58jn0l(9+K9dV-J{> zq~V}Z%g%)_eOs;-YMOVQa9=A4pnDbz9lZHN1c)IiJhp^&To^2{2%E(SNvsBov;2{{joW?DV%C~>?J>`hcKgwY zPonX?Njv#P*)<3`p4s@~U{~2r#YIp$j@S=HBqnI!y-FYVQ=MpA)B@|cTQ8&9z_eWT zSTut4k6SiuXyv7SCVOp+R2TTt_f;22$4o!g>J7%~_SPuxWU2eT5TiFDe4YGGJ$0bJ zk1@p2(UEtrPZX5cQ(;CP&>BsgJzmBV^C@wn5Mc#oLc z*wobW`-g`UmPOzlw-iB8JQ+CP0dL)VB$ncJVlEX;t}>zCJL{b@pmfCgT@=zojajao zdhpB0^ElwlNwE6`GD4ToUDeMF39BK280~1DO4YL6i+7naZN|^cskwo*nh8+KP+Ql~ zkbK4MBcpHpNzUiLwCd~WXulHPx%0c5dsanST3Tx41wNVxRo~E1`lnDqtw=iA8(-~K zCLXF&HrXZA-m%NIm1@>RgFD>-Dn`o@SM=OVx{pctF37AIT8ZYtfy%IK>E4ase~mpb zD%VTaPOgOf!`UCd{LN$6P)rP&RA^)2(dAom;-yh#=jYiU;a`w;@`0VAFV2MJMZHj-r1YUj`kkRnGySw` z;lQdDE3Y9?`sPw>L~=|xDePPgOo=ux#hmb~UJ1kkftU^;Wk~wu<<6T8*PqOBn*l$+ zx3~AjvcGT`Qj~mc$TI>aWI+(CG&|b*;kI5e%K!FKS=gp=-blxDW_#zDdNDMas?2~2 z?InT6fk$m)1NUU+hjzsE!LVjGc=Ujem#UR}JpOK7-=WHIjr5~7{fzMt8LvMnmC>HH zN=lYRRM@bgqzGbSL-_V9GD%TZPuMTIZcME%a`f-r-NR2=8`6dSFxG#oc~PLOqJhSZ zK9z0o0`_BI5XNWD4MhYjZLK;`5NH%I>b>ql5@8n!Xs*n7q!t*oc&Sho)hNoTCT1)b87a@}-oK|HLk}BF&;mmXk8Ulrpw#TknS& zAbtSQGV}F+miXG2ip}%HA<1vY@J>fM?$F z>gH$FBW;qoDG$j1PdAkG*nZlbibl!~{)Y;$?r!ju2I3`zZ})m0V#{F$p!5rA1h z1H^F8?bAph?sU_y<>h6!?XSd+Q?_mB1vn5YP!3kx{&Lu;S+e;0j!>6*TgcYFbUjDz~^o}J2R^E+6_1@x6=OIvk@2su5Pkvl)g<{ zT@+y^OjNy`nc%RLh4rcq*Xzsk&St_*vyA zYY<-5&~&}Bw3cSsWSHfCUyyUlhShD=|Op?@77n$)7M@8xpSK$HyANJ9FUBmPH+^>0p)mSNQ zn+Adh=Xc4EB`Rt~tgmien45*@1XvGjaI@q3gS+?p8MfL2bO$}r4B9Q zjmf(?_rt*J6+rjBGSfuIb!m35YnAfN)I%;VRg=Y*Kzy1H5fKDC`-1 zTkZ*Uhbt44A=A|n+J=mulTOhE3b8wsL8vK$A$WmoD1&JC_IFMVI%>;Z}N~DAGoS*tNJz&!VnvbcDgVsC$2Ooqji@_7uS#y9 zBpgGo5s9QgCht1Q>nI3!y%O0%s}Y$ciPN!Y?$Il^SEyBw;%7HUL6|Re->8wawY4qq zcsGe>mekBW>+uN$7v0^(Zp&#@;l@1qA_}*qj@1t-k@)lN{vc$qq5(|T?o2k_2q3O( zMYzAAIA~NBEHKpEA6N;V$7sJFLGhOJ)y~yqizJk)PTVs&R}str9MFn`VF^4HxN3!C z?OLVjeow%lFG&^iXN+4U>3kd2qUR_3mYpxAf|})T0Ou43t)5!z#$yv^omx&Nnd=A3 zIouTF(z`TFCrs~vYpR9F4o{KVOSkd3R>rq`M4*rWYp58lHmd&gPN!-q6}FZ@~#sHtE5sIVMec}t(%XH_*# zSB6UaeAKJK?RSCVXf_)w!^=lznD!-A)4gWu?D1V+%v+WOllz4Iq+nsg{V_Y^fcH>(a=+)fIE%G-K$TH>z< zA?>m_o%o6H#eml3HD@GTLAM4W37!)pb*KniVfmfzrE#SKy^Q4~Vj7>s6i4_GJZjs%#C4 zO0}!3N!ShjSsITF@6*!<2v8DWHo-hS8~Em@$eb%&wtp7WJN#_++aDE5%6rc#!TRRh zIP4mv;7+!ykhq>s_~>6^=Ngj^!&3em+SgQ=wXMOUw+2dJoX4}v32D$2Ylkf|DM z?hZM}>VuA~3h`9xh-ch(@w!9Om1AS4@+R+0TUqMY70k}a!fo*23o97lI=T&S$dPq$CBxY<$Aj_1hBb4cwnL@?9TN&<;#Ztx-5T4$5+yfA&SE z$nQG{^GcD&oqCnoBd|YetzDT3?oK8qgQsK2~8wf^;DWhiHac05D5aPsV~hnTme9X05V03eQ_ z=cw2U?;4rz(m`SgX1Scc2rR=-%Q>&XSzH{obxSRG1w}e$@~Nx|@;?Zt3sV`&_q^1~ z+ncTu*IGfq-8vqk?bSneOx%5BVZfJsuz}A(Iq!?j(idl%ob&Ui;U*EaofO(gfp!+? zORI+pT~v=0=}|^-X_rX>jbd{BE+mS)THVrm3EV7METz9+mlMzNXf*A;6f&WQ^8RUc zrH>MDfo6CvZ@zdu!7{7=8FGWx2--Jh=WxVBpW3d;yazM-$ijit@fT{5*-+owH4neGd-_r&*ZO ztfzC_r_$=RJ8X3Vh|bTbuDdLvA2m^7Ss=p+gjA!tuY6hVI+Z^fP|E)vY=j5XZ-dB^ zo?Gv}IPYpDpY0<5vxm~nu8&encPIA(Gq@#HQPV{tSr0l6vol80ulnDgA$*qxes0f; zseBosj=&M}np@>fR`V?>2IFgktvoqt53|zKf6qtCk1S`U6qc4gx=%~%Z=^#sUecT? zo3QttvFP`Y0Ll?{Jc0Axk42%X=eROcN*BmPP~l%gO)dIg+!R>yLvprrZ<|5pf9g)ab5r;e=vtgH zsO*1`=cT_H&2&ZeEI_v7m{)dP3IM?@;hOOQNLMeJi$8h=S$oVG3+$c*jC@JY$XE^& z#py3L_~OvT-jX5I7)SQ%T@`#2GOw-6K%RG`?6#HTt zN@A$2KU}Ti>3J)7W6a}J1<@u2D!?~BGMhI$WT-S~S4g10R0P_?cdaqkG?0@nPz-dS zK&=(+zrCwvSnMVv0n`{>EMbm8Ng&QjiOn>vF zT+QMZp(W0sM0M{oxMly6&_Qjzre?9j*+I-T=^%3cQC|SLuX;oe$g0KNr<*Y7Kqp@q z&U2}isZHT3dpp-Ow}$5t$;a*O?Tz9+IO=ta_AsiI!K_d_yC>|G%#?a7DgYI2K;Y@WszPix!3Sf?KuX5-A*92PG$w_rm1Y~gQ)ZBKS^T_=vX_^Npe zrO}WdpF*@1jFml~ZZ`1tJGi+(ws9nUv(U^v;y2eQxNVY~pSePC#qi4+RULHJ>&dCKp< zBLqmBi;=xIMMG^W(73M>ls*YKV61Z{m&3R9E-Onot--C@YM4yVD`iG!PSb`_2fTCM zudTh@UmcZ~r1UI57<+*m_f2Z4Cn+i>2As`wHB7NtX3(G?shai5%Tdm<_}Th49*7Fn zigcMd=J+F6nr5?5u5T6qO^T|gyZxRfZ3Ca3_}miO;yIZ1oq2|ely_Z2!A19YN|v!l zk$;gO@SJx3<0p{j-(ghQ&y^=3u~Q^MW|4sp;WN%fs#!3V^BHL74CPnqK1Gx=(s?jH zHZUz;Utl#E&r8CR-%C$NSIZ~THHF6^HBA;}y!gh*$jG0oNP(%*@aqlPST^Ao-`@A9 zOGi>Kn&qXGO3TZRbjKv81$l8R2ZL$BI(y>VBKw5db!7_(D5@edOl)!MoRKEk{w(?s+x)Ou%>z>!0@_+b&z|+G$1I>z z5l|tmiWsn0CRfm04%v9uni4vJ5$Jj^Dz{d2U_boGu>Gp+E(Q0IaOQ2!s&yj!MkUM& zWlnw)Q;)R>Ddl30gN`(+yX3+Pb?R!%#1IW8xg_42I^K=4+ViBGuQYg*UK zG%#rF;>X!F4xzNPwvOg$v;deiQEmHaa_VTOlaxVCce=3nFfQ;)K(8#?UOxQeEmapGwH1VilqvPs2!y3FJEibQb zZCyBdhdnq#kEGZ-o@A1gY;p42w{Mq&du&3L4OoT>-RCA*0p<=bC(5NQNAlm^TSYxw z&tdEpkVAcXpe#~P&SztYks<BH13RZj)gEcFbHK-e?DH?y!Fxy{;C#79Yad$`T;H9EHh z@%nU`hI%rGSk?zhIw8@X7kkRE@qVVhf!~8!ZFh1E2!p%Lyn2Ta*ZgVFZ5hHcvb4dw zng`y(F{Ji2BX*zlwf?zwxfutIH>FtGeWntJ9>C|E5F{wNU_i7t2VxGpBU%fR!7&!Vr^n0tF{bm-1fb>8-0&MNA;@4#?@2iPc6 zi-vq$!N%q_WdM)C)keYMBA`5HX>;h6yiZJ>P;a;Cn91XGecks?84oHqNtawUL8sl0 z#~uwkwyHM^Gu1vb*VZ`J^LG9()`?RJ##DQ{^_R=}=8RFvm~c1mr&>*Yk+`e?qN?Vm z3F$G^T7&=m?+zbyIZ@=M{n6y6?3oQp#9uPd|NScE=8`Y-eO&t`LLDltl&fDl<`9?` z{s~~nXBlVmFA2gx-$!u*%X!Hlqa)N#$f@GWjm zoT4_k=xB*dyAH(oF`V)~_ z7qE*~WGLg$B(sQ5>kJ=FtP;;Nc z`uJ084V6c?9zVXR##Haz`SPiur0eQ0CZ8_I?`jdQt%fyA^x!>B0=B-gNtS*WYdwk1 z!Y;yeB%A!?zqGPF#D(pDMf?qY7hR8Y*^$6tP(8U9+2!ffN|^}8es4cT+o}JEk+iKo z?@^+~;w!EcTPlj7{|5cz+$C-4H(_{Y!-G~0Va7fc?*9_(A^cIG<1*R~{=i;c^$+?;(7}fG_ zTwedS4rsYaAl|hIW_Ik4{g=K&_0&^*& zzAbj&3%F~7Uc>oAe2CL@x8`BwYpd5@M%$oH{{ZHQO=9nxQ2i z^!t=SX|>tC(Id5cveB8E551CeD1&~J)`^@aXp+-$nOPFg=RI0#p! z07}wq1p%qbwug?4ipS8vWOfz2I)VKK=Aa=_5sh3wA*h+^CFo-ghD=FTa zbGc^HZ+gpFjhj_opE72A%?{p;fF_>TPT_AE5PLW~#D<-h$SO{J&U(`#a`W}Kg?l9c zXKWJ0kiq<#7(U|38(PsK&b;2n<4MaQ0``A~=<$8M-xWbdRS&CL?ZZ~|^SVI?e6iy^ z55G}~s_WS+w%s#1HulzG)(MY9%t6yw&+vuEQ&EiiUM6v^Uz|Wa{?!^ynHqDS8cm@7 z-zSRv2%f5kfxb^02he_1oaI5sSkY)i@7|_uuUElneG0r=hj1iLOXyIEo#9FX@j!vHD_u<8~}(2B(_zpr`L95 z*TX%yDRWRV$KXINdCK3RzhW#GAnVvtaaAd+farS}C0B&Hy22yF-+ltV8k#Mnx?L*^T*F3T9J|O)232jsi_>5lp(FymgYu2h$E6 z>ZevT@9q?9OF?h5VQU~LgNBNVzj}$;wDc*K5`9iKW%EgFw|l~Iv4K}u#>~m-p}W61 z=^xppC85e|t+KJqEEJp}0U=}xtOzlvd7NQV#k|UGZR(deO)eja@g|B44$KS~yrtF( zT2`|b@)@jE&$gD~Cv*e0zrWo5>A>8O`SXSW!Q%r5NV0==`!m=~o^$glQV*)cnT;Eq z2(AqY#neK%;sm?Jdao1pUqV&Y&-3p14Qx6$;aWc-MC_rxrMC~vl1OXQaZRyUG00aR zFI>A|XI6`OJTyv!;z-ZhWn~8_jtCAo>t- zcV;EdKTxX?#pP>L-iTj6t_47$Qdk=3s?NVY0fn(DjgS^+CN6#VesPvC7c&Cp=jD^` z=i`*F!r#q{Wj&mUw?h9oy3}pkzX5j%5yf_{v!XDaP~xuWn{@FZ6huu&71uoKpf} z;N)(}Uz7Ei%Iz+J>G$a!Q)=|NJql`cf8;4boa02Ybq~~YhaKMg)~n&}#v&P+x3$tc zFH$;qRZ;}+bc27eCVi6kWzEd{8*b(Ugou`SaLPnlfqv`#fTy_UMTkW3a$V+GrZ5pr zt@KCdA;tJBYKlT`{ZW_P*c;O6$>BFP#?P$ADi`=m%uSZXoOtp8Ibm`++@1%x##R4j z(KFv0o8n4{hD@0TPN?pyby@qEr`$}XHn#*!~o30-ng zsoktge@~oos(`!%@8z&+6K(BA^Y}(vM+)U~L7u+Tj?bxoAwHiWbRPdC8GL}f!%3%5 zW2eu}Rno3TT22HvHvzk(BNS~){$`^qvTAy*hW3{kjwC`xn2~|ZaN&3J`$38!VW~5u zNDatY{Smov5zd>3Z*e(mBr6y6o3ydm!pzC1V<&&%*$b>VAdvs-7nRX^@p6fX5N`Y` z@+!>dwD$V0W8lOQ9gLNW0=aNx>ddm9m=J*H)G0HIsUS)w$LZx^ht^;M_o9$USk%F% zH+lyF?cOJ+u3F*3@T_uZsC6r6KwEphn$WTxkJ=Z2C=Ede|`v93a&%M{-pp$`YHcj?5Tq;4m|$@Vq{?U1vh&7xNeH@*Wq3_Ac8^JJ1%Zb zaA)p&S}>7Wu)|n?UwzB;V}AaVMM6r%pp(QqJlk5lK)!ptIX?v!^^!0AzZM0Ngdk#% z-@MXAkA0jZTMTg%6HrK2;&byWx&dbAnr5IqbYQ2{$$GC>%DX6ke~D|sD`lY@NkzVI zG^)$5k8p{f=@eA|ry4WhqSwqnej8g#tI8tRHf$)yUop%qNxiLCTgS@x!gYK{VeLr6<8WJ zZB$EOZrbYR{lr(kWXfMfb6>psWExpZBY@``%xN@R;#kH9^I_{_MTe!%IZcb-D^d$T z9NdWsxIdJvtiMrbr!JIgcF_RF%I(;f>GPR)D~vAc__YN^()GRZgsH|(c7@#A-rd+S zb~xE~yk)V|E@}I%UGfB;hDc@N;h-FzGmqc5jh*fy@@9Sm;ZSJ9t3EB0hH3oYoo4Uw z_R_u#<32lZSFIhdgR$!^jWKn0t+@6!{A9-9tsiSER5p;?!#kQ}{joSSlum3i^XTo= zAC+qBsBc33<_4c}cBghY$Z z&?w9ri#Yl{r$MCA4;K*+O69}fH@LKCRJj_54Q?B+#hAK9f{xeohAtkOBzUbQ zy9yo!)Kzy|VxuA$aiZDfXr9CFk_?ge?|dbd^AsLL$KAfr`<-VC=Xi& zCU?{B5Ue`92Ghmj*16y*_0sp&MSKAU(#9@QYWcEmHB@nr7>*otaIKGY;!KEKPY``q zh%4QM5GBKQ%}SKm?FT-56tGj=P%k9V0il5g{8l{WXCpA`?m){Kw9;tog>4#$UBGDf*ztQi5!Zr&!Z(>bfIJg4C!@ZBZ!v&;JI_EzA{ zyXwYI)z-(48P>Ap@0KzbukV@G2~%j}IS7R4D(?oE4IQ?WuO&fo7#6c z$!UNy&L~tE^hEA(JjIPTDEm;lHQ@?{)ROFKk~vG=dn-sP`02nNEy!Xfs;WSZ4P zZ6L3q0SdxVCl`_>!&XjzCh89EsSyaYfz(CH*ZeYU{%YpWvQcY%rj`iSdTQW6@%EZ0 z3uXJe=x)(?Jmtp|F(LN?e7@Bm23Yc* z*)B!)y?;9dla10EzlV?Q4V1ob)OhZ#<$}}Pp`7TET%$%^+pY<|UTSYcD1s&UYHs~G z6~^sb0W<^w;TD>TiD%lKj#u2&=sqU08k$~qC3{+S{#@(K92VdJTonhu>Rzw&$6Vqk zPf9ETwe6Vi#3{owza{hbBd#9>oR)08!ZA0AX)dIK`rFPOKk#!m(%(7 zVhgb2?||w#3BTIqo<(;MLzHu}S^ zV*7P`%L%Ye%;=zE=I~#Qz?l5}iNX%$0h%nDEC1W=uLC^l2G(YaUl*ex^|K-wx(AQ+ zmpNtLrQ!x#V<|)Tww!4*l9_4s&&dB!W;_oy^l_?GM(@ah%a>f6Fi5hF_?*O%X=*?$ zB@4UIZ(7v07hSQc$&9M+-*Ucb+zt^!W=Wd5$$qAl+NlS|fr+^HeX&Gk^+w14eG~CZ zsg9g;p79PR{>&ff9Iq(qT;9}*uetbka{A6CXeeJ&e`a+<Q=v#1#GUrmTM>*nY`%5!-aBWLqlTX~yGk(gKw+)WoIe)?*2RS|f zT_j5_h@dy64)q0a{Lt|HZSLF(e-2C4sPEbYwK7R8nOGpZBdQF5VMBW@guvd8UTC}a zw-@U|M&1Ni9FL=%B=-_Yo3n%L@FF1-d9xpE3O9NQ`e56mMB!Nrbt`v@Uf-U z%pL6Wl~}RZeuw$)DLJ3R;*LI^k3Xt_iPS5#J}PT*`K6e&PtOYZ)BpFCjZ^P|uCq+^ zH~vdFgM&g|f_dnOTF(_r^;o++{_nhx7zZlTZaIwnRERw^dniTx7tiq>R76{8(L6OH z!Q|x}3P5Mmebp-WDoLpRq@EL!`q>Zn{vhzAb(8WR$6^V6AX_n{2c03HQ#$CVyNurO zh@tu-*$rW8JPc+HeSoINYn&*)m3t4K0y?vJn!J`(*;S4z{eT_d3+Vab)SU51v=>uK zk-4qa!@Go&KSB%?7Af;CFQ=%7xa8k4d5E`F7)Bzcjr8_abma%upTmD=N(~cc|4D0|L}I9;HVBS%cARsPmQV@U7a=h&APhDCKs$Hs zVGWiWM@9<;T?&N}_}jQhp1rSNnX~&bwMqt4 zdi};z3Zf$~u_gu~xo-1s%AU6=O%teAsTNz{9q_if>*bL2yO*jN0Ano2Q;cBgXo zpIYYZm^ONq)*cc#K_2ro$Ao_p%#qMmK1sHI8pbLilTb!e6SmGGF&c$`E(QSy&v>hN zMqF2(71{E4QzSh3&dLHkYb(W3v(Z`hMTljn5En=XY)t2vDyYx98*z(@5%U2M-Rlzd zV#Z%~o7mV%yPx>mLEj?3s$hQ^_Q&ka^ns-helM({)yTPEMg_X3)g$C(*qK*Y z#iK>DT1`Gd%r@$NV;c|GP?*=mB^OnT7y9FSR_`{y7MwX=Q`ry`xu>euSr8mo@|LlX z)eda5X#TSCY5jwd@V)ZZ%zW&N<=9n&xo$}&aqg&Q`>>3jIGzc8PASRS?#|ll5LfE8 z3SN5xdi~5hZbGa5P4IIiNpA=PE2Ozw`c!{hw<&$AYfA7_8?+tXuI7W>CdsDF>a1I4 zx0P9e%{R0N&Ur&t68Bx}xSi$GtFk9fU*t*2NPyEwBk1eskCE0n_irl##eU|`gOV~u z*D>d*;kSnLdIal_c?~1`K71cOQN{3v1uvH+Ks2365i-Jk+-W9a+kh6QuK0&UA`FpulwLG=L^kGq%Z5OGzayywkF|8e~xZ7 zVSP1WdlkHKcDwc5x7^6;uC`*) z3J8j!q04>`i-V4mF6Id3?{pNYL1;pg1GAPx!XH0H4t^lKmXS?+iREV;#f@EWs}R>h z5h3iKf?!eKL8?iXZ?{Si?~@VTGL0x}9GkV$I3Ag+MUIJN&91uM1nY_9bVf`vDAxW~uU(byT}7?3!@U=@1A9vT^;@428AsR}&TQ6Fm$$c$IFEgG{NH zUiA*msMHxw{$WIN5?8zlPs1!<2`HLD2OAyruUUvI>*IN9fLll^%_=fJnZ&^c8j6Zn zG1)MW93DE+$MBo5UNHbxQB$@BCr!$SY)Jg@tN9_jccD24rdVKAl6Yjq5~%%w5NV@= z?;j;flzmdAWocwT4c(8>5^DQ(i?OgcrM`E!JlDkyW0cHHU?j#l=gmW~wufm^zXv%4 zM-FGfj=?#Onm@mYS@y0lPE`}R9V<9mcv($w##*-!u@VZxan;hv0Iuch8asSMX<=J* z{F-36he=1uA6Eihr}8z$ z0C3P}CBkcxT=6qF?&jsJS{uR-o6;cHmBn2%a6oCC^pQt4-%fpF@VlE3Lg)jHBrh8S z8%sl$THSdJgiw0jU)TM%eA_)DyO0vxp%BP%A);ppdlKB5HN+*d#^Dq)C9T|lD@8X5 zzrgsSQvv+Zx9ws$x~VNp3-qGe`sXj=xfSLrZRwxCP)-w^0}K~fDv^~NYwryB@@?-F z^zB!hoITXDFMuZFb&^FCihcH`ZsvA|q3KX3Kan!3yDGsLqMaX2v*STBs)>cm4pVss{{*6H3tRczdWzKci*PQ$;7DGd%jB$8| zi-BQ0$?nTzj8p%u6^vaA49&!arH5vsEa+0pmF_*ZXVukEF zI#sW$7Y=@gx>;j$f!MDOvUMbXR`E_>y1nvdt7Os!AA=OSjq&^z$>;@w$rH!A`_3sx z@sbR?eL7tM>K6Gs@y{XkNfAN3f09ysuY7u7gpX1{&|qN3`9j$KzdwZX z^`u9RHvz1u4ej#D;m)4Y!u|s~37&mqTmD5>%8Z{%_2xQW@j;-~WLNW|vL5VnsN1X+ z^L_h#0hlfNz9sq`-2*lK<>H@1=;i`L0~;Prm)8djjMEN`$v;;xej^A7D*_q z7>H4Qqsx9{^R}!rteQ4EckcK}tXdg6l$%r3R zWi#tPK7Q!xg|daST4&=8QO!9eHi+=*E0!LS2h2T}^}9}=7)pOYxZ5UV(%<<#>Z>T_F9S4^9}3Qr%$E9jxK3v*E*O;HwFkGt7b>_uhL*-Nfq4QdE;uMHl|MWl0ZC~n0 z{-{zVldoSTFvu%-8V@W(V~{Pm;N0{pNz8d`FCKh7V-J;Ab1v5m~Cjra9IC-hvT%p=3)wfAjlI z?8e3P*`yyf;N50cQ?%{9fYHe1yM5F8z(CX-o>@73MPpf_+%BnQ*zoNV9zp=@O*`jy zD6>)hNq9#``L=!n8R-a-2=IGS_&X{ZJ7>7Q7frwZJY~K^K(gT7Si}>_v^n|vt-yO0 z-ddt^HA}8{KR4fi2&{!4Ge0MK;=CQeL>|5tc@+tzf;TH~VI6<)a=@nLO)6p*ubyk$ zvkLzBpHFFHA`h#KI%Q`INjBR+{)t1R2ALh4RUJFkry>c4sdN&8VsMyI(qj2uxaNx| zdCfe_y-agvIM-=aF3IWXuMZvfW}(%;fBAEZ;cZAha{Ms*qc(rENDn&=>c!L(TV3~Z z-q{egGyeDoSOGJVKwriWjUMVXnYsEpXj8e}$J%XHcj%W19{0W_yctCfz)Y+odW;Nn zRNmBy$J+fxpkB+&yH*byAKpybB9mYrvX{7`~` zZcCeT=wLE_f)7aPnqVS5ZHsvvgaJ3pVhQ}Bv@Y3Wp@^ZlS7qT;?Vr=Q(d|IE*7%U8 z!)H%ec*6K-t&H?TDWs?ltw&mXgNm0JEO2jY5W$=|g-T6wI#ptN!m}uUa_s?7b#F81 z?`Jua*NYqnmjq)AkCS%>?8wu1f7}+i1eKs4sQkS8n@gGs#v*XUbRqrl5#HpZQlSOW zAB&^f&JPxlB5!yWX_=6&9NiJ5{PQXh{|g9|h=!GdwBt?(8T2IClA+Q1ruKQx!A-Rc zG;IfVav)ZaqIt%@$Lr>Nw@%yC9BX7`g^>Okxt+|_C>8J|ua<}GPxOC_(OtbpF)!|u z7~olSGXJI#5MVFzB{LnDIh7DUM%A?usy%|LLq$T{CN3!O2=={D*9&G@`vCUmgK^@t zk8&|?YP^4qKv;M_GNnhi)M>A0os&Nu(+*@DU5iAN4f z-h@9vj>|)}fpYNu_-1?WAsGS{{nY;V@?hj*&q9V|bB@*41pxwnAcB3q1Tv$4KM2*6 zE09T*JaD?A3OX{YiH)|d4j!6hl*sCb?@v}O1Q0wuP&bD_@7)W~pi~wt3L^%fjW6kB z&Qx7y<)sU=1xXtUvIGr*Lf&~-GNsK%l8E4D>7)Q6^a7dW^xy+iIJyx%o?OmG^DN`^ zaSci>$GB>2O5b-Ib)$1><9$zigu`((ddt~bIvkFSSGn2 z)0kCjDHEt8|5}6~-Jb-U5jq6ytCwO*UM2f&usq2?YL;=YlBkyexFP6si#a?hIC0Zl>xBk0A>TAps#23C?<~{qp zhoTT^n;bzQ8Ggr~(Sz?&->BG^KAu*~wnz92G`K{N-1}y zm&qc>(gcR`5wn`M{mjdqJ@>>;Z>Q0%um4|Jo&Efd5^&~>8!R=BFA|wMY}lI_ck-nvha7604qMi&wmoH92?CToV;C&V8!I;Y~;2ig)F`t%=f_kzX&*kCsXe zcLX-F{u6_M|Ad@dV9L1;BoQfOF=~S$yni036kg8wYIM90Ry8Q`bnbV5us-*X1yPS0 z$zYjPeL=oo{zwGz7cMC`L7u)`1qYJzZvu)fRl>fkJjLS}9QeP=AtaVIckpC@3nNQE zmYAeUgwfLJcidy@;0t?`a5NL= z;g7IG>VFk&5OfbXg4UIL-=x5Q%Xp7Zh7N??6;`kn$;3=_zyUCtxpZ)rBex<^wT*E< zOPTYSdBNltC_<`DVn~|?b>BF8mv8|HJtF<(Y#Ut-@@Eg@+%^Z)eT!RoJWn zmBX`McbWB=J;#$FM6W`k8Qxuh6l|}aVa9SExQ5FJM+Qc2t)~SSAAL`P-;}!u?&0%^ z4cj=QUQO5O!@fL^p5v+v*dqihq~O=vLRoeq<;|d<#|GvGH%>Y}#07rn0`XFnSb=@= z$;=uhXIbV$mG{SSUBoJ$w}-M2r~w}meDMw-PYRe|x240q`%|ai$$J~zPOWc)wWdLq zgm>yQE|dA5qBr^fmdIBIO!Bd=ZQ>J*)v!KQlyJ5ew=mv0$}d-Dd-d6_8L=o{fczm6 zZsoMmIl8X2Y+iSbz3?CW_5ozv=CpQah9WB46X%beJYAx#&(SVnl@B`hntOL6pQ7&EAvySf15-sn zp;%>#I&)&ED4R>&af$`b`v0NAApf}PQMTUt!EZCnOFe)o44y7!P@5)8Fg_VO;gq7h zkY#x6M8gLN8}w9#hCU+K2KD#2ZKyFirby=mm|Rt$O%(HH*lo`R{NUy-r(31?`YiLj z)CZ=3JI8DXoFO>UtG=j=4lB0pa|C|s5CGQPRW~#GXYQNwCL3_ptPt6aU$(ki`Ml|p z89F!2iS3I={=#Y008TJ6K8=ykm#m0YbJ&(Ux54)S2j%2(=?sT z{5{Jpc%SH)pApXB1EDOA!42$?=2N1CEEEcxvKi*h(%q4oWJ>?_1(16xXmlxPQgxVj zp7x>U^{r#ufvUk~S3L%ef*|#M5tjA@S$lGYAX9RrXdQq&v^pmS<)FUWBbXZ!qgnZi zwg2fAMYllKh)U~j?P5irlHXfc)WrT81z zdJK)>DcA@|07L(IO|X(Dz7rgf^QuwO#tC8dT@nEx9pD$4r~6sh5c(5J;knO`9ccs- z#f2;***^u6u#I6n#~OiwXcpvBtC^#$quEQr0n0b2M(ji83)UV+KFzE3(46zT$4WRU zl2w5y0itp$uqA{W38@V_J^=h2!ZGzp@yFgLtf5#Qs&LMh;y~yhybRyF%JJ{^euKqJ z#)uAEH6arr?79Tb!aPC$$mx3dj$3kUTjeyX1NhO?Wa|C~Jnk+_yUXKlRUUNTIs&?Y`3y@f94L~wD?aE0q413W9lG27E*7nnR)C| zy@oF5-OJoBdL7^WI3LjNnd^B)ciMj0_DHgX&^Q4_>Kn%u3@Bs__$=@Nm*9YU_QwhN zd=rZg$$jKmqSnu+sRCD?0~V!z^>+ImGKj|9Ii*tQzYWlV4gBdjNPG{e_toYh;8E~W zXz;p&Zh*{vjYbzHz^b9FiNPPLdhw}JO1s1og1&*Ei+})jrQQ2=2YY%d!s#utP`tC7 zHoC)Bi~Fs=Yrxl!()#qh3|!^dofASudps!cVQrv@c(B45EM;2<3_?&;?J@bSh%DRQ zcudq9yWBKR8cLB!2DcC>DeyQZr&pWBy>}BO!Q6f9-?4_`@w!eZut?;`1iXQ+$|V~$ z&mn!x9~U21cnPqdg2~X$#>mxb;x*18=ICR6vjjM=U^cr@0#r60N3?;RyiVtsGOrtO zc8%3Od#fS_Im>5naJjY%iS*G6gF-x@0SWLv4(gP^ z%bfEv^*F~)l}uy)3ULuBpYO06zMNY>87@%d-kl!oQ1K;@7_1Go+9>=vAw0h^ny@{E}Eg(DqhbvzRxPB zkK?E!qnk%sY%41xYQh5+jEKH^=($j6o4;$DbkZtm*EZB6E00X~6`|e-c#C92N*-T3 zm&pZtQ>EmD5ppm+a9R0EwABq0swQ0XO21+QUmt%e5a`AGpPa_q7v$I)Pv&$h=Dge5 z3OS4)v8EtWKJDOlu6>G_HE$_qE7+7-qWRVoCh>Z+V@jTemcxcN%SPnZ)_*aqi}0%f zCOWCFN6+5dW((CNIwY0I`a&mb#G1P+tGYbh^ba&$N37NcKF5BpUoofqYmIoO@H7J{ zQtRTqufnikMpPU;%Y>Pln1jn2d6`ZE5xlM~xFOT&eE1Jjhw`Ew>gf*ja>ehlR02{h z$sEOLnkQF;os!Tj>%zo2wD}#&PCSOeuJ0?CIMq=Wqw}L~hB0ZtT3p4SEh>nbUgvvc zXkKRh^XwGx=FGCD4|?~yO{F!8;%bgdd*It_*dWl15}OTc$9W*Ro0pt|@}N$fx#2E} zc?#UeD!Y$N)V4;?rd-duT+c>fEpJqtdDJ%Z%Zkes7;F-L^Y`j>NW$$?1;S=AGe?Ig0bIh)u_1c4gwyh5goCvFTfITat%bFap2LOqI_x=vEOm2N5hc`!!X+Cyf4wlzpw=E*|&TZ;6qSK}NtaK5^(jU2? zp%|91Q14t~Rh+P85i=>;;%h;PF4I>8mPPGAf7tZJ8ok{wywT#as;jqG+`j*7P?!kRM2D75y@1}KKn7oN z;c}H(uWxb;>S~r0JM;GVZa|$^nVmD2=I!Y*Iblk<)4;0Uoho>lH_z02P#^a9+p2nl zJpSTe7?1Pwcg7mUQCy3%3X8HeEF+Qm>H=fcW2ted8=^y{ZYS(nhGfPKCPTWzuJ2HYHJ;S9KZy9$9r$0dGbhY+}9t3 z01G5-$-J#H>9OmQF@3vvo@M)?H6D$lL&+cYmrT(zk9IS+6zlM=M~T~bH>J0EU4w?U zQf9E8LKUqDoKDpa|L|(-#Vf{FPkaM(hpWGt;0vEX#)Zyt!8B4mw{M_<&;EurY>*QP z=@Pgo@I4Y3TNbAj*=ZZu&0~9;fvtsUyj=Bu-`=0m?TN3QF7GvNpjuPl4bzRl6sxQ> z%w-EWkX&G=Ccf}ol%wiy_Hp@J5zM6A7?i@8q^by}>7o?i+kBw*MC8)+WyVjsBkH+v z4iC&;lM$4NBOlSqhAzo-sueLkv+)ACp|5M#fr%lJS6zj@3faOSDSh@x!#+6pUy$on zI`A4sYaRb#8OV_?@aPWvlR>Wo!$|sFrK9l_P#??hTsZj%KMH-1IhiB1F5mdI<6e;7 z1HHGsjR42|npu?tP;UR$HMgJ(^vv|Hp5(PLW#%qKRjFqLV%=91iW3xj3}xv$C38+* zPGbW$)$iO}JG(Z$kNUCeuTmb{#l}Cy1B=z07|)lzE~XJ)#q>49z@eOKkXWh&|Ji&Y zsHbM$M_E4db_8z_;K0aA>!i-rynMvhKuR!?+3fWj_g~Wexe>aS-_}Iv627l(5oXrC zv3olT7O&9wfTg!T3>-4aiJ7=B*wgbY`j#>JN(x>dl;Mug)#6Ze5KqiFboms`=kU4Z)O0pYj1{S9Rp1? zn9a~b^`pbrrmC;Rfk=M`!1W38YbM`HGZe&VLHLWl~9mxH)>RSK1o z_VR(!eR1$Y?y`B%f}&(I=!B}1yG(NrFPNdaXvU3f`(Me`hGH^$PSDV}2!CfeP-4Ym z>#(8jLz0qJG41o1P^thbLuSACNH%w#&ig5;cknHzeO99v>^ziIl>k1;3oZm zShK*Y)PdqCi%&V=s^%Pb19#vUwKx07jrBf_2~GU*6W{hoR0wlZS)PjKNfgeqt0=w= z?x#Wf%99x;&RqADm9y8NId~KnN=vjdPYueu{-5>CK4gjMCN{UvED=i8Z$rb{>qY$PjHb5bHo_Yd>(qo8fA)?4LDXr!+3N}m{!HDsnP5JyOps8(mj#a47Sy+C%;~C zRsy0rx%V~b6@M- z&Cl&D+84v%8w=quJma`n2UJ835Fh{gnr;5vU3ok zSG;Qwsr4IB-8zr1zbY2U(&2K*ZKilHN`_;-e$@n1&YecKGWPY49Of!G%Vcn%UkJmi ztV6-@J+}J;SvL#%7DFQ~M?~!Ui9Dz;MT%Yqlk5C4YA`WJ;K9~k@{JoRZ?Ls8Az@uZGAg_v* zAPE{PE$y`p{j8#EN>ZPHfU*i#@jHKV4Fv4uPAGDul94~LQw(SZ9*58rzUDVFEOv;CCXc)JI3Ywgcy+*1}? zc4+9AHUEc?p`rUM)1@xyZG8j#S8k9HeyTLiC9F_&^g&n_76?`pK7^kccSMtHSU8pM z%1o%P$PtPShG5mnvFm{}B|*%eo&rGVdaglS4ibKp9GlrbM`jv-qr?xezwrXn^d6&U*GXZT%s&`cDE)IT9(%9! zgnKm%+Om3P-{&sEdtA%ZN^2lMulCxy)^?^?qY-}27#j>>e+$Jmk8a!ut-VFnL@2I3 z$0?-0u`AB<`^TR5bx8OYJ6z!ejCDu0!G0lE%C!_=^TXH=C-AD?`NFtpg>$+N@2@wzkvBf zb}^sGFAK^O3Joa`AeZq)mA>W*w!Vjz6R7;RWn}}R=rWqIP?s!g?`}eJCWFk&)V%Xr z)!T*3xmzH3Q*U|eX3HrQY;s&SC1hTE*GnkoxIFFirSYcnTvd9J!ZPC2Q%zXG8=d=k zRUhiqJHjuK*wX8>M5tuWCDyZjnYPIEyLZ&Y;fIeB&=QU}w?QCp!vF4!m`1;0g=yh` zdxi3itB&R9t=kgWhxH+vupThG3`6V%g#HDAjPGxK=JEAGAU<{YL1`Tf+>9kN?91hZ zG&AMsz9dCHa~l4}qv1nx|CJv}GFt`S)x@|H&FTy5dNpi)rjuty0@@NuQW!NSV2-Rc z`Y+J8g$);eE+vm7utEr?-6j3uqQlP5IMWai_5J0CH>3)_HYQnTUBd1j(j^lT_e3-x zTBJs=eNMt2HTaPp<^@<68>GKZ|EX8|o@w!qs2<)=(p`koDS*afEy{RUN z_#CH^K{%+v^YF$!FOhq-}pFdtXi2<_GA|#ibFJ266Ye z2EFo0L2VZw#Rmp~C_Jj7v)knYakds3bCGq;x2ia~+@X770C0+nzKpTON*z`gGw*{N z`6Jg^!!*{d=@Qenp2r%AS9(oZsK02?8yD8kFmMii4j98JL~PD8_FKvITj%Ee#$DvO z@Uou5wR&PCP4dr}c~|#eUwUkyM_i8sLfV(%Yh>O-;;N7z^YJWRAi5Ba(`Fz!PSS<# zuL}fPUU+lP>Y6s1sdr?hsr+)cWH#RMV>O3X7GdqdhEZ%D!@$-hpylmJ@dB})r}*;X zd{#wo%`+WBg$p$_ShPyDlV$pjZHYW<9$<*4)0Tg|$m=7c+2@~mZG9yatf#QAh9`7i z*}3W<>0)RM^o*EM78xxHwph0JDQ~%BWFgc3t4*Li{sOGhfsx$=IC!9~rJMqN3u_G* zuAaHb48+VqmFaz(Q6B*VX`;s#&7_meXA6lpWmJLgFb0`Ktcg9y`9nF9`*+>U_l*|5 z4G299-)BpkYjiH8uLQ6602UaJCuN>C7{4to@=<~RFNbT>pT0-YX z+pH0aC)gU-xG2MSW?{q5jh#hw{HZ1o$WuOSM^Qm9+)C!kbESKKCe#hzZww0U>6Pb5 zy%R&$PA&@oUL6iQ{SyIp8=R9YIj?bG!ewo-8j}pBf?yW(m$=O{2cY)g-3%N*j<<9^UsfK0cyEB?`aTEWbS26c?qS*em;Y@zuaWQNrDTm z{K`)B?<|4Z$GP8J5Yib5{l&Tp#qMW6&zTagSP-2dtgu1?pl$&R%{{SVHs?ufUYG$4^OTC$0&Pif(+a41{o0R+s2t zx2PiJ?2^9RryNhydU77uPl$0t%YqP7^lx};2)2Y3U*-r%^S;yCml+}WWQ z@{xISiZZolL%W|?o&|bPnkkuy9YVV7MA?x9^q}OYYak4Yqa{ig`Ym9+MwzzXP)xM$ zLg+KVsbmHwHhD;s*Fzj5kMbZ9I7AFn7;oQ=U!G?Fa$O?Wef>IwW*}KOQy3a*!P4&w zMzE(Ae6#xYek;#HIMtd=gAYMD>*`Z&zqDg($~^KSk2-bGv!F$B#@>ZNpL@k}pq z2B$}u&Wy{g_S*9chJ&V>KMr^{+%rSdP;g_hN87u?ReNl7q$kguk@9qp?g>BFzNE1D-g14Fg>QyvOeI|Okxkdy zH%g-ez2|+|HXRikltwkyvErhSy30Wb;SF3?-FXPt z`(;jAAqh+!rT)8#J?aM}Zk?z*rlM9lmaa>;={!hIifUWzHFz5pSXJr?4CVG_mDv8M z$T6yX8r$bE_EFul#QJY_&fxU2=;Jb!+lab!IPis1M~Qxi;w#8+2(0=?e`F!w2@Lc{ zVRJOqx3!uW&=N7)WlF?9N?KduaN_p$)OL=~2NG9bN2bdu5r^LndTYMqopf8tx$f<0 z+kshTx|ULTGGr-=;)622{^keu=!< zVp4IOiObg*U)&9tnde-bv2VxJNl|ukdz08&9aS?)ro8hDS;z=W-{=VaB|TUeXN$-; zN-8f`_-k&OeudG#tBW(X=uz**oF`JOKL?6_+Qd#$9^LU)OYE5~AjA&*p&Iwp=%*!y zLvz4j4Il`Yg2UL>KtuqW_j4B=C zi^o_b_@~)y5zTA^G3Cu?$$=-uYx1=sdh=DbVU?i^(9Cw zd#lLad*ye&S3S@3`^T&2ah-e4=X}QdGtTFuRg^WRVeZ<82gEBmQmT+mB@h^Ms<%(2 zw&l+%wzBc>P8jB|H^{bwn)QcJlntZ`NkDE=%IT4y{d0Puv*LQB2F`D3(T7F9xeMH} z)A#4UpEyk=_uX>a_d!&M6M<5vx9GRV7Pp)Z6+qvtJ1sH4biIli@`Kfk^?o{H;#>OB zJ{d3Q)!&r%=4P8wpw0nF#-8UfZP5Yoa8Z^Tmqa0~KK%ffLWBtgqkZ2!BR(jd8~>}kyT$5j{%T&j+aa5srz zryLd(b-4aVgZCqm4?`DogzVSO{mH*J;!s$m|86gTy^?Zs86AblA$_s$DWpP#DujP% z*hWXu1yA9fM$uiw@;A#|?e9`&Z4i%+Nep@mWX5L}R@B?vPVPBsf8nzAGQ^FT!h5vj0B99ah4vTa?%L?D1tU>i**fueYjB zCcCz05kUPcfT|+d)$f_lt`mg%bODJKdHIkKRGBo)$?zl261P52V50ri+nKa`1xYGS zO0>V~3752z1?|%?%`2+F-i<1Y-|))YXl~DZ`Tp$4%u|J~|8f;IzXL{3&LGh$GePW% z9z2+rq8h+lYubGyNU%U@4V*T|9JT1IwVyp3{7yDpqzlbG2YFbQ&+2D0nqa3dAOSrQ~z z`vInW95DlH9IAIiHWD60uUxa~?~Zb8++%EI)$<<^;Vr(85Q5=PZR@#9?%O@sOFT^Z zZ06xynum#d>AwPZ5(|*7ImXU~0qbo~(CNI3+n?`M#j!{F*U({!Vp|V9+IjKoP=%fR z_6Opb2BG4Cg^UZY3~2qJ%CDhGoh(4A$EV;@=5~2K?>}1X%cfyED{;h@Ku4?=K6I4A zJV(0^l9Z&i*NxK2gWER=Gj_0HHLIcUWhi)ge6?0t2OhGJ&hP2b}GZXv%T`F-O5m!d`3k8xjaU zV6eGm1zFy)7h=+#rLt*yr~P~T?^k(Wd(4D;)us|RXP>(058lHk_M$#LCz!9gDTDxt zycFfYvw#A43r81{w~6=8En6G=8yWCh*1pXT>qDM^43+UZyyEP2u`$+~+3PHv;L7~H z`&?W)g|!1+#;(#1?e6rgo-PV~S6Q|MIUSTEIu(gE*ZuZJIZ}?FSHF96Zyt7ON=WPF zoz(mYsv?8SiMAEn7+4T4ijp=A+N|9^K6v*|5?nh4&7F)3;vhA7J913)%0xHjbrGn+ zr5ebs{;D^WKUrd7_K~5!!7y;paw2-IDrDpo3AZomyz5%ZE8NElW5(rtZkPp0j=bxN zdfjU)qg0e&mPfST?a)E=PR=6v-nMhe?0ragqt@~7_V%dTfV23*j?nRG z0tj7PitKACFT09qRfT*Q{HF55(vsGI#nVmM*RL+w%oknype!1dXxOa3=A`M1NVrl? zfilEpYk4O?%02KVIwX?#_H;SF={7_tF(4)No&L*Jywds;&+v#n?naxt_Q^x-uE_} zPMXhBK1Cr!`W|*ZM1j_m%ufK*e?Prs`+52))r48JAOGvY(ont*T8Vw7a0%u|C2}UHwse}s68+$oE)N>XFhwGjo?Cch)?!^O(|JYd=~M`%1amj zQK3QsVemsT1h#BPZ~@8P6u_c7w+*vnH)f;48JwYVo)+RSJvkE+2gq}FPt zPU^A$Gbl)e*n^E3203?~R4s!W2XcKLKBF>CFFcTkv=Z7HhG}Dr#Xh2RYi3q!#3G%d zuEb(8duV4dvf3k8F3=I%k7%*rXl+I|+;Lg+r4LIufoOJDf4TaHU3NMb30b>{&jiabT+sYj)wi?dCeQsyWO+p_1Empfa~DgYT~LjzJtY!a zbM8;^FzVDuF)h9QLebS)q)qIN?&Fn`r566lZ=-tTO1fx#vDLaQtx$ni`~;cBU+@xf zesO7~106u(g+0&Ay7nNS_oe?*#bysx&78s|E&D3Ls&%%H=V(YUuQFN4P1Pj7&)Ppf z--?^{{v2uHRMn+TEowWh)#HOmyEx6Fx*ISIgJv#Zy&FsLS zvZ`v<()*5_uKsYENbPBu85Q3fVn!!njbYa5S9FsWC6ii}J)bv16KdqY*eCbcWGZpo z(`~8_=~?eERD1i-@Gu7&afuee%5hh?JhqaU7)SyS18B*%^Mw-RjGSDNUM=`j7E26A z36B=>w^Pg)HEdPnuH3G#^(uR_yGA5obF0S->wfsIwq4c)tZm&8X!6Q8>rE9x>Fzn5 zRDBK=N@gPB;)6+9s!p}kk_y*edI8@C^#JcK`;~`TxE=&N(K+o8m;q9VchuUZazl;C zDVRp3;GLuqKuQ4n0hC^StJh`W)g%9=+A7_df8~;XTt##~x)kN<2;hk$h4PC`xi34h z@DGdiyFu&MZ{5Iov{7+*uy4fWa44@19*q^!){+j7e~VB#7^C&D`fYWf9f1iRg7 z1}g=Z`qT5cX3Vhx{$5;acNz$JtkoGsmws;{fUM`>jbV#A3 z;a13zajR}GV2b~TA!NMN#^;g-IpyIq$4uRdy-;Hn{WP@Fip&LCe4&P1N-DjuBxv6$H6NAA z*${duZ82~!j#O?{SlAfu`l_qEo`n9WW~&XBuEN!(sT;anUy!CIO^Y&kj{tKLbJUgoPcCm6xRfnPtQ*U^vn z>Ge9bxnERtT&($V8m}OSeX)|>5$(=c%My%_(HPvFChN3JYSF`OT72neM%XZ@ym9~f zTd^^S(A;eYs1?F*P^rj=M6}3CU$07+x!3}}+tVcuH^UWkH1XYHU{6VlfmGne@x1qULs70Bye9ms#*S5=ch ziKPk@w}JrMVFiS+tMA%3nB9goK_rpJwd~0@n&)ktmlUpBRks?Q1a0G1DAwC)^bx_TGtKAZIiZK>y%Q@fy@!51S- zL0_F}wY(pL`Yy6A@L^!|4fYQB>cwEU^HWz_>zmSI&7frAx-KL~k?CCv>T{AEx&q2v zMMVv3Vq)&t7xva-z))y8oA z>chi_aSYIb^I-SD#K*RtYAc|(tCH_-QE@#eXnv-%5GO^1=`Mr}f|V>X)eEc()c0;i zQWQRk{9%4WdU^sUlD?Iu&#`mi9`2`lQYBQJ-WG()NILsErqm*2Bz|5D=}F)+blR-l zGxe34ExGCpftF1KnqPF&r!y9w32HGSnW@`}TjP*LDYfJ3V{}`UqDPRb9-$b{qj{4P zSMh#r%dKX?xX5}qe1$8|rpAZz#kk9tTgmcpgM(z^h7DZNPcGSF$@Be_O-{};I?3hV zL14w^(DOC9i{JLU@w(6_57WRI)y#o$87OA?qln@StS&|5s@z# z+~|0{o@`ypBADl3ldS3yCS@a_{PUI`jT-H;-vZQzK}HN6;UF8sPOJD7H;%yv33v>- z>2c2TH3&%&vGJxO-Pk8~3ZciDn_Q*Zb=yfPgB-$SZsub;l@%MpuRT%&SB{7T^PT}L zFqa|*H#n--KRo8Xp&9G3GLY}2tw8tc_a(}C^-0AwF7J}gNwvH(!KrmKfH<%%DNSRT z^|I&ts)RsUcQ&M!oej2w!K>%We4(ZoK04@C9-0x0dpmxJKRw4qB%>%4^Z-rP<04+a zPYeK$A+8wb-4)v~8E~TxmzvbByAuxX|JXDCRx6iWsM^Fs$_JQ75*9Yj2cFoY-$q=$ zjQUe9f3;Zyr6nvptiFVIRv5@5KJC;o^a0Ds&18*FtHG)0s$ySOCG7l^7pX6C^Qbm@ z_+$P0&wK!@+=P|AuDA!p-V(8%UJz{5f6=L9hdRt_WK!j0#=J?()t8B3F1%IgeJBM6 zcEX6q*3SJRdWF>4nP7C$X7z*GIKe~F>_y!#=#|Z_xA@$gR(^DUYe6`}36_WW4iv-7 zo`sYe>Sy25n|^g55A-hQC!(Lqy~S8~cnoe+r$dvTU!K|N9ZZQ<`?{@x`9?Nx11A~j z1!Z94?twokYzQop6uodKn@5Ia@7%fD97q$#=#0K(X!#O5{zl+r9kK3Z+?~nWU6U^! z?QYZ}7OYi8j@xyHc7)gXxI>)c6THZb?vJTmb>)f7VI*JjFbY3XEz=604JLS-) zeNm{@p!qpeAO6WR-5PbRiD)Z|E^CocP7u368qqwZOzNf_ZKtSe+&c2S5CWYS@mY(U zNaviZ5^Ulf-#tz5Gi#9(OfZ^=g`(U!^+)~v)P z#}Uam>DGr8WZlZZmGHe->3t=cKA=aiB-yQ_>Gj3bCv2_+q7{9&A}1f}KQQub-b-RN z%>R)&m!MMpAq7**%7GuvBCC@Yvu7j(`f7)tJ5PM^qXQ?bid-hbaf@Hm z2Po_$b6(&4!IYcEuLmi%BAoIl#xPM!%c5_;;lnCESOGL;0(e;Nc$qSXvLsinyZ8j~ zv9PzfZCixpm84c9>z$5f6ef*NC>378$H{q!#5A~`F#MF>6y&tVbAnUfvr9ioq$3dR z?;(0PtcPxEW8};D(k{_Q9w-ur&{OoP5{)JU5@ia@iDb0)?Fq`(!`{AuJ}0q8lPw~S zpDA}}Eol^#PQnU$9&=K#Mq1e4WLG3?wH`^eN-5gJ$1=p*z9ouV?ok#(CxDJWr&dIT zwYC299Z!M%g@Hz~x;4X}@14L7;W--Z+=vp3yPe7E*J36wzAlJf*E%SOM?tK|%P zOU&~gQ1#{1x#$vaaFtVx3=TU_*e)~p_}s=Z&yotm$!RA^B^ZfuN50Y4Dy$K9r%!u~ zN_mP}DQPl*za6147um-G>?8k3&MV^Joy{?L%lZ4eFw-5|@(}irIIpbZCaYB-V)K#c zUyOl?Ls>DLAagZ<&vQ=2GZ-EKLM?2OyMX}<*6l6^7qN-E>(C@a_4Xg!-z?vlVrdz; z?8Y5;2>#f|6<%)MLYjb%Lg;Q9stn-}Qu8QySZ%eVq48^ zp5@~#h_k0sHj{sBi6xM{q zKHvWQwe|S<#^naeUiw=%?xXc#L9KOdq)T6R-d=vE|CqzYbley`)iI#HC#D zX2%+?CLco$A7^$ScWzC$@ECe|1Va_WmD?mLjw6F}G=@7H<6s1jVu@Cr&r zgTu=pLancWa=4K*W7}0!p24YD{3zxc87iNo^eysrx6kg-Q(o*c26k;v#Wc_TGRG`( zow+Vc>q}soYka?pZ?m9sR6PE>7HJQziLf0&M-?o|=qD`l$H7#g%9h|_GtZq5S9)P5 z0COWAMqHIwe9Ji`&eacOvYNs)+)aSAQu1b!^Vd}lX`6Z<4$zlf74|(H3vkbyD@{>| zHQpP9Pdp!jH1%oxwtAU`?CUd`)baRE&ROsRu=~9aL-t%0 zlk=<3?Fdj??0DY?ONONsynYeJ1=Rf+)GFkbAE-r)oL+*}JbgBUY`rt05r4y#sbw9= z_9dKe;^FG;ajlGgh&yU`1_zJA5}vrXtT$=u=4gRnJ|QjJ25leXuOF6n1-o_<*qz|@ zuMlp$L<%6S%ZelQ7qEsL_7$JpOp<0Kngo_teq=2k_1NSRgsuFSj8HOH$;Z~ zN-kenrXQpJR18O~7s0;M{~CJA6)Vg8lK4KF0pe!2fRd9s!+?2|8ZE4SSc-K<%O}p+@IC#D@ilbogCXTf%5#lC8Jf3sBCR2G-fSWwn z7F3fYouSI$QL?)v^^(p)E8&VcyXM^Y0!g~_kbA_ZfRn%k&9{AoW5tE_((gu}xT|aG zJgpNS27|T)IlDPHHBI)yVsNwgvc9x@r_uZJ3UCuGN+Ti*^Hj!DhU$p3?o2VK5OrUn<^pH zcO}?*-P9dE;)eK$VJk^wwuz)#l^+~io0(bNmKlf+^l`@d^y0*L2QLM?$NJ(*oX1*( z!%9g#JNx%GqN6+qQkX7T03LqS)pWa?cf4aIVlSWkl8aQ6Ou|;8;vDkU>7!7th_c^lqziCT`uuYuAL{ zMT7o~NMqR3k6tTN*iYea%RlELIzzvIkz-@eQxl_N0Pe;koI_tf`4?-q0&DKdAIh8- zTQ>=UhK@RE4N3-{s}y9f+qJFR2;uWmz;0S=$)Ip+b$XH`Y z1;`uJofDl~H(qdpsU=8hSh|?knJvl4*3t}e-QSq*jj^wf{_g)Ono}C74&!rEjt#ub zXLP@Xz>btf-S|2IOpx+!6r){}qu%vdFkp%jNTnlIC=>jOEJCtZlr+LURE@8aLEi>N zX0JvlZ5cz8RhL=bFgW?e0krfUmIcJ+6~(>j#97i*PF7?7dc<@8a}+SsYGVv9==IBx zjnnWzhXiKBl8#8$1;Y(5OK^WvT>7NO;%}R|(NGEZ{vBXT#wkHMP#&e$wjaarHMsgi zH~=hZO)$k?#<~xx#w9~{1autpo0g!Ccokf>hVXLD>@b?QEB9rlj8PN*d}ECVAJ;S5 zeK{q7K=ZjZf1R<|GJ0`S-C+dq;wTQeiUza%abtln%K?B0c7SK8pLMmtP36E5JCsrJ zsTaP3S{zNpgB!->LiZ%A?pVdPXSq@=H-k`OcRn)Uz)6!ptYTCo*gnz4@FePQEx?%x z3z9G39QAJj;-`q(5SD7)_B*&)Y1wcGA8{MDNT!*@Xjf9eO#$AVAQizE_xE2aN2J-K zLL({qn6oq3U(4RZR$~ii5hyQNyD*|zE*VttRXrgBREg<}qQa3+9#H4N|Er1$Zu1vJjB6U`Jy?f`4D!66w8w^Vt@7t9-8Yb*p#`_5gVIdz!pffX;0~Md*qIr%G=)MjJ1$p4Jox^g17sgeL zC>b2e(U{4ge5`PS?l~AenYtADuv8MS{i~Jxl{&z2>Db@IiMOH<8~1SEjx^-Z-0S;2 zTF{G^a@=i6h8yOChr>*8h5g;c+*e=KV72%#8Thail4SNv8|f+K*m5VZ^ZMlAbW#hq zoEY>kqAo@9_A-_~lGvzdvZF@%OyCsnr$z`1Kb&coAIoeg>sg(1K)~Qv#1XAiK+SV* zki896DGke45VDn`bxZl~AEqV82G3PO255KaTSCGBQ1XuJJm0QXqOOVJ#*2Nu;_T%Xo6tl%{ zketq!Rd66>+Pw#W1@H=hw$&7m5C$;I0%la>(F+$zB0Js}?(G1>7!B+9Sc-1SnK@wX6IA^E^kx1&>^4Uh*;k4?WPTDN5u8IQ= zO|7nIVUoEY%*&n)>V8Z8foI~*>Tm&e;j&Cj$Q0Y#W6_tf$|F>lO=BoV$RZfV6ccA; zth1#G5O-kkc}YZfm$pWcKK$)3uhmiSt+v;4DaQ{SQd|9eCUJCX1=`<=y<@Cml|76N z>2|N_&k@IpYJC<+>XJh!pTP*c%Tma@7D zBeW_c7pbmo>)qG^nt>1-=21WT#J`2Od85OU&Wlr*ZC1T9j7S`+i<_o^8NT&vRY+hd z8woDGkGu^#<=Z!XD3PLtuv^PxCI=fr#sQPzIHD1BADIk$B6kR9iP%$M;9XRZVZRPH zYBwGkcve(c|Asy2?Ui&Ra{#hwaQBbg+7@T!8K07tG})_ZyDalH?wV(*@f_Q#;ok+R zwpv!6oAy48HC)lMloXD37h~!5Z=(vV-rlQ3{;1ZplD-4L&p&Yx_^`Tu;xbV|T(*lM zgRHY~d=mk;ZO84o&(lBc^KaeZzczXP9AM1iKa9C8+f=FTD;2di?2?ah)^CkM^Hq^` z==WaYj3CPvB66FK1bg{LT0nV;;wY^iD=y`V*WHW2Kc)vd^h)^(d8m&eFxLveA)q0d z^$%10v>-*yy2TZ)t70+RCx0!gwzw0{qzcB@H_1(Y7Xaw9^KQqs>Z+B%K z^%y;gKId~$x!$_5E=qUrRImlyTqMbrg$E?L zb}#4h545F3Sj=o$utn-RPBi#CP=OT5G!n}XQPninuxE6{FZz75$@%j#C_h;wlc5rN z{HvNPvNeNjfHF+t4e5UBN9ibr&3;&*yRzy>To5;_B?TC~!1*BoZ1nOlVu4SAVJ$$0 zZbd`PUK(B@^KO~8L8^gOF(Me}AS?i#0Et`^jz@h*Ns|^QAMc0P#7%szZb01TF0AmxMU0bo|ODv6DB_<1Q|g3d)tgMW@zh?$lt*nwI@Y!PLk(J_e3>+=3>= z(&WReb>8F5Mc(AR0%M!hyMwXlk6zc9Dp&9Y>}QjzUPM7H@Jcg$URV1Un!tORHj4QD z=>`ZyYiGVNfWtTX6v*?}xb)vk@LD0n?OZB2eUVp629wJOSg2tPbbm({4BUONKn>8< ziDV8Sm*c2@rqnDLzLplReiZbCQwNT+Cnhz9pTxPo(4wQs!ULbL^m!fUU#L~4X`*=5 zY$?O>-Ra;23*?~cwnx#`nz6qENA1A=AUrXKh za8_t@CeT;cae-6(usZKD)+Id4=wuSBAIEP3#`8YzOH@6We*Ri_Gv>=&q}@XNE1@!| z9R^Pd@`%_7T<7f=`qrY_uJxZ9_m82M(d#Ra6|{eJdO+&3abu$Z?^T-*EQpn^R<3&P zS8Mdr12)(dU>p|a7Gr96JLY+qB#fF(_AZ%+`k#UaLwtg)%6L!FV2NlnutJB_uU&CW_aD+AJv|#qPOoyHa8Gl z1b?4q0wJ_j!V!#R|6`GqU-}|5lu>-Y{f*q$1xM`dUW?#ovO`>r1^YD=4JayMvc=fS zzg=xKPVLptdu)p?YKs7iiKFz=>FwS3j1ufOZ)}ir(`d-Z^5c|CMrX;AHWEUk>X0jt zZ!rmq^L)@l*mvX)=QSdR$RqBWZeI_dwY%@Uy|3_)d*iF-iDQf$#uHf)51$P-c3x(^ z-C}PV%XRe&aG_M1)|=8jr)>f28nXg=`Lpgf@|65ZZ+ zEXe7H_@&|L=2`;6*y~dEGFpfADsG23sb;*4P9Ho_pn~uN}= zfKyq3Q`K5?x6r3~qjt(IQe>0#_yP%fy(>pcO4YTD$EF81RX%F5<>mLEp%=L619bb( zU&M@^&r6yP*-w70X8_=N!A6$>pkYF66QV=}zV>QFu7jb|gV3jPcWt-a>D(`=^1cFG zSPTr(e10QxiI38fiY+#O#l}Kh!vEJT5C3$@@s-OE(e$X%Cgme88#Q(NfTg1)BPq%CA zcx&VI_tTFkQ~}O5eSo;fh@=f_P&7$$eefo@&a4#XDSapK_?F5Ky&jhsHSpp<3P3Rf z-y6V2Um%r&j%Xi%AD-8ywImYtE8RFIEi+%4C-837eT zmZ|{&nDqjBU!smz7*XU!`@`h--9sX^s}FM0l?W%9Q>zOj#3{QLD(-)UkkmHYS%ygB z*Mceh)4F)-9=kdKh7CALNeY|8Gm*_5Ao|pwVe{hcXZ_+;;tHOkiHD+ns|82O>VD>UrSTb z&J`yw=Rn@#K;t1e`xQ0B&3h8G^DcGGv<**2srGwfxNOc#Mn7b+bGxBp@Mr{>7U1Y% zQ!}BxC8?RZYQTE@!1Ib&X54(kASYT!V;=r8U+1gwQTM=R7vEB5P1XQHT@_>m5ou4b zT&lr0AM{lSVUN6D`n;Zz9xg;kXe+~?Of|psaD^$0a>}W7f;X!e^tzbZ zhXpTQ{Qex$v)O>6mS5X{fsNk*`5AZh=Isxo_GWBd3zG|*#?{J3Q!T1mL5dm>Yoe6k zrgq@UGRQ9df=bGeFJZqy7&gj#u&&Z-T9n< zG-~j!KUo^s(t+XTD7vb3W2nL!1ddLwf0~`7b@|%-(j|{AR--)0jLdie7C7}b20a65 z22LoTorhQgUmFFx#^f2)`&*azYEBz$`AV&Zxsm&}`N4FrV4js}>CZN5Oey}fDQcI# zb+aWhK5dd7-b5rl#gqi8>AO;h8*aXw_6^b(QbL>*&UGZ4ANI>?#dgN|-s_NL;enV9 z1@s91Iy9GSltPnb?1fJAz%gU1_-Jvn^THm%{{6wh!U+7KeWCJ|=n)XECVo)u^Tr)E}*DX!7;=#}N}_PNQ&G-{RHN7)HCsUi0VnPy#X*L~+U_UW2K5Y53rp zPG1FlC=50zRBIktJz{D(GL&t6-Y+Lq4k;=h;3@0q)`4WGu&g8~V2Xd@Ug?;1>vpwi zLhLg5HRw`DyuPy=?e90v%%>#ESiF;>F|5L`t>ZwNGxw{#U)fQWWPtN}WqED@ z!S)1DWLq+*wLPfyfv3iBSw5alxv~5yk&)G}UtwI+ki`alGvV)R$Em^K(c`7khtBa( z0J4dPpAIPXb1)k6E2LN1TrN&9{S4z;p2pLC58R}L#R5*79SXyaR#tK zwBlK$VY6Iz=Ax9iS)|m6plPK?^l5@xfB%&tk3|q@0EwYAbSQnRf$STRs+Syv-jBbA zHLcLyn`6R5F(8dwa{Z|^mMDfckLLvKDvKI&?^B@bYYpH7@P=un-w?*uXVGS z0r6!3#!Der0S+==mFe|R&Ploi_9d;M){$clDp>^u%;}`@-h;z23hBekK{JMogdshF zO^Rudp+X}0V0$g!qH0`;WFFXMn%vYT?Ps)?X*PTOR$;=tO{5Uo?lvR%Hsy&-(Ce@C z4f;ac6|-7iY}ty@Z1yqMF;Ue)oKx|tC*vjMMo^L)ut%MbJpbIT%?rk^QlOfzRVAhZ z+}y!cWIjiaX@=qxg#F^gV>aUVp3J8Rf3@hZ%qn^=k#8t}wI8!5E_Y@_Y#;>$&$Pm> z87Q(Nc&6Maeo(yQ-u!xO#A&$8JCW#GKdB?6J?4F;¬^0QS@U^tv(s7tmGK;VWDd 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%0ASrPM}Cu^h22>rXm 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¥R=225rK8 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 NT_yEfc{fab{twj9&r1LR literal 0 HcmV?d00001 diff --git a/runtime/bootstrap/src/main/resources/static/avatar/shenqiang.png b/runtime/bootstrap/src/main/resources/static/avatar/shenqiang.png new file mode 100644 index 0000000000000000000000000000000000000000..297eb4e039b308d65de10497b22cafb6de25db10 GIT binary patch literal 158411 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

~=EqAgsZ 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

KC`U0_O6e$L}x`3;Jg6_4Bxr)#;aZwL9B+` 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%0D6St-pl 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 literal 0 HcmV?d00001 diff --git a/runtime/bootstrap/src/main/resources/tools/system.llm_query.json b/runtime/bootstrap/src/main/resources/tools/system.llm_query.json new file mode 100644 index 0000000..1b02a1d --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/system.llm_query.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "system.llm_query", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "llm_query", + "toolName": "llm_query", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n\n Content content = new Content()\n content.text = request\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/system.select_tool.json b/runtime/bootstrap/src/main/resources/tools/system.select_tool.json index 07eddc4..7e7e5a2 100644 --- a/runtime/bootstrap/src/main/resources/tools/system.select_tool.json +++ b/runtime/bootstrap/src/main/resources/tools/system.select_tool.json @@ -25,7 +25,7 @@ "operatorCreate": "169704", "operatorModified": "169704", "version": "3", - "owner": "你现在是一个插件选择助手,需要理解问题描述,然后从以下给出的插件中选择一个可以解决问题描述的插件\n\n##插件列表:\n###插件名称:system.select_tool\n插件描述:select_tool\n###插件名称:undercover.zhangwei\n插件描述:agent_张伟\n###插件名称:ekg-query\n插件描述:ekg-query\n\n##约束条件:\n-你必须按照以下JSON格式返回结果,并且不要给出问题分析的过程,{\"toolKey\":\"插件名称\"}\n-请尽可能从插件列表中选择合适的插件\n-如果插件列表中没有与问题描述匹配的插件请返回\"null\"\n-如果是模型不能回答的问题请返回\"null\"\n\n##问题描述:\n选择某个tool回答问题,今天是几号", + "owner": "", "deleted": null, "type": "OPEN", "status": "PROD_PUBLISHED", diff --git a/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_keyword.json b/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_keyword.json index 33ad59f..52c1b8c 100644 --- a/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_keyword.json +++ b/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_keyword.json @@ -5,8 +5,8 @@ "toolKey": "undercover.dispatch_keyword", "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, "toolId": null, - "description": "角色分配和单词分配", - "toolName": "角色分配和单词分配", + "description": "谁是卧底角色分配和单词分配", + "toolName": "谁是卧底角色分配和单词分配", "pauseStatus": "EXECUTING", "transparentInfo": null, "intention": null, diff --git a/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_position.json b/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_position.json index 4ee8cd0..5a41884 100644 --- a/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_position.json +++ b/runtime/bootstrap/src/main/resources/tools/undercover.dispatch_position.json @@ -5,8 +5,8 @@ "toolKey": "undercover.dispatch_position", "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, "toolId": null, - "description": "分配座位", - "toolName": "分配座位", + "description": "谁是卧底分配座位", + "toolName": "谁是卧底分配座位", "pauseStatus": "EXECUTING", "transparentInfo": null, "intention": null, diff --git a/runtime/bootstrap/src/main/resources/tools/undercover.judge.json b/runtime/bootstrap/src/main/resources/tools/undercover.judge.json index 156c13f..51ed0ff 100644 --- a/runtime/bootstrap/src/main/resources/tools/undercover.judge.json +++ b/runtime/bootstrap/src/main/resources/tools/undercover.judge.json @@ -5,8 +5,8 @@ "toolKey": "undercover.judge", "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, "toolId": null, - "description": "判断游戏是否结束", - "toolName": "判断游戏是否结束", + "description": "谁是卧底判断游戏是否结束", + "toolName": "谁是卧底判断游戏是否结束", "pauseStatus": "EXECUTING", "transparentInfo": null, "intention": null, diff --git a/runtime/bootstrap/src/main/resources/tools/undercover.summary.json b/runtime/bootstrap/src/main/resources/tools/undercover.summary.json index e7c5491..c71a562 100644 --- a/runtime/bootstrap/src/main/resources/tools/undercover.summary.json +++ b/runtime/bootstrap/src/main/resources/tools/undercover.summary.json @@ -5,8 +5,8 @@ "toolKey": "undercover.summary", "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, "toolId": null, - "description": "给出每个人的单词以及最终胜利者", - "toolName": "给出每个人的单词以及最终胜利者", + "description": "谁是卧底给出每个人的单词以及最终胜利者", + "toolName": "谁是卧底给出每个人的单词以及最终胜利者", "pauseStatus": "EXECUTING", "transparentInfo": null, "intention": null, diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_keyword.json b/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_keyword.json new file mode 100644 index 0000000..ef3d76f --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_keyword.json @@ -0,0 +1,50 @@ + +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.dispatch_keyword", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀角色分配和单词分配", + "toolName": "狼人杀角色分配和单词分配", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef randRole() {\n def player = [[\"朱丽\", \"agent_朱丽\"], [ \"周杰\", \"agent_周杰\"], [\"沈强\", \"agent_沈强\"], [ \"韩刚\", \"agent_韩刚\"], [\"梁军\", \"agent_梁军\"], [ \"周欣怡\", \"agent_周欣怡\"], [\"贺子轩 \", \"agent_贺子轩\"], [\"人类玩家\", \"agent_人类玩家\"]]\n player.shuffle()\n def role = Arrays.asList(\"平民_1\", \"平民_2\", \"平民_3\", \"狼人_1\", \"狼人_2\", \"狼人_3\", \"女巫\", \"预言家\")\n role.shuffle()\n return (0..7).collect { i ->\n {\n def r = new HashMap()\n r.put(\"player_name\", player.get(i).get(0))\n r.put(\"agent_name\", player.get(i).get(1))\n r.put(\"agent_description\", role.get(i))\n return r\n }\n }\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n def roles = randRole()\n return gson.toJson(roles)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n \n int successCode;\n \n String errorMessage;\n \n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n \n if (lr.getSuccessCode() == 0) {\n return lr.getAnswer()\n }\n \n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "GROOVY", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"https://opsgptcore-pre.alipay.com/api/tool/sample/{pathVariable}"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_position.json b/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_position.json new file mode 100644 index 0000000..e70dd88 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.dispatch_position.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.dispatch_position", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀分配座位", + "toolName": "狼人杀分配座位", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "requestGroovy": "def randPos(Integer n) {\n def player = [[\"朱丽\", \"agent_朱丽\"], [ \"周杰\", \"agent_周杰\"], [\"沈强\", \"agent_沈强\"], [ \"韩刚\", \"agent_韩刚\"], [\"梁军\", \"agent_梁军\"], [ \"周欣怡\", \"agent_周欣怡\"], [\"贺子轩 \", \"agent_贺子轩\"], [\"人类玩家\", \"agent_人类玩家\"]]\n player.shuffle()\n\n return \"\\n\\n| 座位 | 玩家 |\\n|---|---|\\n\" + (1..n).toList().collect { i ->\n {\n return \"| \" + i + \" | **\" + player.get(i-1).get(0) + \"** |\"\n }\n }.join(\"\\n\")\n}\n\ndef convertRequest(String request) {\n return randPos(8)\n}\n\nconvertRequest(request)", + "message": null, + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n \n int successCode;\n \n String errorMessage;\n \n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n \n if (lr.getSuccessCode() == 0) {\n return lr.getAnswer()\n }\n \n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "GROOVY", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"https://opsgptcore-pre.alipay.com/api/tool/sample/{pathVariable}"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.hangang.json b/runtime/bootstrap/src/main/resources/tools/werewolf.hangang.json new file mode 100644 index 0000000..1054e5a --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.hangang.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.hangang", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_韩刚", + "toolName": "agent_韩刚", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.hezixuan.json b/runtime/bootstrap/src/main/resources/tools/werewolf.hezixuan.json new file mode 100644 index 0000000..ded4942 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.hezixuan.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.hezixuan", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_贺子轩", + "toolName": "agent_贺子轩", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.judge.json b/runtime/bootstrap/src/main/resources/tools/werewolf.judge.json new file mode 100644 index 0000000..6f95558 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.judge.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.judge", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀判断游戏是否结束", + "toolName": "狼人杀判断游戏是否结束", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##本局游戏历史记录##\\n{memory}\\n\\n##背景##\\n你是一个逻辑判断大师,你正在参与“狼人杀”这个游戏,你的角色是[主持人]。你熟悉“狼人杀”游戏的完整流程,现在需要判断当前游戏是否结束。\\n\\n##任务##\\n你的任务是判断当前游戏是否结束,规则如下:\\n根据【狼人杀角色分配和单词分配】感知每一个玩家属于“好人”或者属于“狼人”,根据【本局游戏历史记录】和【重要通知】感知每一轮被投票死亡、被狼人杀死、被女巫毒死的玩家。 统计目前存活的[好人]玩家数量、[狼人]玩家数量。格式{\\\"存活的好人\\\":[player_name], \\\"存活的狼人\\\":[player_name]},判断以下条件中的一个是否满足:\\n1. 存活的“狼人”玩家数量为0。\\n2. “狼人”数量大于了“好人”数量。\\n3. “狼人”数量等于“好人”数量,“女巫”已死亡或者她的毒药已经使用。\\n若某个条件满足,游戏结束;否则游戏没有结束。\\n\\n##输出##\\n返回JSON格式,格式为:{\\\"thought\\\": str, \\\"存活的玩家信息\\\": {\\\"存活的好人\\\":[player_name], \\\"存活的狼人\\\":[player_name]}, \\\"isEnd\\\": \\\"是\\\" or \\\"否\\\"}\\n-thought **根据本局游戏历史记录** 分析 游戏最开始有哪些玩家, 他们的身份是什么, 投票导致死亡的玩家有哪些? 被狼人杀死的玩家有哪些? 被女巫毒死的玩家是谁? 析当前存活的玩家有哪些? 是否触发了游戏结束条件? 等等。\\n\\n##example##\\n{\\\"thought\\\": \\\"**游戏开始时** 有 小杭、小北、小赵、小钱、小孙、小李、小夏、小张 八位玩家, 其中 小杭、小北、小赵是[狼人], 小钱、小孙,小张是[平民], 小李是[预言家],小夏是[女巫],小张在第一轮被狼人杀死了,[狼人]数量大于0,且[好人]数量大于[狼人]数量, 因此游戏未结束。\\\", \\\"存活的玩家信息\\\": {\\\"存活的狼人\\\":[\\\"小杭\\\", \\\"小北\\\", \\\"小赵\\\"], \\\"存活的好人\\\":[\\\"小钱\\\", \\\"小孙\\\", \\\"小李\\\", \\\"小夏\\\"]}, \\\"isEnd\\\": \\\"否\\\" }\\n\\n##example##\\n{\\\"thought\\\": \\\"**游戏开始时** 有 小杭、小北、小赵、小钱、小孙、小李、小夏、小张 八位玩家, 其中 小杭、小北、小赵是[狼人], 小钱、小孙,小张是[平民], 小李是[预言家],小夏是[女巫],小张在第一轮被狼人杀死了, 小夏被第一轮投票投死了,[狼人]数量等于[好人]数量额等于[狼人]数量,女巫已死亡, 因此游戏结束。\\\", \\\"存活的玩家信息\\\": {\\\"存活的狼人\\\":[\\\"小杭\\\", \\\"小北\\\", \\\"小赵\\\"], \\\"存活的好人\\\":[\\\"小钱\\\", \\\"小孙\\\", \\\"小李\\\"]}, \\\"isEnd\\\": \\\"是\\\" }\\n\\n{\\\"thought\\\": \\\"**游戏开始时** 有 小杭、小北、小赵、小钱、小孙、小李、小夏、小张 八位玩家, 其中 小杭、小北、小赵是[狼人], 小钱、小孙,小张是[平民], 小李是[预言家],小夏是[女巫],小张在第一轮被狼人杀死了, 女巫毒死了小孙,小钱被投票死亡了。[狼人]数量等于3,[好人]数量等于2,[狼人]数量大于[好人]数量,因此游戏结束。\\\", \\\"存活的玩家信息\\\": {\\\"存活的狼人\\\":[\\\"小杭\\\", \\\"小北\\\", \\\"小赵\\\"], \\\"存活的好人\\\":[\\\"小李\\\", \\\"小夏\\\"]}, \\\"isEnd\\\": \\\"是\\\" }\\n\\n##注意事项##\\n1. 所有玩家的座位、身份、agent_name、存活状态、游戏进展等信息在开头部分已给出。\\n2. \\\"是\\\" or \\\"否\\\" 如何选择?若游戏结束,则为\\\"是\\\",否则为\\\"否\\\"。\\n3. 请直接输出jsonstr,不用输出markdown格式。\\n4. 游戏可能进行了不只一轮,可能有1个或者2个玩家已经死亡,请注意感知。\\n\\n##结果##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "summaryGroovy": null, + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.liangjun.json b/runtime/bootstrap/src/main/resources/tools/werewolf.liangjun.json new file mode 100644 index 0000000..bc21249 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.liangjun.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.liangjun", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_梁军", + "toolName": "agent_梁军", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.shenqiang.json b/runtime/bootstrap/src/main/resources/tools/werewolf.shenqiang.json new file mode 100644 index 0000000..f7a0e87 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.shenqiang.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.shenqiang", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_沈强", + "toolName": "agent_沈强", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.summary.json b/runtime/bootstrap/src/main/resources/tools/werewolf.summary.json new file mode 100644 index 0000000..c8d378f --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.summary.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.summary", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀给出每个人的单词以及最终胜利者", + "toolName": "狼人杀给出每个人的单词以及最终胜利者", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##本局游戏历史记录##\\n{memory}\\n\\n##背景##\\n您正在参与“狼人杀”这个游戏,角色是[主持人]。现在游戏已经结束,您需要判断胜利的一方是谁。\\n\\n##任务##\\n统计目前存活的[好人]玩家数量、[狼人]玩家数量。判断以下条件中的哪一个满足:\\n1. 存活的“狼人”玩家数量为0。\\n2. “狼人”数量超过了“好人”数量。\\n3. “狼人”数量等于“好人”数量,“女巫”已死亡或者她的毒药已经使用。\\n如果条件1满足,则[好人]胜利;如果条件2或者条件3满足,则[狼人]胜利。\\n\\n##输出##\\nPython可直接解析的jsonstr,格式如下:\\n{{\\\"原因是\\\": 获胜者为[好人]或[狼人]的原因, \\\"角色分配结果为\\\": 所有玩家的角色(根据本局游戏历史记录), \\\"获胜方为\\\": \\\"好人\\\" or \\\"狼人\\\"}}\\n以{{开头,任何其他内容都是不允许的!\\n\\n##输出示例##\\n{{\\\"原因是\\\": \\\"狼人数量为0\\\", \\\"角色分配结果为\\\": \\\"沈强:身份为狼人_1;周欣怡:身份为狼人_2;梁军:身份为狼人_3;贺子轩:身份为平民_1;人类玩家:身份为平民_2;朱丽:身份为预言家;韩刚:身份为女巫;周杰:身份为猎人。\\\", \\\"获胜方为\\\": \\\"好人\\\"}}\\n\\n##注意##\\n请输出所有玩家的角色分配结果,不要遗漏信息。\\n\\n##结果##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.zhoujie.json b/runtime/bootstrap/src/main/resources/tools/werewolf.zhoujie.json new file mode 100644 index 0000000..23ee163 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.zhoujie.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.zhoujie", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_周杰", + "toolName": "agent_周杰", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.zhouxinyi.json b/runtime/bootstrap/src/main/resources/tools/werewolf.zhouxinyi.json new file mode 100644 index 0000000..57a9d93 --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.zhouxinyi.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.zhouxinyi", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_周心怡", + "toolName": "agent_周心怡", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/bootstrap/src/main/resources/tools/werewolf.zhuli.json b/runtime/bootstrap/src/main/resources/tools/werewolf.zhuli.json new file mode 100644 index 0000000..50f1b8a --- /dev/null +++ b/runtime/bootstrap/src/main/resources/tools/werewolf.zhuli.json @@ -0,0 +1,49 @@ +{ + "id": 2, + "gmtCreate": "2024-07-17T07:20:35.000+00:00", + "gmtModified": "2024-07-17T07:20:35.000+00:00", + "toolKey": "werewolf.zhuli", + "toolDefinition": {"description":"演示tool的返回结果","name":"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response","parameters":{"description":"演示tool的返回结果","properties":{"button":{"description":"非必填,按钮名称,默认值为「重试」","requestType":"body","type":"string"},"pathVariable":{"description":"路径参数","requestType":"path","type":"string"},"requestParam":{"description":"请求参数","requestType":"query","type":"string"}},"required":[],"type":"object"},"result":{"description":"返回信息","properties":{},"type":"object"}}, + "toolId": null, + "description": "狼人杀agent_朱丽", + "toolName": "agent_朱丽", + "pauseStatus": "EXECUTING", + "transparentInfo": null, + "intention": null, + "input": null, + "output": null, + "exeNormal": true, + "message": null, + "requestGroovy": "import com.alipay.muagent.model.connector.http.HttpParameters\nimport com.google.gson.Gson\n\nclass Content {\n String text;\n}\n\ndef getMemory() {\n return binding.hasVariable(\"stepMemory\") ? (String) binding.getVariable(\"stepMemory\") : \"[null]\"\n}\n\ndef convertRequest(String request) {\n def gson = new Gson()\n String template = \"##狼人杀游戏说明##\\n这个游戏基于文字交流, 以下是游戏规则:\\n角色:\\n主持人也是游戏的组织者,你需要正确回答他的指示。游戏中有五种角色:狼人、平民、预言家、女巫,三个狼人,一个预言家,一个女巫,三个平民。\\n好人阵营: 平民、预言家和女巫。\\n游戏阶段:游戏分为两个交替的阶段:白天和黑夜。\\n黑夜:\\n在黑夜阶段,你与主持人的交流内容是保密的,你无需担心其他玩家和主持人知道你说了什么或做了什么。\\n- 如果你是狼人,你需要和队友一起选择袭击杀死一个玩家,在投票阶段你需要明确指出击杀对象,比如【我决定今晚击杀X号玩家XX】,不可以击杀狼人队友。\\n- 如果你是女巫,你有一瓶解药,可以拯救被狼人袭击的玩家,以及一瓶毒药,可以在黑夜后毒死一个玩家。解药和毒药只能使用一次。\\n- 如果你是预言家,你可以在每个晚上检查一个玩家是否是狼人,你应该明确告诉主持人你想要查验的玩家,比如【我想要查验X号玩家XX的身份】。\\n- 如果你是村民,你在夜晚无法做任何事情。\\n白天:\\n你与存活所有玩家(包括敌人)讨论。讨论结束后,玩家投票来淘汰一个自己怀疑是狼人的玩家。玩家必须明确投票,比如【我认为X号玩家XX是狼人,我投票给X号玩家XX】,获得最多票数的玩家将被淘汰,主持人将宣布XX玩家死亡。\\n游戏目标:\\n狼人的目标是杀死所有的好人阵营中的玩家,并且不被好人阵营的玩家识别出狼人身份;\\n好人阵营的玩家,需要找出并杀死所有的狼人玩家。\\n\\n##注意##\\n你正在参与狼人杀这个游戏,你应该感知自己的名字、座位和角色。\\n1. 若你的角色为狼人,白天的发言应该尽可能隐藏身份,夜晚则要明确击杀对象,不可击杀狼人队友。\\n2. 若你的角色属于好人阵营,白天的发言应该根据游戏进展尽可能分析出谁是狼人。\\n\\n##以下为目前游戏进展##\\n{memory}\\n\\n##发言格式##\\n你的回答中需要包含你的想法并给出简洁的理由,注意请有理有据,白天的发言尽量不要与别人的发言内容重复。发言的格式应该为Python可直接解析的jsonstr,格式如下:\\n{\\\"thought\\\": 以“我是【座位号】号玩家【名字】【角色】”开头,根据主持人的通知感知自己的【名字】、【座位号】、【角色】,根据游戏进展和自己游戏角色的当前任务分析如何发言,字数不超过150字, \\\"output\\\": 您的发言应该符合目前游戏进展和自己角色的逻辑,白天投票环节不能投票给自己。}\\n##开始发言##\\n\"\n\n Content content = new Content()\n content.text = template.replace(\"{memory}\", getMemory())\n\n HttpParameters parameters = HttpParameters.builder().build()\n parameters.setRequestBody(gson.toJson(content))\n return gson.toJson(parameters)\n}\n\nconvertRequest(request)", + "responseGroovy": "import com.google.gson.Gson\n\nclass LLMResponse {\n\n int successCode;\n\n String errorMessage;\n\n String answer;\n}\n\ndef convertResponse(String response) {\n def gson = new Gson()\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\n\n if (lr.getSuccessCode() == 1) {\n return lr.getAnswer()\n }\n\n throw new RuntimeException(lr.getErrorMessage())\n}\n\nconvertResponse(response)", + "summaryGroovy": null, + "manifestSchema": {"api":{"type":"http"},"auth":{"type":"none"},"description_for_human":"演示tool的返回结果","description_for_model":"演示tool的返回结果","headers":{},"name_for_human":"ToolSampleController.queryEditableResponse_response","schema_version":"v1"}, + "toolApiPath": "OPSGPT./.POST", + "toolProtocol": "HTTP", + "serverUrl": null, + "apiSchema": {"info":{"description":"演示tool的返回结果","title":"ToolSampleController.queryEditableResponse_response","version":"0.0.1"},"openapi":"3.0.0","paths":{"http":{"method":"POST","parameters":[{"in":"body","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-0"}},{"in":"query","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-1"}},{"in":"path","schema":{"$ref":"#ToolSampleController-queryEditableResponse-request-2"}}],"path":"/api/tool/sample/{pathVariable}","responses":{"200":{"application/json":{"$ref":"#/definitions/BaseResult_ToolResponse_"}}}}},"servers":[{"url":"http://ekgservice:3737/llm/generate"}]}, + "operatorCreate": "169704", + "operatorModified": "169704", + "version": "3", + "owner": "169704", + "deleted": null, + "type": "OPEN", + "status": "PROD_PUBLISHED", + "vdbPk": "447890596018669520", + "selectSamples": "[null]", + "selectVars": "[{}]", + "invokeType": "SYNC", + "tag": "SINGLE_TOOL:OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response", + "toolExtraInfo": { + "errMessage": null, + "devVdbPk": "447890596018692596", + "prodVdbPk": null, + "summaryModel": null, + "stepConfigList": null, + "nexExtraInfo": null, + "ispInfo": null, + "rpcUniqueId": null + }, + "pauseStatusList": null, + "configMap": null +} \ No newline at end of file diff --git a/runtime/model/src/main/java/com/alipay/muagent/model/chat/content/RoleResponseContent.java b/runtime/model/src/main/java/com/alipay/muagent/model/chat/content/RoleResponseContent.java index eb23f96..df7a87a 100644 --- a/runtime/model/src/main/java/com/alipay/muagent/model/chat/content/RoleResponseContent.java +++ b/runtime/model/src/main/java/com/alipay/muagent/model/chat/content/RoleResponseContent.java @@ -53,6 +53,62 @@ public static RoleResponseContent buildZhangwei(String rsp) { return rrc; } + public static RoleResponseContent buildZhuli(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("朱丽"); + rrc.setUrl("http://localhost:8080/avatar/zhuli.png"); + + return rrc; + } + + public static RoleResponseContent buildZhoujie(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("周杰"); + rrc.setUrl("http://localhost:8080/avatar/zhoujie.png"); + + return rrc; + } + + public static RoleResponseContent buildShenqiang(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("沈强"); + rrc.setUrl("http://localhost:8080/avatar/shenqiang.png"); + + return rrc; + } + + public static RoleResponseContent buildHangang(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("韩刚"); + rrc.setUrl("http://localhost:8080/avatar/hangang.png"); + + return rrc; + } + + public static RoleResponseContent buildLiangjun(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("梁军"); + rrc.setUrl("http://localhost:8080/avatar/liangjun.png"); + + return rrc; + } + + public static RoleResponseContent buildZhouxinyi(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("周心怡"); + rrc.setUrl("http://localhost:8080/avatar/zhouxinyi.png"); + + return rrc; + } + + public static RoleResponseContent buildHezixuan(String rsp) { + RoleResponseContent rrc = getRoleResponseContent(rsp); + rrc.setName("贺子轩"); + rrc.setUrl("http://localhost:8080/avatar/hezixuan.png"); + + return rrc; + } + private static RoleResponseContent getRoleResponseContent(String response) { RoleResponseContent rrc = new RoleResponseContent(); rrc.setResponse(ChatResponse.buildTextResponse(response)); diff --git a/runtime/model/src/main/java/com/alipay/muagent/model/exception/EkgToolNotFindException.java b/runtime/model/src/main/java/com/alipay/muagent/model/exception/EkgToolNotFindException.java new file mode 100644 index 0000000..d74c97d --- /dev/null +++ b/runtime/model/src/main/java/com/alipay/muagent/model/exception/EkgToolNotFindException.java @@ -0,0 +1,7 @@ +package com.alipay.muagent.model.exception; + +public class EkgToolNotFindException extends RuntimeException { + public EkgToolNotFindException(String message) { + super(message); + } +} diff --git a/runtime/model/src/main/java/com/alipay/muagent/model/scheduler/SubmitTaskRequest.java b/runtime/model/src/main/java/com/alipay/muagent/model/scheduler/SubmitTaskRequest.java index 3371192..6f18b1f 100644 --- a/runtime/model/src/main/java/com/alipay/muagent/model/scheduler/SubmitTaskRequest.java +++ b/runtime/model/src/main/java/com/alipay/muagent/model/scheduler/SubmitTaskRequest.java @@ -25,6 +25,8 @@ public class SubmitTaskRequest { private String memory; + private boolean ekgRequest; + /** * the range of tools needed to execute */ diff --git a/runtime/service/src/main/java/com/alipay/muagent/service/chat/impl/EkgChatServiceImpl.java b/runtime/service/src/main/java/com/alipay/muagent/service/chat/impl/EkgChatServiceImpl.java index a481e6f..91b2187 100644 --- a/runtime/service/src/main/java/com/alipay/muagent/service/chat/impl/EkgChatServiceImpl.java +++ b/runtime/service/src/main/java/com/alipay/muagent/service/chat/impl/EkgChatServiceImpl.java @@ -20,6 +20,7 @@ import com.alipay.muagent.model.ekg.configuration.Config; import com.alipay.muagent.model.enums.ekg.ToolPlanTypeEnum; import com.alipay.muagent.model.enums.scheduler.TaskSchedulerTypeEnum; +import com.alipay.muagent.model.exception.EkgToolNotFindException; import com.alipay.muagent.model.scheduler.SubmitTaskRequest; import com.alipay.muagent.model.scheduler.TaskExeResponse; import com.alipay.muagent.service.chat.ChatService; @@ -34,22 +35,39 @@ import io.micrometer.common.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.UUID; - +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildHangang; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildHezixuan; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildLiangjun; import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildLijing; import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildReferee; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildShenqiang; import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildWangpeng; import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildZhangwei; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildZhoujie; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildZhouxinyi; +import static com.alipay.muagent.model.chat.content.RoleResponseContent.buildZhuli; import static com.alipay.muagent.model.enums.chat.ChatExtendedKeyEnum.CHAT_UNIQUE_ID; import static com.alipay.muagent.model.enums.chat.ChatExtendedKeyEnum.EKG_NODE; @@ -67,7 +85,6 @@ public class EkgChatServiceImpl implements ChatService { @Override public void chat(SseEmitter emitter, ChatRequest request) { - boolean wait = true; try { TextContent content = GsonUtils.fromString(TextContent.class, GsonUtils.toString(request.getContent())); @@ -102,68 +119,138 @@ public void chat(SseEmitter emitter, ChatRequest request) { ekgRequest.setIntentionRule(Lists.newArrayList("nlp")); ekgRequest.setScene("NEXA"); - while (wait) { - - EkgAlgorithmResult response = sendRequestToEkgPlanner(ekgRequest); + ekgHandler(emitter, ekgRequest, "1", null); + } catch (Exception e) { + LoggerUtil.error(LOGGER, e, "[EkgServiceImpl call error][{}]", request.getChatUniqueId()); + } + } - if (Objects.isNull(response)) { - emitter.send(SseEmitter.event().data(GsonUtils.toString(ChatResponse.buildTextResponses("图谱执行异常")))); - LoggerUtil.warn(LOGGER, "图谱执行异常"); - break; - } + private static final ExecutorService EKG_NODE_EXE = new ThreadPoolExecutor( + 100, + 150, + 60L, + TimeUnit.SECONDS, + new ArrayBlockingQueue<>(1), + new ThreadPoolExecutor.AbortPolicy()); - if (StringUtils.isNotBlank(response.getSummary())) { - emitter.send(SseEmitter.event().data(GsonUtils.toString(ChatResponse.buildTextResponses(response.getSummary())))); - LoggerUtil.info(LOGGER, "游戏结束"); - break; - } + private boolean ekgHandler(SseEmitter emitter, EkgQueryRequest ekgRequest, String stepNum, HashMap exContext) { + try { + MDC.put("stepNodeId", stepNum); + EkgAlgorithmResult response = sendRequestToEkgPlanner(ekgRequest); - // 需要给用户反馈信息 - if (StringUtils.isNotBlank(response.getUserInteraction())) { - RoleResponseContent rrc = buildRoleResponseContent(response.getUserInteraction()); - String userMsg = GsonUtils.toString(ChatResponse.buildRoleResponses(rrc)); - LoggerUtil.info(LOGGER, "notifyUser:{}", userMsg); - emitter.send(SseEmitter.event().data(userMsg)); - } + if (Objects.isNull(response)) { + emitter.send(SseEmitter.event().data(GsonUtils.toString(ChatResponse.buildTextResponses("图谱执行异常")))); + LoggerUtil.warn(LOGGER, "图谱执行异常"); + return false; + } - EkgNode node = response.getToolPlan().get(0); + if (StringUtils.isNotBlank(response.getSummary())) { + emitter.send(SseEmitter.event().data(GsonUtils.toString(ChatResponse.buildTextResponses(response.getSummary())))); + LoggerUtil.info(LOGGER, "游戏结束"); + return false; + } - // 需要等待用户回答,通知用户后结束轮询 - if (ToolPlanTypeEnum.USER_PROBLEM.getCode().equals(node.getType())) { - EkgQuestionDescription ques = node.getQuestionDescription(); - RoleResponseContent rrc = buildRoleResponseContent(" *请回答:* \n\n >" + ques.getQuestionContent().getQuestion()); + if (CollectionUtils.isEmpty(response.getToolPlan())) { + response.setToolPlan(Lists.newArrayList()); + } - List crs = ChatResponse.buildRoleResponses(rrc); + // 需要给用户反馈信息 + if (StringUtils.isNotBlank(response.getUserInteraction())) { + RoleResponseContent rrc = buildRoleResponseContent(response.getUserInteraction()); + List crs = ChatResponse.buildRoleResponses(rrc); + crs.get(0).setExtendContext(exContext); + String userMsg = GsonUtils.toString(crs); + LoggerUtil.info(LOGGER, "notifyUser:{}", userMsg); + emitter.send(SseEmitter.event().data(userMsg)); + } - // 将 node 和 对话id 放入上下文 - HashMap exContext = Maps.newHashMap(); - exContext.put(EKG_NODE.name(), GsonUtils.toString(node)); - exContext.put(CHAT_UNIQUE_ID.name(), ekgRequest.getSessionId()); - crs.get(0).setExtendContext(exContext); + Optional userNode = response.getToolPlan().stream().filter( + node -> ToolPlanTypeEnum.USER_PROBLEM.getCode().equals(node.getType())).findAny(); - String userMsg = GsonUtils.toString(crs); - LoggerUtil.info(LOGGER, "notifyUser:{}", userMsg); - emitter.send(SseEmitter.event().data(userMsg)); - break; - } + HashMap nodeContext = Maps.newHashMap(); + if (userNode.isPresent()) { + // 将 node 和 对话id 放入上下文 + nodeContext.put(EKG_NODE.name(), GsonUtils.toString(userNode.get())); + nodeContext.put(CHAT_UNIQUE_ID.name(), ekgRequest.getSessionId()); + } - // 执行当前 node - ExeNodeResponse enr = executeNode(node); - EkgToolResponse toolResponse = EkgToolResponse.builder() - .toolKey(enr.getToolKey()) - .toolResponse(enr.getOutput()) - .toolParam(node.getToolDescription()) - .build(); - ekgRequest.setCurrentNodeId(node.getCurrentNodeId()); - ekgRequest.setObservation(GsonUtils.toString(toolResponse)); - ekgRequest.setType(node.getType()); - ekgRequest.setIntentionData(null); - ekgRequest.setIntentionRule(null); - } - } catch (Exception e) { - LoggerUtil.error(LOGGER, e, "[EkgServiceImpl call error][{}][{}][{}][{}]", request.getChatUniqueId()); + AtomicInteger step = new AtomicInteger(1); + List> futures = response.getToolPlan().stream().map(node -> + EKG_NODE_EXE.submit(() -> { + try { + String nodeStepNum = String.format("%s.%s", stepNum, step.getAndAdd(1)); + MDC.put("stepNodeId", nodeStepNum); + LoggerUtil.info(LOGGER, "exeNode:{}", GsonUtils.toString(node)); + + EkgQueryRequest copyRequest = GsonUtils.fromString(EkgQueryRequest.class, GsonUtils.toString(ekgRequest)); + + // 需要等待用户回答,通知用户后结束任务 + if (ToolPlanTypeEnum.USER_PROBLEM.getCode().equals(node.getType())) { + EkgQuestionDescription ques = node.getQuestionDescription(); + RoleResponseContent rrc = buildRoleResponseContent( + " *请回答:* \n\n >" + ques.getQuestionContent().getQuestion()); + + List crs = ChatResponse.buildRoleResponses(rrc); + crs.get(0).setExtendContext(nodeContext); + + String userMsg = GsonUtils.toString(crs); + LoggerUtil.info(LOGGER, "notifyUser:{}", userMsg); + emitter.send(SseEmitter.event().data(userMsg)); + return false; + } + + // 执行当前 node + ExeNodeResponse enr = executeNode(node); + + EkgToolResponse toolResponse = EkgToolResponse.builder() + .toolKey(enr.getToolKey()) + .toolResponse(enr.getOutput()) + .toolParam(node.getToolDescription()) + .build(); + copyRequest.setCurrentNodeId(node.getCurrentNodeId()); + copyRequest.setObservation(GsonUtils.toString(toolResponse)); + copyRequest.setType(node.getType()); + copyRequest.setIntentionData(null); + copyRequest.setIntentionRule(null); + + return ekgHandler(emitter, copyRequest, nodeStepNum, nodeContext); + } catch (EkgToolNotFindException eetnfe) { + try { + emitter.send( + SseEmitter.event().data(GsonUtils.toString(ChatResponse.buildTextResponses(eetnfe.getMessage())))); + } catch (Exception e) { + LoggerUtil.error(LOGGER, e, "[EkgServiceImpl send exception to emitter error][{}]", + ekgRequest.getSessionId()); + } + return false; + } catch (Exception e) { + LoggerUtil.error(LOGGER, e, "exeNodeError:{}", GsonUtils.toString(node)); + return false; + } + }) + ).toList(); + + futures.parallelStream().forEach(future -> { + try { + future.get(); + } catch (InterruptedException e) { + LoggerUtil.error(LOGGER, e, "exeNodeError:InterruptedException"); + throw new RuntimeException(e); + } catch (ExecutionException e) { + LoggerUtil.error(LOGGER, e, "exeNodeError:ExecutionException"); + throw new RuntimeException(e); + } catch (Exception e) { + LoggerUtil.error(LOGGER, e, "exeNodeError:Exception"); + throw new RuntimeException(e); + } + }); + } catch (IOException e) { + LoggerUtil.error(LOGGER, e, "[EkgServiceImpl call error]"); + return false; } + + return true; } private RoleResponseContent buildRoleResponseContent(String userInteraction) { @@ -174,6 +261,20 @@ private RoleResponseContent buildRoleResponseContent(String userInteraction) { return buildLijing(userInteraction.replace("**李静:**
", "")); } else if (userInteraction.contains("**张伟:**")) { return buildZhangwei(userInteraction.replace("**张伟:**
", "")); + } else if (userInteraction.contains("**朱丽:**")) { + return buildZhuli(userInteraction.replace("**朱丽:**
", "")); + } else if (userInteraction.contains("**周杰:**")) { + return buildZhoujie(userInteraction.replace("**周杰:**
", "")); + } else if (userInteraction.contains("**沈强:**")) { + return buildShenqiang(userInteraction.replace("**沈强:**
", "")); + } else if (userInteraction.contains("**韩刚:**")) { + return buildHangang(userInteraction.replace("**韩刚:**
", "")); + } else if (userInteraction.contains("**梁军:**")) { + return buildLiangjun(userInteraction.replace("**梁军:**
", "")); + } else if (userInteraction.contains("**周欣怡:**")) { + return buildZhouxinyi(userInteraction.replace("**周欣怡:**
", "")); + } else if (userInteraction.contains("**贺子轩:**")) { + return buildHezixuan(userInteraction.replace("**贺子轩:**
", "")); } return buildReferee(userInteraction); @@ -183,10 +284,13 @@ private RoleResponseContent buildRoleResponseContent(String userInteraction) { private SchedulerManager schedulerManager; private ExeNodeResponse executeNode(EkgNode node) { + Scheduler scheduler = schedulerManager.getScheduler(TaskSchedulerTypeEnum.COMMON); + SubmitTaskRequest request = SubmitTaskRequest.builder().intention(node.getToolDescription()).build(); request.setMemory(node.getMemory()); - Scheduler scheduler = schedulerManager.getScheduler(TaskSchedulerTypeEnum.COMMON); request.setTools(config.getToolKeys()); + request.setEkgRequest(true); + TaskExeResponse toolExeResponse = scheduler.submitTask(request); ExeNodeResponse exeNodeResponse = ExeNodeResponse.builder() diff --git a/runtime/service/src/main/java/com/alipay/muagent/service/sheduler/impl/BaseScheduler.java b/runtime/service/src/main/java/com/alipay/muagent/service/sheduler/impl/BaseScheduler.java index 37eb32f..a81fded 100644 --- a/runtime/service/src/main/java/com/alipay/muagent/service/sheduler/impl/BaseScheduler.java +++ b/runtime/service/src/main/java/com/alipay/muagent/service/sheduler/impl/BaseScheduler.java @@ -5,6 +5,7 @@ package com.alipay.muagent.service.sheduler.impl; import com.alipay.muagent.model.enums.scheduler.TaskSchedulerTypeEnum; +import com.alipay.muagent.model.exception.EkgToolNotFindException; import com.alipay.muagent.model.scheduler.SubmitTaskRequest; import com.alipay.muagent.model.scheduler.TaskExeResponse; import com.alipay.muagent.model.tool.TaskExeContext; @@ -16,6 +17,7 @@ import com.alipay.muagent.service.tool.loader.ToolLoader; import com.alipay.muagent.util.GsonUtils; import com.alipay.muagent.util.LoggerUtil; +import com.alipay.muagent.util.StringUtils; import lombok.Data; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -72,13 +74,33 @@ protected Tool selectTool(TaskExeContext request) { LoggerUtil.info(LOGGER, "selectedTool:{}", GsonUtils.toString(selectResponse)); String resultStr = selectResponse.getResult(); try { + if (StringUtils.equalNull(resultStr)) { + return getTool(request); + } SelectToolResult result = GsonUtils.fromString(SelectToolResult.class, resultStr); + if (StringUtils.isEmpty(result.getToolKey()) || StringUtils.equalNull(resultStr)) { + return getTool(request); + } return toolLoader.queryToolByKey(result.getToolKey()); + } catch (EkgToolNotFindException e) { + throw e; } catch (Exception e) { throw new RuntimeException("selectToolResponseInvalid:" + resultStr, e); } } + private Tool getTool(TaskExeContext request) { + if (request.getTaskRequest().isEkgRequest()) { + // ekg 不能兜底,直接报错提示 tool 找不到 + //throw new EkgToolNotFindException("can not select a tool with intention " + request.getTaskRequest().getIntention()); + throw new EkgToolNotFindException("对不起,根据您的意图,无法找到对应的工具来帮助您,请添加相关工具后再使用图谱。"); + } else { + // 闲聊大模型兜底 + Tool tool = toolLoader.queryToolByKey("system.llm_query"); + return tool; + } + } + private String generateSelectPrompt(List tools, String intention) { StringBuilder sb = new StringBuilder("你现在是一个插件选择助手,需要理解问题描述,然后从以下给出的插件中选择一个可以解决问题描述的插件").append("\n\n"); sb.append("##插件列表:").append("\n"); @@ -112,4 +134,4 @@ class SelectToolResult { private String toolKey; } -} \ No newline at end of file +} diff --git a/runtime/util/src/main/java/com/alipay/muagent/util/StringUtils.java b/runtime/util/src/main/java/com/alipay/muagent/util/StringUtils.java index 9e9c174..4c4d4ee 100644 --- a/runtime/util/src/main/java/com/alipay/muagent/util/StringUtils.java +++ b/runtime/util/src/main/java/com/alipay/muagent/util/StringUtils.java @@ -41,6 +41,10 @@ public static String truncate(String string, int maxLength) { return string.length() > maxLength ? string.substring(0, maxLength) : string; } + public static boolean equalNull(String str) { + return "null".equalsIgnoreCase(str); + } + public static String truncate(String string, int maxLength, String truncationIndicator) { if (truncationIndicator.length() >= maxLength) { throw new IllegalArgumentException("maxLength must be greater than length of truncationIndicator"); diff --git a/runtime/web/src/main/java/com/alipay/muagent/web/interceptor/WebConfigure.java b/runtime/web/src/main/java/com/alipay/muagent/web/interceptor/WebConfigure.java index da68819..419792a 100644 --- a/runtime/web/src/main/java/com/alipay/muagent/web/interceptor/WebConfigure.java +++ b/runtime/web/src/main/java/com/alipay/muagent/web/interceptor/WebConfigure.java @@ -19,7 +19,7 @@ public class WebConfigure implements WebMvcConfigurer { public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") - .allowedOrigins("http://30.183.177.8","http://localhost:8000") + .allowedOrigins("http://localhost:8000") .allowedMethods("GET","HEAD","PUT","POST","PATCH","DELETE","OPTIONS") .allowedHeaders("*") .allowCredentials(true); diff --git a/tests/service/test_main_sswd_long.py b/tests/service/test_main_sswd_long.py index 8c5d53e..72e211c 100644 --- a/tests/service/test_main_sswd_long.py +++ b/tests/service/test_main_sswd_long.py @@ -32,9 +32,9 @@ from loguru import logger import uuid -#geabase 依赖包 -from gdbc2.geabase_client import GeaBaseClient#, Node, Edge, MutateBatchOperation, GeaBaseUtil -from gdbc2.geabase_env import GeaBaseEnv +# #geabase 依赖包 +# from gdbc2.geabase_client import GeaBaseClient#, Node, Edge, MutateBatchOperation, GeaBaseUtil +# from gdbc2.geabase_env import GeaBaseEnv #muagent 依赖包 from muagent.connector.schema import Message @@ -72,11 +72,16 @@ if __name__ == '__main__': #1、 LLM 和 Embedding Model 配置 llm_config = LLMConfig( - model_name=os.environ["model_name"], api_key=os.environ["OPENAI_API_KEY"], - api_base_url=os.environ["API_BASE_URL"], temperature=0.3 - ) - - + model_name =os.environ["model_name"], + model_engine =os.environ["model_engine"], + api_key =os.environ["OPENAI_API_KEY"], + api_base_url =os.environ["API_BASE_URL"], + temperature =float(os.environ["llm_temperature"]), + ) + + #llm = CustomizedModel() + #llm_config_modelops = LLMConfig(llm=llm) + # 2、自定义向量模型配置接口 embeddings = None #embeddings = CustomizedEmbeddings() @@ -84,34 +89,56 @@ embed_model="default", langchain_embeddings=embeddings ) - - - # 3、tbase接口配置 - tb_config = TBConfig( - tb_type = os.environ["tb_type"], - index_name = os.environ["tb_index_name"], - host = os.environ['tb_host'], - port = int(os.environ['tb_port']), - username = os.environ['tb_username'], - password = os.environ['tb_password'], - extra_kwargs={ - 'host': os.environ['tb_host'], - 'port': int(os.environ['tb_port']), - 'username': os.environ['tb_username'], - 'password': os.environ['tb_password'], - 'definition_value': os.environ['tb_definition_value'], - 'expire_time': int(os.environ['tb_expire_time']) , - } - ) - + + # 3、tbase接口配置 + if os.environ['operation_mode'] == 'antcode': # 'open_source' or 'antcode' + tb_config = TBConfig( + tb_type = os.environ["tb_type"], + index_name = os.environ["tb_index_name"], + host = os.environ['tb_host'], + port = int(os.environ['tb_port']), + username = os.environ['tb_username'], + password = os.environ['tb_password'], + extra_kwargs={ + 'host': os.environ['tb_host'], + 'port': int(os.environ['tb_port']), + 'username': os.environ['tb_username'], + 'password': os.environ['tb_password'], + 'definition_value': os.environ['tb_definition_value'], + 'expire_time': int(os.environ['tb_expire_time']) , + } + ) + else: + # 初始化 TbaseHandler 实例 + tb_config = TBConfig( + tb_type="TbaseHandler", + index_name="shanshi_node", + host=os.environ['tb_host'], + port=os.environ['tb_port'], + username=os.environ['tb_username'], + password=os.environ['tb_password'], + extra_kwargs={ + 'host': os.environ['tb_host'], + 'port': os.environ['tb_port'], + 'username': os.environ['tb_username'] , + 'password': os.environ['tb_password'], + 'definition_value': os.environ['tb_definition_value'] + } + ) # 指定index_name index_name = os.environ["tb_index_name"] + # th = TbaseHandler(TBASE_ARGS, index_name, definition_value="message") + # th = TbaseHandler(tb_config, index_name, definition_value="message") + # th = TbaseHandler(tb_config, index_name, definition_value="message_test_new") th = TbaseHandler(tb_config, index_name, definition_value=os.environ['tb_definition_value']) - - - - + + # # drop index + # th.drop_index(index_name) + + + + # 5、memory 接口配置 # create tbase memory manager memory_manager = TbaseMemoryManager( @@ -121,27 +148,44 @@ tbase_handler=th, use_vector=False ) - - - + + + #6 geabase 接口配置 - gb_config = GBConfig( - gb_type="GeaBaseHandler", - extra_kwargs={ - 'metaserver_address': os.environ['metaserver_address'], - 'project': os.environ['project'], - 'city': os.environ['city'], - # 'lib_path': '%s/geabase/geabase-client-0.0.1/libs'%(tar_path), - 'lib_path': os.environ['lib_path'] - } - ) - + if os.environ['operation_mode'] == 'antcode': # 'open_source' or 'antcode' + gb_config = GBConfig( + gb_type="GeaBaseHandler", + extra_kwargs={ + 'metaserver_address': os.environ['metaserver_address'], + 'project': os.environ['project'], + 'city': os.environ['city'], + # 'lib_path': '%s/geabase/geabase-client-0.0.1/libs'%(tar_path), + 'lib_path': os.environ['lib_path'] + } + ) + else: + # 初始化 NebulaHandler 实例 + gb_config = GBConfig( + gb_type="NebulaHandler", + extra_kwargs={ + 'host': os.environ['nb_host'], + 'port': os.environ['nb_port'], + 'username': os.environ['nb_username'] , + 'password': os.environ['nb_password'], + "space": os.environ['nb_space'], + #'definition_value': os.environ['nb_definition_value'] + + } + ) + #7 构建ekg_construct_service + ekg_construct_service = EKGConstructService( embed_config = embed_config, llm_config = llm_config, tb_config = tb_config, gb_config = gb_config, + initialize_space = False ) intention_router = IntentionRouter( @@ -150,15 +194,21 @@ ekg_construct_service.tb, embed_config ) - + #8 获取main需要的内容 memory_manager = memory_manager - geabase_handler = GeaBaseHandler(gb_config) + #geabase_handler = GeaBaseHandler(gb_config) + geabase_handler = ekg_construct_service.gb intention_router = intention_router + + + - goc_test_sessionId = "TS_GOC_103346456601_0709001_sswd_05" + + goc_test_sessionId = "TS_GOC_103346456601_1127001_sswd_099" + #debugmode 调试,谁是卧底初次输入 @@ -238,7 +288,7 @@ time.sleep(1) ''' - {'intentionRecognitionSituation': 'None', 'sessionId': 'TS_GOC_103346456601_0709001_lrs_105', 'type': 'onlyTool', 'summary': None, 'toolPlan': [{'toolDescription': 'agent_2', 'currentNodeId': '剧本杀/谁是卧底/智能交互/开始新一轮的讨论', 'memory': '[{"role_type": "user", "role_name": "firstUserInput", "role_content": "{\\"content\\": \\"一起来玩谁是卧底\\"}"}, {"role_type": "observation", "role_name": "function_caller", "role_content": "{\\"座位分配结果\\": [{\\"player_name\\": \\"player_1\\", \\"seat_number\\": 1}, {\\"player_name\\": \\"李四(人类玩家)\\", \\"seat_number\\": 2}, {\\"player_name\\": \\"player_2\\", \\"seat_number\\": 3}, {\\"player_name\\": \\"player_3\\", \\"seat_number\\": 4}]}"}, {"role_type": "userinput", "role_name": "user", "role_content": "分配座位"}, {"role_type": "userinput", "role_name": "user", "role_content": "通知身份"}, "主持人 : 你是player_1, 你的位置是1号, 你分配的单词是汽车", {"role_type": "userinput", "role_name": "user", "role_content": "开始新一轮的讨论"}, "主持人 : 当前存活的玩家有4位,他们是player_1, 李四(人类玩家), player_2, player_3", "主持人 : 现在我们开始发言环节,按照座位顺序由小到大进行发言,首先是1号位的player_1"]', 'type': 'reactExecution'}], 'userInteraction': '["通知身份", "主持人 : 你是李四(人类玩家), 你的位置是2号, 你分配的单词是汽车", "开始新一轮的讨论", "主持人 : 现在我们开始发言环节,按照座位顺序由小到大进行发言,首先是1号位的player_1", "主持人 : 当前存活的玩家有4位,他们是player_1, 李四(人类玩家), player_2, player_3"]'} + {'intentionRecognitionSituation': 'None', 'sessionId': 'goc_test_sessionId', 'type': 'onlyTool', 'summary': None, 'toolPlan': [{'toolDescription': 'agent_2', 'currentNodeId': '剧本杀/谁是卧底/智能交互/开始新一轮的讨论', 'memory': '[{"role_type": "user", "role_name": "firstUserInput", "role_content": "{\\"content\\": \\"一起来玩谁是卧底\\"}"}, {"role_type": "observation", "role_name": "function_caller", "role_content": "{\\"座位分配结果\\": [{\\"player_name\\": \\"player_1\\", \\"seat_number\\": 1}, {\\"player_name\\": \\"李四(人类玩家)\\", \\"seat_number\\": 2}, {\\"player_name\\": \\"player_2\\", \\"seat_number\\": 3}, {\\"player_name\\": \\"player_3\\", \\"seat_number\\": 4}]}"}, {"role_type": "userinput", "role_name": "user", "role_content": "分配座位"}, {"role_type": "userinput", "role_name": "user", "role_content": "通知身份"}, "主持人 : 你是player_1, 你的位置是1号, 你分配的单词是汽车", {"role_type": "userinput", "role_name": "user", "role_content": "开始新一轮的讨论"}, "主持人 : 当前存活的玩家有4位,他们是player_1, 李四(人类玩家), player_2, player_3", "主持人 : 现在我们开始发言环节,按照座位顺序由小到大进行发言,首先是1号位的player_1"]', 'type': 'reactExecution'}], 'userInteraction': '["通知身份", "主持人 : 你是李四(人类玩家), 你的位置是2号, 你分配的单词是汽车", "开始新一轮的讨论", "主持人 : 现在我们开始发言环节,按照座位顺序由小到大进行发言,首先是1号位的player_1", "主持人 : 当前存活的玩家有4位,他们是player_1, 李四(人类玩家), player_2, player_3"]'} ''' #step 4 剧本杀/谁是卧底/智能交互/关键信息_1 params_string =\ @@ -353,6 +403,9 @@ print('UNDERCOVER', res_to_lingsi) + + + # #======================== # ## step 7-1 第二轮讨论输入 # params_string =\