From 2669397cd6d4e3902ed2340efab847d6deb8c63c Mon Sep 17 00:00:00 2001 From: "YOHO\\20373" <2037305722@qq.com> Date: Mon, 16 Jun 2025 22:18:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91mysql?= =?UTF-8?q?=E5=88=A4=E5=88=86=E5=88=86=E6=9E=90=EF=BC=8Cmysql=E5=87=BA?= =?UTF-8?q?=E9=A2=98=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BA=93=E5=90=8D?= =?UTF-8?q?=EF=BC=8C=E8=AF=95=E5=8D=B7=E6=8D=A2=E9=A2=98=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=85=B3=E9=94=AE=E5=AD=97=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/question/vo/QuestionVo.java | 2 + .../dal/dataobject/EducationPaperTask.java | 4 +- .../exam/dal/dataobject/ExamQuestion.java | 2 + .../mysql/question/ExamQuestionMapper.java | 1 + .../monitor/MonitorTaskServiceImpl.java | 2 +- .../paper/EducationPaperTaskServiceImpl.java | 2 +- .../mapper/exam/ExamQuestionMapper.xml | 11 +- .../service/mysql/MysqlServericeImpl.java | 115 +++++++++++++++++- .../controller/service/mysql/vo/MysqlVo.java | 16 +++ .../module/judgement/utils/HtmlAppender.java | 12 ++ word/试卷.docx | Bin 25577 -> 29365 bytes 11 files changed, 154 insertions(+), 13 deletions(-) create mode 100644 exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/vo/MysqlVo.java diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/question/vo/QuestionVo.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/question/vo/QuestionVo.java index 768e73f7..bbbcb804 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/question/vo/QuestionVo.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/question/vo/QuestionVo.java @@ -31,4 +31,6 @@ public class QuestionVo extends PageParam { private String quNum; + private String keywords; + } diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/EducationPaperTask.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/EducationPaperTask.java index 168829df..81166d58 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/EducationPaperTask.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/EducationPaperTask.java @@ -49,11 +49,11 @@ public class EducationPaperTask extends TenantBaseDO /** 是否为模板 */ //@Excel(name = "是否为模板") - private String isTemplate; + private Integer isTemplate; /** 是否启用(0:启用,1:停用) */ //@Excel(name = "是否启用", readConverterExp = "0=:启用,1:停用") - private String status; + private Integer status; @TableField(exist = false) private String count; diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/ExamQuestion.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/ExamQuestion.java index 3c176fa7..cee21b43 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/ExamQuestion.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/ExamQuestion.java @@ -99,6 +99,8 @@ public class ExamQuestion extends TenantBaseDO { /** 专业分类 */ // @Excel(name = "专业分类") private String specialtyName; + /** 数据库名 */ + private String tname; /** 试题答案 */ // @Excel(name = "试题答案") diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/question/ExamQuestionMapper.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/question/ExamQuestionMapper.java index eff5b9f5..aaa8812d 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/question/ExamQuestionMapper.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/question/ExamQuestionMapper.java @@ -42,6 +42,7 @@ public interface ExamQuestionMapper extends BaseMapperX return selectPage(questionVo, new LambdaQueryWrapperX() .likeIfPresent(ExamQuestion::getQuNum, questionVo.getQuNum()) .likeIfPresent(ExamQuestion::getQuId,questionVo.getQuId()) + .likeIfPresent(ExamQuestion::getKeywords,questionVo.getKeywords()) .likeIfPresent(ExamQuestion::getQuLevel, questionVo.getQuLevel()) .likeIfPresent(ExamQuestion::getCourseName , questionVo.getCourseName()) .likeIfPresent(ExamQuestion::getPointNames , questionVo.getPointNames()) diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorTaskServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorTaskServiceImpl.java index a6521765..eda08a01 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorTaskServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorTaskServiceImpl.java @@ -52,7 +52,7 @@ public class MonitorTaskServiceImpl implements MonitorTaskService{ monitorTaskDO.setTaskType(educationPaperTask.getTaskType()); monitorTaskDO.setTaskName(educationPaperTask.getTaskName()); monitorTaskDO.setTaskNum(educationPaperTask.getTaskNum()); - monitorTaskDO.setStatus(educationPaperTask.getStatus()); + monitorTaskDO.setStatus(String.valueOf(educationPaperTask.getStatus())); monitorTaskDO.setTaskSpecialty(educationPaperTask.getTaskSpecialty()); List educationPapers = educationPaperMapper.selectPaperListByTaskId(educationPaperTask.getTaskId()); diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/paper/EducationPaperTaskServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/paper/EducationPaperTaskServiceImpl.java index 51f54b6d..ea328021 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/paper/EducationPaperTaskServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/paper/EducationPaperTaskServiceImpl.java @@ -323,7 +323,7 @@ public class EducationPaperTaskServiceImpl implements IEducationPaperTaskService String timeString = now.format(formatter); educationPaperTask.setTaskName(educationPaperTask.getTaskName()+timeString); - educationPaperTask.setIsTemplate("1"); + educationPaperTask.setIsTemplate(1); educationPaperTaskMapper.insertEducationPaperTask(educationPaperTask); if (options.contains("1")) { diff --git a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml index 190e2a50..418fb58c 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml +++ b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml @@ -26,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -50,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select qu_id, qu_bank_id, qu_num,qu_bank_name, chapterId_dict_text,subject_name, qu_level, - content, content_text, analysis,answer, point_names, keywords, manual, create_time, creator, update_time, updater, deleted ,status,audit ,course_name, specialty_name from exam_question + content, content_text, analysis,answer, point_names, keywords, manual, create_time, creator, update_time, updater, deleted ,status,audit ,course_name, specialty_name , tname from exam_question @@ -153,6 +154,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" subject_name, qu_level, answer, + tname, content, content_text, analysis, @@ -179,6 +181,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{subjectName}, #{quLevel}, #{answer}, + #{tname}, #{content}, #{contentText}, #{analysis}, @@ -200,14 +203,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - INSERT INTO exam_question (qu_id, qu_bank_id, qu_num,chapterId_dict_text, subject_name,specialty_name, course_name, qu_level, content, audit, status, content_text, analysis, point_names, keywords, manual) + INSERT INTO exam_question (qu_id, qu_bank_id,tname, qu_num,chapterId_dict_text, subject_name,specialty_name, course_name, qu_level, content, audit, status, content_text, analysis, point_names, keywords, manual) VALUES - (#{item.quId}, #{item.quBankId},#{item.quNum}, #{item.chapteridDictText}, #{item.subjectName}, + (#{item.quId}, #{item.quBankId},#{item.tname},#{item.quNum}, #{item.chapteridDictText}, #{item.subjectName}, #{item.specialtyName}, #{item.courseName}, #{item.quLevel}, #{item.content}, #{item.audit} , #{item.status}, #{item.contentText}, #{item.analysis}, #{item.pointNames}, #{item.keywords}, #{item.manual}) ON DUPLICATE KEY UPDATE + tname== VALUES(tname), chapterId_dict_text = VALUES(chapterId_dict_text), subject_name = VALUES(subject_name), specialty_name = VALUES(specialty_name), @@ -234,6 +238,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" qu_level = #{quLevel}, content = #{content}, answer = #{answer}, + tname = #{tname}, content_text = #{contentText}, analysis = #{analysis}, point_names = #{pointNames}, diff --git a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/MysqlServericeImpl.java b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/MysqlServericeImpl.java index 3760ed08..c2ab1603 100644 --- a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/MysqlServericeImpl.java +++ b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/MysqlServericeImpl.java @@ -11,6 +11,7 @@ import pc.exam.pp.module.exam.dal.dataobject.ExamQuestionKeyword; import pc.exam.pp.module.exam.dal.mysql.question.ExamMysqlKeywordMapper; import pc.exam.pp.module.exam.dal.mysql.question.ExamQuestionAnswerMapper; import pc.exam.pp.module.exam.dal.mysql.question.ExamQuestionMapper; +import pc.exam.pp.module.judgement.controller.service.mysql.vo.MysqlVo; import pc.exam.pp.module.judgement.controller.utils.Mysql.MySQLExporterUtil; import pc.exam.pp.module.judgement.controller.utils.Mysql.SQLComparatorUtil; import pc.exam.pp.module.judgement.controller.utils.Mysql.SqlFileProcessor; @@ -287,8 +288,8 @@ public class MysqlServericeImpl implements IMysqlServerice { table1Columns.add(column); } - appendToFile(answerLogPath, "标准答案建表键值对:"+table1Columns); - judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "标准答案建表键值对:"+table1Columns); +// appendToFile(answerLogPath, "标准答案建表键值对:"+table1Columns); +// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "标准答案建表键值对:"+table1Columns); } @@ -306,19 +307,27 @@ public class MysqlServericeImpl implements IMysqlServerice { column.put("EXTRA", rsstu.getString("EXTRA")); table2Columns.add(column); } - appendToFile(answerLogPath, "学生答案建表键值对:"+table2Columns); - judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生答案建表键值对:"+table2Columns); +// appendToFile(answerLogPath, "学生答案建表键值对:"+table2Columns); +// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "学生答案建表键值对:"+table2Columns); } } String sql3 = resultStu.get(entry.getKey()); + Matcher matcherStu = pattern.matcher(sql3); + String tableNameStu =""; + if (matcherStu.find()) { + tableNameStu= matcherStu.group(1).replace("`", ""); // 获取表名 + } + String yuju= compareTables(table1Columns, table2Columns, examQuestion.getTname(),tableName, tableNameStu,judgementStr); + judgementStr=yuju; + if (table1Columns.equals(table2Columns)) { // SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList,total,answerLogPath,sql3,totalKeyScore,score,answerId,scoreTotal,judgementStr); scoreTotal += studentScorePojo.getScore(); judgementStr = studentScorePojo.getText(); } else { - SourceAndText studentScorePojo= calculateTotalScoreRate(sql2, examMysqlKeywordList,totalKeyScore,score,answerId,scoreTotal,judgementStr); + SourceAndText studentScorePojo= calculateTotalScoreRate(sql3, examMysqlKeywordList,totalKeyScore,score,answerId,scoreTotal,judgementStr); scoreTotal += studentScorePojo.getScore(); judgementStr = studentScorePojo.getText(); } @@ -788,7 +797,8 @@ public class MysqlServericeImpl implements IMysqlServerice { if (equals) { //todo 得分 SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, sql2, totalKeyScore, score, answerId, scoreTotal,judgementStr); - + scoreTotal += studentScorePojo.getScore(); + judgementStr = studentScorePojo.getText(); } else { SourceAndText studentScorePojo = calculateTotalScoreRate(sql2, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal,judgementStr); @@ -824,7 +834,88 @@ public class MysqlServericeImpl implements IMysqlServerice { return sourceAndText; } + private static String compareTables(Set> standardSet, Set> studentSet, String dbTable, String tableName,String tableNameStu,String judgementStr) { + String yuju=""; + int index = 1; + // 判断表名是否一致 + String tableNameCheck = tableName.equalsIgnoreCase(tableNameStu) ? "✔" : "x"; + // 输出 + System.out.printf("%02d.【数据表】【%s】【名称】【%s】【%s】\n", index, dbTable, tableName, tableNameCheck); + appendToFile(answerLogPath, "%02d.【数据表】【%s】【名称】【%s】【%s】\n", index, dbTable, tableName, tableNameCheck); + judgementStr = HtmlAppender.appendHtmlLineMysql(judgementStr, "%02d.【数据表】【%s】【名称】【%s】【%s】\n", index, dbTable, tableName, tableNameCheck); + // 把Set转成Map,方便通过字段名快速取值 + Map> standardMap = convertSetToMap(standardSet); + Map> studentMap = convertSetToMap(studentSet); + + for (String columnName : standardMap.keySet()) { + Map stdCol = standardMap.get(columnName); + Map stuCol = studentMap.get(columnName); + + String fullName = dbTable + "." + columnName; + + String nameCheck = stuCol != null ? "✔" : "x"; + judgementStr = HtmlAppender.appendHtmlLineMysql(judgementStr, "%02d.【字段】【%s】【名称】【%s】【%s】\n", index++, fullName, columnName, nameCheck); + appendToFile(answerLogPath, "%02d.【字段】【%s】【名称】【%s】【%s】\n", index++, fullName, columnName, nameCheck); + + if (stuCol != null) { + MysqlVo mysqlVo1 = compareField(index, fullName, "类型", stdCol.get("COLUMN_TYPE"), stuCol.get("COLUMN_TYPE"),judgementStr); + index=mysqlVo1.getIndex(); + yuju=mysqlVo1.getText(); + MysqlVo mysqlVo2 = compareField(index, fullName, "允许为空", stdCol.get("IS_NULLABLE"), stuCol.get("IS_NULLABLE"),yuju); + index=mysqlVo2.getIndex(); + yuju=mysqlVo2.getText(); + MysqlVo mysqlVo3 = compareField(index, fullName, "扩展", stdCol.get("EXTRA"), stuCol.get("EXTRA"),yuju); + index=mysqlVo3.getIndex(); + yuju=mysqlVo3.getText(); + MysqlVo mysqlVo4 = compareField(index, fullName, "键类型", stdCol.get("COLUMN_KEY"), stuCol.get("COLUMN_KEY"),yuju); + yuju=mysqlVo4.getText(); + } else { + // 缺失字段,直接输出所有属性错误 + MysqlVo mysqlVo1 = printMissing(index, fullName, "类型", stdCol.get("COLUMN_TYPE"),judgementStr); + index=mysqlVo1.getIndex(); + yuju=mysqlVo1.getText(); + MysqlVo mysqlVo2 = printMissing(index, fullName, "允许为空", stdCol.get("IS_NULLABLE"),yuju); + index=mysqlVo2.getIndex(); + yuju=mysqlVo2.getText(); + MysqlVo mysqlVo3 = printMissing(index, fullName, "扩展", stdCol.get("EXTRA"),yuju); + index=mysqlVo3.getIndex(); + yuju=mysqlVo3.getText(); + MysqlVo mysqlVo4 = printMissing(index, fullName, "键类型", stdCol.get("COLUMN_KEY"),yuju); + yuju=mysqlVo4.getText(); + } + } + return yuju; + } + + private static MysqlVo compareField(int index, String fullName, String property, String stdValue, String stuValue, String judgementStr) { + MysqlVo mysqlVo=new MysqlVo(); + String mark = stdValue.equalsIgnoreCase(stuValue) ? "✔" : "x"; + System.out.printf("%02d.【字段】【%s】【%s】【%s】【%s】\n", index, fullName, property, stuValue, mark); + appendToFile(answerLogPath, "%02d.【字段】【%s】【%s】【%s】【%s】\n", index, fullName, property, stuValue, mark); + judgementStr = HtmlAppender.appendHtmlLineMysql(judgementStr, "%02d.【字段】【%s】【%s】【%s】【%s】\n", index, fullName, property, stuValue, mark); + mysqlVo.setText(judgementStr); + mysqlVo.setIndex(index + 1); + return mysqlVo; + } + + private static MysqlVo printMissing(int index, String fullName, String property, String stdValue,String judgementStr) { + MysqlVo mysqlVo=new MysqlVo(); + System.out.printf("%02d.【字段】【%s】【%s】【%s】【x】\n", index, fullName, property, stdValue); + appendToFile(answerLogPath, "%02d.【字段】【%s】【%s】【%s】【x】\n", index, fullName, property, stdValue); + judgementStr = HtmlAppender.appendHtmlLineMysql(judgementStr, "%02d.【字段】【%s】【%s】【%s】【x】\n", index, fullName, property, stdValue); + mysqlVo.setText(judgementStr); + mysqlVo.setIndex(index + 1); + return mysqlVo; + } + + private static Map> convertSetToMap(Set> set) { + Map> map = new LinkedHashMap<>(); + for (Map column : set) { + map.put(column.get("COLUMN_NAME"), column); + } + return map; + } public static void deleteFolder(File folder) { if (folder.isDirectory()) { File[] files = folder.listFiles(); @@ -1448,4 +1539,16 @@ public class MysqlServericeImpl implements IMysqlServerice { e.printStackTrace(); } } + public static void appendToFile(String filePath, String format, Object... args) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true))) { + String timestamp = LocalDateTime.now().format(formatter); + String content = String.format(format, args); + String logLine = String.format("[%s] %s", timestamp, content); + writer.write(logLine); + writer.newLine(); // 可选:添加换行符 + } catch (IOException e) { + e.printStackTrace(); + } + } + } \ No newline at end of file diff --git a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/vo/MysqlVo.java b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/vo/MysqlVo.java new file mode 100644 index 00000000..01b7c76b --- /dev/null +++ b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/vo/MysqlVo.java @@ -0,0 +1,16 @@ +package pc.exam.pp.module.judgement.controller.service.mysql.vo; + +import lombok.Data; + +@Data +public class MysqlVo { + /** + * 序列 + */ + private int index; + + /** + * 文本 + */ + private String text; +} diff --git a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/utils/HtmlAppender.java b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/utils/HtmlAppender.java index 65859f5b..04871dd5 100644 --- a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/utils/HtmlAppender.java +++ b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/utils/HtmlAppender.java @@ -20,6 +20,18 @@ public class HtmlAppender { return result.toString(); } + public static String appendHtmlLineMysql(String originalText, String format, Object... args) { + StringBuilder result = new StringBuilder(originalText == null ? "" : originalText); + + if (format != null && !format.isEmpty()) { + String newLine = String.format(format, args); + result.append("

") + .append(escapeHtml(newLine)) + .append("

\n"); + } + + return result.toString(); + } // 简单HTML转义,防止注入攻击 private static String escapeHtml(String text) { diff --git a/word/试卷.docx b/word/试卷.docx index b4cd5fd06a299fd1e066cc3644fe7ca6f7767245..8d1a642bf9627cf03e4fed998d39fd4c55e0641b 100644 GIT binary patch literal 29365 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 VDKSK(UkGC8ZzA;Sw#l!%{{b{ZLm>bF literal 25577 zcmeEtW0PpXmSx$tU3JU$E!(zj+qP}n<}KT{ZQE6I-+SE?Juz=$en5AA$T$(XznqM< za_?MwrJN)%2nqlg00aO403m={V>ntMAOJuaH~;`L00fYxpskIQv5k|ilDnO;qc*LZ zwG}}D2oQN50MOs~{~7;{cVIAi!ls`dLHH&49X`HQ*+5TT8P#7He*&%i5jcvQPz8CT zA#`QORRE}hlAsL18JQxz{UxWKc*?GmHqs1|$IMb;S=NIZh`4&*B&T8K%<{9hz^|WN zUJaOHgHP{Z?rO^Jk39mBLS|e8&K$P`o)KIzM7XnFS%SJQRFNw0iOeV+131s=({+0j zSf5^0GB`GDE+KLxP+=;Ica1m~iodX|vte>F8ZjE zwMhb*xIgkSewjf1PZSnA&u)Aq{OADDj#T|nCivO%pY*n%V^zY2^^qH^nymtU^0*9_ zS(=Cr2vA->?;y>0>Myh6KGt3)-@Et^6ta_0rvZ8OHo<)BAacBPJ>k_;1h8k{|{&X8x!@v{CZVFpTz(@4Bt)QSKwTi{CXcop$whj>;}df zIE1FS6!ONZ#me^=*Xk;e_L;uu#QZ|ytcPQki1Tie_AOS5GHgT_oW7FhgiSlU!C@)4!b^HC|ZIT6Loq9I9RVUE4> z%1fFLQ(ij5(z1n^rYCp>w{Uj|?w@H)A1D*v`cx*GxY+*f2JJzm^TamBXbXxbYAh>y zI?}9ogDNPj+s?UjkHVhPq3~d8$b86fx(_cCEhLTalZazXUe+5z^(NgtTkI@t{)d0d z59S|aCI~P908<-JV@`H@qEaB$;sAiEv2rCDvtw<vgyu!;L=_fJ{mHda-X7Rh+y(+JrHM?gliBr6z0?7F@6ZIEj6Cs+J=Po~5||c4 z#g0k_abUlXd>hy}~<23jxCUa9FwKgs=+&NW2`vs{R3&g_$1EPBoDkTR=`UGSed`i-te$QE8+6|{n)AMXq%kiRk zq0pK2*);u*OyQoRlhv%7574y{aA?)LhO>vs&WeA|UI>HsLJ|;?>qaf>9sdM*WFu+l zo(y&3%w2g)gagaRdo7Hx310^61j(`UEvdCPo)1YC`#Fd)-f&sEa`8+_Kc54{3zn#D z!m{Z)&qy}pUb&>Ae*nKSbHf-*h9qk2;NbT$Y0IfJm4gyi=Nnt0jd^rH@CQMWbS4MxTze|2 zhQs4oY^6-k@?`bEizKC}RRzZNi=u$ED>F$wXopnBXcc)5+Sh*sCc;-o`_xSUnqTBuU&0%y`$?Fqx*Td`k z^Y$y5`IFvdMpTH{P~^(cznc4D zeq11v1WlY}N}L5UignUY+ghcfpoyrSWE_>#?d|?~x722R+&qpuQ&?b zl+)0fhv#rUT?g|IFUXhfaqz%`Yj+SnN*HR6uFVYkk}sk~So@as$C3;-b~F|&M2(@@MfO&C)~o{< zGGw?NwQiEQJ#_RYiXQ*0RP^N{zm`z z9!*J8G6VDoK{sNZf``BDk@99MWauEuRUzPahcofxSL3@r53lO6ikv-Jjd_?ti5?D81#h!I{*X9JlGb@-Ez0Izr0 zfvmvbC;lzq9sXhw z>2Jh8(Pm<6>tti=WbF8lDy1l8${~{;VdN(J>^J=;uD>`=Xn3|D)7jyA6MPn7MoF0eX zc=?{%gu6kd4_$LloBmng(otK(5wpTiO9LF~uo6KhG)0n6&l1)COW138ox==&$Aj>p z5#VLwUa-AzeCV0g78t+xOBWnQhH9?T@Q8!B?fSbxtXK6(fVkvFgp0uoJ9twby|YQ9 zA+D@gM7x&RUZ8VYb1Va%dIY!qE5B7OdP+If864yp$8~LRu10>CqrE>uU*$p+o>=WM z&+Dm|<6qoUdd-l$)B^9E47Q+2EeT9X-FR(sx7ixPtlq$x{`|OrE9;S$c+Tj#=kBh) z>oPLhzo>v!kp{kY>FCQ898*%t>Vu%L@&$e$-J7GXU>D=A?@V5<&_)%ohZm*}UX_*R z*uzO$fKg2gw3iI{e-W3RSW#Up<9o}4A#Eb)EbGR!&Lk9AqG*%&7TeIze)RlX24jh0&w~;Go+UGg4;6Y609? zfq3eII9iSsf1MIf>$PcuY0gcyMMq3(IPZdK?v(ZV>L)22q&Zo1Jo`t~8vy4#R-hV3 zjbCzyqVV}LZLVa9kCF$C+(8A`|Cbx<9-dt|q@d`I0Zk@cl&c2{c7^0V}cIs&V; zX6qI(!LNxZYwIVJou%U$B-AVjO?Ozc{w(}rdJbi6=Uqv28wOj#ky;$P!z%AurT+kM z&A>kaY%ro;{T~1p{U?AsOe=#rkT-2RM_GVRhLIy>q19pmu!YFJsWpaM^Z^!4TTf=g z&6ga`%iQ3uaIs~p{Bwt30NT=m)qYjO?YKVxPUuBGxVN#2^lk`1JDU9|Di2>96qrS_ z1s{C(V+jA_ahz_HvvAG1n+|VK2Dd_bE=vQwv~cR&w9;*q`hCwFxJ2?<2a$d;*m)$^ zE-@|t?t!2%;ChVG{s^lD2Br++bph9KQ$fg~{P6wB92oTmNDHKkG~n$E2{XQ!lMIYi zkQbtIJ}dp^q%pMQInMn@lI*(~x{zFE|CIF3R!MP&BoMSQ5Y;x{dttBl8&S!zMp=2| z(n}m9psVBO1CZNFbQH#VkzZyUDOZVRb7^iK6g&7$DU|IzL0O3E+U^8QVBVz}K zf8G-{)ngCFoqgcre)yd5j=Hr5g%_W+0+EETpqnM>z+4ryhO}XT*dg}ON9+K=#qQ6+ zKgMMIxCZUwc#&WGr+dUuDV!@yJ%_m+udvw&^hGKtRlJ?g7gb9uWO037Jlih_%F#qp zZn`=KdU~%BrWC!F?xS2?D~s)R+5`*K?v=*wxUaUh#3Qe}UzT*ghg=&=%0nQ`u7szk z<+iud?QxjpnH8j_k_+gxBq6^>R}Sb zTtgJ^SMtmAll+Gf;)GBYp$ut!2YY!jg9Ox@?r_3hVF>62fPCSUe~ienf)%)diFlzQ z#GYWn-?@s=!9;!WknV88-?)n29gBuf2)PRrKeBdx^4xdxuS0840i3a*2T!4+jNG41#XvN;3EG^W5)m;LpOmM{E74JYwzQEvrW`*$LZ9UxO_sht zA7%v{byjFjV}zTzTnb+2S-qmKD~>yBNotOVikD~Q9R2XT=@_eb`#9TjBf;=8(BmEr zp~SRL6zHIDRcV{y(^g!@`q&M&lB(bfXey-BC!l`Eadcc4b`^_G;e7JNgC08?WLV=?XAqi9HXj#v?qFJy566tyv8P;>xuwU(dWs(4Ap8Oja8BzBiWZ{+B*b%eSV?DQ+vp#e6cZOAmdl2}XPf%N3Bt0X`^@jRvXcgV zAd@cgp?&?0ZsIiq2H!9&XGfO#F^06KToKdUT+xC4>PiZn5&ISA#S#=}FoN%I6mq`}Ml~9I5g}J)dgloytX3t+*9B$7NEQIpKuezy>_IfIB z2_EmpN0F<}f(PX@*B36ESh&b0K;d&mETa*Q09E>Vs`Yu?`1z)|96Ibg757KtKFq^4 zqwEHb`fkr{gi-wsg#nv|KrbN<7zEpUogYl0hCBN6eKDg~tpJ-$54ai4NhlO43s?rL zQrr>Nr|Yk*>Z=jnXyQN-6uCO5!v=HfZj15LV<6$6ekL9MArItt^k^;hgP(J@^EKkT z1>s42iA{7V>+{yJ^SM8~hHbh7XWH{UB-`^ng1^J=d2orne@W;2{UrPS@E@zbKY=|R z_Rqs>vb)q}$Vof0o5;n`2bXOC6lZEs#2#gcDEKtwhPBW^+| zFAukH{TDEvv+qCP?f?_>>F|~zi&ni{Pkcto@j{e^OW()#%=pmlPdBg}ZfWQuWN&K< zopSi`ilrg^0D>#g^5iI@Y*Qc3fss6ON(NEiBz}mqhN$B459y43&r@lOJFyf%B+PrO zkuGajj8cn2;(>=Iz;8xh`SaOxTzMNolmvcy=V1*Ty6|Qf%N!CIOp4+Bm(tp_>WFB5|PaLm4YYwz9BE_=>IvKH5_wUQw#*kW9c=gdvD$00>URa%~1 zy3;jAa0L*4TVhHCbz%Q%3mhTR9g%ZCUT(Bv>vQPTA0-(oCvroP17}9k7(_xAGKq1Y z5I5E4o#m;tG(dcB3zlNTk%6+2wi0VwENh+zQI>b6Mh?VHR%2SbEO5DuAFuBaXs*K} zH(&ma(?RTg70Hc03t8Q3tM3!s9svK?&ci^gOpKaZ*a{~)nxfFy6No^~D%<$OGBBm# zw^n$yu327PXaVYlj;N_0h+XMEBIfx4mb^+ngu>dm*GeWE-Qg5SG+U%%D08}P%pQe# zUO*DNRV{2hRe|X^a)97)QL7@KcqWRK)7~M&oHUD zpd{l!Vgnw~_*7IV_e)c91W)FZbt7k*CRO{5#xsdXQXP-=lzl%W-GW^bwsJ{X|Bv3J zII!lcU-G(97xp+S?cf(64QfgyB8Yp_u|_DKIaK@ubx63q*CGsHzI8+5l^H&%=!jeM zWZky_y?X|{fj$F5`ZUk&tW@GXoCqheC4;h~b?mf7C-HJ8M@1EzBk&X_SdSGQmRQ1> z-s6Ehtf9*VMq@)7w8}+#`%a{M>bSyr*)%CQ>4t#s{+xDePb56pFN4I@%WBt|@n}`C z!WIOdQSRW{{h);|Z28I0_vnyfM`(!%X(LlJO7svvN4_g4$Rd+@+D7sKX;B4^IjqadM*V0Du* zi*A$Bvfqrc9O!om-GCcyVH?x4=?&L|?KN`sQIM&kSy>XYUjb2AzneA>sTR-yap}yl zp4-~Alul#coYfb-e)V6%)2QzTVzN59n%YLbxMzf4^EeX+>e0sfW5qnUP`xPVOn}eFDvY`pz zI^W47uqimVWv0TrQm9`+?&4IX&%7Qkmaa}UXe8Li)NOz148I5Gs+2UgJZFT!;r#caFwdhQ4UolM zkMCGp_a@781x9XrrbkA6v?vzG=-&hK+>q@FB@zJGY&C>k`f)@ce60O^tAC~uVG5J% zu{IwvKa~UMQZNmQu;#k<2d0H$DPWlyJVML4QUf6A06I-WusHx82)^mI7k0Ya!~Hv? z6azCWa^_@{lIK{*)$6u&_f1L}FQ5j`@4#lW3eIyk3nDhc6@tCXa(DFylzq+TK?IM^?A}bF}@l3y1f?W#+-<-;m)ow&AsnqsQpR++p>{ zqlq(cQ3$hG!y{VA0sKX-zVU_zMn5Mynm*@&7WstAs?Q4zHT-AYJa|LbB%uX*kl`cKR+%mZGFEE zE-r6;pDzB+K5w!sYd>FWJzA!`thex&BdvN25TDNhLph+Db97*u48EUwRA|HUUwwL1 zpU@Z`k0hH=cxEvnr%xoo9D2hn$0C>s+G?AIVYTPFSmV>dn#602z;&YohfG= zvBmZ2zb9#bO|@rWV8)V&P%`ch>Wn7XCA?qDU87QS*Z=wzV8WWIJ(EUt64H!5`2#=3TG(}$VEZx~AxcQl=YnssCn!SWabZQEb6Q5W|*XR>r|4b#|q z9%e*rT`g#zboJsn-pF0uvT+@(G)ti zH%B&F%mY|y5wryVA)NUPtf&*UAD^;vaZk?rqS0V@42?_dws>u2I^AYT;JK~`vXEEO znB0lCEJkbiD--V~7E*AWEtB}ykmq;>F3Z$9M?x27l(T!(lBHRpDA#)S> zc4y9c#{f@8^nI{e+dk3QO54rRB${YS=xdX$W>z;3n22QV&=s65XY^CNQ#%UwT0#u0 zm#8_1Lict>hBDIUvK@t$I~-xtEVeAyM}zhUtTD6d>2mTK(tJd{jcqY5I15h3m|>~q`VW~> zJ5d)MatBMSnG0>zbZjHZ6v(q#{opYr{*Ui)ZM$_FeFnhs*>jgOS9KH-5N&~`xEI4F z5a&(ZhFKJEc99FD0@4}<9jj*05S(N}jj#!%7Nga6Ppq0VF@yuwxfsX~X7=aj!5q~C zwOLFj{oh8Vv@7t!f5t3=q$?7(V_es$@$G>1e{i*iM=@0Opa63j5mo-4PXz3e>}d8#ov2pv*^FQhU&W(a!1h!g zmFyE=?v&TFUxB({<`~BApJd;g^FkY=u8@h4u06%G)YGT%G?qkS$~j&KuTFItficHm z4vs2y9#SJYV@3l5_BV6%9MM=V5%#`ZGLlV*W>C*#+z^O970+6h)Ylk288+`ife7v$ z&qXeMQb=3Iyfg-WL%B5n*Xoi=%P^y(3SH>CKYO*#524IOF@3c{!v#CdR@Sk1of5Dr_keHjDHqd@o|3 zf=MjZiBk9rWlYLvO{mav!W-~*xTXdftMOOv^`=7!bb7jk^?GAFa)jRj7h{$od}BsJ z`~{76I2$jUnIBj;_)>|hSc>IoyWAUFPF9f)L_ou#+#mP*MunD|5{7uYYIf_5rb>Tt zHWK^%%craubYAN%G3oJA>|#+=EIy1(&6+GqEMKUMEnF-PLQsS}0|Jv^#y+h%zqFWfwh-Lh=`gcTLs3|c$9TraEo))5-@=7ag(#6kBxaiu zw8bkz&ZYYK;3}*A4k<5!QSyAPnXV9$=)Ty1%CKT%SF!bZJtj(mgAN>enf?7u5@+m` z^;(S$0%$={D+3?A4w7l=p3GBD*aCBeVj*PY6lb&)lDNL)eU%z@yPA!^;88p-Z{ba+f5bj%1Lo|RsGt!_Hic5NU;_hArf4G7rJK?Cf z_#rG&wPfK$#DS3LJOUdUghr4^P>PRq{rRP=7HuHYF#(u`J&#}y$|3Slq_h+zC}U$@T_C$3;PxDL%te2ep}2YImu#qg*Dn2KGr% zO{Cb%^4_Hd;k6&SwlPc37BEl_V=)$VmN$##;(;n?K)Hr@rH z85+kZw4b8gt<*q+@nICUpJ%*-_XrKUVSqCz=qC=N`3%GOF@9W{s|AM56@=In z^La1@FZ<*1TKw9`hHm*-_loXF2JR*GatI}dtn^p$pypkTa!=C;1!%RZ-;Be7-Q~8? z#Gt1o({K_0S{<627%E0M=4ild?|x68m;wzsh)5{x`&O8>*D77sIadXkT(R%+s9mn4 zd7=Qg^{!tCimYkWxy#~U1(wJF+uHJI)mXm8{90o1+DPuf((z9yX$-k}=~@iIl$&>2 zxwR=>J3D_z{VT&P-##gHTr9G50tI6X9k4i!RV#N5*`&rH_GyZ^EjYhFjpO7LM5Lce z92(}JTOzU(G|>T!xBC^Y?l(f>0P61Q{Co~w?EEyf$Rk9wW%{MjGiX#Ky%$%!()r>p zDZqhZBNzoG66RLJigThpP-NVucuSi#GsUUW>EiKv*ngh39*o4s;(syfdTQH15Av&A zU&ZSFd|c)~&D8Gnc;823&NR4LTZ*u+n0bGEK1H6?=J-4vm;M5C%MAFU_VObdt-`(? z{Uc0N&p!ZUm)o5?NB}}kH5UU6WncDC5zY)0@lD4asKj8pqB&&ru_wN11A8cG$Y@K26M51COMK%dO8G@uVu?xyP-1# zYxzyTATGr;ST9*Jf~83(R0)od$S^^_`XTFXe)!>b)O$uBCVCDW0hx*|1SZqiW)V~L zwKKtd%G}j&H?%Xc@wwHYO|T%Ncx}dK0R-u&EO{K0`rP_@2zk9LBpVX`M`WUpet3du z=NDWM7S~*_7TZW>BRB*Ors5J}z;GWtQ#X)2araCSjRKi3aR6@)zr9}7a6!qouHbwaBi?Bn<8NUSX#6f2z&JJ>P&xoO- zRCl;x(iNy%-g~HSPXo05*d*R$G*DrhuJ5Q z0>=e$?c_$2L??2iMa_{O08MU_g-t^3GhQMP2i!aZcA4cBq2Z0Zmy!HS@&Xg0Qi*cR zCllsven3ktD519SI6Mhn(tGHeoc7X(sB+s5gH;_x2X1UxOA^MtlEl#_T|yzUfnBT}|qwHtNO{Yho*{9*9K6mF!QG$E!82yZD9O25E1 z;}0*JQ}{7z@vxZH82GhUpw6>fc6`VmHA9#FqH7XEX#bN6QoQeu9Iq^BICdOnuoJ_N3ZVu?5d9 zq}&AnvI6uy@(p8L{*})OGA8&DXXiDK-(E}~{!a7dwp)q8heBlL$65sU%giUS4;_b0 zRr8&-^%4p%7B!Z%4%*u^_V3Vyf;8Gvg=Co6WyOV@%}mq~j1x41OgAy?7aMvk7Du4< zWmL+xSIw+zya@3-s7vQ4jwNLgwlpYik?0BHWO9X(mkzO-iV+&mUkMv7oe>wP60ohR zb`>(^vvwOx0vpbiM>(3b&cBnv`^mYY#%&s0biLL_8s8>7S-PKrcr}vNQ@xN-!z%(K zCDgil=~SiYZowV4TjJ^_zch+>s#t$F3pB1@qi5Na%A0vK%j9c5oNxK8IATwI18;CD z>6L0fWogvPmnC!8?k-9s_!O#_{Z5wHC~w8)F8$K8v8;a>I_d9>SUL9nw>fdblsi!Y z1_0oY;lJ2{9F3iv%xz5nX=rQG)O6fnMf2H7|ANQkt+m{jaocx-0NN}{Y|5tG;#oj4 zwik@YN@zH^y!71>RA|8YF#I(p^MRoF>K7R3I8t2e^Vw8AeI3z4mHGaj^@Wg~i~7`{ zp8Rz6^mc>a5c&F9b@AYltSYUomCK8=^%h(E^WCcYqN+XjvRM6_7|GeSSz9O9_T9(T z*?o8$IL}odiRfctGg`k#>Ry8w$J7bZOW8O>dTR|dh*u*X)KYq55a;~?#;&g zIp4m4ChbOvgJb>yNHQ zh)taE&9610>z1YZ9q!0(gZ3Bc4iB6=mP=S*7wbmqKQSmx)iE$BPv!=10ka32ytA93 zq%lQi?2*H@rCF7>#J#!*vlIIZt#e`U%(Ui*ikwI18>gqDoJZnyQoi_1vJh3zJ3;}G z#P|cb`me|uTNS$2-O-!!qNxL`oil9iFJ|$`L(WguC`ZTd~+(=%l zIZmrxM$l?cAYD|p>z&yK!+k}q6P2y4&I`wEsP%#+-XhEHtPX6Sk`j2|QMp5<_1_m&Z%@=iV+0BnOSpyE59n~#y+8>}B5PbH(})@aii zCA__dky9RXC){_AOIHyUSOXUglnw?z-{&n;ttc3=GzV$Q_0uoPKZHH%k5e(6TSp|M zWAHGjuEN=imAWe6tbfeqGIx;Ad|Qsrr593iGylv~4$(c7F zD8J7(U%DuN+ZCM28Uh=~h8~0gyM}&?HaK>@Eqb<(ZFq_Ib4umTqgX5Adcw9B6w5td zbn85SFc`=luvWU%kGTft3N3Z{ENM9l4)D8dt!*jag)gdAjpxj-)@WHfLUC{@5a*_b z4Sp?Upr|HZ`&j3G6WN5&JNA{d=d$3Rd2_UssnYpy6+ReW#809Fmuhi%Ig{iPS+4Kw zNUNl(x_42dku+4;!E=)qeN8<+iMF4!B~pTAdZ`||22Z5ocSINnFc#e-ZmQz1cj7GZ zutaqYl;V{~18s?RSru*h&Jn!kN8VSoN6!o9grdutlt0Z^4kP7EKTXz+#KBY>l z)T{_gA}66tZ6{77Sv&HMzafNv7r2l0f9Fjn34o+u-WOWFcdvE3uUd;O|KyUz%DCP$ zRfMP-l4J1r5U2WFVy&fh*oA2Vdk7GjRNW!$Nl*bIiaQVXCFK%xNi(oeSSJ_^zM?#o z1TA5T6rq3-aVqfmhshK6g`v*lI`lFP-bwAbXGJv+hArbw(4ek!hJo0?9!4`vA(I0S zyIU|2sU`8lrS10dt21F@f;*2FJww$bm6M0(wWOm(j36**kf9NatOCTRQSk&q@DA`- zbp}2UBOP!r0y$==OVQX7-=^i6v>k&ONRkX%kOK=SK-0u40wzroa3#;ewb4%-3OSVL z`9R1cX+T6HKqkROhb0P5JptX}y~D>6Bj0-LlQ+saa;0$gH?)vttCzFz^K~3U!s9t+ zL!<~;KM4K7m`TJau5ZakLrihTG7l_Hgi76G&@sW(kqr}r#n6|)xnE==Imj@CW7Ov; zBEyj6jsh1bgSZeC%QmP)nx_Y^mLNaEOlp=J*8f4&0JZupkcn{ME>%Ptl|ppP8tj0~ zI#00(FD`xHCM{NFQWidH5Kcxd$&et@$9I8R9>tyWOF7E0-Thvq%DNUau$zE!Oo6&p zN<&H-juog{RYU{dHGC#+Zxrxc$zhz2$xtoMt~kLmRRBAg=pM&H2C9$y*e?ov1h+g5 zdRBmBXb{9PPl<$~pjiA)0#=f761!Lt%v%Pl5O^^ws(9$hzbRmEk_7n-xQXqo>~vt> zK19>3YhG01;K@ko7k{M!iXrhSDT!?Oml8u_Q5+j-2qz>_0tvXPL~=t)8ZhGp%rLI8 zTkjno<~~+zc=}AMVK^3u29{QpG}gvPbeL<{)`!e4e$ROEn{fLK~iR za&kz#fM^i`Mm)q=U9g#mf*<4TB>m-61{9T+rUicoycuDVm;%mQ6ASGS4hiB2S}k&e zB{`ckOVxmbqx>_2D2`bObk;~!G^vM5#pd>PEwMES?p*OC0jlrc~sZ~ zI6^#AGC|D}2oVOuSE*pzQMVzO0-C^ghI$Bw<8=`p|870%BPS`EIhBKCvUSNa#e=jF zPnd%;yuo?=KFHFrhH}G~fzWJ1?f3NhnPNdRjhSmh=eHtY0Nw zAs4M~QHBWmN^k<%!(0+|wj)}MfgA{25&12K{OchOk;QtDNr2YAQR)0q!z`f5SwOk@ zgA#7QSJ4XL(t2Kz&G&BjIF{CTc*M&grfxZDX9w}8OoIxieHZp*df3qm`Bmxs1~~eL zwMoJ8L}Y7rTx4+y^|&DElcNM?@x7zyrd+!WDbGo2jwy_6H8^5chcO8HB6_v0S{gV* zmvtP0TAGw{x7Py_N4FBy%$O~fm9R%(VHh=c-E&xkhGo{4M!n5PpA==%QA%{Wrxrh*Y}!Iq+l84Hf<** z)v4#UlLmsgM@a)o$uujQ7Ri~yAeVV`t%M{CM=JWL*aK{-N#2`|LH!Vb(S zzVVJJGvt2I08pTY7_Kmh z8MyhZd9NXP|3SnA6B<*LU7y|XZPUh6oTY$O(1@5sd7LF(@W=_c&N+%IT+`d!EA5|~~&7*We^Gbk|1akDjo z)T1{H1(?%*{t{x;@&Y)aE(m7XZoXJqlXj@Mo11VPMOp_Bad8<|BAhwyUJ6J+s1|8~ z1l7Zf0TPU6zx^#FW18d4DcKMb7+4(Nlf{t_kToQF@p40rB1T@h7!(-?+-Vg#?cMNj z-Ep)Tr%;!*N`ePoGLkU3dGyCeMX8gV(V!!5wj0$rVn{8DM_jViNl8mg%7cc)3QVu# z8uyA2EvMyQM;5c1UY!^pv@oTn9*jf^eA*cL!tP(UsSDS~Vji?)Tla)FUMs6UT#uet z+c$QoW4_Kiz1@JWE|%zAugKFA`L1ie5)}Gv1=!Zh|xxX}yu14-grf7Keyar!`qIvI+>bTCm zU)h`Q3^x*e_E*VdtnXLJWUbFvOJuCyS4%=$rUq)vDjUAtyuV*LnrbsEEUqJ$GLgRv z%#r$EBd)Bws-7zYqzsm*J6fM^OYdqc4xMO=qUwO5a zp@ojlED~3dz4B5Q8_*Aa3Wy5mjv{P8uMdnuQ>cq{XsqM7zwHDz;{Citt^9ow|8GP& z9}Njg1y}%pPA>oe`2Q5;9G%>){`H<_GkeByqYd>R?`eK|=gPTBTK<|I880qZV-!tU zc{}49IRr_J^rev~#fR*tyPP~O^O>@BJkH9msz<)rw$`3|$N>USPDSOs2+r5ehEmA8 z;Q_sNJbQ^L?ka0}f7#!Ln{XVQ-I;y5`J&7+A0kTD#){(C=F#F8NMSPzXSu6Q#3I#iT3e%-6E93H)=vezr{)hd(IbHWCfik%yX3+_{XWE) zLN{2(jh>HvcMGbWAgy(HZ|#zP*7~0P{*q8CjJL@{>^{1BcN#Tl6<;5}Dj=?tbr^*c z>+||?^ZhilGhtns$ZUI!dOT7{l@f+>m$D6Z<1R2imqRi_(uJ1mOJv|@{(d^pIriD$ z;qO5DP0<(K z;R$AUa4qv{v$^%Q72WYWyTjhq)b{V1QS?cQWc6+`L}L>MjBF0&3CqgF9hll^@$6>u=74hBZX z8y1oD1G7TLv3W1^)IwYG_nGD9KR(PeO6?b#_6}TzBGiiA9G4ibeXp;nkMBJOc3mdd zoFxW<^j@6`XVSq^Nr+c4)oX#=!P;;wpD{hN6!Eq|Re6q^G7c@ZYqbug9y5wF_kh>) z-k@qSPAEDpa!LUz-3J6Oqt(bJK-YtFJxsdQQL6bX#kvAqWcH=o^KkL3i!iSBHvrtm z8a6dCnhd$!ZZ+Gpk{#Yhy*5yANo%JT#Nexw(0_du?L~I5ObMyGFr_^v zj4<>R$Mf!Yj=G&$nvCL;i+corx;N;=XO(M|`=9bIsk%~v*p7PGh0+@KEAalw=9Pem z1oov0i>zd;4W#N$F)qQu;O$k^LE*X^UNi;ry^E*yIV<)5RRAG#!}at$xNt@Y`r8nX zEInb6SeB%I(um@LF_dzf?a`)B9PKS%+oY+}wJT55A4jHR$PZFfKBn_|V z$K%urn60xBHmi0zXNY7b{RydpX-3tRD(B`Kj_#W|c7#jQ#=sX?4X`U(5A=~Wh-;g~ z{JL=@;-r2c;-sSoPg~@UD=R^L~tMzvcqTglPv? z79y$rWP7Qj+Z>mS|B3dv&WS>I8&PARu; zHrnj=4JOC2ZpsxE1!p8h_{-Hdei~0t<>yx&iB%Z57uaeXcF*PHk~! zYIskLe#2=OO&irQ*onfNl-o2}4~+_TYc-dl0qBISCeD8O)SpF`oT0avKb>W)Hr!UJ z#7imGv~G(>!qIY&GW~KoG=Argk(eFcJ-hWAh6STCeL;!Y^S^5@!)gFLWqBF?S9@pT z4%PeqaoI_ju?txvOZF{fX<{ghv1MsF!>rQ`AG0^)6%^h$-snCVLSuqSu7PIRIA<8O(alZ9 zqJ;3DyM#eGBup3E+`_0g5cpz6%mlT>mys}Pz^dAPO3xe((n}B?V$Pz6w*yKW40AN7 z|FcPtw^(D%L0>e&#Zol#P5{Ewi7#ZFML#O=P5rdX`@>9;8ria581;n{bNvb z4^k0cG1Km5vmZ(qsHxa4Gu~5!&hqWEB**6f$!|}d6 z(1n$YTuO1S?(!!^y{hj=P_yLdpdDA5GM(>DXQXsWM7G@gr4D}kQbCvTwM^(@i9i#k9$u^q zx2(aOuL*FkWyr|?Ra2l>j2K5*{j9-b@JH;XVl~<-ZW^_=Gyg{aeT>=PmH%!4-}rNU zyFV+Th4{wT;v`^P!Nl;agy)opIO`d*UQ;r*qs54Gqp{1%N1&%|uBJ9m{TqDV`W`0R zmv-+(<4#LDeq|Yns}Q-mB;E$knchm~2JDiGOd-`&Yp$u*>(m(A6dPAmStgD7XX9{d zW4-&u-h*CPNTmhymIbzRGq!v8;S$$e)OaMBxJl#I^mSF#r$|S41&rQw!&mWLausjv zV`*$^g?svRzpq>BIs?ajH-ShVjB2UF+515fG$}R%#)FfZ8Z~uyZ43)v`lUEBNnsk( zWNL*B$&1T)^t~pg8X*B_kTf$w@#{iosgX`VX|}$JoW%F*I!XJ7v0Yndp__wm_N?q0 zMf>!-57y;@n?Wr?A)CYS>|(#y)RVX6o&~-w3&s)=1);<56w#SSn$IdqdnRpcz&n;} z1sFzvxVCurePmlpDLS9sGf{S3_qz#6z#|LgT(&7er?II|)qtsXQ)7R?aVhRYH6#*~ zwqpD8?78)~e6c}EX}cHo&mX|8AD1{=XQ6hPOjp)iuo~wI#q33vD4NJl5jyoZ zyW4i({R^x|aC5!|10Jem*`nF1e#3&txOCOLAn2Uaj^R$Pf8LDu0i|b?WxdYe^nvBz za8Ag$xVOxK{N*%V{T;z&Wxqb@#Mo;UhTA#QHb)b!cNbXZJ=Z(aBC3PUi*8(hAm>6| zuGNwukm>S~4b$70W|J9fCftRzrjb4#8f?y3|2Y3ydizcA7(lJ>&Q5sUY{9_zmrdE^ zpjUyuo^ICTHYrhGvh1H9mgTM^8rBPKA8Juu^YbpR>mA-*^!%)j|-)tEeNQ7-ek`I7=-{tf{pnV4*j6otWx0zx+9J@_{h} zrAtHj*zMHgDc2TU{afpxRoZUd){v%9c?ZP!hAGa!3cs=cMn42Q&0^XOYp@Zo!?gr7 z?PEAu=2{Nc_2-mlmA&dzz0o7V+rH!ZpW@}4#@}|LC6wP;+MF|`o4xB7IHu}-u(xa# zGAS0dw>W>~U#EO{c(nD=xHZ6%HvR3Ow{&1*7t~WSTJezi0&aHJaXe_Q;@#&)+?Sc7 z?<058JAy+3CzZKu@>Oum&iXhQ&Ue*xc5CwT@ZA7ZoyFa~>`tN(o?CThoZsz2Vvo6&ueW{2 zUFA)%&aw++OV94TR35d9c37}>@l>g`qV11b+M2KFXxeZ9Vy`c(ovz(5Rn6}IbkQ&^ zka^!(e%h_B5&IU`qAKcIrwctWv91xH7_WN2b?lhEwS;|nupby=)bEL?;}lPucqbeD zCY`Q(ZFham@lf-|QlIVc=XZM__2*Puw_#JBL=Qf0-L?Dnd3N@TdtG450ebmpK4j*o zIOOo_vJXyTr|GzHE^DD_7uL)k>|Es69G%7#y#CUE1xW755q5 zP=^e}T;m0j1HA4nv&v9WsUwX_)u4|O6!an{t&ID6g^G`!08ZH>OmsAf{Q&B>I9W2n z=P*Yz$OO0TkL}T54*9%KgHbOaQoyi8L@d>0Gd~}U6+vO@s4EX70o-)yQqu*sbB`)3 z@kM93pr*6W0*v|FIY!fl!4(7ZAATV zF4|_kiNAFTXY-v>AfPqZyev^!jL&dt1`hTBuFiv`QnY&(ri>=$mHd*Gd!=r93c9f zgdE+{6)4U_nwa#aoEWu^rlZ8Dh=&n^@1kNbu&^Im^5L1R2U?XV(&lp|hgA+QKQDq_ zQf#v=HO!R;R4-A}ChsHEp-$R0f0Z|FqT@#=>^U}e;cWX|u!xcFQAfikIhdmXBqpyf z&n)pgRI0s;hP)wKkepYHDOd8lE@%N{Za%=N$X6y5>&qmn_~dLffC9$SBSx*xict6H zpPB*3=3GdFIr8z)hY@R7i_%piJCLyAWn_b}5H&x1)k`=6l>iDQwUFXX@!(UZgcWHf zZAT@}Ak$d2_~w5{-^$5<(kZ2rV6gIl!RO=#{^~2K2>) z#il|HKml6b*w`X3VZrq2>~w&=AXn+0ARofEZ2eQRSbv9B7^vE})A<`r14s-cl3Esp zFpvYqXvo}Ub-2Np9!h@w!-wtQs{%~JXhvem_PnlL8Q$zZyi3B@a&Kimyr~b;=rA9Q zH;O=&8sw=-ak=J7-0`~x)=-0*lRg(3gXolmc!Nv$;$#(oD23M(3il{ewFJmu5!x|H z!io=AdlGXH2c}|%DDH&nh)i=m)CFx0@QX=>rrRlhnXrPpF14mSs9jKNFBxob(ry!q z?eXPRdTOr;j7sb)uR$#_YSU}lTk>?IvT5hUcEBrbQ`oc_!Hk2QLLVtQ!y;zN>~p(> zkU|nK0ZVCRYQgzt5xLY(qgu`B+ zL;)Z~^rff-(y$I{Op3trsw+QurunLcY#kqYScgTuu}vRVke`PeVfzJIsFGKF)WEYf z%Buck=*o34uNrTGpHD>^{-F?SvB}H@I^HM4Iu)M`p415NHH^qWvI|6^8wIv@@Q}^R zr6r}jA6_?xu@>`FTE4vD$EewSiP&IsJsM5PC_H2&4=pP@ zKmWR)<)Bo%IA8Wu$2DnyJ-f-o#3Lc8{5;}xD`P{dA*gehSo8W-{ueFg6H1_Hb_+SD zj47`qZW&sO*kJ0b$pU;kMu`PEqu=+zhO{67-A?$}UncswWl0y|Wt6hyaOUQDs(}yW z3{Do@uaPF2$=)n6&eC6nDB~07sDde2&yet2gi7Yhqgnm>k=!qbVVx2~zG&Fh`0ZwU z|4>^+%EWvtuDghNm6QuE24~P-K8y`FToCtly|Qn7g>^jFa$%1ZaUXXYh2_P`wbi)! z2=#o})ew$b;Q)^$pOP_o|9X?^+ahyof&9BoduMq8pR!cOGTinrbJytCG9B|Q|$w~%LEW}Ut3Mf1ZHm}RM8J_RUptjSyhT8 zbFu7XwMqNfrNwyH>}LAZw;nIN*lZ*al}UFlSg?2AqWQo$v3H!KiQVUk`!ZUh4#Wxr zliq13eZW2!X%#n6K8gc9QIffyckO%;)zF%-Zz*X?yo@e!c>ajO6W1(H$k?r6PK=CR z!htSH%B#Q~)3jyE(S`U`H=0ZK8~gi!?^Wn+eXn}l;r!mmZ&8seNqwCGwGEgMrOR67 z4?olkLesJb_VgUJhS{^7q8XcE5Be^TN*`CTZ**}S;yw1CzFc}d&j(0`U54 zc+oY8yQ`arxSgx}Pgll^+x|~<4L`AtMd|(!UAzAcJj3(#a^)iw`BiPPEiCF-=S z?q63fdk-hti5h1x7lbp4z0NW4_D8)Cb}WcgvNFjjBU+TI zu~t6YpWjj>JIZ|K%4mEsde1O%0a(bP~iFfifOr9sSoxn%@{MivW|GB zuD33e_@rUB{JYA&D%3X)bqk#a(>L;a-h=7oDeTy3WWBvbfm6zv0qxUC_Vr58KE1NQ zoZuBr7ozv?x`6u$d7-{|zwF2RCH?Py33GG%afSV#TjG5Z|H**%|8UD@zAZX~P0R&k zNr{|h5hdciL2+(|Siqwj3bhXDCAa{&GZEZ(KU6DyBJS8_qu1LEt2@1B_z?tn&hnTjXGY+Cqf!6&BSuf z^AiD23&2TYA)`|DtLsUxGDw|pmtL#^xEU;x&Z!sj2{Mf_bJY}lT$|42wo;c--%sh- zS?Hpzg|b>c3bH=U0GOmBy8Xrv7X2`eY3o(DsZB%E<>-p!x%VB5>3SOzr>C5tqR+eq z876@-F+1@Zr_NReA^~Fz6d}I|Lcl}LmoDd`wUOqu*@VOHIkYOgo{}kXn zf$?uBz(;leKRHf9ON8QzC$_@yf#H8jEfVsC%62C_2(Q)nlmA`kju0o*6+6Mn@W~=S z@!wR&2x-Ec$rIX1=(o=Q%Ah2q3A4aX=rNH$=$|=ZgfwAZ%L%P2{);Beav?N9xD5Ej zgrVFo6TdGCCd3JY_$N3<<8S=GA$>xa@DbDrYzX-U6FiV2v_LqaKC#ek`pbeN{!JPG zon902e@m9e~vZ3<04kS;lD;6$Tc$jdG%vdq9^)}KQ*U*$lMYA EA5d~8y#N3J