smart-webcomponents-react
Version:
[](https://jqwidgets.com/license/)
6 lines (4 loc) • 81.6 kB
JavaScript
/* Smart UI v23.0.8 (2025-05-13)
Copyright (c) 2011-2024 jQWidgets.
License: https://htmlelements.com/license/ */ //
(()=>{var e="\r\n";function t(e,t,a){if(!t&&""!==t&&0!==t)return"";let o=t;return"boolean"==typeof t&&a&&(o=a(t)),` ${e}="${o}"`}var a=class{static createHeader(e={}){const t=["version"];e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone");return`<?xml ${t.map((t=>`${t}="${e[t]}"`)).join(" ")} ?>`}static createXml(a,o){let r="";a.properties&&(a.properties.prefixedAttributes&&a.properties.prefixedAttributes.forEach((e=>{Object.keys(e.map).forEach((a=>{r+=t(e.prefix+a,e.map[a],o)}))})),a.properties.rawMap&&Object.keys(a.properties.rawMap).forEach((e=>{r+=t(e,a.properties.rawMap[e],o)})));let n="<"+a.name+r;return a.children||null!=a.textNode?null!=a.textNode?n+">"+a.textNode+"</"+a.name+">"+e:(n+=">\r\n",a.children&&a.children.forEach((e=>{n+=this.createXml(e,o)})),n+"</"+a.name+">"+e):n+"/>"+e}};Smart.Utilities.Assign("DataExporter",class{constructor(e,t,a,o){const r=this;e||(e={}),r.style=e.style,r.header=e.header,r.exportHeader=void 0===e.exportHeader||e.exportHeader,r.hierarchical=e.hierarchical,r.expandChar=e.expandChar||"+",r.collapseChar=e.collapseChar||"-",r.pageOrientation=e.pageOrientation,r.allowNull=e.allowNull||!1,r.spreadsheets=e.spreadsheets||null,r._media=[],!r.hierarchical&&t&&t.length>0?r.groupBy=t:r.mergedCells=e.mergedCells,!r.groupBy&&a&&Object.keys(a).length>0&&(r.filterBy=a),o&&(r.conditionalFormatting=o),r.timeBetween1900And1970=new Date(1970,0,1,0,0,0).getTime()-new Date(1900,0,1,0,0,0).getTime()}downloadFile(e,t,a){let o;if(!a)return e;if(o=e instanceof Blob?e:new Blob([e],{type:t}),window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(o,a);else{const e=document.createElement("a"),t=URL.createObjectURL(o);e.href=t,e.download=a,e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),e.click(),setTimeout((function(){document.body.removeChild(e),window.URL.revokeObjectURL(t)}),100)}}exportData(e,t,a,o){const r=this;if(r.actualHierarchy=r.hierarchical,t=t.toLowerCase(),r.exportHeader&&(r.header?(0===(e=e.slice(0)).length&&(r.actualHierarchy=!1),r.processComplexHeader(r.header,e,t)):1===e.length&&(r.actualHierarchy=!1)),0===e.length)return void console.warn("No data to export.");if("xlsx"===t){r.xlsxStartIndex=r.complexHeader?r.complexHeader.length:+r.exportHeader;const e=r.headerContent?r.headerContent.length:0;r.xlsxStartIndex=r.xlsxStartIndex+e}r.actualHierarchy&&(e=r.processHierarchicalData(e,t)),r.getDatafields(e),a&&a.slice(a.length-t.length-1,a.length)!=="."+t&&(a+="."+t);let n=null;switch(t){case"csv":n=r.exportToCSVAndTSV(e,{delimiter:", ",MIME:"text/csv;charset=utf-8;",toRemove:2},a);break;case"html":n=r.exportToHTML(e,a);break;case"jpeg":case"png":r.exportToImage(e,a,t,o);break;case"json":n=r.exportToJSON(e,a);break;case"pdf":n=r.exportToPDF(e,a);break;case"tsv":n=r.exportToCSVAndTSV(e,{delimiter:"\t",MIME:"text/tab-separated-values",toRemove:1},a);break;case"xlsx":n=r.exportToXLSX(e,a,o);break;case"xml":n=r.exportToXML(e,a);break;case"md":n=r.exportToMD(e,a)}return o&&n&&o(n),delete r.complexHeader,n}exportToCSVAndTSV(e,t,a){const o=this,r=o.datafields;let n="";for(let a=0;a<e.length;a++){const l=e[a];let s="";for(let e=0;e<r.length;e++)o.actualHierarchy&&0===e?s+=('""'+t.delimiter).repeat(l._level-1)+'"'+l[r[e]]+'"'+t.delimiter+('""'+t.delimiter).repeat(o.maxLevel-l._level):s+='"'+l[r[e]]+'"'+t.delimiter;s=s.slice(0,s.length-t.toRemove)+"\n",n+=s}if(!a)return n;const l="\ufeff"+n;return this.downloadFile(l,t.MIME,a)}exportToHTML(e,t){const a=this,o=a.datafields,r=a.style;let n="",l=0,s="";if(e=a.processGroupingInformation(e),a.data=e,a.exportHeader&&(n=a.getHTMLHeader(o,e),l=1),arguments[2]){s=`<script type="text/javascript" src="${Array.from(document.getElementsByTagName("script")).find((e=>-1!==e.src.indexOf("html2canvas"))).src}"><\/script>`}let i=`<!DOCTYPE html>\n<html>\n<head>\n <meta charset="UTF-8">\n <style type="text/css">\n${a.getRowStyle()}${a.getColumnStyle()}\n </style>${s}${a.toggleableFunctionality()}\n</head>\n<body>\n <table${a.getTableStyle()}>${n}\n <tbody>\n`;const c={},p={},m=[];a.getMergedCellsInfo(c,p);e:for(let n=l;n<e.length;n++){const s=e[n],d=n-l;let f=a.getAlternationIndex(d," rowN"),h="",g="",u="",x=0;if(a.actualHierarchy)s._collapsed&&(h=" collapsed"),g=` level="${s._level}"`;else if(a.groupBy)for(let e=0;e<a.groupBy.length;e++){const t=a.groupBy[e],o=s[t],r=a.groups[t][o];if(u+=o,-1===m.indexOf(u)){i+=` <tr class="row">\n <td class="column group" style="padding-left: ${25*x}px;" colspan="${a.datafields.length}">${r}</td>\n </tr>`,m.push(u),n--;continue e}x++}let y=` <tr class="row row${d}${f}${h}"${g}`;t||(y+=' style="page-break-inside: avoid;"'),y+=">\n";for(let e=0;e<o.length;e++){const t=e+","+d;let n=1,l=1;if(c[t])n=c[t].colspan,l=c[t].rowspan;else if(p[t])continue;const i=o[e];let m=s[i],f="";if(a.actualHierarchy&&0===e){let e="";s._expanded?e=a.collapseChar:!1===s._expanded&&(e=a.expandChar),f=`<div class="toggle-element" style="margin-left: ${25*(s._level-1)+5}px;" expanded>${e}</div>`}m=a.getFormattedValue(m,i),"string"==typeof m&&(m.indexOf("base64")>=0||m.indexOf(".png")>=0||m.indexOf(".jpeg")>=0)&&(m=`<img height="30" src="${m}"/>`);let h="";if(r&&r.columns&&r.columns[i]&&r.columns[i][d]){const e=r.columns[i][d];h+=`border-color: ${e.border}; background-color: ${e.background}; color: ${e.color};"`}0===e&&x>1&&(h+=`padding-left: ${25*(x-1)}px;"`),h&&(h=` style="${h}"`),y+=` <td class="column column${i}"${h} colspan="${n}" rowspan="${l}">${f+m}</td>\n`}i+=y+" </tr>\n"}return i+=" </tbody>\n </table>\n</body>\n</html>",arguments[2]?i:this.downloadFile(i,"text/html",t)}exportToImage(e,t,a,o){try{html2canvas}catch(e){throw new Error("smart-grid: Missing reference to 'html2canvas.min.js'.")}let r=null;const n=this.exportToHTML(e,t,!0),l=document.createElement("iframe");return l.style.position="absolute",l.style.top=0,l.style.left=0,l.style.border="none",l.style.width="100%",l.style.height="100%",l.style.opacity=0,l.style.pointerEvents="none",document.body.appendChild(l),l.contentDocument.write(n),function e(){l.contentDocument.body&&l.contentDocument.body.firstElementChild?l.contentWindow.html2canvas(l.contentDocument.body.firstElementChild).then((e=>{const n=new Smart.Utilities.Draw(document.createElement("div"));r=e.toDataURL("image/png"),o?o(r):(document.body.appendChild(e),n.exportImage(void 0,e,a,t)),l.remove(),e.remove()})):requestAnimationFrame(e)}(),r}getMergedCellsInfo(e,t,a){const o=this;if(!o.mergedCells)return;const r=a&&0!==a[o.datafields.length-1];o.mergedCellsPDF=o.mergedCells.slice(0);for(let n=0;n<o.mergedCellsPDF.length;n++){const l=o.mergedCellsPDF[n];let s=l.colspan,i=l.rowspan;if(i<2&&s<2)continue;const c=l.cell[1];let p=l.cell[0];if(r&&s>1){const e=a[p],t=a[p+s-1],r=[];if(t>e){let n=e,l=p,m=0;e:for(let o=e;o<=t;o++){let e=l,t=0;for(;a[l]===n;)if(l++,m++,t++,m===s){r.push({start:e,span:t});break e}r.push({start:e,span:t}),n=a[l]}s=r[0].span;for(let e=1;e<r.length;e++)o.mergedCellsPDF.push({cell:[r[e].start,c],colspan:r[e].span,rowspan:i,originalCell:p})}}for(let a=p;a<p+s;a++)for(let o=c;o<c+i;o++){const r=a+","+o;a!==p||o!==c?t[r]=!0:e[r]={colspan:s,rowspan:i,originalCell:l.originalCell}}}}getAlternationIndex(e,t){if(!this.style)return"";const a=this.style.rows;return a&&a.alternationCount&&((void 0===a.alternationStart||e>=a.alternationStart)&&(void 0===a.alternationEnd||e<=a.alternationEnd)||a.alternationStart===a.alternationEnd)?t+e%a.alternationCount:""}getFormattedValue(e,t){const a=this,o=a.style;if(null===e)return a.allowNull?"null":"";if(t&&o&&o.columns&&o.columns[t]&&o.columns[t].format){if("number"==typeof e)return a.formatNumber(e,o.columns[t].format);if(e instanceof Date)return a.formatDate(e,o.columns[t].format)}else if(e instanceof Date)return a.formatDate(e,"d");return e}exportToJSON(e,t){return this.downloadFile(JSON.stringify(e,this.datafields.concat("rows")),"application/json",t)}exportToMD(e,t){const a=this.datafields;let o="";for(let t=0,r=e.length;t<r;t+=1)for(let r=0,n=a.length;r<n;r+=1){const n=e[t][a[r]];"string"==typeof n&&(o+=n)}return this.downloadFile(o,"application/text",t)}exportToPDF(e,t){try{pdfMake}catch(e){throw new Error("Missing reference to 'pdfmake.min.js'.")}const a=this,o=a.datafields,r=+a.exportHeader,n=[],l={},s={},i={},c=r?a.complexHeader?a.complexHeader.length:1:0,p={pageOrientation:a.pageOrientation||"portrait"};let m,d=[],f=[];function h(){let e=[];for(let t=0;t<m.length;t++)e.push([]);return e}e=a.processGroupingInformation(e),a.data=e,a.headerRows=c,a.getPDFStyle();const g=a.styleInfo;m=g?a.wrapPDFColumns(p,i):[{body:d,datafields:o}],r&&(d=a.getPDFHeader(o,m,i)),a.getMergedCellsInfo(l,s,i);e:for(let t=r;t<e.length;t++){const c=e[t];let p="",d=0;if(a.groupBy)for(let e=0;e<a.groupBy.length;e++){const o=a.groupBy[e],r=c[o],l=a.groups[o][r];if(p+=r,-1===n.indexOf(p)){a.createGroupHeaderRow(m,{text:l,style:["row","cell","group"],marginLeft:7.5*d}),n.push(p),t--;continue e}d++}const f=h(),u=t-r;let x=a.getAlternationIndex(u,"");for(let e=0;e<o.length;e++){const t=o[e],r={style:["row","row"+u,"cell","cell"+t]},n=i[e]||0;if(void 0!==x&&r.style.splice(1,0,"rowN"+x),a.mergedCellsPDF){const t=e+","+u,a=l[t];if(a){if(r.colSpan=a.colspan,r.rowSpan=a.rowspan,void 0!==a.originalCell){r.text="",r.style[r.style.length-1]="cell"+o[a.originalCell],f[n].push(r);continue}}else if(s[t]){f[n].push({});continue}}const p=a.getFormattedValue(c[t],t);"string"==typeof p&&(p.indexOf("base64")>=0||p.indexOf(".png")>=0||p.indexOf(".jpeg")>=0)?(r.image=p,r.width=100):p&&Array.isArray(p)&&p[0]&&p[0].indexOf("base64")>=0?(r.image=p[0],r.width=100,g&&g.widths[e]&&(r.width=parseInt(g.widths[e],10)-10)):r.text=p.toString(),a.getUniqueStylePDF(r,t,u),a.setIndentation(r,{j:e,currentRecord:c,value:p,outlineLevel:d}),f[n].push(r)}for(let e=0;e<m.length;e++)m[e].body.push(f[e])}if(g){for(let e=0;e<m.length;e++){const t=m[e].body;for(let a=c-1;a>=0;a--)t.unshift(d[e][a]);f.push({table:{headerRows:c,widths:m[e].widths,heights:function(e){return g.heights[e]?g.heights[e]:g.defaultHeight?g.defaultHeight:void 0},body:t},pageBreak:"after"})}delete f[m.length-1].pageBreak,p.styles=g.styles}else{const e=m[0].body;for(let t=c-1;t>=0;t--)e.unshift(d[0][t]);f=[{table:{headerRows:c,body:e}}],p.styles={header:{bold:!0},group:{bold:!0}}}if(p.content=f,!t){const e=pdfMake.createPdf(p);return delete a.mergedCellsPDF,delete a.styleInfo,e}pdfMake.createPdf(p).download(t),delete a.mergedCellsPDF,delete a.styleInfo}getPDFStyle(){const e=this,t=e.style;if(!t)return"";const a=e.data[0],o=t.header,r=t.columns,n=t.rows,l={heights:[],widths:Array(e.datafields.length).fill("*"),styles:{header:{},row:{},cell:{},group:{fillColor:"#FFFFFF",color:"#000000",bold:!0}}};function s(t,o){if(t)for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(void 0===a[r])if("height"===r&&"header"===o)for(let a=0;a<e.headerRows;a++)l.heights[a]=parseInt(t[r],10)/e.headerRows/1.4;else e.storePDFStyle({prop:r,value:t[r],toUpdate:o});else for(let a in t[r]){if(!isNaN(a)||!Object.prototype.hasOwnProperty.call(t[r],a))continue;const n=t[r][a],s=e.datafields.indexOf(r);"width"===a&&"*"===l.widths[s]?l.widths[s]=n:e.storePDFStyle({prop:a,value:n,toUpdate:o+r})}}if(e.styleInfo=l,s(o,"header"),s(r,"cell"),n){for(let t in n){if(!Object.prototype.hasOwnProperty.call(n,t)||-1!==t.indexOf("alt"))continue;const a=n[t];if(isNaN(t))"height"===t?l.defaultHeight=parseFloat(a)/1.4:e.storePDFStyle({prop:t,value:a,toUpdate:"row"});else for(let o in a)Object.prototype.hasOwnProperty.call(a,o)&&("height"===o?l.heights[parseFloat(t)+e.headerRows]=parseFloat(a[o])/1.4:e.storePDFStyle({prop:o,value:a[o],toUpdate:"row"+t}))}if(n.alternationCount)for(let e=0;e<n.alternationCount;e++){const t={};n[`alternationIndex${e}Color`]&&(t.color=n[`alternationIndex${e}Color`]),n[`alternationIndex${e}BackgroundColor`]&&(t.fillColor=n[`alternationIndex${e}BackgroundColor`]),l.styles["rowN"+e]=t}}}storePDFStyle(e){const t=this;let a=t.styleInfo.styles[e.toUpdate];a||(a={},t.styleInfo.styles[e.toUpdate]=a);let o=e.value;switch(e.prop){case"backgroundColor":a.fillColor=o;break;case"color":a.color=o;break;case"fontSize":a.fontSize=parseFloat(o);break;case"fontStyle":"italic"===o&&(a.italics=!0);break;case"fontWeight":"bold"===o&&(a.bold=!0);break;case"textAlign":a.alignment=o}}wrapPDFColumns(e,t){const a=this,o=this.styleInfo,r="portrait"===e.pageOrientation?655:1155,n=[];let l=0;for(let e=0;e<o.widths.length;e++){let s,i=o.widths[e];if("*"===i?s=r/6:"string"==typeof i&&-1!==i.indexOf("%")?(s=Math.min(r,Math.floor(parseFloat(i)/100*r)),s===r&&(i="*")):(i=parseFloat(i),i>=r?(s=r,i="*"):(s=i,i/=1.4)),void 0===n[l]){const o=[];n[l]={body:o,width:s,widths:[i],datafields:[a.datafields[e]]},t[e]=l;continue}const c=n[l];c.width+s>r?(l++,e--):(t[e]=l,c.width+=s,c.widths.push(i),c.datafields.push(a.datafields[e]))}return n}getPDFHeader(e,t,a){const o=this,r=[],n=o.headerRows,l=[],s=[];let i,c,p=[];o.complexHeader?(i=o.complexHeader,c=o.complexDataFieldsHeader):(i=[Object.values(o.data[0])],c=i);for(let e=0;e<n;e++){const t=i[e],o=c[e];for(let r=0;r<t.length;r++){let n=a[r]||0;l[n]||(l[n]=[],s[n]=[]),l[n][e]||(l[n][e]=[],s[n][e]=[]),l[n][e].push(t[r]),s[n][e].push(o[r])}}function m(e,t,a,o){for(let r=0;r<n;r++){const l=e[r],s=t[r],i=[];for(let e=0;e<l.length;e++){const a=s[e];let c=1,p=1;if(s[e-1]&&s[e-1]===a||t[r-1]&&t[r-1][e]===a){i.push({});continue}let m=e+1;for(;s[m]&&s[m]===s[m-1];)c++,m++;for(m=r+1;t[m]&&t[m][e]===a;)p++,m++;const d=r===n-1||p+r===n?o.datafields[e]:null,f={text:l[e],colSpan:c,rowSpan:p};d?f.style=["header","header"+d]:(f.alignment="center",f.style="header"),i.push(f)}a.push(i)}}for(let e=0;e<t.length;e++)p=[],m(l[e],s[e],p,t[e]),r.push(p);return r}createGroupHeaderRow(e,t){for(let a=0;a<e.length;a++){const o=Object.assign({},t),r=e[a].datafields.length,n=[o];o.colSpan=r,n.length=r,n.fill({},1,r-1),e[a].body.push(n)}}getUniqueStylePDF(e,t,a){const o=this.style;if(!o||!o.columns||!o.columns[t])return;const r=o.columns[t][a];r&&(e.fillColor=function(e){const t=/rgba\((\d+),(\d+),(\d+)\,(\d*.\d+|\d+)\)/gi.exec(e.replace(/\s/g,""));if(null===t)return e;const a=parseFloat(t[1]).toString(16).toUpperCase(),o=parseFloat(t[2]).toString(16).toUpperCase(),r=parseFloat(t[3]).toString(16).toUpperCase();return"#"+"0".repeat(2-a.length)+a+"0".repeat(2-o.length)+o+"0".repeat(2-r.length)+r}(r.background),e.color=r.color.toLowerCase())}setIndentation(e,t){if(0!==t.j)return;const a=this;if(a.actualHierarchy){const o=t.currentRecord;void 0!==o._expanded?(e.marginLeft=25*(o._level-1),e.text=a.collapseChar+" "+t.value):e.marginLeft=25*(o._level-1)+6}else t.outlineLevel>1&&(e.marginLeft=7.5*(t.outlineLevel-1))}addBodyImageToMap(e,t,a,o){const{row:r,column:n}=e.position||{},l=e;o&&(null===t||null===a||r&&n||(e.position||(e.position={}),e.position=Object.assign({},e.position,{row:t,column:o.indexOf(a)+1})),l.totalWidth=l.width,l.totalHeight=l.height),this.buildImageMap({imageToAdd:l,idx:1});let s=this.worksheetImageIds.get(1);s||(s=new Map,this.worksheetImageIds.set(1,s));const i=this.worksheetImages.get(1);i?i.push(l):this.worksheetImages.set(1,[l]),s.get(e.id)||s.set(e.id,{index:s.size,type:e.imageType})}buildImageMap(e){const{imageToAdd:t,idx:a}=e,o=this.images.get(t.id);if(o){const e=o.find((e=>e.sheetId===a));e?e.image.push(t):o.push({sheetId:a,image:[t]})}else this.images.set(t.id,[{sheetId:a,image:[t]}]),this.workbookImageIds.set(t.id,{type:t.imageType,index:this.workbookImageIds.size})}createXmlPart(e,t){const o=a.createHeader({encoding:"UTF-8",standalone:"yes"}),r=a.createXml(e);return t?r:`${o}${r}`}generateWorksheetImages(e,t,a){const o=this;this.images=new Map,this.worksheetImages=new Map,this.worksheetHeaderFooterImages=new Map,this.workbookImageIds=new Map,this.worksheetImageIds=new Map;let r=0,n=0,l=0;if(o.addImageToCell){for(let e=1+(o.headerContent?o.headerContent.length:0);e<a.length;e++){const t=a[e];for(let a=0;a<o.datafields.length;a++){const r=o.datafields[a];let n=t[r];if(n&&Array.isArray(n)){for(let a=0;a<n.length;a++){const s=o.addImageToCell(e+l++,r,n[a],n,t,a);s&&(t[r]="",this.addBodyImageToMap(s.image,1+e,r,o.datafields))}continue}const s=o.addImageToCell(e+l++,r,n,n,t,0);s&&(t[r]="",s.value&&s.value!==n&&(t[r]=s.value),this.addBodyImageToMap(s.image,1+e,r,o.datafields))}}if(o.headerContent)for(let e=0;e<o.headerContent.length;e++){const t=a[e];for(let a=0;a<o.datafields.length;a++){const r=o.datafields[a],n=t[r],l=o.addImageToCell(e+1,r,n,n,t,0);l&&(t[r]="",this.addBodyImageToMap(l.image,1+e,r,o.datafields))}}this.images.forEach((t=>{const a=t[0].image[0],{base64:o,imageType:r}=a,l="jpg"===r?"jpeg":r,s=(e,t)=>{e||(e="");const a=atob(e),o=new Array(a.length);for(let e=0;e<a.length;e++)o[e]=a.charCodeAt(e);const r=new Uint8Array(o);return new Blob([r],{type:t})};let i;i=o&&Array.isArray(o)?s(o[0].split(",")[1],"image/"+l):s(o.split(",")[1],"image/"+l),e.file(`xl/media/image${++n}.${l}`,i,!0)}))}let s=0;var i=e=>Math.ceil(9525*e),c=(e,t,a,o)=>({name:"xdr:pic",children:[f(e,t+1),p(e,a+1),m(e,o)]}),p=(e,t)=>{let a;if(e.transparency){const t=Math.min(Math.max(e.transparency,0),100);a=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(1e3*t)}}}]}if(e.recolor)switch(a||(a=[]),e.recolor.toLocaleLowerCase()){case"grayscale":a.push({name:"a:grayscl"});break;case"sepia":a.push(getDuoTone({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":a.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}})}return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${t}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:a},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},m=(e,t)=>{const a={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:t.width,cy:t.height}}}]};if(e.rotation){const t=e.rotation;a.properties={rawMap:{rot:6e4*Math.min(Math.max(t,0),360)}}}return{name:"xdr:spPr",children:[a,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},d=e=>{const t=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(e.recolor&&e.recolor.toLowerCase()){case"grayscale":case"sepia":case"washout":t.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:t}},f=(e,t)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:t,name:e.id,descr:null!=e.altText?e.altText:void 0}},children:[d(e)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),h=(e,t)=>({name:`xdr:${e}`,children:[{name:"xdr:col",textNode:t.col.toString()},{name:"xdr:colOff",textNode:t.offsetX.toString()},{name:"xdr:row",textNode:t.row.toString()},{name:"xdr:rowOff",textNode:t.offsetY.toString()}]}),g={getTemplate(e){const{sheetIndex:t}=e,a=o.worksheetImages.get(t),r=o.worksheetImageIds.get(t);return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"}},children:a.map(((e,t)=>{const a=(e=>{e.fitCell=!!e.fitCell||!e.width||!e.height;const{position:t={},fitCell:a,width:o=0,height:r=0,totalHeight:n,totalWidth:l}=e,{offsetX:s=0,offsetY:c=0,row:p=1,rowSpan:m=1,column:d=1,colSpan:f=1}=t;return{from:{row:p-1,col:d-1,offsetX:i(s),offsetY:i(c)},to:{row:p-1+(a?1:m-1),col:d-1+(a?1:f-1),offsetX:i(o+s),offsetY:i(r+c)},height:i(n||r),width:i(l||o)}})(e);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[h("from",a.from),h("to",a.to),c(e,t,r.get(e.id).index,a),{name:"xdr:clientData"}]}}))}}};const u=e=>this.createXmlPart(g.getTemplate({sheetIndex:e}));var x={getTemplate(e){const{Id:t,Type:a,Target:o}=e;return{name:"Relationship",properties:{rawMap:{Id:t,Type:a,Target:o}}}}},y={getTemplate:e=>({name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:e.map((e=>x.getTemplate(e)))})},b=y;const w=e=>{const t=this.worksheetImageIds.get(e)||[],a=[];for(const[e,o]of t)a.push({Id:`rId${o.index+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${this.workbookImageIds.get(e).index+1}.${o.type}`});return this.createXmlPart(y.getTemplate(a))};var C=(t,a)=>{const o=`xl/drawings/drawing${a+1}.xml`,r=`xl/drawings/_rels/drawing${a+1}.xml.rels`;e.file(r,w(t)),e.file(o,u(t))};for(let e=1;e<a.length;e++){this.worksheetImages.has(e)&&(C(e,s),r=s,s++)}var v=this.exportAsTable?1:0;e.file("xl/worksheets/_rels/sheet1.xml.rels",(({drawingIndex:e,tableIndex:t}={})=>{if(void 0===e&&void 0===t)return"";const a=[];null!==e&&n>0&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${e+1}.xml`}),null!==t&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:"../tables/table1.xml"});const o=b.getTemplate(a);return this.createXmlPart(o)})({tableIndex:v,drawingIndex:r}))}exportToXLSX(e,t,a){try{JSZip}catch(e){throw new Error("Missing reference to 'jszip.min.js'.")}const o=this;let r=o.style;if(e=o.processGroupingInformation(e,!0),o.data=e,o.getColumnsArray(),o.complexHeaderMergedCells=[],o.complexHeaderMergeInfo)for(let e in o.complexHeaderMergeInfo)if(Object.prototype.hasOwnProperty.call(o.complexHeaderMergeInfo,e)){const t=o.complexHeaderMergeInfo[e];if(t.from[0]===t.to[0]&&t.from[1]===t.to[1])continue;o.complexHeaderMergedCells.push({from:o.columnsArray[t.from[1]]+(t.from[0]+1),to:o.columnsArray[t.to[1]]+(t.to[0]+1)})}o.getConditionalFormatting(),r||(r=o.generateDefaultStyle(e));const n=new JSZip,l=n.folder("_rels"),s=n.folder("docProps"),i=n.folder("xl");if(o.headerContent){const t=o.headerContent,a=[];for(let e=0;e<t.length;e++){const r=t[e].cells;let n={};for(let e=0;e<o.datafields.length;e++){const t=o.datafields[e];r[t]?n[t]=r[t]:n[t]=null}a.push(n)}e=[...a,...e]}if(o.footerContent){const t=o.footerContent,a=[];for(let e=0;e<t.length;e++){const r=t[e].cells;let n={};for(let e=0;e<o.datafields.length;e++){const t=o.datafields[e];r[t]?n[t]=r[t]:n[t]=null}a.push(n)}e=[...e,...a]}this.generateWorksheetImages(n,i,e);const c=o.generateSharedStrings(e),p=c.collection,m=c.xml,d=o.generateStyles(r),f=o.groupBy?o.generateSheet1WithGrouping(e,p):o.generateSheet1(e,p,o.datafields,o.columnsArray),h=o.generateAuxiliaryFiles();let g=!1;const u=this.worksheetImages.get(1);u&&u.length&&(g=!0);const x=i.folder("_rels"),y=i.folder("theme"),b=i.folder("worksheets");if(g){i.folder("media"),i.folder("drawings"),i.folder("drawings/_rels")}if(l.file(".rels",h._relsRels),s.file("app.xml",h.docPropsAppXml),s.file("core.xml",h.docPropsCoreXml),x.file("workbook.xml.rels",h.xl_relsWorkbookXmlRels),y.file("theme1.xml",h.xlThemeTheme1Xml),b.file("sheet1.xml",f),i.file("sharedStrings.xml",m),i.file("styles.xml",d),i.file("workbook.xml",h.xlWorkbookXml),n.file("[Content_Types].xml",h.Content_TypesXml),this.spreadsheets){let e=2;for(let t=0;t<this.spreadsheets.length;t++){const a=this.spreadsheets[t],r=a.dataFields;let n=[...a.dataSource],l=[];for(let e=0;e<a.columns.length;e++){const t=a.columns[e];"string"==typeof t?l[t]=t:l[t.dataField]=t.label}n.splice(0,0,l);const s=o.generateSheet1(n,p,r,o.getColumnsArrayFromDataFields(r),e);b.file("sheet"+e+++".xml",s)}}if(this.exportAsTable){const t=Object.values(o.data[0]),a=o.groupBy&&o.groupBy.length?o.groupDimensionEnd:o.columnsArray[o.columnsArray.length-1]+(e.length-1);let r=`<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" mc:Ignorable="xr xr3" id="1" name="Table1" displayName="Table1" ref="A${this.xlsxStartIndex}:${a}" totalsRowShown="0">\n<autoFilter ref="A${this.xlsxStartIndex}:${a}">`;for(let e=0;e<t.length;e++)r+=`<filterColumn colId="${e}" hiddenButton="0"/>\n`;r+="</autoFilter>";let n=`\n<tableColumns count="${t.length}">`;for(let e=0;e<t.length;e++){n+=`<tableColumn id="${e+1}" name="${t[e]}" dataCellStyle="Normal"/>\n`}n+="\n</tableColumns>",r+=n,r+='\n <tableStyleInfo name="TableStyleLight1" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/>\n</table>';i.folder("tables").file("table1.xml",r)}n.generateAsync({type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}).then((function(e){return!t&&a&&a(e),o.downloadFile(e,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",t)})),delete o.conditionalFormattingXLSX,delete o.complexHeaderMergeInfo,delete o.defaultRowHeight,delete o.rowHeight}processGroupingInformation(e,t){const a=this;if(!a.groupBy)return e;let o;if(e=e.slice(0),a.exportHeader&&(t&&a.complexHeader?(o=e.slice(0,a.complexHeader.length),e.splice(0,a.complexHeader.length)):(o=[e[0]],e.splice(0,1))),e.length>1){const t=function(e,t){let a;switch(t||typeof e){case"string":a=(new Intl.Collator).compare;break;case"number":a=function(e,t){return e-t};break;case"boolean":case"bool":a=function(e,t){return e===t?0:!1===e?-1:1};break;case"date":case"time":case"dateTime":e instanceof Date?a=function(e,t){return e.getTime()-t.getTime()}:(e instanceof Smart.Utilities.DateTime||e instanceof Smart.Utilities.BigNumber)&&(a=function(e,t){return e.compare(t)});break;case"object":if(e instanceof Date)a=function(e,t){return e.getTime()-t.getTime()};else if(e instanceof Smart.Utilities.DateTime||e instanceof Smart.Utilities.BigNumber)a=function(e,t){return e.compare(t)};else if(e instanceof Smart.Utilities.Complex||window.NIComplex&&e instanceof window.NIComplex){const e=new Smart.Utilities.ComplexNumericProcessor;a=function(t,a){return e.compareComplexNumbers(t,a)}}}return a};(function(e,a,o,r){if(!e||!Array.isArray(e)||0===e.length||!a||Array.isArray(a)&&0===a.length)return;"string"==typeof a&&(a=[a]);const n=[],l=[];void 0===o&&(o=[]);for(let r=0;r<a.length;r++)void 0===o[r]||"asc"===o[r]||"ascending"===o[r]?n[r]=1:n[r]=-1,l[r]=t(e[0][a[r]]);r?r(e,a,o,l):e.sort((function(e,t){for(let o=0;o<a.length;o++){const r=l[o](e[a[o]],t[a[o]]);if(0===r){if(a[o+1])continue;return void 0!==e._index?(e._index-t._index)*n[o]:0}return r*n[o]}}))})(e,a.groupBy)}return o&&(e=o.concat(e)),a.getGroupLabels(e),e}exportToXML(e,t){const a=this.datafields.slice(0);let o='<?xml version="1.0" encoding="UTF-8" ?>\n<table>\n';return-1===a.indexOf("rows")&&a.push("rows"),o+=function e(t,o){let r="";for(let n=0;n<t.length;n++){const l=t[n];r+=o+"<row>\n";for(let t=0;t<a.length;t++){const n=a[t];if("rows"!==n)r+=o+` <${n}>${l[n]}</${n}>\n`;else{if(!l.rows)continue;r+=`${o} <rows>\n${e(l.rows,o+" ")}${o} </rows>\n`}}r+=o+"</row>\n"}return r}(e," ")+"</table>",t?this.downloadFile(o,"application/xml",t):o}formatDate(e,t){if(!Smart.Utilities.DateTime)return e;try{return new Smart.Utilities.DateTime(e).toString(t)}catch(t){return e}}formatNumber(e,t){if(!Smart.Utilities.NumberRenderer)return e;const a=(new Smart.Utilities.NumberRenderer).formatNumber(e,t);return void 0===a?e:a}generateAuxiliaryFiles(){const e=(new Date).toISOString(),t=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<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>Smart HTML Elements</dc:creator><cp:lastModifiedBy>Smart HTML Elements</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">${e}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${e}</dcterms:modified></cp:coreProperties>`;let a='<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>',o=1;if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++){const t=2+e;o++,a+=`<Relationship Id="rId${t}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet${t}.xml"/>`}const r=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${a}<Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/></Relationships>`;let n='<sheet name="Sheet1" sheetId="1" r:id="rId1"/>';if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++){const t=2+e;n+=`<sheet name="${this.spreadsheets[e].label}" sheetId="${t}" r:id="rId${t}"/>`}const l=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<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 xr xr6 xr10 xr2" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"><fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="20325"/><workbookPr defaultThemeVersion="166925"/><mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice Requires="x15"><x15ac:absPath url="C:UsersjqwidgetsDesktop" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/></mc:Choice></mc:AlternateContent><xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{0DEDCB6D-5403-4CD8-AAA5-59B6D238A8B6}" xr6:coauthVersionLast="34" xr6:coauthVersionMax="34" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="19200" windowHeight="6950" xr2:uid="{0CB664E6-3800-4A88-B158-B46A682E7484}"/></bookViews><sheets>${n}</sheets><calcPr calcId="179021"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:workbookPr chartTrackingRefBase="1"/></ext></extLst></workbook>`,s=this.worksheetImages.get(1);let i="";s&&s.length&&(i='<Override PartName="/xl/drawings/drawing1.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/>');let c="";this.exportAsTable&&(c='<Override PartName="/xl/tables/table1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"/>');let p='<Override PartName = "/xl/worksheets/sheet1.xml" ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />';if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++)p+=`<Override PartName = "/xl/worksheets/sheet${e+2}.xml" ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />`;return{_relsRels:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>',docPropsAppXml:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Microsoft 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>',docPropsCoreXml:t,xl_relsWorkbookXmlRels:r,xlThemeTheme1Xml:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<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="游ゴシック 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="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: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><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="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: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>',xlWorkbookXml:l,Content_TypesXml:`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="bin" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings"/><Default Extension="jpeg" ContentType="image/jpeg"/><Default Extension="png" ContentType="image/png"/><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"/>${p}<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"/>${c}${i}<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>`}}generateDefaultStyle(e){const t=this,a={},o=t.datafields,r=t.complexHeader?e[t.complexHeader.length]:e[+t.exportHeader];if(!r)return a;for(let e=0;e<o.length;e++){r[o[e]]instanceof Date&&(a.columns||(a.columns=[]),a.columns[o[e]]={format:"d"})}return a}generateGroupRow(e){const t=e.rowNumber,a="A"+t,o=` <row r="${t}" outlineLevel="${e.outlineLevel}" spans="1:${e.numberOfColumns}"${this.getCustomRowHeight(t-1)} x14ac:dyDescent="0.45">\n <c r="${a}" t="s" s="0">\n <v>${e.sharedStringIndex}</v>\n </c>\n </row>\n`;return e.mergedCells.push({from:a,to:this.columnsArray[e.numberOfColumns-1]+t}),o}generateSharedStrings(e){const t=this,a=t.datafields,o=[];let r="",n=0,l=0;function s(e){n++,-1===o.indexOf(e)&&(l++,o.push(e),e=(e=(e=(e=(e=e.replace(/&(?!amp;)/g,"&")).replace(/'/g,"'")).replace(/"/g,""")).replace(/>/g,">")).replace(/</g,"<"),r+=`<si><t>${e}</t></si>`)}const i=(e,a)=>{for(let o=0;o<e.length;o++){const r=e[o];for(let e=0;e<a.length;e++){let o=r[a[e]];null!==o||t.allowNull||(o=""),"string"==typeof o&&s(o)}}};if(i(e,a),t.spreadsheets)for(let e=0;e<t.spreadsheets.length;e++){const a=t.spreadsheets[e],o=a.dataFields;let r=[...a.dataSource],n=[];for(let e=0;e<a.columns.length;e++){const t=a.columns[e];"string"==typeof t?n[t]=t:n[t.dataField]=t.label}r.splice(0,0,n),i(r,o)}if(t.groupLabels)for(let e=0;e<t.groupLabels.length;e++)s(t.groupLabels[e]);return r=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${n}" uniqueCount="${l}">${r}</sst>`,{collection:o,xml:r}}generateSheet1(e,t,a,o,r){const n=this,l=o.length,s=e.length,i=o[l-1]+s,c=n.getFilters(),p=[].concat(n.complexHeaderMergedCells);let m=0;const d=n.freezeHeader?`<sheetView rightToLeft="0" workbookViewId="0">\n <pane state="frozen" topLeftCell="A${n.xlsxStartIndex+1}" ySplit="${n.xlsxStartIndex}"/>\n </sheetView>`:"";let f=n.getCustomColumnWidths(o);if(r>1){let e="<cols>";for(let t=0;t<o.length;t++)e+='<col min="1" max="1" width="25" hidden="0" bestFit="0" customWidth="1"/>';e+="</cols>",f=e}let h=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<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 xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{7F25248B-C640-4C64-AD47-C0EA0E5D90D0}">\n <sheetPr filterMode="${""!==c}" />\n <dimension ref="A1:${i}" />\n <sheetViews>\n <sheetView ${r<=1?'tabSelected="1"':""} workbookViewId="0" />\n ${d}\n </sheetViews>\n <sheetFormatPr defaultRowHeight="14.5" x14ac:dyDescent="0.35" />${f}\n <sheetData>\n`;function g(e,t){return o[e]+t}for(let o=0;o<=e.length;o++){const r=e[o],s=o+1;let i="";if(n.actualHierarchy){const t=e[o-1];t&&t._collapsed&&(!r||t._level>r._level)&&(i=' collapsed="true"')}if(o===e.length){i&&(h+=` <row r="${s}" outlineLevel="${Math.max(e[o-1]._level-2,0)}" hidden="false" collapsed="true" />\n`);break}let c=` <row r="${s}"${n.getOutlineLevel(r)} hidden="${r._hidden||r._collapsed||!1}"${i} spans="1:${l}"${n.getCustomRowHeight(s-1)} customHeight="1" x14ac:dyDescent="0.45">\n`;for(let e=0;e<a.length;e++){const o=n.getXLSXCellStyle(g(e,s));c+=n.getActualCellData(r[a[e]],{r:g(e,s),s:o},t,s,a[e])}c+=" </row>\n",h+=c}if(n.headerContent)for(let e=0;e<n.headerContent.length;e++){const t=n.headerContent[e];t.style&&t.style.mergeAcross&&p.push({from:"A"+(e+1),to:o[l-1]+(e+1)})}if(n.footerContent)for(let t=0;t<n.footerContent.length;t++){const a=n.footerContent[t];a.style&&a.style.mergeAcross&&p.push({from:"A"+(e.length-t),to:o[l-1]+(e.length-t)})}return h+=` </sheetData>${n.conditionalFormattingXLSX.conditions}${c}${n.getMergedCells(p)}\n <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3" />\n <pageSetup paperSize="9" orientation="portrait" r:id="rId1" />\n ${(e=>{let t="";const a=this.worksheetImages.get(e);return a&&a.length&&(t+=`<drawing r:id="rId${++m}"/>`),t})(1)}\n ${(()=>{if(!n.exportAsTable)return"";return`<tableParts count="1">\n <tablePart r:id="rId${++m}"/>\n </tableParts>`})()}\n</worksheet>`,h}generateSheet1WithGrouping(e,t){const a=this,o=a.columnsArray.length,r=e.length,n=a.columnsArray[o-1]+r,l=a.datafields,s=[].concat(a.complexHeaderMergedCells);let i=0;let c=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<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 xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{7F25248B-C640-4C64-AD47-C0EA0E5D90D0}">\n <dimension ref="A1:${n}" />\n <sheetViews>\n <sheetView tabSelected="1" workbookViewId="0" />\n ${a.freezeHeader?`<sheetView rightToLeft="0" workbookViewId="0">\n <pane state="frozen" topLeftCell="A${a.xlsxStartIndex+1}" ySplit="${a.xlsxStartIndex}"/>\n </sheetView>`:""}\n </sheetViews>\n <sheetFormatPr defaultRowHeight="14.5" x14ac:dyDescent="0.35" />${a.getCustomColumnWidths()}\n <sheetData>\n`,p=0,m=[];function d(e,t){return a.columnsArray[e]+t}e:for(let r=0;r<e.length;r++){const n=e[r],i=r+1+p;let f=0,h="";if(!a.exportHeader||!a.complexHeader&&0!==r||a.complexHeader&&r>=a.complexHeader.length){let e="";for(let l=0;l<a.groupBy.length;l++){const d=a.groupBy[l],h=n[d],g=a.groups[d][h];if(e+=h,-1===m.indexOf(e)){let n=t.indexOf(g);c+=a.generateGroupRow({rowNumber:i,outlineLevel:f,numberOfColumns:o,sharedStringIndex:n,mergedCells:s}),m.push(e),r--,p++;continue e}f++}h=` outlineLevel="${f}"`}let g=` <row r="${i}"${h} spans="1:${o}"${a.getCustomRowHeight(i-1)} customHeight="1" x14ac:dyDescent="0.45">\n`;for(let e=0;e<l.length;e++){const o=a.getXLSXCellStyle(d(e,r+1));g+=a.getActualCellData(n[l[e]],{r:d(e,i),s:o},t,i,l[e])}g+=" </row>\n",c+=g}return c+=` </sheetData>${a.exportAs