From 662e0c2aa8a903045871248619887c9af4614b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6?= <吴æ武慧娟> Date: Wed, 18 Dec 2019 10:41:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=94=9F=E5=92=8C=E7=97=85=E4=BA=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/ht/api/DoctorController.java | 18 +++++- .../com/ccsens/ht/api/FileController.java | 43 +++++++++++++ .../com/ccsens/ht/api/PatientController.java | 16 +++++ .../java/com/ccsens/ht/bean/dto/FileDto.java | 24 ++++++++ .../com/ccsens/ht/bean/dto/PatientDto.java | 25 ++++++++ .../com/ccsens/ht/bean/dto/QuestionDto.java | 2 +- .../ccsens/ht/bean/po/HtPatientFollowUp.java | 16 ++--- .../ht/bean/po/HtPatientFollowUpExample.java | 60 +++++++------------ .../java/com/ccsens/ht/bean/vo/DoctorVo.java | 2 +- .../java/com/ccsens/ht/bean/vo/FileVo.java | 19 ++++++ .../ht/persist/dao/HtDoctorAuditDao.java | 7 +++ .../ht/persist/dao/HtPatientReportDao.java | 3 +- .../com/ccsens/ht/service/DoctorService.java | 7 +++ .../com/ccsens/ht/service/IDoctorService.java | 2 + .../ccsens/ht/service/IPatientService.java | 11 ++++ .../com/ccsens/ht/service/ImportService.java | 20 ++++++- .../ht/service/PatientReportService.java | 50 +++++++++++++--- .../com/ccsens/ht/service/PatientService.java | 14 +++++ .../ccsens/ht/service/QuestionService.java | 10 ++-- ht/src/main/resources/application-dev.yml | 2 +- ht/src/main/resources/application-test.yml | 2 +- .../resources/mapper_dao/HtDoctorAuditDao.xml | 10 ++++ .../mapper_dao/HtPatientReportDao.xml | 21 +++---- .../mapper_raw/HtPatientFollowUpMapper.xml | 26 ++++---- .../java/com/ccsens/util/Base64FileUtil.java | 45 ++++++++++++++ .../main/java/com/ccsens/util/CodeEnum.java | 3 +- .../test/java/com/ccsens/util/Base64Test.java | 34 +++++++++++ 27 files changed, 397 insertions(+), 95 deletions(-) create mode 100644 ht/src/main/java/com/ccsens/ht/api/FileController.java create mode 100644 ht/src/main/java/com/ccsens/ht/bean/dto/FileDto.java create mode 100644 ht/src/main/java/com/ccsens/ht/bean/vo/FileVo.java create mode 100644 util/src/main/java/com/ccsens/util/Base64FileUtil.java create mode 100644 util/src/test/java/com/ccsens/util/Base64Test.java diff --git a/ht/src/main/java/com/ccsens/ht/api/DoctorController.java b/ht/src/main/java/com/ccsens/ht/api/DoctorController.java index a9b831ed..78013c56 100644 --- a/ht/src/main/java/com/ccsens/ht/api/DoctorController.java +++ b/ht/src/main/java/com/ccsens/ht/api/DoctorController.java @@ -35,6 +35,9 @@ public class DoctorController { @Autowired private IDoctorService doctorService; + + + @MustLogin @ApiOperation(value = "资格认证",notes = "医生提交基本信息进行资格认证") @ApiImplicitParams({ @@ -77,7 +80,20 @@ public class DoctorController { return JsonResponse.newInstance().ok(codeEnum); } - + @MustLogin + @ApiOperation(value = "查询医生资格审核状态",notes = "查询医生资格审核状态") + @ApiImplicitParams({ + @ApiImplicitParam(name = "json", value = "医生查询条件", required = true) + }) + @RequestMapping(value = "/queryDoctorStatus", method = RequestMethod.POST) + public JsonResponse queryDoctorStatus(@RequestBody @ApiParam QueryDto params) { + log.info("资格认证列表:{}", params); + DoctorVo.Query dtos = doctorService.queryDoctorStatus(params.getUserId()); + if (dtos == null) { + JsonResponse.newInstance().ok(CodeEnum.DOCTOR_NOT_SUBMIT); + } + return JsonResponse.newInstance().ok(dtos); + } } diff --git a/ht/src/main/java/com/ccsens/ht/api/FileController.java b/ht/src/main/java/com/ccsens/ht/api/FileController.java new file mode 100644 index 00000000..1ffbaa2c --- /dev/null +++ b/ht/src/main/java/com/ccsens/ht/api/FileController.java @@ -0,0 +1,43 @@ +package com.ccsens.ht.api; + +import cn.hutool.core.date.DateUtil; +import com.ccsens.ht.annotation.MustLogin; +import com.ccsens.ht.bean.dto.FileDto; +import com.ccsens.ht.bean.dto.QueryDto; +import com.ccsens.ht.bean.dto.QuestionDto; +import com.ccsens.ht.bean.vo.FileVo; +import com.ccsens.ht.bean.vo.QuestionVo; +import com.ccsens.util.Base64FileUtil; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.PropUtil; +import io.swagger.annotations.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; + +/** + * @description: + * @author: wuHuiJuan + * @create: 2019/12/17 18:03 + */ +@Slf4j +@Api(tags = "文件上传",value = "文件上传") +@RestController +public class FileController { + @MustLogin + @ApiOperation(value = "测评试题查询",notes = "测评试题查询") + @ApiImplicitParams({ + @ApiImplicitParam(name = "json", value = "测评试题查询信息", required = true) + }) + @RequestMapping(value="/saveFile", method = RequestMethod.POST) + public JsonResponse saveFile(@RequestBody @ApiParam @Valid QueryDto queryDto) throws Exception { + String path = Base64FileUtil.base64ToFile(queryDto.getParam().getBase64(), PropUtil.path, "/file/" + DateUtil.today() + "/"); + FileVo.Save save = new FileVo.Save(); + save.setPath(PropUtil.imgDomain + path); + return JsonResponse.newInstance().ok(save); + } +} diff --git a/ht/src/main/java/com/ccsens/ht/api/PatientController.java b/ht/src/main/java/com/ccsens/ht/api/PatientController.java index c0d3fed0..d01a3544 100644 --- a/ht/src/main/java/com/ccsens/ht/api/PatientController.java +++ b/ht/src/main/java/com/ccsens/ht/api/PatientController.java @@ -11,6 +11,7 @@ import com.ccsens.ht.service.IPatientService; import com.ccsens.ht.uitl.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.JsonResponse; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +38,21 @@ public class PatientController { @Autowired private IPatientService patientService; + + @MustLogin + @ApiOperation(value = "查询医生录入的病人信息",notes = "查询医生录入的病人信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "json", value = "分页条件", required = true) + }) + @RequestMapping(value="/queryByRecordId", method = RequestMethod.POST) + public JsonResponse> queryByRecordId(@RequestBody @ApiParam @Valid QueryDto params){ + log.info("查询医生记录的病人信息:{}", params); + PageInfo pageInfo = patientService.queryByRecorder(params.getParam(), params.getUserId()); + log.info("查询医生记录的病人信息结果:{}", pageInfo); + return JsonResponse.newInstance().ok(pageInfo); + } + + /** *@Description: * @param params diff --git a/ht/src/main/java/com/ccsens/ht/bean/dto/FileDto.java b/ht/src/main/java/com/ccsens/ht/bean/dto/FileDto.java new file mode 100644 index 00000000..07854255 --- /dev/null +++ b/ht/src/main/java/com/ccsens/ht/bean/dto/FileDto.java @@ -0,0 +1,24 @@ +package com.ccsens.ht.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @description: + * @author: wuHuiJuan + * @create: 2019/12/17 18:05 + */ +public class FileDto { + + @ApiModel("FileDtoSave") + @Data + public static class Save{ + + @ApiModelProperty("文件base64字符串") + @NotNull(message = "文件内容不允许为空") + private String base64; + } +} diff --git a/ht/src/main/java/com/ccsens/ht/bean/dto/PatientDto.java b/ht/src/main/java/com/ccsens/ht/bean/dto/PatientDto.java index 9b7f608a..52da784c 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/dto/PatientDto.java +++ b/ht/src/main/java/com/ccsens/ht/bean/dto/PatientDto.java @@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.BeanUtils; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; /** @@ -16,6 +18,19 @@ import javax.validation.constraints.NotNull; * @create: 2019/10/31 09:28 */ public class PatientDto { + + @ApiModel("PatientDtoRecorder") + @Data + public static class Recorder{ + @ApiModelProperty("第几页") + @Min(value = 1) + private int pageNum = 1; + @ApiModelProperty("每页多少条") + @Min(value = 1) + @Max(value=100) + private int pageSize = 10; + } + @ApiModel("PatientDtoQuery") @Data public static class Query{ @@ -40,35 +55,45 @@ public class PatientDto { private Long id; @ApiModelProperty("病人用户id") private Long userId; + @NotNull @ApiModelProperty("病人名字") private String name; @ApiModelProperty("病人门诊号") private String patientNumber; @ApiModelProperty("病人住院号") private String hospitalNumber; + @NotNull @ApiModelProperty("病人身份证号") @NotNull(message="身份证信息不能为空") private String idcard; + @NotNull @ApiModelProperty("性别(0:男 1:女)") private Byte sex; + @NotNull @ApiModelProperty("婚姻状况(1:未婚2:已婚 3:离异 4:分居 5:丧偶 6:同居 7:其他 )") private Byte maritalStatus; + @NotNull @ApiModelProperty("教育程度(1:文盲 2:小学 3:初中 4:高中 5:大学 6:大学以上 7:其他)") private Byte educationalStatus; + @NotNull @ApiModelProperty("受教育时间(年或月)") private String educationalStatusUnit; @ApiModelProperty("民族") private String nation; @ApiModelProperty("籍贯") private String nativePlace; + @NotNull @ApiModelProperty("职业(1:农林牧渔水利生产人员 2:教师 3:医务工作者 4:专业技术人员 5:生产、运输设备操作人员及有关人员6:商业、服务业人员7:国家机关、事业单位、企业负责人8:国家机关、事业单位、企业办事人员和有关人员9:军人 10:媒体、文体类工作人员 11:在校学生 12:未就业 13:家务 14:其他") private Byte career; + @NotNull @ApiModelProperty("生育数量") private Integer birthNumber; @ApiModelProperty("绝经年龄(女)") private Integer menopauseAge; + @NotNull @ApiModelProperty("联系人") private String contact; + @NotNull @ApiModelProperty("手机") private String mobile; @ApiModelProperty("电话") diff --git a/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java b/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java index 0783fd33..9f4b8b2a 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java +++ b/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java @@ -49,7 +49,7 @@ public class QuestionDto { private Long id; @NotNull(message = "病友画图或录音不能为空") @ApiModelProperty("病友画图或录音") - private Part part; + private String path; } diff --git a/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUp.java b/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUp.java index 1e4cb0fd..1418266a 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUp.java +++ b/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUp.java @@ -12,9 +12,9 @@ public class HtPatientFollowUp implements Serializable { private Integer followUpTimes; - private String recorder; + private Long recorder; - private String diagnose; + private Long diagnose; private String remark; @@ -58,20 +58,20 @@ public class HtPatientFollowUp implements Serializable { this.followUpTimes = followUpTimes; } - public String getRecorder() { + public Long getRecorder() { return recorder; } - public void setRecorder(String recorder) { - this.recorder = recorder == null ? null : recorder.trim(); + public void setRecorder(Long recorder) { + this.recorder = recorder; } - public String getDiagnose() { + public Long getDiagnose() { return diagnose; } - public void setDiagnose(String diagnose) { - this.diagnose = diagnose == null ? null : diagnose.trim(); + public void setDiagnose(Long diagnose) { + this.diagnose = diagnose; } public String getRemark() { diff --git a/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUpExample.java b/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUpExample.java index a8cd7f4c..ce19a1d8 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUpExample.java +++ b/ht/src/main/java/com/ccsens/ht/bean/po/HtPatientFollowUpExample.java @@ -355,62 +355,52 @@ public class HtPatientFollowUpExample { return (Criteria) this; } - public Criteria andRecorderEqualTo(String value) { + public Criteria andRecorderEqualTo(Long value) { addCriterion("recorder =", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderNotEqualTo(String value) { + public Criteria andRecorderNotEqualTo(Long value) { addCriterion("recorder <>", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderGreaterThan(String value) { + public Criteria andRecorderGreaterThan(Long value) { addCriterion("recorder >", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderGreaterThanOrEqualTo(String value) { + public Criteria andRecorderGreaterThanOrEqualTo(Long value) { addCriterion("recorder >=", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderLessThan(String value) { + public Criteria andRecorderLessThan(Long value) { addCriterion("recorder <", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderLessThanOrEqualTo(String value) { + public Criteria andRecorderLessThanOrEqualTo(Long value) { addCriterion("recorder <=", value, "recorder"); return (Criteria) this; } - public Criteria andRecorderLike(String value) { - addCriterion("recorder like", value, "recorder"); - return (Criteria) this; - } - - public Criteria andRecorderNotLike(String value) { - addCriterion("recorder not like", value, "recorder"); - return (Criteria) this; - } - - public Criteria andRecorderIn(List values) { + public Criteria andRecorderIn(List values) { addCriterion("recorder in", values, "recorder"); return (Criteria) this; } - public Criteria andRecorderNotIn(List values) { + public Criteria andRecorderNotIn(List values) { addCriterion("recorder not in", values, "recorder"); return (Criteria) this; } - public Criteria andRecorderBetween(String value1, String value2) { + public Criteria andRecorderBetween(Long value1, Long value2) { addCriterion("recorder between", value1, value2, "recorder"); return (Criteria) this; } - public Criteria andRecorderNotBetween(String value1, String value2) { + public Criteria andRecorderNotBetween(Long value1, Long value2) { addCriterion("recorder not between", value1, value2, "recorder"); return (Criteria) this; } @@ -425,62 +415,52 @@ public class HtPatientFollowUpExample { return (Criteria) this; } - public Criteria andDiagnoseEqualTo(String value) { + public Criteria andDiagnoseEqualTo(Long value) { addCriterion("diagnose =", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseNotEqualTo(String value) { + public Criteria andDiagnoseNotEqualTo(Long value) { addCriterion("diagnose <>", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseGreaterThan(String value) { + public Criteria andDiagnoseGreaterThan(Long value) { addCriterion("diagnose >", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseGreaterThanOrEqualTo(String value) { + public Criteria andDiagnoseGreaterThanOrEqualTo(Long value) { addCriterion("diagnose >=", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseLessThan(String value) { + public Criteria andDiagnoseLessThan(Long value) { addCriterion("diagnose <", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseLessThanOrEqualTo(String value) { + public Criteria andDiagnoseLessThanOrEqualTo(Long value) { addCriterion("diagnose <=", value, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseLike(String value) { - addCriterion("diagnose like", value, "diagnose"); - return (Criteria) this; - } - - public Criteria andDiagnoseNotLike(String value) { - addCriterion("diagnose not like", value, "diagnose"); - return (Criteria) this; - } - - public Criteria andDiagnoseIn(List values) { + public Criteria andDiagnoseIn(List values) { addCriterion("diagnose in", values, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseNotIn(List values) { + public Criteria andDiagnoseNotIn(List values) { addCriterion("diagnose not in", values, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseBetween(String value1, String value2) { + public Criteria andDiagnoseBetween(Long value1, Long value2) { addCriterion("diagnose between", value1, value2, "diagnose"); return (Criteria) this; } - public Criteria andDiagnoseNotBetween(String value1, String value2) { + public Criteria andDiagnoseNotBetween(Long value1, Long value2) { addCriterion("diagnose not between", value1, value2, "diagnose"); return (Criteria) this; } diff --git a/ht/src/main/java/com/ccsens/ht/bean/vo/DoctorVo.java b/ht/src/main/java/com/ccsens/ht/bean/vo/DoctorVo.java index 3e4f9319..90e4f236 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/vo/DoctorVo.java +++ b/ht/src/main/java/com/ccsens/ht/bean/vo/DoctorVo.java @@ -33,7 +33,7 @@ public class DoctorVo { private Integer age; @ApiModelProperty("审核人ID") private Long auditorId; - @ApiModelProperty("审核") + @ApiModelProperty("审核 0:待审核 1:审核通过 2:审核失败") private Byte auditState; @ApiModelProperty("备注") private String remark; diff --git a/ht/src/main/java/com/ccsens/ht/bean/vo/FileVo.java b/ht/src/main/java/com/ccsens/ht/bean/vo/FileVo.java new file mode 100644 index 00000000..1aee1b76 --- /dev/null +++ b/ht/src/main/java/com/ccsens/ht/bean/vo/FileVo.java @@ -0,0 +1,19 @@ +package com.ccsens.ht.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: wuHuiJuan + * @create: 2019/12/17 18:04 + */ +public class FileVo { + @ApiModel("FileVoSave") + @Data + public static class Save{ + @ApiModelProperty("文件访问路径") + private String path; + } +} diff --git a/ht/src/main/java/com/ccsens/ht/persist/dao/HtDoctorAuditDao.java b/ht/src/main/java/com/ccsens/ht/persist/dao/HtDoctorAuditDao.java index acd49ede..7f1638f7 100644 --- a/ht/src/main/java/com/ccsens/ht/persist/dao/HtDoctorAuditDao.java +++ b/ht/src/main/java/com/ccsens/ht/persist/dao/HtDoctorAuditDao.java @@ -36,4 +36,11 @@ public interface HtDoctorAuditDao extends HtDoctorAuditMapper { */ List queryDoctor(@Param(value = "auditorId") Long auditorId, @Param(value = "titleId") Long titleId, @Param(value = "jobId") Long jobId, @Param(value = "recursionId")Long recursionId, @Param(value = "name")String name); + /** + * 根据userId查询医生提交的资格认证信息 + * @param userId + * @return + */ + DoctorVo.Query queryDoctorStatus(@Param(value = "userId") Long userId); + } diff --git a/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportDao.java b/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportDao.java index 6d518a3b..7dcba5ee 100644 --- a/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportDao.java +++ b/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportDao.java @@ -5,6 +5,7 @@ import com.ccsens.ht.persist.mapper.HtPatientReportMapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * 病人报告单信息查询 @@ -34,6 +35,6 @@ public interface HtPatientReportDao extends HtPatientReportMapper { * @param id * @return */ - List queryNPIScore(@Param("id") Long id); + Map queryNPIScore(@Param("id") Long id); } diff --git a/ht/src/main/java/com/ccsens/ht/service/DoctorService.java b/ht/src/main/java/com/ccsens/ht/service/DoctorService.java index 96ada1a5..139d2a8d 100644 --- a/ht/src/main/java/com/ccsens/ht/service/DoctorService.java +++ b/ht/src/main/java/com/ccsens/ht/service/DoctorService.java @@ -16,6 +16,7 @@ import com.ccsens.util.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -269,4 +270,10 @@ public class DoctorService implements IDoctorService { public List selectByExample(HtDoctorExample doctorExample) { return htDoctorMapper.selectByExample(doctorExample); } + + @Override + public DoctorVo.Query queryDoctorStatus(Long userId) { + DoctorVo.Query query = htDoctorAuditDao.queryDoctorStatus(userId); + return query; + } } diff --git a/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java b/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java index b9e8cd59..f979a8e9 100644 --- a/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java +++ b/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java @@ -56,4 +56,6 @@ public interface IDoctorService { */ List selectByExample(HtDoctorExample doctorExample); + /**查询医生审核状态*/ + DoctorVo.Query queryDoctorStatus(Long userId); } diff --git a/ht/src/main/java/com/ccsens/ht/service/IPatientService.java b/ht/src/main/java/com/ccsens/ht/service/IPatientService.java index e7971545..10f193d2 100644 --- a/ht/src/main/java/com/ccsens/ht/service/IPatientService.java +++ b/ht/src/main/java/com/ccsens/ht/service/IPatientService.java @@ -3,7 +3,10 @@ package com.ccsens.ht.service; import com.ccsens.ht.bean.dto.PatientDto; import com.ccsens.ht.bean.po.HtPatient; +import com.ccsens.ht.bean.vo.PatientVo; import com.ccsens.util.CodeEnum; +import com.github.pagehelper.PageInfo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -44,5 +47,13 @@ public interface IPatientService { */ CodeEnum editPatientOtherMsg(PatientDto.EditOtherMsg edit, Long userId); + /** + * 根据记录人查询病人信息 + * @param recorder + * @param userId + * @return + */ + PageInfo queryByRecorder(PatientDto.Recorder recorder, Long userId); + } diff --git a/ht/src/main/java/com/ccsens/ht/service/ImportService.java b/ht/src/main/java/com/ccsens/ht/service/ImportService.java index c9d79ac2..02419bd7 100644 --- a/ht/src/main/java/com/ccsens/ht/service/ImportService.java +++ b/ht/src/main/java/com/ccsens/ht/service/ImportService.java @@ -231,6 +231,8 @@ public class ImportService implements IImportService { List optionList = new ArrayList<>(); List introduceList = new ArrayList<>(); List ruleList = new ArrayList<>(); + //记录那类型题是关联试题 + Map parentCode = new HashMap<>(); for(Object[] objs : questions) { if (objs == null || objs.length < 4 || StringUtils.isEmpty(objs[2])) { log.info("数据不足,跳转下一行"); @@ -242,6 +244,15 @@ public class ImportService implements IImportService { switch (type) { case "题目" : HtQuestion question = initQuestion(objs, evaluationCode, sort); + if (StrUtil.isNotEmpty(question.getRelationCode())) { + String[] split = question.getRelationCode().split("[,,]"); + for (String code: split) { + parentCode.put(code, question.getParentCode()); + } + } + if (parentCode.containsKey(question.getParentCode())) { + question.setEvaluationCode(parentCode.get(question.getParentCode())); + } questionList.add(question); break; case "选项" : @@ -300,10 +311,12 @@ public class ImportService implements IImportService { rule = new HtQuestionScoringRule(); rule.setQuestionId(questionId); rule.setId(snowflake.nextId()); + rule.setType(type); rule.setCreateTime(new Date()); } else { rule = rules.get(0); } + rule.setDetail(StringUtils.isEmpty(objs[2]) ? Constant.Ht.STRING_DEFAULT : String.valueOf(objs[2])); return rule; } @@ -382,8 +395,11 @@ public class ImportService implements IImportService { question.setSort(sort); question.setType(objs.length>4 && StringUtil.checkNum(String.valueOf(objs[4]), false) ? Byte.parseByte(String.valueOf(objs[4])) : Constant.Ht.Question.QUESTION_SHOW_TYPE); String questionStr = StringUtils.isEmpty(objs[2]) ? Constant.Ht.STRING_DEFAULT : String.valueOf(objs[2]); - byte imgType = 2; - questionStr = question.getType().byteValue() == imgType && StrUtil.isNotEmpty(questionStr) ? PropUtil.imgDomain + questionStr : questionStr; + Set imgType = new HashSet<>(); + imgType.add((byte)2); + imgType.add((byte)7); + imgType.add((byte)8); + questionStr = imgType.contains(question.getType()) && StrUtil.isNotEmpty(questionStr) ? PropUtil.imgDomain + questionStr : questionStr; question.setQuestion(questionStr); question.setRecordType(objs.length > 5 && !StringUtils.isEmpty(objs[5]) ? String.valueOf(objs[5]) : Constant.Ht.STRING_DEFAULT); question.setRecordContent(objs.length > 6 && !StringUtils.isEmpty(objs[6]) ? String.valueOf(objs[6]) : Constant.Ht.STRING_DEFAULT); diff --git a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java index ba93f216..99964e68 100644 --- a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java +++ b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java @@ -3,13 +3,14 @@ package com.ccsens.ht.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.StrUtil; import com.ccsens.ht.bean.dto.PatientReportDto; import com.ccsens.ht.bean.po.*; import com.ccsens.ht.bean.vo.PatientReportVo; import com.ccsens.ht.persist.dao.HtPatientReportDao; import com.ccsens.ht.persist.dao.HtPositionDao; -import com.ccsens.ht.persist.dao.HtReportDao; import com.ccsens.ht.persist.mapper.HtDoctorMapper; +import com.ccsens.ht.persist.mapper.HtPatientFollowUpMapper; import com.ccsens.ht.persist.mapper.HtPatientMapper; import com.ccsens.ht.persist.mapper.HtPatientReportRecordMapper; import com.ccsens.ht.uitl.Constant; @@ -52,9 +53,9 @@ public class PatientReportService implements IPatientReportService { @Autowired private HtPositionDao htPositionDao; @Autowired - private HtReportDao htReportDao; - @Autowired private HtPatientReportRecordMapper htPatientReportRecordMapper; + @Autowired + private HtPatientFollowUpMapper htPatientFollowUpMapper; @Override public JsonResponse generatePatientReport(PatientReportDto.Generate generate, Long userId) { @@ -118,6 +119,22 @@ public class PatientReportService implements IPatientReportService { log.info("不具备修改权限"); return CodeEnum.REPORT_DOCTOR_ERROR; } + + //记录病人的随访记录 + if (StrUtil.isEmpty(htPatientReport.getInitialImpression())) { + //1.统计病人的报告单的总数 + HtPatientReportExample patientReportExample = new HtPatientReportExample(); + patientReportExample.createCriteria().andPatientIdEqualTo(htPatientReport.getPatientId()).andInitialImpressionIsNotNull(); + long count = htPatientReportDao.countByExample(patientReportExample); + HtPatientFollowUp followUp = new HtPatientFollowUp(); + followUp.setId(snowflake.nextId()); + followUp.setPatientId(htPatientReport.getPatientId()); + followUp.setFollowUpDatetime(new Date()); + followUp.setFollowUpTimes((int)count+1); + followUp.setRecorder(htPatientReport.getDoctorId()); + followUp.setDiagnose(doctor.getId()); + htPatientFollowUpMapper.insertSelective(followUp); + } //修改报告单 htPatientReportDao.updateByPrimaryKeySelective(patientReport.copy()); log.info("成功编辑报告单信息"); @@ -128,6 +145,7 @@ public class PatientReportService implements IPatientReportService { record.setContent(patientReport.toString()); htPatientReportRecordMapper.insertSelective(record); log.info("记录编辑日志"); + return CodeEnum.SUCCESS; } @@ -204,10 +222,7 @@ public class PatientReportService implements IPatientReportService { if (Constant.Ht.Report.TYPE_EVALUATION.equals(score.getType())) { String specialCode = "NPI"; if (specialCode.equalsIgnoreCase(score.getCode())) { - List reportScores = htPatientReportDao.queryNPIScore(queryDetail.getId()); - score.setSubReport(reportScores); - score.setScore(null); - + initNPI(queryDetail, score); } scores.add(score); } else { @@ -225,6 +240,27 @@ public class PatientReportService implements IPatientReportService { return detail; } + private void initNPI(PatientReportDto.QueryDetail queryDetail, PatientReportVo.ReportScore score) { + Map npiScore = htPatientReportDao.queryNPIScore(queryDetail.getId()); + PatientReportVo.ReportScore carer = new PatientReportVo.ReportScore(); + carer.setCode("carer"); + carer.setName("照顾者"); + carer.setTotalScore(-1); + carer.setScore(npiScore == null || npiScore.get("carer") == null ? null : (Integer)npiScore.get("carer")); + carer.setType((byte)3); + carer.setParentCode("NPI"); + score.addSub(carer); + PatientReportVo.ReportScore patient = new PatientReportVo.ReportScore(); + patient.setCode("result"); + patient.setName("患者"); + patient.setTotalScore(-1); + patient.setScore(npiScore == null || npiScore.get("result") == null ? null : (Integer)npiScore.get("result")); + patient.setType((byte)3); + patient.setParentCode("NPI"); + score.addSub(patient); + score.setScore(null); + } + @Override public PatientReportVo.Authority queryReportAuthority(PatientReportDto.Authority authority, Long userId) { PatientReportVo.Authority authorityVo = new PatientReportVo.Authority(); diff --git a/ht/src/main/java/com/ccsens/ht/service/PatientService.java b/ht/src/main/java/com/ccsens/ht/service/PatientService.java index 42e84d63..22f87b30 100644 --- a/ht/src/main/java/com/ccsens/ht/service/PatientService.java +++ b/ht/src/main/java/com/ccsens/ht/service/PatientService.java @@ -10,11 +10,14 @@ import com.ccsens.ht.bean.dto.PatientDto; import com.ccsens.ht.bean.po.HtPatient; import com.ccsens.ht.bean.po.HtPatientExample; import com.ccsens.ht.bean.po.HtPatientReport; +import com.ccsens.ht.bean.vo.PatientVo; import com.ccsens.ht.persist.mapper.HtPatientMapper; import com.ccsens.ht.persist.mapper.HtPatientReportMapper; import com.ccsens.ht.uitl.Constant; import com.ccsens.util.*; import com.ccsens.util.exception.BaseException; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,6 +51,17 @@ public class PatientService implements IPatientService { @Autowired private TallFeignClient tallFeignClient; + @Override + public PageInfo queryByRecorder(PatientDto.Recorder recorder, Long userId) { + + PageHelper.startPage(recorder.getPageNum(), recorder.getPageSize()); + HtPatientExample example = new HtPatientExample(); + example.createCriteria().andRecorderEqualTo(userId); + example.setOrderByClause("create_time desc"); + List htPatients = htPatientMapper.selectByExample(example); + List copy = PatientVo.Query.copy(htPatients); + return new PageInfo<>(copy); + } @Override public List selectPatient(PatientDto.Query patient) { diff --git a/ht/src/main/java/com/ccsens/ht/service/QuestionService.java b/ht/src/main/java/com/ccsens/ht/service/QuestionService.java index a67591b8..43a25edf 100644 --- a/ht/src/main/java/com/ccsens/ht/service/QuestionService.java +++ b/ht/src/main/java/com/ccsens/ht/service/QuestionService.java @@ -1,6 +1,8 @@ package com.ccsens.ht.service; +import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -182,7 +184,7 @@ public class QuestionService implements IQuestionService { if (!CollectionUtils.isEmpty(ruleList)) { HtQuestionScoringRule rule = ruleList.get(0); - if (rule.getType() == Constant.Ht.Rule.SMALL) { + if (rule.getType() == null || rule.getType() == Constant.Ht.Rule.SMALL) { JSONArray ruleDetails = JSON.parseArray(rule.getDetail()); AtomicInteger patientScore = new AtomicInteger(); for (int i = 0; i < ruleDetails.size() - 2 ; i++) { @@ -240,11 +242,7 @@ public class QuestionService implements IQuestionService { List scores = new ArrayList<>(); for(QuestionDto.Option option : score.getOptions()) { HtQuestionOption questionOption = idOption.get(option.getId()); - String path = null; - if (option.getPart() != null) { - path = PropUtil.imgDomain + UploadFileUtil_Servlet3.uploadFile(option.getPart(), Constant.IMG + "," + Constant.VIDEO, PropUtil.path); - } - assembleScore(score, question, report, ruleList, nameOption, scores, questionOption, path); + assembleScore(score, question, report, ruleList, nameOption, scores, questionOption, option.getPath()); } String special = "NPI"; if (special.equalsIgnoreCase(question.getEvaluationCode())) { diff --git a/ht/src/main/resources/application-dev.yml b/ht/src/main/resources/application-dev.yml index 4d7568ee..ff439307 100644 --- a/ht/src/main/resources/application-dev.yml +++ b/ht/src/main/resources/application-dev.yml @@ -31,7 +31,7 @@ file: path: /home/cloud/ht/uploads/ #domain: https://api.ccsens.com/test/ domain: http://localhost:7040/ - imgDomain: http://localhost:7040/uploads/ + imgDomain: http://localhost:7040/uploads ht: project: name: 阿尔兹海默症评估系统 \ No newline at end of file diff --git a/ht/src/main/resources/application-test.yml b/ht/src/main/resources/application-test.yml index 00769e7a..b3bb53b0 100644 --- a/ht/src/main/resources/application-test.yml +++ b/ht/src/main/resources/application-test.yml @@ -32,7 +32,7 @@ file: path: /home/cloud/ht/uploads/ #domain: https://api.ccsens.com/test/ domain: https://test.tall.wiki/gateway/ht/ - imgDomain: https://test.tall.wiki/gateway/ht/uploads/ + imgDomain: https://test.tall.wiki/gateway/ht/uploads ht: project: name: 阿尔兹海默症评估系统 \ No newline at end of file diff --git a/ht/src/main/resources/mapper_dao/HtDoctorAuditDao.xml b/ht/src/main/resources/mapper_dao/HtDoctorAuditDao.xml index 529dc31b..4f1bfbd5 100644 --- a/ht/src/main/resources/mapper_dao/HtDoctorAuditDao.xml +++ b/ht/src/main/resources/mapper_dao/HtDoctorAuditDao.xml @@ -64,4 +64,14 @@ order by d.audit_state, d.create_time desc + + \ No newline at end of file diff --git a/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml b/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml index 86e2a384..3cdd8954 100644 --- a/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml +++ b/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml @@ -48,21 +48,18 @@ from (select code,name, description, total_score, remark, type, parent_code, sort from t_ht_report where is_show = 1 and is_del = 0) t1 left join t_ht_patient_score t2 - on t1.code = t2.question_parent_code - where (t2.patient_report_id = #{id, jdbcType=BIGINT} and t2.type in (0,2) and t2.is_del = 0) or t2.id is null + on t1.code = t2.question_parent_code and + ( + (t2.patient_report_id = #{id, jdbcType=BIGINT} and t2.type in (0,2) and t2.is_del = 0) or t2.id is null + ) GROUP BY t1.code order by t1.type,t1.sort - + select option_name as optionName, sum(score) as score + from t_ht_patient_score + where patient_report_id = #{id, jdbcType=BIGINT} and question_parent_code = 'NPI' + and option_name in ('carer','result') and is_del = 0 group by option_name; diff --git a/ht/src/main/resources/mapper_raw/HtPatientFollowUpMapper.xml b/ht/src/main/resources/mapper_raw/HtPatientFollowUpMapper.xml index 0fd43cc0..b2d6f591 100644 --- a/ht/src/main/resources/mapper_raw/HtPatientFollowUpMapper.xml +++ b/ht/src/main/resources/mapper_raw/HtPatientFollowUpMapper.xml @@ -6,8 +6,8 @@ - - + + @@ -111,7 +111,7 @@ remark, create_time, update_time, is_del) values (#{id,jdbcType=BIGINT}, #{patientId,jdbcType=BIGINT}, #{followUpDatetime,jdbcType=TIMESTAMP}, - #{followUpTimes,jdbcType=INTEGER}, #{recorder,jdbcType=VARCHAR}, #{diagnose,jdbcType=VARCHAR}, + #{followUpTimes,jdbcType=INTEGER}, #{recorder,jdbcType=BIGINT}, #{diagnose,jdbcType=BIGINT}, #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{isDel,jdbcType=TINYINT}) @@ -163,10 +163,10 @@ #{followUpTimes,jdbcType=INTEGER}, - #{recorder,jdbcType=VARCHAR}, + #{recorder,jdbcType=BIGINT}, - #{diagnose,jdbcType=VARCHAR}, + #{diagnose,jdbcType=BIGINT}, #{remark,jdbcType=VARCHAR}, @@ -204,10 +204,10 @@ follow_up_times = #{record.followUpTimes,jdbcType=INTEGER}, - recorder = #{record.recorder,jdbcType=VARCHAR}, + recorder = #{record.recorder,jdbcType=BIGINT}, - diagnose = #{record.diagnose,jdbcType=VARCHAR}, + diagnose = #{record.diagnose,jdbcType=BIGINT}, remark = #{record.remark,jdbcType=VARCHAR}, @@ -232,8 +232,8 @@ patient_id = #{record.patientId,jdbcType=BIGINT}, follow_up_datetime = #{record.followUpDatetime,jdbcType=TIMESTAMP}, follow_up_times = #{record.followUpTimes,jdbcType=INTEGER}, - recorder = #{record.recorder,jdbcType=VARCHAR}, - diagnose = #{record.diagnose,jdbcType=VARCHAR}, + recorder = #{record.recorder,jdbcType=BIGINT}, + diagnose = #{record.diagnose,jdbcType=BIGINT}, remark = #{record.remark,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=TIMESTAMP}, update_time = #{record.updateTime,jdbcType=TIMESTAMP}, @@ -255,10 +255,10 @@ follow_up_times = #{followUpTimes,jdbcType=INTEGER}, - recorder = #{recorder,jdbcType=VARCHAR}, + recorder = #{recorder,jdbcType=BIGINT}, - diagnose = #{diagnose,jdbcType=VARCHAR}, + diagnose = #{diagnose,jdbcType=BIGINT}, remark = #{remark,jdbcType=VARCHAR}, @@ -280,8 +280,8 @@ set patient_id = #{patientId,jdbcType=BIGINT}, follow_up_datetime = #{followUpDatetime,jdbcType=TIMESTAMP}, follow_up_times = #{followUpTimes,jdbcType=INTEGER}, - recorder = #{recorder,jdbcType=VARCHAR}, - diagnose = #{diagnose,jdbcType=VARCHAR}, + recorder = #{recorder,jdbcType=BIGINT}, + diagnose = #{diagnose,jdbcType=BIGINT}, remark = #{remark,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP}, diff --git a/util/src/main/java/com/ccsens/util/Base64FileUtil.java b/util/src/main/java/com/ccsens/util/Base64FileUtil.java new file mode 100644 index 00000000..4fbc0ed1 --- /dev/null +++ b/util/src/main/java/com/ccsens/util/Base64FileUtil.java @@ -0,0 +1,45 @@ +package com.ccsens.util; + +import cn.hutool.core.codec.Base64; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.util.Random; + +/** + * @description: + * @author: wuHuiJuan + * @create: 2019/12/17 17:48 + */ +public class Base64FileUtil { + + /** + * 将base64字符串转换成文件 + * @param base64 + * @param path + * @param visitPath 访问路径(无文件名) + * @return 返回文件访问路径(无域名) + * @throws Exception + */ + public static String base64ToFile(String base64, String path, String visitPath) throws Exception { + //获取后缀 data:image/png;base64,xxxxxx + String suffix = base64.substring(base64.indexOf("/")+1, base64.indexOf(";")); + Random random = new Random(); + String randomStr = String.valueOf(System.currentTimeMillis()) + random.nextInt(100) + "." + suffix; + String fileName = visitPath + randomStr; + File file = new File(path + fileName); + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + // 截取base64,后面的字符串 + String base64flag = "base64,"; + int index = base64.indexOf(base64flag); + String str = index < 0 ? base64 : base64.substring(index + base64flag.length()); + byte[] decode = Base64.decode(str); + FileOutputStream out = new FileOutputStream(file); + out.write(decode); + out.close(); + return fileName; + } +} diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index faeddc3e..da3610e0 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -66,7 +66,8 @@ public enum CodeEnum { REPEAT_PROJECT_NAME(51,"项目名不能重复,请修改后重试",true), TIME_ERROR_BEGIN(52,"时间异常,开始时间不能大于结束时间",true), TIME_ERROR_PROJECT(53,"时间异常,任务的时间不能超出项目的时间",true), - HAS_GROUP_TIME_CHANGE(54,"分组任务不能直接修改时间,请修改其子任务时间",true) + HAS_GROUP_TIME_CHANGE(54,"分组任务不能直接修改时间,请修改其子任务时间",true), + DOCTOR_NOT_SUBMIT(55,"尚未进行资格认证",true), ; public CodeEnum addMsg(String msg){ diff --git a/util/src/test/java/com/ccsens/util/Base64Test.java b/util/src/test/java/com/ccsens/util/Base64Test.java new file mode 100644 index 00000000..28fbfa1d --- /dev/null +++ b/util/src/test/java/com/ccsens/util/Base64Test.java @@ -0,0 +1,34 @@ +package com.ccsens.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.date.DateUtil; +import org.junit.Test; + +import javax.servlet.ServletOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +/** + * @description: + * @author: wuHuiJuan + * @create: 2019/12/17 17:26 + */ +public class Base64Test { + @Test + public void test01() throws Exception{ +// File file = new File("d:"+File.separator+"1.png"); +// //data:image/png;base64, +// String valueData = "iVBORw0KGgoAAAANSUhEUgAAB4AAAANZCAYAAADu3CMyAAAgAElEQVR4Xuzd26ttWX4X8F/23ud01Ul3p6ra9C1qgiImJgEvREVBieBLK/hiKybaBp9MGlEICvoHKKiIgp34JCZqhCQPviSCDwYFhUggQdsWxVvU9C12dfWlTlXXOUdl1Fmza5199t5rzjVvY/zGZ0NT1XXmmnP8Pr/fPuy1v2vM+Q3hiwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRSCHxDiioUQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIhADYEBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQSCIgAE7SSGUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAAGwGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkERAAJykkcogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAANgMECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIImAADhJI5VBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAbAZIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBIBAXCSRiqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECAmAzQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQCAuAkjVQGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBMBmgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkkEBMBJGqkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICIDNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIICICTNFIZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEACbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQREAAnaaQyCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAA2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgiIABO0khlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQABsBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBEQACcpJHKIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgADYDBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCJgAA4SSOVQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQGwGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEASAQFwkkYqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgJgM0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEkAgLgJI1UBgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBATAZoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJJBATASRqpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAiAzQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSSCAiAkzRSGQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBAAmwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgkERAAJ2mkMggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAANgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIIiAATtJIZRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAAbAYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQREAAnKSRyiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAA2AwQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgiYAAOEkjlUGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEBsBkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAEgEBcJJGKoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQICYDNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJAIC4CSNVAYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEwGaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSQQEwEkaqQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIgM0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkggIgJM0UhkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQAJsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJBEQACdppDIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgADYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQSCIgAE7SSGUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAAGwGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkERAAJykkcogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAANgMECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIImAADhJI5VBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAbAZIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBIBAXCSRiqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECAmAzQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQCAuAkjVQGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBMBmgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkkEBMBJGqkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICIDNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIICICTNFIZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEACbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQREAAnaaQyCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAA2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgiIABO0khlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQABsBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBEQACcpJHKIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgADYDBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCJgAA4SSOVQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQGwGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEASAQFwkkYqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgJgM0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEkAgLgJI1UBgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBATAZoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJJBATASRqpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAiAzQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSSCAiAkzRSGQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBAAmwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgkERAAJ2mkMggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAANgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIIiAATtJIZRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAAbAYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQREAAnKSRyiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAA2AwQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgiYAAOEkjlUGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEBsBkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAEgEBcJJGKoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQICYDNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJAIC4CSNVAYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEwGaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSQQEwEkaqQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIgM0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkggIgJM0UhkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQAJsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJBEQACdppDIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgADYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQSCIgAE7SSGUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAAGwGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkERAAJykkcogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAANgMECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIImAADhJI5VBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAbAZIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBIBAXCSRiqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECAmAzQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQCAuAkjVQGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBMBmgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkkEBMBJGqkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICIDNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIICICTNFIZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEACbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQREAAnaaQyCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAA2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgiIABO0khlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQABsBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBEQACcpJHKIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgADYDBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCJgAA4SSOVQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQGwGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEASAQFwkkYqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgJgM0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEkAgLgJI1UBgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBATAZoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJJBATASRqpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAiAzQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSSCAiAkzRSGQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBAAmwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgkERAAJ2mkMggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAANgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIIiAATtJIZRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAAbAYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQREAAnKSRyiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAA2AwQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgiYAAOEkjlUGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEBsBkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAEgEBcJJGKoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQICYDNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJAIC4CSNVAYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEwGaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSQQEwEkaqQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIgM0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkggIgJM0UhkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQAJsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJBEQACdppDIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgADYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQSCIgAE7SSGUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAAGwGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkERAAJykkcogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAANgMECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIImAADhJI5VBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAbAZIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBIBAXCSRiqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECAmAzQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQCAuAkjVQGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBMBmgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkkEBMBJGqkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICIDNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIICICTNFIZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEACbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQREAAnaaQyCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAA2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgiIABO0khlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQABsBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBEQACcpJHKIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgADYDBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCJgAA4SSOVQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQGwGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEASAQFwkkYqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgJg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AQIECOwucFt4uFWouDtA4wvYOqwfQuDCVmbkzYh40Lih5RMgQIAAAQIECBAgQIAAAQIE7hQQABsQAgQIECBAgACBlgTueg5w+bOLlorpcK173a77OAgewmCz0uEAKpkAAQIECBAgQIAAAQIECPQgIADuoctqJECAAAECBAjkESghb/m6/vYoxuoAACAASURBVHPsXsFiHtltKtni+b93VfIwIl44mh8fGtim765CgAABAgQIECBAgAABAgQIbCggAN4Q26UIECBAgAABAgRmC9wWAJcT7x0uzi4u+QleP9x++Y1KbsPs9tDJB055BAgQIECAAAECBAgQIECgVwEBcK+dVzcBAgQIECBAoE2BuwJgu4Dr7mmt/XF76LrnxuoIECBAgAABAgQIECBAgACBiQIC4IlgDidAgAABAgQIENhV4K4AuCzMLuBd23PnxWvvjdtD1zs7VkaAAAECBAgQIECAAAECBAhMEBAAT8ByKAECBAgQIECAwO4CpwLgWneZ7g638wJKuPpiRNRy++dTHNdvD13+/9WpF/lzAgQIECBAgAABAgQIECBAgEANAgLgGrpgDQQIECBAgAABAmMFTgXAX46I90TEVyLivWNP6rjVBVoN5q/fHrpAlRkUCK8+Mi5AgAABAgQIECBAgAABAgQInCsgAD5XzusIECBAgAABAgT2EDgVAA8BXTnuYo8FuuaNArXf/nlM2x4fZur6eyizNkbPMQQIECBAgAABAgQIECBAgMBmAgLgzahdiAABAgQIECBAYAGBMQFwq7tNF+Cp8hSt3f55LOL1QFgQPFbOcQQIECBAgAABAgQIECBAgMCqAgLgVXmdnAABAgQIECBAYGGBMQFwuWSGHacL0+12uh4Cec8M3m28XJgAAQIECBAgQIAAAQIECBC4LiAANhMECBAgQIAAAQItCUwJgEtdft7dv7s9hfG3PTPY7cj3n0MrIECAAAECBAgQIECAAAEC3Qj4hVg3rVYoAQIECBAgQCCFgAC4vTaWnpXbJd9rb+mzVnx8i2i3h55F6cUECBAgQIAAAQIECBAgQIDAFAEB8BQtxxIgQIAAAQIECOwtMDYAHnZiCt727diTiCi7X3t+32EW951BVydAgAABAgQIECBAgAABAt0J9PyLmO6arWACBAgQIECAQAKBsQFwKVXwtn/Dp/Rr/9Wut4LjWSz/frXepZyZAAECBAgQIECAAAECBAgQ6F1AANz7BKifAAECBAgQINCWwNRAcQje/Ny7T59Lv0oPLve5fFVXve35wG9GxIOqVmoxBAgQIECAAAECBAgQIECAQNMCfhHWdPssngABAgQIECDQncDUAPgLEfFKRLwaEe/rTmvfgh8ddrp6z/F8H46fDzz8aZltYfC+M+vqBAgQIECAAAECBAgQIEAghYBfxqRooyIIECBAgAABAt0ITA2AC0x5jWcBbz8idl+PM389Il689pxk8zrOzlEECBAgQIAAAQIECBAgQIDADQICYGNBgAABAgQIECDQksA5AbAgcp8OC96nuz+MiBeOwmBB8HRDryBAgAABAgQIECBAgAABAt0LCIC7HwEABAgQIECAAIGmBM4JgEuBwsht2yx0n+99/MxgQfB8T2cgQIAAAQIECBAgQIAAAQLdCAiAu2m1QgkQIECAAAECKQTODYCHME2Qtv4YlOfbXkbEk8MzgNe/Yu4rHAfBpVKuufutOgIECBAgQIAAAQIECBAgMFtAADyb0AkIECBAgAABAgQ2FDg3AC5LtCt1m0bZbb2O8xCsD2f3YYZ1nJ2VAAECBAgQIECAAAECBAg0LyAAbr6FCiBAgAABAgQIdCUwJwD+fER8c0T8akS8vyu17YoVsm9j7fbQ2zi7CgECBAgQIECAAAECBAgQaFJAANxk2yyaAAECBAgQINCtwJwAuKDZnbru6PBd1/f62QXB23q7GgECBAgQIECAAAECBAgQaEJAANxEmyySAAECBAgQIEDgIDA3APYs4PVG6dHhmb8fjYifXu8yznyDgCDYWBAgQIAAAQIECBAgQIAAAQJfFxAAGwYCBAgQIECAAIGWBOYGwKVWIfA6HXf753Vcp5z1OAg+fp3nBU9RdCwBAgQIECBAgAABAgQIEGhcQADceAMtnwABAgQIECDQmcASAbAQeJ2hKb0pAeTlOqd31gkCguAJWA4lQIAAAQIECBAgQIAAAQLZBATA2TqqHgIECBAgQIBAboGlAuDjENjPxPNn5klEXEQEy/mWa53h+m2i34yIB2tdzHkJECBAgAABAgQIECBAgACB/QT8gmY/e1cmQIAAAQIECBCYLrBkAPzZiPhARHwuIj44fSlecSRQ+uI2w22MxPXdwfrWRt+skgABAgQIECBAgAABAgQIjBYQAI+mciABAgQI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banaqRgCBAgQIECAQFMCQzBZbgF9v6mV17vYm8JeYVa9/bKy+gTc/rm+nlgRAQIECBAgQIAAAQIECEwUEABPBHM4AQIECBAgQIDAYgKCycUonznRlyLivYf/Up5h6lmm6zg7a04Bt3/O2VdVESBAgAABAgQIECBAoCsBAXBX7VYsAQIECBAgQKAagccRcenWz6v2Y7i9drnIk4i4WvVqTk4gh4APpuTooyoIECBAgAABAgQIECDQtYAAuOv2K54AAQIECBAgsJuAZ/9uQ38cAg9XLP/tYpvLuwqBpgTs/m2qXRZLgAABAgQIECBAgAABArcJCIDNBgECBAgQIECAwB4CJYS0K3Vd+ethVtl1XYLf4T1A+fOyC9sXAQJPBez+NQkECBAgQIAAAQIECBAgkEJAAJyijYogQIAAAQIECDQlYJfd+u16dLjl8227fYcelJV8KiK+c/0luQKBqgX8vVR1eyyOAAECBAgQIECAAAECBKYICICnaDmWAAECBAgQIEBgrsCrEfHyYaed2xDP1bz99WN2Mpbg9zsOp3Bb6PV64cxtCIz5nmmjEqskQIAAAQIECBAgQIAAge4FBMDdjwAAAgQIECBAgMCmAp79uz73VONyK+7rYbxAeP0+uUI9AuX26OV26N4f19MTKyFAgAABAgQIECBAgACBGQLe4M7A81ICBAgQIECAAIFJAsMtVl877AKe9GIHjxIYjMstoO+PesU7Bx3fFnr4r4LgiYgOb1Jg6ocmmizSogkQIECAAAECBAgQIECgHwEBcD+9VikBAgQIECBAYE8Bt35eX38IcJcKbY8D4aXOub6CKxCYLlDmu+yEv5r+Uq8gQIAAAQIECBAgQIAAAQL1CQiA6+uJFREgQIAAAQIEMgrYYbduV5cOf49Xe31n8FsR8a51y3F2ApsJDPPtvfFm5C5EgAABAgQIECBAgAABAmsLeJO7trDzEyBAgAABAgQIuPXz+jNQAva1d+l+7dptpde+3vpqrkDg6feNWTYJBAgQIECAAAECBAgQIJBKQACcqp2KIUCAAAECBAhUKSBgWbcte+xgvH576Dci4hvXLdPZCSwusMf3zuJFOCEBAgQIECBAgAABAgQIELguIAA2EwQIECBAgAABAmsKuPXzmroRjw7PLd1rB+P120OXastafjwifmDd0p2dwGwBH06ZTegEBAgQIECA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IECAAAECBAgQIECAAIFnBQTAJoIAAQIECBAgQOC6gJByvZmwO/F22z8SEf/U86bXG74OzuwDBB00WYkECBAgQIAAAQIECBAgcFpAAHzayBEECBAgQIAAgd4EhJTrdFw4dberW46vM3c9ndXfXT11W60ECBAgQIAAAQIECBAgcKuAANhwECBAgAABAgQIHAsIKdebB+HU7bbD3H00In56vRY4c2KBhxHxots/J+6w0ggQIECAAAECBAgQIEBgtIAAeDSVAwkQIECAAAECXQgIKddps2D9bldzt87c9XRW32M9dVutBAgQIECAAAECBAgQIHCngADYgBAgQIAAAQIECAwCdtCtMwvDrY3LPy/WuUTzZy02n46Ib2m+EgXsJeBDBHvJuy4BAgQIECBAgAABAgQIVCcgAK6uJRZEgAABAgQIENhNwA665emFv6dNfyUiPhwR3puctnLEzQKPI+LSDBkPAgQIECBAgAABAgQIECDwVMAvWUwCAQIECBAgQIBAEXg1Il6OCLtUl52HIQD2c/ftrj54sOzM9Xg232c9dl3NBAgQIECAAAECBAgQIHCrgF9EGQ4CBAgQIECAAIEiIEBZZw6Em3e7Dj4+eLDO/PVy1jI/TyLiqpeC1UmAAAECBAgQIECAAAECBO4SEACbDwIECBAgQIAAgSGEe+2wC5jIsgKeTXqzp/B32Tnr9Ww+ZNFr59VNgAABAgQIECBAgAABArcKCIANBwECBAgQIECAgIBy3RkYAqpylZ+MiD++7uWaObu5a6ZVVS/UHFXdHosjQIAAAQIECBAgQIAAgT0EBMB7qLsmAQIECBAgQKAeAbvntulFCX4/eriU2x0/hSgOX4iIX7NNC1wlqYAAOGljlUWAAAECBAgQIECAAAEC5wsIgM+380oCBAgQIECAQAYB4cm2XXTb46fe/yci3hcR3o9sO38Zr1b+DnsUEfczFqcmAgQIECBAgAABAgQIECBwjoBfuJyj5jUECBAgQIAAgRwCdv/u00chcITZ22f2sl31rYi454ME2dqqHgIECBAgQIAAAQIECBCYKyAAnivo9QQIECBAgACBNgXKjrmrw214L9osoelV9x4C23ne9PhWs3gfJKimFRZCgAABAgQIECBAgAABAjUJCIBr6oa1ECBAgAABAgS2ExDAbWd925V6DYE/ERE/FBE/EhEf378NVtCw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cm+BMo9u5b13F1yfAAECBAgQIECAAAECBNIIZPmFT5qGKIQAAQIECBAgcBAYArryzwsqBBYUyHDr59s4fN8sOCgbnerxYRe696YbgbsMAQIECBAgQIAAAQIECOQX8CY7f49VSIAAAQIECLQr4Na27fau5pVnv92u75uap+/5tWX+QEJbnbBaAgQIECBAgAABAgQIEEgjIABO00qFECBAgAABAkkF3BI6aWN3KquXsO34ltDl31/aydtlTwtk/0DCaQFHECBAgAABAgQIECBAgACBhQUEwAuDOh0BAgQIECBAYCUBt7ZdCbaj0w632u3pWau+b+oe8F4+kFB3F6yOAAECBAgQIECAAAECBNIJCIDTtVRBBAgQIECAQGKBISwpJXo2cOJGr1Rarzstj79vvhgRr6zk67TTBYaA3vvS6XZeQYAAAQIECBAgQIAAAQIEbhXwRttwECBAgAABAgTaExAEt9ezvVdsp+XTD02ULx+e2Hsa37m+ALieXlgJAQIECBAgQIAAAQIECCQSEAAnaqZSCBAgQIAAge4EBMHdtfzsgnvd/XsdrNz++uLwH8v3z+XZol64hIAAeAlF5yBAgAABAgQIECBAgAABAtcEBMBGggABAgQIECDQvsAQBNvZ2H4v16jA7t/nVY8/POE90RpTN+6cAuBxTo4iQIAAAQIECBAgQIAAAQKTBPyyYxKXgwkQIECAAAEC1QoIgattza4L+x8R8a0RYbfr8214NSJePvxnH57YZ0wFwPu4uyoBAgQIECBAgAABAgQIJBcQACdvsPIIECBAgACBrgSEwF21e1SxArbTTL5vThutdYT5XEvWeQkQIECAAAECBAgQIECgawEBcNftVzwBAgQIECCQUECYlbCpZ5Y0PO/2lyPi2848Ry8vO342sPdI23VdALydtSsRIECAAAECBAgQIECAQEcCfrnRUbOVSoAAAQIECHQjcPx80xJsXXVTuUKPBUq45tbG42fiH0fE9x0O/4mI+P7xL3XkmQJm9Ew4LyNAgAABAgQIECBAgAABAncJCIDNBwECBAgQIEAgr4DdwHl7e6qyofd+3j8l9fyfD7tSPTd5ut2UV/xKRHw4Ij4dEd8y5YWOJUCAAAECBAgQIECAAAECBO4W8AshE0KAAAECBAgQyC3wOCIuDyXaDZq718fV2Vk5r9c+PDHPb8yrfUhhjJJj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+Pjw5K/kggQIECBAgAABAgQIECBAgMDZAgrgswldgAABAgQIECBAYMUCU90FfDPJtST/SvLuFXs4OoF7Cfw+yaeTPLP7pP1/qREgQIAAAQIECBAgQIAAAQILElAALygMRyFAgAABAgQIEJhFYIq7gKe4xizDe1ECBAgQIECAAAECBAgQIECAAIEuAQVwV56mIUCAAAECBAgQOF5gfxfwKHHHXbzHfkx1F/Gxr+vzCRAgQIAAAQIECBAgQIAAAQIECLxDQAFsKQgQIECAAAECBAgk55TA7v61QQQIECBAgAABAgQIECBAgAABAosRUAAvJgoHIUCAAAECBAgQmFng1BJYATxzcF6eAAECBAgQIECAAAECBAgQIEDgloAC2DYQIECAAAECBAgQuCVwyuOcRwH8ZpKHQRIgQIAAAQIECBAgQIAAAQIECBCYW0ABPHcCXp8AAQIECBAgQGBpAsfc0ftGkoeS+Ll6aSk6DwECBAgQIECAAAECBAgQIEBgowL+oWqjwRubAAECBAgQIEDgSoFj7gI+5nOREyBAgAABAgQIECBAgAABAgQIELi4gAL44sRegAABAgQIECBAYIUCh94FrABeYbiOTIAAAQIECBAgQIAAAQIECBBoFlAAN6drNgIECBAgQIAAgVMFDi12Dy2KTz2HryNAgAABAgQIECBAgAABAgQIECBwlIAC+Cgun0yAAAECBAgQILAhgfuVu4eWxBsiMyoBAgQIECBAgAABAgQIECBAgMDcAgrguRPw+gQIECBAgAABAksV2Be8owi+dpdD3q8gXupczkWAAAECBAgQIECAAAECBAgQIFAsoAAuDtdoBAgQIECAAAECZwuMknd83Plzs7t/z6Z1AQIECBAgQIAAAQIECBAgQIAAgUsIKIAvoeqaBAgQIECAAAECLQJX3QXs7t+WhM1BgAABAgQIECBAgAABAgQIECgTUACXBWocAgQIECBAgACByQXuvAvY3b+TE7sgAQIECBAgQIAAAQIECBAgQIDAVAIK4KkkXYcAAQIECBAgQKBV4M67gN3925q0uQgQIECAAAECBAgQIECAAAECBQIK4IIQjUCAAAECBAgQIHBxgf1dwOO/42doP0dfnNwLECBAgAABAgQIECBAgAABAgQInCLgH65OUfM1BAgQIECAAAECWxS4vQS+tkUAMxMgQIAAAQIECBAgQIAAAQIECCxfQAG8/IyckAABAgQIECBAYDkC43HQyt/l5OEkBAgQIECAAAECBAgQIECAAAECdwgogK0EAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIKxD0W4AABspSURBVECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRIBBXBJkMYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAtgOECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoERAAVwSpDEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCgALYDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBFQAJcEaQwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgogO0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgQUwCVBGoMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIKYDtAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBEgEFcEmQxiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIAC2A4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgREABXBKkMQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIKAAtgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoEVAAlwRpDAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCiA7QABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBBTAJUEagwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgpgO0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIESAQVwSZDGIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgALYDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBEQAFcEqQxCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgoAC2AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgRUACXBGkMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIKIDtAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoEFMAlQRqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCmA7QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRKB/wJpvi3SoNa7CwAAAABJRU5ErkJggg==\n"; +//// Base64.decodeToFile(valueData, file); +// byte[] decode = Base64.decode(valueData); +// +// FileOutputStream out = new FileOutputStream(file); +// out.write(decode); +// out.close(); + System.out.println(System.currentTimeMillis()); + + + } +}