@burdenoff/microfe-planmagnet 2026.930.24 → 2026.1001.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/__vite-browser-external.js +9 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +5 -2
- package/dist/index.js +3 -1
- package/dist/node_modules/fflate/esm/browser.js +554 -0
- package/dist/node_modules/fflate/esm/browser.js.map +1 -0
- package/dist/node_modules/jszip/dist/jszip.min.js +3038 -0
- package/dist/node_modules/jszip/dist/jszip.min.js.map +1 -0
- package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js +2151 -0
- package/dist/node_modules/pptxgenjs/dist/pptxgen.es.js.map +1 -0
- package/dist/node_modules/write-excel-file/browser/index.js +3 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js +13 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFileContentToUint8ArrayBrowser.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js +21 -0
- package/dist/node_modules/write-excel-file/modules/export/convertFilesContentToUint8Arrays.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js +11 -0
- package/dist/node_modules/write-excel-file/modules/export/downloadBlob.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js +23 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileBrowser.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js +22 -0
- package/dist/node_modules/write-excel-file/modules/export/writeXlsxFileUniversal.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js +18 -0
- package/dist/node_modules/write-excel-file/modules/getSheetData/getSheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js +131 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/conditionalFormatting.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js +188 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/images.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js +52 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/features/stickyRowsOrColumns.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js +18 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/_Content_Types_.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js +18 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/drawing.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sharedStrings.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js +102 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/cell.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/column.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js +15 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/columns.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/drawingReference.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js +71 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/helpers/getCellStyleProperties.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js +56 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/mergedCellsDescription.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js +15 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageMargins.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js +13 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/pageSetup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js +44 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/processMergedCells.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js +123 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/row.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js +41 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheet.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml/sheetViews.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js +20 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/sheet.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js +77 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/styles.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js +22 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js +13 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/files/workbook.xml.rels.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js +242 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/generateXlsxFileContents.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js +29 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/getFeatures.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/convertDateToSerialNumber.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getAdditionalContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js +43 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getElementXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js +93 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/getWrittenFiles.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js +39 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/features/transformContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getAlignmentXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js +29 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getBorderXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getCellAddress.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFileExtensionForContentType.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFillXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getFontXml.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js +24 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getOrderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/getXlsxColorForHexColor.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasAlignment.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasBorder.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFill.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/hasFont.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isCellObject.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/isObject.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js +27 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/helpers/orderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js +17 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSharedStrings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js +74 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeSheets.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js +138 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/initializeStyles.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js +40 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetData.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xlsx/validateSheetName.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/appendMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/applyEnclosingElementOffset.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/escapeXmlSpecialCharacters.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElement.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js +12 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js +41 -0
- package/dist/node_modules/write-excel-file/modules/xml/findElementsNonRecursive_.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js +14 -0
- package/dist/node_modules/write-excel-file/modules/xml/getAttributesString.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js +42 -0
- package/dist/node_modules/write-excel-file/modules/xml/getChildElements.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/getClosingTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/getMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/getOpeningTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/getSelfClosingTagMarkup.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js +64 -0
- package/dist/node_modules/write-excel-file/modules/xml/insertElementMarkupAccordingToOrderOfSiblings.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/prependMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js +9 -0
- package/dist/node_modules/write-excel-file/modules/xml/removeInvalidXmlCharacters.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/replaceElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js +10 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeName.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeAttributeValue.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js +11 -0
- package/dist/node_modules/write-excel-file/modules/xml/sanitizeTextContent.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js +8 -0
- package/dist/node_modules/write-excel-file/modules/xml/setMarkupInsideElement.js.map +1 -0
- package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js +18 -0
- package/dist/node_modules/write-excel-file/modules/zip/zipToArrayBuffer.js.map +1 -0
- package/dist/planmagnet/PlanMagnetRoot.d.ts.map +1 -1
- package/dist/planmagnet/PlanMagnetRoot.js +154 -147
- package/dist/planmagnet/PlanMagnetRoot.js.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.d.ts.map +1 -1
- package/dist/planmagnet/PlanMagnetRoutes.js +122 -106
- package/dist/planmagnet/PlanMagnetRoutes.js.map +1 -1
- package/dist/planmagnet/comments/CommentThread.d.ts +8 -1
- package/dist/planmagnet/comments/CommentThread.d.ts.map +1 -1
- package/dist/planmagnet/comments/CommentThread.js +188 -181
- package/dist/planmagnet/comments/CommentThread.js.map +1 -1
- package/dist/planmagnet/comments/TargetComments.d.ts +10 -2
- package/dist/planmagnet/comments/TargetComments.d.ts.map +1 -1
- package/dist/planmagnet/comments/TargetComments.js +10 -8
- package/dist/planmagnet/comments/TargetComments.js.map +1 -1
- package/dist/planmagnet/comments/WorkItemComments.d.ts +7 -1
- package/dist/planmagnet/comments/WorkItemComments.d.ts.map +1 -1
- package/dist/planmagnet/comments/WorkItemComments.js +5 -4
- package/dist/planmagnet/comments/WorkItemComments.js.map +1 -1
- package/dist/planmagnet/controls/Pickers.d.ts +10 -0
- package/dist/planmagnet/controls/Pickers.d.ts.map +1 -1
- package/dist/planmagnet/controls/Pickers.js +75 -27
- package/dist/planmagnet/controls/Pickers.js.map +1 -1
- package/dist/planmagnet/discussion/WorkItemDiscussionPanel.d.ts +8 -0
- package/dist/planmagnet/discussion/WorkItemDiscussionPanel.d.ts.map +1 -0
- package/dist/planmagnet/discussion/WorkItemDiscussionPanel.js +217 -0
- package/dist/planmagnet/discussion/WorkItemDiscussionPanel.js.map +1 -0
- package/dist/planmagnet/docs/DocDiffView.d.ts +26 -0
- package/dist/planmagnet/docs/DocDiffView.d.ts.map +1 -0
- package/dist/planmagnet/docs/DocDiffView.js +52 -0
- package/dist/planmagnet/docs/DocDiffView.js.map +1 -0
- package/dist/planmagnet/docs/DocSuggestionsPanel.d.ts +13 -0
- package/dist/planmagnet/docs/DocSuggestionsPanel.d.ts.map +1 -0
- package/dist/planmagnet/docs/DocSuggestionsPanel.js +308 -0
- package/dist/planmagnet/docs/DocSuggestionsPanel.js.map +1 -0
- package/dist/planmagnet/docs/DocVersionCompare.d.ts +7 -0
- package/dist/planmagnet/docs/DocVersionCompare.d.ts.map +1 -0
- package/dist/planmagnet/docs/DocVersionCompare.js +105 -0
- package/dist/planmagnet/docs/DocVersionCompare.js.map +1 -0
- package/dist/planmagnet/hooks/usePresence.d.ts +39 -0
- package/dist/planmagnet/hooks/usePresence.d.ts.map +1 -0
- package/dist/planmagnet/hooks/usePresence.js +146 -0
- package/dist/planmagnet/hooks/usePresence.js.map +1 -0
- package/dist/planmagnet/index.d.ts +2 -0
- package/dist/planmagnet/index.d.ts.map +1 -1
- package/dist/planmagnet/index.js +2 -0
- package/dist/planmagnet/links/CodeLinksPanel.d.ts +22 -0
- package/dist/planmagnet/links/CodeLinksPanel.d.ts.map +1 -0
- package/dist/planmagnet/links/CodeLinksPanel.js +94 -0
- package/dist/planmagnet/links/CodeLinksPanel.js.map +1 -0
- package/dist/planmagnet/pages/DocsDocDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js +488 -217
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js +136 -130
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +205 -196
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts +6 -0
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.js +5 -177
- package/dist/planmagnet/pages/ReportsCreateReportPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts +3 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.d.ts.map +1 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.js +15 -0
- package/dist/planmagnet/pages/ReportsEditReportPagePage.js.map +1 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.d.ts +7 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.d.ts.map +1 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.js +226 -0
- package/dist/planmagnet/pages/ReportsReportPagePage.js.map +1 -0
- package/dist/planmagnet/pages/ReportsReportsPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ReportsReportsPagePage.js +224 -496
- package/dist/planmagnet/pages/ReportsReportsPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.js +194 -160
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.js.map +1 -1
- package/dist/planmagnet/presence/PresenceAvatars.d.ts +16 -0
- package/dist/planmagnet/presence/PresenceAvatars.d.ts.map +1 -0
- package/dist/planmagnet/presence/PresenceAvatars.js +56 -0
- package/dist/planmagnet/presence/PresenceAvatars.js.map +1 -0
- package/dist/planmagnet/reports/ExportMenu.d.ts +9 -0
- package/dist/planmagnet/reports/ExportMenu.d.ts.map +1 -0
- package/dist/planmagnet/reports/ExportMenu.js +116 -0
- package/dist/planmagnet/reports/ExportMenu.js.map +1 -0
- package/dist/planmagnet/reports/PrintReportView.d.ts +24 -0
- package/dist/planmagnet/reports/PrintReportView.d.ts.map +1 -0
- package/dist/planmagnet/reports/PrintReportView.js +75 -0
- package/dist/planmagnet/reports/PrintReportView.js.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts +8 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.js +261 -0
- package/dist/planmagnet/reports/ReportBuilderCanvas.js.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderPage.d.ts +5 -0
- package/dist/planmagnet/reports/ReportBuilderPage.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportBuilderPage.js +198 -0
- package/dist/planmagnet/reports/ReportBuilderPage.js.map +1 -0
- package/dist/planmagnet/reports/ReportRunHistory.d.ts +8 -0
- package/dist/planmagnet/reports/ReportRunHistory.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportRunHistory.js +63 -0
- package/dist/planmagnet/reports/ReportRunHistory.js.map +1 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts +7 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.d.ts.map +1 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.js +251 -0
- package/dist/planmagnet/reports/ReportWidgetRenderer.js.map +1 -0
- package/dist/planmagnet/reports/SchedulesPanel.d.ts +4 -0
- package/dist/planmagnet/reports/SchedulesPanel.d.ts.map +1 -0
- package/dist/planmagnet/reports/SchedulesPanel.js +457 -0
- package/dist/planmagnet/reports/SchedulesPanel.js.map +1 -0
- package/dist/planmagnet/reports/ShareDialog.d.ts +5 -0
- package/dist/planmagnet/reports/ShareDialog.d.ts.map +1 -0
- package/dist/planmagnet/reports/ShareDialog.js +234 -0
- package/dist/planmagnet/reports/ShareDialog.js.map +1 -0
- package/dist/planmagnet/reports/SharedReportPage.d.ts +4 -0
- package/dist/planmagnet/reports/SharedReportPage.d.ts.map +1 -0
- package/dist/planmagnet/reports/SharedReportPage.js +180 -0
- package/dist/planmagnet/reports/SharedReportPage.js.map +1 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.d.ts +10 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.d.ts.map +1 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.js +220 -0
- package/dist/planmagnet/reports/WidgetEditorDialog.js.map +1 -0
- package/dist/planmagnet/reports/reportExportPptx.d.ts +4 -0
- package/dist/planmagnet/reports/reportExportPptx.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportExportPptx.js +118 -0
- package/dist/planmagnet/reports/reportExportPptx.js.map +1 -0
- package/dist/planmagnet/reports/reportExportXlsx.d.ts +4 -0
- package/dist/planmagnet/reports/reportExportXlsx.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportExportXlsx.js +42 -0
- package/dist/planmagnet/reports/reportExportXlsx.js.map +1 -0
- package/dist/planmagnet/reports/reportGraphql.d.ts +28 -0
- package/dist/planmagnet/reports/reportGraphql.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportGraphql.js +360 -0
- package/dist/planmagnet/reports/reportGraphql.js.map +1 -0
- package/dist/planmagnet/reports/reportModel.d.ts +198 -0
- package/dist/planmagnet/reports/reportModel.d.ts.map +1 -0
- package/dist/planmagnet/reports/reportModel.js +328 -0
- package/dist/planmagnet/reports/reportModel.js.map +1 -0
- package/dist/planmagnet/reports/sharedReportRoute.d.ts +14 -0
- package/dist/planmagnet/reports/sharedReportRoute.d.ts.map +1 -0
- package/dist/planmagnet/reports/sharedReportRoute.js +9 -0
- package/dist/planmagnet/reports/sharedReportRoute.js.map +1 -0
- package/dist/planmagnet/utils/graphqlErrors.d.ts +6 -0
- package/dist/planmagnet/utils/graphqlErrors.d.ts.map +1 -1
- package/dist/planmagnet/utils/graphqlErrors.js +5 -2
- package/dist/planmagnet/utils/graphqlErrors.js.map +1 -1
- package/dist/planmagnet/utils/lineDiff.d.ts +21 -0
- package/dist/planmagnet/utils/lineDiff.d.ts.map +1 -0
- package/dist/planmagnet/utils/lineDiff.js +36 -0
- package/dist/planmagnet/utils/lineDiff.js.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1,2151 @@
|
|
|
1
|
+
import { __toESM as e } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_jszip_min as t } from "../../jszip/dist/jszip.min.js";
|
|
3
|
+
//#region node_modules/pptxgenjs/dist/pptxgen.es.js
|
|
4
|
+
var n = /* @__PURE__ */ e(t());
|
|
5
|
+
function r(e, t, n, r) {
|
|
6
|
+
function i(e) {
|
|
7
|
+
return e instanceof n ? e : new n(function(t) {
|
|
8
|
+
t(e);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
return new (n ||= Promise)(function(n, a) {
|
|
12
|
+
function o(e) {
|
|
13
|
+
try {
|
|
14
|
+
c(r.next(e));
|
|
15
|
+
} catch (e) {
|
|
16
|
+
a(e);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function s(e) {
|
|
20
|
+
try {
|
|
21
|
+
c(r.throw(e));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
a(e);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function c(e) {
|
|
27
|
+
e.done ? n(e.value) : i(e.value).then(o, s);
|
|
28
|
+
}
|
|
29
|
+
c((r = r.apply(e, t || [])).next());
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
var i = 914400, a = 12700, o = "\r\n", s = 2147483649, c = /^[0-9a-fA-F]{6}$/, l = 1.67, u = 27, d = {
|
|
33
|
+
type: "solid",
|
|
34
|
+
color: "666666",
|
|
35
|
+
pt: 1
|
|
36
|
+
}, f = [
|
|
37
|
+
.05,
|
|
38
|
+
.1,
|
|
39
|
+
.05,
|
|
40
|
+
.1
|
|
41
|
+
], p = {
|
|
42
|
+
color: "363636",
|
|
43
|
+
pt: 1
|
|
44
|
+
}, m = {
|
|
45
|
+
color: "888888",
|
|
46
|
+
style: "solid",
|
|
47
|
+
size: 1,
|
|
48
|
+
cap: "flat"
|
|
49
|
+
}, h = "000000", g = 12, _ = 18, v = "LAYOUT_16x9", y = "DEFAULT", b = "333333", x = {
|
|
50
|
+
type: "outer",
|
|
51
|
+
blur: 3,
|
|
52
|
+
offset: 23e3 / 12700,
|
|
53
|
+
angle: 90,
|
|
54
|
+
color: "000000",
|
|
55
|
+
opacity: .35,
|
|
56
|
+
rotateWithShape: !0
|
|
57
|
+
}, S = [
|
|
58
|
+
.5,
|
|
59
|
+
.5,
|
|
60
|
+
.5,
|
|
61
|
+
.5
|
|
62
|
+
], ee = { color: "000000" }, C = {
|
|
63
|
+
size: 8,
|
|
64
|
+
color: "FFFFFF",
|
|
65
|
+
opacity: .75
|
|
66
|
+
}, w = "2094734552", T = "2094734553", E = "2094734554", te = "2094734555", ne = "2094734556", D = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""), O = [
|
|
67
|
+
"C0504D",
|
|
68
|
+
"4F81BD",
|
|
69
|
+
"9BBB59",
|
|
70
|
+
"8064A2",
|
|
71
|
+
"4BACC6",
|
|
72
|
+
"F79646",
|
|
73
|
+
"628FC6",
|
|
74
|
+
"C86360",
|
|
75
|
+
"C0504D",
|
|
76
|
+
"4F81BD",
|
|
77
|
+
"9BBB59",
|
|
78
|
+
"8064A2",
|
|
79
|
+
"4BACC6",
|
|
80
|
+
"F79646",
|
|
81
|
+
"628FC6",
|
|
82
|
+
"C86360"
|
|
83
|
+
], re = [
|
|
84
|
+
"5DA5DA",
|
|
85
|
+
"FAA43A",
|
|
86
|
+
"60BD68",
|
|
87
|
+
"F17CB0",
|
|
88
|
+
"B2912F",
|
|
89
|
+
"B276B2",
|
|
90
|
+
"DECF3F",
|
|
91
|
+
"F15854",
|
|
92
|
+
"A7A7A7",
|
|
93
|
+
"5DA5DA",
|
|
94
|
+
"FAA43A",
|
|
95
|
+
"60BD68",
|
|
96
|
+
"F17CB0",
|
|
97
|
+
"B2912F",
|
|
98
|
+
"B276B2",
|
|
99
|
+
"DECF3F",
|
|
100
|
+
"F15854",
|
|
101
|
+
"A7A7A7"
|
|
102
|
+
], k;
|
|
103
|
+
(function(e) {
|
|
104
|
+
e.left = "left", e.center = "center", e.right = "right", e.justify = "justify";
|
|
105
|
+
})(k ||= {});
|
|
106
|
+
var A;
|
|
107
|
+
(function(e) {
|
|
108
|
+
e.b = "b", e.ctr = "ctr", e.t = "t";
|
|
109
|
+
})(A ||= {});
|
|
110
|
+
var ie = "{F7021451-1387-4CA6-816F-3879F97B5CBC}", ae;
|
|
111
|
+
(function(e) {
|
|
112
|
+
e.arraybuffer = "arraybuffer", e.base64 = "base64", e.binarystring = "binarystring", e.blob = "blob", e.nodebuffer = "nodebuffer", e.uint8array = "uint8array";
|
|
113
|
+
})(ae ||= {});
|
|
114
|
+
var oe;
|
|
115
|
+
(function(e) {
|
|
116
|
+
e.area = "area", e.bar = "bar", e.bar3d = "bar3D", e.bubble = "bubble", e.bubble3d = "bubble3D", e.doughnut = "doughnut", e.line = "line", e.pie = "pie", e.radar = "radar", e.scatter = "scatter";
|
|
117
|
+
})(oe ||= {});
|
|
118
|
+
var se;
|
|
119
|
+
(function(e) {
|
|
120
|
+
e.accentBorderCallout1 = "accentBorderCallout1", e.accentBorderCallout2 = "accentBorderCallout2", e.accentBorderCallout3 = "accentBorderCallout3", e.accentCallout1 = "accentCallout1", e.accentCallout2 = "accentCallout2", e.accentCallout3 = "accentCallout3", e.actionButtonBackPrevious = "actionButtonBackPrevious", e.actionButtonBeginning = "actionButtonBeginning", e.actionButtonBlank = "actionButtonBlank", e.actionButtonDocument = "actionButtonDocument", e.actionButtonEnd = "actionButtonEnd", e.actionButtonForwardNext = "actionButtonForwardNext", e.actionButtonHelp = "actionButtonHelp", e.actionButtonHome = "actionButtonHome", e.actionButtonInformation = "actionButtonInformation", e.actionButtonMovie = "actionButtonMovie", e.actionButtonReturn = "actionButtonReturn", e.actionButtonSound = "actionButtonSound", e.arc = "arc", e.bentArrow = "bentArrow", e.bentUpArrow = "bentUpArrow", e.bevel = "bevel", e.blockArc = "blockArc", e.borderCallout1 = "borderCallout1", e.borderCallout2 = "borderCallout2", e.borderCallout3 = "borderCallout3", e.bracePair = "bracePair", e.bracketPair = "bracketPair", e.callout1 = "callout1", e.callout2 = "callout2", e.callout3 = "callout3", e.can = "can", e.chartPlus = "chartPlus", e.chartStar = "chartStar", e.chartX = "chartX", e.chevron = "chevron", e.chord = "chord", e.circularArrow = "circularArrow", e.cloud = "cloud", e.cloudCallout = "cloudCallout", e.corner = "corner", e.cornerTabs = "cornerTabs", e.cube = "cube", e.curvedDownArrow = "curvedDownArrow", e.curvedLeftArrow = "curvedLeftArrow", e.curvedRightArrow = "curvedRightArrow", e.curvedUpArrow = "curvedUpArrow", e.custGeom = "custGeom", e.decagon = "decagon", e.diagStripe = "diagStripe", e.diamond = "diamond", e.dodecagon = "dodecagon", e.donut = "donut", e.doubleWave = "doubleWave", e.downArrow = "downArrow", e.downArrowCallout = "downArrowCallout", e.ellipse = "ellipse", e.ellipseRibbon = "ellipseRibbon", e.ellipseRibbon2 = "ellipseRibbon2", e.flowChartAlternateProcess = "flowChartAlternateProcess", e.flowChartCollate = "flowChartCollate", e.flowChartConnector = "flowChartConnector", e.flowChartDecision = "flowChartDecision", e.flowChartDelay = "flowChartDelay", e.flowChartDisplay = "flowChartDisplay", e.flowChartDocument = "flowChartDocument", e.flowChartExtract = "flowChartExtract", e.flowChartInputOutput = "flowChartInputOutput", e.flowChartInternalStorage = "flowChartInternalStorage", e.flowChartMagneticDisk = "flowChartMagneticDisk", e.flowChartMagneticDrum = "flowChartMagneticDrum", e.flowChartMagneticTape = "flowChartMagneticTape", e.flowChartManualInput = "flowChartManualInput", e.flowChartManualOperation = "flowChartManualOperation", e.flowChartMerge = "flowChartMerge", e.flowChartMultidocument = "flowChartMultidocument", e.flowChartOfflineStorage = "flowChartOfflineStorage", e.flowChartOffpageConnector = "flowChartOffpageConnector", e.flowChartOnlineStorage = "flowChartOnlineStorage", e.flowChartOr = "flowChartOr", e.flowChartPredefinedProcess = "flowChartPredefinedProcess", e.flowChartPreparation = "flowChartPreparation", e.flowChartProcess = "flowChartProcess", e.flowChartPunchedCard = "flowChartPunchedCard", e.flowChartPunchedTape = "flowChartPunchedTape", e.flowChartSort = "flowChartSort", e.flowChartSummingJunction = "flowChartSummingJunction", e.flowChartTerminator = "flowChartTerminator", e.folderCorner = "folderCorner", e.frame = "frame", e.funnel = "funnel", e.gear6 = "gear6", e.gear9 = "gear9", e.halfFrame = "halfFrame", e.heart = "heart", e.heptagon = "heptagon", e.hexagon = "hexagon", e.homePlate = "homePlate", e.horizontalScroll = "horizontalScroll", e.irregularSeal1 = "irregularSeal1", e.irregularSeal2 = "irregularSeal2", e.leftArrow = "leftArrow", e.leftArrowCallout = "leftArrowCallout", e.leftBrace = "leftBrace", e.leftBracket = "leftBracket", e.leftCircularArrow = "leftCircularArrow", e.leftRightArrow = "leftRightArrow", e.leftRightArrowCallout = "leftRightArrowCallout", e.leftRightCircularArrow = "leftRightCircularArrow", e.leftRightRibbon = "leftRightRibbon", e.leftRightUpArrow = "leftRightUpArrow", e.leftUpArrow = "leftUpArrow", e.lightningBolt = "lightningBolt", e.line = "line", e.lineInv = "lineInv", e.mathDivide = "mathDivide", e.mathEqual = "mathEqual", e.mathMinus = "mathMinus", e.mathMultiply = "mathMultiply", e.mathNotEqual = "mathNotEqual", e.mathPlus = "mathPlus", e.moon = "moon", e.noSmoking = "noSmoking", e.nonIsoscelesTrapezoid = "nonIsoscelesTrapezoid", e.notchedRightArrow = "notchedRightArrow", e.octagon = "octagon", e.parallelogram = "parallelogram", e.pentagon = "pentagon", e.pie = "pie", e.pieWedge = "pieWedge", e.plaque = "plaque", e.plaqueTabs = "plaqueTabs", e.plus = "plus", e.quadArrow = "quadArrow", e.quadArrowCallout = "quadArrowCallout", e.rect = "rect", e.ribbon = "ribbon", e.ribbon2 = "ribbon2", e.rightArrow = "rightArrow", e.rightArrowCallout = "rightArrowCallout", e.rightBrace = "rightBrace", e.rightBracket = "rightBracket", e.round1Rect = "round1Rect", e.round2DiagRect = "round2DiagRect", e.round2SameRect = "round2SameRect", e.roundRect = "roundRect", e.rtTriangle = "rtTriangle", e.smileyFace = "smileyFace", e.snip1Rect = "snip1Rect", e.snip2DiagRect = "snip2DiagRect", e.snip2SameRect = "snip2SameRect", e.snipRoundRect = "snipRoundRect", e.squareTabs = "squareTabs", e.star10 = "star10", e.star12 = "star12", e.star16 = "star16", e.star24 = "star24", e.star32 = "star32", e.star4 = "star4", e.star5 = "star5", e.star6 = "star6", e.star7 = "star7", e.star8 = "star8", e.stripedRightArrow = "stripedRightArrow", e.sun = "sun", e.swooshArrow = "swooshArrow", e.teardrop = "teardrop", e.trapezoid = "trapezoid", e.triangle = "triangle", e.upArrow = "upArrow", e.upArrowCallout = "upArrowCallout", e.upDownArrow = "upDownArrow", e.upDownArrowCallout = "upDownArrowCallout", e.uturnArrow = "uturnArrow", e.verticalScroll = "verticalScroll", e.wave = "wave", e.wedgeEllipseCallout = "wedgeEllipseCallout", e.wedgeRectCallout = "wedgeRectCallout", e.wedgeRoundRectCallout = "wedgeRoundRectCallout";
|
|
121
|
+
})(se ||= {});
|
|
122
|
+
var j;
|
|
123
|
+
(function(e) {
|
|
124
|
+
e.text1 = "tx1", e.text2 = "tx2", e.background1 = "bg1", e.background2 = "bg2", e.accent1 = "accent1", e.accent2 = "accent2", e.accent3 = "accent3", e.accent4 = "accent4", e.accent5 = "accent5", e.accent6 = "accent6";
|
|
125
|
+
})(j ||= {});
|
|
126
|
+
var ce;
|
|
127
|
+
(function(e) {
|
|
128
|
+
e.left = "left", e.center = "center", e.right = "right", e.justify = "justify";
|
|
129
|
+
})(ce ||= {});
|
|
130
|
+
var le;
|
|
131
|
+
(function(e) {
|
|
132
|
+
e.top = "top", e.middle = "middle", e.bottom = "bottom";
|
|
133
|
+
})(le ||= {});
|
|
134
|
+
var M;
|
|
135
|
+
(function(e) {
|
|
136
|
+
e.ACTION_BUTTON_BACK_OR_PREVIOUS = "actionButtonBackPrevious", e.ACTION_BUTTON_BEGINNING = "actionButtonBeginning", e.ACTION_BUTTON_CUSTOM = "actionButtonBlank", e.ACTION_BUTTON_DOCUMENT = "actionButtonDocument", e.ACTION_BUTTON_END = "actionButtonEnd", e.ACTION_BUTTON_FORWARD_OR_NEXT = "actionButtonForwardNext", e.ACTION_BUTTON_HELP = "actionButtonHelp", e.ACTION_BUTTON_HOME = "actionButtonHome", e.ACTION_BUTTON_INFORMATION = "actionButtonInformation", e.ACTION_BUTTON_MOVIE = "actionButtonMovie", e.ACTION_BUTTON_RETURN = "actionButtonReturn", e.ACTION_BUTTON_SOUND = "actionButtonSound", e.ARC = "arc", e.BALLOON = "wedgeRoundRectCallout", e.BENT_ARROW = "bentArrow", e.BENT_UP_ARROW = "bentUpArrow", e.BEVEL = "bevel", e.BLOCK_ARC = "blockArc", e.CAN = "can", e.CHART_PLUS = "chartPlus", e.CHART_STAR = "chartStar", e.CHART_X = "chartX", e.CHEVRON = "chevron", e.CHORD = "chord", e.CIRCULAR_ARROW = "circularArrow", e.CLOUD = "cloud", e.CLOUD_CALLOUT = "cloudCallout", e.CORNER = "corner", e.CORNER_TABS = "cornerTabs", e.CROSS = "plus", e.CUBE = "cube", e.CURVED_DOWN_ARROW = "curvedDownArrow", e.CURVED_DOWN_RIBBON = "ellipseRibbon", e.CURVED_LEFT_ARROW = "curvedLeftArrow", e.CURVED_RIGHT_ARROW = "curvedRightArrow", e.CURVED_UP_ARROW = "curvedUpArrow", e.CURVED_UP_RIBBON = "ellipseRibbon2", e.CUSTOM_GEOMETRY = "custGeom", e.DECAGON = "decagon", e.DIAGONAL_STRIPE = "diagStripe", e.DIAMOND = "diamond", e.DODECAGON = "dodecagon", e.DONUT = "donut", e.DOUBLE_BRACE = "bracePair", e.DOUBLE_BRACKET = "bracketPair", e.DOUBLE_WAVE = "doubleWave", e.DOWN_ARROW = "downArrow", e.DOWN_ARROW_CALLOUT = "downArrowCallout", e.DOWN_RIBBON = "ribbon", e.EXPLOSION1 = "irregularSeal1", e.EXPLOSION2 = "irregularSeal2", e.FLOWCHART_ALTERNATE_PROCESS = "flowChartAlternateProcess", e.FLOWCHART_CARD = "flowChartPunchedCard", e.FLOWCHART_COLLATE = "flowChartCollate", e.FLOWCHART_CONNECTOR = "flowChartConnector", e.FLOWCHART_DATA = "flowChartInputOutput", e.FLOWCHART_DECISION = "flowChartDecision", e.FLOWCHART_DELAY = "flowChartDelay", e.FLOWCHART_DIRECT_ACCESS_STORAGE = "flowChartMagneticDrum", e.FLOWCHART_DISPLAY = "flowChartDisplay", e.FLOWCHART_DOCUMENT = "flowChartDocument", e.FLOWCHART_EXTRACT = "flowChartExtract", e.FLOWCHART_INTERNAL_STORAGE = "flowChartInternalStorage", e.FLOWCHART_MAGNETIC_DISK = "flowChartMagneticDisk", e.FLOWCHART_MANUAL_INPUT = "flowChartManualInput", e.FLOWCHART_MANUAL_OPERATION = "flowChartManualOperation", e.FLOWCHART_MERGE = "flowChartMerge", e.FLOWCHART_MULTIDOCUMENT = "flowChartMultidocument", e.FLOWCHART_OFFLINE_STORAGE = "flowChartOfflineStorage", e.FLOWCHART_OFFPAGE_CONNECTOR = "flowChartOffpageConnector", e.FLOWCHART_OR = "flowChartOr", e.FLOWCHART_PREDEFINED_PROCESS = "flowChartPredefinedProcess", e.FLOWCHART_PREPARATION = "flowChartPreparation", e.FLOWCHART_PROCESS = "flowChartProcess", e.FLOWCHART_PUNCHED_TAPE = "flowChartPunchedTape", e.FLOWCHART_SEQUENTIAL_ACCESS_STORAGE = "flowChartMagneticTape", e.FLOWCHART_SORT = "flowChartSort", e.FLOWCHART_STORED_DATA = "flowChartOnlineStorage", e.FLOWCHART_SUMMING_JUNCTION = "flowChartSummingJunction", e.FLOWCHART_TERMINATOR = "flowChartTerminator", e.FOLDED_CORNER = "folderCorner", e.FRAME = "frame", e.FUNNEL = "funnel", e.GEAR_6 = "gear6", e.GEAR_9 = "gear9", e.HALF_FRAME = "halfFrame", e.HEART = "heart", e.HEPTAGON = "heptagon", e.HEXAGON = "hexagon", e.HORIZONTAL_SCROLL = "horizontalScroll", e.ISOSCELES_TRIANGLE = "triangle", e.LEFT_ARROW = "leftArrow", e.LEFT_ARROW_CALLOUT = "leftArrowCallout", e.LEFT_BRACE = "leftBrace", e.LEFT_BRACKET = "leftBracket", e.LEFT_CIRCULAR_ARROW = "leftCircularArrow", e.LEFT_RIGHT_ARROW = "leftRightArrow", e.LEFT_RIGHT_ARROW_CALLOUT = "leftRightArrowCallout", e.LEFT_RIGHT_CIRCULAR_ARROW = "leftRightCircularArrow", e.LEFT_RIGHT_RIBBON = "leftRightRibbon", e.LEFT_RIGHT_UP_ARROW = "leftRightUpArrow", e.LEFT_UP_ARROW = "leftUpArrow", e.LIGHTNING_BOLT = "lightningBolt", e.LINE_CALLOUT_1 = "borderCallout1", e.LINE_CALLOUT_1_ACCENT_BAR = "accentCallout1", e.LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR = "accentBorderCallout1", e.LINE_CALLOUT_1_NO_BORDER = "callout1", e.LINE_CALLOUT_2 = "borderCallout2", e.LINE_CALLOUT_2_ACCENT_BAR = "accentCallout2", e.LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR = "accentBorderCallout2", e.LINE_CALLOUT_2_NO_BORDER = "callout2", e.LINE_CALLOUT_3 = "borderCallout3", e.LINE_CALLOUT_3_ACCENT_BAR = "accentCallout3", e.LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR = "accentBorderCallout3", e.LINE_CALLOUT_3_NO_BORDER = "callout3", e.LINE_CALLOUT_4 = "borderCallout4", e.LINE_CALLOUT_4_ACCENT_BAR = "accentCallout3=4", e.LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR = "accentBorderCallout4", e.LINE_CALLOUT_4_NO_BORDER = "callout4", e.LINE = "line", e.LINE_INVERSE = "lineInv", e.MATH_DIVIDE = "mathDivide", e.MATH_EQUAL = "mathEqual", e.MATH_MINUS = "mathMinus", e.MATH_MULTIPLY = "mathMultiply", e.MATH_NOT_EQUAL = "mathNotEqual", e.MATH_PLUS = "mathPlus", e.MOON = "moon", e.NON_ISOSCELES_TRAPEZOID = "nonIsoscelesTrapezoid", e.NOTCHED_RIGHT_ARROW = "notchedRightArrow", e.NO_SYMBOL = "noSmoking", e.OCTAGON = "octagon", e.OVAL = "ellipse", e.OVAL_CALLOUT = "wedgeEllipseCallout", e.PARALLELOGRAM = "parallelogram", e.PENTAGON = "homePlate", e.PIE = "pie", e.PIE_WEDGE = "pieWedge", e.PLAQUE = "plaque", e.PLAQUE_TABS = "plaqueTabs", e.QUAD_ARROW = "quadArrow", e.QUAD_ARROW_CALLOUT = "quadArrowCallout", e.RECTANGLE = "rect", e.RECTANGULAR_CALLOUT = "wedgeRectCallout", e.REGULAR_PENTAGON = "pentagon", e.RIGHT_ARROW = "rightArrow", e.RIGHT_ARROW_CALLOUT = "rightArrowCallout", e.RIGHT_BRACE = "rightBrace", e.RIGHT_BRACKET = "rightBracket", e.RIGHT_TRIANGLE = "rtTriangle", e.ROUNDED_RECTANGLE = "roundRect", e.ROUNDED_RECTANGULAR_CALLOUT = "wedgeRoundRectCallout", e.ROUND_1_RECTANGLE = "round1Rect", e.ROUND_2_DIAG_RECTANGLE = "round2DiagRect", e.ROUND_2_SAME_RECTANGLE = "round2SameRect", e.SMILEY_FACE = "smileyFace", e.SNIP_1_RECTANGLE = "snip1Rect", e.SNIP_2_DIAG_RECTANGLE = "snip2DiagRect", e.SNIP_2_SAME_RECTANGLE = "snip2SameRect", e.SNIP_ROUND_RECTANGLE = "snipRoundRect", e.SQUARE_TABS = "squareTabs", e.STAR_10_POINT = "star10", e.STAR_12_POINT = "star12", e.STAR_16_POINT = "star16", e.STAR_24_POINT = "star24", e.STAR_32_POINT = "star32", e.STAR_4_POINT = "star4", e.STAR_5_POINT = "star5", e.STAR_6_POINT = "star6", e.STAR_7_POINT = "star7", e.STAR_8_POINT = "star8", e.STRIPED_RIGHT_ARROW = "stripedRightArrow", e.SUN = "sun", e.SWOOSH_ARROW = "swooshArrow", e.TEAR = "teardrop", e.TRAPEZOID = "trapezoid", e.UP_ARROW = "upArrow", e.UP_ARROW_CALLOUT = "upArrowCallout", e.UP_DOWN_ARROW = "upDownArrow", e.UP_DOWN_ARROW_CALLOUT = "upDownArrowCallout", e.UP_RIBBON = "ribbon2", e.U_TURN_ARROW = "uturnArrow", e.VERTICAL_SCROLL = "verticalScroll", e.WAVE = "wave";
|
|
137
|
+
})(M ||= {});
|
|
138
|
+
var N;
|
|
139
|
+
(function(e) {
|
|
140
|
+
e.AREA = "area", e.BAR = "bar", e.BAR3D = "bar3D", e.BUBBLE = "bubble", e.BUBBLE3D = "bubble3D", e.DOUGHNUT = "doughnut", e.LINE = "line", e.PIE = "pie", e.RADAR = "radar", e.SCATTER = "scatter";
|
|
141
|
+
})(N ||= {});
|
|
142
|
+
var ue;
|
|
143
|
+
(function(e) {
|
|
144
|
+
e.TEXT1 = "tx1", e.TEXT2 = "tx2", e.BACKGROUND1 = "bg1", e.BACKGROUND2 = "bg2", e.ACCENT1 = "accent1", e.ACCENT2 = "accent2", e.ACCENT3 = "accent3", e.ACCENT4 = "accent4", e.ACCENT5 = "accent5", e.ACCENT6 = "accent6";
|
|
145
|
+
})(ue ||= {});
|
|
146
|
+
var P;
|
|
147
|
+
(function(e) {
|
|
148
|
+
e.chart = "chart", e.image = "image", e.line = "line", e.rect = "rect", e.text = "text", e.placeholder = "placeholder";
|
|
149
|
+
})(P ||= {});
|
|
150
|
+
var F;
|
|
151
|
+
(function(e) {
|
|
152
|
+
e.chart = "chart", e.hyperlink = "hyperlink", e.image = "image", e.media = "media", e.online = "online", e.placeholder = "placeholder", e.table = "table", e.tablecell = "tablecell", e.text = "text", e.notes = "notes";
|
|
153
|
+
})(F ||= {});
|
|
154
|
+
var I;
|
|
155
|
+
(function(e) {
|
|
156
|
+
e.title = "title", e.body = "body", e.image = "pic", e.chart = "chart", e.table = "tbl", e.media = "media";
|
|
157
|
+
})(I ||= {});
|
|
158
|
+
var L;
|
|
159
|
+
(function(e) {
|
|
160
|
+
e.DEFAULT = "•", e.CHECK = "✓", e.STAR = "★", e.TRIANGLE = "▶";
|
|
161
|
+
})(L ||= {});
|
|
162
|
+
var R = "data:image/png;base64,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", de = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6ysnL9ihUrVr/66qurHnzwwbUVFRWNOgUAAMDuIgAGAADgfznjjDPaH3bYYZ369OnTuUuXLp3Kysral5SUtC0uLu5YVFTUrqioqG2LFi065OfnlzaXnjQ1NW3dvn37xvr6+qr6+vrKmpqaDdu2bavasmXLpnXr1lUsXbp0/Ysvvrh+4sSJlZ4gAAAA9iYBMAAAAB9Lr169CkeNGtXuoIMOatexY8ey9u3bl7Zp06Z1SUlJWXFxcetWrVq1btGiRVlRUVHrwsLC1hGRX1hYWBoR+QUFBSV5eXkFeXl5u/0/LtPpdG06nW5sbGzcFhFNDQ0NW3f83+r6+vrq7du3b6mtra2uqamp3rZtW/XmzZurN23aVL1hw4YtCxYsqJo1a1bl0qVLt5s4AAAASSAABgAAYK/q169fUffu3Vvss88+xSUlJQVv//8LCwtT3bp1+8BTxuXl5VsbGhoyb//vbdu2Na5YsaJmzZo12xcvXlyvwwAAADQn7xcAF2gPAAAAu9vixYvrdwS11boBAAAAu0+eFgAAAAAAAADkBgEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4QAAMAAAAAAADkCAEwAAAAAAAAQI4o0AIAAAAAAACA5GhoLIyCxoaIiEilIpNXGE1v/0wADAAAAAAAAJAghQUN/0x6MxGppvT/5L6ugAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAAYAAAAAAADIEQJgAAAAAAAAgBwhAIb/v5272ZHiusM4/FZ1NUkz9sQwOF4EyZJtpJCwysa5jSy4n1xPEqRIuQFvvfGSgIwBOzGRQAQERnx0d1UW0cgWGvKxsMGvnmfVdc7/1OJsf+oCAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";
|
|
163
|
+
function z(e, t, n) {
|
|
164
|
+
return typeof e == "string" && !isNaN(Number(e)) && (e = Number(e)), typeof e == "number" && e < 100 ? H(e) : typeof e == "number" && e >= 100 ? e : typeof e == "string" && e.includes("%") ? Math.round(t && t === "X" ? parseFloat(e) / 100 * n.width : t && t === "Y" ? parseFloat(e) / 100 * n.height : parseFloat(e) / 100 * n.width) : 0;
|
|
165
|
+
}
|
|
166
|
+
function B(e) {
|
|
167
|
+
return e.replace(/[xy]/g, function(e) {
|
|
168
|
+
let t = Math.random() * 16 | 0;
|
|
169
|
+
return (e === "x" ? t : t & 3 | 8).toString(16);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
function V(e) {
|
|
173
|
+
return e === void 0 || e == null ? "" : e.toString().replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
174
|
+
}
|
|
175
|
+
function H(e) {
|
|
176
|
+
return typeof e == "number" && e > 100 ? e : (typeof e == "string" && (e = Number(e.replace(/in*/gi, ""))), Math.round(i * e));
|
|
177
|
+
}
|
|
178
|
+
function U(e) {
|
|
179
|
+
let t = Number(e) || 0;
|
|
180
|
+
return isNaN(t) ? 0 : Math.round(t * a);
|
|
181
|
+
}
|
|
182
|
+
function W(e) {
|
|
183
|
+
return e ||= 0, Math.round((e > 360 ? e - 360 : e) * 6e4);
|
|
184
|
+
}
|
|
185
|
+
function fe(e) {
|
|
186
|
+
let t = e.toString(16);
|
|
187
|
+
return t.length === 1 ? "0" + t : t;
|
|
188
|
+
}
|
|
189
|
+
function pe(e, t, n) {
|
|
190
|
+
return (fe(e) + fe(t) + fe(n)).toUpperCase();
|
|
191
|
+
}
|
|
192
|
+
function G(e, t) {
|
|
193
|
+
let n = (e || "").replace("#", "");
|
|
194
|
+
!c.test(n) && n !== j.background1 && n !== j.background2 && n !== j.text1 && n !== j.text2 && n !== j.accent1 && n !== j.accent2 && n !== j.accent3 && n !== j.accent4 && n !== j.accent5 && n !== j.accent6 && (console.warn(`"${n}" is not a valid scheme color or hex RGB! "${h}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`), n = h);
|
|
195
|
+
let r = c.test(n) ? "srgbClr" : "schemeClr", i = "val=\"" + (c.test(n) ? n.toUpperCase() : n) + "\"";
|
|
196
|
+
return t ? `<a:${r} ${i}>${t}</a:${r}>` : `<a:${r} ${i}/>`;
|
|
197
|
+
}
|
|
198
|
+
function me(e, t) {
|
|
199
|
+
let n = "", r = Object.assign(Object.assign({}, t), e), i = Math.round(r.size * a), o = r.color, s = Math.round(r.opacity * 1e5);
|
|
200
|
+
return n += `<a:glow rad="${i}">`, n += G(o, `<a:alpha val="${s}"/>`), n += "</a:glow>", n;
|
|
201
|
+
}
|
|
202
|
+
function K(e) {
|
|
203
|
+
let t = "solid", n = "", r = "", i = "";
|
|
204
|
+
if (e) switch (typeof e == "string" ? n = e : (e.type && (t = e.type), e.color && (n = e.color), e.alpha && (r += `<a:alpha val="${Math.round((100 - e.alpha) * 1e3)}"/>`), e.transparency && (r += `<a:alpha val="${Math.round((100 - e.transparency) * 1e3)}"/>`)), t) {
|
|
205
|
+
case "solid":
|
|
206
|
+
i += `<a:solidFill>${G(n, r)}</a:solidFill>`;
|
|
207
|
+
break;
|
|
208
|
+
default:
|
|
209
|
+
i += "";
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
return i;
|
|
213
|
+
}
|
|
214
|
+
function q(e) {
|
|
215
|
+
return e._rels.length + e._relsChart.length + e._relsMedia.length + 1;
|
|
216
|
+
}
|
|
217
|
+
function he(e) {
|
|
218
|
+
if (!(!e || typeof e != "object")) return e.type !== "outer" && e.type !== "inner" && e.type !== "none" && (console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."), e.type = "outer"), e.angle &&= ((isNaN(Number(e.angle)) || e.angle < 0 || e.angle > 359) && (console.warn("Warning: shadow.angle can only be 0-359"), e.angle = 270), Math.round(Number(e.angle))), e.opacity &&= ((isNaN(Number(e.opacity)) || e.opacity < 0 || e.opacity > 1) && (console.warn("Warning: shadow.opacity can only be 0-1"), e.opacity = .75), Number(e.opacity)), e.color && e.color.startsWith("#") && (console.warn("Warning: shadow.color should not include hash (#) character, , e.g. \"FF0000\""), e.color = e.color.replace("#", "")), e;
|
|
219
|
+
}
|
|
220
|
+
function ge(e, t, n) {
|
|
221
|
+
let r = 2.3 + (e.options?.autoPageCharWeight ? e.options.autoPageCharWeight : 0), o = Math.floor(t / a * i) / ((e.options?.fontSize ? e.options.fontSize : g) / r), s = [], c = [], l = [], u = [];
|
|
222
|
+
e.text && e.text.toString().trim().length === 0 ? c.push({
|
|
223
|
+
_type: F.tablecell,
|
|
224
|
+
text: " "
|
|
225
|
+
}) : typeof e.text == "number" || typeof e.text == "string" ? c.push({
|
|
226
|
+
_type: F.tablecell,
|
|
227
|
+
text: (e.text || "").toString().trim()
|
|
228
|
+
}) : Array.isArray(e.text) && (c = e.text);
|
|
229
|
+
let d = [];
|
|
230
|
+
return c.forEach((e) => {
|
|
231
|
+
typeof e.text == "string" && (e.text.split("\n").length > 1 ? e.text.split("\n").forEach((t) => {
|
|
232
|
+
d.push({
|
|
233
|
+
_type: F.tablecell,
|
|
234
|
+
text: t,
|
|
235
|
+
options: Object.assign(Object.assign({}, e.options), { breakLine: !0 })
|
|
236
|
+
});
|
|
237
|
+
}) : d.push({
|
|
238
|
+
_type: F.tablecell,
|
|
239
|
+
text: e.text.trim(),
|
|
240
|
+
options: e.options
|
|
241
|
+
}), e.options?.breakLine && (l.push(d), d = [])), d.length > 0 && (l.push(d), d = []);
|
|
242
|
+
}), l.forEach((e) => {
|
|
243
|
+
e.forEach((e) => {
|
|
244
|
+
let t = [], n = String(e.text).split(" ");
|
|
245
|
+
n.forEach((r, i) => {
|
|
246
|
+
let a = Object.assign({}, e.options);
|
|
247
|
+
a?.breakLine && (a.breakLine = i + 1 === n.length), t.push({
|
|
248
|
+
_type: F.tablecell,
|
|
249
|
+
text: r + (i + 1 < n.length ? " " : ""),
|
|
250
|
+
options: a
|
|
251
|
+
});
|
|
252
|
+
}), u.push(t);
|
|
253
|
+
});
|
|
254
|
+
}), u.forEach((e) => {
|
|
255
|
+
let t = [], n = "";
|
|
256
|
+
e.forEach((e) => {
|
|
257
|
+
n.length + e.text.length > o && (s.push(t), t = [], n = ""), t.push(e), n += e.text.toString();
|
|
258
|
+
}), t.length > 0 && s.push(t);
|
|
259
|
+
}), s;
|
|
260
|
+
}
|
|
261
|
+
function _e(e = [], t = {}, n, r) {
|
|
262
|
+
let a = S, o = i * 1, s = i * 1, c = 0, u = 0, d = [], f = z(t.x, "X", n), p = z(t.y, "Y", n), m = z(t.w, "X", n), h = z(t.h, "Y", n), _ = m;
|
|
263
|
+
function v() {
|
|
264
|
+
let e = 0;
|
|
265
|
+
d.length === 0 && (e = p || H(a[0])), d.length > 0 && (e = H(t.autoPageSlideStartY || t.newSlideStartY || a[0])), s = (h || n.height) - e - H(a[2]), d.length > 1 && (typeof t.autoPageSlideStartY == "number" ? s = (h || n.height) - H(t.autoPageSlideStartY + a[2]) : typeof t.newSlideStartY == "number" ? s = (h || n.height) - H(t.newSlideStartY + a[2]) : p && (s = (h || n.height) - H((p / i < a[0] ? p / i : a[0]) + a[2]), s < h && (s = h)));
|
|
266
|
+
}
|
|
267
|
+
if (t.verbose && (console.log("[[VERBOSE MODE]]"), console.log("|-- TABLE PROPS --------------------------------------------------------|"), console.log(`| presLayout.width ................................ = ${(n.width / i).toFixed(1)}`), console.log(`| presLayout.height ............................... = ${(n.height / i).toFixed(1)}`), console.log(`| tableProps.x .................................... = ${typeof t.x == "number" ? (t.x / i).toFixed(1) : t.x}`), console.log(`| tableProps.y .................................... = ${typeof t.y == "number" ? (t.y / i).toFixed(1) : t.y}`), console.log(`| tableProps.w .................................... = ${typeof t.w == "number" ? (t.w / i).toFixed(1) : t.w}`), console.log(`| tableProps.h .................................... = ${typeof t.h == "number" ? (t.h / i).toFixed(1) : t.h}`), console.log(`| tableProps.slideMargin .......................... = ${t.slideMargin ? String(t.slideMargin) : ""}`), console.log(`| tableProps.margin ............................... = ${String(t.margin)}`), console.log(`| tableProps.colW ................................. = ${String(t.colW)}`), console.log(`| tableProps.autoPageSlideStartY .................. = ${t.autoPageSlideStartY}`), console.log(`| tableProps.autoPageCharWeight ................... = ${t.autoPageCharWeight}`), console.log("|-- CALCULATIONS -------------------------------------------------------|"), console.log(`| tablePropX ...................................... = ${f / i}`), console.log(`| tablePropY ...................................... = ${p / i}`), console.log(`| tablePropW ...................................... = ${m / i}`), console.log(`| tablePropH ...................................... = ${h / i}`), console.log(`| tableCalcW ...................................... = ${_ / i}`)), !t.slideMargin && t.slideMargin !== 0 && (t.slideMargin = S[0]), r && r._margin !== void 0 ? Array.isArray(r._margin) ? a = r._margin : isNaN(Number(r._margin)) || (a = [
|
|
268
|
+
Number(r._margin),
|
|
269
|
+
Number(r._margin),
|
|
270
|
+
Number(r._margin),
|
|
271
|
+
Number(r._margin)
|
|
272
|
+
]) : (t.slideMargin || t.slideMargin === 0) && (Array.isArray(t.slideMargin) ? a = t.slideMargin : isNaN(t.slideMargin) || (a = [
|
|
273
|
+
t.slideMargin,
|
|
274
|
+
t.slideMargin,
|
|
275
|
+
t.slideMargin,
|
|
276
|
+
t.slideMargin
|
|
277
|
+
])), t.verbose && console.log(`| arrInchMargins .................................. = [${a.join(", ")}]`), (e[0] || []).forEach((e) => {
|
|
278
|
+
e ||= { _type: F.tablecell };
|
|
279
|
+
let t = e.options || null;
|
|
280
|
+
u += Number(t?.colspan ? t.colspan : 1);
|
|
281
|
+
}), t.verbose && console.log(`| numCols ......................................... = ${u}`), !m && t.colW && (_ = Array.isArray(t.colW) ? t.colW.reduce((e, t) => e + t) * i : t.colW * u || 0, t.verbose && console.log(`| tableCalcW ...................................... = ${_ / i}`)), o = _ || H((f ? f / i : a[1]) + a[3]), t.verbose && console.log(`| emuSlideTabW .................................... = ${(o / i).toFixed(1)}`), !t.colW || !Array.isArray(t.colW)) if (t.colW && !isNaN(Number(t.colW))) {
|
|
282
|
+
let n = [];
|
|
283
|
+
(e[0] || []).forEach(() => n.push(t.colW)), t.colW = [], n.forEach((e) => {
|
|
284
|
+
Array.isArray(t.colW) && t.colW.push(e);
|
|
285
|
+
});
|
|
286
|
+
} else {
|
|
287
|
+
t.colW = [];
|
|
288
|
+
for (let e = 0; e < u; e++) t.colW.push(o / i / u);
|
|
289
|
+
}
|
|
290
|
+
let y = { rows: [] };
|
|
291
|
+
return e.forEach((e, n) => {
|
|
292
|
+
let r = [], a = 0, o = 0, u = [];
|
|
293
|
+
e.forEach((e) => {
|
|
294
|
+
u.push({
|
|
295
|
+
_type: F.tablecell,
|
|
296
|
+
text: [],
|
|
297
|
+
options: e.options
|
|
298
|
+
}), e.options.margin && e.options.margin[0] >= 1 ? (e.options?.margin && e.options.margin[0] && U(e.options.margin[0]) > a ? a = U(e.options.margin[0]) : t?.margin && t.margin[0] && U(t.margin[0]) > a && (a = U(t.margin[0])), e.options?.margin && e.options.margin[2] && U(e.options.margin[2]) > o ? o = U(e.options.margin[2]) : t?.margin && t.margin[2] && U(t.margin[2]) > o && (o = U(t.margin[2]))) : (e.options?.margin && e.options.margin[0] && H(e.options.margin[0]) > a ? a = H(e.options.margin[0]) : t?.margin && t.margin[0] && H(t.margin[0]) > a && (a = H(t.margin[0])), e.options?.margin && e.options.margin[2] && H(e.options.margin[2]) > o ? o = H(e.options.margin[2]) : t?.margin && t.margin[2] && H(t.margin[2]) > o && (o = H(t.margin[2])));
|
|
299
|
+
}), v(), c += a + o, t.verbose && n === 0 && console.log(`| SLIDE [${d.length}]: emuSlideTabH ...... = ${(s / i).toFixed(1)} `), e.forEach((e, n) => {
|
|
300
|
+
let i = {
|
|
301
|
+
_type: F.tablecell,
|
|
302
|
+
_lines: null,
|
|
303
|
+
_lineHeight: H((e.options?.fontSize ? e.options.fontSize : t.fontSize ? t.fontSize : g) * (l + (t.autoPageLineWeight ? t.autoPageLineWeight : 0)) / 100),
|
|
304
|
+
text: [],
|
|
305
|
+
options: e.options
|
|
306
|
+
};
|
|
307
|
+
i.options.rowspan && (i._lineHeight = 0), i.options.autoPageCharWeight = t.autoPageCharWeight ? t.autoPageCharWeight : null;
|
|
308
|
+
let a = t.colW[n];
|
|
309
|
+
e.options.colspan && Array.isArray(t.colW) && (a = t.colW.filter((t, r) => r >= n && r < r + e.options.colspan).reduce((e, t) => e + t)), i._lines = ge(e, a), r.push(i);
|
|
310
|
+
}), t.verbose && console.log(`\n| SLIDE [${d.length}]: ROW [${n}]: START...`);
|
|
311
|
+
let f = 0, p = 0, m = !1;
|
|
312
|
+
for (; !m;) {
|
|
313
|
+
let n = r[f], l = u[f];
|
|
314
|
+
r.forEach((e) => {
|
|
315
|
+
e._lineHeight >= p && (p = e._lineHeight);
|
|
316
|
+
}), c + p > s && (t.verbose && (console.log("\n|-----------------------------------------------------------------------|"), console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(c / i).toFixed(2)} + ${(n._lineHeight / i).toFixed(2)} > ${s / i}`), console.log("|-----------------------------------------------------------------------|\n\n")), u.length > 0 && u.map((e) => e.text.length).reduce((e, t) => e + t) > 0 && y.rows.push(u), d.push(y), y = { rows: [] }, u = [], e.forEach((e) => u.push({
|
|
317
|
+
_type: F.tablecell,
|
|
318
|
+
text: [],
|
|
319
|
+
options: e.options
|
|
320
|
+
})), v(), c += a + o, t.verbose && console.log(`| SLIDE [${d.length}]: emuSlideTabH ...... = ${(s / i).toFixed(1)} `), c = 0, (t.addHeaderToEach || t.autoPageRepeatHeader) && t._arrObjTabHeadRows && t._arrObjTabHeadRows.forEach((e) => {
|
|
321
|
+
let t = [], n = 0;
|
|
322
|
+
e.forEach((e) => {
|
|
323
|
+
t.push(e), e._lineHeight > n && (n = e._lineHeight);
|
|
324
|
+
}), y.rows.push(t), c += n;
|
|
325
|
+
}), l = u[f]);
|
|
326
|
+
let h = n._lines.shift();
|
|
327
|
+
Array.isArray(l.text) && (h ? l.text = l.text.concat(h) : l.text.length === 0 && (l.text = l.text.concat({
|
|
328
|
+
_type: F.tablecell,
|
|
329
|
+
text: ""
|
|
330
|
+
}))), f === r.length - 1 && (c += p), f = f < r.length - 1 ? f + 1 : 0, r.map((e) => e._lines.length).reduce((e, t) => e + t) === 0 && (m = !0);
|
|
331
|
+
}
|
|
332
|
+
u.length > 0 && y.rows.push(u), t.verbose && console.log(`- SLIDE [${d.length}]: ROW [${n}]: ...COMPLETE ...... emuTabCurrH = ${(c / i).toFixed(2)} ( emuSlideTabH = ${(s / i).toFixed(2)} )`);
|
|
333
|
+
}), d.push(y), t.verbose && (console.log("\n|================================================|"), console.log(`| FINAL: tableRowSlides.length = ${d.length}`), d.forEach((e) => console.log(e)), console.log("|================================================|\n\n")), d;
|
|
334
|
+
}
|
|
335
|
+
function ve(e, t, n = {}, r) {
|
|
336
|
+
let a = n || {};
|
|
337
|
+
a.slideMargin = a.slideMargin || a.slideMargin === 0 ? a.slideMargin : .5;
|
|
338
|
+
let o = a.w || e.presLayout.width, s = [], c = [], l = [], u = [], d = [], f = [
|
|
339
|
+
.5,
|
|
340
|
+
.5,
|
|
341
|
+
.5,
|
|
342
|
+
.5
|
|
343
|
+
], p = 0;
|
|
344
|
+
if (!document.getElementById(t)) throw Error("tableToSlides: Table ID \"" + t + "\" does not exist!");
|
|
345
|
+
r?._margin ? (Array.isArray(r._margin) ? f = r._margin : isNaN(r._margin) || (f = [
|
|
346
|
+
r._margin,
|
|
347
|
+
r._margin,
|
|
348
|
+
r._margin,
|
|
349
|
+
r._margin
|
|
350
|
+
]), a.slideMargin = f) : a?.slideMargin && (Array.isArray(a.slideMargin) ? f = a.slideMargin : isNaN(a.slideMargin) || (f = [
|
|
351
|
+
a.slideMargin,
|
|
352
|
+
a.slideMargin,
|
|
353
|
+
a.slideMargin,
|
|
354
|
+
a.slideMargin
|
|
355
|
+
])), o = (a.w ? H(a.w) : e.presLayout.width) - H(f[1] + f[3]), a.verbose && (console.log("[[VERBOSE MODE]]"), console.log("|-- `tableToSlides` ----------------------------------------------------|"), console.log(`| tableProps.h .................................... = ${a.h}`), console.log(`| tableProps.w .................................... = ${a.w}`), console.log(`| pptx.presLayout.width ........................... = ${(e.presLayout.width / i).toFixed(1)}`), console.log(`| pptx.presLayout.height .......................... = ${(e.presLayout.height / i).toFixed(1)}`), console.log(`| emuSlideTabW .................................... = ${(o / i).toFixed(1)}`));
|
|
356
|
+
let m = document.querySelectorAll(`#${t} tr:first-child th`);
|
|
357
|
+
m.length === 0 && (m = document.querySelectorAll(`#${t} tr:first-child td`)), m.forEach((e) => {
|
|
358
|
+
let t = e;
|
|
359
|
+
if (t.getAttribute("colspan")) for (let e = 0; e < Number(t.getAttribute("colspan")); e++) d.push(Math.round(t.offsetWidth / Number(t.getAttribute("colspan"))));
|
|
360
|
+
else d.push(t.offsetWidth);
|
|
361
|
+
}), d.forEach((e) => {
|
|
362
|
+
p += e;
|
|
363
|
+
}), d.forEach((e, n) => {
|
|
364
|
+
let r = Number((Number(o) * (e / p * 100) / 100 / i).toFixed(2)), a = 0, s = document.querySelector(`#${t} thead tr:first-child th:nth-child(${n + 1})`);
|
|
365
|
+
s && (a = Number(s.getAttribute("data-pptx-min-width")));
|
|
366
|
+
let c = document.querySelector(`#${t} thead tr:first-child th:nth-child(${n + 1})`);
|
|
367
|
+
c && (a = Number(c.getAttribute("data-pptx-width"))), u.push(a > r ? a : r);
|
|
368
|
+
}), a.verbose && console.log(`| arrColW ......................................... = [${u.join(", ")}]`), [
|
|
369
|
+
"thead",
|
|
370
|
+
"tbody",
|
|
371
|
+
"tfoot"
|
|
372
|
+
].forEach((e) => {
|
|
373
|
+
document.querySelectorAll(`#${t} ${e} tr`).forEach((t) => {
|
|
374
|
+
let n = t, r = [];
|
|
375
|
+
switch (Array.from(n.cells).forEach((e) => {
|
|
376
|
+
let t = window.getComputedStyle(e).getPropertyValue("color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(","), n = window.getComputedStyle(e).getPropertyValue("background-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(",");
|
|
377
|
+
(window.getComputedStyle(e).getPropertyValue("background-color") === "rgba(0, 0, 0, 0)" || window.getComputedStyle(e).getPropertyValue("transparent")) && (n = [
|
|
378
|
+
"255",
|
|
379
|
+
"255",
|
|
380
|
+
"255"
|
|
381
|
+
]);
|
|
382
|
+
let i = {
|
|
383
|
+
align: null,
|
|
384
|
+
bold: window.getComputedStyle(e).getPropertyValue("font-weight") === "bold" || Number(window.getComputedStyle(e).getPropertyValue("font-weight")) >= 500,
|
|
385
|
+
border: null,
|
|
386
|
+
color: pe(Number(t[0]), Number(t[1]), Number(t[2])),
|
|
387
|
+
fill: { color: pe(Number(n[0]), Number(n[1]), Number(n[2])) },
|
|
388
|
+
fontFace: (window.getComputedStyle(e).getPropertyValue("font-family") || "").split(",")[0].replace(/"/g, "").replace("inherit", "").replace("initial", "") || null,
|
|
389
|
+
fontSize: Number(window.getComputedStyle(e).getPropertyValue("font-size").replace(/[a-z]/gi, "")),
|
|
390
|
+
margin: null,
|
|
391
|
+
colspan: Number(e.getAttribute("colspan")) || null,
|
|
392
|
+
rowspan: Number(e.getAttribute("rowspan")) || null,
|
|
393
|
+
valign: null
|
|
394
|
+
};
|
|
395
|
+
if ([
|
|
396
|
+
"left",
|
|
397
|
+
"center",
|
|
398
|
+
"right",
|
|
399
|
+
"start",
|
|
400
|
+
"end"
|
|
401
|
+
].includes(window.getComputedStyle(e).getPropertyValue("text-align"))) {
|
|
402
|
+
let t = window.getComputedStyle(e).getPropertyValue("text-align").replace("start", "left").replace("end", "right");
|
|
403
|
+
i.align = t === "center" ? "center" : t === "left" ? "left" : t === "right" ? "right" : null;
|
|
404
|
+
}
|
|
405
|
+
if ([
|
|
406
|
+
"top",
|
|
407
|
+
"middle",
|
|
408
|
+
"bottom"
|
|
409
|
+
].includes(window.getComputedStyle(e).getPropertyValue("vertical-align"))) {
|
|
410
|
+
let t = window.getComputedStyle(e).getPropertyValue("vertical-align");
|
|
411
|
+
i.valign = t === "top" ? "top" : t === "middle" ? "middle" : t === "bottom" ? "bottom" : null;
|
|
412
|
+
}
|
|
413
|
+
window.getComputedStyle(e).getPropertyValue("padding-left") && (i.margin = [
|
|
414
|
+
0,
|
|
415
|
+
0,
|
|
416
|
+
0,
|
|
417
|
+
0
|
|
418
|
+
], [
|
|
419
|
+
"padding-top",
|
|
420
|
+
"padding-right",
|
|
421
|
+
"padding-bottom",
|
|
422
|
+
"padding-left"
|
|
423
|
+
].forEach((t, n) => {
|
|
424
|
+
i.margin[n] = Math.round(Number(window.getComputedStyle(e).getPropertyValue(t).replace(/\D/gi, "")));
|
|
425
|
+
})), (window.getComputedStyle(e).getPropertyValue("border-top-width") || window.getComputedStyle(e).getPropertyValue("border-right-width") || window.getComputedStyle(e).getPropertyValue("border-bottom-width") || window.getComputedStyle(e).getPropertyValue("border-left-width")) && (i.border = [
|
|
426
|
+
null,
|
|
427
|
+
null,
|
|
428
|
+
null,
|
|
429
|
+
null
|
|
430
|
+
], [
|
|
431
|
+
"top",
|
|
432
|
+
"right",
|
|
433
|
+
"bottom",
|
|
434
|
+
"left"
|
|
435
|
+
].forEach((t, n) => {
|
|
436
|
+
let r = Math.round(Number(window.getComputedStyle(e).getPropertyValue("border-" + t + "-width").replace("px", ""))), a = [];
|
|
437
|
+
a = window.getComputedStyle(e).getPropertyValue("border-" + t + "-color").replace(/\s+/gi, "").replace("rgba(", "").replace("rgb(", "").replace(")", "").split(",");
|
|
438
|
+
let o = pe(Number(a[0]), Number(a[1]), Number(a[2]));
|
|
439
|
+
i.border[n] = {
|
|
440
|
+
pt: r,
|
|
441
|
+
color: o
|
|
442
|
+
};
|
|
443
|
+
})), r.push({
|
|
444
|
+
_type: F.tablecell,
|
|
445
|
+
text: e.innerText,
|
|
446
|
+
options: i
|
|
447
|
+
});
|
|
448
|
+
}), e) {
|
|
449
|
+
case "thead":
|
|
450
|
+
s.push(r);
|
|
451
|
+
break;
|
|
452
|
+
case "tbody":
|
|
453
|
+
c.push(r);
|
|
454
|
+
break;
|
|
455
|
+
case "tfoot":
|
|
456
|
+
l.push(r);
|
|
457
|
+
break;
|
|
458
|
+
default:
|
|
459
|
+
console.log(`table parsing: unexpected table part: ${e}`);
|
|
460
|
+
break;
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
}), a._arrObjTabHeadRows = s || null, a.colW = u, _e([
|
|
464
|
+
...s,
|
|
465
|
+
...c,
|
|
466
|
+
...l
|
|
467
|
+
], a, e.presLayout, r).forEach((t, n) => {
|
|
468
|
+
let r = e.addSlide({ masterName: a.masterSlideName || null });
|
|
469
|
+
n === 0 && (a.y = a.y || f[0]), n > 0 && (a.y = a.autoPageSlideStartY || a.newSlideStartY || f[0]), a.verbose && console.log(`| opts.autoPageSlideStartY: ${a.autoPageSlideStartY} / arrInchMargins[0]: ${f[0]} => opts.y = ${a.y}`), r.addTable(t.rows, {
|
|
470
|
+
x: a.x || f[3],
|
|
471
|
+
y: a.y,
|
|
472
|
+
w: Number(o) / i,
|
|
473
|
+
colW: u,
|
|
474
|
+
autoPage: !1
|
|
475
|
+
}), a.addImage && (a.addImage.options = a.addImage.options || {}, !a.addImage.image || !a.addImage.image.path && !a.addImage.image.data ? console.warn("Warning: tableToSlides.addImage requires either `path` or `data`") : r.addImage({
|
|
476
|
+
path: a.addImage.image.path,
|
|
477
|
+
data: a.addImage.image.data,
|
|
478
|
+
x: a.addImage.options.x,
|
|
479
|
+
y: a.addImage.options.y,
|
|
480
|
+
w: a.addImage.options.w,
|
|
481
|
+
h: a.addImage.options.h
|
|
482
|
+
})), a.addShape && r.addShape(a.addShape.shapeName, a.addShape.options || {}), a.addTable && r.addTable(a.addTable.rows, a.addTable.options || {}), a.addText && r.addText(a.addText.text, a.addText.options || {});
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
var ye = 0;
|
|
486
|
+
function be(e, t) {
|
|
487
|
+
e.bkgd && (t.bkgd = e.bkgd), e.objects && Array.isArray(e.objects) && e.objects.length > 0 && e.objects.forEach((e, n) => {
|
|
488
|
+
let r = Object.keys(e)[0], i = t;
|
|
489
|
+
P[r] && r === "chart" ? xe(i, e[r].type, e[r].data, e[r].opts) : P[r] && r === "image" ? Se(i, e[r]) : P[r] && r === "line" ? Te(i, M.LINE, e[r]) : P[r] && r === "rect" ? Te(i, M.RECTANGLE, e[r]) : P[r] && r === "text" ? J(i, [{ text: e[r].text }], e[r].options, !1) : P[r] && r === "placeholder" && (e[r].options.placeholder = e[r].options.name, delete e[r].options.name, e[r].options._placeholderType = e[r].options.type, delete e[r].options.type, e[r].options._placeholderIdx = 100 + n, J(i, [{ text: e[r].text }], e[r].options, !0));
|
|
490
|
+
}), e.slideNumber && typeof e.slideNumber == "object" && (t._slideNumberProps = e.slideNumber);
|
|
491
|
+
}
|
|
492
|
+
function xe(e, t, n, r) {
|
|
493
|
+
function i(e) {
|
|
494
|
+
!e || e.style === "none" || (e.size !== void 0 && (isNaN(Number(e.size)) || e.size <= 0) && (console.warn("Warning: chart.gridLine.size must be greater than 0."), delete e.size), e.style && ![
|
|
495
|
+
"solid",
|
|
496
|
+
"dash",
|
|
497
|
+
"dot"
|
|
498
|
+
].includes(e.style) && (console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."), delete e.style), e.cap && ![
|
|
499
|
+
"flat",
|
|
500
|
+
"square",
|
|
501
|
+
"round"
|
|
502
|
+
].includes(e.cap) && (console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."), delete e.cap));
|
|
503
|
+
}
|
|
504
|
+
let a = ++ye, o = {
|
|
505
|
+
_type: null,
|
|
506
|
+
text: null,
|
|
507
|
+
options: null,
|
|
508
|
+
chartRid: null
|
|
509
|
+
}, s = null, c = [];
|
|
510
|
+
Array.isArray(t) ? (t.forEach((e) => {
|
|
511
|
+
c = c.concat(e.data);
|
|
512
|
+
}), s = n || r) : (c = n, s = r), c.forEach((e, t) => {
|
|
513
|
+
e._dataIndex = t, e.labels !== void 0 && !Array.isArray(e.labels[0]) && (e.labels = [e.labels]);
|
|
514
|
+
});
|
|
515
|
+
let l = s && typeof s == "object" ? s : {};
|
|
516
|
+
if (l._type = t, l.x = l.x !== void 0 && l.x != null && !isNaN(Number(l.x)) ? l.x : 1, l.y = l.y !== void 0 && l.y != null && !isNaN(Number(l.y)) ? l.y : 1, l.w = l.w || "50%", l.h = l.h || "50%", l.objectName = l.objectName ? V(l.objectName) : `Chart ${e._slideObjects.filter((e) => e._type === F.chart).length}`, ["bar", "col"].includes(l.barDir || "") || (l.barDir = "col"), l._type === N.AREA && ([
|
|
517
|
+
"stacked",
|
|
518
|
+
"standard",
|
|
519
|
+
"percentStacked"
|
|
520
|
+
].includes(l.barGrouping || "") || (l.barGrouping = "standard")), l._type === N.BAR && ([
|
|
521
|
+
"clustered",
|
|
522
|
+
"stacked",
|
|
523
|
+
"percentStacked"
|
|
524
|
+
].includes(l.barGrouping || "") || (l.barGrouping = "clustered")), l._type === N.BAR3D && ([
|
|
525
|
+
"clustered",
|
|
526
|
+
"stacked",
|
|
527
|
+
"standard",
|
|
528
|
+
"percentStacked"
|
|
529
|
+
].includes(l.barGrouping || "") || (l.barGrouping = "standard")), l.barGrouping?.includes("tacked") && (l.barGapWidthPct ||= 50), l.dataLabelPosition && ((l._type === N.AREA || l._type === N.BAR3D || l._type === N.DOUGHNUT || l._type === N.RADAR) && delete l.dataLabelPosition, l._type === N.PIE && ([
|
|
530
|
+
"bestFit",
|
|
531
|
+
"ctr",
|
|
532
|
+
"inEnd",
|
|
533
|
+
"outEnd"
|
|
534
|
+
].includes(l.dataLabelPosition) || delete l.dataLabelPosition), (l._type === N.BUBBLE || l._type === N.BUBBLE3D || l._type === N.LINE || l._type === N.SCATTER) && ([
|
|
535
|
+
"b",
|
|
536
|
+
"ctr",
|
|
537
|
+
"l",
|
|
538
|
+
"r",
|
|
539
|
+
"t"
|
|
540
|
+
].includes(l.dataLabelPosition) || delete l.dataLabelPosition), l._type === N.BAR && (["stacked", "percentStacked"].includes(l.barGrouping || "") || [
|
|
541
|
+
"ctr",
|
|
542
|
+
"inBase",
|
|
543
|
+
"inEnd"
|
|
544
|
+
].includes(l.dataLabelPosition) || delete l.dataLabelPosition, ["clustered"].includes(l.barGrouping || "") || [
|
|
545
|
+
"ctr",
|
|
546
|
+
"inBase",
|
|
547
|
+
"inEnd",
|
|
548
|
+
"outEnd"
|
|
549
|
+
].includes(l.dataLabelPosition) || delete l.dataLabelPosition)), l.dataLabelBkgrdColors = l.dataLabelBkgrdColors || !l.dataLabelBkgrdColors ? l.dataLabelBkgrdColors : !1, [
|
|
550
|
+
"b",
|
|
551
|
+
"l",
|
|
552
|
+
"r",
|
|
553
|
+
"t",
|
|
554
|
+
"tr"
|
|
555
|
+
].includes(l.legendPos || "") || (l.legendPos = "r"), [
|
|
556
|
+
"cone",
|
|
557
|
+
"coneToMax",
|
|
558
|
+
"box",
|
|
559
|
+
"cylinder",
|
|
560
|
+
"pyramid",
|
|
561
|
+
"pyramidToMax"
|
|
562
|
+
].includes(l.bar3DShape || "") || (l.bar3DShape = "box"), [
|
|
563
|
+
"circle",
|
|
564
|
+
"dash",
|
|
565
|
+
"diamond",
|
|
566
|
+
"dot",
|
|
567
|
+
"none",
|
|
568
|
+
"square",
|
|
569
|
+
"triangle"
|
|
570
|
+
].includes(l.lineDataSymbol || "") || (l.lineDataSymbol = "circle"), ["gap", "span"].includes(l.displayBlanksAs || "") || (l.displayBlanksAs = "span"), [
|
|
571
|
+
"standard",
|
|
572
|
+
"marker",
|
|
573
|
+
"filled"
|
|
574
|
+
].includes(l.radarStyle || "") || (l.radarStyle = "standard"), l.lineDataSymbolSize = l.lineDataSymbolSize && !isNaN(l.lineDataSymbolSize) ? l.lineDataSymbolSize : 6, l.lineDataSymbolLineSize = l.lineDataSymbolLineSize && !isNaN(l.lineDataSymbolLineSize) ? U(l.lineDataSymbolLineSize) : U(.75), l.layout && [
|
|
575
|
+
"x",
|
|
576
|
+
"y",
|
|
577
|
+
"w",
|
|
578
|
+
"h"
|
|
579
|
+
].forEach((e) => {
|
|
580
|
+
let t = l.layout[e];
|
|
581
|
+
(isNaN(Number(t)) || t < 0 || t > 1) && (console.warn("Warning: chart.layout." + e + " can only be 0-1"), delete l.layout[e]);
|
|
582
|
+
}), l.catGridLine = l.catGridLine || (l._type === N.SCATTER ? {
|
|
583
|
+
color: "D9D9D9",
|
|
584
|
+
size: 1
|
|
585
|
+
} : { style: "none" }), l.valGridLine = l.valGridLine || (l._type === N.SCATTER ? {
|
|
586
|
+
color: "D9D9D9",
|
|
587
|
+
size: 1
|
|
588
|
+
} : {}), l.serGridLine = l.serGridLine || (l._type === N.SCATTER ? {
|
|
589
|
+
color: "D9D9D9",
|
|
590
|
+
size: 1
|
|
591
|
+
} : { style: "none" }), i(l.catGridLine), i(l.valGridLine), i(l.serGridLine), he(l.shadow), l.showDataTable = l.showDataTable || !l.showDataTable ? l.showDataTable : !1, l.showDataTableHorzBorder = l.showDataTableHorzBorder || !l.showDataTableHorzBorder ? l.showDataTableHorzBorder : !0, l.showDataTableVertBorder = l.showDataTableVertBorder || !l.showDataTableVertBorder ? l.showDataTableVertBorder : !0, l.showDataTableOutline = l.showDataTableOutline || !l.showDataTableOutline ? l.showDataTableOutline : !0, l.showDataTableKeys = l.showDataTableKeys || !l.showDataTableKeys ? l.showDataTableKeys : !0, l.showLabel = l.showLabel || !l.showLabel ? l.showLabel : !1, l.showLegend = l.showLegend || !l.showLegend ? l.showLegend : !1, l.showPercent = l.showPercent || !l.showPercent ? l.showPercent : !0, l.showTitle = l.showTitle || !l.showTitle ? l.showTitle : !1, l.showValue = l.showValue || !l.showValue ? l.showValue : !1, l.showLeaderLines = l.showLeaderLines || !l.showLeaderLines ? l.showLeaderLines : !1, l.catAxisLineShow = l.catAxisLineShow === void 0 ? !0 : l.catAxisLineShow, l.valAxisLineShow = l.valAxisLineShow === void 0 ? !0 : l.valAxisLineShow, l.serAxisLineShow = l.serAxisLineShow === void 0 ? !0 : l.serAxisLineShow, l.v3DRotX = !isNaN(l.v3DRotX) && l.v3DRotX >= -90 && l.v3DRotX <= 90 ? l.v3DRotX : 30, l.v3DRotY = !isNaN(l.v3DRotY) && l.v3DRotY >= 0 && l.v3DRotY <= 360 ? l.v3DRotY : 30, l.v3DRAngAx = l.v3DRAngAx || !l.v3DRAngAx ? l.v3DRAngAx : !0, l.v3DPerspective = !isNaN(l.v3DPerspective) && l.v3DPerspective >= 0 && l.v3DPerspective <= 240 ? l.v3DPerspective : 30, l.barGapWidthPct = !isNaN(l.barGapWidthPct) && l.barGapWidthPct >= 0 && l.barGapWidthPct <= 1e3 ? l.barGapWidthPct : 150, l.barGapDepthPct = !isNaN(l.barGapDepthPct) && l.barGapDepthPct >= 0 && l.barGapDepthPct <= 1e3 ? l.barGapDepthPct : 150, l.chartColors = Array.isArray(l.chartColors) ? l.chartColors : l._type === N.PIE || l._type === N.DOUGHNUT ? re : O, l.chartColorsOpacity = l.chartColorsOpacity && !isNaN(l.chartColorsOpacity) ? l.chartColorsOpacity : null, l.border = l.border && typeof l.border == "object" ? l.border : null, l.border && (!l.border.pt || isNaN(l.border.pt)) && (l.border.pt = p.pt), l.border && (!l.border.color || typeof l.border.color != "string") && (l.border.color = p.color), l.plotArea = l.plotArea || {}, l.plotArea.border = l.plotArea.border && typeof l.plotArea.border == "object" ? l.plotArea.border : null, l.plotArea.border && (!l.plotArea.border.pt || isNaN(l.plotArea.border.pt)) && (l.plotArea.border.pt = p.pt), l.plotArea.border && (!l.plotArea.border.color || typeof l.plotArea.border.color != "string") && (l.plotArea.border.color = p.color), l.border && (l.plotArea.border = l.border), l.plotArea.fill = l.plotArea.fill || {
|
|
592
|
+
color: null,
|
|
593
|
+
transparency: null
|
|
594
|
+
}, l.fill && (l.plotArea.fill.color = l.fill), l.chartArea = l.chartArea || {}, l.chartArea.border = l.chartArea.border && typeof l.chartArea.border == "object" ? l.chartArea.border : null, l.chartArea.border && (l.chartArea.border = {
|
|
595
|
+
color: l.chartArea.border.color || p.color,
|
|
596
|
+
pt: l.chartArea.border.pt || p.pt
|
|
597
|
+
}), l.chartArea.roundedCorners = typeof l.chartArea.roundedCorners == "boolean" ? l.chartArea.roundedCorners : !0, l.dataBorder = l.dataBorder && typeof l.dataBorder == "object" ? l.dataBorder : null, l.dataBorder && (!l.dataBorder.pt || isNaN(l.dataBorder.pt)) && (l.dataBorder.pt = .75), l.dataBorder && l.dataBorder.color) {
|
|
598
|
+
let e = typeof l.dataBorder.color == "string" && l.dataBorder.color.length === 6 && /^[0-9A-Fa-f]{6}$/.test(l.dataBorder.color), t = Object.values(ue).includes(l.dataBorder.color);
|
|
599
|
+
!e && !t && (l.dataBorder.color = "F9F9F9");
|
|
600
|
+
}
|
|
601
|
+
return !l.dataLabelFormatCode && l._type === N.SCATTER && (l.dataLabelFormatCode = "General"), !l.dataLabelFormatCode && (l._type === N.PIE || l._type === N.DOUGHNUT) && (l.dataLabelFormatCode = l.showPercent ? "0%" : "General"), l.dataLabelFormatCode = l.dataLabelFormatCode && typeof l.dataLabelFormatCode == "string" ? l.dataLabelFormatCode : "#,##0", !l.dataLabelFormatScatter && l._type === N.SCATTER && (l.dataLabelFormatScatter = "custom"), l.lineSize = typeof l.lineSize == "number" ? l.lineSize : 2, l.valAxisMajorUnit = typeof l.valAxisMajorUnit == "number" ? l.valAxisMajorUnit : null, l._type === N.AREA || l._type === N.BAR || l._type === N.BAR3D || l._type === N.LINE ? l.catAxisMultiLevelLabels = !!l.catAxisMultiLevelLabels : delete l.catAxisMultiLevelLabels, o._type = "chart", o.options = l, o.chartRid = q(e), e._relsChart.push({
|
|
602
|
+
rId: q(e),
|
|
603
|
+
data: c,
|
|
604
|
+
opts: l,
|
|
605
|
+
type: l._type,
|
|
606
|
+
globalId: a,
|
|
607
|
+
fileName: `chart${a}.xml`,
|
|
608
|
+
Target: `/ppt/charts/chart${a}.xml`
|
|
609
|
+
}), e._slideObjects.push(o), o;
|
|
610
|
+
}
|
|
611
|
+
function Se(e, t) {
|
|
612
|
+
let n = {
|
|
613
|
+
_type: null,
|
|
614
|
+
text: null,
|
|
615
|
+
options: null,
|
|
616
|
+
image: null,
|
|
617
|
+
imageRid: null,
|
|
618
|
+
hyperlink: null
|
|
619
|
+
}, r = t.x || 0, i = t.y || 0, a = t.w || 0, o = t.h || 0, s = t.sizing || null, c = t.hyperlink || "", l = t.data || "", u = t.path || "", d = q(e), f = t.objectName ? V(t.objectName) : `Image ${e._slideObjects.filter((e) => e._type === F.image).length}`;
|
|
620
|
+
if (!u && !l) return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"), null;
|
|
621
|
+
if (u && typeof u != "string") return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(u)}`), null;
|
|
622
|
+
if (l && typeof l != "string") return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(l)}`), null;
|
|
623
|
+
if (l && typeof l == "string" && !l.toLowerCase().includes("base64,")) return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"), null;
|
|
624
|
+
let p = (u.substring(u.lastIndexOf("/") + 1).split("?")[0].split(".").pop().split("#")[0] || "png").toLowerCase();
|
|
625
|
+
if (l && /image\/(\w+);/.exec(l) && /image\/(\w+);/.exec(l).length > 0 ? p = /image\/(\w+);/.exec(l)[1] : l?.toLowerCase().includes("image/svg+xml") && (p = "svg"), n._type = F.image, n.image = u || "preencoded.png", n.options = {
|
|
626
|
+
x: r || 0,
|
|
627
|
+
y: i || 0,
|
|
628
|
+
w: a || 1,
|
|
629
|
+
h: o || 1,
|
|
630
|
+
altText: t.altText || "",
|
|
631
|
+
rounding: typeof t.rounding == "boolean" ? t.rounding : !1,
|
|
632
|
+
sizing: s,
|
|
633
|
+
placeholder: t.placeholder,
|
|
634
|
+
rotate: t.rotate || 0,
|
|
635
|
+
flipV: t.flipV || !1,
|
|
636
|
+
flipH: t.flipH || !1,
|
|
637
|
+
transparency: t.transparency || 0,
|
|
638
|
+
objectName: f,
|
|
639
|
+
shadow: he(t.shadow)
|
|
640
|
+
}, p === "svg") e._relsMedia.push({
|
|
641
|
+
path: u || l + "png",
|
|
642
|
+
type: "image/png",
|
|
643
|
+
extn: "png",
|
|
644
|
+
data: l || "",
|
|
645
|
+
rId: d,
|
|
646
|
+
Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`,
|
|
647
|
+
isSvgPng: !0,
|
|
648
|
+
svgSize: {
|
|
649
|
+
w: z(n.options.w, "X", e._presLayout),
|
|
650
|
+
h: z(n.options.h, "Y", e._presLayout)
|
|
651
|
+
}
|
|
652
|
+
}), n.imageRid = d, e._relsMedia.push({
|
|
653
|
+
path: u || l,
|
|
654
|
+
type: "image/svg+xml",
|
|
655
|
+
extn: p,
|
|
656
|
+
data: l || "",
|
|
657
|
+
rId: d + 1,
|
|
658
|
+
Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.${p}`
|
|
659
|
+
}), n.imageRid = d + 1;
|
|
660
|
+
else {
|
|
661
|
+
let t = e._relsMedia.filter((e) => e.path && e.path === u && e.type === "image/" + p && !e.isDuplicate)[0];
|
|
662
|
+
e._relsMedia.push({
|
|
663
|
+
path: u || "preencoded." + p,
|
|
664
|
+
type: "image/" + p,
|
|
665
|
+
extn: p,
|
|
666
|
+
data: l || "",
|
|
667
|
+
rId: d,
|
|
668
|
+
isDuplicate: !!t?.Target,
|
|
669
|
+
Target: t?.Target ? t.Target : `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.${p}`
|
|
670
|
+
}), n.imageRid = d;
|
|
671
|
+
}
|
|
672
|
+
if (typeof c == "object") {
|
|
673
|
+
if (!c.url && !c.slide) throw Error("ERROR: `hyperlink` option requires either: `url` or `slide`");
|
|
674
|
+
d++, e._rels.push({
|
|
675
|
+
type: F.hyperlink,
|
|
676
|
+
data: c.slide ? "slide" : "dummy",
|
|
677
|
+
rId: d,
|
|
678
|
+
Target: c.url || c.slide.toString()
|
|
679
|
+
}), c._rId = d, n.hyperlink = c;
|
|
680
|
+
}
|
|
681
|
+
e._slideObjects.push(n);
|
|
682
|
+
}
|
|
683
|
+
function Ce(e, t) {
|
|
684
|
+
let n = t.x || 0, r = t.y || 0, i = t.w || 2, a = t.h || 2, o = t.data || "", s = t.link || "", c = t.path || "", l = t.type || "audio", u = "", d = t.cover || de, f = t.objectName ? V(t.objectName) : `Media ${e._slideObjects.filter((e) => e._type === F.media).length}`, p = { _type: F.media };
|
|
685
|
+
if (!c && !o && l !== "online") throw Error("addMedia() error: either `data` or `path` are required!");
|
|
686
|
+
if (o && !o.toLowerCase().includes("base64,")) throw Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");
|
|
687
|
+
if (!d.toLowerCase().includes("base64,")) throw Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");
|
|
688
|
+
if (l === "online" && !s) throw Error("addMedia() error: online videos require `link` value");
|
|
689
|
+
if (u = t.extn || (o ? o.split(";")[0].split("/")[1] : c.split(".").pop()) || "mp3", p.mtype = l, p.media = c || "preencoded.mov", p.options = {}, p.options.x = n, p.options.y = r, p.options.w = i, p.options.h = a, p.options.objectName = f, l === "online") {
|
|
690
|
+
let t = q(e);
|
|
691
|
+
e._relsMedia.push({
|
|
692
|
+
path: c || "preencoded" + u,
|
|
693
|
+
data: "dummy",
|
|
694
|
+
type: "online",
|
|
695
|
+
extn: u,
|
|
696
|
+
rId: t,
|
|
697
|
+
Target: s
|
|
698
|
+
}), p.mediaRid = t, e._relsMedia.push({
|
|
699
|
+
path: "preencoded.png",
|
|
700
|
+
data: d,
|
|
701
|
+
type: "image/png",
|
|
702
|
+
extn: "png",
|
|
703
|
+
rId: q(e),
|
|
704
|
+
Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`
|
|
705
|
+
});
|
|
706
|
+
} else {
|
|
707
|
+
let t = e._relsMedia.filter((e) => e.path && e.path === c && e.type === l + "/" + u && !e.isDuplicate)[0], n = q(e);
|
|
708
|
+
e._relsMedia.push({
|
|
709
|
+
path: c || "preencoded" + u,
|
|
710
|
+
type: l + "/" + u,
|
|
711
|
+
extn: u,
|
|
712
|
+
data: o || "",
|
|
713
|
+
rId: n,
|
|
714
|
+
isDuplicate: !!t?.Target,
|
|
715
|
+
Target: t?.Target ? t.Target : `../media/media-${e._slideNum}-${e._relsMedia.length + 1}.${u}`
|
|
716
|
+
}), p.mediaRid = n, e._relsMedia.push({
|
|
717
|
+
path: c || "preencoded" + u,
|
|
718
|
+
type: l + "/" + u,
|
|
719
|
+
extn: u,
|
|
720
|
+
data: o || "",
|
|
721
|
+
rId: q(e),
|
|
722
|
+
isDuplicate: !!t?.Target,
|
|
723
|
+
Target: t?.Target ? t.Target : `../media/media-${e._slideNum}-${e._relsMedia.length + 0}.${u}`
|
|
724
|
+
}), e._relsMedia.push({
|
|
725
|
+
path: "preencoded.png",
|
|
726
|
+
type: "image/png",
|
|
727
|
+
extn: "png",
|
|
728
|
+
data: d,
|
|
729
|
+
rId: q(e),
|
|
730
|
+
Target: `../media/image-${e._slideNum}-${e._relsMedia.length + 1}.png`
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
e._slideObjects.push(p);
|
|
734
|
+
}
|
|
735
|
+
function we(e, t) {
|
|
736
|
+
e._slideObjects.push({
|
|
737
|
+
_type: F.notes,
|
|
738
|
+
text: [{ text: t }]
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
function Te(e, t, n) {
|
|
742
|
+
let r = typeof n == "object" ? n : {};
|
|
743
|
+
r.line = r.line || { type: "none" };
|
|
744
|
+
let i = {
|
|
745
|
+
_type: F.text,
|
|
746
|
+
shape: t || M.RECTANGLE,
|
|
747
|
+
options: r,
|
|
748
|
+
text: null
|
|
749
|
+
};
|
|
750
|
+
if (!t) throw Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");
|
|
751
|
+
let a = {
|
|
752
|
+
type: r.line.type || "solid",
|
|
753
|
+
color: r.line.color || b,
|
|
754
|
+
transparency: r.line.transparency || 0,
|
|
755
|
+
width: r.line.width || 1,
|
|
756
|
+
dashType: r.line.dashType || "solid",
|
|
757
|
+
beginArrowType: r.line.beginArrowType || null,
|
|
758
|
+
endArrowType: r.line.endArrowType || null
|
|
759
|
+
};
|
|
760
|
+
if (typeof r.line == "object" && r.line.type !== "none" && (r.line = a), r.x = r.x || (r.x === 0 ? 0 : 1), r.y = r.y || (r.y === 0 ? 0 : 1), r.w = r.w || (r.w === 0 ? 0 : 1), r.h = r.h || (r.h === 0 ? 0 : 1), r.objectName = r.objectName ? V(r.objectName) : `Shape ${e._slideObjects.filter((e) => e._type === F.text).length}`, typeof r.line == "string") {
|
|
761
|
+
let e = a;
|
|
762
|
+
e.color = String(r.line), r.line = e;
|
|
763
|
+
}
|
|
764
|
+
typeof r.lineSize == "number" && (r.line.width = r.lineSize), typeof r.lineDash == "string" && (r.line.dashType = r.lineDash), typeof r.lineHead == "string" && (r.line.beginArrowType = r.lineHead), typeof r.lineTail == "string" && (r.line.endArrowType = r.lineTail), Y(e, i), e._slideObjects.push(i);
|
|
765
|
+
}
|
|
766
|
+
function Ee(e, t, n, r, a, o, s) {
|
|
767
|
+
let c = [e], l = n && typeof n == "object" ? n : {};
|
|
768
|
+
if (l.objectName = l.objectName ? V(l.objectName) : `Table ${e._slideObjects.filter((e) => e._type === F.table).length}`, t === null || t.length === 0 || !Array.isArray(t)) throw Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");
|
|
769
|
+
if (!t[0] || !Array.isArray(t[0])) throw Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");
|
|
770
|
+
let u = [];
|
|
771
|
+
t.forEach((e) => {
|
|
772
|
+
let t = [];
|
|
773
|
+
Array.isArray(e) ? e.forEach((e) => {
|
|
774
|
+
let n = {
|
|
775
|
+
_type: F.tablecell,
|
|
776
|
+
text: "",
|
|
777
|
+
options: typeof e == "object" && e.options ? e.options : {}
|
|
778
|
+
};
|
|
779
|
+
typeof e == "string" || typeof e == "number" ? n.text = e.toString() : e.text && (typeof e.text == "string" || typeof e.text == "number" ? n.text = e.text.toString() : e.text && (n.text = e.text), e.options && typeof e.options == "object" && (n.options = e.options)), n.options.border = n.options.border || l.border || [
|
|
780
|
+
{ type: "none" },
|
|
781
|
+
{ type: "none" },
|
|
782
|
+
{ type: "none" },
|
|
783
|
+
{ type: "none" }
|
|
784
|
+
];
|
|
785
|
+
let r = n.options.border;
|
|
786
|
+
!Array.isArray(r) && typeof r == "object" && (n.options.border = [
|
|
787
|
+
r,
|
|
788
|
+
r,
|
|
789
|
+
r,
|
|
790
|
+
r
|
|
791
|
+
]), n.options.border[0] || (n.options.border[0] = { type: "none" }), n.options.border[1] || (n.options.border[1] = { type: "none" }), n.options.border[2] || (n.options.border[2] = { type: "none" }), n.options.border[3] || (n.options.border[3] = { type: "none" }), [
|
|
792
|
+
0,
|
|
793
|
+
1,
|
|
794
|
+
2,
|
|
795
|
+
3
|
|
796
|
+
].forEach((e) => {
|
|
797
|
+
n.options.border[e] = {
|
|
798
|
+
type: n.options.border[e].type || d.type,
|
|
799
|
+
color: n.options.border[e].color || d.color,
|
|
800
|
+
pt: typeof n.options.border[e].pt == "number" ? n.options.border[e].pt : d.pt
|
|
801
|
+
};
|
|
802
|
+
}), t.push(n);
|
|
803
|
+
}) : (console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"), console.log(e)), u.push(t);
|
|
804
|
+
}), l.x = z(l.x || (l.x === 0 ? 0 : i / 2), "X", a), l.y = z(l.y || (l.y === 0 ? 0 : i / 2), "Y", a), l.h &&= z(l.h, "Y", a), l.fontSize = l.fontSize || g, l.margin = l.margin === 0 || l.margin ? l.margin : f, typeof l.margin == "number" && (l.margin = [
|
|
805
|
+
Number(l.margin),
|
|
806
|
+
Number(l.margin),
|
|
807
|
+
Number(l.margin),
|
|
808
|
+
Number(l.margin)
|
|
809
|
+
]), JSON.stringify({ arrRows: u }).indexOf("hyperlink") === -1 && (l.color ||= l.color || h), typeof l.border == "string" ? (console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"), l.border = null) : Array.isArray(l.border) && [
|
|
810
|
+
0,
|
|
811
|
+
1,
|
|
812
|
+
2,
|
|
813
|
+
3
|
|
814
|
+
].forEach((e) => {
|
|
815
|
+
l.border[e] = l.border[e] ? {
|
|
816
|
+
type: l.border[e].type || d.type,
|
|
817
|
+
color: l.border[e].color || d.color,
|
|
818
|
+
pt: l.border[e].pt || d.pt
|
|
819
|
+
} : { type: "none" };
|
|
820
|
+
}), l.autoPage = typeof l.autoPage == "boolean" ? l.autoPage : !1, l.autoPageRepeatHeader = typeof l.autoPageRepeatHeader == "boolean" ? l.autoPageRepeatHeader : !1, l.autoPageHeaderRows = l.autoPageHeaderRows !== void 0 && !isNaN(Number(l.autoPageHeaderRows)) ? Number(l.autoPageHeaderRows) : 1, l.autoPageLineWeight = l.autoPageLineWeight !== void 0 && !isNaN(Number(l.autoPageLineWeight)) ? Number(l.autoPageLineWeight) : 0, l.autoPageLineWeight && (l.autoPageLineWeight > 1 ? l.autoPageLineWeight = 1 : l.autoPageLineWeight < -1 && (l.autoPageLineWeight = -1));
|
|
821
|
+
let p = S;
|
|
822
|
+
if (r && r._margin !== void 0 && (Array.isArray(r._margin) ? p = r._margin : isNaN(Number(r._margin)) || (p = [
|
|
823
|
+
Number(r._margin),
|
|
824
|
+
Number(r._margin),
|
|
825
|
+
Number(r._margin),
|
|
826
|
+
Number(r._margin)
|
|
827
|
+
])), l.colW) {
|
|
828
|
+
let e = u[0].reduce((e, t) => (t?.options?.colspan && typeof t.options.colspan == "number" ? e += t.options.colspan : e += 1, e), 0);
|
|
829
|
+
typeof l.colW == "string" || typeof l.colW == "number" || l.colW && Array.isArray(l.colW) && l.colW.length === 1 && e > 1 ? (l.w = Math.floor(Number(l.colW) * e), l.colW = null) : l.colW && Array.isArray(l.colW) && l.colW.length !== e && (console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."), l.colW = null);
|
|
830
|
+
} else l.w ? l.w = z(l.w, "X", a) : l.w = Math.floor(a._sizeW / i - p[1] - p[3]);
|
|
831
|
+
l.x && l.x < 20 && (l.x = H(l.x)), l.y && l.y < 20 && (l.y = H(l.y)), l.w && typeof l.w == "number" && l.w < 20 && (l.w = H(l.w)), l.h && typeof l.h == "number" && l.h < 20 && (l.h = H(l.h)), u.forEach((e) => {
|
|
832
|
+
e.forEach((t, n) => {
|
|
833
|
+
typeof t == "number" || typeof t == "string" ? e[n] = {
|
|
834
|
+
_type: F.tablecell,
|
|
835
|
+
text: String(e[n]),
|
|
836
|
+
options: l
|
|
837
|
+
} : typeof t == "object" && (typeof t.text == "number" ? e[n].text = e[n].text.toString() : (t.text === void 0 || t.text === null) && (e[n].text = ""), e[n].options = t.options || {}, e[n]._type = F.tablecell);
|
|
838
|
+
});
|
|
839
|
+
});
|
|
840
|
+
let m = [];
|
|
841
|
+
return l && !l.autoPage ? (Y(e, u), e._slideObjects.push({
|
|
842
|
+
_type: F.table,
|
|
843
|
+
arrTabRows: u,
|
|
844
|
+
options: Object.assign({}, l)
|
|
845
|
+
})) : (l.autoPageRepeatHeader && (l._arrObjTabHeadRows = u.filter((e, t) => t < l.autoPageHeaderRows)), _e(u, l, a, r).forEach((t, n) => {
|
|
846
|
+
s(e._slideNum + n) || c.push(o({ masterName: r?._name || null })), n > 0 && (l.y = H(l.autoPageSlideStartY || l.newSlideStartY || p[0]));
|
|
847
|
+
{
|
|
848
|
+
let r = s(e._slideNum + n);
|
|
849
|
+
l.autoPage = !1, Y(r, t.rows), r.addTable(t.rows, Object.assign({}, l)), n > 0 && m.push(r);
|
|
850
|
+
}
|
|
851
|
+
})), m;
|
|
852
|
+
}
|
|
853
|
+
function J(e, t, n, r) {
|
|
854
|
+
let i = {
|
|
855
|
+
_type: r ? F.placeholder : F.text,
|
|
856
|
+
shape: n?.shape || M.RECTANGLE,
|
|
857
|
+
text: !t || t.length === 0 ? [{
|
|
858
|
+
text: "",
|
|
859
|
+
options: null
|
|
860
|
+
}] : t,
|
|
861
|
+
options: n || {}
|
|
862
|
+
};
|
|
863
|
+
function a(t) {
|
|
864
|
+
if (t.placeholder || (t.color = t.color || i.options.color || e.color || h), (t.placeholder || r) && (t.bullet = t.bullet || !1), t.placeholder && e._slideLayout && e._slideLayout._slideObjects) {
|
|
865
|
+
let n = e._slideLayout._slideObjects.filter((e) => e._type === "placeholder" && e.options && e.options.placeholder && e.options.placeholder === t.placeholder)[0];
|
|
866
|
+
n?.options && (t = Object.assign(Object.assign({}, t), n.options));
|
|
867
|
+
}
|
|
868
|
+
if (t.objectName = t.objectName ? V(t.objectName) : `Text ${e._slideObjects.filter((e) => e._type === F.text).length}`, t.shape === M.LINE) {
|
|
869
|
+
let e = {
|
|
870
|
+
type: t.line.type || "solid",
|
|
871
|
+
color: t.line.color || b,
|
|
872
|
+
transparency: t.line.transparency || 0,
|
|
873
|
+
width: t.line.width || 1,
|
|
874
|
+
dashType: t.line.dashType || "solid",
|
|
875
|
+
beginArrowType: t.line.beginArrowType || null,
|
|
876
|
+
endArrowType: t.line.endArrowType || null
|
|
877
|
+
};
|
|
878
|
+
if (typeof t.line == "object" && (t.line = e), typeof t.line == "string") {
|
|
879
|
+
let n = e;
|
|
880
|
+
typeof t.line == "string" && (n.color = t.line), t.line = n;
|
|
881
|
+
}
|
|
882
|
+
typeof t.lineSize == "number" && (t.line.width = t.lineSize), typeof t.lineDash == "string" && (t.line.dashType = t.lineDash), typeof t.lineHead == "string" && (t.line.beginArrowType = t.lineHead), typeof t.lineTail == "string" && (t.line.endArrowType = t.lineTail);
|
|
883
|
+
}
|
|
884
|
+
return t.line = t.line || {}, t.lineSpacing = t.lineSpacing && !isNaN(t.lineSpacing) ? t.lineSpacing : null, t.lineSpacingMultiple = t.lineSpacingMultiple && !isNaN(t.lineSpacingMultiple) ? t.lineSpacingMultiple : null, t._bodyProp = t._bodyProp || {}, t._bodyProp.autoFit = t.autoFit || !1, t._bodyProp.anchor = t.placeholder ? null : A.ctr, t._bodyProp.vert = t.vert || null, t._bodyProp.wrap = typeof t.wrap == "boolean" ? t.wrap : !0, (t.inset && !isNaN(Number(t.inset)) || t.inset === 0) && (t._bodyProp.lIns = H(t.inset), t._bodyProp.rIns = H(t.inset), t._bodyProp.tIns = H(t.inset), t._bodyProp.bIns = H(t.inset)), typeof t.underline == "boolean" && t.underline === !0 && (t.underline = { style: "sng" }), (t.align || "").toLowerCase().indexOf("c") === 0 ? t._bodyProp.align = k.center : (t.align || "").toLowerCase().indexOf("l") === 0 ? t._bodyProp.align = k.left : (t.align || "").toLowerCase().indexOf("r") === 0 ? t._bodyProp.align = k.right : (t.align || "").toLowerCase().indexOf("j") === 0 && (t._bodyProp.align = k.justify), (t.valign || "").toLowerCase().indexOf("b") === 0 ? t._bodyProp.anchor = A.b : (t.valign || "").toLowerCase().indexOf("m") === 0 ? t._bodyProp.anchor = A.ctr : (t.valign || "").toLowerCase().indexOf("t") === 0 && (t._bodyProp.anchor = A.t), he(t.shadow), t;
|
|
885
|
+
}
|
|
886
|
+
i.options = a(i.options), i.text.forEach((e) => e.options = a(e.options || {})), Y(e, i.text || ""), e._slideObjects.push(i);
|
|
887
|
+
}
|
|
888
|
+
function De(e) {
|
|
889
|
+
(e._slideLayout._slideObjects || []).forEach((t) => {
|
|
890
|
+
t._type === F.placeholder && e._slideObjects.filter((e) => e.options && e.options.placeholder === t.options.placeholder).length === 0 && J(e, [{ text: "" }], t.options, !1);
|
|
891
|
+
});
|
|
892
|
+
}
|
|
893
|
+
function Oe(e, t) {
|
|
894
|
+
if (t.bkgd && (t.background ||= {}, typeof t.bkgd == "string" ? t.background.color = t.bkgd : (t.bkgd.data && (t.background.data = t.bkgd.data), t.bkgd.path && (t.background.path = t.bkgd.path), t.bkgd.src && (t.background.path = t.bkgd.src))), t.background?.fill && (t.background.color = t.background.fill), e && (e.path || e.data)) {
|
|
895
|
+
e.path = e.path || "preencoded.png";
|
|
896
|
+
let n = (e.path.split(".").pop() || "png").split("?")[0];
|
|
897
|
+
n === "jpg" && (n = "jpeg"), t._relsMedia = t._relsMedia || [];
|
|
898
|
+
let r = t._relsMedia.length + 1;
|
|
899
|
+
t._relsMedia.push({
|
|
900
|
+
path: e.path,
|
|
901
|
+
type: F.image,
|
|
902
|
+
extn: n,
|
|
903
|
+
data: e.data || null,
|
|
904
|
+
rId: r,
|
|
905
|
+
Target: `../media/${(t._name || "").replace(/\s+/gi, "-")}-image-${t._relsMedia.length + 1}.${n}`
|
|
906
|
+
}), t._bkgdImgRid = r;
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
function Y(e, t, n) {
|
|
910
|
+
let r = [];
|
|
911
|
+
typeof t == "string" || typeof t == "number" || (Array.isArray(t) ? r = t : typeof t == "object" && (r = [t]), r.forEach((t, r) => {
|
|
912
|
+
if (n && n[r] && n[r].hyperlink && (t.options = Object.assign(Object.assign({}, t.options), n[r])), Array.isArray(t)) {
|
|
913
|
+
let n = [];
|
|
914
|
+
t.forEach((e) => {
|
|
915
|
+
e.options && !e.text.options && n.push(e.options);
|
|
916
|
+
}), Y(e, t, n);
|
|
917
|
+
} else if (Array.isArray(t.text)) Y(e, t.text, n && n[r] ? [n[r]] : void 0);
|
|
918
|
+
else if (t && typeof t == "object" && t.options && t.options.hyperlink && !t.options.hyperlink._rId) if (typeof t.options.hyperlink != "object") console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");
|
|
919
|
+
else if (!t.options.hyperlink.url && !t.options.hyperlink.slide) console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");
|
|
920
|
+
else {
|
|
921
|
+
let n = q(e);
|
|
922
|
+
e._rels.push({
|
|
923
|
+
type: F.hyperlink,
|
|
924
|
+
data: t.options.hyperlink.slide ? "slide" : "dummy",
|
|
925
|
+
rId: n,
|
|
926
|
+
Target: V(t.options.hyperlink.url) || t.options.hyperlink.slide.toString()
|
|
927
|
+
}), t.options.hyperlink._rId = n;
|
|
928
|
+
}
|
|
929
|
+
else t && typeof t == "object" && t.options && t.options.hyperlink && t.options.hyperlink._rId && e._rels.filter((e) => e.rId === t.options.hyperlink._rId).length === 0 && e._rels.push({
|
|
930
|
+
type: F.hyperlink,
|
|
931
|
+
data: t.options.hyperlink.slide ? "slide" : "dummy",
|
|
932
|
+
rId: t.options.hyperlink._rId,
|
|
933
|
+
Target: V(t.options.hyperlink.url) || t.options.hyperlink.slide.toString()
|
|
934
|
+
});
|
|
935
|
+
}));
|
|
936
|
+
}
|
|
937
|
+
var ke = class {
|
|
938
|
+
constructor(e) {
|
|
939
|
+
this.addSlide = e.addSlide, this.getSlide = e.getSlide, this._name = `Slide ${e.slideNumber}`, this._presLayout = e.presLayout, this._rId = e.slideRId, this._rels = [], this._relsChart = [], this._relsMedia = [], this._setSlideNum = e.setSlideNum, this._slideId = e.slideId, this._slideLayout = e.slideLayout || null, this._slideNum = e.slideNumber, this._slideObjects = [], this._slideNumberProps = this._slideLayout?._slideNumberProps ? this._slideLayout._slideNumberProps : null;
|
|
940
|
+
}
|
|
941
|
+
set bkgd(e) {
|
|
942
|
+
this._bkgd = e, (!this._background || !this._background.color) && (this._background ||= {}, typeof e == "string" && (this._background.color = e));
|
|
943
|
+
}
|
|
944
|
+
get bkgd() {
|
|
945
|
+
return this._bkgd;
|
|
946
|
+
}
|
|
947
|
+
set background(e) {
|
|
948
|
+
this._background = e, e && Oe(e, this);
|
|
949
|
+
}
|
|
950
|
+
get background() {
|
|
951
|
+
return this._background;
|
|
952
|
+
}
|
|
953
|
+
set color(e) {
|
|
954
|
+
this._color = e;
|
|
955
|
+
}
|
|
956
|
+
get color() {
|
|
957
|
+
return this._color;
|
|
958
|
+
}
|
|
959
|
+
set hidden(e) {
|
|
960
|
+
this._hidden = e;
|
|
961
|
+
}
|
|
962
|
+
get hidden() {
|
|
963
|
+
return this._hidden;
|
|
964
|
+
}
|
|
965
|
+
set slideNumber(e) {
|
|
966
|
+
this._slideNumberProps = e, this._setSlideNum(e);
|
|
967
|
+
}
|
|
968
|
+
get slideNumber() {
|
|
969
|
+
return this._slideNumberProps;
|
|
970
|
+
}
|
|
971
|
+
get newAutoPagedSlides() {
|
|
972
|
+
return this._newAutoPagedSlides;
|
|
973
|
+
}
|
|
974
|
+
addChart(e, t, n) {
|
|
975
|
+
let r = n || {};
|
|
976
|
+
return r._type = e, xe(this, e, t, n), this;
|
|
977
|
+
}
|
|
978
|
+
addImage(e) {
|
|
979
|
+
return Se(this, e), this;
|
|
980
|
+
}
|
|
981
|
+
addMedia(e) {
|
|
982
|
+
return Ce(this, e), this;
|
|
983
|
+
}
|
|
984
|
+
addNotes(e) {
|
|
985
|
+
return we(this, e), this;
|
|
986
|
+
}
|
|
987
|
+
addShape(e, t) {
|
|
988
|
+
return Te(this, e, t), this;
|
|
989
|
+
}
|
|
990
|
+
addTable(e, t) {
|
|
991
|
+
return this._newAutoPagedSlides = Ee(this, e, t, this._slideLayout, this._presLayout, this.addSlide, this.getSlide), this;
|
|
992
|
+
}
|
|
993
|
+
addText(e, t) {
|
|
994
|
+
return J(this, typeof e == "string" || typeof e == "number" ? [{
|
|
995
|
+
text: e,
|
|
996
|
+
options: t
|
|
997
|
+
}] : e, t, !1), this;
|
|
998
|
+
}
|
|
999
|
+
};
|
|
1000
|
+
function Ae(e, t) {
|
|
1001
|
+
return r(this, void 0, void 0, function* () {
|
|
1002
|
+
let r = e.data;
|
|
1003
|
+
return yield new Promise((i, a) => {
|
|
1004
|
+
let o = new n.default(), s = (r.length - 1) * 2 + 1, c = r[0]?.labels?.length > 1;
|
|
1005
|
+
o.folder("_rels"), o.folder("docProps"), o.folder("xl/_rels"), o.folder("xl/tables"), o.folder("xl/theme"), o.folder("xl/worksheets"), o.folder("xl/worksheets/_rels"), o.file("[Content_Types].xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\"> <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/> <Default Extension=\"xml\" ContentType=\"application/xml\"/> <Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"/> <Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"/> <Override PartName=\"/xl/theme/theme1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/> <Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"/> <Override PartName=\"/xl/sharedStrings.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\"/> <Override PartName=\"/xl/tables/table1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\"/> <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\"/> <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"/></Types>\n"), o.file("_rels/.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\" Target=\"docProps/core.xml\"/><Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\" Target=\"docProps/app.xml\"/><Relationship Id=\"rId3\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/></Relationships>\n"), o.file("docProps/app.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Properties xmlns=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\"><Application>Microsoft Macintosh Excel</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size=\"2\" baseType=\"variant\"><vt:variant><vt:lpstr>Worksheets</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size=\"1\" baseType=\"lpstr\"><vt:lpstr>Sheet1</vt:lpstr></vt:vector></TitlesOfParts><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0300</AppVersion></Properties>\n"), o.file("docProps/core.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:dcmitype=\"http://purl.org/dc/dcmitype/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><dc:creator>PptxGenJS</dc:creator><cp:lastModifiedBy>PptxGenJS</cp:lastModifiedBy><dcterms:created xsi:type=\"dcterms:W3CDTF\">" + (/* @__PURE__ */ new Date()).toISOString() + "</dcterms:created><dcterms:modified xsi:type=\"dcterms:W3CDTF\">" + (/* @__PURE__ */ new Date()).toISOString() + "</dcterms:modified></cp:coreProperties>"), o.file("xl/_rels/workbook.xml.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId3\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/><Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"theme/theme1.xml\"/><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/><Relationship Id=\"rId4\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\" Target=\"sharedStrings.xml\"/></Relationships>"), o.file("xl/styles.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"><numFmts count=\"1\"><numFmt numFmtId=\"0\" formatCode=\"General\"/></numFmts><fonts count=\"4\"><font><sz val=\"9\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"9\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"10\"/><color indexed=\"8\"/><name val=\"Geneva\"/></font><font><sz val=\"18\"/><color indexed=\"8\"/><name val=\"Arial\"/></font></fonts><fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills><borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders><dxfs count=\"0\"/><tableStyles count=\"0\"/><colors><indexedColors><rgbColor rgb=\"ff000000\"/><rgbColor rgb=\"ffffffff\"/><rgbColor rgb=\"ffff0000\"/><rgbColor rgb=\"ff00ff00\"/><rgbColor rgb=\"ff0000ff\"/><rgbColor rgb=\"ffffff00\"/><rgbColor rgb=\"ffff00ff\"/><rgbColor rgb=\"ff00ffff\"/><rgbColor rgb=\"ff000000\"/><rgbColor rgb=\"ffffffff\"/><rgbColor rgb=\"ff878787\"/><rgbColor rgb=\"fff9f9f9\"/></indexedColors></colors></styleSheet>\n"), o.file("xl/theme/theme1.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"><a:themeElements><a:clrScheme name=\"Office\"><a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1><a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1><a:dk2><a:srgbClr val=\"44546A\"/></a:dk2><a:lt2><a:srgbClr val=\"E7E6E6\"/></a:lt2><a:accent1><a:srgbClr val=\"4472C4\"/></a:accent1><a:accent2><a:srgbClr val=\"ED7D31\"/></a:accent2><a:accent3><a:srgbClr val=\"A5A5A5\"/></a:accent3><a:accent4><a:srgbClr val=\"FFC000\"/></a:accent4><a:accent5><a:srgbClr val=\"5B9BD5\"/></a:accent5><a:accent6><a:srgbClr val=\"70AD47\"/></a:accent6><a:hlink><a:srgbClr val=\"0563C1\"/></a:hlink><a:folHlink><a:srgbClr val=\"954F72\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"Office\"><a:majorFont><a:latin typeface=\"Calibri Light\" panose=\"020F0302020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"Yu Gothic Light\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"DengXian Light\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Times New Roman\"/><a:font script=\"Hebr\" typeface=\"Times New Roman\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"MoolBoran\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Times New Roman\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:majorFont><a:minorFont><a:latin typeface=\"Calibri\" panose=\"020F0502020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"Yu Gothic\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"DengXian\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Arial\"/><a:font script=\"Hebr\" typeface=\"Arial\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"DaunPenh\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Arial\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"Office\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"110000\"/><a:satMod val=\"105000\"/><a:tint val=\"67000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"103000\"/><a:tint val=\"73000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"109000\"/><a:tint val=\"81000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:satMod val=\"103000\"/><a:lumMod val=\"102000\"/><a:tint val=\"94000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:satMod val=\"110000\"/><a:lumMod val=\"100000\"/><a:shade val=\"100000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"99000\"/><a:satMod val=\"120000\"/><a:shade val=\"78000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"6350\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"12700\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"19050\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"57150\" dist=\"19050\" dir=\"5400000\" algn=\"ctr\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"63000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:solidFill><a:schemeClr val=\"phClr\"><a:tint val=\"95000\"/><a:satMod val=\"170000\"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"93000\"/><a:satMod val=\"150000\"/><a:shade val=\"98000\"/><a:lumMod val=\"102000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:tint val=\"98000\"/><a:satMod val=\"130000\"/><a:shade val=\"90000\"/><a:lumMod val=\"103000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"63000\"/><a:satMod val=\"120000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri=\"{05A4C25C-085E-4340-85A3-A5531E510DB2}\"><thm15:themeFamily xmlns:thm15=\"http://schemas.microsoft.com/office/thememl/2012/main\" name=\"Office Theme\" id=\"{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}\" vid=\"{4A3C46E8-61CC-4603-A589-7422A47A8E4A}\"/></a:ext></a:extLst></a:theme>"), o.file("xl/workbook.xml", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x15\" xmlns:x15=\"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main\"><fileVersion appName=\"xl\" lastEdited=\"7\" lowestEdited=\"6\" rupBuild=\"10507\"/><workbookPr/><bookViews><workbookView xWindow=\"0\" yWindow=\"500\" windowWidth=\"20960\" windowHeight=\"15960\"/></bookViews><sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets><calcPr calcId=\"0\" concurrentCalc=\"0\"/></workbook>\n"), o.file("xl/worksheets/_rels/sheet1.xml.rels", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table\" Target=\"../tables/table1.xml\"/></Relationships>\n");
|
|
1006
|
+
{
|
|
1007
|
+
let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
1008
|
+
if (e.opts._type === N.BUBBLE || e.opts._type === N.BUBBLE3D) t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${s}" uniqueCount="${s}">`;
|
|
1009
|
+
else if (e.opts._type === N.SCATTER) t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${r.length}" uniqueCount="${r.length}">`;
|
|
1010
|
+
else if (c) {
|
|
1011
|
+
let e = r.length;
|
|
1012
|
+
r[0].labels.forEach((t) => e += t.filter((e) => e && e !== "").length), t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${e}" uniqueCount="${e}">`, t += "<si><t/></si>";
|
|
1013
|
+
} else {
|
|
1014
|
+
let e = r.length + r[0].labels.length * r[0].labels[0].length + r[0].labels.length, n = r.length + r[0].labels.length * r[0].labels[0].length + 1;
|
|
1015
|
+
t += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${e}" uniqueCount="${n}">`, t += "<si><t xml:space=\"preserve\"></t></si>";
|
|
1016
|
+
}
|
|
1017
|
+
e.opts._type === N.BUBBLE || e.opts._type === N.BUBBLE3D ? r.forEach((e, n) => {
|
|
1018
|
+
n === 0 ? t += "<si><t>X-Axis</t></si>" : (t += `<si><t>${V(e.name || `Y-Axis${n}`)}</t></si>`, t += `<si><t>${V(`Size${n}`)}</t></si>`);
|
|
1019
|
+
}) : r.forEach((e) => {
|
|
1020
|
+
t += `<si><t>${V((e.name || " ").replace("X-Axis", "X-Values"))}</t></si>`;
|
|
1021
|
+
}), e.opts._type !== N.BUBBLE && e.opts._type !== N.BUBBLE3D && e.opts._type !== N.SCATTER && r[0].labels.slice().reverse().forEach((e) => {
|
|
1022
|
+
e.filter((e) => e && e !== "").forEach((e) => {
|
|
1023
|
+
t += `<si><t>${V(e)}</t></si>`;
|
|
1024
|
+
});
|
|
1025
|
+
}), t += "</sst>\n", o.file("xl/sharedStrings.xml", t);
|
|
1026
|
+
}
|
|
1027
|
+
{
|
|
1028
|
+
let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
1029
|
+
if (e.opts._type === N.BUBBLE || e.opts._type === N.BUBBLE3D) {
|
|
1030
|
+
t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(s)}${s}" totalsRowShown="0">`, t += `<tableColumns count="${s}">`;
|
|
1031
|
+
let e = 1;
|
|
1032
|
+
r.forEach((n, r) => {
|
|
1033
|
+
r === 0 ? t += `<tableColumn id="${r + 1}" name="X-Values"/>` : (t += `<tableColumn id="${r + e}" name="${n.name}"/>`, e++, t += `<tableColumn id="${r + e}" name="Size${r}"/>`);
|
|
1034
|
+
});
|
|
1035
|
+
} else e.opts._type === N.SCATTER ? (t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(r.length)}${r[0].values.length + 1}" totalsRowShown="0">`, t += `<tableColumns count="${r.length}">`, r.forEach((e, n) => {
|
|
1036
|
+
t += `<tableColumn id="${n + 1}" name="${n === 0 ? "X-Values" : "Y-Value "}${n}"/>`;
|
|
1037
|
+
})) : (t += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${Z(r.length + r[0].labels.length)}${r[0].labels[0].length + 1}'" totalsRowShown="0">`, t += `<tableColumns count="${r.length + r[0].labels.length}">`, r[0].labels.forEach((e, n) => {
|
|
1038
|
+
t += `<tableColumn id="${n + 1}" name="Column${n + 1}"/>`;
|
|
1039
|
+
}), r.forEach((e, n) => {
|
|
1040
|
+
t += `<tableColumn id="${n + r[0].labels.length + 1}" name="${V(e.name)}"/>`;
|
|
1041
|
+
}));
|
|
1042
|
+
t += "</tableColumns>", t += "<tableStyleInfo showFirstColumn=\"0\" showLastColumn=\"0\" showRowStripes=\"1\" showColumnStripes=\"0\"/>", t += "</table>", o.file("xl/tables/table1.xml", t);
|
|
1043
|
+
}
|
|
1044
|
+
{
|
|
1045
|
+
let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
1046
|
+
if (t += "<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x14ac\" xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">", e.opts._type === N.BUBBLE || e.opts._type === N.BUBBLE3D ? t += `<dimension ref="A1:${Z(s)}${r[0].values.length + 1}"/>` : e.opts._type === N.SCATTER ? t += `<dimension ref="A1:${Z(r.length)}${r[0].values.length + 1}"/>` : t += `<dimension ref="A1:${Z(r.length + 1)}${r[0].values.length + 1}"/>`, t += "<sheetViews><sheetView tabSelected=\"1\" workbookViewId=\"0\"><selection activeCell=\"B1\" sqref=\"B1\"/></sheetView></sheetViews>", t += "<sheetFormatPr baseColWidth=\"10\" defaultRowHeight=\"16\"/>", e.opts._type === N.BUBBLE || e.opts._type === N.BUBBLE3D) {
|
|
1047
|
+
t += "<sheetData>", t += `<row r="1" spans="1:${s}">`, t += "<c r=\"A1\" t=\"s\"><v>0</v></c>";
|
|
1048
|
+
for (let e = 1; e < s; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>${e}</v></c>`;
|
|
1049
|
+
t += "</row>", r[0].values.forEach((e, n) => {
|
|
1050
|
+
t += `<row r="${n + 2}" spans="1:${s}">`, t += `<c r="A${n + 2}"><v>${e}</v></c>`;
|
|
1051
|
+
let i = 2;
|
|
1052
|
+
for (let e = 1; e < r.length; e++) t += `<c r="${Z(i)}${n + 2}"><v>${r[e].values[n] || ""}</v></c>`, i++, t += `<c r="${Z(i)}${n + 2}"><v>${r[e].sizes[n] || ""}</v></c>`, i++;
|
|
1053
|
+
t += "</row>";
|
|
1054
|
+
});
|
|
1055
|
+
} else if (e.opts._type === N.SCATTER) {
|
|
1056
|
+
t += "<sheetData>", t += `<row r="1" spans="1:${r.length}">`;
|
|
1057
|
+
for (let e = 0; e < r.length; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>${e}</v></c>`;
|
|
1058
|
+
t += "</row>", r[0].values.forEach((e, n) => {
|
|
1059
|
+
t += `<row r="${n + 2}" spans="1:${r.length}">`, t += `<c r="A${n + 2}"><v>${e}</v></c>`;
|
|
1060
|
+
for (let e = 1; e < r.length; e++) t += `<c r="${Z(e + 1)}${n + 2}"><v>${r[e].values[n] || r[e].values[n] === 0 ? r[e].values[n] : ""}</v></c>`;
|
|
1061
|
+
t += "</row>";
|
|
1062
|
+
});
|
|
1063
|
+
} else if (t += "<sheetData>", c) {
|
|
1064
|
+
t += `<row r="1" spans="1:${r.length + r[0].labels.length}">`;
|
|
1065
|
+
for (let e = 0; e < r[0].labels.length; e++) t += `<c r="${Z(e + 1)}1" t="s"><v>0</v></c>`;
|
|
1066
|
+
for (let e = r[0].labels.length - 1; e < r.length + r[0].labels.length - 1; e++) t += `<c r="${Z(e + r[0].labels.length)}1" t="s"><v>${e}</v></c>`;
|
|
1067
|
+
t += "</row>";
|
|
1068
|
+
let e = r.length, n = r[0].labels[0].length, i = r[0].labels.length;
|
|
1069
|
+
for (let a = 0; a < n; a++) {
|
|
1070
|
+
t += `<row r="${a + 2}" spans="1:${e + i}">`;
|
|
1071
|
+
let n = e, o = r[0].labels.slice().reverse();
|
|
1072
|
+
o.forEach((e, r) => {
|
|
1073
|
+
if (e[a]) {
|
|
1074
|
+
let e = r === 0 ? 1 : o[r - 1].filter((e) => e && e !== "").length;
|
|
1075
|
+
n += e, t += `<c r="${Z(a + 1 + r)}${a + 2}" t="s"><v>${n}</v></c>`;
|
|
1076
|
+
}
|
|
1077
|
+
});
|
|
1078
|
+
for (let n = 0; n < e; n++) t += `<c r="${Z(i + n + 1)}${a + 2}"><v>${r[n].values[a] || 0}</v></c>`;
|
|
1079
|
+
t += "</row>";
|
|
1080
|
+
}
|
|
1081
|
+
} else {
|
|
1082
|
+
t += `<row r="1" spans="1:${r.length + r[0].labels.length}">`, r[0].labels.forEach((e, n) => {
|
|
1083
|
+
t += `<c r="${Z(n + 1)}1" t="s"><v>0</v></c>`;
|
|
1084
|
+
});
|
|
1085
|
+
for (let e = 0; e < r.length; e++) t += `<c r="${Z(e + 1 + r[0].labels.length)}1" t="s"><v>${e + 1}</v></c>`;
|
|
1086
|
+
t += "</row>", r[0].labels[0].forEach((e, n) => {
|
|
1087
|
+
t += `<row r="${n + 2}" spans="1:${r.length + r[0].labels.length}">`;
|
|
1088
|
+
for (let e = r[0].labels.length - 1; e >= 0; e--) t += `<c r="${Z(r[0].labels.length - e)}${n + 2}" t="s">`, t += `<v>${r.length + n + 1}</v>`, t += "</c>";
|
|
1089
|
+
for (let e = 0; e < r.length; e++) t += `<c r="${Z(r[0].labels.length + e + 1)}${n + 2}"><v>${r[e].values[n] || ""}</v></c>`;
|
|
1090
|
+
t += "</row>";
|
|
1091
|
+
});
|
|
1092
|
+
}
|
|
1093
|
+
t += "</sheetData>", t += "<pageMargins left=\"0.7\" right=\"0.7\" top=\"0.75\" bottom=\"0.75\" header=\"0.3\" footer=\"0.3\"/>", t += "</worksheet>\n", o.file("xl/worksheets/sheet1.xml", t);
|
|
1094
|
+
}
|
|
1095
|
+
o.generateAsync({ type: "base64" }).then((n) => {
|
|
1096
|
+
t.file(`ppt/embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx`, n, { base64: !0 }), t.file("ppt/charts/_rels/" + e.fileName + ".rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Microsoft_Excel_Worksheet${e.globalId}.xlsx"/></Relationships>`), t.file(`ppt/charts/${e.fileName}`, je(e)), i("");
|
|
1097
|
+
}).catch((e) => {
|
|
1098
|
+
a(e);
|
|
1099
|
+
});
|
|
1100
|
+
});
|
|
1101
|
+
});
|
|
1102
|
+
}
|
|
1103
|
+
function je(e) {
|
|
1104
|
+
let t = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>", n = !1;
|
|
1105
|
+
if (t += "<c:chartSpace xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">", t += "<c:date1904 val=\"0\"/>", t += `<c:roundedCorners val="${e.opts.chartArea.roundedCorners ? "1" : "0"}"/>`, t += "<c:chart>", e.opts.showTitle ? (t += X({
|
|
1106
|
+
title: e.opts.title || "Chart Title",
|
|
1107
|
+
color: e.opts.titleColor,
|
|
1108
|
+
fontFace: e.opts.titleFontFace,
|
|
1109
|
+
fontSize: e.opts.titleFontSize || _,
|
|
1110
|
+
titleAlign: e.opts.titleAlign,
|
|
1111
|
+
titleBold: e.opts.titleBold,
|
|
1112
|
+
titlePos: e.opts.titlePos,
|
|
1113
|
+
titleRotate: e.opts.titleRotate
|
|
1114
|
+
}, e.opts.x, e.opts.y), t += "<c:autoTitleDeleted val=\"0\"/>") : t += "<c:autoTitleDeleted val=\"1\"/>", e.opts._type === N.BAR3D && (t += `<c:view3D><c:rotX val="${e.opts.v3DRotX}"/><c:rotY val="${e.opts.v3DRotY}"/><c:rAngAx val="${+!!e.opts.v3DRAngAx}"/><c:perspective val="${e.opts.v3DPerspective}"/></c:view3D>`), t += "<c:plotArea>", e.opts.layout ? (t += "<c:layout>", t += " <c:manualLayout>", t += " <c:layoutTarget val=\"inner\" />", t += " <c:xMode val=\"edge\" />", t += " <c:yMode val=\"edge\" />", t += " <c:x val=\"" + (e.opts.layout.x || 0) + "\" />", t += " <c:y val=\"" + (e.opts.layout.y || 0) + "\" />", t += " <c:w val=\"" + (e.opts.layout.w || 1) + "\" />", t += " <c:h val=\"" + (e.opts.layout.h || 1) + "\" />", t += " </c:manualLayout>", t += "</c:layout>") : t += "<c:layout/>", Array.isArray(e.opts._type) ? e.opts._type.forEach((r) => {
|
|
1115
|
+
let i = Object.assign(Object.assign({}, e.opts), r.options), a = i.secondaryValAxis ? T : w, o = i.secondaryCatAxis ? te : E;
|
|
1116
|
+
n ||= i.secondaryValAxis, t += Me(r.type, r.data, i, a, o);
|
|
1117
|
+
}) : t += Me(e.opts._type, e.data, e.opts, w, E), e.opts._type !== N.PIE && e.opts._type !== N.DOUGHNUT) {
|
|
1118
|
+
if (e.opts.valAxes && e.opts.valAxes.length > 1 && !n) throw Error("Secondary axis must be used by one of the multiple charts");
|
|
1119
|
+
if (e.opts.catAxes) {
|
|
1120
|
+
if (!e.opts.valAxes || e.opts.valAxes.length !== e.opts.catAxes.length) throw Error("There must be the same number of value and category axes.");
|
|
1121
|
+
t += Ne(Object.assign(Object.assign({}, e.opts), e.opts.catAxes[0]), E, w);
|
|
1122
|
+
} else t += Ne(e.opts, E, w);
|
|
1123
|
+
e.opts.valAxes ? (t += Pe(Object.assign(Object.assign({}, e.opts), e.opts.valAxes[0]), w), e.opts.valAxes[1] && (t += Pe(Object.assign(Object.assign({}, e.opts), e.opts.valAxes[1]), T))) : (t += Pe(e.opts, w), e.opts._type === N.BAR3D && (t += Fe(e.opts, ne, w))), e.opts?.catAxes && e.opts?.catAxes[1] && (t += Ne(Object.assign(Object.assign({}, e.opts), e.opts.catAxes[1]), te, T));
|
|
1124
|
+
}
|
|
1125
|
+
return e.opts.showDataTable && (t += "<c:dTable>", t += ` <c:showHorzBorder val="${+!!e.opts.showDataTableHorzBorder}"/>`, t += ` <c:showVertBorder val="${+!!e.opts.showDataTableVertBorder}"/>`, t += ` <c:showOutline val="${+!!e.opts.showDataTableOutline}"/>`, t += ` <c:showKeys val="${+!!e.opts.showDataTableKeys}"/>`, t += " <c:spPr>", t += " <a:noFill/>", t += " <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"tx1\"><a:lumMod val=\"15000\"/><a:lumOff val=\"85000\"/></a:schemeClr></a:solidFill><a:round/></a:ln>", t += " <a:effectLst/>", t += " </c:spPr>", t += " <c:txPr>", t += " <a:bodyPr rot=\"0\" spcFirstLastPara=\"1\" vertOverflow=\"ellipsis\" vert=\"horz\" wrap=\"square\" anchor=\"ctr\" anchorCtr=\"1\"/>", t += " <a:lstStyle/>", t += " <a:p>", t += " <a:pPr rtl=\"0\">", t += ` <a:defRPr sz="${Math.round((e.opts.dataTableFontSize || g) * 100)}" b="0" i="0" u="none" strike="noStrike" kern="1200" baseline="0">`, t += " <a:solidFill><a:schemeClr val=\"tx1\"><a:lumMod val=\"65000\"/><a:lumOff val=\"35000\"/></a:schemeClr></a:solidFill>", t += " <a:latin typeface=\"+mn-lt\"/>", t += " <a:ea typeface=\"+mn-ea\"/>", t += " <a:cs typeface=\"+mn-cs\"/>", t += " </a:defRPr>", t += " </a:pPr>", t += " <a:endParaRPr lang=\"en-US\"/>", t += " </a:p>", t += " </c:txPr>", t += "</c:dTable>"), t += " <c:spPr>", t += e.opts.plotArea.fill?.color ? K(e.opts.plotArea.fill) : "<a:noFill/>", t += e.opts.plotArea.border ? `<a:ln w="${U(e.opts.plotArea.border.pt)}" cap="flat">${K(e.opts.plotArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", t += " <a:effectLst/>", t += " </c:spPr>", t += "</c:plotArea>", e.opts.showLegend && (t += "<c:legend>", t += "<c:legendPos val=\"" + e.opts.legendPos + "\"/>", t += "<c:overlay val=\"0\"/>", (e.opts.legendFontFace || e.opts.legendFontSize || e.opts.legendColor) && (t += "<c:txPr>", t += " <a:bodyPr/>", t += " <a:lstStyle/>", t += " <a:p>", t += " <a:pPr>", t += e.opts.legendFontSize ? `<a:defRPr sz="${Math.round(Number(e.opts.legendFontSize) * 100)}">` : "<a:defRPr>", e.opts.legendColor && (t += K(e.opts.legendColor)), e.opts.legendFontFace && (t += "<a:latin typeface=\"" + e.opts.legendFontFace + "\"/>"), e.opts.legendFontFace && (t += "<a:cs typeface=\"" + e.opts.legendFontFace + "\"/>"), t += " </a:defRPr>", t += " </a:pPr>", t += " <a:endParaRPr lang=\"en-US\"/>", t += " </a:p>", t += "</c:txPr>"), t += "</c:legend>"), t += " <c:plotVisOnly val=\"1\"/>", t += " <c:dispBlanksAs val=\"" + e.opts.displayBlanksAs + "\"/>", e.opts._type === N.SCATTER && (t += "<c:showDLblsOverMax val=\"1\"/>"), t += "</c:chart>", t += "<c:spPr>", t += e.opts.chartArea.fill?.color ? K(e.opts.chartArea.fill) : "<a:noFill/>", t += e.opts.chartArea.border ? `<a:ln w="${U(e.opts.chartArea.border.pt)}" cap="flat">${K(e.opts.chartArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", t += " <a:effectLst/>", t += "</c:spPr>", t += "<c:externalData r:id=\"rId1\"><c:autoUpdate val=\"0\"/></c:externalData>", t += "</c:chartSpace>", t;
|
|
1126
|
+
}
|
|
1127
|
+
function Me(e, t, n, r, i, a) {
|
|
1128
|
+
let o = -1, s = 1, c = null, l = "";
|
|
1129
|
+
switch (e) {
|
|
1130
|
+
case N.AREA:
|
|
1131
|
+
case N.BAR:
|
|
1132
|
+
case N.BAR3D:
|
|
1133
|
+
case N.LINE:
|
|
1134
|
+
case N.RADAR:
|
|
1135
|
+
l += `<c:${e}Chart>`, e === N.AREA && n.barGrouping === "stacked" && (l += "<c:grouping val=\"" + n.barGrouping + "\"/>"), (e === N.BAR || e === N.BAR3D) && (l += "<c:barDir val=\"" + n.barDir + "\"/>", l += "<c:grouping val=\"" + (n.barGrouping || "clustered") + "\"/>"), e === N.RADAR && (l += "<c:radarStyle val=\"" + n.radarStyle + "\"/>"), l += "<c:varyColors val=\"0\"/>", t.forEach((r) => {
|
|
1136
|
+
o++, l += "<c:ser>", l += ` <c:idx val="${r._dataIndex}"/><c:order val="${r._dataIndex}"/>`, l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$" + Z(r._dataIndex + r.labels.length + 1) + "$1</c:f>", l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + V(r.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>";
|
|
1137
|
+
let i = n.chartColors ? n.chartColors[o % n.chartColors.length] : null;
|
|
1138
|
+
l += " <c:spPr>", i === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += "<a:solidFill>" + G(i, `<a:alpha val="${Math.round(n.chartColorsOpacity * 1e3)}"/>`) + "</a:solidFill>" : l += "<a:solidFill>" + G(i) + "</a:solidFill>", e === N.LINE || e === N.RADAR ? n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += `<a:ln w="${U(n.lineSize)}" cap="${$(n.lineCap)}"><a:solidFill>${G(i)}</a:solidFill>`, l += "<a:prstDash val=\"" + (n.lineDash || "solid") + "\"/><a:round/></a:ln>") : n.dataBorder && (l += `<a:ln w="${U(n.dataBorder.pt)}" cap="${$(n.lineCap)}"><a:solidFill>${G(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), l += Q(n.shadow, x), l += " </c:spPr>", l += " <c:invertIfNegative val=\"0\"/>", e !== N.RADAR && (l += "<c:dLbls>", l += `<c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, n.dataLabelBkgrdColors && (l += `<c:spPr><a:solidFill>${G(i)}</a:solidFill></c:spPr>`), l += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", l += `<a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += `<a:solidFill>${G(n.dataLabelColor || h)}</a:solidFill>`, l += `<a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += "</a:defRPr></a:pPr></a:p></c:txPr>", n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += "<c:showLegendKey val=\"0\"/>", l += `<c:showVal val="${n.showValue ? "1" : "0"}"/>`, l += `<c:showCatName val="0"/><c:showSerName val="${n.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, l += `<c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += "</c:dLbls>"), (e === N.LINE || e === N.RADAR) && (l += "<c:marker>", l += " <c:symbol val=\"" + n.lineDataSymbol + "\"/>", n.lineDataSymbolSize && (l += `<c:size val="${n.lineDataSymbolSize}"/>`), l += " <c:spPr>", l += ` <a:solidFill>${G(n.chartColors[r._dataIndex + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : r._dataIndex])}</a:solidFill>`, l += ` <a:ln w="${n.lineDataSymbolLineSize}" cap="flat"><a:solidFill>${G(n.lineDataSymbolLineColor || i)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`, l += " <a:effectLst/>", l += " </c:spPr>", l += "</c:marker>"), (e === N.BAR || e === N.BAR3D) && t.length === 1 && (n.chartColors && n.chartColors !== O && n.chartColors.length > 1 || n.invertedColors?.length) && r.values.forEach((t, r) => {
|
|
1139
|
+
let i = t < 0 ? n.invertedColors || n.chartColors || O : n.chartColors || [];
|
|
1140
|
+
l += " <c:dPt>", l += ` <c:idx val="${r}"/>`, l += " <c:invertIfNegative val=\"0\"/>", l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : e === N.BAR ? (l += "<a:solidFill>", l += " <a:srgbClr val=\"" + i[r % i.length] + "\"/>", l += "</a:solidFill>") : (l += "<a:ln>", l += " <a:solidFill>", l += " <a:srgbClr val=\"" + i[r % i.length] + "\"/>", l += " </a:solidFill>", l += "</a:ln>"), l += Q(n.shadow, x), l += " </c:spPr>", l += " </c:dPt>";
|
|
1141
|
+
}), l += "<c:cat>", n.catLabelFormatCode ? (l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${r.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>" + (n.catLabelFormatCode || "General") + "</c:formatCode>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.labels[0].forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${V(e)}</c:v></c:pt>`), l += " </c:numCache>", l += " </c:numRef>") : (l += " <c:multiLvlStrRef>", l += ` <c:f>Sheet1!$A$2:$${Z(r.labels.length)}$${r.labels[0].length + 1}</c:f>`, l += " <c:multiLvlStrCache>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.labels.forEach((e) => {
|
|
1142
|
+
l += "<c:lvl>", e.forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${V(e)}</c:v></c:pt>`), l += "</c:lvl>";
|
|
1143
|
+
}), l += " </c:multiLvlStrCache>", l += " </c:multiLvlStrRef>"), l += "</c:cat>", l += "<c:val>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(r._dataIndex + r.labels.length + 1)}$2:$${Z(r._dataIndex + r.labels.length + 1)}$${r.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>" + (n.valLabelFormatCode || n.dataTableFormatCode || "General") + "</c:formatCode>", l += ` <c:ptCount val="${r.labels[0].length}"/>`, r.values.forEach((e, t) => l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`), l += " </c:numCache>", l += " </c:numRef>", l += "</c:val>", e === N.LINE && (l += "<c:smooth val=\"" + (n.lineSmooth ? "1" : "0") + "\"/>"), l += "</c:ser>";
|
|
1144
|
+
}), l += " <c:dLbls>", l += ` <c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += " <a:solidFill>" + G(n.dataLabelColor || h) + "</a:solidFill>", l += " <a:latin typeface=\"" + (n.dataLabelFontFace || "Arial") + "\"/>", l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += ` <c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += " </c:dLbls>", e === N.BAR ? (l += ` <c:gapWidth val="${n.barGapWidthPct}"/>`, l += ` <c:overlap val="${(n.barGrouping || "").includes("tacked") ? 100 : n.barOverlapPct ? n.barOverlapPct : 0}"/>`) : e === N.BAR3D ? (l += ` <c:gapWidth val="${n.barGapWidthPct}"/>`, l += ` <c:gapDepth val="${n.barGapDepthPct}"/>`, l += " <c:shape val=\"" + n.bar3DShape + "\"/>") : e === N.LINE && (l += " <c:marker val=\"1\"/>"), l += `<c:axId val="${i}"/><c:axId val="${r}"/><c:axId val="${ne}"/>`, l += `</c:${e}Chart>`;
|
|
1145
|
+
break;
|
|
1146
|
+
case N.SCATTER:
|
|
1147
|
+
l += "<c:" + e + "Chart>", l += "<c:scatterStyle val=\"lineMarker\"/>", l += "<c:varyColors val=\"0\"/>", o = -1, t.filter((e, t) => t > 0).forEach((e, r) => {
|
|
1148
|
+
o++, l += "<c:ser>", l += ` <c:idx val="${r}"/>`, l += ` <c:order val="${r}"/>`, l += " <c:tx>", l += " <c:strRef>", l += ` <c:f>Sheet1!$${Z(r + 2)}$1</c:f>`, l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + V(e.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>", l += " <c:spPr>";
|
|
1149
|
+
{
|
|
1150
|
+
let e = n.chartColors[o % n.chartColors.length];
|
|
1151
|
+
e === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += "<a:solidFill>" + G(e, "<a:alpha val=\"" + Math.round(n.chartColorsOpacity * 1e3).toString() + "\"/>") + "</a:solidFill>" : l += "<a:solidFill>" + G(e) + "</a:solidFill>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += `<a:ln w="${U(n.lineSize)}" cap="${$(n.lineCap)}"><a:solidFill>${G(e)}</a:solidFill>`, l += `<a:prstDash val="${n.lineDash || "solid"}"/><a:round/></a:ln>`), l += Q(n.shadow, x);
|
|
1152
|
+
}
|
|
1153
|
+
if (l += " </c:spPr>", l += "<c:marker>", l += " <c:symbol val=\"" + n.lineDataSymbol + "\"/>", n.lineDataSymbolSize && (l += `<c:size val="${n.lineDataSymbolSize}"/>`), l += "<c:spPr>", l += `<a:solidFill>${G(n.chartColors[r + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : r])}</a:solidFill>`, l += `<a:ln w="${n.lineDataSymbolLineSize}" cap="flat"><a:solidFill>${G(n.lineDataSymbolLineColor || n.chartColors[o % n.chartColors.length])}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`, l += "<a:effectLst/>", l += "</c:spPr>", l += "</c:marker>", n.showLabel) {
|
|
1154
|
+
let t = B("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
|
|
1155
|
+
e.labels[0] && (n.dataLabelFormatScatter === "custom" || n.dataLabelFormatScatter === "customXY") && (l += "<c:dLbls>", e.labels[0].forEach((r, i) => {
|
|
1156
|
+
(n.dataLabelFormatScatter === "custom" || n.dataLabelFormatScatter === "customXY") && (l += " <c:dLbl>", l += ` <c:idx val="${i}"/>`, l += " <c:tx>", l += " <c:rich>", l += " <a:bodyPr>", l += " <a:spAutoFit/>", l += " </a:bodyPr>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" dirty=\"0\"/>", l += " <a:t>" + V(r) + "</a:t>", l += " </a:r>", n.dataLabelFormatScatter === "customXY" && !/^ *$/.test(r) && (l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t> (</a:t>", l += " </a:r>", l += " <a:fld id=\"{" + B("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") + "}\" type=\"XVALUE\">", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\"/>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:t>[" + V(e.name) + "</a:t>", l += " </a:fld>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t>, </a:t>", l += " </a:r>", l += " <a:fld id=\"{" + B("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") + "}\" type=\"YVALUE\">", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\"/>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:t>[" + V(e.name) + "]</a:t>", l += " </a:fld>", l += " <a:r>", l += " <a:rPr lang=\"" + (n.lang || "en-US") + "\" baseline=\"0\" dirty=\"0\"/>", l += " <a:t>)</a:t>", l += " </a:r>", l += " <a:endParaRPr lang=\"" + (n.lang || "en-US") + "\" dirty=\"0\"/>"), l += " </a:p>", l += " </c:rich>", l += " </c:tx>", l += " <c:spPr>", l += " <a:noFill/>", l += " <a:ln>", l += " <a:noFill/>", l += " </a:ln>", l += " <a:effectLst/>", l += " </c:spPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"0\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"0\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " <c:showLeaderLines val=\"1\"/>", l += " <c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\"/>", l += " <c:ext uri=\"{C3380CC4-5D6E-409C-BE32-E72D297353CC}\" xmlns:c16=\"http://schemas.microsoft.com/office/drawing/2014/chart\">", l += ` <c16:uniqueId val="{${"00000000".substring(0, 8 - (i + 1).toString().length).toString()}${i + 1}${t}}"/>`, l += " </c:ext>", l += " </c:extLst>", l += "</c:dLbl>");
|
|
1157
|
+
}), l += "</c:dLbls>"), n.dataLabelFormatScatter === "XY" && (l += "<c:dLbls>", l += " <c:spPr>", l += " <a:noFill/>", l += " <a:ln>", l += " <a:noFill/>", l += " </a:ln>", l += " <a:effectLst/>", l += " </c:spPr>", l += " <c:txPr>", l += " <a:bodyPr>", l += " <a:spAutoFit/>", l += " </a:bodyPr>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += " <a:defRPr/>", l += " </a:pPr>", l += " <a:endParaRPr lang=\"en-US\"/>", l += " </a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += ` <c:showVal val="${n.showLabel ? "1" : "0"}"/>`, l += ` <c:showCatName val="${n.showLabel ? "1" : "0"}"/>`, l += ` <c:showSerName val="${n.showSerName ? "1" : "0"}"/>`, l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " <c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\">", l += " <c15:showLeaderLines val=\"1\"/>", l += " </c:ext>", l += " </c:extLst>", l += "</c:dLbls>");
|
|
1158
|
+
}
|
|
1159
|
+
t.length === 1 && n.chartColors !== O && e.values.forEach((e, t) => {
|
|
1160
|
+
let r = e < 0 ? n.invertedColors || n.chartColors || O : n.chartColors || [];
|
|
1161
|
+
l += " <c:dPt>", l += ` <c:idx val="${t}"/>`, l += " <c:invertIfNegative val=\"0\"/>", l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : (l += "<a:solidFill>", l += " <a:srgbClr val=\"" + r[t % r.length] + "\"/>", l += "</a:solidFill>"), l += Q(n.shadow, x), l += " </c:spPr>", l += " </c:dPt>";
|
|
1162
|
+
}), l += "<c:xVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
|
|
1163
|
+
l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
|
|
1164
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += "</c:xVal>", l += "<c:yVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$${Z(r + 2)}$2:$${Z(r + 2)}$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((t, n) => {
|
|
1165
|
+
l += `<c:pt idx="${n}"><c:v>${e.values[n] || e.values[n] === 0 ? e.values[n] : ""}</c:v></c:pt>`;
|
|
1166
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += "</c:yVal>", l += "<c:smooth val=\"" + (n.lineSmooth ? "1" : "0") + "\"/>", l += "</c:ser>";
|
|
1167
|
+
}), l += " <c:dLbls>", l += ` <c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr b="${n.dataLabelFontBold ? "1" : "0"}" i="${n.dataLabelFontItalic ? "1" : "0"}" strike="noStrike" sz="${Math.round((n.dataLabelFontSize || g) * 100)}" u="none">`, l += " <a:solidFill>" + G(n.dataLabelColor || h) + "</a:solidFill>", l += " <a:latin typeface=\"" + (n.dataLabelFontFace || "Arial") + "\"/>", l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", n.dataLabelPosition && (l += " <c:dLblPos val=\"" + n.dataLabelPosition + "\"/>"), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"0\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"0\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " </c:dLbls>", l += `<c:axId val="${i}"/><c:axId val="${r}"/>`, l += "</c:" + e + "Chart>";
|
|
1168
|
+
break;
|
|
1169
|
+
case N.BUBBLE:
|
|
1170
|
+
case N.BUBBLE3D:
|
|
1171
|
+
l += "<c:bubbleChart>", l += "<c:varyColors val=\"0\"/>", o = -1, t.filter((e, t) => t > 0).forEach((r, i) => {
|
|
1172
|
+
o++, l += "<c:ser>", l += ` <c:idx val="${i}"/>`, l += ` <c:order val="${i}"/>`, l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$" + Z(s + 1) + "$1</c:f>", l += " <c:strCache><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>" + V(r.name) + "</c:v></c:pt></c:strCache>", l += " </c:strRef>", l += " </c:tx>";
|
|
1173
|
+
{
|
|
1174
|
+
l += "<c:spPr>";
|
|
1175
|
+
let e = n.chartColors[o % n.chartColors.length];
|
|
1176
|
+
e === "transparent" ? l += "<a:noFill/>" : n.chartColorsOpacity ? l += `<a:solidFill>${G(e, "<a:alpha val=\"" + Math.round(n.chartColorsOpacity * 1e3).toString() + "\"/>")}</a:solidFill>` : l += "<a:solidFill>" + G(e) + "</a:solidFill>", n.lineSize === 0 ? l += "<a:ln><a:noFill/></a:ln>" : n.dataBorder ? l += `<a:ln w="${U(n.dataBorder.pt)}" cap="flat"><a:solidFill>${G(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>` : (l += `<a:ln w="${U(n.lineSize)}" cap="flat"><a:solidFill>${G(e)}</a:solidFill>`, l += `<a:prstDash val="${n.lineDash || "solid"}"/><a:round/></a:ln>`), l += Q(n.shadow, x), l += "</c:spPr>";
|
|
1177
|
+
}
|
|
1178
|
+
l += "<c:xVal>", l += " <c:numRef>", l += ` <c:f>Sheet1!$A$2:$A$${t[0].values.length + 1}</c:f>`, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
|
|
1179
|
+
l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
|
|
1180
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += "</c:xVal>", l += "<c:yVal>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(s + 1)}$2:$${Z(s + 1)}$${t[0].values.length + 1}</c:f>`, s++, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${t[0].values.length}"/>`, t[0].values.forEach((e, t) => {
|
|
1181
|
+
l += `<c:pt idx="${t}"><c:v>${r.values[t] || r.values[t] === 0 ? r.values[t] : ""}</c:v></c:pt>`;
|
|
1182
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += "</c:yVal>", l += " <c:bubbleSize>", l += " <c:numRef>", l += `<c:f>Sheet1!$${Z(s + 1)}$2:$${Z(s + 1)}$${r.sizes.length + 1}</c:f>`, s++, l += " <c:numCache>", l += " <c:formatCode>General</c:formatCode>", l += ` <c:ptCount val="${r.sizes.length}"/>`, r.sizes.forEach((e, t) => {
|
|
1183
|
+
l += `<c:pt idx="${t}"><c:v>${e || ""}</c:v></c:pt>`;
|
|
1184
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += " </c:bubbleSize>", l += " <c:bubble3D val=\"" + (e === N.BUBBLE3D ? "1" : "0") + "\"/>", l += "</c:ser>";
|
|
1185
|
+
}), l += "<c:dLbls>", l += `<c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", l += `<a:defRPr b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" strike="noStrike" sz="${Math.round(Math.round(n.dataLabelFontSize || g) * 100)}" u="none">`, l += `<a:solidFill>${G(n.dataLabelColor || h)}</a:solidFill>`, l += `<a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += "</a:defRPr></a:pPr></a:p></c:txPr>", n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += "<c:showLegendKey val=\"0\"/>", l += `<c:showVal val="${n.showValue ? "1" : "0"}"/>`, l += `<c:showCatName val="0"/><c:showSerName val="${n.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, l += "<c:extLst>", l += " <c:ext uri=\"{CE6537A1-D6FC-4f65-9D91-7224C49458BB}\" xmlns:c15=\"http://schemas.microsoft.com/office/drawing/2012/chart\">", l += " <c15:showLeaderLines val=\"" + (n.showLeaderLines ? "1" : "0") + "\"/>", l += " </c:ext>", l += "</c:extLst>", l += "</c:dLbls>", l += `<c:axId val="${i}"/><c:axId val="${r}"/>`, l += "</c:bubbleChart>";
|
|
1186
|
+
break;
|
|
1187
|
+
case N.DOUGHNUT:
|
|
1188
|
+
case N.PIE:
|
|
1189
|
+
c = t[0], l += "<c:" + e + "Chart>", l += " <c:varyColors val=\"1\"/>", l += "<c:ser>", l += " <c:idx val=\"0\"/>", l += " <c:order val=\"0\"/>", l += " <c:tx>", l += " <c:strRef>", l += " <c:f>Sheet1!$B$1</c:f>", l += " <c:strCache>", l += " <c:ptCount val=\"1\"/>", l += " <c:pt idx=\"0\"><c:v>" + V(c.name) + "</c:v></c:pt>", l += " </c:strCache>", l += " </c:strRef>", l += " </c:tx>", l += " <c:spPr>", l += " <a:solidFill><a:schemeClr val=\"accent1\"/></a:solidFill>", l += " <a:ln w=\"9525\" cap=\"flat\"><a:solidFill><a:srgbClr val=\"F9F9F9\"/></a:solidFill><a:prstDash val=\"solid\"/><a:round/></a:ln>", n.dataNoEffects ? l += "<a:effectLst/>" : l += Q(n.shadow, x), l += " </c:spPr>", c.labels[0].forEach((e, t) => {
|
|
1190
|
+
l += "<c:dPt>", l += ` <c:idx val="${t}"/>`, l += " <c:bubble3D val=\"0\"/>", l += " <c:spPr>", l += `<a:solidFill>${G(n.chartColors[t + 1 > n.chartColors.length ? Math.floor(Math.random() * n.chartColors.length) : t])}</a:solidFill>`, n.dataBorder && (l += `<a:ln w="${U(n.dataBorder.pt)}" cap="flat"><a:solidFill>${G(n.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), l += Q(n.shadow, x), l += " </c:spPr>", l += "</c:dPt>";
|
|
1191
|
+
}), l += "<c:dLbls>", c.labels[0].forEach((t, r) => {
|
|
1192
|
+
l += "<c:dLbl>", l += ` <c:idx val="${r}"/>`, l += ` <c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:spPr/><c:txPr>", l += " <a:bodyPr/><a:lstStyle/>", l += " <a:p><a:pPr>", l += ` <a:defRPr sz="${Math.round((n.dataLabelFontSize || g) * 100)}" b="${+!!n.dataLabelFontBold}" i="${+!!n.dataLabelFontItalic}" u="none" strike="noStrike">`, l += " <a:solidFill>" + G(n.dataLabelColor || h) + "</a:solidFill>", l += ` <a:latin typeface="${n.dataLabelFontFace || "Arial"}"/>`, l += " </a:defRPr>", l += " </a:pPr></a:p>", l += " </c:txPr>", e === N.PIE && n.dataLabelPosition && (l += `<c:dLblPos val="${n.dataLabelPosition}"/>`), l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"" + (n.showValue ? "1" : "0") + "\"/>", l += " <c:showCatName val=\"" + (n.showLabel ? "1" : "0") + "\"/>", l += " <c:showSerName val=\"" + (n.showSerName ? "1" : "0") + "\"/>", l += " <c:showPercent val=\"" + (n.showPercent ? "1" : "0") + "\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += " </c:dLbl>";
|
|
1193
|
+
}), l += ` <c:numFmt formatCode="${V(n.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, l += " <c:txPr>", l += " <a:bodyPr/>", l += " <a:lstStyle/>", l += " <a:p>", l += " <a:pPr>", l += ` <a:defRPr sz="1800" b="${n.dataLabelFontBold ? "1" : "0"}" i="${n.dataLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, l += " <a:solidFill><a:srgbClr val=\"000000\"/></a:solidFill><a:latin typeface=\"Arial\"/>", l += " </a:defRPr>", l += " </a:pPr>", l += " </a:p>", l += " </c:txPr>", l += e === N.PIE ? "<c:dLblPos val=\"ctr\"/>" : "", l += " <c:showLegendKey val=\"0\"/>", l += " <c:showVal val=\"0\"/>", l += " <c:showCatName val=\"1\"/>", l += " <c:showSerName val=\"0\"/>", l += " <c:showPercent val=\"1\"/>", l += " <c:showBubbleSize val=\"0\"/>", l += ` <c:showLeaderLines val="${n.showLeaderLines ? "1" : "0"}"/>`, l += "</c:dLbls>", l += "<c:cat>", l += " <c:strRef>", l += ` <c:f>Sheet1!$A$2:$A$${c.labels[0].length + 1}</c:f>`, l += " <c:strCache>", l += ` <c:ptCount val="${c.labels[0].length}"/>`, c.labels[0].forEach((e, t) => {
|
|
1194
|
+
l += `<c:pt idx="${t}"><c:v>${V(e)}</c:v></c:pt>`;
|
|
1195
|
+
}), l += " </c:strCache>", l += " </c:strRef>", l += "</c:cat>", l += " <c:val>", l += " <c:numRef>", l += ` <c:f>Sheet1!$B$2:$B$${c.labels[0].length + 1}</c:f>`, l += " <c:numCache>", l += ` <c:ptCount val="${c.labels[0].length}"/>`, c.values.forEach((e, t) => {
|
|
1196
|
+
l += `<c:pt idx="${t}"><c:v>${e || e === 0 ? e : ""}</c:v></c:pt>`;
|
|
1197
|
+
}), l += " </c:numCache>", l += " </c:numRef>", l += " </c:val>", l += " </c:ser>", l += ` <c:firstSliceAng val="${n.firstSliceAng ? Math.round(n.firstSliceAng) : 0}"/>`, e === N.DOUGHNUT && (l += `<c:holeSize val="${typeof n.holeSize == "number" ? n.holeSize : "50"}"/>`), l += "</c:" + e + "Chart>";
|
|
1198
|
+
break;
|
|
1199
|
+
default:
|
|
1200
|
+
l += "";
|
|
1201
|
+
break;
|
|
1202
|
+
}
|
|
1203
|
+
return l;
|
|
1204
|
+
}
|
|
1205
|
+
function Ne(e, t, n) {
|
|
1206
|
+
let r = "";
|
|
1207
|
+
return e._type === N.SCATTER || e._type === N.BUBBLE || e._type === N.BUBBLE3D ? r += "<c:valAx>" : r += "<c:" + (e.catLabelFormatCode ? "dateAx" : "catAx") + ">", r += " <c:axId val=\"" + t + "\"/>", r += " <c:scaling>", r += "<c:orientation val=\"" + (e.catAxisOrientation || (e.barDir, "minMax")) + "\"/>", (e.catAxisMaxVal || e.catAxisMaxVal === 0) && (r += `<c:max val="${e.catAxisMaxVal}"/>`), (e.catAxisMinVal || e.catAxisMinVal === 0) && (r += `<c:min val="${e.catAxisMinVal}"/>`), r += "</c:scaling>", r += " <c:delete val=\"" + (e.catAxisHidden ? "1" : "0") + "\"/>", r += " <c:axPos val=\"" + (e.barDir === "col" ? "b" : "l") + "\"/>", r += e.catGridLine.style === "none" ? "" : Ie(e.catGridLine), e.showCatAxisTitle && (r += X({
|
|
1208
|
+
color: e.catAxisTitleColor,
|
|
1209
|
+
fontFace: e.catAxisTitleFontFace,
|
|
1210
|
+
fontSize: e.catAxisTitleFontSize,
|
|
1211
|
+
titleRotate: e.catAxisTitleRotate,
|
|
1212
|
+
title: e.catAxisTitle || "Axis Title"
|
|
1213
|
+
})), e._type === N.SCATTER || e._type === N.BUBBLE || e._type === N.BUBBLE3D ? r += " <c:numFmt formatCode=\"" + (e.valAxisLabelFormatCode ? V(e.valAxisLabelFormatCode) : "General") + "\" sourceLinked=\"1\"/>" : r += " <c:numFmt formatCode=\"" + (V(e.catLabelFormatCode) || "General") + "\" sourceLinked=\"1\"/>", e._type === N.SCATTER ? (r += " <c:majorTickMark val=\"none\"/>", r += " <c:minorTickMark val=\"none\"/>", r += " <c:tickLblPos val=\"nextTo\"/>") : (r += " <c:majorTickMark val=\"" + (e.catAxisMajorTickMark || "out") + "\"/>", r += " <c:minorTickMark val=\"" + (e.catAxisMinorTickMark || "none") + "\"/>", r += " <c:tickLblPos val=\"" + (e.catAxisLabelPos || (e.barDir === "col" ? "low" : "nextTo")) + "\"/>"), r += " <c:spPr>", r += ` <a:ln w="${e.catAxisLineSize ? U(e.catAxisLineSize) : a}" cap="flat">`, r += e.catAxisLineShow ? "<a:solidFill>" + G(e.catAxisLineColor || m.color) + "</a:solidFill>" : "<a:noFill/>", r += " <a:prstDash val=\"" + (e.catAxisLineStyle || "solid") + "\"/>", r += " <a:round/>", r += " </a:ln>", r += " </c:spPr>", r += " <c:txPr>", e.catAxisLabelRotate ? r += `<a:bodyPr rot="${W(e.catAxisLabelRotate)}"/>` : r += "<a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="${Math.round((e.catAxisLabelFontSize || g) * 100)}" b="${+!!e.catAxisLabelFontBold}" i="${+!!e.catAxisLabelFontItalic}" u="none" strike="noStrike">`, r += " <a:solidFill>" + G(e.catAxisLabelColor || h) + "</a:solidFill>", r += " <a:latin typeface=\"" + (e.catAxisLabelFontFace || "Arial") + "\"/>", r += " </a:defRPr>", r += " </a:pPr>", r += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", r += " </a:p>", r += " </c:txPr>", r += " <c:crossAx val=\"" + n + "\"/>", r += ` <c:${typeof e.valAxisCrossesAt == "number" ? "crossesAt" : "crosses"} val="${e.valAxisCrossesAt || "autoZero"}"/>`, r += " <c:auto val=\"1\"/>", r += " <c:lblAlgn val=\"ctr\"/>", r += ` <c:noMultiLvlLbl val="${+!e.catAxisMultiLevelLabels}"/>`, e.catAxisLabelFrequency && (r += " <c:tickLblSkip val=\"" + e.catAxisLabelFrequency + "\"/>"), (e.catLabelFormatCode || e._type === N.SCATTER || e._type === N.BUBBLE || e._type === N.BUBBLE3D) && (e.catLabelFormatCode && ([
|
|
1214
|
+
"catAxisBaseTimeUnit",
|
|
1215
|
+
"catAxisMajorTimeUnit",
|
|
1216
|
+
"catAxisMinorTimeUnit"
|
|
1217
|
+
].forEach((t) => {
|
|
1218
|
+
e[t] && (typeof e[t] != "string" || ![
|
|
1219
|
+
"days",
|
|
1220
|
+
"months",
|
|
1221
|
+
"years"
|
|
1222
|
+
].includes(e[t].toLowerCase())) && (console.warn(`"${t}" must be one of: 'days','months','years' !`), e[t] = null);
|
|
1223
|
+
}), e.catAxisBaseTimeUnit && (r += "<c:baseTimeUnit val=\"" + e.catAxisBaseTimeUnit.toLowerCase() + "\"/>"), e.catAxisMajorTimeUnit && (r += "<c:majorTimeUnit val=\"" + e.catAxisMajorTimeUnit.toLowerCase() + "\"/>"), e.catAxisMinorTimeUnit && (r += "<c:minorTimeUnit val=\"" + e.catAxisMinorTimeUnit.toLowerCase() + "\"/>")), e.catAxisMajorUnit && (r += `<c:majorUnit val="${e.catAxisMajorUnit}"/>`), e.catAxisMinorUnit && (r += `<c:minorUnit val="${e.catAxisMinorUnit}"/>`)), e._type === N.SCATTER || e._type === N.BUBBLE || e._type === N.BUBBLE3D ? r += "</c:valAx>" : r += "</c:" + (e.catLabelFormatCode ? "dateAx" : "catAx") + ">", r;
|
|
1224
|
+
}
|
|
1225
|
+
function Pe(e, t) {
|
|
1226
|
+
let n = t === w ? e.barDir === "col" ? "l" : "b" : e.barDir === "col" ? "t" : "r";
|
|
1227
|
+
t === T && (n = "r");
|
|
1228
|
+
let r = t === w ? E : te, i = "";
|
|
1229
|
+
return i += "<c:valAx>", i += " <c:axId val=\"" + t + "\"/>", i += " <c:scaling>", e.valAxisLogScaleBase && (i += `<c:logBase val="${e.valAxisLogScaleBase}"/>`), i += "<c:orientation val=\"" + (e.valAxisOrientation || (e.barDir, "minMax")) + "\"/>", (e.valAxisMaxVal || e.valAxisMaxVal === 0) && (i += `<c:max val="${e.valAxisMaxVal}"/>`), (e.valAxisMinVal || e.valAxisMinVal === 0) && (i += `<c:min val="${e.valAxisMinVal}"/>`), i += " </c:scaling>", i += ` <c:delete val="${+!!e.valAxisHidden}"/>`, i += " <c:axPos val=\"" + n + "\"/>", e.valGridLine.style !== "none" && (i += Ie(e.valGridLine)), e.showValAxisTitle && (i += X({
|
|
1230
|
+
color: e.valAxisTitleColor,
|
|
1231
|
+
fontFace: e.valAxisTitleFontFace,
|
|
1232
|
+
fontSize: e.valAxisTitleFontSize,
|
|
1233
|
+
titleRotate: e.valAxisTitleRotate,
|
|
1234
|
+
title: e.valAxisTitle || "Axis Title"
|
|
1235
|
+
})), i += `<c:numFmt formatCode="${e.valAxisLabelFormatCode ? V(e.valAxisLabelFormatCode) : "General"}" sourceLinked="0"/>`, e._type === N.SCATTER ? (i += " <c:majorTickMark val=\"none\"/>", i += " <c:minorTickMark val=\"none\"/>", i += " <c:tickLblPos val=\"nextTo\"/>") : (i += " <c:majorTickMark val=\"" + (e.valAxisMajorTickMark || "out") + "\"/>", i += " <c:minorTickMark val=\"" + (e.valAxisMinorTickMark || "none") + "\"/>", i += " <c:tickLblPos val=\"" + (e.valAxisLabelPos || (e.barDir === "col" ? "nextTo" : "low")) + "\"/>"), i += " <c:spPr>", i += ` <a:ln w="${e.valAxisLineSize ? U(e.valAxisLineSize) : a}" cap="flat">`, i += e.valAxisLineShow ? "<a:solidFill>" + G(e.valAxisLineColor || m.color) + "</a:solidFill>" : "<a:noFill/>", i += " <a:prstDash val=\"" + (e.valAxisLineStyle || "solid") + "\"/>", i += " <a:round/>", i += " </a:ln>", i += " </c:spPr>", i += " <c:txPr>", i += ` <a:bodyPr${e.valAxisLabelRotate ? " rot=\"" + W(e.valAxisLabelRotate).toString() + "\"" : ""}/>`, i += " <a:lstStyle/>", i += " <a:p>", i += " <a:pPr>", i += ` <a:defRPr sz="${Math.round((e.valAxisLabelFontSize || g) * 100)}" b="${+!!e.valAxisLabelFontBold}" i="${+!!e.valAxisLabelFontItalic}" u="none" strike="noStrike">`, i += " <a:solidFill>" + G(e.valAxisLabelColor || h) + "</a:solidFill>", i += " <a:latin typeface=\"" + (e.valAxisLabelFontFace || "Arial") + "\"/>", i += " </a:defRPr>", i += " </a:pPr>", i += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", i += " </a:p>", i += " </c:txPr>", i += " <c:crossAx val=\"" + r + "\"/>", typeof e.catAxisCrossesAt == "number" ? i += ` <c:crossesAt val="${e.catAxisCrossesAt}"/>` : typeof e.catAxisCrossesAt == "string" ? i += " <c:crosses val=\"" + e.catAxisCrossesAt + "\"/>" : i += " <c:crosses val=\"" + (n === "r" || n === "t" ? "max" : "autoZero") + "\"/>", i += " <c:crossBetween val=\"" + (e._type === N.SCATTER || Array.isArray(e._type) && e._type.filter((e) => e.type === N.AREA).length > 0 ? "midCat" : "between") + "\"/>", e.valAxisMajorUnit && (i += ` <c:majorUnit val="${e.valAxisMajorUnit}"/>`), e.valAxisDisplayUnit && (i += `<c:dispUnits><c:builtInUnit val="${e.valAxisDisplayUnit}"/>${e.valAxisDisplayUnitLabel ? "<c:dispUnitsLbl/>" : ""}</c:dispUnits>`), i += "</c:valAx>", i;
|
|
1236
|
+
}
|
|
1237
|
+
function Fe(e, t, n) {
|
|
1238
|
+
let r = "";
|
|
1239
|
+
return r += "<c:serAx>", r += " <c:axId val=\"" + t + "\"/>", r += " <c:scaling><c:orientation val=\"" + (e.serAxisOrientation || (e.barDir, "minMax")) + "\"/></c:scaling>", r += " <c:delete val=\"" + (e.serAxisHidden ? "1" : "0") + "\"/>", r += " <c:axPos val=\"" + (e.barDir === "col" ? "b" : "l") + "\"/>", r += e.serGridLine.style === "none" ? "" : Ie(e.serGridLine), e.showSerAxisTitle && (r += X({
|
|
1240
|
+
color: e.serAxisTitleColor,
|
|
1241
|
+
fontFace: e.serAxisTitleFontFace,
|
|
1242
|
+
fontSize: e.serAxisTitleFontSize,
|
|
1243
|
+
titleRotate: e.serAxisTitleRotate,
|
|
1244
|
+
title: e.serAxisTitle || "Axis Title"
|
|
1245
|
+
})), r += ` <c:numFmt formatCode="${V(e.serLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:majorTickMark val=\"out\"/>", r += " <c:minorTickMark val=\"none\"/>", r += ` <c:tickLblPos val="${e.serAxisLabelPos || e.barDir === "col" ? "low" : "nextTo"}"/>`, r += " <c:spPr>", r += " <a:ln w=\"12700\" cap=\"flat\">", r += e.serAxisLineShow ? `<a:solidFill>${G(e.serAxisLineColor || m.color)}</a:solidFill>` : "<a:noFill/>", r += " <a:prstDash val=\"solid\"/>", r += " <a:round/>", r += " </a:ln>", r += " </c:spPr>", r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="${Math.round((e.serAxisLabelFontSize || g) * 100)}" b="${e.serAxisLabelFontBold ? "1" : "0"}" i="${e.serAxisLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, r += ` <a:solidFill>${G(e.serAxisLabelColor || h)}</a:solidFill>`, r += ` <a:latin typeface="${e.serAxisLabelFontFace || "Arial"}"/>`, r += " </a:defRPr>", r += " </a:pPr>", r += " <a:endParaRPr lang=\"" + (e.lang || "en-US") + "\"/>", r += " </a:p>", r += " </c:txPr>", r += " <c:crossAx val=\"" + n + "\"/>", r += " <c:crosses val=\"autoZero\"/>", e.serAxisLabelFrequency && (r += " <c:tickLblSkip val=\"" + e.serAxisLabelFrequency + "\"/>"), e.serLabelFormatCode && ([
|
|
1246
|
+
"serAxisBaseTimeUnit",
|
|
1247
|
+
"serAxisMajorTimeUnit",
|
|
1248
|
+
"serAxisMinorTimeUnit"
|
|
1249
|
+
].forEach((t) => {
|
|
1250
|
+
e[t] && (typeof e[t] != "string" || ![
|
|
1251
|
+
"days",
|
|
1252
|
+
"months",
|
|
1253
|
+
"years"
|
|
1254
|
+
].includes(t.toLowerCase())) && (console.warn(`"${t}" must be one of: 'days','months','years' !`), e[t] = null);
|
|
1255
|
+
}), e.serAxisBaseTimeUnit && (r += ` <c:baseTimeUnit val="${e.serAxisBaseTimeUnit.toLowerCase()}"/>`), e.serAxisMajorTimeUnit && (r += ` <c:majorTimeUnit val="${e.serAxisMajorTimeUnit.toLowerCase()}"/>`), e.serAxisMinorTimeUnit && (r += ` <c:minorTimeUnit val="${e.serAxisMinorTimeUnit.toLowerCase()}"/>`), e.serAxisMajorUnit && (r += ` <c:majorUnit val="${e.serAxisMajorUnit}"/>`), e.serAxisMinorUnit && (r += ` <c:minorUnit val="${e.serAxisMinorUnit}"/>`)), r += "</c:serAx>", r;
|
|
1256
|
+
}
|
|
1257
|
+
function X(e, t, n) {
|
|
1258
|
+
let r = e.titleAlign === "left" || e.titleAlign === "right" ? `<a:pPr algn="${e.titleAlign.substring(0, 1)}">` : "<a:pPr>", i = e.titleRotate ? `<a:bodyPr rot="${W(e.titleRotate)}"/>` : "<a:bodyPr/>", a = e.fontSize ? `sz="${Math.round(e.fontSize * 100)}"` : "", o = +!!e.titleBold, s = "<c:layout/>";
|
|
1259
|
+
if (e.titlePos && typeof e.titlePos.x == "number" && typeof e.titlePos.y == "number") {
|
|
1260
|
+
let r = e.titlePos.x + t, i = e.titlePos.y + n, a = r === 0 ? 0 : r / 5 * r / 10;
|
|
1261
|
+
a >= 1 && (a /= 10), a >= .1 && (a /= 10);
|
|
1262
|
+
let o = i === 0 ? 0 : i / 5 * i / 10;
|
|
1263
|
+
o >= 1 && (o /= 10), o >= .1 && (o /= 10), s = `<c:layout><c:manualLayout><c:xMode val="edge"/><c:yMode val="edge"/><c:x val="${a}"/><c:y val="${o}"/></c:manualLayout></c:layout>`;
|
|
1264
|
+
}
|
|
1265
|
+
return `<c:title>
|
|
1266
|
+
<c:tx>
|
|
1267
|
+
<c:rich>
|
|
1268
|
+
${i}
|
|
1269
|
+
<a:lstStyle/>
|
|
1270
|
+
<a:p>
|
|
1271
|
+
${r}
|
|
1272
|
+
<a:defRPr ${a} b="${o}" i="0" u="none" strike="noStrike">
|
|
1273
|
+
<a:solidFill>${G(e.color || h)}</a:solidFill>
|
|
1274
|
+
<a:latin typeface="${e.fontFace || "Arial"}"/>
|
|
1275
|
+
</a:defRPr>
|
|
1276
|
+
</a:pPr>
|
|
1277
|
+
<a:r>
|
|
1278
|
+
<a:rPr ${a} b="${o}" i="0" u="none" strike="noStrike">
|
|
1279
|
+
<a:solidFill>${G(e.color || h)}</a:solidFill>
|
|
1280
|
+
<a:latin typeface="${e.fontFace || "Arial"}"/>
|
|
1281
|
+
</a:rPr>
|
|
1282
|
+
<a:t>${V(e.title) || ""}</a:t>
|
|
1283
|
+
</a:r>
|
|
1284
|
+
</a:p>
|
|
1285
|
+
</c:rich>
|
|
1286
|
+
</c:tx>
|
|
1287
|
+
${s}
|
|
1288
|
+
<c:overlay val="0"/>
|
|
1289
|
+
</c:title>`;
|
|
1290
|
+
}
|
|
1291
|
+
function Z(e) {
|
|
1292
|
+
let t = "", n = e - 1;
|
|
1293
|
+
return t = n <= 25 ? D[n] : `${D[Math.floor(n / D.length - 1)]}${D[n % D.length]}`, t;
|
|
1294
|
+
}
|
|
1295
|
+
function Q(e, t) {
|
|
1296
|
+
if (!e) return "<a:effectLst/>";
|
|
1297
|
+
if (typeof e != "object") return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"), "<a:effectLst/>";
|
|
1298
|
+
let n = "<a:effectLst>", r = Object.assign(Object.assign({}, t), e), i = r.type || "outer", a = U(r.blur), o = U(r.offset), s = Math.round(r.angle * 6e4), c = r.color, l = Math.round(r.opacity * 1e5), u = +!!r.rotateWithShape;
|
|
1299
|
+
return n += `<a:${i}Shdw sx="100000" sy="100000" kx="0" ky="0" algn="bl" blurRad="${a}" rotWithShape="${u}" dist="${o}" dir="${s}">`, n += `<a:srgbClr val="${c}">`, n += `<a:alpha val="${l}"/></a:srgbClr>`, n += `</a:${i}Shdw>`, n += "</a:effectLst>", n;
|
|
1300
|
+
}
|
|
1301
|
+
function Ie(e) {
|
|
1302
|
+
let t = "<c:majorGridlines>";
|
|
1303
|
+
return t += " <c:spPr>", t += ` <a:ln w="${U(e.size || m.size)}" cap="${$(e.cap || m.cap)}">`, t += " <a:solidFill><a:srgbClr val=\"" + (e.color || m.color) + "\"/></a:solidFill>", t += " <a:prstDash val=\"" + (e.style || m.style) + "\"/><a:round/>", t += " </a:ln>", t += " </c:spPr>", t += "</c:majorGridlines>", t;
|
|
1304
|
+
}
|
|
1305
|
+
function $(e) {
|
|
1306
|
+
if (!e || e === "flat") return "flat";
|
|
1307
|
+
if (e === "square") return "sq";
|
|
1308
|
+
if (e === "round") return "rnd";
|
|
1309
|
+
throw Error(`Invalid chart line cap: ${e}`);
|
|
1310
|
+
}
|
|
1311
|
+
function Le(t) {
|
|
1312
|
+
let n = typeof process < "u" && !!process.versions?.node && process.release?.name === "node", i, a, o = n ? () => r(this, void 0, void 0, function* () {
|
|
1313
|
+
({default: i} = yield import("../../../_virtual/__vite-browser-external.js").then((t) => /* @__PURE__ */ e(t.default))), {default: a} = yield import("../../../_virtual/__vite-browser-external.js").then((t) => /* @__PURE__ */ e(t.default));
|
|
1314
|
+
}) : () => r(this, void 0, void 0, function* () {});
|
|
1315
|
+
n && o();
|
|
1316
|
+
let s = [], c = t._relsMedia.filter((e) => e.type !== "online" && !e.data && (!e.path || e.path && !e.path.includes("preencoded"))), l = [];
|
|
1317
|
+
return c.forEach((e) => {
|
|
1318
|
+
l.includes(e.path) ? e.isDuplicate = !0 : (e.isDuplicate = !1, l.push(e.path));
|
|
1319
|
+
}), c.filter((e) => !e.isDuplicate).forEach((e) => {
|
|
1320
|
+
s.push(r(this, void 0, void 0, function* () {
|
|
1321
|
+
if (a || (yield o()), n && i && e.path.indexOf("http") !== 0) try {
|
|
1322
|
+
let t = i.readFileSync(e.path);
|
|
1323
|
+
return e.data = Buffer.from(t).toString("base64"), c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), "done";
|
|
1324
|
+
} catch (t) {
|
|
1325
|
+
throw e.data = R, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), Error(`ERROR: Unable to read media: "${e.path}"\n${String(t)}`);
|
|
1326
|
+
}
|
|
1327
|
+
return n && a && e.path.startsWith("http") ? yield new Promise((t, n) => {
|
|
1328
|
+
a.get(e.path, (r) => {
|
|
1329
|
+
let i = "";
|
|
1330
|
+
r.setEncoding("binary"), r.on("data", (e) => i += e), r.on("end", () => {
|
|
1331
|
+
e.data = Buffer.from(i, "binary").toString("base64"), c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), t("done");
|
|
1332
|
+
}), r.on("error", () => {
|
|
1333
|
+
e.data = R, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), n(/* @__PURE__ */ Error(`ERROR! Unable to load image (https.get): ${e.path}`));
|
|
1334
|
+
});
|
|
1335
|
+
});
|
|
1336
|
+
}) : yield new Promise((t, n) => {
|
|
1337
|
+
let r = new XMLHttpRequest();
|
|
1338
|
+
r.onload = () => {
|
|
1339
|
+
let i = new FileReader();
|
|
1340
|
+
i.onloadend = () => {
|
|
1341
|
+
e.data = i.result, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), e.isSvgPng ? Re(e).then(() => t("done")).catch(n) : t("done");
|
|
1342
|
+
}, i.readAsDataURL(r.response);
|
|
1343
|
+
}, r.onerror = () => {
|
|
1344
|
+
e.data = R, c.filter((t) => t.isDuplicate && t.path === e.path).forEach((t) => t.data = e.data), n(/* @__PURE__ */ Error(`ERROR! Unable to load image (xhr.onerror): ${e.path}`));
|
|
1345
|
+
}, r.open("GET", e.path), r.responseType = "blob", r.send();
|
|
1346
|
+
});
|
|
1347
|
+
}));
|
|
1348
|
+
}), t._relsMedia.filter((e) => e.isSvgPng && e.data).forEach((e) => {
|
|
1349
|
+
r(this, void 0, void 0, function* () {
|
|
1350
|
+
n && !i && (yield o()), n && i ? (e.data = R, s.push(Promise.resolve("done"))) : s.push(Re(e));
|
|
1351
|
+
});
|
|
1352
|
+
}), s;
|
|
1353
|
+
}
|
|
1354
|
+
function Re(e) {
|
|
1355
|
+
return r(this, void 0, void 0, function* () {
|
|
1356
|
+
return yield new Promise((t, n) => {
|
|
1357
|
+
let r = new Image();
|
|
1358
|
+
r.onload = () => {
|
|
1359
|
+
r.width + r.height === 0 && r.onerror("h/w=0");
|
|
1360
|
+
let n = document.createElement("CANVAS"), i = n.getContext("2d");
|
|
1361
|
+
n.width = r.width, n.height = r.height, i.drawImage(r, 0, 0);
|
|
1362
|
+
try {
|
|
1363
|
+
e.data = n.toDataURL(e.type), t("done");
|
|
1364
|
+
} catch (e) {
|
|
1365
|
+
r.onerror(e.toString());
|
|
1366
|
+
}
|
|
1367
|
+
n = null;
|
|
1368
|
+
}, r.onerror = () => {
|
|
1369
|
+
e.data = R, n(/* @__PURE__ */ Error(`ERROR! Unable to load image (image.onerror): ${e.path}`));
|
|
1370
|
+
}, r.src = typeof e.data == "string" ? e.data : R;
|
|
1371
|
+
});
|
|
1372
|
+
});
|
|
1373
|
+
}
|
|
1374
|
+
var ze = {
|
|
1375
|
+
cover: function(e, t) {
|
|
1376
|
+
let n = e.h / e.w, r = t.h / t.w > n, i = r ? t.h / n : t.w, a = r ? t.h : t.w * n, o = Math.round(1e5 * .5 * (1 - t.w / i)), s = Math.round(1e5 * .5 * (1 - t.h / a));
|
|
1377
|
+
return `<a:srcRect l="${o}" r="${o}" t="${s}" b="${s}"/><a:stretch/>`;
|
|
1378
|
+
},
|
|
1379
|
+
contain: function(e, t) {
|
|
1380
|
+
let n = e.h / e.w, r = t.h / t.w > n, i = r ? t.w : t.h / n, a = r ? t.w * n : t.h, o = Math.round(1e5 * .5 * (1 - t.w / i)), s = Math.round(1e5 * .5 * (1 - t.h / a));
|
|
1381
|
+
return `<a:srcRect l="${o}" r="${o}" t="${s}" b="${s}"/><a:stretch/>`;
|
|
1382
|
+
},
|
|
1383
|
+
crop: function(e, t) {
|
|
1384
|
+
let n = t.x, r = e.w - (t.x + t.w), i = t.y, a = e.h - (t.y + t.h);
|
|
1385
|
+
return `<a:srcRect l="${Math.round(1e5 * (n / e.w))}" r="${Math.round(1e5 * (r / e.w))}" t="${Math.round(1e5 * (i / e.h))}" b="${Math.round(1e5 * (a / e.h))}"/><a:stretch/>`;
|
|
1386
|
+
}
|
|
1387
|
+
};
|
|
1388
|
+
function Be(e) {
|
|
1389
|
+
let t = e._name ? "<p:cSld name=\"" + e._name + "\">" : "<p:cSld>", n = 1;
|
|
1390
|
+
return e._bkgdImgRid ? t += `<p:bg><p:bgPr><a:blipFill dpi="0" rotWithShape="1"><a:blip r:embed="rId${e._bkgdImgRid}"><a:lum/></a:blip><a:srcRect/><a:stretch><a:fillRect/></a:stretch></a:blipFill><a:effectLst/></p:bgPr></p:bg>` : e.background?.color ? t += `<p:bg><p:bgPr>${K(e.background)}</p:bgPr></p:bg>` : !e.bkgd && e._name && e._name === y && (t += "<p:bg><p:bgRef idx=\"1001\"><a:schemeClr val=\"bg1\"/></p:bgRef></p:bg>"), t += "<p:spTree>", t += "<p:nvGrpSpPr><p:cNvPr id=\"1\" name=\"\"/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr>", t += "<p:grpSpPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/>", t += "<a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>", e._slideObjects.forEach((r, a) => {
|
|
1391
|
+
var o;
|
|
1392
|
+
let s = 0, c = 0, l = z("75%", "X", e._presLayout), u = 0, d, p = "", m = null, h = null, g = 0, _ = 0, v = null, y = null, b = r.options?.sizing, x = r.options?.rounding;
|
|
1393
|
+
e._slideLayout !== void 0 && e._slideLayout._slideObjects !== void 0 && r.options && r.options.placeholder && (d = e._slideLayout._slideObjects.filter((e) => e.options.placeholder === r.options.placeholder)[0]), r.options = r.options || {}, r.options.x !== void 0 && (s = z(r.options.x, "X", e._presLayout)), r.options.y !== void 0 && (c = z(r.options.y, "Y", e._presLayout)), r.options.w !== void 0 && (l = z(r.options.w, "X", e._presLayout)), r.options.h !== void 0 && (u = z(r.options.h, "Y", e._presLayout));
|
|
1394
|
+
let S = l, C = u;
|
|
1395
|
+
switch (d && ((d.options.x || d.options.x === 0) && (s = z(d.options.x, "X", e._presLayout)), (d.options.y || d.options.y === 0) && (c = z(d.options.y, "Y", e._presLayout)), (d.options.w || d.options.w === 0) && (l = z(d.options.w, "X", e._presLayout)), (d.options.h || d.options.h === 0) && (u = z(d.options.h, "Y", e._presLayout))), r.options.flipH && (p += " flipH=\"1\""), r.options.flipV && (p += " flipV=\"1\""), r.options.rotate && (p += ` rot="${W(r.options.rotate)}"`), r._type) {
|
|
1396
|
+
case F.table:
|
|
1397
|
+
if (m = r.arrTabRows, h = r.options, g = 0, _ = 0, m[0].forEach((e) => {
|
|
1398
|
+
v = e.options || null, g += v?.colspan ? Number(v.colspan) : 1;
|
|
1399
|
+
}), y = `<p:graphicFrame><p:nvGraphicFramePr><p:cNvPr id="${n * e._slideNum + 1}" name="${r.options.objectName}"/>`, y += "<p:cNvGraphicFramePr><a:graphicFrameLocks noGrp=\"1\"/></p:cNvGraphicFramePr> <p:nvPr><p:extLst><p:ext uri=\"{D42A27DB-BD31-4B8C-83A1-F6EECF244321}\"><p14:modId xmlns:p14=\"http://schemas.microsoft.com/office/powerpoint/2010/main\" val=\"1579011935\"/></p:ext></p:extLst></p:nvPr></p:nvGraphicFramePr>", y += `<p:xfrm><a:off x="${s || (s === 0 ? 0 : i)}" y="${c || (c === 0 ? 0 : i)}"/><a:ext cx="${l || (l === 0 ? 0 : i)}" cy="${u || i}"/></p:xfrm>`, y += "<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/table\"><a:tbl><a:tblPr/>", Array.isArray(h.colW)) {
|
|
1400
|
+
y += "<a:tblGrid>";
|
|
1401
|
+
for (let e = 0; e < g; e++) {
|
|
1402
|
+
let t = H(h.colW[e]);
|
|
1403
|
+
(t == null || isNaN(t)) && (t = (typeof r.options.w == "number" ? r.options.w : 1) / g), y += `<a:gridCol w="${Math.round(t)}"/>`;
|
|
1404
|
+
}
|
|
1405
|
+
y += "</a:tblGrid>";
|
|
1406
|
+
} else {
|
|
1407
|
+
_ = h.colW ? h.colW : i, r.options.w && !h.colW && (_ = Math.round((typeof r.options.w == "number" ? r.options.w : 1) / g)), y += "<a:tblGrid>";
|
|
1408
|
+
for (let e = 0; e < g; e++) y += `<a:gridCol w="${_}"/>`;
|
|
1409
|
+
y += "</a:tblGrid>";
|
|
1410
|
+
}
|
|
1411
|
+
m.forEach((e) => {
|
|
1412
|
+
for (let t = 0; t < e.length;) {
|
|
1413
|
+
let n = e[t], r = n.options?.colspan, i = n.options?.rowspan;
|
|
1414
|
+
if (r && r > 1) {
|
|
1415
|
+
let n = Array(r - 1).fill(void 0).map(() => ({
|
|
1416
|
+
_type: F.tablecell,
|
|
1417
|
+
options: { rowspan: i },
|
|
1418
|
+
_hmerge: !0
|
|
1419
|
+
}));
|
|
1420
|
+
e.splice(t + 1, 0, ...n), t += r;
|
|
1421
|
+
} else t += 1;
|
|
1422
|
+
}
|
|
1423
|
+
}), m.forEach((e, t) => {
|
|
1424
|
+
let n = m[t + 1];
|
|
1425
|
+
n && e.forEach((e, t) => {
|
|
1426
|
+
let r = e._rowContinue || e.options?.rowspan, i = e.options?.colspan, a = e._hmerge;
|
|
1427
|
+
if (r && r > 1) {
|
|
1428
|
+
let e = {
|
|
1429
|
+
_type: F.tablecell,
|
|
1430
|
+
options: { colspan: i },
|
|
1431
|
+
_rowContinue: r - 1,
|
|
1432
|
+
_vmerge: !0,
|
|
1433
|
+
_hmerge: a
|
|
1434
|
+
};
|
|
1435
|
+
n.splice(t, 0, e);
|
|
1436
|
+
}
|
|
1437
|
+
});
|
|
1438
|
+
}), m.forEach((e, t) => {
|
|
1439
|
+
let n = 0;
|
|
1440
|
+
Array.isArray(h.rowH) && h.rowH[t] ? n = H(Number(h.rowH[t])) : h.rowH && !isNaN(Number(h.rowH)) ? n = H(Number(h.rowH)) : (r.options.cy || r.options.h) && (n = Math.round((r.options.h ? H(r.options.h) : typeof r.options.cy == "number" ? r.options.cy : 1) / m.length)), y += `<a:tr h="${n}">`, e.forEach((e) => {
|
|
1441
|
+
let t = e, n = {
|
|
1442
|
+
rowSpan: t.options?.rowspan > 1 ? t.options.rowspan : void 0,
|
|
1443
|
+
gridSpan: t.options?.colspan > 1 ? t.options.colspan : void 0,
|
|
1444
|
+
vMerge: t._vmerge ? 1 : void 0,
|
|
1445
|
+
hMerge: t._hmerge ? 1 : void 0
|
|
1446
|
+
}, r = Object.keys(n).map((e) => [e, n[e]]).filter(([, e]) => !!e).map(([e, t]) => `${String(e)}="${String(t)}"`).join(" ");
|
|
1447
|
+
if (r &&= " " + r, t._hmerge || t._vmerge) {
|
|
1448
|
+
y += `<a:tc${r}><a:tcPr/></a:tc>`;
|
|
1449
|
+
return;
|
|
1450
|
+
}
|
|
1451
|
+
let i = t.options || {};
|
|
1452
|
+
t.options = i, [
|
|
1453
|
+
"align",
|
|
1454
|
+
"bold",
|
|
1455
|
+
"border",
|
|
1456
|
+
"color",
|
|
1457
|
+
"fill",
|
|
1458
|
+
"fontFace",
|
|
1459
|
+
"fontSize",
|
|
1460
|
+
"margin",
|
|
1461
|
+
"textDirection",
|
|
1462
|
+
"underline",
|
|
1463
|
+
"valign"
|
|
1464
|
+
].forEach((e) => {
|
|
1465
|
+
h[e] && !i[e] && i[e] !== 0 && (i[e] = h[e]);
|
|
1466
|
+
});
|
|
1467
|
+
let a = i.valign ? ` anchor="${i.valign.replace(/^c$/i, "ctr").replace(/^m$/i, "ctr").replace("center", "ctr").replace("middle", "ctr").replace("top", "t").replace("btm", "b").replace("bottom", "b")}"` : "", o = i.textDirection && i.textDirection !== "horz" ? ` vert="${i.textDirection}"` : "", s = t._optImp?.fill?.color ? t._optImp.fill.color : t._optImp?.fill && typeof t._optImp.fill == "string" ? t._optImp.fill : "";
|
|
1468
|
+
s = s || i.fill ? i.fill : "";
|
|
1469
|
+
let c = s ? K(s) : "", l = i.margin === 0 || i.margin ? i.margin : f;
|
|
1470
|
+
!Array.isArray(l) && typeof l == "number" && (l = [
|
|
1471
|
+
l,
|
|
1472
|
+
l,
|
|
1473
|
+
l,
|
|
1474
|
+
l
|
|
1475
|
+
]);
|
|
1476
|
+
let u = "";
|
|
1477
|
+
u = l[0] >= 1 ? ` marL="${U(l[3])}" marR="${U(l[1])}" marT="${U(l[0])}" marB="${U(l[2])}"` : ` marL="${H(l[3])}" marR="${H(l[1])}" marT="${H(l[0])}" marB="${H(l[2])}"`, y += `<a:tc${r}>${Ke(t)}<a:tcPr${u}${a}${o}>`, i.border && Array.isArray(i.border) && [
|
|
1478
|
+
{
|
|
1479
|
+
idx: 3,
|
|
1480
|
+
name: "lnL"
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
idx: 1,
|
|
1484
|
+
name: "lnR"
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
idx: 0,
|
|
1488
|
+
name: "lnT"
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
idx: 2,
|
|
1492
|
+
name: "lnB"
|
|
1493
|
+
}
|
|
1494
|
+
].forEach((e) => {
|
|
1495
|
+
i.border[e.idx].type === "none" ? y += `<a:${e.name} w="0" cap="flat" cmpd="sng" algn="ctr"><a:noFill/></a:${e.name}>` : (y += `<a:${e.name} w="${U(i.border[e.idx].pt)}" cap="flat" cmpd="sng" algn="ctr">`, y += `<a:solidFill>${G(i.border[e.idx].color)}</a:solidFill>`, y += `<a:prstDash val="${i.border[e.idx].type === "dash" ? "sysDash" : "solid"}"/><a:round/><a:headEnd type="none" w="med" len="med"/><a:tailEnd type="none" w="med" len="med"/>`, y += `</a:${e.name}>`);
|
|
1496
|
+
}), y += c, y += " </a:tcPr>", y += " </a:tc>";
|
|
1497
|
+
}), y += "</a:tr>";
|
|
1498
|
+
}), y += " </a:tbl>", y += " </a:graphicData>", y += " </a:graphic>", y += "</p:graphicFrame>", t += y, n++;
|
|
1499
|
+
break;
|
|
1500
|
+
case F.text:
|
|
1501
|
+
case F.placeholder:
|
|
1502
|
+
if (!r.options.line && u === 0 && (u = i * .3), r.options._bodyProp || (r.options._bodyProp = {}), r.options.margin && Array.isArray(r.options.margin) ? (r.options._bodyProp.lIns = U(r.options.margin[0] || 0), r.options._bodyProp.rIns = U(r.options.margin[1] || 0), r.options._bodyProp.bIns = U(r.options.margin[2] || 0), r.options._bodyProp.tIns = U(r.options.margin[3] || 0)) : typeof r.options.margin == "number" && (r.options._bodyProp.lIns = U(r.options.margin), r.options._bodyProp.rIns = U(r.options.margin), r.options._bodyProp.bIns = U(r.options.margin), r.options._bodyProp.tIns = U(r.options.margin)), t += "<p:sp>", t += `<p:nvSpPr><p:cNvPr id="${a + 2}" name="${r.options.objectName}">`, r.options.hyperlink?.url && (t += `<a:hlinkClick r:id="rId${r.options.hyperlink._rId}" tooltip="${r.options.hyperlink.tooltip ? V(r.options.hyperlink.tooltip) : ""}"/>`), r.options.hyperlink?.slide && (t += `<a:hlinkClick r:id="rId${r.options.hyperlink._rId}" tooltip="${r.options.hyperlink.tooltip ? V(r.options.hyperlink.tooltip) : ""}" action="ppaction://hlinksldjump"/>`), t += "</p:cNvPr>", t += "<p:cNvSpPr" + (r.options?.isTextBox ? " txBox=\"1\"/>" : "/>"), t += `<p:nvPr>${r._type === "placeholder" ? qe(r) : qe(d)}</p:nvPr>`, t += "</p:nvSpPr><p:spPr>", t += `<a:xfrm${p}>`, t += `<a:off x="${s}" y="${c}"/>`, t += `<a:ext cx="${l}" cy="${u}"/></a:xfrm>`, r.shape === "custGeom") t += "<a:custGeom><a:avLst />", t += "<a:gdLst>", t += "</a:gdLst>", t += "<a:ahLst />", t += "<a:cxnLst>", t += "</a:cxnLst>", t += "<a:rect l=\"l\" t=\"t\" r=\"r\" b=\"b\" />", t += "<a:pathLst>", t += `<a:path w="${l}" h="${u}">`, (o = r.options.points) == null || o.forEach((n, r) => {
|
|
1503
|
+
if ("curve" in n) switch (n.curve.type) {
|
|
1504
|
+
case "arc":
|
|
1505
|
+
t += `<a:arcTo hR="${z(n.curve.hR, "Y", e._presLayout)}" wR="${z(n.curve.wR, "X", e._presLayout)}" stAng="${W(n.curve.stAng)}" swAng="${W(n.curve.swAng)}" />`;
|
|
1506
|
+
break;
|
|
1507
|
+
case "cubic":
|
|
1508
|
+
t += `<a:cubicBezTo>
|
|
1509
|
+
<a:pt x="${z(n.curve.x1, "X", e._presLayout)}" y="${z(n.curve.y1, "Y", e._presLayout)}" />
|
|
1510
|
+
<a:pt x="${z(n.curve.x2, "X", e._presLayout)}" y="${z(n.curve.y2, "Y", e._presLayout)}" />
|
|
1511
|
+
<a:pt x="${z(n.x, "X", e._presLayout)}" y="${z(n.y, "Y", e._presLayout)}" />
|
|
1512
|
+
</a:cubicBezTo>`;
|
|
1513
|
+
break;
|
|
1514
|
+
case "quadratic":
|
|
1515
|
+
t += `<a:quadBezTo>
|
|
1516
|
+
<a:pt x="${z(n.curve.x1, "X", e._presLayout)}" y="${z(n.curve.y1, "Y", e._presLayout)}" />
|
|
1517
|
+
<a:pt x="${z(n.x, "X", e._presLayout)}" y="${z(n.y, "Y", e._presLayout)}" />
|
|
1518
|
+
</a:quadBezTo>`;
|
|
1519
|
+
break;
|
|
1520
|
+
}
|
|
1521
|
+
else "close" in n ? t += "<a:close />" : n.moveTo || r === 0 ? t += `<a:moveTo><a:pt x="${z(n.x, "X", e._presLayout)}" y="${z(n.y, "Y", e._presLayout)}" /></a:moveTo>` : t += `<a:lnTo><a:pt x="${z(n.x, "X", e._presLayout)}" y="${z(n.y, "Y", e._presLayout)}" /></a:lnTo>`;
|
|
1522
|
+
}), t += "</a:path>", t += "</a:pathLst>", t += "</a:custGeom>";
|
|
1523
|
+
else {
|
|
1524
|
+
if (t += "<a:prstGeom prst=\"" + r.shape + "\"><a:avLst>", r.options.rectRadius) t += `<a:gd name="adj" fmla="val ${Math.round(r.options.rectRadius * i * 1e5 / Math.min(l, u))}"/>`;
|
|
1525
|
+
else if (r.options.angleRange) {
|
|
1526
|
+
for (let e = 0; e < 2; e++) {
|
|
1527
|
+
let n = r.options.angleRange[e];
|
|
1528
|
+
t += `<a:gd name="adj${e + 1}" fmla="val ${W(n)}" />`;
|
|
1529
|
+
}
|
|
1530
|
+
r.options.arcThicknessRatio && (t += `<a:gd name="adj3" fmla="val ${Math.round(r.options.arcThicknessRatio * 5e4)}" />`);
|
|
1531
|
+
}
|
|
1532
|
+
t += "</a:avLst></a:prstGeom>";
|
|
1533
|
+
}
|
|
1534
|
+
t += r.options.fill ? K(r.options.fill) : "<a:noFill/>", r.options.line && (t += r.options.line.width ? `<a:ln w="${U(r.options.line.width)}">` : "<a:ln>", r.options.line.color && (t += K(r.options.line)), r.options.line.dashType && (t += `<a:prstDash val="${r.options.line.dashType}"/>`), r.options.line.beginArrowType && (t += `<a:headEnd type="${r.options.line.beginArrowType}"/>`), r.options.line.endArrowType && (t += `<a:tailEnd type="${r.options.line.endArrowType}"/>`), t += "</a:ln>"), r.options.shadow && r.options.shadow.type !== "none" && (r.options.shadow.type = r.options.shadow.type || "outer", r.options.shadow.blur = U(r.options.shadow.blur || 8), r.options.shadow.offset = U(r.options.shadow.offset || 4), r.options.shadow.angle = Math.round((r.options.shadow.angle || 270) * 6e4), r.options.shadow.opacity = Math.round((r.options.shadow.opacity || .75) * 1e5), r.options.shadow.color = r.options.shadow.color || ee.color, t += "<a:effectLst>", t += ` <a:${r.options.shadow.type}Shdw ${r.options.shadow.type === "outer" ? "sx=\"100000\" sy=\"100000\" kx=\"0\" ky=\"0\" algn=\"bl\" rotWithShape=\"0\"" : ""} blurRad="${r.options.shadow.blur}" dist="${r.options.shadow.offset}" dir="${r.options.shadow.angle}">`, t += ` <a:srgbClr val="${r.options.shadow.color}">`, t += ` <a:alpha val="${r.options.shadow.opacity}"/></a:srgbClr>`, t += " </a:outerShdw>", t += "</a:effectLst>"), t += "</p:spPr>", t += Ke(r), t += "</p:sp>";
|
|
1535
|
+
break;
|
|
1536
|
+
case F.image:
|
|
1537
|
+
if (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${a + 2}" name="${r.options.objectName}" descr="${V(r.options.altText || r.image)}">`, r.hyperlink?.url && (t += `<a:hlinkClick r:id="rId${r.hyperlink._rId}" tooltip="${r.hyperlink.tooltip ? V(r.hyperlink.tooltip) : ""}"/>`), r.hyperlink?.slide && (t += `<a:hlinkClick r:id="rId${r.hyperlink._rId}" tooltip="${r.hyperlink.tooltip ? V(r.hyperlink.tooltip) : ""}" action="ppaction://hlinksldjump"/>`), t += " </p:cNvPr>", t += " <p:cNvPicPr><a:picLocks noChangeAspect=\"1\"/></p:cNvPicPr>", t += " <p:nvPr>" + qe(d) + "</p:nvPr>", t += " </p:nvPicPr>", t += "<p:blipFill>", (e._relsMedia || []).filter((e) => e.rId === r.imageRid)[0] && (e._relsMedia || []).filter((e) => e.rId === r.imageRid)[0].extn === "svg" ? (t += `<a:blip r:embed="rId${r.imageRid - 1}">`, t += r.options.transparency ? ` <a:alphaModFix amt="${Math.round((100 - r.options.transparency) * 1e3)}"/>` : "", t += " <a:extLst>", t += " <a:ext uri=\"{96DAC541-7B7A-43D3-8B79-37D633B846F1}\">", t += ` <asvg:svgBlip xmlns:asvg="http://schemas.microsoft.com/office/drawing/2016/SVG/main" r:embed="rId${r.imageRid}"/>`, t += " </a:ext>", t += " </a:extLst>", t += "</a:blip>") : (t += `<a:blip r:embed="rId${r.imageRid}">`, t += r.options.transparency ? `<a:alphaModFix amt="${Math.round((100 - r.options.transparency) * 1e3)}"/>` : "", t += "</a:blip>"), b?.type) {
|
|
1538
|
+
let n = b.w ? z(b.w, "X", e._presLayout) : l, r = b.h ? z(b.h, "Y", e._presLayout) : u, i = z(b.x || 0, "X", e._presLayout), a = z(b.y || 0, "Y", e._presLayout);
|
|
1539
|
+
t += ze[b.type]({
|
|
1540
|
+
w: S,
|
|
1541
|
+
h: C
|
|
1542
|
+
}, {
|
|
1543
|
+
w: n,
|
|
1544
|
+
h: r,
|
|
1545
|
+
x: i,
|
|
1546
|
+
y: a
|
|
1547
|
+
}), S = n, C = r;
|
|
1548
|
+
} else t += " <a:stretch><a:fillRect/></a:stretch>";
|
|
1549
|
+
t += "</p:blipFill>", t += "<p:spPr>", t += " <a:xfrm" + p + ">", t += ` <a:off x="${s}" y="${c}"/>`, t += ` <a:ext cx="${S}" cy="${C}"/>`, t += " </a:xfrm>", t += ` <a:prstGeom prst="${x ? "ellipse" : "rect"}"><a:avLst/></a:prstGeom>`, r.options.shadow && r.options.shadow.type !== "none" && (r.options.shadow.type = r.options.shadow.type || "outer", r.options.shadow.blur = U(r.options.shadow.blur || 8), r.options.shadow.offset = U(r.options.shadow.offset || 4), r.options.shadow.angle = Math.round((r.options.shadow.angle || 270) * 6e4), r.options.shadow.opacity = Math.round((r.options.shadow.opacity || .75) * 1e5), r.options.shadow.color = r.options.shadow.color || ee.color, t += "<a:effectLst>", t += `<a:${r.options.shadow.type}Shdw ${r.options.shadow.type === "outer" ? "sx=\"100000\" sy=\"100000\" kx=\"0\" ky=\"0\" algn=\"bl\" rotWithShape=\"0\"" : ""} blurRad="${r.options.shadow.blur}" dist="${r.options.shadow.offset}" dir="${r.options.shadow.angle}">`, t += `<a:srgbClr val="${r.options.shadow.color}">`, t += `<a:alpha val="${r.options.shadow.opacity}"/></a:srgbClr>`, t += `</a:${r.options.shadow.type}Shdw>`, t += "</a:effectLst>"), t += "</p:spPr>", t += "</p:pic>";
|
|
1550
|
+
break;
|
|
1551
|
+
case F.media:
|
|
1552
|
+
r.mtype === "online" ? (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${r.mediaRid + 2}" name="${r.options.objectName}"/>`, t += " <p:cNvPicPr/>", t += " <p:nvPr>", t += ` <a:videoFile r:link="rId${r.mediaRid}"/>`, t += " </p:nvPr>", t += " </p:nvPicPr>", t += ` <p:blipFill><a:blip r:embed="rId${r.mediaRid + 1}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, t += " <p:spPr>", t += ` <a:xfrm${p}><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></a:xfrm>`, t += " <a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom>", t += " </p:spPr>", t += "</p:pic>") : (t += "<p:pic>", t += " <p:nvPicPr>", t += `<p:cNvPr id="${r.mediaRid + 2}" name="${r.options.objectName}"><a:hlinkClick r:id="" action="ppaction://media"/></p:cNvPr>`, t += " <p:cNvPicPr><a:picLocks noChangeAspect=\"1\"/></p:cNvPicPr>", t += " <p:nvPr>", t += ` <a:videoFile r:link="rId${r.mediaRid}"/>`, t += " <p:extLst>", t += " <p:ext uri=\"{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}\">", t += ` <p14:media xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" r:embed="rId${r.mediaRid + 1}"/>`, t += " </p:ext>", t += " </p:extLst>", t += " </p:nvPr>", t += " </p:nvPicPr>", t += ` <p:blipFill><a:blip r:embed="rId${r.mediaRid + 2}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, t += " <p:spPr>", t += ` <a:xfrm${p}><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></a:xfrm>`, t += " <a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom>", t += " </p:spPr>", t += "</p:pic>");
|
|
1553
|
+
break;
|
|
1554
|
+
case F.chart:
|
|
1555
|
+
t += "<p:graphicFrame>", t += " <p:nvGraphicFramePr>", t += ` <p:cNvPr id="${a + 2}" name="${r.options.objectName}" descr="${V(r.options.altText || "")}"/>`, t += " <p:cNvGraphicFramePr/>", t += ` <p:nvPr>${qe(d)}</p:nvPr>`, t += " </p:nvGraphicFramePr>", t += ` <p:xfrm><a:off x="${s}" y="${c}"/><a:ext cx="${l}" cy="${u}"/></p:xfrm>`, t += " <a:graphic xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\">", t += " <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\">", t += ` <c:chart r:id="rId${r.chartRid}" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"/>`, t += " </a:graphicData>", t += " </a:graphic>", t += "</p:graphicFrame>";
|
|
1556
|
+
break;
|
|
1557
|
+
default:
|
|
1558
|
+
t += "";
|
|
1559
|
+
break;
|
|
1560
|
+
}
|
|
1561
|
+
}), e._slideNumberProps && (e._slideNumberProps.align || (e._slideNumberProps.align = "left"), t += "<p:sp>", t += " <p:nvSpPr>", t += " <p:cNvPr id=\"25\" name=\"Slide Number Placeholder 0\"/><p:cNvSpPr><a:spLocks noGrp=\"1\"/></p:cNvSpPr>", t += " <p:nvPr><p:ph type=\"sldNum\" sz=\"quarter\" idx=\"4294967295\"/></p:nvPr>", t += " </p:nvSpPr>", t += " <p:spPr>", t += `<a:xfrm><a:off x="${z(e._slideNumberProps.x, "X", e._presLayout)}" y="${z(e._slideNumberProps.y, "Y", e._presLayout)}"/><a:ext cx="${e._slideNumberProps.w ? z(e._slideNumberProps.w, "X", e._presLayout) : "800000"}" cy="${e._slideNumberProps.h ? z(e._slideNumberProps.h, "Y", e._presLayout) : "300000"}"/></a:xfrm> <a:prstGeom prst="rect"><a:avLst/></a:prstGeom> <a:extLst><a:ext uri="{C572A759-6A51-4108-AA02-DFA0A04FC94B}"><ma14:wrappingTextBoxFlag val="0" xmlns:ma14="http://schemas.microsoft.com/office/mac/drawingml/2011/main"/></a:ext></a:extLst></p:spPr>`, t += "<p:txBody>", t += "<a:bodyPr", e._slideNumberProps.margin && Array.isArray(e._slideNumberProps.margin) ? (t += ` lIns="${U(e._slideNumberProps.margin[3] || 0)}"`, t += ` tIns="${U(e._slideNumberProps.margin[0] || 0)}"`, t += ` rIns="${U(e._slideNumberProps.margin[1] || 0)}"`, t += ` bIns="${U(e._slideNumberProps.margin[2] || 0)}"`) : typeof e._slideNumberProps.margin == "number" && (t += ` lIns="${U(e._slideNumberProps.margin || 0)}"`, t += ` tIns="${U(e._slideNumberProps.margin || 0)}"`, t += ` rIns="${U(e._slideNumberProps.margin || 0)}"`, t += ` bIns="${U(e._slideNumberProps.margin || 0)}"`), e._slideNumberProps.valign && (t += ` anchor="${e._slideNumberProps.valign.replace("top", "t").replace("middle", "ctr").replace("bottom", "b")}"`), t += "/>", t += " <a:lstStyle><a:lvl1pPr>", (e._slideNumberProps.fontFace || e._slideNumberProps.fontSize || e._slideNumberProps.color) && (t += `<a:defRPr sz="${Math.round((e._slideNumberProps.fontSize || 12) * 100)}">`, e._slideNumberProps.color && (t += K(e._slideNumberProps.color)), e._slideNumberProps.fontFace && (t += `<a:latin typeface="${e._slideNumberProps.fontFace}"/><a:ea typeface="${e._slideNumberProps.fontFace}"/><a:cs typeface="${e._slideNumberProps.fontFace}"/>`), t += "</a:defRPr>"), t += "</a:lvl1pPr></a:lstStyle>", t += "<a:p>", e._slideNumberProps.align.startsWith("l") ? t += "<a:pPr algn=\"l\"/>" : e._slideNumberProps.align.startsWith("c") ? t += "<a:pPr algn=\"ctr\"/>" : e._slideNumberProps.align.startsWith("r") ? t += "<a:pPr algn=\"r\"/>" : t += "<a:pPr algn=\"l\"/>", t += `<a:fld id="${ie}" type="slidenum"><a:rPr b="${+!!e._slideNumberProps.bold}" lang="en-US"/>`, t += `<a:t>${e._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p>`, t += "</p:txBody></p:sp>"), t += "</p:spTree>", t += "</p:cSld>", t;
|
|
1562
|
+
}
|
|
1563
|
+
function Ve(e, t) {
|
|
1564
|
+
let n = 0, r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o + "<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">";
|
|
1565
|
+
return e._rels.forEach((e) => {
|
|
1566
|
+
n = Math.max(n, e.rId), e.type.toLowerCase().includes("hyperlink") ? e.data === "slide" ? r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slide${e.Target}.xml"/>` : r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="${e.Target}" TargetMode="External"/>` : e.type.toLowerCase().includes("notesSlide") && (r += `<Relationship Id="rId${e.rId}" Target="${e.Target}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"/>`);
|
|
1567
|
+
}), (e._relsChart || []).forEach((e) => {
|
|
1568
|
+
n = Math.max(n, e.rId), r += `<Relationship Id="rId${e.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="${e.Target}"/>`;
|
|
1569
|
+
}), (e._relsMedia || []).forEach((e) => {
|
|
1570
|
+
let t = e.rId.toString();
|
|
1571
|
+
n = Math.max(n, e.rId), e.type.toLowerCase().includes("image") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("audio") ? r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/media\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("video") ? r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/media\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video\" Target=\"" + e.Target + "\"/>" : e.type.toLowerCase().includes("online") && (r.includes(" Target=\"" + e.Target + "\"") ? r += "<Relationship Id=\"rId" + t + "\" Type=\"http://schemas.microsoft.com/office/2007/relationships/image\" Target=\"" + e.Target + "\"/>" : r += "<Relationship Id=\"rId" + t + "\" Target=\"" + e.Target + "\" TargetMode=\"External\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video\"/>");
|
|
1572
|
+
}), t.forEach((e, t) => {
|
|
1573
|
+
r += `<Relationship Id="rId${n + t + 1}" Type="${e.type}" Target="${e.target}"/>`;
|
|
1574
|
+
}), r += "</Relationships>", r;
|
|
1575
|
+
}
|
|
1576
|
+
function He(e, t) {
|
|
1577
|
+
let n = "", r = "", i = "", a = "", o = t ? "a:lvl1pPr" : "a:pPr", s = U(u), c = `<${o}${e.options.rtlMode ? " rtl=\"1\" " : ""}`;
|
|
1578
|
+
if (e.options.align) switch (e.options.align) {
|
|
1579
|
+
case "left":
|
|
1580
|
+
c += " algn=\"l\"";
|
|
1581
|
+
break;
|
|
1582
|
+
case "right":
|
|
1583
|
+
c += " algn=\"r\"";
|
|
1584
|
+
break;
|
|
1585
|
+
case "center":
|
|
1586
|
+
c += " algn=\"ctr\"";
|
|
1587
|
+
break;
|
|
1588
|
+
case "justify":
|
|
1589
|
+
c += " algn=\"just\"";
|
|
1590
|
+
break;
|
|
1591
|
+
default:
|
|
1592
|
+
c += "";
|
|
1593
|
+
break;
|
|
1594
|
+
}
|
|
1595
|
+
if (e.options.lineSpacing ? r = `<a:lnSpc><a:spcPts val="${Math.round(e.options.lineSpacing * 100)}"/></a:lnSpc>` : e.options.lineSpacingMultiple && (r = `<a:lnSpc><a:spcPct val="${Math.round(e.options.lineSpacingMultiple * 1e5)}"/></a:lnSpc>`), e.options.indentLevel && !isNaN(Number(e.options.indentLevel)) && e.options.indentLevel > 0 && (c += ` lvl="${e.options.indentLevel}"`), e.options.paraSpaceBefore && !isNaN(Number(e.options.paraSpaceBefore)) && e.options.paraSpaceBefore > 0 && (i += `<a:spcBef><a:spcPts val="${Math.round(e.options.paraSpaceBefore * 100)}"/></a:spcBef>`), e.options.paraSpaceAfter && !isNaN(Number(e.options.paraSpaceAfter)) && e.options.paraSpaceAfter > 0 && (i += `<a:spcAft><a:spcPts val="${Math.round(e.options.paraSpaceAfter * 100)}"/></a:spcAft>`), typeof e.options.bullet == "object") if (e?.options?.bullet?.indent && (s = U(e.options.bullet.indent)), e.options.bullet.type) e.options.bullet.type.toString().toLowerCase() === "number" && (c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buFont typeface="+mj-lt"/><a:buAutoNum type="${e.options.bullet.style || "arabicPeriod"}" startAt="${e.options.bullet.numberStartAt || e.options.bullet.startAt || "1"}"/>`);
|
|
1596
|
+
else if (e.options.bullet.characterCode) {
|
|
1597
|
+
let t = `&#x${e.options.bullet.characterCode};`;
|
|
1598
|
+
/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.characterCode) || (console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"), t = L.DEFAULT), c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = "<a:buSzPct val=\"100000\"/><a:buChar char=\"" + t + "\"/>";
|
|
1599
|
+
} else if (e.options.bullet.code) {
|
|
1600
|
+
let t = `&#x${e.options.bullet.code};`;
|
|
1601
|
+
/^[0-9A-Fa-f]{4}$/.test(e.options.bullet.code) || (console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"), t = L.DEFAULT), c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = "<a:buSzPct val=\"100000\"/><a:buChar char=\"" + t + "\"/>";
|
|
1602
|
+
} else c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buChar char="${L.DEFAULT}"/>`;
|
|
1603
|
+
else e.options.bullet ? (c += ` marL="${e.options.indentLevel && e.options.indentLevel > 0 ? s + s * e.options.indentLevel : s}" indent="-${s}"`, n = `<a:buSzPct val="100000"/><a:buChar char="${L.DEFAULT}"/>`) : e.options.bullet || (c += " indent=\"0\" marL=\"0\"", n = "<a:buNone/>");
|
|
1604
|
+
return e.options.tabStops && Array.isArray(e.options.tabStops) && (a = `<a:tabLst>${e.options.tabStops.map((e) => `<a:tab pos="${H(e.position || 1)}" algn="${e.alignment || "l"}"/>`).join("")}</a:tabLst>`), c += ">" + r + i + n + a, t && (c += Ue(e.options, !0)), c += "</" + o + ">", c;
|
|
1605
|
+
}
|
|
1606
|
+
function Ue(e, t) {
|
|
1607
|
+
let n = "", r = t ? "a:defRPr" : "a:rPr";
|
|
1608
|
+
if (n += "<" + r + " lang=\"" + (e.lang ? e.lang : "en-US") + "\"" + (e.lang ? " altLang=\"en-US\"" : ""), n += e.fontSize ? ` sz="${Math.round(e.fontSize * 100)}"` : "", n += e?.bold ? ` b="${e.bold ? "1" : "0"}"` : "", n += e?.italic ? ` i="${e.italic ? "1" : "0"}"` : "", n += e?.strike ? ` strike="${typeof e.strike == "string" ? e.strike : "sngStrike"}"` : "", typeof e.underline == "object" && e.underline?.style ? n += ` u="${e.underline.style}"` : typeof e.underline == "string" ? n += ` u="${String(e.underline)}"` : e.hyperlink && (n += " u=\"sng\""), e.baseline ? n += ` baseline="${Math.round(e.baseline * 50)}"` : e.subscript ? n += " baseline=\"-40000\"" : e.superscript && (n += " baseline=\"30000\""), n += e.charSpacing ? ` spc="${Math.round(e.charSpacing * 100)}" kern="0"` : "", n += " dirty=\"0\">", (e.color || e.fontFace || e.outline || typeof e.underline == "object" && e.underline.color) && (e.outline && typeof e.outline == "object" && (n += `<a:ln w="${U(e.outline.size || .75)}">${K(e.outline.color || "FFFFFF")}</a:ln>`), e.color && (n += K({
|
|
1609
|
+
color: e.color,
|
|
1610
|
+
transparency: e.transparency
|
|
1611
|
+
})), e.highlight && (n += `<a:highlight>${G(e.highlight)}</a:highlight>`), typeof e.underline == "object" && e.underline.color && (n += `<a:uFill>${K(e.underline.color)}</a:uFill>`), e.glow && (n += `<a:effectLst>${me(e.glow, C)}</a:effectLst>`), e.fontFace && (n += `<a:latin typeface="${e.fontFace}" pitchFamily="34" charset="0"/><a:ea typeface="${e.fontFace}" pitchFamily="34" charset="-122"/><a:cs typeface="${e.fontFace}" pitchFamily="34" charset="-120"/>`)), e.hyperlink) {
|
|
1612
|
+
if (typeof e.hyperlink != "object") throw Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");
|
|
1613
|
+
if (!e.hyperlink.url && !e.hyperlink.slide) throw Error("ERROR: 'hyperlink requires either `url` or `slide`'");
|
|
1614
|
+
e.hyperlink.url ? n += `<a:hlinkClick r:id="rId${e.hyperlink._rId}" invalidUrl="" action="" tgtFrame="" tooltip="${e.hyperlink.tooltip ? V(e.hyperlink.tooltip) : ""}" history="1" highlightClick="0" endSnd="0"${e.color ? ">" : "/>"}` : e.hyperlink.slide && (n += `<a:hlinkClick r:id="rId${e.hyperlink._rId}" action="ppaction://hlinksldjump" tooltip="${e.hyperlink.tooltip ? V(e.hyperlink.tooltip) : ""}"${e.color ? ">" : "/>"}`), e.color && (n += " <a:extLst>", n += " <a:ext uri=\"{A12FA001-AC4F-418D-AE19-62706E023703}\">", n += " <ahyp:hlinkClr xmlns:ahyp=\"http://schemas.microsoft.com/office/drawing/2018/hyperlinkcolor\" val=\"tx\"/>", n += " </a:ext>", n += " </a:extLst>", n += "</a:hlinkClick>");
|
|
1615
|
+
}
|
|
1616
|
+
return n += `</${r}>`, n;
|
|
1617
|
+
}
|
|
1618
|
+
function We(e) {
|
|
1619
|
+
return e.text ? `<a:r>${Ue(e.options, !1)}<a:t>${V(e.text)}</a:t></a:r>` : "";
|
|
1620
|
+
}
|
|
1621
|
+
function Ge(e) {
|
|
1622
|
+
let t = "<a:bodyPr";
|
|
1623
|
+
return e && e._type === F.text && e.options._bodyProp ? (t += e.options._bodyProp.wrap ? " wrap=\"square\"" : " wrap=\"none\"", (e.options._bodyProp.lIns || e.options._bodyProp.lIns === 0) && (t += ` lIns="${e.options._bodyProp.lIns}"`), (e.options._bodyProp.tIns || e.options._bodyProp.tIns === 0) && (t += ` tIns="${e.options._bodyProp.tIns}"`), (e.options._bodyProp.rIns || e.options._bodyProp.rIns === 0) && (t += ` rIns="${e.options._bodyProp.rIns}"`), (e.options._bodyProp.bIns || e.options._bodyProp.bIns === 0) && (t += ` bIns="${e.options._bodyProp.bIns}"`), t += " rtlCol=\"0\"", e.options._bodyProp.anchor && (t += " anchor=\"" + e.options._bodyProp.anchor + "\""), e.options._bodyProp.vert && (t += " vert=\"" + e.options._bodyProp.vert + "\""), t += ">", e.options.fit && (e.options.fit === "none" ? t += "" : e.options.fit === "shrink" ? t += "<a:normAutofit/>" : e.options.fit === "resize" && (t += "<a:spAutoFit/>")), e.options.shrinkText && (t += "<a:normAutofit/>"), t += e.options._bodyProp.autoFit ? "<a:spAutoFit/>" : "", t += "</a:bodyPr>") : (t += " wrap=\"square\" rtlCol=\"0\">", t += "</a:bodyPr>"), e._type === F.tablecell ? "<a:bodyPr/>" : t;
|
|
1624
|
+
}
|
|
1625
|
+
function Ke(e) {
|
|
1626
|
+
let t = e.options || {}, n = [], r = [];
|
|
1627
|
+
if (t && e._type !== F.tablecell && (e.text === void 0 || e.text === null)) return "";
|
|
1628
|
+
let i = e._type === F.tablecell ? "<a:txBody>" : "<p:txBody>";
|
|
1629
|
+
i += Ge(e), t.h === 0 && t.line && t.align ? i += "<a:lstStyle><a:lvl1pPr algn=\"l\"/></a:lstStyle>" : e._type === "placeholder" ? i += `<a:lstStyle>${He(e, !0)}</a:lstStyle>` : i += "<a:lstStyle/>", typeof e.text == "string" || typeof e.text == "number" ? n.push({
|
|
1630
|
+
text: e.text.toString(),
|
|
1631
|
+
options: t || {}
|
|
1632
|
+
}) : e.text && !Array.isArray(e.text) && typeof e.text == "object" && Object.keys(e.text).includes("text") ? n.push({
|
|
1633
|
+
text: e.text || "",
|
|
1634
|
+
options: e.options || {}
|
|
1635
|
+
}) : Array.isArray(e.text) && (n = e.text.map((e) => ({
|
|
1636
|
+
text: e.text,
|
|
1637
|
+
options: e.options
|
|
1638
|
+
}))), n.forEach((e, n) => {
|
|
1639
|
+
e.text ||= "", e.options = e.options || t || {}, n === 0 && e.options && !e.options.bullet && t.bullet && (e.options.bullet = t.bullet), (typeof e.text == "string" || typeof e.text == "number") && (e.text = e.text.toString().replace(/\r*\n/g, o)), e.text.includes(o) && e.text.match(/\n$/g) === null ? e.text.split(o).forEach((t) => {
|
|
1640
|
+
e.options.breakLine = !0, r.push({
|
|
1641
|
+
text: t,
|
|
1642
|
+
options: e.options
|
|
1643
|
+
});
|
|
1644
|
+
}) : r.push(e);
|
|
1645
|
+
});
|
|
1646
|
+
let a = [], s = [];
|
|
1647
|
+
return r.forEach((e, n) => {
|
|
1648
|
+
s.length > 0 && (e.options.align || t.align) ? e.options.align !== r[n - 1].options.align && (a.push(s), s = []) : s.length > 0 && e.options.bullet && s.length > 0 && (a.push(s), s = [], e.options.breakLine = !1), s.push(e), s.length > 0 && e.options.breakLine && n + 1 < r.length && (a.push(s), s = []), n + 1 === r.length && a.push(s);
|
|
1649
|
+
}), a.forEach((n) => {
|
|
1650
|
+
let r = !1;
|
|
1651
|
+
i += "<a:p>";
|
|
1652
|
+
let a = `<a:pPr ${n[0].options?.rtlMode ? " rtl=\"1\" " : ""}`;
|
|
1653
|
+
n.forEach((e, n) => {
|
|
1654
|
+
e.options._lineIdx = n, n > 0 && e.options.softBreakBefore && (i += "<a:br/>"), e.options.align = e.options.align || t.align, e.options.lineSpacing = e.options.lineSpacing || t.lineSpacing, e.options.lineSpacingMultiple = e.options.lineSpacingMultiple || t.lineSpacingMultiple, e.options.indentLevel = e.options.indentLevel || t.indentLevel, e.options.paraSpaceBefore = e.options.paraSpaceBefore || t.paraSpaceBefore, e.options.paraSpaceAfter = e.options.paraSpaceAfter || t.paraSpaceAfter, a = He(e, !1), i += a.replace("<a:pPr></a:pPr>", ""), Object.entries(t).filter(([t]) => !(e.options.hyperlink && t === "color")).forEach(([t, n]) => {
|
|
1655
|
+
t !== "bullet" && !e.options[t] && (e.options[t] = n);
|
|
1656
|
+
}), i += We(e), (!e.text && t.fontSize || e.options.fontSize) && (r = !0, t.fontSize = t.fontSize || e.options.fontSize);
|
|
1657
|
+
}), e._type === F.tablecell && (t.fontSize || t.fontFace) ? t.fontFace ? (i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\">", i += `<a:latin typeface="${t.fontFace}" charset="0"/>`, i += `<a:ea typeface="${t.fontFace}" charset="0"/>`, i += `<a:cs typeface="${t.fontFace}" charset="0"/>`, i += "</a:endParaRPr>") : i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\"/>" : r ? i += `<a:endParaRPr lang="${t.lang || "en-US"}"` + (t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "") + " dirty=\"0\"/>" : i += `<a:endParaRPr lang="${t.lang || "en-US"}" dirty="0"/>`, i += "</a:p>";
|
|
1658
|
+
}), i.indexOf("<a:p>") === -1 && (i += "<a:p><a:endParaRPr/></a:p>"), i += e._type === F.tablecell ? "</a:txBody>" : "</p:txBody>", i;
|
|
1659
|
+
}
|
|
1660
|
+
function qe(e) {
|
|
1661
|
+
if (!e) return "";
|
|
1662
|
+
let t = e.options?._placeholderIdx ? e.options._placeholderIdx : "", n = e.options?._placeholderType ? e.options._placeholderType : "", r = n && I[n] ? I[n].toString() : "";
|
|
1663
|
+
return `<p:ph
|
|
1664
|
+
${t ? " idx=\"" + t.toString() + "\"" : ""}
|
|
1665
|
+
${r && I[r] ? ` type="${r}"` : ""}
|
|
1666
|
+
${e.text && e.text.length > 0 ? " hasCustomPrompt=\"1\"" : ""}
|
|
1667
|
+
/>`;
|
|
1668
|
+
}
|
|
1669
|
+
function Je(e, t, n) {
|
|
1670
|
+
let r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
|
|
1671
|
+
return r += "<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">", r += "<Default Extension=\"xml\" ContentType=\"application/xml\"/>", r += "<Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>", r += "<Default Extension=\"jpeg\" ContentType=\"image/jpeg\"/>", r += "<Default Extension=\"jpg\" ContentType=\"image/jpg\"/>", r += "<Default Extension=\"svg\" ContentType=\"image/svg+xml\"/>", r += "<Default Extension=\"png\" ContentType=\"image/png\"/>", r += "<Default Extension=\"gif\" ContentType=\"image/gif\"/>", r += "<Default Extension=\"m4v\" ContentType=\"video/mp4\"/>", r += "<Default Extension=\"mp4\" ContentType=\"video/mp4\"/>", e.forEach((e) => {
|
|
1672
|
+
(e._relsMedia || []).forEach((e) => {
|
|
1673
|
+
e.type !== "image" && e.type !== "online" && e.type !== "chart" && e.extn !== "m4v" && !r.includes(e.type) && (r += "<Default Extension=\"" + e.extn + "\" ContentType=\"" + e.type + "\"/>");
|
|
1674
|
+
});
|
|
1675
|
+
}), r += "<Default Extension=\"vml\" ContentType=\"application/vnd.openxmlformats-officedocument.vmlDrawing\"/>", r += "<Default Extension=\"xlsx\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"/>", r += "<Override PartName=\"/ppt/presentation.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\"/>", r += "<Override PartName=\"/ppt/notesMasters/notesMaster1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml\"/>", e.forEach((e, t) => {
|
|
1676
|
+
r += `<Override PartName="/ppt/slideMasters/slideMaster${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml"/>`, r += `<Override PartName="/ppt/slides/slide${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`, e._relsChart.forEach((e) => {
|
|
1677
|
+
r += `<Override PartName="${e.Target}" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/>`;
|
|
1678
|
+
});
|
|
1679
|
+
}), r += "<Override PartName=\"/ppt/presProps.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.presProps+xml\"/>", r += "<Override PartName=\"/ppt/viewProps.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml\"/>", r += "<Override PartName=\"/ppt/theme/theme1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/>", r += "<Override PartName=\"/ppt/tableStyles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml\"/>", t.forEach((e, t) => {
|
|
1680
|
+
r += `<Override PartName="/ppt/slideLayouts/slideLayout${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml"/>`, (e._relsChart || []).forEach((e) => {
|
|
1681
|
+
r += " <Override PartName=\"" + e.Target + "\" ContentType=\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\"/>";
|
|
1682
|
+
});
|
|
1683
|
+
}), e.forEach((e, t) => {
|
|
1684
|
+
r += `<Override PartName="/ppt/notesSlides/notesSlide${t + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml"/>`;
|
|
1685
|
+
}), n._relsChart.forEach((e) => {
|
|
1686
|
+
r += " <Override PartName=\"" + e.Target + "\" ContentType=\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\"/>";
|
|
1687
|
+
}), n._relsMedia.forEach((e) => {
|
|
1688
|
+
e.type !== "image" && e.type !== "online" && e.type !== "chart" && e.extn !== "m4v" && !r.includes(e.type) && (r += " <Default Extension=\"" + e.extn + "\" ContentType=\"" + e.type + "\"/>");
|
|
1689
|
+
}), r += " <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\"/>", r += " <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\"/>", r += "</Types>", r;
|
|
1690
|
+
}
|
|
1691
|
+
function Ye() {
|
|
1692
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
1693
|
+
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
|
|
1694
|
+
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
|
|
1695
|
+
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
|
|
1696
|
+
</Relationships>`;
|
|
1697
|
+
}
|
|
1698
|
+
function Xe(e, t) {
|
|
1699
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
|
|
1700
|
+
<TotalTime>0</TotalTime>
|
|
1701
|
+
<Words>0</Words>
|
|
1702
|
+
<Application>Microsoft Office PowerPoint</Application>
|
|
1703
|
+
<PresentationFormat>On-screen Show (16:9)</PresentationFormat>
|
|
1704
|
+
<Paragraphs>0</Paragraphs>
|
|
1705
|
+
<Slides>${e.length}</Slides>
|
|
1706
|
+
<Notes>${e.length}</Notes>
|
|
1707
|
+
<HiddenSlides>0</HiddenSlides>
|
|
1708
|
+
<MMClips>0</MMClips>
|
|
1709
|
+
<ScaleCrop>false</ScaleCrop>
|
|
1710
|
+
<HeadingPairs>
|
|
1711
|
+
<vt:vector size="6" baseType="variant">
|
|
1712
|
+
<vt:variant><vt:lpstr>Fonts Used</vt:lpstr></vt:variant>
|
|
1713
|
+
<vt:variant><vt:i4>2</vt:i4></vt:variant>
|
|
1714
|
+
<vt:variant><vt:lpstr>Theme</vt:lpstr></vt:variant>
|
|
1715
|
+
<vt:variant><vt:i4>1</vt:i4></vt:variant>
|
|
1716
|
+
<vt:variant><vt:lpstr>Slide Titles</vt:lpstr></vt:variant>
|
|
1717
|
+
<vt:variant><vt:i4>${e.length}</vt:i4></vt:variant>
|
|
1718
|
+
</vt:vector>
|
|
1719
|
+
</HeadingPairs>
|
|
1720
|
+
<TitlesOfParts>
|
|
1721
|
+
<vt:vector size="${e.length + 1 + 2}" baseType="lpstr">
|
|
1722
|
+
<vt:lpstr>Arial</vt:lpstr>
|
|
1723
|
+
<vt:lpstr>Calibri</vt:lpstr>
|
|
1724
|
+
<vt:lpstr>Office Theme</vt:lpstr>
|
|
1725
|
+
${e.map((e, t) => `<vt:lpstr>Slide ${t + 1}</vt:lpstr>`).join("")}
|
|
1726
|
+
</vt:vector>
|
|
1727
|
+
</TitlesOfParts>
|
|
1728
|
+
<Company>${t}</Company>
|
|
1729
|
+
<LinksUpToDate>false</LinksUpToDate>
|
|
1730
|
+
<SharedDoc>false</SharedDoc>
|
|
1731
|
+
<HyperlinksChanged>false</HyperlinksChanged>
|
|
1732
|
+
<AppVersion>16.0000</AppVersion>
|
|
1733
|
+
</Properties>`;
|
|
1734
|
+
}
|
|
1735
|
+
function Ze(e, t, n, r) {
|
|
1736
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
1737
|
+
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
1738
|
+
<dc:title>${V(e)}</dc:title>
|
|
1739
|
+
<dc:subject>${V(t)}</dc:subject>
|
|
1740
|
+
<dc:creator>${V(n)}</dc:creator>
|
|
1741
|
+
<cp:lastModifiedBy>${V(n)}</cp:lastModifiedBy>
|
|
1742
|
+
<cp:revision>${r}</cp:revision>
|
|
1743
|
+
<dcterms:created xsi:type="dcterms:W3CDTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")}</dcterms:created>
|
|
1744
|
+
<dcterms:modified xsi:type="dcterms:W3CDTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")}</dcterms:modified>
|
|
1745
|
+
</cp:coreProperties>`;
|
|
1746
|
+
}
|
|
1747
|
+
function Qe(e) {
|
|
1748
|
+
let t = 1, n = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
|
|
1749
|
+
n += "<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">", n += "<Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster\" Target=\"slideMasters/slideMaster1.xml\"/>";
|
|
1750
|
+
for (let r = 1; r <= e.length; r++) n += `<Relationship Id="rId${++t}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide${r}.xml"/>`;
|
|
1751
|
+
return t++, n += `<Relationship Id="rId${t + 0}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="notesMasters/notesMaster1.xml"/><Relationship Id="rId${t + 1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps" Target="presProps.xml"/><Relationship Id="rId${t + 2}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps" Target="viewProps.xml"/><Relationship Id="rId${t + 3}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId${t + 4}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles" Target="tableStyles.xml"/></Relationships>`, n;
|
|
1752
|
+
}
|
|
1753
|
+
function $e(e) {
|
|
1754
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<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"${e?.hidden ? " show=\"0\"" : ""}>${Be(e)}<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`;
|
|
1755
|
+
}
|
|
1756
|
+
function et(e) {
|
|
1757
|
+
let t = "";
|
|
1758
|
+
return e._slideObjects.forEach((e) => {
|
|
1759
|
+
e._type === F.notes && (t += e?.text && e.text[0] ? e.text[0].text : "");
|
|
1760
|
+
}), t.replace(/\r*\n/g, o);
|
|
1761
|
+
}
|
|
1762
|
+
function tt() {
|
|
1763
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:notesMaster 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:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></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="2" name="Header Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="hdr" sz="quarter"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Date Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="dt" idx="1"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{5282F153-3F37-0F45-9E97-73ACFA13230C}" type="datetimeFigureOut"><a:rPr lang="en-US"/><a:t>7/23/19</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Image Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg" idx="2"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="1143000"/><a:ext cx="5486400" cy="3086100"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="12700"><a:solidFill><a:prstClr val="black"/></a:solidFill></a:ln></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="5" name="Notes Placeholder 4"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" sz="quarter" idx="3"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="4400550"/><a:ext cx="5486400" cy="3600450"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle/><a:p><a:pPr lvl="0"/><a:r><a:rPr lang="en-US"/><a:t>Click to edit Master text styles</a:t></a:r></a:p><a:p><a:pPr lvl="1"/><a:r><a:rPr lang="en-US"/><a:t>Second level</a:t></a:r></a:p><a:p><a:pPr lvl="2"/><a:r><a:rPr lang="en-US"/><a:t>Third level</a:t></a:r></a:p><a:p><a:pPr lvl="3"/><a:r><a:rPr lang="en-US"/><a:t>Fourth level</a:t></a:r></a:p><a:p><a:pPr lvl="4"/><a:r><a:rPr lang="en-US"/><a:t>Fifth level</a:t></a:r></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="6" name="Footer Placeholder 5"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="ftr" sz="quarter" idx="4"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="7" name="Slide Number Placeholder 6"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="5"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{CE5E9CC1-C706-0F49-92D6-E571CC5EEA8F}" type="slidenum"><a:rPr lang="en-US"/><a:t>‹#›</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:notesStyle><a:lvl1pPr marL="0" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr><a:lvl2pPr marL="457200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr><a:lvl3pPr marL="914400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr><a:lvl4pPr marL="1371600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr><a:lvl5pPr marL="1828800" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr><a:lvl6pPr marL="2286000" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr><a:lvl7pPr marL="2743200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr><a:lvl8pPr marL="3200400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr><a:lvl9pPr marL="3657600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr></p:notesStyle></p:notesMaster>`;
|
|
1764
|
+
}
|
|
1765
|
+
function nt(e) {
|
|
1766
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:notes 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: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="2" name="Slide Image Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg"/></p:nvPr></p:nvSpPr><p:spPr/></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Notes Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" idx="1"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US" dirty="0"/><a:t>${V(et(e))}</a:t></a:r><a:endParaRPr lang="en-US" dirty="0"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Number Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="10"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:fld id="${ie}" type="slidenum"><a:rPr lang="en-US"/><a:t>${e._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:notes>`;
|
|
1767
|
+
}
|
|
1768
|
+
function rt(e) {
|
|
1769
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
1770
|
+
<p:sldLayout 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" preserve="1">
|
|
1771
|
+
${Be(e)}
|
|
1772
|
+
<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sldLayout>`;
|
|
1773
|
+
}
|
|
1774
|
+
function it(e, t) {
|
|
1775
|
+
let n = t.map((t, n) => `<p:sldLayoutId id="${s + n}" r:id="rId${e._rels.length + n + 1}"/>`), r = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + o;
|
|
1776
|
+
return r += "<p:sldMaster 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\">", r += Be(e), r += "<p:clrMap bg1=\"lt1\" tx1=\"dk1\" bg2=\"lt2\" tx2=\"dk2\" accent1=\"accent1\" accent2=\"accent2\" accent3=\"accent3\" accent4=\"accent4\" accent5=\"accent5\" accent6=\"accent6\" hlink=\"hlink\" folHlink=\"folHlink\"/>", r += "<p:sldLayoutIdLst>" + n.join("") + "</p:sldLayoutIdLst>", r += "<p:hf sldNum=\"0\" hdr=\"0\" ftr=\"0\" dt=\"0\"/>", r += "<p:txStyles> <p:titleStyle> <a:lvl1pPr algn=\"ctr\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"0\"/></a:spcBef><a:buNone/><a:defRPr sz=\"4400\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mj-lt\"/><a:ea typeface=\"+mj-ea\"/><a:cs typeface=\"+mj-cs\"/></a:defRPr></a:lvl1pPr> </p:titleStyle> <p:bodyStyle> <a:lvl1pPr marL=\"342900\" indent=\"-342900\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"3200\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL=\"742950\" indent=\"-285750\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"–\"/><a:defRPr sz=\"2800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL=\"1143000\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2400\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL=\"1600200\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"–\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL=\"2057400\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"»\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL=\"2514600\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL=\"2971800\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL=\"3429000\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL=\"3886200\" indent=\"-228600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:spcBef><a:spcPct val=\"20000\"/></a:spcBef><a:buFont typeface=\"Arial\" pitchFamily=\"34\" charset=\"0\"/><a:buChar char=\"•\"/><a:defRPr sz=\"2000\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl9pPr> </p:bodyStyle> <p:otherStyle> <a:defPPr><a:defRPr lang=\"en-US\"/></a:defPPr> <a:lvl1pPr marL=\"0\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL=\"457200\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL=\"914400\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL=\"1371600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL=\"1828800\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL=\"2286000\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL=\"2743200\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL=\"3200400\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL=\"3657600\" algn=\"l\" defTabSz=\"914400\" rtl=\"0\" eaLnBrk=\"1\" latinLnBrk=\"0\" hangingPunct=\"1\"><a:defRPr sz=\"1800\" kern=\"1200\"><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill><a:latin typeface=\"+mn-lt\"/><a:ea typeface=\"+mn-ea\"/><a:cs typeface=\"+mn-cs\"/></a:defRPr></a:lvl9pPr> </p:otherStyle></p:txStyles>", r += "</p:sldMaster>", r;
|
|
1777
|
+
}
|
|
1778
|
+
function at(e, t) {
|
|
1779
|
+
return Ve(t[e - 1], [{
|
|
1780
|
+
target: "../slideMasters/slideMaster1.xml",
|
|
1781
|
+
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
|
|
1782
|
+
}]);
|
|
1783
|
+
}
|
|
1784
|
+
function ot(e, t, n) {
|
|
1785
|
+
return Ve(e[n - 1], [{
|
|
1786
|
+
target: `../slideLayouts/slideLayout${ut(e, t, n)}.xml`,
|
|
1787
|
+
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
|
|
1788
|
+
}, {
|
|
1789
|
+
target: `../notesSlides/notesSlide${n}.xml`,
|
|
1790
|
+
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"
|
|
1791
|
+
}]);
|
|
1792
|
+
}
|
|
1793
|
+
function st(e) {
|
|
1794
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
1795
|
+
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
1796
|
+
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="../notesMasters/notesMaster1.xml"/>
|
|
1797
|
+
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="../slides/slide${e}.xml"/>
|
|
1798
|
+
</Relationships>`;
|
|
1799
|
+
}
|
|
1800
|
+
function ct(e, t) {
|
|
1801
|
+
let n = t.map((e, t) => ({
|
|
1802
|
+
target: `../slideLayouts/slideLayout${t + 1}.xml`,
|
|
1803
|
+
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
|
|
1804
|
+
}));
|
|
1805
|
+
return n.push({
|
|
1806
|
+
target: "../theme/theme1.xml",
|
|
1807
|
+
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
|
|
1808
|
+
}), Ve(e, n);
|
|
1809
|
+
}
|
|
1810
|
+
function lt() {
|
|
1811
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
1812
|
+
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="../theme/theme1.xml"/>
|
|
1813
|
+
</Relationships>`;
|
|
1814
|
+
}
|
|
1815
|
+
function ut(e, t, n) {
|
|
1816
|
+
for (let r = 0; r < t.length; r++) if (t[r]._name === e[n - 1]._slideLayout._name) return r + 1;
|
|
1817
|
+
return 1;
|
|
1818
|
+
}
|
|
1819
|
+
function dt(e) {
|
|
1820
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="4472C4"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="5B9BD5"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont>${e.theme?.headFontFace ? `<a:latin typeface="${e.theme?.headFontFace}"/>` : "<a:latin typeface=\"Calibri Light\" panose=\"020F0302020204030204\"/>"}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Angsana New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont>${e.theme?.bodyFontFace ? `<a:latin typeface="${e.theme?.bodyFontFace}"/>` : "<a:latin typeface=\"Calibri\" panose=\"020F0502020204030204\"/>"}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Cordia New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/></a:ext></a:extLst></a:theme>`;
|
|
1821
|
+
}
|
|
1822
|
+
function ft(e) {
|
|
1823
|
+
let t = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:presentation 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" ${e.rtlMode ? "rtl=\"1\"" : ""} saveSubsetFonts="1" autoCompressPictures="0">`;
|
|
1824
|
+
t += "<p:sldMasterIdLst><p:sldMasterId id=\"2147483648\" r:id=\"rId1\"/></p:sldMasterIdLst>", t += "<p:sldIdLst>", e.slides.forEach((e) => t += `<p:sldId id="${e._slideId}" r:id="rId${e._rId}"/>`), t += "</p:sldIdLst>", t += `<p:notesMasterIdLst><p:notesMasterId r:id="rId${e.slides.length + 2}"/></p:notesMasterIdLst>`, t += `<p:sldSz cx="${e.presLayout.width}" cy="${e.presLayout.height}"/>`, t += `<p:notesSz cx="${e.presLayout.height}" cy="${e.presLayout.width}"/>`, t += "<p:defaultTextStyle>";
|
|
1825
|
+
for (let e = 1; e < 10; e++) t += `<a:lvl${e}pPr marL="${(e - 1) * 457200}" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl${e}pPr>`;
|
|
1826
|
+
return t += "</p:defaultTextStyle>", e.sections && e.sections.length > 0 && (t += "<p:extLst><p:ext uri=\"{521415D9-36F7-43E2-AB2F-B90AF26B5E84}\">", t += "<p14:sectionLst xmlns:p14=\"http://schemas.microsoft.com/office/powerpoint/2010/main\">", e.sections.forEach((e) => {
|
|
1827
|
+
t += `<p14:section name="${V(e.title)}" id="{${B("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")}}"><p14:sldIdLst>`, e._slides.forEach((e) => t += `<p14:sldId id="${e._slideId}"/>`), t += "</p14:sldIdLst></p14:section>";
|
|
1828
|
+
}), t += "</p14:sectionLst></p:ext>", t += "<p:ext uri=\"{EFAFB233-063F-42B5-8137-9DF3F51BA10A}\"><p15:sldGuideLst xmlns:p15=\"http://schemas.microsoft.com/office/powerpoint/2012/main\"/></p:ext>", t += "</p:extLst>"), t += "</p:presentation>", t;
|
|
1829
|
+
}
|
|
1830
|
+
function pt() {
|
|
1831
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:presentationPr 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"/>`;
|
|
1832
|
+
}
|
|
1833
|
+
function mt() {
|
|
1834
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<a:tblStyleLst xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`;
|
|
1835
|
+
}
|
|
1836
|
+
function ht() {
|
|
1837
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${o}<p:viewPr 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:normalViewPr horzBarState="maximized"><p:restoredLeft sz="15611"/><p:restoredTop sz="94610"/></p:normalViewPr><p:slideViewPr><p:cSldViewPr snapToGrid="0" snapToObjects="1"><p:cViewPr varScale="1"><p:scale><a:sx n="136" d="100"/><a:sy n="136" d="100"/></p:scale><p:origin x="216" y="312"/></p:cViewPr><p:guideLst/></p:cSldViewPr></p:slideViewPr><p:notesTextViewPr><p:cViewPr><p:scale><a:sx n="1" d="1"/><a:sy n="1" d="1"/></p:scale><p:origin x="0" y="0"/></p:cViewPr></p:notesTextViewPr><p:gridSpacing cx="76200" cy="76200"/></p:viewPr>`;
|
|
1838
|
+
}
|
|
1839
|
+
var gt = "4.0.1", _t = class {
|
|
1840
|
+
set layout(e) {
|
|
1841
|
+
let t = this.LAYOUTS[e];
|
|
1842
|
+
if (t) this._layout = e, this._presLayout = t;
|
|
1843
|
+
else throw Error("UNKNOWN-LAYOUT");
|
|
1844
|
+
}
|
|
1845
|
+
get layout() {
|
|
1846
|
+
return this._layout;
|
|
1847
|
+
}
|
|
1848
|
+
get version() {
|
|
1849
|
+
return this._version;
|
|
1850
|
+
}
|
|
1851
|
+
set author(e) {
|
|
1852
|
+
this._author = e;
|
|
1853
|
+
}
|
|
1854
|
+
get author() {
|
|
1855
|
+
return this._author;
|
|
1856
|
+
}
|
|
1857
|
+
set company(e) {
|
|
1858
|
+
this._company = e;
|
|
1859
|
+
}
|
|
1860
|
+
get company() {
|
|
1861
|
+
return this._company;
|
|
1862
|
+
}
|
|
1863
|
+
set revision(e) {
|
|
1864
|
+
this._revision = e;
|
|
1865
|
+
}
|
|
1866
|
+
get revision() {
|
|
1867
|
+
return this._revision;
|
|
1868
|
+
}
|
|
1869
|
+
set subject(e) {
|
|
1870
|
+
this._subject = e;
|
|
1871
|
+
}
|
|
1872
|
+
get subject() {
|
|
1873
|
+
return this._subject;
|
|
1874
|
+
}
|
|
1875
|
+
set theme(e) {
|
|
1876
|
+
this._theme = e;
|
|
1877
|
+
}
|
|
1878
|
+
get theme() {
|
|
1879
|
+
return this._theme;
|
|
1880
|
+
}
|
|
1881
|
+
set title(e) {
|
|
1882
|
+
this._title = e;
|
|
1883
|
+
}
|
|
1884
|
+
get title() {
|
|
1885
|
+
return this._title;
|
|
1886
|
+
}
|
|
1887
|
+
set rtlMode(e) {
|
|
1888
|
+
this._rtlMode = e;
|
|
1889
|
+
}
|
|
1890
|
+
get rtlMode() {
|
|
1891
|
+
return this._rtlMode;
|
|
1892
|
+
}
|
|
1893
|
+
get masterSlide() {
|
|
1894
|
+
return this._masterSlide;
|
|
1895
|
+
}
|
|
1896
|
+
get slides() {
|
|
1897
|
+
return this._slides;
|
|
1898
|
+
}
|
|
1899
|
+
get sections() {
|
|
1900
|
+
return this._sections;
|
|
1901
|
+
}
|
|
1902
|
+
get slideLayouts() {
|
|
1903
|
+
return this._slideLayouts;
|
|
1904
|
+
}
|
|
1905
|
+
get AlignH() {
|
|
1906
|
+
return this._alignH;
|
|
1907
|
+
}
|
|
1908
|
+
get AlignV() {
|
|
1909
|
+
return this._alignV;
|
|
1910
|
+
}
|
|
1911
|
+
get ChartType() {
|
|
1912
|
+
return this._chartType;
|
|
1913
|
+
}
|
|
1914
|
+
get OutputType() {
|
|
1915
|
+
return this._outputType;
|
|
1916
|
+
}
|
|
1917
|
+
get presLayout() {
|
|
1918
|
+
return this._presLayout;
|
|
1919
|
+
}
|
|
1920
|
+
get SchemeColor() {
|
|
1921
|
+
return this._schemeColor;
|
|
1922
|
+
}
|
|
1923
|
+
get ShapeType() {
|
|
1924
|
+
return this._shapeType;
|
|
1925
|
+
}
|
|
1926
|
+
get charts() {
|
|
1927
|
+
return this._charts;
|
|
1928
|
+
}
|
|
1929
|
+
get colors() {
|
|
1930
|
+
return this._colors;
|
|
1931
|
+
}
|
|
1932
|
+
get shapes() {
|
|
1933
|
+
return this._shapes;
|
|
1934
|
+
}
|
|
1935
|
+
constructor() {
|
|
1936
|
+
this._version = gt, this._alignH = ce, this._alignV = le, this._chartType = oe, this._outputType = ae, this._schemeColor = j, this._shapeType = se, this._charts = N, this._colors = ue, this._shapes = M, this.addNewSlide = (e) => (e.sectionTitle = this.sections.length > 0 && this.sections[this.sections.length - 1]._slides.filter((e) => e._slideNum === this.slides[this.slides.length - 1]._slideNum).length > 0 ? this.sections[this.sections.length - 1].title : null, this.addSlide(e)), this.getSlide = (e) => this.slides.filter((t) => t._slideNum === e)[0], this.setSlideNumber = (e) => {
|
|
1937
|
+
this.masterSlide._slideNumberProps = e, this.slideLayouts.filter((e) => e._name === y)[0]._slideNumberProps = e;
|
|
1938
|
+
}, this.createChartMediaRels = (e, t, n) => {
|
|
1939
|
+
e._relsChart.forEach((e) => n.push(Ae(e, t))), e._relsMedia.forEach((e) => {
|
|
1940
|
+
if (e.type !== "online" && e.type !== "hyperlink") {
|
|
1941
|
+
let n = e.data && typeof e.data == "string" ? e.data : "";
|
|
1942
|
+
!n.includes(",") && !n.includes(";") ? n = "image/png;base64," + n : n.includes(",") ? n.includes(";") || (n = "image/png;" + n) : n = "image/png;base64," + n, t.file(e.Target.replace("..", "ppt"), n.split(",").pop(), { base64: !0 });
|
|
1943
|
+
}
|
|
1944
|
+
});
|
|
1945
|
+
}, this.writeFileToBrowser = (e, t) => r(this, void 0, void 0, function* () {
|
|
1946
|
+
let n = document.createElement("a");
|
|
1947
|
+
if (n.setAttribute("style", "display:none;"), n.dataset.interception = "off", document.body.appendChild(n), window.URL.createObjectURL) {
|
|
1948
|
+
let r = window.URL.createObjectURL(new Blob([t], { type: "application/vnd.openxmlformats-officedocument.presentationml.presentation" }));
|
|
1949
|
+
return n.href = r, n.download = e, n.click(), setTimeout(() => {
|
|
1950
|
+
window.URL.revokeObjectURL(r), document.body.removeChild(n);
|
|
1951
|
+
}, 100), yield Promise.resolve(e);
|
|
1952
|
+
}
|
|
1953
|
+
}), this.exportPresentation = (e) => r(this, void 0, void 0, function* () {
|
|
1954
|
+
let t = [], i = [], a = new n.default();
|
|
1955
|
+
return this.slides.forEach((e) => {
|
|
1956
|
+
i = i.concat(Le(e));
|
|
1957
|
+
}), this.slideLayouts.forEach((e) => {
|
|
1958
|
+
i = i.concat(Le(e));
|
|
1959
|
+
}), i = i.concat(Le(this.masterSlide)), yield Promise.all(i).then(() => r(this, void 0, void 0, function* () {
|
|
1960
|
+
return this.slides.forEach((e) => {
|
|
1961
|
+
e._slideLayout && De(e);
|
|
1962
|
+
}), a.folder("_rels"), a.folder("docProps"), a.folder("ppt").folder("_rels"), a.folder("ppt/charts").folder("_rels"), a.folder("ppt/embeddings"), a.folder("ppt/media"), a.folder("ppt/slideLayouts").folder("_rels"), a.folder("ppt/slideMasters").folder("_rels"), a.folder("ppt/slides").folder("_rels"), a.folder("ppt/theme"), a.folder("ppt/notesMasters").folder("_rels"), a.folder("ppt/notesSlides").folder("_rels"), a.file("[Content_Types].xml", Je(this.slides, this.slideLayouts, this.masterSlide)), a.file("_rels/.rels", Ye()), a.file("docProps/app.xml", Xe(this.slides, this.company)), a.file("docProps/core.xml", Ze(this.title, this.subject, this.author, this.revision)), a.file("ppt/_rels/presentation.xml.rels", Qe(this.slides)), a.file("ppt/theme/theme1.xml", dt(this)), a.file("ppt/presentation.xml", ft(this)), a.file("ppt/presProps.xml", pt()), a.file("ppt/tableStyles.xml", mt()), a.file("ppt/viewProps.xml", ht()), this.slideLayouts.forEach((e, t) => {
|
|
1963
|
+
a.file(`ppt/slideLayouts/slideLayout${t + 1}.xml`, rt(e)), a.file(`ppt/slideLayouts/_rels/slideLayout${t + 1}.xml.rels`, at(t + 1, this.slideLayouts));
|
|
1964
|
+
}), this.slides.forEach((e, t) => {
|
|
1965
|
+
a.file(`ppt/slides/slide${t + 1}.xml`, $e(e)), a.file(`ppt/slides/_rels/slide${t + 1}.xml.rels`, ot(this.slides, this.slideLayouts, t + 1)), a.file(`ppt/notesSlides/notesSlide${t + 1}.xml`, nt(e)), a.file(`ppt/notesSlides/_rels/notesSlide${t + 1}.xml.rels`, st(t + 1));
|
|
1966
|
+
}), a.file("ppt/slideMasters/slideMaster1.xml", it(this.masterSlide, this.slideLayouts)), a.file("ppt/slideMasters/_rels/slideMaster1.xml.rels", ct(this.masterSlide, this.slideLayouts)), a.file("ppt/notesMasters/notesMaster1.xml", tt()), a.file("ppt/notesMasters/_rels/notesMaster1.xml.rels", lt()), this.slideLayouts.forEach((e) => {
|
|
1967
|
+
this.createChartMediaRels(e, a, t);
|
|
1968
|
+
}), this.slides.forEach((e) => {
|
|
1969
|
+
this.createChartMediaRels(e, a, t);
|
|
1970
|
+
}), this.createChartMediaRels(this.masterSlide, a, t), yield Promise.all(t).then(() => r(this, void 0, void 0, function* () {
|
|
1971
|
+
return e.outputType === "STREAM" ? yield a.generateAsync({
|
|
1972
|
+
type: "nodebuffer",
|
|
1973
|
+
compression: e.compression ? "DEFLATE" : "STORE"
|
|
1974
|
+
}) : e.outputType ? yield a.generateAsync({ type: e.outputType }) : yield a.generateAsync({
|
|
1975
|
+
type: "blob",
|
|
1976
|
+
compression: e.compression ? "DEFLATE" : "STORE"
|
|
1977
|
+
});
|
|
1978
|
+
}));
|
|
1979
|
+
}));
|
|
1980
|
+
}), this.LAYOUTS = {
|
|
1981
|
+
LAYOUT_4x3: {
|
|
1982
|
+
name: "screen4x3",
|
|
1983
|
+
width: 9144e3,
|
|
1984
|
+
height: 6858e3
|
|
1985
|
+
},
|
|
1986
|
+
LAYOUT_16x9: {
|
|
1987
|
+
name: "screen16x9",
|
|
1988
|
+
width: 9144e3,
|
|
1989
|
+
height: 5143500
|
|
1990
|
+
},
|
|
1991
|
+
LAYOUT_16x10: {
|
|
1992
|
+
name: "screen16x10",
|
|
1993
|
+
width: 9144e3,
|
|
1994
|
+
height: 5715e3
|
|
1995
|
+
},
|
|
1996
|
+
LAYOUT_WIDE: {
|
|
1997
|
+
name: "custom",
|
|
1998
|
+
width: 12192e3,
|
|
1999
|
+
height: 6858e3
|
|
2000
|
+
}
|
|
2001
|
+
}, this._author = "PptxGenJS", this._company = "PptxGenJS", this._revision = "1", this._subject = "PptxGenJS Presentation", this._title = "PptxGenJS Presentation", this._presLayout = {
|
|
2002
|
+
name: this.LAYOUTS[v].name,
|
|
2003
|
+
_sizeW: this.LAYOUTS[v].width,
|
|
2004
|
+
_sizeH: this.LAYOUTS[v].height,
|
|
2005
|
+
width: this.LAYOUTS[v].width,
|
|
2006
|
+
height: this.LAYOUTS[v].height
|
|
2007
|
+
}, this._rtlMode = !1, this._slideLayouts = [{
|
|
2008
|
+
_margin: S,
|
|
2009
|
+
_name: y,
|
|
2010
|
+
_presLayout: this._presLayout,
|
|
2011
|
+
_rels: [],
|
|
2012
|
+
_relsChart: [],
|
|
2013
|
+
_relsMedia: [],
|
|
2014
|
+
_slide: null,
|
|
2015
|
+
_slideNum: 1e3,
|
|
2016
|
+
_slideNumberProps: null,
|
|
2017
|
+
_slideObjects: []
|
|
2018
|
+
}], this._slides = [], this._sections = [], this._masterSlide = {
|
|
2019
|
+
addChart: null,
|
|
2020
|
+
addImage: null,
|
|
2021
|
+
addMedia: null,
|
|
2022
|
+
addNotes: null,
|
|
2023
|
+
addShape: null,
|
|
2024
|
+
addTable: null,
|
|
2025
|
+
addText: null,
|
|
2026
|
+
_name: null,
|
|
2027
|
+
_presLayout: this._presLayout,
|
|
2028
|
+
_rId: null,
|
|
2029
|
+
_rels: [],
|
|
2030
|
+
_relsChart: [],
|
|
2031
|
+
_relsMedia: [],
|
|
2032
|
+
_slideId: null,
|
|
2033
|
+
_slideLayout: null,
|
|
2034
|
+
_slideNum: null,
|
|
2035
|
+
_slideNumberProps: null,
|
|
2036
|
+
_slideObjects: []
|
|
2037
|
+
};
|
|
2038
|
+
}
|
|
2039
|
+
stream(e) {
|
|
2040
|
+
return r(this, void 0, void 0, function* () {
|
|
2041
|
+
return yield this.exportPresentation({
|
|
2042
|
+
compression: e?.compression,
|
|
2043
|
+
outputType: "STREAM"
|
|
2044
|
+
});
|
|
2045
|
+
});
|
|
2046
|
+
}
|
|
2047
|
+
write(e) {
|
|
2048
|
+
return r(this, void 0, void 0, function* () {
|
|
2049
|
+
let t = typeof e == "object" && e?.outputType ? e.outputType : e || null, n = typeof e == "object" && e?.compression ? e.compression : !1;
|
|
2050
|
+
return yield this.exportPresentation({
|
|
2051
|
+
compression: n,
|
|
2052
|
+
outputType: t
|
|
2053
|
+
});
|
|
2054
|
+
});
|
|
2055
|
+
}
|
|
2056
|
+
writeFile(t) {
|
|
2057
|
+
return r(this, void 0, void 0, function* () {
|
|
2058
|
+
let n = typeof process < "u" && !!process.versions?.node && process.release?.name === "node";
|
|
2059
|
+
typeof t == "string" && (console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."), t = { fileName: t });
|
|
2060
|
+
let { fileName: r = "Presentation.pptx", compression: i = !1 } = t, a = r.toLowerCase().endsWith(".pptx") ? r : `${r}.pptx`, o = n ? "nodebuffer" : null, s = yield this.exportPresentation({
|
|
2061
|
+
compression: i,
|
|
2062
|
+
outputType: o
|
|
2063
|
+
});
|
|
2064
|
+
if (n) {
|
|
2065
|
+
let { promises: t } = yield import("../../../_virtual/__vite-browser-external.js").then((t) => /* @__PURE__ */ e(t.default)), { writeFile: n } = t;
|
|
2066
|
+
return yield n(a, s), a;
|
|
2067
|
+
}
|
|
2068
|
+
return yield this.writeFileToBrowser(a, s), a;
|
|
2069
|
+
});
|
|
2070
|
+
}
|
|
2071
|
+
addSection(e) {
|
|
2072
|
+
e ? e.title || console.warn("addSection requires a title") : console.warn("addSection requires an argument");
|
|
2073
|
+
let t = {
|
|
2074
|
+
_type: "user",
|
|
2075
|
+
_slides: [],
|
|
2076
|
+
title: e.title
|
|
2077
|
+
};
|
|
2078
|
+
e.order ? this.sections.splice(e.order, 0, t) : this._sections.push(t);
|
|
2079
|
+
}
|
|
2080
|
+
addSlide(e) {
|
|
2081
|
+
let t = typeof e == "string" ? e : e?.masterName ? e.masterName : "", n = {
|
|
2082
|
+
_name: this.LAYOUTS[v].name,
|
|
2083
|
+
_presLayout: this.presLayout,
|
|
2084
|
+
_rels: [],
|
|
2085
|
+
_relsChart: [],
|
|
2086
|
+
_relsMedia: [],
|
|
2087
|
+
_slideNum: this.slides.length + 1
|
|
2088
|
+
};
|
|
2089
|
+
if (t) {
|
|
2090
|
+
let e = this.slideLayouts.filter((e) => e._name === t)[0];
|
|
2091
|
+
e && (n = e);
|
|
2092
|
+
}
|
|
2093
|
+
let r = new ke({
|
|
2094
|
+
addSlide: this.addNewSlide,
|
|
2095
|
+
getSlide: this.getSlide,
|
|
2096
|
+
presLayout: this.presLayout,
|
|
2097
|
+
setSlideNum: this.setSlideNumber,
|
|
2098
|
+
slideId: this.slides.length + 256,
|
|
2099
|
+
slideRId: this.slides.length + 2,
|
|
2100
|
+
slideNumber: this.slides.length + 1,
|
|
2101
|
+
slideLayout: n
|
|
2102
|
+
});
|
|
2103
|
+
if (this._slides.push(r), e?.sectionTitle) {
|
|
2104
|
+
let t = this.sections.filter((t) => t.title === e.sectionTitle)[0];
|
|
2105
|
+
t ? t._slides.push(r) : console.warn(`addSlide: unable to find section with title: "${e.sectionTitle}"`);
|
|
2106
|
+
} else if (this.sections && this.sections.length > 0 && !e?.sectionTitle) {
|
|
2107
|
+
let e = this._sections[this.sections.length - 1];
|
|
2108
|
+
e._type === "default" ? e._slides.push(r) : this._sections.push({
|
|
2109
|
+
title: `Default-${this.sections.filter((e) => e._type === "default").length + 1}`,
|
|
2110
|
+
_type: "default",
|
|
2111
|
+
_slides: [r]
|
|
2112
|
+
});
|
|
2113
|
+
}
|
|
2114
|
+
return r;
|
|
2115
|
+
}
|
|
2116
|
+
defineLayout(e) {
|
|
2117
|
+
e ? e.name ? e.width ? e.height ? typeof e.height == "number" ? typeof e.width != "number" && console.warn("defineLayout `width` should be a number (inches)") : console.warn("defineLayout `height` should be a number (inches)") : console.warn("defineLayout requires `height`") : console.warn("defineLayout requires `width`") : console.warn("defineLayout requires `name`") : console.warn("defineLayout requires `{name, width, height}`"), this.LAYOUTS[e.name] = {
|
|
2118
|
+
name: e.name,
|
|
2119
|
+
_sizeW: Math.round(Number(e.width) * i),
|
|
2120
|
+
_sizeH: Math.round(Number(e.height) * i),
|
|
2121
|
+
width: Math.round(Number(e.width) * i),
|
|
2122
|
+
height: Math.round(Number(e.height) * i)
|
|
2123
|
+
};
|
|
2124
|
+
}
|
|
2125
|
+
defineSlideMaster(e) {
|
|
2126
|
+
let t = JSON.parse(JSON.stringify(e));
|
|
2127
|
+
if (!t.title) throw Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");
|
|
2128
|
+
let n = {
|
|
2129
|
+
_margin: t.margin || S,
|
|
2130
|
+
_name: t.title,
|
|
2131
|
+
_presLayout: this.presLayout,
|
|
2132
|
+
_rels: [],
|
|
2133
|
+
_relsChart: [],
|
|
2134
|
+
_relsMedia: [],
|
|
2135
|
+
_slide: null,
|
|
2136
|
+
_slideNum: 1e3 + this.slideLayouts.length + 1,
|
|
2137
|
+
_slideNumberProps: t.slideNumber || null,
|
|
2138
|
+
_slideObjects: [],
|
|
2139
|
+
background: t.background || null,
|
|
2140
|
+
bkgd: t.bkgd || null
|
|
2141
|
+
};
|
|
2142
|
+
be(t, n), this.slideLayouts.push(n), (t.background || t.bkgd) && Oe(t.background, n), n._slideNumberProps && !this.masterSlide._slideNumberProps && (this.masterSlide._slideNumberProps = n._slideNumberProps);
|
|
2143
|
+
}
|
|
2144
|
+
tableToSlides(e, t = {}) {
|
|
2145
|
+
ve(this, e, t, t?.masterSlideName ? this.slideLayouts.filter((e) => e._name === t.masterSlideName)[0] : null);
|
|
2146
|
+
}
|
|
2147
|
+
};
|
|
2148
|
+
//#endregion
|
|
2149
|
+
export { _t as default };
|
|
2150
|
+
|
|
2151
|
+
//# sourceMappingURL=pptxgen.es.js.map
|