一、项目背景
因本人的公司是做短信通信服务的,所以客户需要将短信的发送量,按照他们给定的PPT样例模板,来生成PDF报表数据,即PPT的样式,数据如何展示都是规定好了的,而我需要做的就是将真实的数据,渲染到样例PPT上去,并输出PDF即可。
二、思路
首先是将原生的PPT转换成xml模板,然后将xml模板的中样例数据转换成真实数据,最后输出PDF
1、注意点
将PPT生成xml可以借助一个解压工具,7zip提取xml文件
将PPT生成PDF需要借助LibreOffice 7.5,这个软件免费且无水印,需要本地安装
三、需求展示
以下为样例模板,我们需要做的 就是将真实的发送数据,进行替换
四、生成xml
通过7zip提取xml文件,提取后如下
其中的slide.xml为单纯的文字或者表,chart.xml为饼图,柱状图对应的xml
将样例模板PPT也拷贝到项目中 ,然后将xml拷贝到项目中,需要哪些表图或者柱状图就拷贝哪些xml
我们打开一个xml看下,如近三天发送总量表对应的xml,我们需要替换的就是如下的数据
五、伪代码
1、引入依赖
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>${freemarker.version}</version></dependency><dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-core</artifactId><version>${jodconverter.version}</version></dependency><dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-local</artifactId><version>${jodconverter.version}</version></dependency><dependency><groupId>org.jodconverter</groupId><artifactId>jodconverter-spring-boot-starter</artifactId><version>${jodconverter.version}</version></dependency><dependency><groupId>org.libreoffice</groupId><artifactId>ridl</artifactId><version>${ridl.version}</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi-ooxml.version}</version></dependency>
2、定义数据实体
实体的属性值,就是最终要替换到xml中的key
@Data
public class SmsReportPaper {private String year;private String month;private String day;/*** 昨天日期/上月*/private String yesterday;/*** 上周同天日期/上年同期同月*/private String lastWeek;/*** 上月同天日期*/private String lastMonth;/*** 两个月以前*/private String twoMonthAgo;/*** 三个月以前*/private String threeMonthAgo;/*** (近三天/三个月) 发送量统计情况*/private List<SmsDailyStatistics> lastThreeDayList;/*** (昨日/上个月)发送量:按运营商统计*/private List<SmsDailyIndex> operatorDailyList;/*** (昨日/上个月)发送量:按序列号*/private List<SmsDailyIndex> cdkeyDailyList;/*** (昨日/上个月)发送量:按通道*/private List<SmsDailyIndex> channelDailyList;/*** (昨日/上个月)发送量:按部门*/private List<SmsDailyIndex> departmentDailyList;/*** 运营商发送短信发送变化趋势图*/private List<SmsPaperContrast> operatorPaperContrasts;/*** 序列号发送变化趋势图*/private List<SmsPaperContrast> cdkeyPaperContrasts;/*** 通道发送变化趋势图*/private List<SmsPaperContrast> channelPaperContrasts;/*** 序列号发送变化趋势表数据*/private List<SmsCdKeyVariationTrendData> smsCdKeyVariationTrendDataList;
}
需要注意的是,定义实体的时候,需要根据PPT模板的key来确定层级关系
3、编写业务逻辑
import org.apache.commons.lang3.StringUtils;
import org.jodconverter.DocumentConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;@Component
public class SmsDataReportTask {@Resourceprivate DocumentConverter documentConverter;//伪造数据List<SmsCdKeyVariationTrendData> dataList = getList();SmsReportPaper smsReportPaper = new SmsReportPaper();String time = "2023-05-31";String filePath = createFileAndGetPath(dataList ,smsReportPaper ,time );/*** 通过resources下的模板和源数据对象生成PDF报表,并返回报表路径*/private String createFileAndGetPath(List<SmsCdKeyVariationTrendData> dataList, SmsReportPaper smsReportPaper, String time) throws Exception {//将resource目录下模板全部输出到对应目录下String templatePath = BusinessFileUtils.genStaticFilePath(paramsConfiguration.getFileDirPath(), SMS, FINE_NAME_2, FINE_NAME_3, FINE_NAME_5);//已经将源数据替换后xml中的文件存储目录String xmlOutPath = BusinessFileUtils.genStaticFilePath(paramsConfiguration.getFileDirPath(), SMS, FINE_NAME_2, FINE_NAME_3, FINE_NAME_6);//生成ppt输出路径String pptOutPath = BusinessFileUtils.genStaticFilePath(paramsConfiguration.getFileDirPath(), SMS, FINE_NAME_2, FINE_NAME_3);//PPT原生XML存储路径String resourcePath = FINE_NAME_5 + File.separator + FINE_NAME_3;String paperFileName = "短信统计日报_";//读取PPT原生XML文件名列表List<String> list = DailyPaperUtils.readTemplateNames(resourcePath, templatePath);//循环遍历每一个原生的PPT的xml模板,并替换模板中的参数,并生成替换后的xml模板到对应的temp目录for (String fileName : list) {DailyPaperUtils.createTemplate(fileName, smsReportPaper, xmlOutPath, templatePath);}//获取PPT模板输出页数,因为需要输出序列号的数据未知,所以动态获取输出页数int pageNum = getSlideIndex(dataList);//输出PPT文件DailyPaperUtils.outPutDailyPaperPPT(list, time, xmlOutPath, pptOutPath, templatePath, pageNum, paperFileName);//将PPT文件转PDFDailyPaperUtils.ppt2Pdf(pptOutPath, time, documentConverter, paperFileName);//清空历史数据DailyPaperUtils.clearTempFile(pptOutPath, paperFileName, time);//返回报表文件的路径return pptOutPath + File.separator + paperFileName + time + ".pdf";}}
上面的业务逻辑主要就是从数据库中查询到具体的业务数据,然后借助工具类生成PPT和转换PDF,因每个人需要生成的PDF的内容不一样,对于数据的组装和获取我就不多做粘贴,只展示个大致的逻辑
4、生成PPT和转换PDF的工具类
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
import org.apache.commons.io.FileUtils;
import org.jodconverter.DocumentConverter;
import org.jodconverter.document.DefaultDocumentFormatRegistry;
import org.jodconverter.office.OfficeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;public class DailyPaperUtils {private final static Logger log = LoggerFactory.getLogger(DailyPaperUtils.class);/*** 读取模板文件名称** @return* @throws Exception*/public static List<String> readTemplateNames(String resourcePath, String templatePath) throws Exception {List<String> templateList = new ArrayList<>();ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();Resource[] resources = resolver.getResources(resourcePath + File.separator + "*");if (resources.length == 0) {throw new FileNotFoundException("文件目录不存在:" + resourcePath);}for (Resource file : resources) {//这里每次生成日报都将对应模板文件复制次到对应目录,生成完后删除,防止被别人误删导致生成模板报错File templateFile = new File(templatePath + File.separator + file.getFilename());FileUtils.copyInputStreamToFile(file.getInputStream(), templateFile);if (templateFile.isFile() && templateFile.getName().endsWith(".xml")) {templateList.add(templateFile.getName());}}return templateList;}/*** 替换模板中的参数** @param templateName 模板名称* @param data 封装的数据* @param xmlOutPath xml文件输出的路径* @param templatePath xml模板路径* @throws Exception*/public static void createTemplate(String templateName, Object data, String xmlOutPath, String templatePath) throws Exception {Configuration cfg = new Configuration(Configuration.VERSION_2_3_30);cfg.setDefaultEncoding("UTF-8");cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);cfg.setLogTemplateExceptions(false);cfg.setWrapUncheckedExceptions(true);cfg.setDirectoryForTemplateLoading(new File(templatePath));Template t = cfg.getTemplate(templateName);File outFile = new File(xmlOutPath + File.separator + templateName);if (!outFile.getParentFile().exists()) {outFile.getParentFile().mkdirs();}try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), StandardCharsets.UTF_8))) {// 将填充数据填入模板文件并输出到目标文件t.process(data, out);} catch (Exception e) {log.error("e:" + e);}}/*** 输出日报PPT文件** @param list* @param date* @param xmlOutPath* @param pptOutPath* @param templatePath* @param pageNum* @param fileName*/public static void outPutDailyPaperPPT(List<String> list, String date, String xmlOutPath, String pptOutPath, String templatePath, Integer pageNum, String fileName) {try {//读取模板文件File templateFile = new File(templatePath + File.separator + "DailyPaperTemplate.pptx");ZipFile zipFile = new ZipFile(templateFile);Enumeration<? extends ZipEntry> zipEntrys = zipFile.entries();//新文件输出ZipOutputStream zipout = new ZipOutputStream(new FileOutputStream(pptOutPath + File.separator + fileName + date + ".pptx"));int len = -1;byte[] buffer = new byte[1024];File template = null;while (zipEntrys.hasMoreElements()) {ZipEntry next = zipEntrys.nextElement();InputStream is = zipFile.getInputStream(next);// 把输入流的文件传到输出流中 如果是对应的数据由我们输入zipout.putNextEntry(new ZipEntry(next.toString()));boolean flag = false;//不需要输出的页面boolean noOutput = false;for (String s : list) {if (next.toString().contains("ppt/slides/" + s)) {Integer slide = Integer.valueOf(s.replace("slide", "").replace(".xml", ""));if (slide > pageNum) {noOutput = true;continue;}flag = true;template = new File(xmlOutPath + File.separator + s);} else if (next.toString().contains("ppt/charts/" + s)) {flag = true;template = new File(xmlOutPath + File.separator + s);}}if (noOutput) {continue;}if (flag) {InputStream in = new FileInputStream(template);while ((len = in.read(buffer)) != -1) {zipout.write(buffer, 0, len);}in.close();} else {while ((len = is.read(buffer)) != -1) {zipout.write(buffer, 0, len);}is.close();}}zipout.close();} catch (Exception e) {e.printStackTrace();}}/*** 将ppt转成pdf** @param pptPath* @param date* @param documentConverter* @param fileName* @throws OfficeException*/public static void ppt2Pdf(String pptPath, String date, DocumentConverter documentConverter, String fileName) throws OfficeException {File in = new File(pptPath + File.separator + fileName + date + ".pptx");File out = new File(pptPath + File.separator + fileName + date + ".pdf");documentConverter.convert(in).as(DefaultDocumentFormatRegistry.HTML).to(out).as(DefaultDocumentFormatRegistry.PDF).execute();}/*** 日报生成临时文件清理,以及历史日报文件清理** @param filePath* @param fileName* @param date*/public static void clearTempFile(String filePath, String fileName, String date) {try {//删除临时文件夹File tempFileDir = new File(filePath + File.separator + "temp");File[] files = tempFileDir.listFiles();for (File file : files) {file.delete();}File templateFileDir = new File(filePath + File.separator + "template");File[] templateFiles = templateFileDir.listFiles();for (File file : templateFiles) {file.delete();}File pptFile = new File(filePath + File.separator + fileName + date + ".pptx");if (pptFile.exists()) {pptFile.delete();}//清理180天以前的日报文件File historyFileDir = new File(filePath);File[] historyFiles = historyFileDir.listFiles();for (File historyFile : historyFiles) {if (historyFile.isFile() && historyFile.getName().startsWith(fileName)) {String name = historyFile.getName();String day = name.replace(fileName, "").replace(".pdf", "");if (day.length() == 7) {day = day + "-05";}Date fileDate = DateUtils.parseDate(day, "yyyy-MM-dd");Date dateBefore = DateUtils.getDateBefore(new Date(), 180);if (fileDate.compareTo(dateBefore) < 0) {historyFile.delete();}}}} catch (Exception e) {log.error("delete file error:", e);}}
}
5、配置文件配置
因使用转PDF的工具的原因,需要在本地安装后在yml文件里做好配置 ,如果客户是windows机器,配置如下 ,office-home根据自身的安装路径来配置,如果不需要转pdf,只需要生成ppt,那么这个配置可以不用,LibreOffice 7.5也无需 安装。
jodconverter:local:enabled: trueoffice-home: C:\\Program Files\\LibreOfficeport-numbers: 2002
六、注意点
本篇博客对于代码只粘贴了一些关键的代码,但是生成ppt和转换PDF的工具类的代码是齐全的,读者在参考本篇博客做功能的时候,需要注意的就是定义数据实体,实体的定义一定要根据PPT模板样式的来,例如我做的功能的的近上月发送总量统计表的数据
SmsReportPaper 对象定义的数据层级就为
private List<SmsDailyStatistics> lastThreeDayList;
import io.swagger.annotations.ApiParam;import java.io.Serializable;
import java.math.BigDecimal;@Data
public class SmsDailyStatistics implements Serializable {private static final long serialVersionUID = 1L;@ApiParam("提交总数")private Long submitNumber;@ApiParam("拆分提交总数")private Long submitRealNumber;@ApiParam("发送成功数")private Long successNumber;@ApiParam("拆分发送成功数")private Long successRealNumber;@ApiParam("失败总数")private Long failNumber;@ApiParam("拆分发送失败数")private Long failRealNumber;@ApiParam("发送超时数")private Long timeoutNumber;@ApiParam("拆分超时总数")private Long timeoutRealNumber;@ApiParam("YEAR:yyyy,MONTH:yyyyMM,DAY:yyyyMMdd")private String reportTime;@ApiParam("序列号")private String cdKey;@ApiParam("统计指标名称")private String indexName;@ApiParam("占比: %")private String proportion;@ApiParam("占比:0.xx")private BigDecimal ratio;@ApiParam("成功率")private String successRate;@ApiParam("增长率")private String growthRate;}
上传到在xml里替换时,就
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:bg><p:bgPr><a:blipFill rotWithShape="0"><a:blip r:embed="rId2"/><a:stretch/></a:blipFill><a:effectLst/></p:bgPr></p:bg><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="49" name="文本框 5"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr><a:xfrm><a:off x="3920040" y="459360"/><a:ext cx="4351320" cy="516240"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="0"><a:noFill/></a:ln></p:spPr><p:style><a:lnRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:lnRef><a:fillRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:fillRef><a:effectRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:effectRef><a:fontRef idx="minor"/></p:style><p:txBody><a:bodyPr lIns="90000" tIns="45000" rIns="90000" bIns="45000" anchor="t"><a:spAutoFit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="2800" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="484E66"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>近三月发送总量统计表</a:t></a:r><a:endParaRPr lang="en-US" sz="2800" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="50" name="文本框 6"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr><a:xfrm><a:off x="824760" y="5923440"/><a:ext cx="10541160" cy="272160"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="0"><a:noFill/></a:ln></p:spPr><p:style><a:lnRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:lnRef><a:fillRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:fillRef><a:effectRef idx="0"><a:scrgbClr r="0" g="0" b="0"/></a:effectRef><a:fontRef idx="minor"/></p:style><p:txBody><a:bodyPr lIns="90000" tIns="45000" rIns="90000" bIns="45000" anchor="t"><a:spAutoFit/></a:bodyPr><a:lstStyle/><a:p><a:pPr><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>*</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>较上一月增长率计算公式为:</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>(</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>上月短信发送总量</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>-</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>上上月短信发送总量</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>)/</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>上月短信发送总量</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="97"><a:solidFill><a:srgbClr val="808080"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>*100%</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></p:txBody></p:sp><p:graphicFrame><p:nvGraphicFramePr><p:cNvPr id="51" name="表格 8"/><p:cNvGraphicFramePr/><p:nvPr/></p:nvGraphicFramePr><p:xfrm><a:off x="1828800" y="2096640"/><a:ext cx="8730720" cy="3069720"/></p:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table"><a:tbl><a:tblPr/><a:tblGrid><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20000"/></a:ext></a:extLst></a:gridCol><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20001"/></a:ext></a:extLst></a:gridCol><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20002"/></a:ext></a:extLst></a:gridCol><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20003"/></a:ext></a:extLst></a:gridCol><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20004"/></a:ext></a:extLst></a:gridCol><a:gridCol w="1455120"><a:extLst><a:ext uri="{9D8B030D-6E8A-4147-A177-3AD203B41FA5}"><a16:colId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="20005"/></a:ext></a:extLst></a:gridCol></a:tblGrid><a:tr h="1071720"><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>日期</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:schemeClr val="accent2"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>发送成功数</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>(拆分前</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>/</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>拆分后)</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr marL="90000" marR="90000" anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="5EC9C5"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>发送失败数</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>(拆分前</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>/</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>拆分后)</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr marL="90000" marR="90000" anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:schemeClr val="accent2"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>发送总数</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>(拆分前</a:t></a:r><a:r><a:rPr lang="en-US" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>/</a:t></a:r><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>拆分后)</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr marL="90000" marR="90000" anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:schemeClr val="accent2"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>成功率</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr marL="90000" marR="90000" anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:schemeClr val="accent2"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>较上一月</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="150000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="zh-CN" sz="1200" b="1" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="404040"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>增长率</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr marL="90000" marR="90000" anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnT><a:lnB w="38160"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:schemeClr val="accent2"/></a:solidFill></a:tcPr></a:tc><a:extLst><a:ext uri="{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}"><a16:rowId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="10000"/></a:ext></a:extLst></a:tr><#list lastThreeDayList as day><a:tr h="666000"><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.reportTime}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.successNumber!"0"}/${day.successRealNumber!"0"}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc><a:tabLst><a:tab pos="0" algn="l"/></a:tabLst></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.failNumber!"0"}/${day.failRealNumber!"0"}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc><a:tabLst><a:tab pos="0" algn="l"/></a:tabLst></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.submitNumber!"0"}/${day.submitRealNumber!"0"}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc><a:tabLst><a:tab pos="0" algn="l"/></a:tabLst></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.successRate!"-"}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc><a:tabLst><a:tab pos="0" algn="l"/></a:tabLst></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="dk1"/></a:solidFill><a:latin typeface="微软雅黑"/><a:ea typeface="微软雅黑"/></a:rPr><a:t>${day.growthRate!"-"}</a:t></a:r><a:endParaRPr lang="en-US" sz="1200" b="0" strike="noStrike" spc="-1"><a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/></a:endParaRPr></a:p></a:txBody><a:tcPr anchor="ctr"><a:lnL w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnL><a:lnR w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnR><a:lnT w="38160" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/></a:lnT><a:lnB w="12240"><a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill><a:prstDash val="solid"/></a:lnB><a:solidFill><a:srgbClr val="CEE6EE"/></a:solidFill></a:tcPr></a:tc><a:extLst><a:ext uri="{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}"><a16:rowId xmlns:a16="http://schemas.microsoft.com/office/drawing/2014/main" val="10001"/></a:ext></a:extLst></a:tr></#list></a:tbl></a:graphicData></a:graphic></p:graphicFrame><p:sp><p:nvSpPr><p:cNvPr id="52" name="矩形 12"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr><a:xfrm><a:off x="5557320" y="1000080"/><a:ext cx="1079640" cy="35640"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:solidFill><a:srgbClr val="1CC6C1"/></a:solidFill><a:ln><a:noFill/></a:ln></p:spPr><p:style><a:lnRef idx="2"><a:schemeClr val="accent1"><a:shade val="50000"/></a:schemeClr></a:lnRef><a:fillRef idx="1"><a:schemeClr val="accent1"/></a:fillRef><a:effectRef idx="0"><a:schemeClr val="accent1"/></a:effectRef><a:fontRef idx="minor"/></p:style><p:txBody><a:bodyPr lIns="90000" tIns="-9000" rIns="90000" bIns="-9000" anchor="ctr"><a:noAutofit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="ctr"><a:lnSpc><a:spcPct val="100000"/></a:lnSpc></a:pPr><a:endParaRPr lang="en-US" sz="1800" b="0" strike="noStrike" spc="-1"><a:solidFill><a:schemeClr val="lt1"/></a:solidFill><a:latin typeface="Corbel"/></a:endParaRPr></a:p></p:txBody></p:sp></p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr></p:sld>