@cj-tech-master/excelts 3.0.0 → 3.0.1-canary.20251229011802.ccfcbcc

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.
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * @cj-tech-master/excelts v3.0.0
2
+ * @cj-tech-master/excelts v3.0.1-canary.20251229011802.ccfcbcc
3
3
  * TypeScript Excel Workbook Manager - Read and Write xlsx and csv Files.
4
4
  * (c) 2025 cjnoname
5
5
  * Released under the MIT License
6
6
  */
7
- const e=/^[A-Z]+\d+$/,t={_dictionary:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),_l2nFill:0,_l2n:{},_n2l:[],_level(e){return e<=26?1:e<=676?2:3},_fill(e){let t,n,r,i,a,o=1;if(e>=4)throw Error(`Out of bounds. Excel supports columns from 1 to 16384`);if(this._l2nFill<1&&e>=1){for(;o<=26;)t=this._dictionary[o-1],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=1}if(this._l2nFill<2&&e>=2){for(o=27;o<=702;)n=o-27,r=n%26,i=Math.floor(n/26),t=this._dictionary[i]+this._dictionary[r],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=2}if(this._l2nFill<3&&e>=3){for(o=703;o<=16384;)n=o-703,r=n%26,i=Math.floor(n/26)%26,a=Math.floor(n/676),t=this._dictionary[a]+this._dictionary[i]+this._dictionary[r],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=3}},l2n(e){if(this._l2n[e]||this._fill(e.length),!this._l2n[e])throw Error(`Out of bounds. Invalid column letter: ${e}`);return this._l2n[e]},n2l(e){if(e<1||e>16384)throw Error(`${e} is out of bounds. Excel supports columns from 1 to 16384`);return this._n2l[e]||this._fill(this._level(e)),this._n2l[e]},_hash:{},validateAddress(t){if(!e.test(t))throw Error(`Invalid Address: ${t}`);return!0},decodeAddress(e){let t=e.length<5&&this._hash[e];if(t)return t;let n=!1,r=``,i=0,a=!1,o=``,s=0;for(let t=0,c;t<e.length;t++)if(c=e.charCodeAt(t),!a&&c>=65&&c<=90)n=!0,r+=e[t],i=i*26+c-64;else if(c>=48&&c<=57)a=!0,o+=e[t],s=s*10+c-48;else if(a&&n&&c!==36)break;if(!n)i=void 0;else if(i>16384)throw Error(`Out of bounds. Invalid column letter: ${r}`);a||(s=void 0),e=r+o;let c={address:e,col:i,row:s,$col$row:`$${r}$${o}`};return i<=100&&s<=100&&(this._hash[e]=c,this._hash[c.$col$row]=c),c},getAddress(e,t){if(t){let n=this.n2l(t)+e;return this.decodeAddress(n)}return this.decodeAddress(e)},decode(e){let t=e.split(`:`);if(t.length===2){let e=this.decodeAddress(t[0]),n=this.decodeAddress(t[1]),r={top:Math.min(e.row,n.row),left:Math.min(e.col,n.col),bottom:Math.max(e.row,n.row),right:Math.max(e.col,n.col),tl:``,br:``,dimensions:``};return r.tl=this.n2l(r.left)+r.top,r.br=this.n2l(r.right)+r.bottom,r.dimensions=`${r.tl}:${r.br}`,r}return this.decodeAddress(e)},decodeEx(e){let t=e.match(/^(?:(?:(?:'((?:[^']|'')+?)')|([^'^ !]+?))!)?(.*)$/),n=t[1]||t[2],r=t[3],i=r.split(`:`);if(i.length>1){let e=this.decodeAddress(i[0]),t=this.decodeAddress(i[1]),r=Math.min(e.row,t.row),a=Math.min(e.col,t.col),o=Math.max(e.row,t.row),s=Math.max(e.col,t.col),c=this.n2l(a)+r,l=this.n2l(s)+o;return{top:r,left:a,bottom:o,right:s,sheetName:n,tl:{address:c,col:a,row:r,$col$row:`$${this.n2l(a)}$${r}`,sheetName:n},br:{address:l,col:s,row:o,$col$row:`$${this.n2l(s)}$${o}`,sheetName:n},dimensions:`${c}:${l}`}}if(r.indexOf(`#`)===0)return n?{sheetName:n,error:r}:{error:r};let a=this.decodeAddress(r);return n?{sheetName:n,...a}:a},encodeAddress(e,n){return t.n2l(n)+e},encode(...e){switch(e.length){case 2:return t.encodeAddress(e[0],e[1]);case 4:return`${t.encodeAddress(e[0],e[1])}:${t.encodeAddress(e[2],e[3])}`;default:throw Error(`Can only encode with 2 or 4 arguments`)}},inRange(e,t){let[n,r,,i,a]=e,[o,s]=t;return o>=n&&o<=i&&s>=r&&s<=a}};var n=class e{constructor(...e){this.model={top:0,left:0,bottom:0,right:0},this.decode(e)}setTLBR(e,n,r,i,a){if(typeof e==`string`&&typeof n==`string`){let i=t.decodeAddress(e),a=t.decodeAddress(n);this.model={top:Math.min(i.row,a.row),left:Math.min(i.col,a.col),bottom:Math.max(i.row,a.row),right:Math.max(i.col,a.col),sheetName:typeof r==`string`?r:void 0}}else typeof e==`number`&&typeof n==`number`&&typeof r==`number`&&typeof i==`number`&&(this.model={top:Math.min(e,r),left:Math.min(n,i),bottom:Math.max(e,r),right:Math.max(n,i),sheetName:a})}decode(n){switch(n.length){case 5:typeof n[0]==`number`&&typeof n[1]==`number`&&typeof n[2]==`number`&&typeof n[3]==`number`&&typeof n[4]==`string`&&this.setTLBR(n[0],n[1],n[2],n[3],n[4]);break;case 4:typeof n[0]==`number`&&typeof n[1]==`number`&&typeof n[2]==`number`&&typeof n[3]==`number`&&this.setTLBR(n[0],n[1],n[2],n[3]);break;case 3:typeof n[0]==`string`&&typeof n[1]==`string`&&typeof n[2]==`string`&&this.setTLBR(n[0],n[1],n[2]);break;case 2:typeof n[0]==`string`&&typeof n[1]==`string`&&this.setTLBR(n[0],n[1]);break;case 1:{let r=n[0];if(r instanceof e)this.model={top:r.model.top,left:r.model.left,bottom:r.model.bottom,right:r.model.right,sheetName:r.sheetName};else if(Array.isArray(r))this.decode(r);else if(typeof r==`object`&&`top`in r&&`left`in r&&`bottom`in r&&`right`in r)this.model={top:r.top,left:r.left,bottom:r.bottom,right:r.right,sheetName:r.sheetName};else if(typeof r==`string`){let e=t.decodeEx(r);`top`in e?this.model={top:e.top,left:e.left,bottom:e.bottom,right:e.right,sheetName:e.sheetName}:`row`in e&&(this.model={top:e.row,left:e.col,bottom:e.row,right:e.col,sheetName:e.sheetName})}break}case 0:this.model={top:0,left:0,bottom:0,right:0};break;default:throw Error(`Invalid number of arguments to _getDimensions() - ${n.length}`)}}get top(){return this.model.top||1}set top(e){this.model.top=e}get left(){return this.model.left||1}set left(e){this.model.left=e}get bottom(){return this.model.bottom||1}set bottom(e){this.model.bottom=e}get right(){return this.model.right||1}set right(e){this.model.right=e}get sheetName(){return this.model.sheetName}set sheetName(e){this.model.sheetName=e}get _serialisedSheetName(){let{sheetName:e}=this.model;return e?/^[a-zA-Z0-9]*$/.test(e)?`${e}!`:`'${e}'!`:``}expand(e,t,n,r){(!this.model.top||e<this.top)&&(this.top=e),(!this.model.left||t<this.left)&&(this.left=t),(!this.model.bottom||n>this.bottom)&&(this.bottom=n),(!this.model.right||r>this.right)&&(this.right=r)}expandRow(e){if(e){let{dimensions:t,number:n}=e;t&&this.expand(n,t.min,n,t.max)}}expandToAddress(e){let n=t.decodeEx(e);`row`in n&&`col`in n&&this.expand(n.row,n.col,n.row,n.col)}get tl(){return t.n2l(this.left)+this.top}get $t$l(){return`$${t.n2l(this.left)}$${this.top}`}get br(){return t.n2l(this.right)+this.bottom}get $b$r(){return`$${t.n2l(this.right)}$${this.bottom}`}get range(){return`${this._serialisedSheetName+this.tl}:${this.br}`}get $range(){return`${this._serialisedSheetName+this.$t$l}:${this.$b$r}`}get shortRange(){return this.count>1?this.range:this._serialisedSheetName+this.tl}get $shortRange(){return this.count>1?this.$range:this._serialisedSheetName+this.$t$l}get count(){return(1+this.bottom-this.top)*(1+this.right-this.left)}toString(){return this.range}intersects(e){return!(e.sheetName&&this.sheetName&&e.sheetName!==this.sheetName||e.bottom<this.top||e.top>this.bottom||e.right<this.left||e.left>this.right)}contains(e){let n=t.decodeEx(e);return`row`in n&&`col`in n?this.containsEx(n):!1}containsEx(e){return e.sheetName&&this.sheetName&&e.sheetName!==this.sheetName?!1:e.row>=this.top&&e.row<=this.bottom&&e.col>=this.left&&e.col<=this.right}forEachAddress(e){for(let n=this.left;n<=this.right;n++)for(let r=this.top;r<=this.bottom;r++)e(t.encodeAddress(r,n),r,n)}};let r=function(e){return e[e.Null=0]=`Null`,e[e.Merge=1]=`Merge`,e[e.Number=2]=`Number`,e[e.String=3]=`String`,e[e.Date=4]=`Date`,e[e.Hyperlink=5]=`Hyperlink`,e[e.Formula=6]=`Formula`,e[e.SharedString=7]=`SharedString`,e[e.RichText=8]=`RichText`,e[e.Boolean=9]=`Boolean`,e[e.Error=10]=`Error`,e[e.JSON=11]=`JSON`,e}({}),i=function(e){return e[e.None=0]=`None`,e[e.Master=1]=`Master`,e[e.Shared=2]=`Shared`,e}({}),a=function(e){return e[e.None=0]=`None`,e[e.OfficeDocument=1]=`OfficeDocument`,e[e.Worksheet=2]=`Worksheet`,e[e.CalcChain=3]=`CalcChain`,e[e.SharedStrings=4]=`SharedStrings`,e[e.Styles=5]=`Styles`,e[e.Theme=6]=`Theme`,e[e.Hyperlink=7]=`Hyperlink`,e}({}),o=function(e){return e[e.Xlsx=1]=`Xlsx`,e}({}),s=function(e){return e[e.LeftToRight=1]=`LeftToRight`,e[e.RightToLeft=2]=`RightToLeft`,e}({});const c={NotApplicable:`#N/A`,Ref:`#REF!`,Name:`#NAME?`,DivZero:`#DIV/0!`,Null:`#NULL!`,Value:`#VALUE!`,Num:`#NUM!`},l={ValueType:r,FormulaType:i,RelationshipType:a,DocumentType:o,ReadingOrder:s,ErrorValue:c},{toString:u}=Object.prototype,d=/["&<>]/;function f(e,t){let n=typeof e,r=typeof t,i=Array.isArray(e),a=Array.isArray(t),o;if(n!==r)return!1;switch(typeof e){case`object`:if(i||a)return i&&a?e.length===t.length&&e.every((e,n)=>{let r=t[n];return f(e,r)}):!1;if(e===null||t===null)return e===t;if(o=Object.keys(e),Object.keys(t).length!==o.length)return!1;for(let e of o)if(!Object.prototype.hasOwnProperty.call(t,e))return!1;return o.every(n=>{let r=e[n],i=t[n];return f(r,i)});default:return e===t}}function p(e){let t=d.exec(e);if(!t)return e;let n=``,r=``,i=0,a=t.index;for(;a<e.length;a++){switch(e.charAt(a)){case`"`:r=`&quot;`;break;case`&`:r=`&amp;`;break;case`<`:r=`&lt;`;break;case`>`:r=`&gt;`;break;default:continue}i!==a&&(n+=e.substring(i,a)),i=a+1,n+=r}return i===a?n:n+e.substring(i,a)}function m(e){return u.call(e)===`[object Undefined]`}function h(e){return u.call(e)===`[object Object]`}function g(...e){let t=e[0]||{},{length:n}=e,r,i,a;function o(e,n){r=t[n],a=Array.isArray(e),h(e)||a?(a?(a=!1,i=r&&Array.isArray(r)?r:[]):i=r&&h(r)?r:{},t[n]=g(i,e)):m(e)||(t[n]=e)}for(let t=0;t<n;t++){let n=e[t];n&&(Array.isArray(n)?n.forEach((e,t)=>o(e,t)):Object.entries(n).forEach(([e,t])=>{e===`__proto__`||e===`constructor`||e===`prototype`||o(t,e)}))}return t}var _=class e{static{this.DEFAULT_CONFIGS={note:{margins:{insetmode:`auto`,inset:[.13,.13,.25,.25]},protection:{locked:`True`,lockText:`True`},editAs:`absolute`},type:`note`}}constructor(e){this.note=e}get model(){let t=null;switch(typeof this.note){case`string`:t={type:`note`,note:{texts:[{text:this.note}]}};break;default:t={type:`note`,note:this.note};break}return g({},e.DEFAULT_CONFIGS,t)}set model(e){let{note:t}=e,{texts:n}=t;n&&n.length===1&&Object.keys(n[0]).length===1?this.note=n[0].text:this.note=t}static fromModel(t){let n=new e;return n.model=t,n}};const v=/(([a-z_\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi,y=/^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;function ee(e,n,r){let i=t.decode(n),a=t.decode(r);return e.replace(v,(e,n,r,o,s)=>{if(s)return e;let c=y.exec(o);if(c){let r=c[1],o=c[2].toUpperCase(),s=c[3],l=c[4];if(o.length>3||o.length===3&&o>`XFD`)return e;let u=t.l2n(o),d=parseInt(l,10);return r||(u+=a.col-i.col),s||(d+=a.row-i.row),(n||``)+(r||``)+t.n2l(u)+(s||``)+d}return e})}var b=class e{static{this.Types=l.ValueType}constructor(n,r,i){if(!n||!r)throw Error(`A Cell needs a Row`);this._row=n,this._column=r,t.validateAddress(i),this._address=i,this._value=k.create(e.Types.Null,this),this.style=this._mergeStyle(n.style,r.style,{}),this._mergeCount=0}get worksheet(){return this._row.worksheet}get workbook(){return this._row.worksheet.workbook}destroy(){delete this.style,delete this._value,delete this._row,delete this._column,delete this._address}get numFmt(){return this.style.numFmt}set numFmt(e){this.style.numFmt=e}get font(){return this.style.font}set font(e){this.style.font=e}get alignment(){return this.style.alignment}set alignment(e){this.style.alignment=e}get border(){return this.style.border}set border(e){this.style.border=e}get fill(){return this.style.fill}set fill(e){this.style.fill=e}get protection(){return this.style.protection}set protection(e){this.style.protection=e}_mergeStyle(e,t,n){let r=e&&e.numFmt||t&&t.numFmt;r&&(n.numFmt=r);let i=e&&e.font||t&&t.font;i&&(n.font=i);let a=e&&e.alignment||t&&t.alignment;a&&(n.alignment=a);let o=e&&e.border||t&&t.border;o&&(n.border=o);let s=e&&e.fill||t&&t.fill;s&&(n.fill=s);let c=e&&e.protection||t&&t.protection;return c&&(n.protection=c),n}get address(){return this._address}get row(){return this._row.number}get col(){return this._column.number}get $col$row(){return`$${this._column.letter}$${this.row}`}get type(){return this._value.type}get effectiveType(){return this._value.effectiveType}toCsvString(){return this._value.toCsvString()}addMergeRef(){this._mergeCount++}releaseMergeRef(){this._mergeCount--}get isMerged(){return this._mergeCount>0||this.type===e.Types.Merge}merge(t,n){this._value.release(),this._value=k.create(e.Types.Merge,this,t),n||(this.style=t.style)}unmerge(){this.type===e.Types.Merge&&(this._value.release(),this._value=k.create(e.Types.Null,this),this.style=this._mergeStyle(this._row.style,this._column.style,{}))}isMergedTo(t){return this._value.type===e.Types.Merge?this._value.isMergedTo(t):!1}get master(){return this.type===e.Types.Merge?this._value.master:this}get isHyperlink(){return this._value.type===e.Types.Hyperlink}get hyperlink(){return this._value.hyperlink}get value(){return this._value.value}set value(t){if(this.type===e.Types.Merge){this._value.master.value=t;return}this._value.release(),this._value=k.create(k.getType(t),this,t)}get note(){if(this._comment)return this._comment.note}set note(e){this._comment=new _(e)}get comment(){return this._comment}set comment(e){e===void 0?this._comment=void 0:e instanceof _?this._comment=e:this._comment=new _(e)}get text(){return this._value.toString()}get html(){return p(this.text)}toString(){return this.text}_upgradeToHyperlink(t){this.type===e.Types.String&&(this._value=k.create(e.Types.Hyperlink,this,{text:String(this._value.value),hyperlink:t}))}get formula(){return this._value.formula}get result(){return this._value.result}get formulaType(){return this._value.formulaType}get fullAddress(){let{worksheet:e}=this._row;return{sheetName:e.name,address:this.address,row:this.row,col:this.col}}get name(){return this.names[0]}set name(e){this.names=[e]}get names(){return this.workbook.definedNames.getNamesEx(this.fullAddress)}set names(e){let{definedNames:t}=this.workbook;t.removeAllNames(this.fullAddress),e.forEach(e=>{t.addEx(this.fullAddress,e)})}addName(e){this.workbook.definedNames.addEx(this.fullAddress,e)}removeName(e){this.workbook.definedNames.removeEx(this.fullAddress,e)}removeAllNames(){this.workbook.definedNames.removeAllNames(this.fullAddress)}get _dataValidations(){return this.worksheet.dataValidations}get dataValidation(){return this._dataValidations.find(this.address)}set dataValidation(e){this._dataValidations.add(this.address,e)}get model(){let{model:e}=this._value;return e.style=this.style,this._comment&&(e.comment=this._comment.model),e}set model(e){if(this._value.release(),this._value=k.create(e.type,this),this._value.model=e,e.comment)switch(e.comment.type){case`note`:this._comment=_.fromModel(e.comment);break}e.style?this.style=e.style:this.style={}}},x=class{constructor(e){this.model={address:e.address,type:b.Types.Null}}get value(){return null}set value(e){}get type(){return b.Types.Null}get effectiveType(){return b.Types.Null}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return``}release(){}toString(){return``}},S=class{constructor(e,t){this.model={address:e.address,type:b.Types.Number,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Number}get effectiveType(){return b.Types.Number}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}},C=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.String}get effectiveType(){return b.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return`"${this.model.value.replace(/"/g,`""`)}"`}release(){}toString(){return this.model.value}},w=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}toString(){return this.model.value.richText.map(e=>e.text).join(``)}get type(){return b.Types.RichText}get effectiveType(){return b.Types.RichText}get address(){return this.model.address}set address(e){this.model.address=e}get text(){return this.toString()}toCsvString(){return`"${this.text.replace(/"/g,`""`)}"`}release(){}},T=class{constructor(e,t){this.model={address:e.address,type:b.Types.Date,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Date}get effectiveType(){return b.Types.Date}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toISOString()}release(){}toString(){return this.model.value.toString()}},E=class{constructor(e,t){this.model={address:e.address,type:b.Types.Hyperlink,text:t?t.text:void 0,hyperlink:t?t.hyperlink:void 0},t&&t.tooltip&&(this.model.tooltip=t.tooltip)}get value(){return{text:this.model.text||``,hyperlink:this.model.hyperlink||``,tooltip:this.model.tooltip}}set value(e){this.model.text=e.text,this.model.hyperlink=e.hyperlink,e.tooltip&&(this.model.tooltip=e.tooltip)}get text(){return this.model.text}set text(e){this.model.text=e}get hyperlink(){return this.model.hyperlink}set hyperlink(e){this.model.hyperlink=e}get type(){return b.Types.Hyperlink}get effectiveType(){return b.Types.Hyperlink}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.hyperlink||``}release(){}toString(){return this.model.text||``}},te=class{constructor(e,t){this.model={address:e.address,type:b.Types.Merge,master:t?t.address:void 0},this._master=t,t&&t.addMergeRef()}get value(){return this._master.value}set value(e){e instanceof b?(this._master&&this._master.releaseMergeRef(),e.addMergeRef(),this._master=e):this._master.value=e}isMergedTo(e){return e===this._master}get master(){return this._master}get type(){return b.Types.Merge}get effectiveType(){return this._master.effectiveType}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return``}release(){this._master.releaseMergeRef()}toString(){return this.value.toString()}},D=class{constructor(e,t){this.cell=e,this.model={address:e.address,type:b.Types.Formula,shareType:t?t.shareType:void 0,ref:t?t.ref:void 0,formula:t?t.formula:void 0,sharedFormula:t?t.sharedFormula:void 0,result:t?t.result:void 0}}_copyModel(e){let t={};return e.formula&&(t.formula=e.formula),e.result!==void 0&&(t.result=e.result),e.ref&&(t.ref=e.ref),e.shareType&&(t.shareType=e.shareType),e.sharedFormula&&(t.sharedFormula=e.sharedFormula),t}get value(){return this._copyModel(this.model)}set value(e){e.formula&&(this.model.formula=e.formula),e.result!==void 0&&(this.model.result=e.result),e.ref&&(this.model.ref=e.ref),e.shareType&&(this.model.shareType=e.shareType),e.sharedFormula&&(this.model.sharedFormula=e.sharedFormula)}validate(e){switch(k.getType(e)){case b.Types.Null:case b.Types.String:case b.Types.Number:case b.Types.Date:break;case b.Types.Hyperlink:case b.Types.Formula:default:throw Error(`Cannot process that type of result value`)}}get dependencies(){return{ranges:this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g),cells:this.formula.replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g,``).match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}/g)}}get formula(){return this.model.formula||this._getTranslatedFormula()||``}set formula(e){this.model.formula=e}get formulaType(){return this.model.formula?l.FormulaType.Master:this.model.sharedFormula?l.FormulaType.Shared:l.FormulaType.None}get result(){return this.model.result}set result(e){this.model.result=e}get type(){return b.Types.Formula}get effectiveType(){let e=this.model.result;return e==null?l.ValueType.Null:e instanceof String||typeof e==`string`?l.ValueType.String:typeof e==`number`?l.ValueType.Number:e instanceof Date?l.ValueType.Date:typeof e==`object`&&`error`in e?l.ValueType.Error:l.ValueType.Null}get address(){return this.model.address}set address(e){this.model.address=e}_getTranslatedFormula(){if(!this._translatedFormula&&this.model.sharedFormula){let{worksheet:e}=this.cell,t=e.findCell(this.model.sharedFormula);this._translatedFormula=t&&ee(t.formula,t.address,this.model.address)}return this._translatedFormula}toCsvString(){return`${this.model.result||``}`}release(){}toString(){return this.model.result?this.model.result.toString():``}},ne=class{constructor(e,t){this.model={address:e.address,type:b.Types.SharedString,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.SharedString}get effectiveType(){return b.Types.SharedString}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}},re=class{constructor(e,t){this.model={address:e.address,type:b.Types.Boolean,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Boolean}get effectiveType(){return b.Types.Boolean}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value?1:0}release(){}toString(){return this.model.value.toString()}},ie=class{constructor(e,t){this.model={address:e.address,type:b.Types.Error,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Error}get effectiveType(){return b.Types.Error}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.toString()}release(){}toString(){return this.model.value.error.toString()}},O=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:JSON.stringify(t),rawValue:t}}get value(){return this.model.rawValue}set value(e){this.model.rawValue=e,this.model.value=JSON.stringify(e)}get type(){return b.Types.String}get effectiveType(){return b.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value}release(){}toString(){return this.model.value}};const k={getType(e){if(e==null)return b.Types.Null;if(e instanceof String||typeof e==`string`)return b.Types.String;if(typeof e==`number`)return b.Types.Number;if(typeof e==`boolean`)return b.Types.Boolean;if(e instanceof Date)return b.Types.Date;if(typeof e==`object`){if(`text`in e&&e.text&&`hyperlink`in e&&e.hyperlink)return b.Types.Hyperlink;if(`formula`in e&&e.formula||`sharedFormula`in e&&e.sharedFormula)return b.Types.Formula;if(`richText`in e&&e.richText)return b.Types.RichText;if(`sharedString`in e&&e.sharedString)return b.Types.SharedString;if(`error`in e&&e.error)return b.Types.Error}return b.Types.JSON},types:[{t:b.Types.Null,f:x},{t:b.Types.Number,f:S},{t:b.Types.String,f:C},{t:b.Types.Date,f:T},{t:b.Types.Hyperlink,f:E},{t:b.Types.Formula,f:D},{t:b.Types.Merge,f:te},{t:b.Types.JSON,f:O},{t:b.Types.SharedString,f:ne},{t:b.Types.RichText,f:w},{t:b.Types.Boolean,f:re},{t:b.Types.Error,f:ie}].reduce((e,t)=>(e[t.t]=t.f,e),[]),create(e,t,n){let r=this.types[e];if(!r)throw Error(`Could not create Value of type ${e}`);return new r(t,n)}};var A=class{constructor(e,t){this._worksheet=e,this._number=t,this._cells=[],this.style={},this.outlineLevel=0}get number(){return this._number}get worksheet(){return this._worksheet}commit(){this._worksheet._commitRow(this)}destroy(){delete this._worksheet,delete this._cells,delete this.style}findCell(e){return this._cells[e-1]}getCellEx(e){let t=this._cells[e.col-1];if(!t){let n=this._worksheet.getColumn(e.col);t=new b(this,n,e.address),this._cells[e.col-1]=t}return t}getCell(e){let n;if(typeof e==`string`){let r=this._worksheet.getColumnKey(e);n=r?r.number:t.l2n(e)}else n=e;return this._cells[n-1]||this.getCellEx({address:t.encodeAddress(this._number,n),row:this._number,col:n})}splice(e,t,...n){let r=e+t,i=n.length-t,a=this._cells.length,o,s,c;if(i<0)for(o=e+n.length;o<=a;o++)c=this._cells[o-1],s=this._cells[o-i-1],s?(c=this.getCell(o),c.value=s.value,c.style=s.style,c.comment=s.comment):c&&(c.value=null,c.style={},c.comment=void 0);else if(i>0)for(o=a;o>=r;o--)s=this._cells[o-1],s?(c=this.getCell(o+i),c.value=s.value,c.style=s.style,c.comment=s.comment):this._cells[o+i-1]=void 0;for(o=0;o<n.length;o++)c=this.getCell(e+o),c.value=n[o],c.style={},c.comment=void 0}eachCell(e,t){let n=null,r;if(typeof e==`function`?r=e:(n=e,r=t),n&&n.includeEmpty){let e=this._cells.length;for(let t=1;t<=e;t++)r(this.getCell(t),t)}else this._cells.forEach((e,t)=>{e&&e.type!==l.ValueType.Null&&r(e,t+1)})}addPageBreak(e,t){let n=this._worksheet,r=Math.max(0,(e||0)-1)||0,i=Math.max(0,(t||0)-1)||16838,a={id:this._number,max:i,man:1};r&&(a.min=r),n.rowBreaks.push(a)}get values(){let e=[];return this._cells.forEach(t=>{t&&t.type!==l.ValueType.Null&&(e[t.col]=t.value)}),e}set values(e){if(this._cells=[],e)if(e instanceof Array){let n=0;Object.prototype.hasOwnProperty.call(e,`0`)&&(n=1),e.forEach((e,r)=>{e!==void 0&&(this.getCellEx({address:t.encodeAddress(this._number,r+n),row:this._number,col:r+n}).value=e)})}else this._worksheet.eachColumnKey((n,r)=>{e[r]!==void 0&&(this.getCellEx({address:t.encodeAddress(this._number,n.number),row:this._number,col:n.number}).value=e[r])})}get hasValues(){return this._cells.some(e=>e&&e.type!==l.ValueType.Null)}get cellCount(){return this._cells.length}get actualCellCount(){let e=0;return this.eachCell(()=>{e++}),e}get dimensions(){let e=0,t=0;return this._cells.forEach(n=>{n&&n.type!==l.ValueType.Null&&((!e||e>n.col)&&(e=n.col),t<n.col&&(t=n.col))}),e>0?{min:e,max:t}:null}_applyStyle(e,t){this.style[e]=t,this._cells.forEach(n=>{n&&(n.style[e]=t)})}get numFmt(){return this.style.numFmt}set numFmt(e){e!==void 0&&this._applyStyle(`numFmt`,e)}get font(){return this.style.font}set font(e){e!==void 0&&this._applyStyle(`font`,e)}get alignment(){return this.style.alignment}set alignment(e){e!==void 0&&this._applyStyle(`alignment`,e)}get protection(){return this.style.protection}set protection(e){e!==void 0&&this._applyStyle(`protection`,e)}get border(){return this.style.border}set border(e){e!==void 0&&this._applyStyle(`border`,e)}get fill(){return this.style.fill}set fill(e){e!==void 0&&this._applyStyle(`fill`,e)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelRow)}get model(){let e=[],t=0,n=0;return this._cells.forEach(r=>{if(r){let i=r.model;i&&((!t||t>r.col)&&(t=r.col),n<r.col&&(n=r.col),e.push(i))}}),this.height||e.length?{cells:e,number:this.number,min:t,max:n,height:this.height,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel,collapsed:this.collapsed}:null}set model(e){if(e.number!==this._number)throw Error(`Invalid row number in model`);this._cells=[];let n;e.cells.forEach(e=>{switch(e.type){case b.Types.Merge:break;default:{let r;if(e.address)r=t.decodeAddress(e.address);else if(n){let{row:e}=n,i=n.col+1;r={row:e,col:i,address:t.encodeAddress(e,i),$col$row:`$${t.n2l(i)}$${e}`}}n=r;let i=this.getCellEx(r);i.model=e;break}}}),e.height?this.height=e.height:delete this.height,this.hidden=e.hidden,this.outlineLevel=e.outlineLevel||0,this.style=e.style&&JSON.parse(JSON.stringify(e.style))||{}}},j=class e{constructor(e,t,n){this._worksheet=e,this._number=t,n!==!1&&(this.defn=n)}get number(){return this._number}get worksheet(){return this._worksheet}get letter(){return t.n2l(this._number)}get isCustomWidth(){return this.width!==void 0&&this.width!==9}get defn(){return{header:this._header,key:this.key,width:this.width,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel}}set defn(e){e?(this.key=e.key,this.width=e.width===void 0?9:e.width,this.outlineLevel=e.outlineLevel,e.style?this.style=e.style:this.style={},this.header=e.header,this._hidden=!!e.hidden):(delete this._header,delete this._key,delete this.width,this.style={},this.outlineLevel=0)}get headers(){return Array.isArray(this._header)?this._header:this._header===void 0?[]:[this._header]}get header(){return this._header}set header(e){e===void 0?this._header=void 0:(this._header=e,this.headers.forEach((e,t)=>{this._worksheet.getCell(t+1,this.number).value=e}))}get key(){return this._key}set key(e){(this._key&&this._worksheet.getColumnKey(this._key))===this&&this._worksheet.deleteColumnKey(this._key),this._key=e,e&&this._worksheet.setColumnKey(this._key,this)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelCol)}toString(){return JSON.stringify({key:this.key,width:this.width,headers:this.headers.length?this.headers:void 0})}equivalentTo(e){return this.width===e.width&&this.hidden===e.hidden&&this.outlineLevel===e.outlineLevel&&f(this.style,e.style)}equivalentToModel(e){return this.width===e.width&&this.hidden===e.hidden&&this.outlineLevel===e.outlineLevel&&f(this.style,e.style)}get isDefault(){if(this.isCustomWidth||this.hidden||this.outlineLevel)return!1;let e=this.style;return!(e&&(e.font||e.numFmt||e.alignment||e.border||e.fill||e.protection))}get headerCount(){return this.headers.length}eachCell(e,t){let n=this.number,r,i;typeof e==`function`?(r={},i=e):(r=e,i=t),this._worksheet.eachRow(r,(e,t)=>{i(e.getCell(n),t)})}get values(){let e=[];return this.eachCell((t,n)=>{t&&t.type!==l.ValueType.Null&&(e[n]=t.value)}),e}set values(e){if(!e)return;let t=this.number,n=0;Object.prototype.hasOwnProperty.call(e,`0`)&&(n=1),e.forEach((e,r)=>{this._worksheet.getCell(r+n,t).value=e})}addPageBreak(e,t){let n=this._worksheet,r=Math.max(0,(e||0)-1)||0,i=Math.max(0,(t||0)-1)||1048575,a={id:this._number,max:i,man:1};r&&(a.min=r),n.colBreaks.push(a)}get numFmt(){return this.style.numFmt}set numFmt(e){this.style.numFmt=e,this.eachCell(t=>{t.numFmt=e})}get font(){return this.style.font}set font(e){this.style.font=e,this.eachCell(t=>{t.font=e})}get alignment(){return this.style.alignment}set alignment(e){this.style.alignment=e,this.eachCell(t=>{t.alignment=e})}get protection(){return this.style.protection}set protection(e){this.style.protection=e,this.eachCell(t=>{t.protection=e})}get border(){return this.style.border}set border(e){this.style.border=e,this.eachCell(t=>{t.border=e})}get fill(){return this.style.fill}set fill(e){this.style.fill=e,this.eachCell(t=>{t.fill=e})}static toModel(e){let t=[],n=null;return e&&e.forEach((e,r)=>{e.isDefault?n&&=null:!n||!e.equivalentToModel(n)?(n={min:r+1,max:r+1,width:e.width===void 0?9:e.width,style:e.style,isCustomWidth:e.isCustomWidth,hidden:e.hidden,outlineLevel:e.outlineLevel,collapsed:e.collapsed},t.push(n)):n.max=r+1}),t.length?t:void 0}static fromModel(t,n){n||=[];let r=[],i=1,a=0;for(n=n.sort(function(e,t){return e.min-t.min});a<n.length;){let o=n[a++];for(;i<o.min;)r.push(new e(t,i++));for(;i<=o.max;)r.push(new e(t,i++,o))}return r.length?r:null}};function ae(e){return typeof e==`object`&&`nativeCol`in e&&`nativeRow`in e&&`nativeColOff`in e&&`nativeRowOff`in e}function oe(e){return typeof e==`object`&&`col`in e&&`row`in e}var se=class e{constructor(e,n,r=0){if(this.worksheet=e,!n)this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0;else if(typeof n==`string`){let e=t.decodeAddress(n);this.nativeCol=e.col+r,this.nativeColOff=0,this.nativeRow=e.row+r,this.nativeRowOff=0}else ae(n)?(this.nativeCol=n.nativeCol||0,this.nativeColOff=n.nativeColOff||0,this.nativeRow=n.nativeRow||0,this.nativeRowOff=n.nativeRowOff||0):oe(n)?(this.col=n.col+r,this.row=n.row+r):(this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0)}static asInstance(t){return t==null?null:t instanceof e?t:new e(void 0,t)}get col(){return this.nativeCol+Math.min(this.colWidth-1,this.nativeColOff)/this.colWidth}set col(e){this.nativeCol=Math.floor(e),this.nativeColOff=Math.floor((e-this.nativeCol)*this.colWidth)}get row(){return this.nativeRow+Math.min(this.rowHeight-1,this.nativeRowOff)/this.rowHeight}set row(e){this.nativeRow=Math.floor(e),this.nativeRowOff=Math.floor((e-this.nativeRow)*this.rowHeight)}get colWidth(){return this.worksheet&&this.worksheet.getColumn(this.nativeCol+1)&&this.worksheet.getColumn(this.nativeCol+1).isCustomWidth?Math.floor(this.worksheet.getColumn(this.nativeCol+1).width*1e4):64e4}get rowHeight(){return this.worksheet&&this.worksheet.getRow(this.nativeRow+1)&&this.worksheet.getRow(this.nativeRow+1).height?Math.floor(this.worksheet.getRow(this.nativeRow+1).height*1e4):18e4}get model(){return{nativeCol:this.nativeCol,nativeColOff:this.nativeColOff,nativeRow:this.nativeRow,nativeRowOff:this.nativeRowOff}}set model(e){this.nativeCol=e.nativeCol,this.nativeColOff=e.nativeColOff,this.nativeRow=e.nativeRow,this.nativeRowOff=e.nativeRowOff}},ce=class{constructor(e,t){this.worksheet=e,t&&(this.model=t)}get model(){switch(this.type){case`background`:return{type:this.type,imageId:this.imageId};case`image`:return{type:this.type,imageId:this.imageId,hyperlinks:this.range.hyperlinks,range:{tl:this.range.tl.model,br:this.range.br&&this.range.br.model,ext:this.range.ext,editAs:this.range.editAs}};default:throw Error(`Invalid Image Type`)}}set model({type:e,imageId:n,range:r,hyperlinks:i}){if(this.type=e,this.imageId=n,e===`image`)if(typeof r==`string`){let e=t.decode(r);`top`in e&&(this.range={tl:new se(this.worksheet,{col:e.left,row:e.top},-1),br:new se(this.worksheet,{col:e.right,row:e.bottom},0),editAs:`oneCell`})}else r&&(this.range={tl:new se(this.worksheet,r.tl,0),br:r.br?new se(this.worksheet,r.br,0):void 0,ext:r.ext,editAs:r.editAs,hyperlinks:i||(`hyperlinks`in r?r.hyperlinks:void 0)})}},le=class{constructor(e,t,n){this.table=e,this.column=t,this.index=n}_set(e,t){this.table.cacheState(),this.column[e]=t}get name(){return this.column.name}set name(e){this._set(`name`,e)}get filterButton(){return this.column.filterButton}set filterButton(e){this.column.filterButton=e}get style(){return this.column.style}set style(e){this.column.style=e}get totalsRowLabel(){return this.column.totalsRowLabel}set totalsRowLabel(e){this._set(`totalsRowLabel`,e)}get totalsRowFunction(){return this.column.totalsRowFunction}set totalsRowFunction(e){this._set(`totalsRowFunction`,e)}get totalsRowResult(){return this.column.totalsRowResult}set totalsRowResult(e){this._set(`totalsRowResult`,e)}get totalsRowFormula(){return this.column.totalsRowFormula}set totalsRowFormula(e){this._set(`totalsRowFormula`,e)}},ue=class{constructor(e,t){this.worksheet=e,t&&(this.table=t,this.validate(),this.store())}getFormula(e){switch(e.totalsRowFunction){case`none`:return null;case`average`:return`SUBTOTAL(101,${this.table.name}[${e.name}])`;case`countNums`:return`SUBTOTAL(102,${this.table.name}[${e.name}])`;case`count`:return`SUBTOTAL(103,${this.table.name}[${e.name}])`;case`max`:return`SUBTOTAL(104,${this.table.name}[${e.name}])`;case`min`:return`SUBTOTAL(105,${this.table.name}[${e.name}])`;case`stdDev`:return`SUBTOTAL(106,${this.table.name}[${e.name}])`;case`var`:return`SUBTOTAL(107,${this.table.name}[${e.name}])`;case`sum`:return`SUBTOTAL(109,${this.table.name}[${e.name}])`;case`custom`:return e.totalsRowFormula||null;default:throw Error(`Invalid Totals Row Function: ${e.totalsRowFunction}`)}}get width(){return this.table.columns.length}get height(){return this.table.rows.length}get filterHeight(){return this.height+(this.table.headerRow?1:0)}get tableHeight(){return this.filterHeight+(this.table.totalsRow?1:0)}validate(){let{table:e}=this,n=(e,t,n)=>{e[t]===void 0&&(e[t]=n)};n(e,`headerRow`,!0),n(e,`totalsRow`,!1),n(e,`style`,{}),n(e.style,`theme`,`TableStyleMedium2`),n(e.style,`showFirstColumn`,!1),n(e.style,`showLastColumn`,!1),n(e.style,`showRowStripes`,!1),n(e.style,`showColumnStripes`,!1);let r=(e,t)=>{if(!e)throw Error(t)};r(!!e.ref,`Table must have ref`),r(!!e.columns,`Table must have column definitions`),r(!!e.rows,`Table must have row definitions`),e.tl=t.decodeAddress(e.ref);let{row:i,col:a}=e.tl;r(i>0,`Table must be on valid row`),r(a>0,`Table must be on valid col`);let{width:o,filterHeight:s,tableHeight:c}=this;e.autoFilterRef=t.encode(i,a,i+s-1,a+o-1),e.tableRef=t.encode(i,a,i+c-1,a+o-1),e.columns.forEach((e,t)=>{r(!!e.name,`Column ${t} must have a name`),t===0?n(e,`totalsRowLabel`,`Total`):(n(e,`totalsRowFunction`,`none`),e.totalsRowFormula=this.getFormula(e)||void 0)})}store(){let e=(e,t)=>{t&&Object.assign(e.style,t)},{worksheet:t,table:n}=this,{row:r,col:i}=n.tl,a=0;if(n.headerRow){let o=t.getRow(r+ a++);n.columns.forEach((t,n)=>{let{style:r,name:a}=t,s=o.getCell(i+n);s.value=a,e(s,r)})}if(n.rows.forEach(o=>{let s=t.getRow(r+ a++);o.forEach((t,r)=>{let a=s.getCell(i+r);a.value=t,e(a,n.columns[r].style)})}),n.totalsRow){let o=t.getRow(r+ a++);n.columns.forEach((t,n)=>{let r=o.getCell(i+n);n===0?r.value=t.totalsRowLabel:this.getFormula(t)?r.value={formula:t.totalsRowFormula,result:t.totalsRowResult}:r.value=null,e(r,t.style)})}}load(e){let{table:t}=this,{row:n,col:r}=t.tl,i=0;if(t.headerRow){let a=e.getRow(n+ i++);t.columns.forEach((e,t)=>{let n=a.getCell(r+t);n.value=e.name})}if(t.rows.forEach(t=>{let a=e.getRow(n+ i++);t.forEach((e,t)=>{let n=a.getCell(r+t);n.value=e})}),t.totalsRow){let a=e.getRow(n+ i++);t.columns.forEach((e,t)=>{let n=a.getCell(r+t);t===0?n.value=e.totalsRowLabel:this.getFormula(e)&&(n.value={formula:e.totalsRowFormula,result:e.totalsRowResult})})}}get model(){return this.table}set model(e){this.table=e}cacheState(){this._cache||={ref:this.ref,width:this.width,tableHeight:this.tableHeight}}commit(){if(!this._cache)return;this.validate();let e=t.decodeAddress(this._cache.ref);if(this.ref!==this._cache.ref)for(let t=0;t<this._cache.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}else{for(let t=this.tableHeight;t<this._cache.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}for(let t=0;t<this.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=this.width;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}}this.store()}addRow(e,t){this.cacheState(),t===void 0?this.table.rows.push(e):this.table.rows.splice(t,0,e)}removeRows(e,t=1){this.cacheState(),this.table.rows.splice(e,t)}getColumn(e){let t=this.table.columns[e];return new le(this,t,e)}addColumn(e,t,n){this.cacheState(),n===void 0?(this.table.columns.push(e),this.table.rows.forEach((e,n)=>{e.push(t[n])})):(this.table.columns.splice(n,0,e),this.table.rows.forEach((e,r)=>{e.splice(n,0,t[r])}))}removeColumns(e,t=1){this.cacheState(),this.table.columns.splice(e,t),this.table.rows.forEach(n=>{n.splice(e,t)})}_assign(e,t,n){this.cacheState(),e[t]=n}get ref(){return this.table.ref}set ref(e){this._assign(this.table,`ref`,e)}get name(){return this.table.name}set name(e){this.table.name=e}get displayName(){return this.table.displayName||this.table.name}set displayName(e){this.table.displayName=e}get headerRow(){return this.table.headerRow}set headerRow(e){this._assign(this.table,`headerRow`,e)}get totalsRow(){return this.table.totalsRow}set totalsRow(e){this._assign(this.table,`totalsRow`,e)}get theme(){return this.table.style.theme}set theme(e){this.table.style.theme=e}get showFirstColumn(){return this.table.style.showFirstColumn}set showFirstColumn(e){this.table.style.showFirstColumn=e}get showLastColumn(){return this.table.style.showLastColumn}set showLastColumn(e){this.table.style.showLastColumn=e}get showRowStripes(){return this.table.style.showRowStripes}set showRowStripes(e){this.table.style.showRowStripes=e}get showColumnStripes(){return this.table.style.showColumnStripes}set showColumnStripes(e){this.table.style.showColumnStripes=e}},de=class{constructor(e){this.model=e||{}}add(e,t){return this.model[e]=t}find(e){let n=this.model[e];if(n!==void 0)return n;let r=Object.keys(this.model).filter(e=>e.startsWith(`range:`));if(r.length===0)return;let i=t.decodeAddress(e);for(let e of r){let n=e.slice(6),r=t.decodeEx(n);if(r.dimensions){let t=r.tl,n=r.br;if(i.row>=t.row&&i.row<=n.row&&i.col>=t.col&&i.col<=n.col)return this.model[e]}}}remove(e){this.model[e]=void 0}};function fe(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function pe(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var me=class e extends Uint8Array{toString(e){return e===`base64`?fe(this):new TextDecoder().decode(this)}static from(t){let n=new e(t.length);return n.set(t),n}};function he(e){let t=new Uint8Array(e.length*2);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[n*2]=r&255,t[n*2+1]=r>>8&255}return t}function ge(...e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function _e(e){let t=new Uint8Array(4);return t[0]=e&255,t[1]=e>>8&255,t[2]=e>>16&255,t[3]=e>>24&255,t}const ve=new BigUint64Array([4794697086780616226n,8158064640168781261n,13096744586834688815n,16840607885511220148n,4131703408338449720n,6480981068601479193n,10538285296894168987n,12329834152419229976n,15566598209576043074n,1334009975649890238n,2608012711638119052n,6128411473006802146n,8268148722764581231n,9286055187155687089n,11230858885718282805n,13951009754708518548n,16472876342353939154n,17275323862435702243n,1135362057144423861n,2597628984639134821n,3308224258029322869n,5365058923640841347n,6679025012923562964n,8573033837759648693n,10970295158949994411n,12119686244451234320n,12683024718118986047n,13788192230050041572n,14330467153632333762n,15395433587784984357n,489312712824947311n,1452737877330783856n,2861767655752347644n,3322285676063803686n,5560940570517711597n,5996557281743188959n,7280758554555802590n,8532644243296465576n,9350256976987008742n,10552545826968843579n,11727347734174303076n,12113106623233404929n,14000437183269869457n,14369950271660146224n,15101387698204529176n,15463397548674623760n,17586052441742319658n,1182934255886127544n,1847814050463011016n,2177327727835720531n,2830643537854262169n,3796741975233480872n,4115178125766777443n,5681478168544905931n,6601373596472566643n,7507060721942968483n,8399075790359081724n,8693463985226723168n,9568029438360202098n,10144078919501101548n,10430055236837252648n,11840083180663258601n,13761210420658862357n,14299343276471374635n,14566680578165727644n,15097957966210449927n,16922976911328602910n,17689382322260857208n,500013540394364858n,748580250866718886n,1242879168328830382n,1977374033974150939n,2944078676154940804n,3659926193048069267n,4368137639120453308n,4836135668995329356n,5532061633213252278n,6448918945643986474n,6902733635092675308n,7801388544844847127n]),ye=new BigUint64Array([7640891576956012808n,13503953896175478587n,4354685564936845355n,11912009170470909681n,5840696475078001361n,11170449401992604703n,2270897969802886507n,6620516959819538809n]);function M(e,t){return(e>>BigInt(t)|e<<BigInt(64-t))&18446744073709551615n}function be(e){let t=e.length,n=BigInt(t*8),r=(128-(t+17)%128)%128,i=t+1+r+16,a=new Uint8Array(i);a.set(e),a[t]=128;let o=new DataView(a.buffer);o.setBigUint64(i-16,0n,!1),o.setBigUint64(i-8,n,!1);let s=new BigUint64Array(ye),c=new BigUint64Array(80);for(let e=0;e<i;e+=128){let t=new DataView(a.buffer,e,128);for(let e=0;e<16;e++)c[e]=t.getBigUint64(e*8,!1);for(let e=16;e<80;e++){let t=M(c[e-15],1)^M(c[e-15],8)^c[e-15]>>7n,n=M(c[e-2],19)^M(c[e-2],61)^c[e-2]>>6n;c[e]=c[e-16]+t+c[e-7]+n&18446744073709551615n}let n=s[0],r=s[1],i=s[2],o=s[3],l=s[4],u=s[5],d=s[6],f=s[7];for(let e=0;e<80;e++){let t=M(l,14)^M(l,18)^M(l,41),a=l&u^~l&d,s=f+t+a+ve[e]+c[e]&18446744073709551615n,p=(M(n,28)^M(n,34)^M(n,39))+(n&r^n&i^r&i)&18446744073709551615n;f=d,d=u,u=l,l=o+s&18446744073709551615n,o=i,i=r,r=n,n=s+p&18446744073709551615n}s[0]=s[0]+n&18446744073709551615n,s[1]=s[1]+r&18446744073709551615n,s[2]=s[2]+i&18446744073709551615n,s[3]=s[3]+o&18446744073709551615n,s[4]=s[4]+l&18446744073709551615n,s[5]=s[5]+u&18446744073709551615n,s[6]=s[6]+d&18446744073709551615n,s[7]=s[7]+f&18446744073709551615n}let l=new Uint8Array(64),u=new DataView(l.buffer);for(let e=0;e<8;e++)u.setBigUint64(e*8,s[e],!1);return l}const xe={hash(e,...t){let n=ge(...t);if(e.toLowerCase().replace(`-`,``)===`sha512`)return be(n);throw Error(`Hash algorithm '${e}' not supported in browser sync mode!`)},convertPasswordToHash(e,t,n,r){if(t.toLowerCase().replace(`-`,``)!==`sha512`)throw Error(`Hash algorithm '${t}' not supported in browser!`);let i=he(e),a=pe(n),o=this.hash(t,a,i);for(let e=0;e<r;e++){let n=_e(e);o=this.hash(t,o,n)}return fe(o)},randomBytes(e){let t=new me(e);return crypto.getRandomValues(t),t}};function Se(e,t){return 25569+e.getTime()/(24*3600*1e3)-(t?1462:0)}function Ce(e,t){let n=Math.round((e-25569+(t?1462:0))*24*3600*1e3);return new Date(n)}const we={lt:`<`,gt:`>`,amp:`&`,quot:`"`,apos:`'`};function Te(e){return e.replace(/&(#\d+|#x[0-9A-Fa-f]+|\w+);/g,(e,t)=>{if(t[0]===`#`){let e=t[1]===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1));return String.fromCodePoint(e)}return we[t]||e})}function Ee(e){let t=typeof e==`number`?e:parseInt(e,10);return Number.isNaN(t)?0:t}function De(e){if(!e||e.indexOf(`@`)>-1)return!1;let t=e.replace(/\[[^\]]*]/g,``);return t=t.replace(/"[^"]*"/g,``),t.match(/[ymdhMsb]+/)!==null}function N(e){return e===!0||e===`true`||e===1||e===`1`}function*Oe(e,t,n=1){let r=n>0?(e,t)=>e<t:(e,t)=>e>t;for(let i=e;r(i,t);i+=n)yield i}function ke(e){let t=Array.from(e);return t.every(e=>Number.isFinite(e))?t.sort((e,t)=>e-t):t.sort()}const Ae=new TextDecoder(`utf-8`);function je(e){return typeof e==`string`?e:Ae.decode(e)}const Me={"<":`&lt;`,">":`&gt;`,"&":`&amp;`,'"':`&quot;`,"'":`&apos;`};function Ne(e){let t=e.replace(/[<>&"']/g,e=>Me[e]||e);return t=t.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\uFFFE\uFFFF]/g,e=>`&#x${e.charCodeAt(0).toString(16).toUpperCase()};`),t=t.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,()=>`�`),t}function Pe(e){let n=e.model;if(n.headerRow===!1)throw Error(`Cannot create pivot table from a table without headers. Set headerRow: true on the table.`);if(!n.rows||n.rows.length===0)throw Error(`Cannot create pivot table from an empty table. Add data rows to the table.`);let r=n.columns.map(e=>e.name),i=new Set;for(let e of r){if(i.has(e))throw Error(`Duplicate column name "${e}" found in table. Pivot tables require unique column names.`);i.add(e)}let a=[void 0,...r],o=n.rows.map(e=>[void 0,...e]),s=n.tl,c=s.row,l=s.col,u=c+n.rows.length,d=l+r.length-1,f=t.encode(c,l,u,d);return{name:e.worksheet.name,getRow(e){if(e===1)return{values:a};let t=e-2;return t>=0&&t<o.length?{values:o[t]}:{values:[]}},getColumn(e){if(e<1||e>r.length)return{values:[]};let t=[];t[1]=r[e-1];for(let r=0;r<n.rows.length;r++)t[r+2]=n.rows[r][e-1];return{values:t}},getSheetValues(){let e=[];e[1]=a;for(let t=0;t<o.length;t++)e[t+2]=o[t];return e},dimensions:{shortRange:f}}}function Fe(e){return e.sourceTable?Pe(e.sourceTable):e.sourceSheet}function Ie(e,t){if(!t.sourceSheet&&!t.sourceTable)throw Error(`Either sourceSheet or sourceTable must be provided.`);if(t.sourceSheet&&t.sourceTable)throw Error(`Cannot specify both sourceSheet and sourceTable. Choose one.`);let n=Fe(t);Le(e,t,n);let{rows:r,values:i}=t,a=t.columns??[],o=Re(n,[...r,...a]),s=o.reduce((e,t,n)=>(e[t.name]=n,e),{}),c=r.map(e=>s[e]),l=a.map(e=>s[e]),u=i.map(e=>s[e]),d=e.workbook.pivotTables.length+1;return{source:n,rows:c,columns:l,values:u,metric:t.metric??`sum`,cacheFields:o,cacheId:String(10+d-1),applyWidthHeightFormats:t.applyWidthHeightFormats??`1`,tableNumber:d}}function Le(e,t,n){if(t.metric&&t.metric!==`sum`&&t.metric!==`count`)throw Error(`Only the "sum" and "count" metrics are supported at this time.`);let r=t.columns??[],i=n.getRow(1).values.slice(1),a=new Set(i);for(let e of[...t.rows,...r,...t.values])if(!a.has(e))throw Error(`The header name "${e}" was not found in ${n.name}.`);if(!t.rows.length)throw Error(`No pivot table rows specified.`);if(t.values.length<1)throw Error(`Must have at least one value.`);if(t.values.length>1&&r.length>0)throw Error(`It is currently not possible to have multiple values when columns are specified. Please either supply an empty array for columns or a single value.`)}function Re(e,t){let n=e.getRow(1).values,r=new Set(t),i=t=>{let n=e.getColumn(t).values,r=new Set;for(let e=2;e<n.length;e++){let t=n[e];t!=null&&r.add(t)}return ke(r)},a=t=>{let n=e.getColumn(t).values,r=1/0,i=-1/0,a=!1;for(let e=2;e<n.length;e++){let t=n[e];typeof t==`number`&&!isNaN(t)&&(a=!0,t<r&&(r=t),t>i&&(i=t))}return a?{minValue:r,maxValue:i}:null},o=[];for(let e of Oe(1,n.length)){let t=n[e];if(r.has(t))o.push({name:t,sharedItems:i(e)});else{let n=a(e);o.push({name:t,sharedItems:null,minValue:n?.minValue,maxValue:n?.maxValue})}}return o}const ze=(e,t)=>({...e,...t.reduce((t,n)=>(e[n]&&(t[n]={...e[n]}),t),{})}),P=(e,t,n,r=[])=>{e[n]&&(t[n]=ze(e[n],r))},Be=e=>Object.keys(e).length===0,Ve=e=>{if(!e)return e;if(Be(e))return{};let t={...e};return P(e,t,`font`,[`color`]),P(e,t,`alignment`),P(e,t,`protection`),e.border&&(P(e,t,`border`),P(e.border,t.border,`top`,[`color`]),P(e.border,t.border,`left`,[`color`]),P(e.border,t.border,`bottom`,[`color`]),P(e.border,t.border,`right`,[`color`]),P(e.border,t.border,`diagonal`,[`color`])),e.fill&&(P(e,t,`fill`,[`fgColor`,`bgColor`,`center`]),e.fill.stops&&(t.fill.stops=e.fill.stops.map(e=>ze(e,[`color`])))),t};var He=class{constructor(e){e||={},this._workbook=e.workbook,this.id=e.id||0,this.orderNo=e.orderNo||0,this.name=e.name||`sheet${this.id}`,this.state=e.state||`visible`,this._rows=[],this._columns=null,this._keys={},this._merges={},this.rowBreaks=[],this.colBreaks=[],this.properties=Object.assign({},{defaultRowHeight:15,outlineLevelCol:0,outlineLevelRow:0},e.properties),this.pageSetup=Object.assign({},{margins:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3},orientation:`portrait`,horizontalDpi:4294967295,verticalDpi:4294967295,fitToPage:!!(e.pageSetup&&(e.pageSetup.fitToWidth||e.pageSetup.fitToHeight)&&!e.pageSetup.scale),pageOrder:`downThenOver`,blackAndWhite:!1,draft:!1,cellComments:`None`,errors:`displayed`,scale:100,fitToWidth:1,fitToHeight:1,paperSize:void 0,showRowColHeaders:!1,showGridLines:!1,firstPageNumber:void 0,horizontalCentered:!1,verticalCentered:!1,rowBreaks:null,colBreaks:null},e.pageSetup),this.headerFooter=Object.assign({},{differentFirst:!1,differentOddEven:!1,oddHeader:null,oddFooter:null,evenHeader:null,evenFooter:null,firstHeader:null,firstFooter:null},e.headerFooter),this.dataValidations=new de,this.views=e.views||[],this.autoFilter=e.autoFilter||null,this._media=[],this.sheetProtection=null,this.tables={},this.pivotTables=[],this.conditionalFormattings=[]}get name(){return this._name}set name(e){if(e===void 0&&(e=`sheet${this.id}`),this._name!==e){if(typeof e!=`string`)throw Error(`The name has to be a string.`);if(e===``)throw Error(`The name can't be empty.`);if(e===`History`)throw Error(`The name "History" is protected. Please use a different name.`);if(/[*?:/\\[\]]/.test(e))throw Error(`Worksheet name ${e} cannot include any of the following characters: * ? : \\ / [ ]`);if(/(^')|('$)/.test(e))throw Error(`The first or last character of worksheet name cannot be a single quotation mark: ${e}`);if(e&&e.length>31&&(e=e.substring(0,31)),this._workbook.worksheets.find(t=>t&&t.name.toLowerCase()===e.toLowerCase()))throw Error(`Worksheet name already exists: ${e}`);this._name=e}}get workbook(){return this._workbook}destroy(){this._workbook.removeWorksheetEx(this)}get dimensions(){let e=new n;return this._rows.forEach(t=>{if(t){let n=t.dimensions;n&&e.expand(t.number,n.min,t.number,n.max)}}),e}get columns(){return this._columns}set columns(e){this._headerRowCount=e.reduce((e,t)=>{let n=Array.isArray(t.header)?t.header.length:t.header?1:0;return Math.max(e,n)},0);let t=1,n=this._columns=[];e.forEach(e=>{let r=new j(this,t++,!1);n.push(r),r.defn=e})}getColumnKey(e){return this._keys[e]}setColumnKey(e,t){this._keys[e]=t}deleteColumnKey(e){delete this._keys[e]}eachColumnKey(e){Object.keys(this._keys).forEach(t=>e(this._keys[t],t))}getColumn(e){let n;if(typeof e==`string`){let r=this._keys[e];if(r)return r;n=t.l2n(e)}else n=e;if(this._columns||=[],n>this._columns.length){let e=this._columns.length+1;for(;e<=n;)this._columns.push(new j(this,e++))}return this._columns[n-1]}spliceColumns(e,t,...n){let r=this._rows.length;if(n.length>0)for(let i=0;i<r;i++){let r=n.map(e=>e[i]||null);this.getRow(i+1).splice(e,t,...r)}else this._rows.forEach(n=>{n&&n.splice(e,t)});let i=n.length-t,a=e+t,o=this._columns?this._columns.length:0;if(i<0)for(let t=e+n.length;t<=o;t++)this.getColumn(t).defn=this.getColumn(t-i).defn;else if(i>0)for(let e=o;e>=a;e--)this.getColumn(e+i).defn=this.getColumn(e).defn;for(let t=e;t<e+n.length;t++)this.getColumn(t).defn=void 0;this.workbook.definedNames.spliceColumns(this.name,e,t,n.length)}get lastColumn(){return this.getColumn(this.columnCount)}get columnCount(){let e=0;return this.eachRow(t=>{e=Math.max(e,t.cellCount)}),e}get actualColumnCount(){let e=[],t=0;return this.eachRow(n=>{n.eachCell(({col:n})=>{e[n]||(e[n]=!0,t++)})}),t}_commitRow(e){}get _lastRowNumber(){let e=this._rows,t=e.length;for(;t>0&&e[t-1]===void 0;)t--;return t}get _nextRow(){return this._lastRowNumber+1}get lastRow(){if(this._rows.length)return this._rows[this._rows.length-1]}findRow(e){return this._rows[e-1]}findRows(e,t){return this._rows.slice(e-1,e-1+t)}get rowCount(){return this._lastRowNumber}get actualRowCount(){let e=0;return this.eachRow(()=>{e++}),e}getRow(e){let t=this._rows[e-1];return t||=this._rows[e-1]=new A(this,e),t}getRows(e,t){if(t<1)return;let n=[];for(let r=e;r<e+t;r++)n.push(this.getRow(r));return n}addRow(e,t=`n`){let n=this._nextRow,r=this.getRow(n);return r.values=e,this._setStyleOption(n,t[0]===`i`?t:`n`),r}addRows(e,t=`n`){let n=[];return e.forEach(e=>{n.push(this.addRow(e,t))}),n}insertRow(e,t,n=`n`){return this.spliceRows(e,0,t),this._setStyleOption(e,n),this.getRow(e)}insertRows(e,t,n=`n`){if(this.spliceRows(e,0,...t),n!==`n`)for(let r=0;r<t.length;r++)n[0]===`o`&&this.findRow(t.length+e+r)!==void 0?this._copyStyle(t.length+e+r,e+r,n[1]===`+`):n[0]===`i`&&this.findRow(e-1)!==void 0&&this._copyStyle(e-1,e+r,n[1]===`+`);return this.getRows(e,t.length)}_setStyleOption(e,t=`n`){t[0]===`o`&&this.findRow(e+1)!==void 0?this._copyStyle(e+1,e,t[1]===`+`):t[0]===`i`&&this.findRow(e-1)!==void 0&&this._copyStyle(e-1,e,t[1]===`+`)}_copyStyle(e,t,n=!1){let r=this.getRow(e),i=this.getRow(t);i.style=Ve(r.style),r.eachCell({includeEmpty:n},(e,t)=>{i.getCell(t).style=Ve(e.style)}),i.height=r.height}duplicateRow(e,t,n=!1){let r=this._rows[e-1],i=Array.from({length:t}).fill(r.values);this.spliceRows(e+1,n?0:t,...i);for(let n=0;n<t;n++){let t=this._rows[e+n];t.style=r.style,t.height=r.height,r.eachCell({includeEmpty:!0},(e,n)=>{t.getCell(n).style=e.style})}}spliceRows(e,t,...n){let r=e+t,i=n.length,a=i-t,o=this._rows.length,s,c;if(a<0)for(e===o&&(this._rows[o-1]=void 0),s=r;s<=o;s++)if(c=this._rows[s-1],c){let e=this.getRow(s+a);e.values=c.values,e.style=c.style,e.height=c.height,c.eachCell({includeEmpty:!0},(t,n)=>{e.getCell(n).style=t.style}),this._rows[s-1]=void 0}else this._rows[s+a-1]=void 0;else if(a>0)for(s=o;s>=r;s--)if(c=this._rows[s-1],c){let e=this.getRow(s+a);e.values=c.values,e.style=c.style,e.height=c.height,c.eachCell({includeEmpty:!0},(t,n)=>{if(e.getCell(n).style=t.style,t.type===l.ValueType.Merge){let e=this.getRow(t.row+i).getCell(n),r=t.master,a=this.getRow(r.row+i).getCell(r.col);e.merge(a)}})}else this._rows[s+a-1]=void 0;for(s=0;s<i;s++){let t=this.getRow(e+s);t.style={},t.values=n[s]}this.workbook.definedNames.spliceRows(this.name,e,t,i)}eachRow(e,t){let n,r;if(typeof e==`function`?r=e:(n=e,r=t),n&&n.includeEmpty){let e=this._rows.length;for(let t=1;t<=e;t++)r(this.getRow(t),t)}else this._rows.forEach(e=>{e&&e.hasValues&&r(e,e.number)})}getSheetValues(){let e=[];return this._rows.forEach(t=>{t&&(e[t.number]=t.values)}),e}findCell(e,n){let r=t.getAddress(e,n),i=this._rows[r.row-1];return i?i.findCell(r.col):void 0}getCell(e,n){let r=t.getAddress(e,n);return this.getRow(r.row).getCellEx(r)}mergeCells(...e){let t=new n(e);this._mergeCellsInternal(t)}mergeCellsWithoutStyle(...e){let t=new n(e);this._mergeCellsInternal(t,!0)}_mergeCellsInternal(e,t){Object.values(this._merges).forEach(t=>{if(t.intersects(e))throw Error(`Cannot merge already merged cells`)});let n=this.getCell(e.top,e.left);for(let r=e.top;r<=e.bottom;r++)for(let i=e.left;i<=e.right;i++)(r>e.top||i>e.left)&&this.getCell(r,i).merge(n,t);this._merges[n.address]=e}_unMergeMaster(e){let t=this._merges[e.address];if(t){for(let e=t.top;e<=t.bottom;e++)for(let n=t.left;n<=t.right;n++)this.getCell(e,n).unmerge();delete this._merges[e.address]}}get hasMerges(){return Object.values(this._merges).some(Boolean)}unMergeCells(...e){let t=new n(e);for(let e=t.top;e<=t.bottom;e++)for(let n=t.left;n<=t.right;n++){let t=this.findCell(e,n);t&&(t.type===l.ValueType.Merge?this._unMergeMaster(t.master):this._merges[t.address]&&this._unMergeMaster(t))}}fillFormula(e,n,r,i=`shared`){let{top:a,left:o,bottom:s,right:c}=t.decode(e),l=c-o+1,u=t.encodeAddress(a,o),d=i===`shared`,f;f=typeof r==`function`?r:Array.isArray(r)?Array.isArray(r[0])?(e,t)=>r[e-a][t-o]:(e,t)=>r[(e-a)*l+(t-o)]:()=>void 0;let p=!0;for(let t=a;t<=s;t++)for(let r=o;r<=c;r++)if(p){let a=this.getCell(t,r);a.value={shareType:i,formula:n,ref:e,result:f(t,r)},p=!1}else this.getCell(t,r).value=d?{sharedFormula:u,result:f(t,r)}:f(t,r)}addImage(e,t){let n={type:`image`,imageId:String(e),range:t};this._media.push(new ce(this,n))}getImages(){return this._media.filter(e=>e.type===`image`)}addBackgroundImage(e){let t={type:`background`,imageId:String(e)};this._media.push(new ce(this,t))}getBackgroundImageId(){let e=this._media.find(e=>e.type===`background`);return e&&e.imageId}protect(e,t){return new Promise(n=>{this.sheetProtection={sheet:!0},t&&`spinCount`in t&&(t.spinCount=Number.isFinite(t.spinCount)?Math.round(Math.max(0,t.spinCount)):1e5),e&&(this.sheetProtection.algorithmName=`SHA-512`,this.sheetProtection.saltValue=xe.randomBytes(16).toString(`base64`),this.sheetProtection.spinCount=t&&`spinCount`in t?t.spinCount:1e5,this.sheetProtection.hashValue=xe.convertPasswordToHash(e,`SHA512`,this.sheetProtection.saltValue,this.sheetProtection.spinCount)),t&&(this.sheetProtection=Object.assign(this.sheetProtection,t),!e&&`spinCount`in t&&delete this.sheetProtection.spinCount),n()})}unprotect(){this.sheetProtection=null}addTable(e){let t=new ue(this,e);return this.tables[e.name]=t,t}getTable(e){return this.tables[e]}removeTable(e){delete this.tables[e]}getTables(){return Object.values(this.tables)}addPivotTable(e){let t=Ie(this,e);return this.pivotTables.push(t),this.workbook.pivotTables.push(t),t}addConditionalFormatting(e){this.conditionalFormattings.push(e)}removeConditionalFormatting(e){typeof e==`number`?this.conditionalFormattings.splice(e,1):e instanceof Function?this.conditionalFormattings=this.conditionalFormattings.filter(e):this.conditionalFormattings=[]}get model(){let e={id:this.id,name:this.name,dataValidations:this.dataValidations.model,properties:this.properties,state:this.state,pageSetup:this.pageSetup,headerFooter:this.headerFooter,rowBreaks:this.rowBreaks,colBreaks:this.colBreaks,views:this.views,autoFilter:this.autoFilter,media:this._media.map(e=>e.model),sheetProtection:this.sheetProtection,tables:Object.values(this.tables).map(e=>e.model),pivotTables:this.pivotTables,conditionalFormattings:this.conditionalFormattings};e.cols=j.toModel(this.columns||[]);let t=e.rows=[],r=e.dimensions=new n;return this._rows.forEach(e=>{let n=e&&e.model;n&&(r.expand(n.number,n.min,n.number,n.max),t.push(n))}),e.merges=[],Object.values(this._merges).forEach(t=>{e.merges.push(t.range)}),e}_parseRows(e){this._rows=[],e.rows&&e.rows.forEach(e=>{let t=new A(this,e.number);this._rows[t.number-1]=t,t.model=e})}_parseMergeCells(e){e.mergeCells&&e.mergeCells.forEach(e=>{this.mergeCellsWithoutStyle(e)})}set model(e){this.name=e.name,this._columns=j.fromModel(this,e.cols),this._parseRows(e),this._parseMergeCells(e),this.dataValidations=new de(e.dataValidations),this.properties=e.properties,this.pageSetup=e.pageSetup,this.headerFooter=e.headerFooter,this.rowBreaks=e.rowBreaks||[],this.colBreaks=e.colBreaks||[],this.views=e.views,this.autoFilter=e.autoFilter,this._media=e.media.map(e=>new ce(this,e)),this.sheetProtection=e.sheetProtection,this.tables=e.tables.reduce((e,t)=>{let n=new ue(this,t);return n.model=t,e[t.name]=n,e},{}),this.pivotTables=e.pivotTables,this.conditionalFormattings=e.conditionalFormattings}};function Ue(e){return typeof e==`number`?!0:e!==`__proto__`&&e!==`constructor`&&e!==`prototype`}function We(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>We(e));let t={};for(let n of Object.keys(e))Ue(n)&&(t[n]=We(e[n]));return t}var Ge=class{constructor(e){this.template=e,this.sheets={}}addCell(e){this.addCellEx(t.decodeEx(e))}getCell(e){return this.findCellEx(t.decodeEx(e),!0)}findCell(e){return this.findCellEx(t.decodeEx(e),!1)}findCellAt(e,t,n){let r=this.sheets[e],i=r&&r[t];return i&&i[n]}addCellEx(e){if(e.top!==void 0)for(let t=e.top;t<=e.bottom;t++)for(let n=e.left;n<=e.right;n++)this.getCellAt(e.sheetName,t,n);else this.findCellEx(e,!0)}getCellEx(e){return this.findCellEx(e,!0)}findCellEx(e,t){let n=this.findSheet(e,t),r=this.findSheetRow(n,e,t);return this.findRowCell(r,e,t)}getCellAt(e,n,r){if(!Ue(e))throw Error(`Invalid sheet name: ${e}`);let i=this.sheets[e]||(this.sheets[e]=[]),a=i[n]||(i[n]=[]);return a[r]||(a[r]={sheetName:e,address:t.n2l(r)+n,row:n,col:r})}removeCellEx(e){let t=this.findSheet(e,!1);if(!t)return;let n=this.findSheetRow(t,e,!1);n&&delete n[e.col]}forEachInSheet(e,t){let n=this.sheets[e];n&&n.forEach((e,n)=>{e&&e.forEach((e,r)=>{e&&t(e,n,r)})})}forEach(e){Object.keys(this.sheets).forEach(t=>{this.forEachInSheet(t,e)})}map(e){let t=[];return this.forEach(n=>{t.push(e(n))}),t}findSheet(e,t){let n=e.sheetName;if(!Ue(n))throw Error(`Invalid sheet name: ${n}`);if(Object.prototype.hasOwnProperty.call(this.sheets,n))return this.sheets[n];if(t)return this.sheets[n]=[]}findSheetRow(e,t,n){let{row:r}=t;if(!Ue(r))throw Error(`Invalid row: ${r}`);if(e&&e[r])return e[r];if(n)return e[r]=[]}findRowCell(e,t,n){let{col:r}=t;if(!Ue(r))throw Error(`Invalid column: ${r}`);if(e&&e[r])return e[r];if(n)return e[r]=this.template?{...t,...We(this.template)}:t}spliceRows(e,t,n,r){let i=this.sheets[e];if(i){let e=[];for(let t=0;t<r;t++)e.push([]);i.splice(t,n,...e)}}spliceColumns(e,t,n,r){let i=this.sheets[e];if(i){let e=[];for(let t=0;t<r;t++)e.push(null);Object.values(i).forEach(r=>{r.splice(t,n,...e)})}}};const Ke=/[$](\w+)[$](\d+)(:[$](\w+)[$](\d+))?/;var qe=class{constructor(){this.matrixMap={}}getMatrix(e){return this.matrixMap[e]||(this.matrixMap[e]=new Ge)}add(e,n){let r=t.decodeEx(e);`error`in r||this.addEx(r,n)}addEx(e,n){let r=this.getMatrix(n);if(`top`in e)for(let n=e.left;n<=e.right;n++)for(let i=e.top;i<=e.bottom;i++){let a={sheetName:e.sheetName,address:t.n2l(n)+i,row:i,col:n};r.addCellEx(a)}else r.addCellEx(e)}remove(e,n){let r=t.decodeEx(e);`error`in r||this.removeEx(r,n)}removeEx(e,n){let r=this.getMatrix(n);if(`top`in e)for(let n=e.left;n<=e.right;n++)for(let i=e.top;i<=e.bottom;i++)r.removeCellEx({sheetName:e.sheetName,address:t.n2l(n)+i,row:i,col:n});else r.removeCellEx(e)}removeAllNames(e){Object.values(this.matrixMap).forEach(n=>{if(`top`in e)for(let r=e.left;r<=e.right;r++)for(let i=e.top;i<=e.bottom;i++)n.removeCellEx({sheetName:e.sheetName,address:t.n2l(r)+i,row:i,col:r});else n.removeCellEx(e)})}forEach(e){Object.entries(this.matrixMap).forEach(([t,n])=>{n.forEach(n=>{e(t,n)})})}getNames(e){let n=t.decodeEx(e);return`error`in n||`top`in n?[]:this.getNamesEx(n)}getNamesEx(e){return Object.entries(this.matrixMap).map(([t,n])=>n.findCellEx(e,!1)&&t).filter(e=>!!e)}_explore(e,t){t.mark=!1;let{sheetName:r}=t,i=new n(t.row,t.col,t.row,t.col,r),a,o,s=(t,n)=>e.findCellAt(r,t,n);function c(e,n){let r=s(e,t.col);return!r||!r.mark?!1:(i[n]=e,r.mark=!1,!0)}for(o=t.row-1;c(o,`top`);o--);for(o=t.row+1;c(o,`bottom`);o++);function l(e,t){let n=[];for(o=i.top;o<=i.bottom;o++){let t=s(o,e);if(t&&t.mark)n.push(t);else return!1}i[t]=e;for(let e=0;e<n.length;e++)n[e].mark=!1;return!0}for(a=t.col-1;l(a,`left`);a--);for(a=t.col+1;l(a,`right`);a++);return i}getRanges(e,t){return t||=this.matrixMap[e],t?(t.forEach(e=>{e.mark=!0}),{name:e,ranges:t.map(e=>e.mark&&this._explore(t,e)).filter(Boolean).map(e=>e.$shortRange)}):{name:e,ranges:[]}}normaliseMatrix(e,n){e.forEachInSheet(n,(e,n,r)=>{e&&(e.row!==n||e.col!==r)&&(e.row=n,e.col=r,e.address=t.n2l(r)+n)})}spliceRows(e,t,n,r){Object.values(this.matrixMap).forEach(i=>{i.spliceRows(e,t,n,r),this.normaliseMatrix(i,e)})}spliceColumns(e,t,n,r){Object.values(this.matrixMap).forEach(i=>{i.spliceColumns(e,t,n,r),this.normaliseMatrix(i,e)})}get model(){return Object.entries(this.matrixMap).map(([e,t])=>this.getRanges(e,t)).filter(e=>e.ranges.length)}set model(e){let t=this.matrixMap={};e.forEach(e=>{let n=t[e.name]=new Ge;e.ranges.forEach(e=>{Ke.test(e.split(`!`).pop()||``)&&n.addCell(e)})})}},Je=class{constructor(){this.category=``,this.company=``,this.created=new Date,this.description=``,this.keywords=``,this.manager=``,this.modified=this.created,this.properties={},this.calcProperties={},this._worksheets=[],this.subject=``,this.title=``,this.views=[],this.media=[],this.pivotTables=[],this._definedNames=new qe}get nextId(){for(let e=1;e<this._worksheets.length;e++)if(!this._worksheets[e])return e;return this._worksheets.length||1}addWorksheet(e,t){let n=this.nextId,r=this._worksheets.reduce((e,t)=>(t&&t.orderNo)>e?t.orderNo:e,0),i=new He({...t,id:n,name:e,orderNo:r+1,workbook:this});return this._worksheets[n]=i,i}removeWorksheetEx(e){delete this._worksheets[e.id]}removeWorksheet(e){let t=this.getWorksheet(e);t&&t.destroy()}getWorksheet(e){if(e===void 0)return this._worksheets.find(Boolean);if(typeof e==`number`)return this._worksheets[e];if(typeof e==`string`)return this._worksheets.find(t=>t&&t.name===e)}get worksheets(){return this._worksheets.slice(1).sort((e,t)=>e.orderNo-t.orderNo).filter(Boolean)}eachSheet(e){this.worksheets.forEach(t=>{e(t,t.id)})}get definedNames(){return this._definedNames}clearThemes(){this._themes=void 0}addImage(e){let t=this.media.length;return this.media.push({...e,type:`image`}),t}getImage(e){return this.media[Number(e)]}get model(){return{creator:this.creator||`Unknown`,lastModifiedBy:this.lastModifiedBy||`Unknown`,lastPrinted:this.lastPrinted,created:this.created,modified:this.modified,properties:this.properties,worksheets:this.worksheets.map(e=>e.model),sheets:this.worksheets.map(e=>e.model).filter(Boolean),definedNames:this._definedNames.model,views:this.views,company:this.company,manager:this.manager,title:this.title,subject:this.subject,keywords:this.keywords,category:this.category,description:this.description,language:this.language,revision:this.revision,contentStatus:this.contentStatus,themes:this._themes,media:this.media,pivotTables:this.pivotTables,calcProperties:this.calcProperties}}set model(e){this.creator=e.creator,this.lastModifiedBy=e.lastModifiedBy,this.lastPrinted=e.lastPrinted,this.created=e.created,this.modified=e.modified,this.company=e.company,this.manager=e.manager,this.title=e.title,this.subject=e.subject,this.keywords=e.keywords,this.category=e.category,this.description=e.description,this.language=e.language,this.revision=e.revision,this.contentStatus=e.contentStatus,this.properties=e.properties,this.calcProperties=e.calcProperties,this._worksheets=[],e.worksheets.forEach(t=>{let{id:n,name:r,state:i}=t,a=e.sheets&&e.sheets.findIndex(e=>e.id===n),o=this._worksheets[n]=new He({id:n,name:r,orderNo:a===-1?void 0:a,state:i,workbook:this});o.model=t}),this._definedNames.model=e.definedNames,this.views=e.views,this._themes=e.themes,this.media=e.media||[],this.pivotTables=e.pivotTables||e.loadedPivotTables||[]}};async function Ye(e){let t=new CompressionStream(`deflate-raw`),n=t.writable.getWriter(),r=t.readable.getReader();n.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),n.close();let i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return o}async function Xe(e){let t=new DecompressionStream(`deflate-raw`),n=t.writable.getWriter(),r=t.readable.getReader();n.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),n.close();let i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return o}const Ze=new Uint8Array(288);for(let e=0;e<=143;e++)Ze[e]=8;for(let e=144;e<=255;e++)Ze[e]=9;for(let e=256;e<=279;e++)Ze[e]=7;for(let e=280;e<=287;e++)Ze[e]=8;const Qe=new Uint8Array(32).fill(5),$e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],nt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function it(e,t){let n=new Uint16Array(16);for(let r=0;r<t;r++)e[r]>0&&n[e[r]]++;let r=new Uint16Array(16),i=0;for(let e=1;e<=15;e++)i=i+n[e-1]<<1,r[e]=i;let a={};for(let n=0;n<t;n++){let t=e[n];if(t===0)continue;i=r[t]++;let o=a;for(let e=t-1;e>=0;e--)i>>e&1?(o.right||={},o=o.right):(o.left||={},o=o.left);o.symbol=n}return a}var at=class{constructor(e){this.data=e,this.pos=0,this.bitBuf=0,this.bitCount=0}readBits(e){for(;this.bitCount<e;){if(this.pos>=this.data.length)throw Error(`Unexpected end of DEFLATE data`);this.bitBuf|=this.data[this.pos++]<<this.bitCount,this.bitCount+=8}let t=this.bitBuf&(1<<e)-1;return this.bitBuf>>=e,this.bitCount-=e,t}decodeSymbol(e){let t=e;for(;t.symbol===void 0;)if(t=this.readBits(1)===0?t.left:t.right,!t)throw Error(`Invalid Huffman code`);return t.symbol}alignToByte(){this.bitBuf=0,this.bitCount=0}readByte(){if(this.pos>=this.data.length)throw Error(`Unexpected end of data`);return this.data[this.pos++]}readUint16(){return this.readByte()|this.readByte()<<8}};function ot(e){let t=new at(e),n=[],r=!1;for(;!r;){r=t.readBits(1)===1;let e=t.readBits(2);if(e===0){t.alignToByte();let e=t.readUint16();if((e^t.readUint16())!==65535)throw Error(`Invalid stored block length`);for(let r=0;r<e;r++)n.push(t.readByte())}else if(e===1||e===2){let r,i;if(e===1)r=it(Ze,288),i=it(Qe,32);else{let e=t.readBits(5)+257,n=t.readBits(5)+1,a=t.readBits(4)+4,o=new Uint8Array(19);for(let e=0;e<a;e++)o[rt[e]]=t.readBits(3);let s=it(o,19),c=new Uint8Array(e+n),l=0;for(;l<e+n;){let e=t.decodeSymbol(s);if(e<16)c[l++]=e;else if(e===16){let e=t.readBits(2)+3,n=c[l-1];for(let t=0;t<e;t++)c[l++]=n}else if(e===17){let e=t.readBits(3)+3;for(let t=0;t<e;t++)c[l++]=0}else if(e===18){let e=t.readBits(7)+11;for(let t=0;t<e;t++)c[l++]=0}}r=it(c.subarray(0,e),e),i=it(c.subarray(e),n)}for(;;){let e=t.decodeSymbol(r);if(e<256)n.push(e);else if(e===256)break;else{let r=e-257,a=$e[r]+t.readBits(et[r]),o=t.decodeSymbol(i),s=tt[o]+t.readBits(nt[o]),c=n.length-s;for(let e=0;e<a;e++)n.push(n[c+e])}}}else throw Error(`Invalid DEFLATE block type: `+e)}return new Uint8Array(n)}function st(e){let t=65535,n=Math.ceil(e.length/t)||1,r=n*5+e.length,i=new Uint8Array(r),a=0,o=0;for(let r=0;r<n;r++){let s=r===n-1,c=Math.min(t,e.length-o);i[a++]=s?1:0,i[a++]=c&255,i[a++]=c>>8&255,i[a++]=~c&255,i[a++]=~c>>8&255,i.set(e.subarray(o,o+c),a),a+=c,o+=c}return i.subarray(0,a)}function ct(e){if(e.length===0)return new Uint8Array([3,0]);if(e.length<100)return st(e);let t=new lt;t.writeBits(1,1),t.writeBits(1,2);let n=new Map,r=0;for(;r<e.length;){let i=0,a=0;if(r+2<e.length){let t=e[r]<<16|e[r+1]<<8|e[r+2],o=n.get(t);if(o!==void 0&&r-o<=32768){let t=r-o,n=0,s=Math.min(258,e.length-r);for(;n<s&&e[o+n]===e[r+n];)n++;n>=3&&(i=n,a=t)}n.set(t,r)}i>=3?(pt(t,i),mt(t,a),r+=i):(ft(t,e[r]),r++)}return ft(t,256),t.finish()}var lt=class{constructor(){this.chunks=[],this.buffer=[],this.bitBuf=0,this.bitCount=0}writeBits(e,t){for(this.bitBuf|=e<<this.bitCount,this.bitCount+=t;this.bitCount>=8;)this.buffer.push(this.bitBuf&255),this.bitBuf>>=8,this.bitCount-=8,this.buffer.length>=65536&&(this.chunks.push(new Uint8Array(this.buffer)),this.buffer=[])}writeBitsReverse(e,t){let n=0;for(let r=0;r<t;r++)n=n<<1|e>>r&1;this.writeBits(n,t)}finish(){if(this.bitCount>0&&this.buffer.push(this.bitBuf&255),this.chunks.length===0)return new Uint8Array(this.buffer);this.chunks.push(new Uint8Array(this.buffer));let e=this.chunks.reduce((e,t)=>e+t.length,0),t=new Uint8Array(e),n=0;for(let e of this.chunks)t.set(e,n),n+=e.length;return t}};const ut=[],dt=[];for(let e=0;e<=287;e++){let t,n;e<=143?(t=48+e,n=8):e<=255?(t=400+(e-144),n=9):e<=279?(t=e-256,n=7):(t=192+(e-280),n=8),ut[e]=[t,n],dt[e]=n}function ft(e,t){let[n,r]=ut[t];e.writeBitsReverse(n,r)}function pt(e,t){let n,r,i;if(t<=10)n=257+t-3,r=0,i=0;else if(t<=18){let e=t-11;n=265+Math.floor(e/2),r=1,i=e%2}else if(t<=34){let e=t-19;n=269+Math.floor(e/4),r=2,i=e%4}else if(t<=66){let e=t-35;n=273+Math.floor(e/8),r=3,i=e%8}else if(t<=130){let e=t-67;n=277+Math.floor(e/16),r=4,i=e%16}else if(t<=257){let e=t-131;n=281+Math.floor(e/32),r=5,i=e%32}else n=285,r=0,i=0;ft(e,n),r>0&&e.writeBits(i,r)}function mt(e,t){let n=[[1,0,0],[2,1,0],[3,2,0],[4,3,0],[6,4,1],[8,5,1],[12,6,2],[16,7,2],[24,8,3],[32,9,3],[48,10,4],[64,11,4],[96,12,5],[128,13,5],[192,14,6],[256,15,6],[384,16,7],[512,17,7],[768,18,8],[1024,19,8],[1536,20,9],[2048,21,9],[3072,22,10],[4096,23,10],[6144,24,11],[8192,25,11],[12288,26,12],[16384,27,12],[24576,28,13],[32768,29,13]],r=0,i=0,a=1;for(let[e,o,s]of n){if(t<=e){r=o,i=s;break}a=e+1}let o=t-a;e.writeBitsReverse(r,5),i>0&&e.writeBits(o,i)}function ht(){if(typeof CompressionStream>`u`)return!1;try{return new CompressionStream(`deflate-raw`),!0}catch{return!1}}let gt=null;function _t(){return typeof CompressionStream>`u`?!1:(gt===null&&(gt=ht()),gt)}async function vt(e,t={}){return(t.level??6)===0?st(e):_t()?Ye(e):ct(e)}function yt(e,t={}){return(t.level??6)===0?st(e):ct(e)}async function bt(e){return _t()?Xe(e):ot(e)}function xt(e){return ot(e)}const St=67324752;function Ct(e,t){let n=e&31,r=e>>5&15,i=(e>>9&127)+1980,a=t?(t&31)*2:0,o=t?t>>5&63:0,s=t?t>>11:0;return new Date(Date.UTC(i,r-1,n,s,o,a))}function wt(e,t,n,r){let i=new DataView(e.buffer,e.byteOffset,e.byteLength),a=0;for(;a+4<=e.length;){let e=i.getUint16(a,!0),o=i.getUint16(a+2,!0);if(e===1){let e=a+4;n===4294967295&&e+8<=a+4+o&&(n=Number(i.getBigUint64(e,!0)),e+=8),t===4294967295&&e+8<=a+4+o&&(t=Number(i.getBigUint64(e,!0)),e+=8),r===4294967295&&e+8<=a+4+o&&(r=Number(i.getBigUint64(e,!0)));break}a+=4+o}return{compressedSize:t,uncompressedSize:n,localHeaderOffset:r}}var Tt=class{constructor(e,t=0){this.data=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.offset=t}get position(){return this.offset}set position(e){this.offset=e}get remaining(){return this.data.length-this.offset}readUint8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readUint16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readUint32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readBigUint64(){let e=this.view.getBigUint64(this.offset,!0);return this.offset+=8,e}readBytes(e){let t=this.data.subarray(this.offset,this.offset+e);return this.offset+=e,t}readString(e,t=!0){let n=this.readBytes(e);return t?new TextDecoder(`utf-8`).decode(n):String.fromCharCode(...n)}skip(e){this.offset+=e}slice(e,t){return this.data.subarray(e,t)}peekUint32(e){return this.view.getUint32(e,!0)}};function Et(e){let t=Math.max(0,e.length-65557),n=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let r=e.length-22;r>=t;r--)if(n.getUint32(r,!0)===101010256)return r;return-1}function Dt(e,t){let n=t-20;return n<0?-1:new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(n,!0)===117853008?n:-1}function Ot(e,t={}){let{decodeStrings:n=!0}=t,r=[],i=Et(e);if(i===-1)throw Error(`Invalid ZIP file: End of Central Directory not found`);let a=new Tt(e,i);a.skip(4),a.skip(2),a.skip(2),a.skip(2);let o=a.readUint16();a.skip(4);let s=a.readUint32(),c=Dt(e,i);if(c!==-1){let t=new Tt(e,c);t.skip(4),t.skip(4);let n=new Tt(e,Number(t.readBigUint64()));if(n.readUint32()===101075792){n.skip(8),n.skip(2),n.skip(2),n.skip(4),n.skip(4);let e=Number(n.readBigUint64());n.skip(8);let t=Number(n.readBigUint64());o===65535&&(o=e),s===4294967295&&(s=t)}}let l=new Tt(e,s);for(let e=0;e<o;e++){if(l.readUint32()!==33639248)throw Error(`Invalid Central Directory header signature at entry ${e}`);l.skip(2),l.skip(2);let t=l.readUint16(),i=l.readUint16(),a=l.readUint16(),o=l.readUint16(),s=l.readUint32(),c=l.readUint32(),u=l.readUint32(),d=l.readUint16(),f=l.readUint16(),p=l.readUint16();l.skip(2),l.skip(2);let m=l.readUint32(),h=l.readUint32(),g=(t&2048)!=0,_=n&&g,v=l.readString(d,_),y=l.readBytes(f),ee=l.readString(p,_);if(f>0){let e=wt(y,c,u,h);c=e.compressedSize,u=e.uncompressedSize,h=e.localHeaderOffset}let b=v.endsWith(`/`)||(m&16)!=0,x=(t&1)!=0;r.push({path:v,isDirectory:b,compressedSize:c,uncompressedSize:u,compressionMethod:i,crc32:s,lastModified:Ct(o,a),localHeaderOffset:h,comment:ee,externalAttributes:m,isEncrypted:x})}return r}async function kt(e,t){if(t.isDirectory)return new Uint8Array;if(t.isEncrypted)throw Error(`File "${t.path}" is encrypted and cannot be extracted`);let n=new Tt(e,t.localHeaderOffset);if(n.readUint32()!==St)throw Error(`Invalid local file header signature for "${t.path}"`);n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(4),n.skip(4),n.skip(4);let r=n.readUint16(),i=n.readUint16();n.skip(r),n.skip(i);let a=n.readBytes(t.compressedSize);if(t.compressionMethod===0)return a;if(t.compressionMethod===8)return bt(a);throw Error(`Unsupported compression method: ${t.compressionMethod}`)}function At(e,t){if(t.isDirectory)return new Uint8Array;if(t.isEncrypted)throw Error(`File "${t.path}" is encrypted and cannot be extracted`);let n=new Tt(e,t.localHeaderOffset);if(n.readUint32()!==St)throw Error(`Invalid local file header signature for "${t.path}"`);n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(4),n.skip(4),n.skip(4);let r=n.readUint16(),i=n.readUint16();n.skip(r),n.skip(i);let a=n.readBytes(t.compressedSize);if(t.compressionMethod===0)return a;if(t.compressionMethod===8)return xt(a);throw Error(`Unsupported compression method: ${t.compressionMethod}`)}var jt=class{constructor(e,t={}){this.data=e instanceof ArrayBuffer?new Uint8Array(e):e,this.entries=Ot(this.data,t),this.entryMap=new Map(this.entries.map(e=>[e.path,e]))}getEntries(){return this.entries}getEntry(e){return this.entryMap.get(e)}hasEntry(e){return this.entryMap.has(e)}listFiles(){return this.entries.map(e=>e.path)}async extract(e){let t=this.entryMap.get(e);return t?kt(this.data,t):null}extractSync(e){let t=this.entryMap.get(e);return t?At(this.data,t):null}async extractAll(){let e=new Map;for(let t of this.entries){let n=await kt(this.data,t);e.set(t.path,n)}return e}extractAllSync(){let e={};for(let t of this.entries)e[t.path]=At(this.data,t);return e}async forEach(e){for(let t of this.entries){let n=null;if(await e(t,()=>(n||=kt(this.data,t),n))===!1)break}}};const Mt=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Nt(e){let t=4294967295;for(let n=0;n<e.length;n++)t=Mt[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function Pt(e){return[(e.getHours()&31)<<11|(e.getMinutes()&63)<<5|e.getSeconds()>>1&31,(e.getFullYear()-1980&127)<<9|(e.getMonth()+1&15)<<5|e.getDate()&31]}const Ft=new TextEncoder;function It(e){return Ft.encode(e)}function Lt(e){let t=new Uint8Array(30+e.name.length),n=new DataView(t.buffer);return n.setUint32(0,67324752,!0),n.setUint16(4,20,!0),n.setUint16(6,2048,!0),n.setUint16(8,e.compressionMethod,!0),n.setUint16(10,e.modTime,!0),n.setUint16(12,e.modDate,!0),n.setUint32(14,e.crc,!0),n.setUint32(18,e.compressedData.length,!0),n.setUint32(22,e.data.length,!0),n.setUint16(26,e.name.length,!0),n.setUint16(28,0,!0),t.set(e.name,30),t}function Rt(e){let t=new Uint8Array(46+e.name.length+e.comment.length),n=new DataView(t.buffer);return n.setUint32(0,33639248,!0),n.setUint16(4,20,!0),n.setUint16(6,20,!0),n.setUint16(8,2048,!0),n.setUint16(10,e.compressionMethod,!0),n.setUint16(12,e.modTime,!0),n.setUint16(14,e.modDate,!0),n.setUint32(16,e.crc,!0),n.setUint32(20,e.compressedData.length,!0),n.setUint32(24,e.data.length,!0),n.setUint16(28,e.name.length,!0),n.setUint16(30,0,!0),n.setUint16(32,e.comment.length,!0),n.setUint16(34,0,!0),n.setUint16(36,0,!0),n.setUint32(38,0,!0),n.setUint32(42,e.offset,!0),t.set(e.name,46),e.comment.length>0&&t.set(e.comment,46+e.name.length),t}function zt(e,t,n,r){let i=new Uint8Array(22+r.length),a=new DataView(i.buffer);return a.setUint32(0,101010256,!0),a.setUint16(4,0,!0),a.setUint16(6,0,!0),a.setUint16(8,e,!0),a.setUint16(10,e,!0),a.setUint32(12,t,!0),a.setUint32(16,n,!0),a.setUint16(20,r.length,!0),r.length>0&&i.set(r,22),i}var Bt=class{constructor(e={}){this.entries=[],this.currentOffset=0,this.finalized=!1,this.level=e.level??6,this.zipComment=It(e.comment??``)}async addFile(e){if(this.finalized)throw Error(`Cannot add files after finalizing`);let t=It(e.name),n=It(e.comment??``),[r,i]=Pt(e.modTime??new Date),a=this.level>0&&e.data.length>0,o=a?await vt(e.data,{level:this.level}):e.data,s={name:t,data:e.data,compressedData:o,crc:Nt(e.data),compressionMethod:a?8:0,modTime:r,modDate:i,comment:n,offset:this.currentOffset};return this.entries.push(s),this.currentOffset+=30+t.length+o.length,[Lt(s),o]}addFileSync(e){if(this.finalized)throw Error(`Cannot add files after finalizing`);let t=It(e.name),n=It(e.comment??``),[r,i]=Pt(e.modTime??new Date),a=this.level>0&&e.data.length>0,o=a?yt(e.data,{level:this.level}):e.data,s={name:t,data:e.data,compressedData:o,crc:Nt(e.data),compressionMethod:a?8:0,modTime:r,modDate:i,comment:n,offset:this.currentOffset};return this.entries.push(s),this.currentOffset+=30+t.length+o.length,[Lt(s),o]}finalize(){if(this.finalized)throw Error(`ZIP already finalized`);this.finalized=!0;let e=[];for(let t of this.entries)e.push(Rt(t));let t=e.reduce((e,t)=>e+t.length,0);return e.push(zt(this.entries.length,t,this.currentOffset,this.zipComment)),e}get entryCount(){return this.entries.length}get dataSize(){return this.currentOffset}},Vt=class{constructor(e){this._buf=Buffer.alloc(e&&e.size||16384),this._encoding=e&&e.encoding||`utf8`,this._inPos=0,this._buffer=void 0}get length(){return this._inPos}get capacity(){return this._buf.length}get buffer(){return this._buf}toBuffer(){return this._buffer||(this._buffer=Buffer.alloc(this.length),this._buf.copy(this._buffer,0,0,this.length)),this._buffer}reset(e){e||=0,this._buffer=void 0,this._inPos=e}_grow(e){let t=this._buf.length*2;for(;t<e;)t*=2;let n=Buffer.alloc(t);this._buf.copy(n,0),this._buf=n}addText(e){this._buffer=void 0;let t=this._inPos+this._buf.write(e,this._inPos,this._encoding);for(;t>=this._buf.length-4;)this._grow(this._inPos+e.length),t=this._inPos+this._buf.write(e,this._inPos,this._encoding);this._inPos=t}addStringBuf(e){e.length&&(this._buffer=void 0,this.length+e.length>this.capacity&&this._grow(this.length+e.length),e._buf.copy(this._buf,this._inPos,0,e.length),this._inPos+=e.length)}},Ht=class{constructor(e,t){this._data=e,this._encoding=t}get length(){return this.toBuffer().length}copy(e,t,n,r){let i=this.toBuffer(),a=Math.min(r,i.length-n);return e.set(i.subarray(n,n+a),t),a}toBuffer(){return this._buffer||=new TextEncoder().encode(this._data),this._buffer}},Ut=class{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,n,r){let i=this.toBuffer(),a=Math.min(r,i.length-n);return e.set(i.subarray(n,n+a),t),a}toBuffer(){return this._data.toBuffer()}},Wt=class{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,n,r){let i=Math.min(r,this._data.length-n);e.set(this._data.subarray(n,n+i),t)}toBuffer(){return this._data}},Gt=class{constructor(e){this.size=e,this.buffer=new Uint8Array(e),this.iRead=0,this.iWrite=0}toBuffer(){return this.iRead===0&&this.iWrite===this.size?this.buffer:this.buffer.slice(this.iRead,this.iWrite)}get length(){return this.iWrite-this.iRead}get eod(){return this.iRead===this.iWrite}get full(){return this.iWrite===this.size}read(e){if(e===0)return null;if(e===void 0||e>=this.length){let e=this.toBuffer();return this.iRead=this.iWrite,e}let t=this.buffer.slice(this.iRead,this.iRead+e);return this.iRead+=e,t}write(e,t,n){let r=Math.min(n,this.size-this.iWrite);return e.copy(this.buffer,this.iWrite,t,t+r),this.iWrite+=r,r}},Kt=class{constructor(e){e||={},this.bufSize=e.bufSize||1024*1024,this.buffers=[],this.batch=e.batch||!1,this.corked=!1,this.paused=!1,this.encoding=null,this.pipes=[],this.events=new Map}on(e,t){let n=this.events.get(e)||[];return n.push(t),this.events.set(e,n),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this.events.get(e)||[],r=n.indexOf(t);return r!==-1&&n.splice(r,1),this}emit(e,...t){let n=this.events.get(e)||[];return n.forEach(e=>e(...t)),n.length>0}removeListener(e,t){return this.off(e,t)}toBuffer(){switch(this.buffers.length){case 0:return null;case 1:return this.buffers[0].toBuffer();default:{let e=this.buffers.reduce((e,t)=>e+t.length,0),t=new Uint8Array(e),n=0;for(let e of this.buffers){let r=e.toBuffer();t.set(r,n),n+=r.length}return t}}}_getWritableBuffer(){if(this.buffers.length){let e=this.buffers[this.buffers.length-1];if(!e.full)return e}let e=new Gt(this.bufSize);return this.buffers.push(e),e}async _pipe(e){await Promise.all(this.pipes.map(t=>new Promise(n=>{t.write(e.toBuffer(),()=>{n()})})))}_writeToBuffers(e){let t=0,n=e.length;for(;t<n;){let r=this._getWritableBuffer();t+=r.write(e,t,n-t)}}async write(e,t,n){t instanceof Function&&(n=t,t=`utf8`),n||=()=>{};let r;if(e instanceof Vt||e&&e.constructor?.name===`StringBuf`)r=new Ut(e);else if(e instanceof Uint8Array)r=new Wt(e);else if(ArrayBuffer.isView(e))r=new Wt(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));else if(e instanceof ArrayBuffer)r=new Wt(new Uint8Array(e));else if(typeof e==`string`||e instanceof String)r=new Ht(String(e),t);else throw Error(`Chunk must be one of type String, Uint8Array, ArrayBuffer or StringBuf.`);if(this.pipes.length)if(this.batch)for(this._writeToBuffers(r);!this.corked&&this.buffers.length>1;)await this._pipe(new Wt(this.buffers.shift().toBuffer()));else this.corked?(this._writeToBuffers(r),queueMicrotask(()=>n())):(await this._pipe(r),n());else this.paused||this.emit(`data`,r.toBuffer()),this._writeToBuffers(r),this.emit(`readable`);return!0}cork(){this.corked=!0}_flush(){if(this.pipes.length)for(;this.buffers.length;)this._pipe(new Wt(this.buffers.shift().toBuffer()))}uncork(){this.corked=!1,this._flush()}end(e,t,n){let r=e=>{e?n?.(e):(this._flush(),this.pipes.forEach(e=>{e.end()}),this.emit(`finish`))};e?this.write(e,t,r):r()}read(e){let t;if(e){for(t=[];e&&this.buffers.length&&!this.buffers[0].eod;){let n=this.buffers[0],r=n.read(e);r&&(e-=r.length,t.push(r)),n.eod&&n.full&&this.buffers.shift()}return qt(t)}return t=this.buffers.map(e=>e.toBuffer()).filter(Boolean),this.buffers=[],qt(t)}setEncoding(e){this.encoding=e}pause(){this.paused=!0}resume(){this.paused=!1}isPaused(){return this.paused}pipe(e){return this.pipes.push(e),!this.paused&&this.buffers.length&&this.end(),e}unpipe(e){this.pipes=this.pipes.filter(t=>t!==e)}unshift(){throw Error(`Not Implemented`)}wrap(){throw Error(`Not Implemented`)}push(e){return e!==null&&this.write(e),!0}};function qt(e){if(e.length===0)return new Uint8Array;if(e.length===1)return e[0];let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Jt(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var Yt=class{constructor(e){this.finalized=!1,this.pendingWrites=[],this.events=new Map;let t=e?.compression===`STORE`?0:Math.max(0,Math.min(9,e?.compressionOptions?.level??1));this.stream=new Kt,this.zipBuilder=new Bt({level:t})}on(e,t){let n=this.events.get(e)||[];return n.push(t),this.events.set(e,n),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this.events.get(e)||[],r=n.indexOf(t);return r!==-1&&n.splice(r,1),this}emit(e,...t){let n=this.events.get(e)||[];return n.forEach(e=>e(...t)),n.length>0}removeListener(e,t){return this.off(e,t)}append(e,t){let n;n=Object.prototype.hasOwnProperty.call(t,`base64`)&&t.base64?Jt(typeof e==`string`?e:String(e)):typeof e==`string`?new TextEncoder().encode(e):e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer?new Uint8Array(e):e;let r=this.zipBuilder.addFile({name:t.name,data:n}).then(e=>{for(let t of e)this.stream.write(new Uint8Array(t))});this.pendingWrites.push(r)}push(e){return this.stream.push(e)}async finalize(){if(this.finalized)return;this.finalized=!0,await Promise.all(this.pendingWrites);let e=this.zipBuilder.finalize();for(let t of e)this.stream.write(new Uint8Array(t));this.stream.end(),this.emit(`finish`)}read(e){return this.stream.read(e)}setEncoding(e){return this.stream.setEncoding(e)}pause(){return this.stream.pause()}resume(){return this.stream.resume()}isPaused(){return this.stream.isPaused()}pipe(e){return this.stream.pipe(e)}unpipe(e){return this.stream.unpipe(e)}unshift(){return this.stream.unshift()}wrap(){return this.stream.wrap()}};const Xt=1e4;function Zt(e,t,n){e.push(` ${t}="${Ne(n.toString())}"`)}function Qt(e,t){if(t){let n=[];Object.entries(t).forEach(([e,t])=>{t!==void 0&&Zt(n,e,t)}),e.push(n.join(``))}}var F=class{constructor(){this._xml=[],this._chunks=[],this._stack=[],this._rollbacks=[]}_consolidate(){this._xml.length>=Xt&&(this._chunks.push(this._xml.join(``)),this._xml=[])}get tos(){return this._stack.length?this._stack[this._stack.length-1]:void 0}get cursor(){return this._chunks.length*Xt+this._xml.length}openXml(e){let t=this._xml;t.push(`<?xml`),Qt(t,e),t.push(`?>
7
+ const e=/^[A-Z]+\d+$/,t={_dictionary:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),_l2nFill:0,_l2n:{},_n2l:[],_level(e){return e<=26?1:e<=676?2:3},_fill(e){let t,n,r,i,a,o=1;if(e>=4)throw Error(`Out of bounds. Excel supports columns from 1 to 16384`);if(this._l2nFill<1&&e>=1){for(;o<=26;)t=this._dictionary[o-1],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=1}if(this._l2nFill<2&&e>=2){for(o=27;o<=702;)n=o-27,r=n%26,i=Math.floor(n/26),t=this._dictionary[i]+this._dictionary[r],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=2}if(this._l2nFill<3&&e>=3){for(o=703;o<=16384;)n=o-703,r=n%26,i=Math.floor(n/26)%26,a=Math.floor(n/676),t=this._dictionary[a]+this._dictionary[i]+this._dictionary[r],this._n2l[o]=t,this._l2n[t]=o,o++;this._l2nFill=3}},l2n(e){if(this._l2n[e]||this._fill(e.length),!this._l2n[e])throw Error(`Out of bounds. Invalid column letter: ${e}`);return this._l2n[e]},n2l(e){if(e<1||e>16384)throw Error(`${e} is out of bounds. Excel supports columns from 1 to 16384`);return this._n2l[e]||this._fill(this._level(e)),this._n2l[e]},_hash:{},validateAddress(t){if(!e.test(t))throw Error(`Invalid Address: ${t}`);return!0},decodeAddress(e){let t=e.length<5&&this._hash[e];if(t)return t;let n=!1,r=``,i=0,a=!1,o=``,s=0;for(let t=0,c;t<e.length;t++)if(c=e.charCodeAt(t),!a&&c>=65&&c<=90)n=!0,r+=e[t],i=i*26+c-64;else if(c>=48&&c<=57)a=!0,o+=e[t],s=s*10+c-48;else if(a&&n&&c!==36)break;if(!n)i=void 0;else if(i>16384)throw Error(`Out of bounds. Invalid column letter: ${r}`);a||(s=void 0),e=r+o;let c={address:e,col:i,row:s,$col$row:`$${r}$${o}`};return i<=100&&s<=100&&(this._hash[e]=c,this._hash[c.$col$row]=c),c},getAddress(e,t){if(t){let n=this.n2l(t)+e;return this.decodeAddress(n)}return this.decodeAddress(e)},decode(e){let t=e.split(`:`);if(t.length===2){let e=this.decodeAddress(t[0]),n=this.decodeAddress(t[1]),r={top:Math.min(e.row,n.row),left:Math.min(e.col,n.col),bottom:Math.max(e.row,n.row),right:Math.max(e.col,n.col),tl:``,br:``,dimensions:``};return r.tl=this.n2l(r.left)+r.top,r.br=this.n2l(r.right)+r.bottom,r.dimensions=`${r.tl}:${r.br}`,r}return this.decodeAddress(e)},decodeEx(e){let t=e.match(/^(?:(?:(?:'((?:[^']|'')+?)')|([^'^ !]+?))!)?(.*)$/),n=t[1]||t[2],r=t[3],i=r.split(`:`);if(i.length>1){let e=this.decodeAddress(i[0]),t=this.decodeAddress(i[1]),r=Math.min(e.row,t.row),a=Math.min(e.col,t.col),o=Math.max(e.row,t.row),s=Math.max(e.col,t.col),c=this.n2l(a)+r,l=this.n2l(s)+o;return{top:r,left:a,bottom:o,right:s,sheetName:n,tl:{address:c,col:a,row:r,$col$row:`$${this.n2l(a)}$${r}`,sheetName:n},br:{address:l,col:s,row:o,$col$row:`$${this.n2l(s)}$${o}`,sheetName:n},dimensions:`${c}:${l}`}}if(r.indexOf(`#`)===0)return n?{sheetName:n,error:r}:{error:r};let a=this.decodeAddress(r);return n?{sheetName:n,...a}:a},encodeAddress(e,n){return t.n2l(n)+e},encode(...e){switch(e.length){case 2:return t.encodeAddress(e[0],e[1]);case 4:return`${t.encodeAddress(e[0],e[1])}:${t.encodeAddress(e[2],e[3])}`;default:throw Error(`Can only encode with 2 or 4 arguments`)}},inRange(e,t){let[n,r,,i,a]=e,[o,s]=t;return o>=n&&o<=i&&s>=r&&s<=a}};var n=class e{constructor(...e){this.model={top:0,left:0,bottom:0,right:0},this.decode(e)}setTLBR(e,n,r,i,a){if(typeof e==`string`&&typeof n==`string`){let i=t.decodeAddress(e),a=t.decodeAddress(n);this.model={top:Math.min(i.row,a.row),left:Math.min(i.col,a.col),bottom:Math.max(i.row,a.row),right:Math.max(i.col,a.col),sheetName:typeof r==`string`?r:void 0}}else typeof e==`number`&&typeof n==`number`&&typeof r==`number`&&typeof i==`number`&&(this.model={top:Math.min(e,r),left:Math.min(n,i),bottom:Math.max(e,r),right:Math.max(n,i),sheetName:a})}decode(n){switch(n.length){case 5:typeof n[0]==`number`&&typeof n[1]==`number`&&typeof n[2]==`number`&&typeof n[3]==`number`&&typeof n[4]==`string`&&this.setTLBR(n[0],n[1],n[2],n[3],n[4]);break;case 4:typeof n[0]==`number`&&typeof n[1]==`number`&&typeof n[2]==`number`&&typeof n[3]==`number`&&this.setTLBR(n[0],n[1],n[2],n[3]);break;case 3:typeof n[0]==`string`&&typeof n[1]==`string`&&typeof n[2]==`string`&&this.setTLBR(n[0],n[1],n[2]);break;case 2:typeof n[0]==`string`&&typeof n[1]==`string`&&this.setTLBR(n[0],n[1]);break;case 1:{let r=n[0];if(r instanceof e)this.model={top:r.model.top,left:r.model.left,bottom:r.model.bottom,right:r.model.right,sheetName:r.sheetName};else if(Array.isArray(r))this.decode(r);else if(typeof r==`object`&&`top`in r&&`left`in r&&`bottom`in r&&`right`in r)this.model={top:r.top,left:r.left,bottom:r.bottom,right:r.right,sheetName:r.sheetName};else if(typeof r==`string`){let e=t.decodeEx(r);`top`in e?this.model={top:e.top,left:e.left,bottom:e.bottom,right:e.right,sheetName:e.sheetName}:`row`in e&&(this.model={top:e.row,left:e.col,bottom:e.row,right:e.col,sheetName:e.sheetName})}break}case 0:this.model={top:0,left:0,bottom:0,right:0};break;default:throw Error(`Invalid number of arguments to _getDimensions() - ${n.length}`)}}get top(){return this.model.top||1}set top(e){this.model.top=e}get left(){return this.model.left||1}set left(e){this.model.left=e}get bottom(){return this.model.bottom||1}set bottom(e){this.model.bottom=e}get right(){return this.model.right||1}set right(e){this.model.right=e}get sheetName(){return this.model.sheetName}set sheetName(e){this.model.sheetName=e}get _serialisedSheetName(){let{sheetName:e}=this.model;return e?/^[a-zA-Z0-9]*$/.test(e)?`${e}!`:`'${e}'!`:``}expand(e,t,n,r){(!this.model.top||e<this.top)&&(this.top=e),(!this.model.left||t<this.left)&&(this.left=t),(!this.model.bottom||n>this.bottom)&&(this.bottom=n),(!this.model.right||r>this.right)&&(this.right=r)}expandRow(e){if(e){let{dimensions:t,number:n}=e;t&&this.expand(n,t.min,n,t.max)}}expandToAddress(e){let n=t.decodeEx(e);`row`in n&&`col`in n&&this.expand(n.row,n.col,n.row,n.col)}get tl(){return t.n2l(this.left)+this.top}get $t$l(){return`$${t.n2l(this.left)}$${this.top}`}get br(){return t.n2l(this.right)+this.bottom}get $b$r(){return`$${t.n2l(this.right)}$${this.bottom}`}get range(){return`${this._serialisedSheetName+this.tl}:${this.br}`}get $range(){return`${this._serialisedSheetName+this.$t$l}:${this.$b$r}`}get shortRange(){return this.count>1?this.range:this._serialisedSheetName+this.tl}get $shortRange(){return this.count>1?this.$range:this._serialisedSheetName+this.$t$l}get count(){return(1+this.bottom-this.top)*(1+this.right-this.left)}toString(){return this.range}intersects(e){return!(e.sheetName&&this.sheetName&&e.sheetName!==this.sheetName||e.bottom<this.top||e.top>this.bottom||e.right<this.left||e.left>this.right)}contains(e){let n=t.decodeEx(e);return`row`in n&&`col`in n?this.containsEx(n):!1}containsEx(e){return e.sheetName&&this.sheetName&&e.sheetName!==this.sheetName?!1:e.row>=this.top&&e.row<=this.bottom&&e.col>=this.left&&e.col<=this.right}forEachAddress(e){for(let n=this.left;n<=this.right;n++)for(let r=this.top;r<=this.bottom;r++)e(t.encodeAddress(r,n),r,n)}};let r=function(e){return e[e.Null=0]=`Null`,e[e.Merge=1]=`Merge`,e[e.Number=2]=`Number`,e[e.String=3]=`String`,e[e.Date=4]=`Date`,e[e.Hyperlink=5]=`Hyperlink`,e[e.Formula=6]=`Formula`,e[e.SharedString=7]=`SharedString`,e[e.RichText=8]=`RichText`,e[e.Boolean=9]=`Boolean`,e[e.Error=10]=`Error`,e[e.JSON=11]=`JSON`,e}({}),i=function(e){return e[e.None=0]=`None`,e[e.Master=1]=`Master`,e[e.Shared=2]=`Shared`,e}({}),a=function(e){return e[e.None=0]=`None`,e[e.OfficeDocument=1]=`OfficeDocument`,e[e.Worksheet=2]=`Worksheet`,e[e.CalcChain=3]=`CalcChain`,e[e.SharedStrings=4]=`SharedStrings`,e[e.Styles=5]=`Styles`,e[e.Theme=6]=`Theme`,e[e.Hyperlink=7]=`Hyperlink`,e}({}),o=function(e){return e[e.Xlsx=1]=`Xlsx`,e}({}),s=function(e){return e[e.LeftToRight=1]=`LeftToRight`,e[e.RightToLeft=2]=`RightToLeft`,e}({});const c={NotApplicable:`#N/A`,Ref:`#REF!`,Name:`#NAME?`,DivZero:`#DIV/0!`,Null:`#NULL!`,Value:`#VALUE!`,Num:`#NUM!`},l={ValueType:r,FormulaType:i,RelationshipType:a,DocumentType:o,ReadingOrder:s,ErrorValue:c},{toString:u}=Object.prototype,d=/["&<>]/;function f(e,t){let n=typeof e,r=typeof t,i=Array.isArray(e),a=Array.isArray(t),o;if(n!==r)return!1;switch(typeof e){case`object`:if(i||a)return i&&a?e.length===t.length&&e.every((e,n)=>{let r=t[n];return f(e,r)}):!1;if(e===null||t===null)return e===t;if(o=Object.keys(e),Object.keys(t).length!==o.length)return!1;for(let e of o)if(!Object.prototype.hasOwnProperty.call(t,e))return!1;return o.every(n=>{let r=e[n],i=t[n];return f(r,i)});default:return e===t}}function p(e){let t=d.exec(e);if(!t)return e;let n=``,r=``,i=0,a=t.index;for(;a<e.length;a++){switch(e.charAt(a)){case`"`:r=`&quot;`;break;case`&`:r=`&amp;`;break;case`<`:r=`&lt;`;break;case`>`:r=`&gt;`;break;default:continue}i!==a&&(n+=e.substring(i,a)),i=a+1,n+=r}return i===a?n:n+e.substring(i,a)}function m(e){return u.call(e)===`[object Undefined]`}function h(e){return u.call(e)===`[object Object]`}function g(...e){let t=e[0]||{},{length:n}=e,r,i,a;function o(e,n){r=t[n],a=Array.isArray(e),h(e)||a?(a?(a=!1,i=r&&Array.isArray(r)?r:[]):i=r&&h(r)?r:{},t[n]=g(i,e)):m(e)||(t[n]=e)}for(let t=0;t<n;t++){let n=e[t];n&&(Array.isArray(n)?n.forEach((e,t)=>o(e,t)):Object.entries(n).forEach(([e,t])=>{e===`__proto__`||e===`constructor`||e===`prototype`||o(t,e)}))}return t}var _=class e{static{this.DEFAULT_CONFIGS={note:{margins:{insetmode:`auto`,inset:[.13,.13,.25,.25]},protection:{locked:`True`,lockText:`True`},editAs:`absolute`},type:`note`}}constructor(e){this.note=e}get model(){let t=null;switch(typeof this.note){case`string`:t={type:`note`,note:{texts:[{text:this.note}]}};break;default:t={type:`note`,note:this.note};break}return g({},e.DEFAULT_CONFIGS,t)}set model(e){let{note:t}=e,{texts:n}=t;n&&n.length===1&&Object.keys(n[0]).length===1?this.note=n[0].text:this.note=t}static fromModel(t){let n=new e;return n.model=t,n}};const v=/(([a-z_\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi,y=/^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;function ee(e,n,r){let i=t.decode(n),a=t.decode(r);return e.replace(v,(e,n,r,o,s)=>{if(s)return e;let c=y.exec(o);if(c){let r=c[1],o=c[2].toUpperCase(),s=c[3],l=c[4];if(o.length>3||o.length===3&&o>`XFD`)return e;let u=t.l2n(o),d=parseInt(l,10);return r||(u+=a.col-i.col),s||(d+=a.row-i.row),(n||``)+(r||``)+t.n2l(u)+(s||``)+d}return e})}var b=class e{static{this.Types=l.ValueType}constructor(n,r,i){if(!n||!r)throw Error(`A Cell needs a Row`);this._row=n,this._column=r,t.validateAddress(i),this._address=i,this._value=k.create(e.Types.Null,this),this.style=this._mergeStyle(n.style,r.style,{}),this._mergeCount=0}get worksheet(){return this._row.worksheet}get workbook(){return this._row.worksheet.workbook}destroy(){delete this.style,delete this._value,delete this._row,delete this._column,delete this._address}get numFmt(){return this.style.numFmt}set numFmt(e){this.style.numFmt=e}get font(){return this.style.font}set font(e){this.style.font=e}get alignment(){return this.style.alignment}set alignment(e){this.style.alignment=e}get border(){return this.style.border}set border(e){this.style.border=e}get fill(){return this.style.fill}set fill(e){this.style.fill=e}get protection(){return this.style.protection}set protection(e){this.style.protection=e}_mergeStyle(e,t,n){let r=e&&e.numFmt||t&&t.numFmt;r&&(n.numFmt=r);let i=e&&e.font||t&&t.font;i&&(n.font=i);let a=e&&e.alignment||t&&t.alignment;a&&(n.alignment=a);let o=e&&e.border||t&&t.border;o&&(n.border=o);let s=e&&e.fill||t&&t.fill;s&&(n.fill=s);let c=e&&e.protection||t&&t.protection;return c&&(n.protection=c),n}get address(){return this._address}get row(){return this._row.number}get col(){return this._column.number}get $col$row(){return`$${this._column.letter}$${this.row}`}get type(){return this._value.type}get effectiveType(){return this._value.effectiveType}toCsvString(){return this._value.toCsvString()}addMergeRef(){this._mergeCount++}releaseMergeRef(){this._mergeCount--}get isMerged(){return this._mergeCount>0||this.type===e.Types.Merge}merge(t,n){this._value.release(),this._value=k.create(e.Types.Merge,this,t),n||(this.style=t.style)}unmerge(){this.type===e.Types.Merge&&(this._value.release(),this._value=k.create(e.Types.Null,this),this.style=this._mergeStyle(this._row.style,this._column.style,{}))}isMergedTo(t){return this._value.type===e.Types.Merge?this._value.isMergedTo(t):!1}get master(){return this.type===e.Types.Merge?this._value.master:this}get isHyperlink(){return this._value.type===e.Types.Hyperlink}get hyperlink(){return this._value.hyperlink}get value(){return this._value.value}set value(t){if(this.type===e.Types.Merge){this._value.master.value=t;return}this._value.release(),this._value=k.create(k.getType(t),this,t)}get note(){if(this._comment)return this._comment.note}set note(e){this._comment=new _(e)}get comment(){return this._comment}set comment(e){e===void 0?this._comment=void 0:e instanceof _?this._comment=e:this._comment=new _(e)}get text(){return this._value.toString()}get html(){return p(this.text)}toString(){return this.text}_upgradeToHyperlink(t){this.type===e.Types.String&&(this._value=k.create(e.Types.Hyperlink,this,{text:String(this._value.value),hyperlink:t}))}get formula(){return this._value.formula}get result(){return this._value.result}get formulaType(){return this._value.formulaType}get fullAddress(){let{worksheet:e}=this._row;return{sheetName:e.name,address:this.address,row:this.row,col:this.col}}get name(){return this.names[0]}set name(e){this.names=[e]}get names(){return this.workbook.definedNames.getNamesEx(this.fullAddress)}set names(e){let{definedNames:t}=this.workbook;t.removeAllNames(this.fullAddress),e.forEach(e=>{t.addEx(this.fullAddress,e)})}addName(e){this.workbook.definedNames.addEx(this.fullAddress,e)}removeName(e){this.workbook.definedNames.removeEx(this.fullAddress,e)}removeAllNames(){this.workbook.definedNames.removeAllNames(this.fullAddress)}get _dataValidations(){return this.worksheet.dataValidations}get dataValidation(){return this._dataValidations.find(this.address)}set dataValidation(e){this._dataValidations.add(this.address,e)}get model(){let{model:e}=this._value;return e.style=this.style,this._comment&&(e.comment=this._comment.model),e}set model(e){if(this._value.release(),this._value=k.create(e.type,this),this._value.model=e,e.comment)switch(e.comment.type){case`note`:this._comment=_.fromModel(e.comment);break}e.style?this.style=e.style:this.style={}}},x=class{constructor(e){this.model={address:e.address,type:b.Types.Null}}get value(){return null}set value(e){}get type(){return b.Types.Null}get effectiveType(){return b.Types.Null}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return``}release(){}toString(){return``}},S=class{constructor(e,t){this.model={address:e.address,type:b.Types.Number,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Number}get effectiveType(){return b.Types.Number}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}},C=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.String}get effectiveType(){return b.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return`"${this.model.value.replace(/"/g,`""`)}"`}release(){}toString(){return this.model.value}},w=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}toString(){return this.model.value.richText.map(e=>e.text).join(``)}get type(){return b.Types.RichText}get effectiveType(){return b.Types.RichText}get address(){return this.model.address}set address(e){this.model.address=e}get text(){return this.toString()}toCsvString(){return`"${this.text.replace(/"/g,`""`)}"`}release(){}},T=class{constructor(e,t){this.model={address:e.address,type:b.Types.Date,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Date}get effectiveType(){return b.Types.Date}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toISOString()}release(){}toString(){return this.model.value.toString()}},E=class{constructor(e,t){this.model={address:e.address,type:b.Types.Hyperlink,text:t?t.text:void 0,hyperlink:t?t.hyperlink:void 0},t&&t.tooltip&&(this.model.tooltip=t.tooltip)}get value(){return{text:this.model.text||``,hyperlink:this.model.hyperlink||``,tooltip:this.model.tooltip}}set value(e){this.model.text=e.text,this.model.hyperlink=e.hyperlink,e.tooltip&&(this.model.tooltip=e.tooltip)}get text(){return this.model.text}set text(e){this.model.text=e}get hyperlink(){return this.model.hyperlink}set hyperlink(e){this.model.hyperlink=e}get type(){return b.Types.Hyperlink}get effectiveType(){return b.Types.Hyperlink}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.hyperlink||``}release(){}toString(){return this.model.text||``}},te=class{constructor(e,t){this.model={address:e.address,type:b.Types.Merge,master:t?t.address:void 0},this._master=t,t&&t.addMergeRef()}get value(){return this._master.value}set value(e){e instanceof b?(this._master&&this._master.releaseMergeRef(),e.addMergeRef(),this._master=e):this._master.value=e}isMergedTo(e){return e===this._master}get master(){return this._master}get type(){return b.Types.Merge}get effectiveType(){return this._master.effectiveType}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return``}release(){this._master.releaseMergeRef()}toString(){return this.value.toString()}},D=class{constructor(e,t){this.cell=e,this.model={address:e.address,type:b.Types.Formula,shareType:t?t.shareType:void 0,ref:t?t.ref:void 0,formula:t?t.formula:void 0,sharedFormula:t?t.sharedFormula:void 0,result:t?t.result:void 0}}_copyModel(e){let t={};return e.formula&&(t.formula=e.formula),e.result!==void 0&&(t.result=e.result),e.ref&&(t.ref=e.ref),e.shareType&&(t.shareType=e.shareType),e.sharedFormula&&(t.sharedFormula=e.sharedFormula),t}get value(){return this._copyModel(this.model)}set value(e){e.formula&&(this.model.formula=e.formula),e.result!==void 0&&(this.model.result=e.result),e.ref&&(this.model.ref=e.ref),e.shareType&&(this.model.shareType=e.shareType),e.sharedFormula&&(this.model.sharedFormula=e.sharedFormula)}validate(e){switch(k.getType(e)){case b.Types.Null:case b.Types.String:case b.Types.Number:case b.Types.Date:break;case b.Types.Hyperlink:case b.Types.Formula:default:throw Error(`Cannot process that type of result value`)}}get dependencies(){return{ranges:this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g),cells:this.formula.replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g,``).match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}/g)}}get formula(){return this.model.formula||this._getTranslatedFormula()||``}set formula(e){this.model.formula=e}get formulaType(){return this.model.formula?l.FormulaType.Master:this.model.sharedFormula?l.FormulaType.Shared:l.FormulaType.None}get result(){return this.model.result}set result(e){this.model.result=e}get type(){return b.Types.Formula}get effectiveType(){let e=this.model.result;return e==null?l.ValueType.Null:e instanceof String||typeof e==`string`?l.ValueType.String:typeof e==`number`?l.ValueType.Number:e instanceof Date?l.ValueType.Date:typeof e==`object`&&`error`in e?l.ValueType.Error:l.ValueType.Null}get address(){return this.model.address}set address(e){this.model.address=e}_getTranslatedFormula(){if(!this._translatedFormula&&this.model.sharedFormula){let{worksheet:e}=this.cell,t=e.findCell(this.model.sharedFormula);this._translatedFormula=t&&ee(t.formula,t.address,this.model.address)}return this._translatedFormula}toCsvString(){return`${this.model.result||``}`}release(){}toString(){return this.model.result?this.model.result.toString():``}},ne=class{constructor(e,t){this.model={address:e.address,type:b.Types.SharedString,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.SharedString}get effectiveType(){return b.Types.SharedString}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value.toString()}release(){}toString(){return this.model.value.toString()}},re=class{constructor(e,t){this.model={address:e.address,type:b.Types.Boolean,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Boolean}get effectiveType(){return b.Types.Boolean}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value?1:0}release(){}toString(){return this.model.value.toString()}},ie=class{constructor(e,t){this.model={address:e.address,type:b.Types.Error,value:t}}get value(){return this.model.value}set value(e){this.model.value=e}get type(){return b.Types.Error}get effectiveType(){return b.Types.Error}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.toString()}release(){}toString(){return this.model.value.error.toString()}},O=class{constructor(e,t){this.model={address:e.address,type:b.Types.String,value:JSON.stringify(t),rawValue:t}}get value(){return this.model.rawValue}set value(e){this.model.rawValue=e,this.model.value=JSON.stringify(e)}get type(){return b.Types.String}get effectiveType(){return b.Types.String}get address(){return this.model.address}set address(e){this.model.address=e}toCsvString(){return this.model.value}release(){}toString(){return this.model.value}};const k={getType(e){if(e==null)return b.Types.Null;if(e instanceof String||typeof e==`string`)return b.Types.String;if(typeof e==`number`)return b.Types.Number;if(typeof e==`boolean`)return b.Types.Boolean;if(e instanceof Date)return b.Types.Date;if(typeof e==`object`){if(`text`in e&&e.text&&`hyperlink`in e&&e.hyperlink)return b.Types.Hyperlink;if(`formula`in e&&e.formula||`sharedFormula`in e&&e.sharedFormula)return b.Types.Formula;if(`richText`in e&&e.richText)return b.Types.RichText;if(`sharedString`in e&&e.sharedString)return b.Types.SharedString;if(`error`in e&&e.error)return b.Types.Error}return b.Types.JSON},types:[{t:b.Types.Null,f:x},{t:b.Types.Number,f:S},{t:b.Types.String,f:C},{t:b.Types.Date,f:T},{t:b.Types.Hyperlink,f:E},{t:b.Types.Formula,f:D},{t:b.Types.Merge,f:te},{t:b.Types.JSON,f:O},{t:b.Types.SharedString,f:ne},{t:b.Types.RichText,f:w},{t:b.Types.Boolean,f:re},{t:b.Types.Error,f:ie}].reduce((e,t)=>(e[t.t]=t.f,e),[]),create(e,t,n){let r=this.types[e];if(!r)throw Error(`Could not create Value of type ${e}`);return new r(t,n)}};var A=class{constructor(e,t){this._worksheet=e,this._number=t,this._cells=[],this.style={},this.outlineLevel=0}get number(){return this._number}get worksheet(){return this._worksheet}commit(){this._worksheet._commitRow(this)}destroy(){delete this._worksheet,delete this._cells,delete this.style}findCell(e){return this._cells[e-1]}getCellEx(e){let t=this._cells[e.col-1];if(!t){let n=this._worksheet.getColumn(e.col);t=new b(this,n,e.address),this._cells[e.col-1]=t}return t}getCell(e){let n;if(typeof e==`string`){let r=this._worksheet.getColumnKey(e);n=r?r.number:t.l2n(e)}else n=e;return this._cells[n-1]||this.getCellEx({address:t.encodeAddress(this._number,n),row:this._number,col:n})}splice(e,t,...n){let r=e+t,i=n.length-t,a=this._cells.length,o,s,c;if(i<0)for(o=e+n.length;o<=a;o++)c=this._cells[o-1],s=this._cells[o-i-1],s?(c=this.getCell(o),c.value=s.value,c.style=s.style,c.comment=s.comment):c&&(c.value=null,c.style={},c.comment=void 0);else if(i>0)for(o=a;o>=r;o--)s=this._cells[o-1],s?(c=this.getCell(o+i),c.value=s.value,c.style=s.style,c.comment=s.comment):this._cells[o+i-1]=void 0;for(o=0;o<n.length;o++)c=this.getCell(e+o),c.value=n[o],c.style={},c.comment=void 0}eachCell(e,t){let n=null,r;if(typeof e==`function`?r=e:(n=e,r=t),n&&n.includeEmpty){let e=this._cells.length;for(let t=1;t<=e;t++)r(this.getCell(t),t)}else this._cells.forEach((e,t)=>{e&&e.type!==l.ValueType.Null&&r(e,t+1)})}addPageBreak(e,t){let n=this._worksheet,r=Math.max(0,(e||0)-1)||0,i=Math.max(0,(t||0)-1)||16838,a={id:this._number,max:i,man:1};r&&(a.min=r),n.rowBreaks.push(a)}get values(){let e=[];return this._cells.forEach(t=>{t&&t.type!==l.ValueType.Null&&(e[t.col]=t.value)}),e}set values(e){if(this._cells=[],e)if(e instanceof Array){let n=0;Object.prototype.hasOwnProperty.call(e,`0`)&&(n=1),e.forEach((e,r)=>{e!==void 0&&(this.getCellEx({address:t.encodeAddress(this._number,r+n),row:this._number,col:r+n}).value=e)})}else this._worksheet.eachColumnKey((n,r)=>{e[r]!==void 0&&(this.getCellEx({address:t.encodeAddress(this._number,n.number),row:this._number,col:n.number}).value=e[r])})}get hasValues(){return this._cells.some(e=>e&&e.type!==l.ValueType.Null)}get cellCount(){return this._cells.length}get actualCellCount(){let e=0;return this.eachCell(()=>{e++}),e}get dimensions(){let e=0,t=0;return this._cells.forEach(n=>{n&&n.type!==l.ValueType.Null&&((!e||e>n.col)&&(e=n.col),t<n.col&&(t=n.col))}),e>0?{min:e,max:t}:null}_applyStyle(e,t){this.style[e]=t,this._cells.forEach(n=>{n&&(n.style[e]=t)})}get numFmt(){return this.style.numFmt}set numFmt(e){e!==void 0&&this._applyStyle(`numFmt`,e)}get font(){return this.style.font}set font(e){e!==void 0&&this._applyStyle(`font`,e)}get alignment(){return this.style.alignment}set alignment(e){e!==void 0&&this._applyStyle(`alignment`,e)}get protection(){return this.style.protection}set protection(e){e!==void 0&&this._applyStyle(`protection`,e)}get border(){return this.style.border}set border(e){e!==void 0&&this._applyStyle(`border`,e)}get fill(){return this.style.fill}set fill(e){e!==void 0&&this._applyStyle(`fill`,e)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelRow)}get model(){let e=[],t=0,n=0;return this._cells.forEach(r=>{if(r){let i=r.model;i&&((!t||t>r.col)&&(t=r.col),n<r.col&&(n=r.col),e.push(i))}}),this.height||e.length?{cells:e,number:this.number,min:t,max:n,height:this.height,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel,collapsed:this.collapsed}:null}set model(e){if(e.number!==this._number)throw Error(`Invalid row number in model`);this._cells=[];let n;e.cells.forEach(e=>{switch(e.type){case b.Types.Merge:break;default:{let r;if(e.address)r=t.decodeAddress(e.address);else if(n){let{row:e}=n,i=n.col+1;r={row:e,col:i,address:t.encodeAddress(e,i),$col$row:`$${t.n2l(i)}$${e}`}}n=r;let i=this.getCellEx(r);i.model=e;break}}}),e.height?this.height=e.height:delete this.height,this.hidden=e.hidden,this.outlineLevel=e.outlineLevel||0,this.style=e.style&&JSON.parse(JSON.stringify(e.style))||{}}},j=class e{constructor(e,t,n){this._worksheet=e,this._number=t,n!==!1&&(this.defn=n)}get number(){return this._number}get worksheet(){return this._worksheet}get letter(){return t.n2l(this._number)}get isCustomWidth(){return this.width!==void 0&&this.width!==9}get defn(){return{header:this._header,key:this.key,width:this.width,style:this.style,hidden:this.hidden,outlineLevel:this.outlineLevel}}set defn(e){e?(this.key=e.key,this.width=e.width===void 0?9:e.width,this.outlineLevel=e.outlineLevel,e.style?this.style=e.style:this.style={},this.header=e.header,this._hidden=!!e.hidden):(delete this._header,delete this._key,delete this.width,this.style={},this.outlineLevel=0)}get headers(){return Array.isArray(this._header)?this._header:this._header===void 0?[]:[this._header]}get header(){return this._header}set header(e){e===void 0?this._header=void 0:(this._header=e,this.headers.forEach((e,t)=>{this._worksheet.getCell(t+1,this.number).value=e}))}get key(){return this._key}set key(e){(this._key&&this._worksheet.getColumnKey(this._key))===this&&this._worksheet.deleteColumnKey(this._key),this._key=e,e&&this._worksheet.setColumnKey(this._key,this)}get hidden(){return!!this._hidden}set hidden(e){this._hidden=e}get outlineLevel(){return this._outlineLevel||0}set outlineLevel(e){this._outlineLevel=e}get collapsed(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelCol)}toString(){return JSON.stringify({key:this.key,width:this.width,headers:this.headers.length?this.headers:void 0})}equivalentTo(e){return this.width===e.width&&this.hidden===e.hidden&&this.outlineLevel===e.outlineLevel&&f(this.style,e.style)}equivalentToModel(e){return this.width===e.width&&this.hidden===e.hidden&&this.outlineLevel===e.outlineLevel&&f(this.style,e.style)}get isDefault(){if(this.isCustomWidth||this.hidden||this.outlineLevel)return!1;let e=this.style;return!(e&&(e.font||e.numFmt||e.alignment||e.border||e.fill||e.protection))}get headerCount(){return this.headers.length}eachCell(e,t){let n=this.number,r,i;typeof e==`function`?(r={},i=e):(r=e,i=t),this._worksheet.eachRow(r,(e,t)=>{i(e.getCell(n),t)})}get values(){let e=[];return this.eachCell((t,n)=>{t&&t.type!==l.ValueType.Null&&(e[n]=t.value)}),e}set values(e){if(!e)return;let t=this.number,n=0;Object.prototype.hasOwnProperty.call(e,`0`)&&(n=1),e.forEach((e,r)=>{this._worksheet.getCell(r+n,t).value=e})}addPageBreak(e,t){let n=this._worksheet,r=Math.max(0,(e||0)-1)||0,i=Math.max(0,(t||0)-1)||1048575,a={id:this._number,max:i,man:1};r&&(a.min=r),n.colBreaks.push(a)}get numFmt(){return this.style.numFmt}set numFmt(e){this.style.numFmt=e,this.eachCell(t=>{t.numFmt=e})}get font(){return this.style.font}set font(e){this.style.font=e,this.eachCell(t=>{t.font=e})}get alignment(){return this.style.alignment}set alignment(e){this.style.alignment=e,this.eachCell(t=>{t.alignment=e})}get protection(){return this.style.protection}set protection(e){this.style.protection=e,this.eachCell(t=>{t.protection=e})}get border(){return this.style.border}set border(e){this.style.border=e,this.eachCell(t=>{t.border=e})}get fill(){return this.style.fill}set fill(e){this.style.fill=e,this.eachCell(t=>{t.fill=e})}static toModel(e){let t=[],n=null;return e&&e.forEach((e,r)=>{e.isDefault?n&&=null:!n||!e.equivalentToModel(n)?(n={min:r+1,max:r+1,width:e.width===void 0?9:e.width,style:e.style,isCustomWidth:e.isCustomWidth,hidden:e.hidden,outlineLevel:e.outlineLevel,collapsed:e.collapsed},t.push(n)):n.max=r+1}),t.length?t:void 0}static fromModel(t,n){n||=[];let r=[],i=1,a=0;for(n=n.sort(function(e,t){return e.min-t.min});a<n.length;){let o=n[a++];for(;i<o.min;)r.push(new e(t,i++));for(;i<=o.max;)r.push(new e(t,i++,o))}return r.length?r:null}};function ae(e){return typeof e==`object`&&`nativeCol`in e&&`nativeRow`in e&&`nativeColOff`in e&&`nativeRowOff`in e}function oe(e){return typeof e==`object`&&`col`in e&&`row`in e}var se=class e{constructor(e,n,r=0){if(this.worksheet=e,!n)this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0;else if(typeof n==`string`){let e=t.decodeAddress(n);this.nativeCol=e.col+r,this.nativeColOff=0,this.nativeRow=e.row+r,this.nativeRowOff=0}else ae(n)?(this.nativeCol=n.nativeCol||0,this.nativeColOff=n.nativeColOff||0,this.nativeRow=n.nativeRow||0,this.nativeRowOff=n.nativeRowOff||0):oe(n)?(this.col=n.col+r,this.row=n.row+r):(this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0)}static asInstance(t){return t==null?null:t instanceof e?t:new e(void 0,t)}get col(){return this.nativeCol+Math.min(this.colWidth-1,this.nativeColOff)/this.colWidth}set col(e){this.nativeCol=Math.floor(e),this.nativeColOff=Math.floor((e-this.nativeCol)*this.colWidth)}get row(){return this.nativeRow+Math.min(this.rowHeight-1,this.nativeRowOff)/this.rowHeight}set row(e){this.nativeRow=Math.floor(e),this.nativeRowOff=Math.floor((e-this.nativeRow)*this.rowHeight)}get colWidth(){return this.worksheet&&this.worksheet.getColumn(this.nativeCol+1)&&this.worksheet.getColumn(this.nativeCol+1).isCustomWidth?Math.floor(this.worksheet.getColumn(this.nativeCol+1).width*1e4):64e4}get rowHeight(){return this.worksheet&&this.worksheet.getRow(this.nativeRow+1)&&this.worksheet.getRow(this.nativeRow+1).height?Math.floor(this.worksheet.getRow(this.nativeRow+1).height*1e4):18e4}get model(){return{nativeCol:this.nativeCol,nativeColOff:this.nativeColOff,nativeRow:this.nativeRow,nativeRowOff:this.nativeRowOff}}set model(e){this.nativeCol=e.nativeCol,this.nativeColOff=e.nativeColOff,this.nativeRow=e.nativeRow,this.nativeRowOff=e.nativeRowOff}},ce=class{constructor(e,t){this.worksheet=e,t&&(this.model=t)}get model(){switch(this.type){case`background`:return{type:this.type,imageId:this.imageId};case`image`:return{type:this.type,imageId:this.imageId,hyperlinks:this.range.hyperlinks,range:{tl:this.range.tl.model,br:this.range.br&&this.range.br.model,ext:this.range.ext,editAs:this.range.editAs}};default:throw Error(`Invalid Image Type`)}}set model({type:e,imageId:n,range:r,hyperlinks:i}){if(this.type=e,this.imageId=n,e===`image`)if(typeof r==`string`){let e=t.decode(r);`top`in e&&(this.range={tl:new se(this.worksheet,{col:e.left,row:e.top},-1),br:new se(this.worksheet,{col:e.right,row:e.bottom},0),editAs:`oneCell`})}else r&&(this.range={tl:new se(this.worksheet,r.tl,0),br:r.br?new se(this.worksheet,r.br,0):void 0,ext:r.ext,editAs:r.editAs,hyperlinks:i||(`hyperlinks`in r?r.hyperlinks:void 0)})}},le=class{constructor(e,t,n){this.table=e,this.column=t,this.index=n}_set(e,t){this.table.cacheState(),this.column[e]=t}get name(){return this.column.name}set name(e){this._set(`name`,e)}get filterButton(){return this.column.filterButton}set filterButton(e){this.column.filterButton=e}get style(){return this.column.style}set style(e){this.column.style=e}get totalsRowLabel(){return this.column.totalsRowLabel}set totalsRowLabel(e){this._set(`totalsRowLabel`,e)}get totalsRowFunction(){return this.column.totalsRowFunction}set totalsRowFunction(e){this._set(`totalsRowFunction`,e)}get totalsRowResult(){return this.column.totalsRowResult}set totalsRowResult(e){this._set(`totalsRowResult`,e)}get totalsRowFormula(){return this.column.totalsRowFormula}set totalsRowFormula(e){this._set(`totalsRowFormula`,e)}},ue=class{constructor(e,t){this.worksheet=e,t&&(this.table=t,this.validate(),this.store())}getFormula(e){switch(e.totalsRowFunction){case`none`:return null;case`average`:return`SUBTOTAL(101,${this.table.name}[${e.name}])`;case`countNums`:return`SUBTOTAL(102,${this.table.name}[${e.name}])`;case`count`:return`SUBTOTAL(103,${this.table.name}[${e.name}])`;case`max`:return`SUBTOTAL(104,${this.table.name}[${e.name}])`;case`min`:return`SUBTOTAL(105,${this.table.name}[${e.name}])`;case`stdDev`:return`SUBTOTAL(106,${this.table.name}[${e.name}])`;case`var`:return`SUBTOTAL(107,${this.table.name}[${e.name}])`;case`sum`:return`SUBTOTAL(109,${this.table.name}[${e.name}])`;case`custom`:return e.totalsRowFormula||null;default:throw Error(`Invalid Totals Row Function: ${e.totalsRowFunction}`)}}get width(){return this.table.columns.length}get height(){return this.table.rows.length}get filterHeight(){return this.height+(this.table.headerRow?1:0)}get tableHeight(){return this.filterHeight+(this.table.totalsRow?1:0)}validate(){let{table:e}=this,n=(e,t,n)=>{e[t]===void 0&&(e[t]=n)};n(e,`headerRow`,!0),n(e,`totalsRow`,!1),n(e,`style`,{}),n(e.style,`theme`,`TableStyleMedium2`),n(e.style,`showFirstColumn`,!1),n(e.style,`showLastColumn`,!1),n(e.style,`showRowStripes`,!1),n(e.style,`showColumnStripes`,!1);let r=(e,t)=>{if(!e)throw Error(t)};r(!!e.ref,`Table must have ref`),r(!!e.columns,`Table must have column definitions`),r(!!e.rows,`Table must have row definitions`),e.tl=t.decodeAddress(e.ref);let{row:i,col:a}=e.tl;r(i>0,`Table must be on valid row`),r(a>0,`Table must be on valid col`);let{width:o,filterHeight:s,tableHeight:c}=this;e.autoFilterRef=t.encode(i,a,i+s-1,a+o-1),e.tableRef=t.encode(i,a,i+c-1,a+o-1),e.columns.forEach((e,t)=>{r(!!e.name,`Column ${t} must have a name`),t===0?n(e,`totalsRowLabel`,`Total`):(n(e,`totalsRowFunction`,`none`),e.totalsRowFormula=this.getFormula(e)||void 0)})}store(){let e=(e,t)=>{t&&Object.assign(e.style,t)},{worksheet:t,table:n}=this,{row:r,col:i}=n.tl,a=0;if(n.headerRow){let o=t.getRow(r+ a++);n.columns.forEach((t,n)=>{let{style:r,name:a}=t,s=o.getCell(i+n);s.value=a,e(s,r)})}if(n.rows.forEach(o=>{let s=t.getRow(r+ a++);o.forEach((t,r)=>{let a=s.getCell(i+r);a.value=t,e(a,n.columns[r].style)})}),n.totalsRow){let o=t.getRow(r+ a++);n.columns.forEach((t,n)=>{let r=o.getCell(i+n);n===0?r.value=t.totalsRowLabel:this.getFormula(t)?r.value={formula:t.totalsRowFormula,result:t.totalsRowResult}:r.value=null,e(r,t.style)})}}load(e){let{table:t}=this,{row:n,col:r}=t.tl,i=0;if(t.headerRow){let a=e.getRow(n+ i++);t.columns.forEach((e,t)=>{let n=a.getCell(r+t);n.value=e.name})}if(t.rows.forEach(t=>{let a=e.getRow(n+ i++);t.forEach((e,t)=>{let n=a.getCell(r+t);n.value=e})}),t.totalsRow){let a=e.getRow(n+ i++);t.columns.forEach((e,t)=>{let n=a.getCell(r+t);t===0?n.value=e.totalsRowLabel:this.getFormula(e)&&(n.value={formula:e.totalsRowFormula,result:e.totalsRowResult})})}}get model(){return this.table}set model(e){this.table=e}cacheState(){this._cache||={ref:this.ref,width:this.width,tableHeight:this.tableHeight}}commit(){if(!this._cache)return;this.validate();let e=t.decodeAddress(this._cache.ref);if(this.ref!==this._cache.ref)for(let t=0;t<this._cache.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}else{for(let t=this.tableHeight;t<this._cache.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=0;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}for(let t=0;t<this.tableHeight;t++){let n=this.worksheet.getRow(e.row+t);for(let t=this.width;t<this._cache.width;t++){let r=n.getCell(e.col+t);r.value=null}}}this.store()}addRow(e,t){this.cacheState(),t===void 0?this.table.rows.push(e):this.table.rows.splice(t,0,e)}removeRows(e,t=1){this.cacheState(),this.table.rows.splice(e,t)}getColumn(e){let t=this.table.columns[e];return new le(this,t,e)}addColumn(e,t,n){this.cacheState(),n===void 0?(this.table.columns.push(e),this.table.rows.forEach((e,n)=>{e.push(t[n])})):(this.table.columns.splice(n,0,e),this.table.rows.forEach((e,r)=>{e.splice(n,0,t[r])}))}removeColumns(e,t=1){this.cacheState(),this.table.columns.splice(e,t),this.table.rows.forEach(n=>{n.splice(e,t)})}_assign(e,t,n){this.cacheState(),e[t]=n}get ref(){return this.table.ref}set ref(e){this._assign(this.table,`ref`,e)}get name(){return this.table.name}set name(e){this.table.name=e}get displayName(){return this.table.displayName||this.table.name}set displayName(e){this.table.displayName=e}get headerRow(){return this.table.headerRow}set headerRow(e){this._assign(this.table,`headerRow`,e)}get totalsRow(){return this.table.totalsRow}set totalsRow(e){this._assign(this.table,`totalsRow`,e)}get theme(){return this.table.style.theme}set theme(e){this.table.style.theme=e}get showFirstColumn(){return this.table.style.showFirstColumn}set showFirstColumn(e){this.table.style.showFirstColumn=e}get showLastColumn(){return this.table.style.showLastColumn}set showLastColumn(e){this.table.style.showLastColumn=e}get showRowStripes(){return this.table.style.showRowStripes}set showRowStripes(e){this.table.style.showRowStripes=e}get showColumnStripes(){return this.table.style.showColumnStripes}set showColumnStripes(e){this.table.style.showColumnStripes=e}},de=class{constructor(e){this.model=e||{}}add(e,t){return this.model[e]=t}find(e){let n=this.model[e];if(n!==void 0)return n;let r=Object.keys(this.model).filter(e=>e.startsWith(`range:`));if(r.length===0)return;let i=t.decodeAddress(e);for(let e of r){let n=e.slice(6),r=t.decodeEx(n);if(r.dimensions){let t=r.tl,n=r.br;if(i.row>=t.row&&i.row<=n.row&&i.col>=t.col&&i.col<=n.col)return this.model[e]}}}remove(e){this.model[e]=void 0}};function fe(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function pe(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var me=class e extends Uint8Array{toString(e){return e===`base64`?fe(this):new TextDecoder().decode(this)}static from(t){let n=new e(t.length);return n.set(t),n}};function he(e){let t=new Uint8Array(e.length*2);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[n*2]=r&255,t[n*2+1]=r>>8&255}return t}function ge(...e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function _e(e){let t=new Uint8Array(4);return t[0]=e&255,t[1]=e>>8&255,t[2]=e>>16&255,t[3]=e>>24&255,t}const ve=new BigUint64Array([4794697086780616226n,8158064640168781261n,13096744586834688815n,16840607885511220148n,4131703408338449720n,6480981068601479193n,10538285296894168987n,12329834152419229976n,15566598209576043074n,1334009975649890238n,2608012711638119052n,6128411473006802146n,8268148722764581231n,9286055187155687089n,11230858885718282805n,13951009754708518548n,16472876342353939154n,17275323862435702243n,1135362057144423861n,2597628984639134821n,3308224258029322869n,5365058923640841347n,6679025012923562964n,8573033837759648693n,10970295158949994411n,12119686244451234320n,12683024718118986047n,13788192230050041572n,14330467153632333762n,15395433587784984357n,489312712824947311n,1452737877330783856n,2861767655752347644n,3322285676063803686n,5560940570517711597n,5996557281743188959n,7280758554555802590n,8532644243296465576n,9350256976987008742n,10552545826968843579n,11727347734174303076n,12113106623233404929n,14000437183269869457n,14369950271660146224n,15101387698204529176n,15463397548674623760n,17586052441742319658n,1182934255886127544n,1847814050463011016n,2177327727835720531n,2830643537854262169n,3796741975233480872n,4115178125766777443n,5681478168544905931n,6601373596472566643n,7507060721942968483n,8399075790359081724n,8693463985226723168n,9568029438360202098n,10144078919501101548n,10430055236837252648n,11840083180663258601n,13761210420658862357n,14299343276471374635n,14566680578165727644n,15097957966210449927n,16922976911328602910n,17689382322260857208n,500013540394364858n,748580250866718886n,1242879168328830382n,1977374033974150939n,2944078676154940804n,3659926193048069267n,4368137639120453308n,4836135668995329356n,5532061633213252278n,6448918945643986474n,6902733635092675308n,7801388544844847127n]),ye=new BigUint64Array([7640891576956012808n,13503953896175478587n,4354685564936845355n,11912009170470909681n,5840696475078001361n,11170449401992604703n,2270897969802886507n,6620516959819538809n]);function M(e,t){return(e>>BigInt(t)|e<<BigInt(64-t))&18446744073709551615n}function be(e){let t=e.length,n=BigInt(t*8),r=(128-(t+17)%128)%128,i=t+1+r+16,a=new Uint8Array(i);a.set(e),a[t]=128;let o=new DataView(a.buffer);o.setBigUint64(i-16,0n,!1),o.setBigUint64(i-8,n,!1);let s=new BigUint64Array(ye),c=new BigUint64Array(80);for(let e=0;e<i;e+=128){let t=new DataView(a.buffer,e,128);for(let e=0;e<16;e++)c[e]=t.getBigUint64(e*8,!1);for(let e=16;e<80;e++){let t=M(c[e-15],1)^M(c[e-15],8)^c[e-15]>>7n,n=M(c[e-2],19)^M(c[e-2],61)^c[e-2]>>6n;c[e]=c[e-16]+t+c[e-7]+n&18446744073709551615n}let n=s[0],r=s[1],i=s[2],o=s[3],l=s[4],u=s[5],d=s[6],f=s[7];for(let e=0;e<80;e++){let t=M(l,14)^M(l,18)^M(l,41),a=l&u^~l&d,s=f+t+a+ve[e]+c[e]&18446744073709551615n,p=(M(n,28)^M(n,34)^M(n,39))+(n&r^n&i^r&i)&18446744073709551615n;f=d,d=u,u=l,l=o+s&18446744073709551615n,o=i,i=r,r=n,n=s+p&18446744073709551615n}s[0]=s[0]+n&18446744073709551615n,s[1]=s[1]+r&18446744073709551615n,s[2]=s[2]+i&18446744073709551615n,s[3]=s[3]+o&18446744073709551615n,s[4]=s[4]+l&18446744073709551615n,s[5]=s[5]+u&18446744073709551615n,s[6]=s[6]+d&18446744073709551615n,s[7]=s[7]+f&18446744073709551615n}let l=new Uint8Array(64),u=new DataView(l.buffer);for(let e=0;e<8;e++)u.setBigUint64(e*8,s[e],!1);return l}const xe={hash(e,...t){let n=ge(...t);if(e.toLowerCase().replace(`-`,``)===`sha512`)return be(n);throw Error(`Hash algorithm '${e}' not supported in browser sync mode!`)},convertPasswordToHash(e,t,n,r){if(t.toLowerCase().replace(`-`,``)!==`sha512`)throw Error(`Hash algorithm '${t}' not supported in browser!`);let i=he(e),a=pe(n),o=this.hash(t,a,i);for(let e=0;e<r;e++){let n=_e(e);o=this.hash(t,o,n)}return fe(o)},randomBytes(e){let t=new me(e);return crypto.getRandomValues(t),t}};function Se(e,t){return 25569+e.getTime()/(24*3600*1e3)-(t?1462:0)}function Ce(e,t){let n=Math.round((e-25569+(t?1462:0))*24*3600*1e3);return new Date(n)}const we={lt:`<`,gt:`>`,amp:`&`,quot:`"`,apos:`'`};function Te(e){return e.replace(/&(#\d+|#x[0-9A-Fa-f]+|\w+);/g,(e,t)=>{if(t[0]===`#`){let e=t[1]===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1));return String.fromCodePoint(e)}return we[t]||e})}function Ee(e){let t=typeof e==`number`?e:parseInt(e,10);return Number.isNaN(t)?0:t}function De(e){if(!e||e.indexOf(`@`)>-1)return!1;let t=e.replace(/\[[^\]]*]/g,``);return t=t.replace(/"[^"]*"/g,``),t.match(/[ymdhMsb]+/)!==null}function N(e){return e===!0||e===`true`||e===1||e===`1`}function*Oe(e,t,n=1){let r=n>0?(e,t)=>e<t:(e,t)=>e>t;for(let i=e;r(i,t);i+=n)yield i}function ke(e){let t=Array.from(e);return t.every(e=>Number.isFinite(e))?t.sort((e,t)=>e-t):t.sort()}const Ae=new TextDecoder(`utf-8`);function je(e){return typeof e==`string`?e:Ae.decode(e)}const Me={"<":`&lt;`,">":`&gt;`,"&":`&amp;`,'"':`&quot;`,"'":`&apos;`};function Ne(e){let t=e.replace(/[<>&"']/g,e=>Me[e]||e);return t=t.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\uFFFE\uFFFF]/g,e=>`&#x${e.charCodeAt(0).toString(16).toUpperCase()};`),t=t.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,()=>`�`),t}function Pe(e){let n=e.model;if(n.headerRow===!1)throw Error(`Cannot create pivot table from a table without headers. Set headerRow: true on the table.`);if(!n.rows||n.rows.length===0)throw Error(`Cannot create pivot table from an empty table. Add data rows to the table.`);let r=n.columns.map(e=>e.name),i=new Set;for(let e of r){if(i.has(e))throw Error(`Duplicate column name "${e}" found in table. Pivot tables require unique column names.`);i.add(e)}let a=[void 0,...r],o=n.rows.map(e=>[void 0,...e]),s=n.tl,c=s.row,l=s.col,u=c+n.rows.length,d=l+r.length-1,f=t.encode(c,l,u,d);return{name:e.worksheet.name,getRow(e){if(e===1)return{values:a};let t=e-2;return t>=0&&t<o.length?{values:o[t]}:{values:[]}},getColumn(e){if(e<1||e>r.length)return{values:[]};let t=[];t[1]=r[e-1];for(let r=0;r<n.rows.length;r++)t[r+2]=n.rows[r][e-1];return{values:t}},getSheetValues(){let e=[];e[1]=a;for(let t=0;t<o.length;t++)e[t+2]=o[t];return e},dimensions:{shortRange:f}}}function Fe(e){return e.sourceTable?Pe(e.sourceTable):e.sourceSheet}function Ie(e,t){if(!t.sourceSheet&&!t.sourceTable)throw Error(`Either sourceSheet or sourceTable must be provided.`);if(t.sourceSheet&&t.sourceTable)throw Error(`Cannot specify both sourceSheet and sourceTable. Choose one.`);let n=Fe(t);Le(e,t,n);let{rows:r,values:i}=t,a=t.columns??[],o=Re(n,[...r,...a],i),s=o.reduce((e,t,n)=>(e[t.name]=n,e),{}),c=r.map(e=>s[e]),l=a.map(e=>s[e]),u=i.map(e=>s[e]),d=e.workbook.pivotTables.length+1;return{source:n,rows:c,columns:l,values:u,metric:t.metric??`sum`,cacheFields:o,cacheId:String(10+d-1),applyWidthHeightFormats:t.applyWidthHeightFormats??`1`,tableNumber:d}}function Le(e,t,n){if(t.metric&&t.metric!==`sum`&&t.metric!==`count`)throw Error(`Only the "sum" and "count" metrics are supported at this time.`);let r=t.columns??[],i=n.getRow(1).values.slice(1),a=new Set(i);for(let e of[...t.rows,...r,...t.values])if(!a.has(e))throw Error(`The header name "${e}" was not found in ${n.name}.`);if(!t.rows.length)throw Error(`No pivot table rows specified.`);if(t.values.length<1)throw Error(`Must have at least one value.`);if(t.values.length>1&&r.length>0)throw Error(`It is currently not possible to have multiple values when columns are specified. Please either supply an empty array for columns or a single value.`)}function Re(e,t,n){let r=e.getRow(1).values,i=new Set(t),a=new Set(n),o=t=>{let n=e.getColumn(t).values,r=new Set;for(let e=2;e<n.length;e++){let t=n[e];t!=null&&r.add(t)}return ke(r)},s=t=>{let n=e.getColumn(t).values,r=1/0,i=-1/0,a=!1;for(let e=2;e<n.length;e++){let t=n[e];typeof t==`number`&&!isNaN(t)&&(a=!0,t<r&&(r=t),t>i&&(i=t))}return a?{minValue:r,maxValue:i}:null},c=[];for(let e of Oe(1,r.length)){let t=r[e];if(i.has(t))c.push({name:t,sharedItems:o(e)});else if(a.has(t)){let n=s(e);c.push({name:t,sharedItems:null,minValue:n?.minValue,maxValue:n?.maxValue})}else c.push({name:t,sharedItems:null})}return c}const ze=(e,t)=>({...e,...t.reduce((t,n)=>(e[n]&&(t[n]={...e[n]}),t),{})}),P=(e,t,n,r=[])=>{e[n]&&(t[n]=ze(e[n],r))},Be=e=>Object.keys(e).length===0,Ve=e=>{if(!e)return e;if(Be(e))return{};let t={...e};return P(e,t,`font`,[`color`]),P(e,t,`alignment`),P(e,t,`protection`),e.border&&(P(e,t,`border`),P(e.border,t.border,`top`,[`color`]),P(e.border,t.border,`left`,[`color`]),P(e.border,t.border,`bottom`,[`color`]),P(e.border,t.border,`right`,[`color`]),P(e.border,t.border,`diagonal`,[`color`])),e.fill&&(P(e,t,`fill`,[`fgColor`,`bgColor`,`center`]),e.fill.stops&&(t.fill.stops=e.fill.stops.map(e=>ze(e,[`color`])))),t};var He=class{constructor(e){e||={},this._workbook=e.workbook,this.id=e.id||0,this.orderNo=e.orderNo||0,this.name=e.name||`sheet${this.id}`,this.state=e.state||`visible`,this._rows=[],this._columns=null,this._keys={},this._merges={},this.rowBreaks=[],this.colBreaks=[],this.properties=Object.assign({},{defaultRowHeight:15,outlineLevelCol:0,outlineLevelRow:0},e.properties),this.pageSetup=Object.assign({},{margins:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3},orientation:`portrait`,horizontalDpi:4294967295,verticalDpi:4294967295,fitToPage:!!(e.pageSetup&&(e.pageSetup.fitToWidth||e.pageSetup.fitToHeight)&&!e.pageSetup.scale),pageOrder:`downThenOver`,blackAndWhite:!1,draft:!1,cellComments:`None`,errors:`displayed`,scale:100,fitToWidth:1,fitToHeight:1,paperSize:void 0,showRowColHeaders:!1,showGridLines:!1,firstPageNumber:void 0,horizontalCentered:!1,verticalCentered:!1,rowBreaks:null,colBreaks:null},e.pageSetup),this.headerFooter=Object.assign({},{differentFirst:!1,differentOddEven:!1,oddHeader:null,oddFooter:null,evenHeader:null,evenFooter:null,firstHeader:null,firstFooter:null},e.headerFooter),this.dataValidations=new de,this.views=e.views||[],this.autoFilter=e.autoFilter||null,this._media=[],this.sheetProtection=null,this.tables={},this.pivotTables=[],this.conditionalFormattings=[]}get name(){return this._name}set name(e){if(e===void 0&&(e=`sheet${this.id}`),this._name!==e){if(typeof e!=`string`)throw Error(`The name has to be a string.`);if(e===``)throw Error(`The name can't be empty.`);if(e===`History`)throw Error(`The name "History" is protected. Please use a different name.`);if(/[*?:/\\[\]]/.test(e))throw Error(`Worksheet name ${e} cannot include any of the following characters: * ? : \\ / [ ]`);if(/(^')|('$)/.test(e))throw Error(`The first or last character of worksheet name cannot be a single quotation mark: ${e}`);if(e&&e.length>31&&(e=e.substring(0,31)),this._workbook.worksheets.find(t=>t&&t.name.toLowerCase()===e.toLowerCase()))throw Error(`Worksheet name already exists: ${e}`);this._name=e}}get workbook(){return this._workbook}destroy(){this._workbook.removeWorksheetEx(this)}get dimensions(){let e=new n;return this._rows.forEach(t=>{if(t){let n=t.dimensions;n&&e.expand(t.number,n.min,t.number,n.max)}}),e}get columns(){return this._columns}set columns(e){this._headerRowCount=e.reduce((e,t)=>{let n=Array.isArray(t.header)?t.header.length:t.header?1:0;return Math.max(e,n)},0);let t=1,n=this._columns=[];e.forEach(e=>{let r=new j(this,t++,!1);n.push(r),r.defn=e})}getColumnKey(e){return this._keys[e]}setColumnKey(e,t){this._keys[e]=t}deleteColumnKey(e){delete this._keys[e]}eachColumnKey(e){Object.keys(this._keys).forEach(t=>e(this._keys[t],t))}getColumn(e){let n;if(typeof e==`string`){let r=this._keys[e];if(r)return r;n=t.l2n(e)}else n=e;if(this._columns||=[],n>this._columns.length){let e=this._columns.length+1;for(;e<=n;)this._columns.push(new j(this,e++))}return this._columns[n-1]}spliceColumns(e,t,...n){let r=this._rows.length;if(n.length>0)for(let i=0;i<r;i++){let r=n.map(e=>e[i]||null);this.getRow(i+1).splice(e,t,...r)}else this._rows.forEach(n=>{n&&n.splice(e,t)});let i=n.length-t,a=e+t,o=this._columns?this._columns.length:0;if(i<0)for(let t=e+n.length;t<=o;t++)this.getColumn(t).defn=this.getColumn(t-i).defn;else if(i>0)for(let e=o;e>=a;e--)this.getColumn(e+i).defn=this.getColumn(e).defn;for(let t=e;t<e+n.length;t++)this.getColumn(t).defn=void 0;this.workbook.definedNames.spliceColumns(this.name,e,t,n.length)}get lastColumn(){return this.getColumn(this.columnCount)}get columnCount(){let e=0;return this.eachRow(t=>{e=Math.max(e,t.cellCount)}),e}get actualColumnCount(){let e=[],t=0;return this.eachRow(n=>{n.eachCell(({col:n})=>{e[n]||(e[n]=!0,t++)})}),t}_commitRow(e){}get _lastRowNumber(){let e=this._rows,t=e.length;for(;t>0&&e[t-1]===void 0;)t--;return t}get _nextRow(){return this._lastRowNumber+1}get lastRow(){if(this._rows.length)return this._rows[this._rows.length-1]}findRow(e){return this._rows[e-1]}findRows(e,t){return this._rows.slice(e-1,e-1+t)}get rowCount(){return this._lastRowNumber}get actualRowCount(){let e=0;return this.eachRow(()=>{e++}),e}getRow(e){let t=this._rows[e-1];return t||=this._rows[e-1]=new A(this,e),t}getRows(e,t){if(t<1)return;let n=[];for(let r=e;r<e+t;r++)n.push(this.getRow(r));return n}addRow(e,t=`n`){let n=this._nextRow,r=this.getRow(n);return r.values=e,this._setStyleOption(n,t[0]===`i`?t:`n`),r}addRows(e,t=`n`){let n=[];return e.forEach(e=>{n.push(this.addRow(e,t))}),n}insertRow(e,t,n=`n`){return this.spliceRows(e,0,t),this._setStyleOption(e,n),this.getRow(e)}insertRows(e,t,n=`n`){if(this.spliceRows(e,0,...t),n!==`n`)for(let r=0;r<t.length;r++)n[0]===`o`&&this.findRow(t.length+e+r)!==void 0?this._copyStyle(t.length+e+r,e+r,n[1]===`+`):n[0]===`i`&&this.findRow(e-1)!==void 0&&this._copyStyle(e-1,e+r,n[1]===`+`);return this.getRows(e,t.length)}_setStyleOption(e,t=`n`){t[0]===`o`&&this.findRow(e+1)!==void 0?this._copyStyle(e+1,e,t[1]===`+`):t[0]===`i`&&this.findRow(e-1)!==void 0&&this._copyStyle(e-1,e,t[1]===`+`)}_copyStyle(e,t,n=!1){let r=this.getRow(e),i=this.getRow(t);i.style=Ve(r.style),r.eachCell({includeEmpty:n},(e,t)=>{i.getCell(t).style=Ve(e.style)}),i.height=r.height}duplicateRow(e,t,n=!1){let r=this._rows[e-1],i=Array.from({length:t}).fill(r.values);this.spliceRows(e+1,n?0:t,...i);for(let n=0;n<t;n++){let t=this._rows[e+n];t.style=r.style,t.height=r.height,r.eachCell({includeEmpty:!0},(e,n)=>{t.getCell(n).style=e.style})}}spliceRows(e,t,...n){let r=e+t,i=n.length,a=i-t,o=this._rows.length,s,c;if(a<0)for(e===o&&(this._rows[o-1]=void 0),s=r;s<=o;s++)if(c=this._rows[s-1],c){let e=this.getRow(s+a);e.values=c.values,e.style=c.style,e.height=c.height,c.eachCell({includeEmpty:!0},(t,n)=>{e.getCell(n).style=t.style}),this._rows[s-1]=void 0}else this._rows[s+a-1]=void 0;else if(a>0)for(s=o;s>=r;s--)if(c=this._rows[s-1],c){let e=this.getRow(s+a);e.values=c.values,e.style=c.style,e.height=c.height,c.eachCell({includeEmpty:!0},(t,n)=>{if(e.getCell(n).style=t.style,t.type===l.ValueType.Merge){let e=this.getRow(t.row+i).getCell(n),r=t.master,a=this.getRow(r.row+i).getCell(r.col);e.merge(a)}})}else this._rows[s+a-1]=void 0;for(s=0;s<i;s++){let t=this.getRow(e+s);t.style={},t.values=n[s]}this.workbook.definedNames.spliceRows(this.name,e,t,i)}eachRow(e,t){let n,r;if(typeof e==`function`?r=e:(n=e,r=t),n&&n.includeEmpty){let e=this._rows.length;for(let t=1;t<=e;t++)r(this.getRow(t),t)}else this._rows.forEach(e=>{e&&e.hasValues&&r(e,e.number)})}getSheetValues(){let e=[];return this._rows.forEach(t=>{t&&(e[t.number]=t.values)}),e}findCell(e,n){let r=t.getAddress(e,n),i=this._rows[r.row-1];return i?i.findCell(r.col):void 0}getCell(e,n){let r=t.getAddress(e,n);return this.getRow(r.row).getCellEx(r)}mergeCells(...e){let t=new n(e);this._mergeCellsInternal(t)}mergeCellsWithoutStyle(...e){let t=new n(e);this._mergeCellsInternal(t,!0)}_mergeCellsInternal(e,t){Object.values(this._merges).forEach(t=>{if(t.intersects(e))throw Error(`Cannot merge already merged cells`)});let n=this.getCell(e.top,e.left);for(let r=e.top;r<=e.bottom;r++)for(let i=e.left;i<=e.right;i++)(r>e.top||i>e.left)&&this.getCell(r,i).merge(n,t);this._merges[n.address]=e}_unMergeMaster(e){let t=this._merges[e.address];if(t){for(let e=t.top;e<=t.bottom;e++)for(let n=t.left;n<=t.right;n++)this.getCell(e,n).unmerge();delete this._merges[e.address]}}get hasMerges(){return Object.values(this._merges).some(Boolean)}unMergeCells(...e){let t=new n(e);for(let e=t.top;e<=t.bottom;e++)for(let n=t.left;n<=t.right;n++){let t=this.findCell(e,n);t&&(t.type===l.ValueType.Merge?this._unMergeMaster(t.master):this._merges[t.address]&&this._unMergeMaster(t))}}fillFormula(e,n,r,i=`shared`){let{top:a,left:o,bottom:s,right:c}=t.decode(e),l=c-o+1,u=t.encodeAddress(a,o),d=i===`shared`,f;f=typeof r==`function`?r:Array.isArray(r)?Array.isArray(r[0])?(e,t)=>r[e-a][t-o]:(e,t)=>r[(e-a)*l+(t-o)]:()=>void 0;let p=!0;for(let t=a;t<=s;t++)for(let r=o;r<=c;r++)if(p){let a=this.getCell(t,r);a.value={shareType:i,formula:n,ref:e,result:f(t,r)},p=!1}else this.getCell(t,r).value=d?{sharedFormula:u,result:f(t,r)}:f(t,r)}addImage(e,t){let n={type:`image`,imageId:String(e),range:t};this._media.push(new ce(this,n))}getImages(){return this._media.filter(e=>e.type===`image`)}addBackgroundImage(e){let t={type:`background`,imageId:String(e)};this._media.push(new ce(this,t))}getBackgroundImageId(){let e=this._media.find(e=>e.type===`background`);return e&&e.imageId}protect(e,t){return new Promise(n=>{this.sheetProtection={sheet:!0},t&&`spinCount`in t&&(t.spinCount=Number.isFinite(t.spinCount)?Math.round(Math.max(0,t.spinCount)):1e5),e&&(this.sheetProtection.algorithmName=`SHA-512`,this.sheetProtection.saltValue=xe.randomBytes(16).toString(`base64`),this.sheetProtection.spinCount=t&&`spinCount`in t?t.spinCount:1e5,this.sheetProtection.hashValue=xe.convertPasswordToHash(e,`SHA512`,this.sheetProtection.saltValue,this.sheetProtection.spinCount)),t&&(this.sheetProtection=Object.assign(this.sheetProtection,t),!e&&`spinCount`in t&&delete this.sheetProtection.spinCount),n()})}unprotect(){this.sheetProtection=null}addTable(e){let t=new ue(this,e);return this.tables[e.name]=t,t}getTable(e){return this.tables[e]}removeTable(e){delete this.tables[e]}getTables(){return Object.values(this.tables)}addPivotTable(e){let t=Ie(this,e);return this.pivotTables.push(t),this.workbook.pivotTables.push(t),t}addConditionalFormatting(e){this.conditionalFormattings.push(e)}removeConditionalFormatting(e){typeof e==`number`?this.conditionalFormattings.splice(e,1):e instanceof Function?this.conditionalFormattings=this.conditionalFormattings.filter(e):this.conditionalFormattings=[]}get model(){let e={id:this.id,name:this.name,dataValidations:this.dataValidations.model,properties:this.properties,state:this.state,pageSetup:this.pageSetup,headerFooter:this.headerFooter,rowBreaks:this.rowBreaks,colBreaks:this.colBreaks,views:this.views,autoFilter:this.autoFilter,media:this._media.map(e=>e.model),sheetProtection:this.sheetProtection,tables:Object.values(this.tables).map(e=>e.model),pivotTables:this.pivotTables,conditionalFormattings:this.conditionalFormattings};e.cols=j.toModel(this.columns||[]);let t=e.rows=[],r=e.dimensions=new n;return this._rows.forEach(e=>{let n=e&&e.model;n&&(r.expand(n.number,n.min,n.number,n.max),t.push(n))}),e.merges=[],Object.values(this._merges).forEach(t=>{e.merges.push(t.range)}),e}_parseRows(e){this._rows=[],e.rows&&e.rows.forEach(e=>{let t=new A(this,e.number);this._rows[t.number-1]=t,t.model=e})}_parseMergeCells(e){e.mergeCells&&e.mergeCells.forEach(e=>{this.mergeCellsWithoutStyle(e)})}set model(e){this.name=e.name,this._columns=j.fromModel(this,e.cols),this._parseRows(e),this._parseMergeCells(e),this.dataValidations=new de(e.dataValidations),this.properties=e.properties,this.pageSetup=e.pageSetup,this.headerFooter=e.headerFooter,this.rowBreaks=e.rowBreaks||[],this.colBreaks=e.colBreaks||[],this.views=e.views,this.autoFilter=e.autoFilter,this._media=e.media.map(e=>new ce(this,e)),this.sheetProtection=e.sheetProtection,this.tables=e.tables.reduce((e,t)=>{let n=new ue(this,t);return n.model=t,e[t.name]=n,e},{}),this.pivotTables=e.pivotTables,this.conditionalFormattings=e.conditionalFormattings}};function Ue(e){return typeof e==`number`?!0:e!==`__proto__`&&e!==`constructor`&&e!==`prototype`}function We(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>We(e));let t={};for(let n of Object.keys(e))Ue(n)&&(t[n]=We(e[n]));return t}var Ge=class{constructor(e){this.template=e,this.sheets={}}addCell(e){this.addCellEx(t.decodeEx(e))}getCell(e){return this.findCellEx(t.decodeEx(e),!0)}findCell(e){return this.findCellEx(t.decodeEx(e),!1)}findCellAt(e,t,n){let r=this.sheets[e],i=r&&r[t];return i&&i[n]}addCellEx(e){if(e.top!==void 0)for(let t=e.top;t<=e.bottom;t++)for(let n=e.left;n<=e.right;n++)this.getCellAt(e.sheetName,t,n);else this.findCellEx(e,!0)}getCellEx(e){return this.findCellEx(e,!0)}findCellEx(e,t){let n=this.findSheet(e,t),r=this.findSheetRow(n,e,t);return this.findRowCell(r,e,t)}getCellAt(e,n,r){if(!Ue(e))throw Error(`Invalid sheet name: ${e}`);let i=this.sheets[e]||(this.sheets[e]=[]),a=i[n]||(i[n]=[]);return a[r]||(a[r]={sheetName:e,address:t.n2l(r)+n,row:n,col:r})}removeCellEx(e){let t=this.findSheet(e,!1);if(!t)return;let n=this.findSheetRow(t,e,!1);n&&delete n[e.col]}forEachInSheet(e,t){let n=this.sheets[e];n&&n.forEach((e,n)=>{e&&e.forEach((e,r)=>{e&&t(e,n,r)})})}forEach(e){Object.keys(this.sheets).forEach(t=>{this.forEachInSheet(t,e)})}map(e){let t=[];return this.forEach(n=>{t.push(e(n))}),t}findSheet(e,t){let n=e.sheetName;if(!Ue(n))throw Error(`Invalid sheet name: ${n}`);if(Object.prototype.hasOwnProperty.call(this.sheets,n))return this.sheets[n];if(t)return this.sheets[n]=[]}findSheetRow(e,t,n){let{row:r}=t;if(!Ue(r))throw Error(`Invalid row: ${r}`);if(e&&e[r])return e[r];if(n)return e[r]=[]}findRowCell(e,t,n){let{col:r}=t;if(!Ue(r))throw Error(`Invalid column: ${r}`);if(e&&e[r])return e[r];if(n)return e[r]=this.template?{...t,...We(this.template)}:t}spliceRows(e,t,n,r){let i=this.sheets[e];if(i){let e=[];for(let t=0;t<r;t++)e.push([]);i.splice(t,n,...e)}}spliceColumns(e,t,n,r){let i=this.sheets[e];if(i){let e=[];for(let t=0;t<r;t++)e.push(null);Object.values(i).forEach(r=>{r.splice(t,n,...e)})}}};const Ke=/[$](\w+)[$](\d+)(:[$](\w+)[$](\d+))?/;var qe=class{constructor(){this.matrixMap={}}getMatrix(e){return this.matrixMap[e]||(this.matrixMap[e]=new Ge)}add(e,n){let r=t.decodeEx(e);`error`in r||this.addEx(r,n)}addEx(e,n){let r=this.getMatrix(n);if(`top`in e)for(let n=e.left;n<=e.right;n++)for(let i=e.top;i<=e.bottom;i++){let a={sheetName:e.sheetName,address:t.n2l(n)+i,row:i,col:n};r.addCellEx(a)}else r.addCellEx(e)}remove(e,n){let r=t.decodeEx(e);`error`in r||this.removeEx(r,n)}removeEx(e,n){let r=this.getMatrix(n);if(`top`in e)for(let n=e.left;n<=e.right;n++)for(let i=e.top;i<=e.bottom;i++)r.removeCellEx({sheetName:e.sheetName,address:t.n2l(n)+i,row:i,col:n});else r.removeCellEx(e)}removeAllNames(e){Object.values(this.matrixMap).forEach(n=>{if(`top`in e)for(let r=e.left;r<=e.right;r++)for(let i=e.top;i<=e.bottom;i++)n.removeCellEx({sheetName:e.sheetName,address:t.n2l(r)+i,row:i,col:r});else n.removeCellEx(e)})}forEach(e){Object.entries(this.matrixMap).forEach(([t,n])=>{n.forEach(n=>{e(t,n)})})}getNames(e){let n=t.decodeEx(e);return`error`in n||`top`in n?[]:this.getNamesEx(n)}getNamesEx(e){return Object.entries(this.matrixMap).map(([t,n])=>n.findCellEx(e,!1)&&t).filter(e=>!!e)}_explore(e,t){t.mark=!1;let{sheetName:r}=t,i=new n(t.row,t.col,t.row,t.col,r),a,o,s=(t,n)=>e.findCellAt(r,t,n);function c(e,n){let r=s(e,t.col);return!r||!r.mark?!1:(i[n]=e,r.mark=!1,!0)}for(o=t.row-1;c(o,`top`);o--);for(o=t.row+1;c(o,`bottom`);o++);function l(e,t){let n=[];for(o=i.top;o<=i.bottom;o++){let t=s(o,e);if(t&&t.mark)n.push(t);else return!1}i[t]=e;for(let e=0;e<n.length;e++)n[e].mark=!1;return!0}for(a=t.col-1;l(a,`left`);a--);for(a=t.col+1;l(a,`right`);a++);return i}getRanges(e,t){return t||=this.matrixMap[e],t?(t.forEach(e=>{e.mark=!0}),{name:e,ranges:t.map(e=>e.mark&&this._explore(t,e)).filter(Boolean).map(e=>e.$shortRange)}):{name:e,ranges:[]}}normaliseMatrix(e,n){e.forEachInSheet(n,(e,n,r)=>{e&&(e.row!==n||e.col!==r)&&(e.row=n,e.col=r,e.address=t.n2l(r)+n)})}spliceRows(e,t,n,r){Object.values(this.matrixMap).forEach(i=>{i.spliceRows(e,t,n,r),this.normaliseMatrix(i,e)})}spliceColumns(e,t,n,r){Object.values(this.matrixMap).forEach(i=>{i.spliceColumns(e,t,n,r),this.normaliseMatrix(i,e)})}get model(){return Object.entries(this.matrixMap).map(([e,t])=>this.getRanges(e,t)).filter(e=>e.ranges.length)}set model(e){let t=this.matrixMap={};e.forEach(e=>{let n=t[e.name]=new Ge;e.ranges.forEach(e=>{Ke.test(e.split(`!`).pop()||``)&&n.addCell(e)})})}},Je=class{constructor(){this.category=``,this.company=``,this.created=new Date,this.description=``,this.keywords=``,this.manager=``,this.modified=this.created,this.properties={},this.calcProperties={},this._worksheets=[],this.subject=``,this.title=``,this.views=[],this.media=[],this.pivotTables=[],this._definedNames=new qe}get nextId(){for(let e=1;e<this._worksheets.length;e++)if(!this._worksheets[e])return e;return this._worksheets.length||1}addWorksheet(e,t){let n=this.nextId,r=this._worksheets.reduce((e,t)=>(t&&t.orderNo)>e?t.orderNo:e,0),i=new He({...t,id:n,name:e,orderNo:r+1,workbook:this});return this._worksheets[n]=i,i}removeWorksheetEx(e){delete this._worksheets[e.id]}removeWorksheet(e){let t=this.getWorksheet(e);t&&t.destroy()}getWorksheet(e){if(e===void 0)return this._worksheets.find(Boolean);if(typeof e==`number`)return this._worksheets[e];if(typeof e==`string`)return this._worksheets.find(t=>t&&t.name===e)}get worksheets(){return this._worksheets.slice(1).sort((e,t)=>e.orderNo-t.orderNo).filter(Boolean)}eachSheet(e){this.worksheets.forEach(t=>{e(t,t.id)})}get definedNames(){return this._definedNames}clearThemes(){this._themes=void 0}addImage(e){let t=this.media.length;return this.media.push({...e,type:`image`}),t}getImage(e){return this.media[Number(e)]}get model(){return{creator:this.creator||`Unknown`,lastModifiedBy:this.lastModifiedBy||`Unknown`,lastPrinted:this.lastPrinted,created:this.created,modified:this.modified,properties:this.properties,worksheets:this.worksheets.map(e=>e.model),sheets:this.worksheets.map(e=>e.model).filter(Boolean),definedNames:this._definedNames.model,views:this.views,company:this.company,manager:this.manager,title:this.title,subject:this.subject,keywords:this.keywords,category:this.category,description:this.description,language:this.language,revision:this.revision,contentStatus:this.contentStatus,themes:this._themes,media:this.media,pivotTables:this.pivotTables,calcProperties:this.calcProperties}}set model(e){this.creator=e.creator,this.lastModifiedBy=e.lastModifiedBy,this.lastPrinted=e.lastPrinted,this.created=e.created,this.modified=e.modified,this.company=e.company,this.manager=e.manager,this.title=e.title,this.subject=e.subject,this.keywords=e.keywords,this.category=e.category,this.description=e.description,this.language=e.language,this.revision=e.revision,this.contentStatus=e.contentStatus,this.properties=e.properties,this.calcProperties=e.calcProperties,this._worksheets=[],e.worksheets.forEach(t=>{let{id:n,name:r,state:i}=t,a=e.sheets&&e.sheets.findIndex(e=>e.id===n),o=this._worksheets[n]=new He({id:n,name:r,orderNo:a===-1?void 0:a,state:i,workbook:this});o.model=t}),this._definedNames.model=e.definedNames,this.views=e.views,this._themes=e.themes,this.media=e.media||[],this.pivotTables=e.pivotTables||e.loadedPivotTables||[]}};async function Ye(e){let t=new CompressionStream(`deflate-raw`),n=t.writable.getWriter(),r=t.readable.getReader();n.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),n.close();let i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return o}async function Xe(e){let t=new DecompressionStream(`deflate-raw`),n=t.writable.getWriter(),r=t.readable.getReader();n.write(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),n.close();let i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return o}const Ze=new Uint8Array(288);for(let e=0;e<=143;e++)Ze[e]=8;for(let e=144;e<=255;e++)Ze[e]=9;for(let e=256;e<=279;e++)Ze[e]=7;for(let e=280;e<=287;e++)Ze[e]=8;const Qe=new Uint8Array(32).fill(5),$e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],nt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function it(e,t){let n=new Uint16Array(16);for(let r=0;r<t;r++)e[r]>0&&n[e[r]]++;let r=new Uint16Array(16),i=0;for(let e=1;e<=15;e++)i=i+n[e-1]<<1,r[e]=i;let a={};for(let n=0;n<t;n++){let t=e[n];if(t===0)continue;i=r[t]++;let o=a;for(let e=t-1;e>=0;e--)i>>e&1?(o.right||={},o=o.right):(o.left||={},o=o.left);o.symbol=n}return a}var at=class{constructor(e){this.data=e,this.pos=0,this.bitBuf=0,this.bitCount=0}readBits(e){for(;this.bitCount<e;){if(this.pos>=this.data.length)throw Error(`Unexpected end of DEFLATE data`);this.bitBuf|=this.data[this.pos++]<<this.bitCount,this.bitCount+=8}let t=this.bitBuf&(1<<e)-1;return this.bitBuf>>=e,this.bitCount-=e,t}decodeSymbol(e){let t=e;for(;t.symbol===void 0;)if(t=this.readBits(1)===0?t.left:t.right,!t)throw Error(`Invalid Huffman code`);return t.symbol}alignToByte(){this.bitBuf=0,this.bitCount=0}readByte(){if(this.pos>=this.data.length)throw Error(`Unexpected end of data`);return this.data[this.pos++]}readUint16(){return this.readByte()|this.readByte()<<8}};function ot(e){let t=new at(e),n=[],r=!1;for(;!r;){r=t.readBits(1)===1;let e=t.readBits(2);if(e===0){t.alignToByte();let e=t.readUint16();if((e^t.readUint16())!==65535)throw Error(`Invalid stored block length`);for(let r=0;r<e;r++)n.push(t.readByte())}else if(e===1||e===2){let r,i;if(e===1)r=it(Ze,288),i=it(Qe,32);else{let e=t.readBits(5)+257,n=t.readBits(5)+1,a=t.readBits(4)+4,o=new Uint8Array(19);for(let e=0;e<a;e++)o[rt[e]]=t.readBits(3);let s=it(o,19),c=new Uint8Array(e+n),l=0;for(;l<e+n;){let e=t.decodeSymbol(s);if(e<16)c[l++]=e;else if(e===16){let e=t.readBits(2)+3,n=c[l-1];for(let t=0;t<e;t++)c[l++]=n}else if(e===17){let e=t.readBits(3)+3;for(let t=0;t<e;t++)c[l++]=0}else if(e===18){let e=t.readBits(7)+11;for(let t=0;t<e;t++)c[l++]=0}}r=it(c.subarray(0,e),e),i=it(c.subarray(e),n)}for(;;){let e=t.decodeSymbol(r);if(e<256)n.push(e);else if(e===256)break;else{let r=e-257,a=$e[r]+t.readBits(et[r]),o=t.decodeSymbol(i),s=tt[o]+t.readBits(nt[o]),c=n.length-s;for(let e=0;e<a;e++)n.push(n[c+e])}}}else throw Error(`Invalid DEFLATE block type: `+e)}return new Uint8Array(n)}function st(e){let t=65535,n=Math.ceil(e.length/t)||1,r=n*5+e.length,i=new Uint8Array(r),a=0,o=0;for(let r=0;r<n;r++){let s=r===n-1,c=Math.min(t,e.length-o);i[a++]=s?1:0,i[a++]=c&255,i[a++]=c>>8&255,i[a++]=~c&255,i[a++]=~c>>8&255,i.set(e.subarray(o,o+c),a),a+=c,o+=c}return i.subarray(0,a)}function ct(e){if(e.length===0)return new Uint8Array([3,0]);if(e.length<100)return st(e);let t=new lt;t.writeBits(1,1),t.writeBits(1,2);let n=new Map,r=0;for(;r<e.length;){let i=0,a=0;if(r+2<e.length){let t=e[r]<<16|e[r+1]<<8|e[r+2],o=n.get(t);if(o!==void 0&&r-o<=32768){let t=r-o,n=0,s=Math.min(258,e.length-r);for(;n<s&&e[o+n]===e[r+n];)n++;n>=3&&(i=n,a=t)}n.set(t,r)}i>=3?(pt(t,i),mt(t,a),r+=i):(ft(t,e[r]),r++)}return ft(t,256),t.finish()}var lt=class{constructor(){this.chunks=[],this.buffer=[],this.bitBuf=0,this.bitCount=0}writeBits(e,t){for(this.bitBuf|=e<<this.bitCount,this.bitCount+=t;this.bitCount>=8;)this.buffer.push(this.bitBuf&255),this.bitBuf>>=8,this.bitCount-=8,this.buffer.length>=65536&&(this.chunks.push(new Uint8Array(this.buffer)),this.buffer=[])}writeBitsReverse(e,t){let n=0;for(let r=0;r<t;r++)n=n<<1|e>>r&1;this.writeBits(n,t)}finish(){if(this.bitCount>0&&this.buffer.push(this.bitBuf&255),this.chunks.length===0)return new Uint8Array(this.buffer);this.chunks.push(new Uint8Array(this.buffer));let e=this.chunks.reduce((e,t)=>e+t.length,0),t=new Uint8Array(e),n=0;for(let e of this.chunks)t.set(e,n),n+=e.length;return t}};const ut=[],dt=[];for(let e=0;e<=287;e++){let t,n;e<=143?(t=48+e,n=8):e<=255?(t=400+(e-144),n=9):e<=279?(t=e-256,n=7):(t=192+(e-280),n=8),ut[e]=[t,n],dt[e]=n}function ft(e,t){let[n,r]=ut[t];e.writeBitsReverse(n,r)}function pt(e,t){let n,r,i;if(t<=10)n=257+t-3,r=0,i=0;else if(t<=18){let e=t-11;n=265+Math.floor(e/2),r=1,i=e%2}else if(t<=34){let e=t-19;n=269+Math.floor(e/4),r=2,i=e%4}else if(t<=66){let e=t-35;n=273+Math.floor(e/8),r=3,i=e%8}else if(t<=130){let e=t-67;n=277+Math.floor(e/16),r=4,i=e%16}else if(t<=257){let e=t-131;n=281+Math.floor(e/32),r=5,i=e%32}else n=285,r=0,i=0;ft(e,n),r>0&&e.writeBits(i,r)}function mt(e,t){let n=[[1,0,0],[2,1,0],[3,2,0],[4,3,0],[6,4,1],[8,5,1],[12,6,2],[16,7,2],[24,8,3],[32,9,3],[48,10,4],[64,11,4],[96,12,5],[128,13,5],[192,14,6],[256,15,6],[384,16,7],[512,17,7],[768,18,8],[1024,19,8],[1536,20,9],[2048,21,9],[3072,22,10],[4096,23,10],[6144,24,11],[8192,25,11],[12288,26,12],[16384,27,12],[24576,28,13],[32768,29,13]],r=0,i=0,a=1;for(let[e,o,s]of n){if(t<=e){r=o,i=s;break}a=e+1}let o=t-a;e.writeBitsReverse(r,5),i>0&&e.writeBits(o,i)}function ht(){if(typeof CompressionStream>`u`)return!1;try{return new CompressionStream(`deflate-raw`),!0}catch{return!1}}let gt=null;function _t(){return typeof CompressionStream>`u`?!1:(gt===null&&(gt=ht()),gt)}async function vt(e,t={}){return(t.level??6)===0?st(e):_t()?Ye(e):ct(e)}function yt(e,t={}){return(t.level??6)===0?st(e):ct(e)}async function bt(e){return _t()?Xe(e):ot(e)}function xt(e){return ot(e)}const St=67324752;function Ct(e,t){let n=e&31,r=e>>5&15,i=(e>>9&127)+1980,a=t?(t&31)*2:0,o=t?t>>5&63:0,s=t?t>>11:0;return new Date(Date.UTC(i,r-1,n,s,o,a))}function wt(e,t,n,r){let i=new DataView(e.buffer,e.byteOffset,e.byteLength),a=0;for(;a+4<=e.length;){let e=i.getUint16(a,!0),o=i.getUint16(a+2,!0);if(e===1){let e=a+4;n===4294967295&&e+8<=a+4+o&&(n=Number(i.getBigUint64(e,!0)),e+=8),t===4294967295&&e+8<=a+4+o&&(t=Number(i.getBigUint64(e,!0)),e+=8),r===4294967295&&e+8<=a+4+o&&(r=Number(i.getBigUint64(e,!0)));break}a+=4+o}return{compressedSize:t,uncompressedSize:n,localHeaderOffset:r}}var Tt=class{constructor(e,t=0){this.data=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.offset=t}get position(){return this.offset}set position(e){this.offset=e}get remaining(){return this.data.length-this.offset}readUint8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readUint16(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readUint32(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readBigUint64(){let e=this.view.getBigUint64(this.offset,!0);return this.offset+=8,e}readBytes(e){let t=this.data.subarray(this.offset,this.offset+e);return this.offset+=e,t}readString(e,t=!0){let n=this.readBytes(e);return t?new TextDecoder(`utf-8`).decode(n):String.fromCharCode(...n)}skip(e){this.offset+=e}slice(e,t){return this.data.subarray(e,t)}peekUint32(e){return this.view.getUint32(e,!0)}};function Et(e){let t=Math.max(0,e.length-65557),n=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let r=e.length-22;r>=t;r--)if(n.getUint32(r,!0)===101010256)return r;return-1}function Dt(e,t){let n=t-20;return n<0?-1:new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(n,!0)===117853008?n:-1}function Ot(e,t={}){let{decodeStrings:n=!0}=t,r=[],i=Et(e);if(i===-1)throw Error(`Invalid ZIP file: End of Central Directory not found`);let a=new Tt(e,i);a.skip(4),a.skip(2),a.skip(2),a.skip(2);let o=a.readUint16();a.skip(4);let s=a.readUint32(),c=Dt(e,i);if(c!==-1){let t=new Tt(e,c);t.skip(4),t.skip(4);let n=new Tt(e,Number(t.readBigUint64()));if(n.readUint32()===101075792){n.skip(8),n.skip(2),n.skip(2),n.skip(4),n.skip(4);let e=Number(n.readBigUint64());n.skip(8);let t=Number(n.readBigUint64());o===65535&&(o=e),s===4294967295&&(s=t)}}let l=new Tt(e,s);for(let e=0;e<o;e++){if(l.readUint32()!==33639248)throw Error(`Invalid Central Directory header signature at entry ${e}`);l.skip(2),l.skip(2);let t=l.readUint16(),i=l.readUint16(),a=l.readUint16(),o=l.readUint16(),s=l.readUint32(),c=l.readUint32(),u=l.readUint32(),d=l.readUint16(),f=l.readUint16(),p=l.readUint16();l.skip(2),l.skip(2);let m=l.readUint32(),h=l.readUint32(),g=(t&2048)!=0,_=n&&g,v=l.readString(d,_),y=l.readBytes(f),ee=l.readString(p,_);if(f>0){let e=wt(y,c,u,h);c=e.compressedSize,u=e.uncompressedSize,h=e.localHeaderOffset}let b=v.endsWith(`/`)||(m&16)!=0,x=(t&1)!=0;r.push({path:v,isDirectory:b,compressedSize:c,uncompressedSize:u,compressionMethod:i,crc32:s,lastModified:Ct(o,a),localHeaderOffset:h,comment:ee,externalAttributes:m,isEncrypted:x})}return r}async function kt(e,t){if(t.isDirectory)return new Uint8Array;if(t.isEncrypted)throw Error(`File "${t.path}" is encrypted and cannot be extracted`);let n=new Tt(e,t.localHeaderOffset);if(n.readUint32()!==St)throw Error(`Invalid local file header signature for "${t.path}"`);n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(4),n.skip(4),n.skip(4);let r=n.readUint16(),i=n.readUint16();n.skip(r),n.skip(i);let a=n.readBytes(t.compressedSize);if(t.compressionMethod===0)return a;if(t.compressionMethod===8)return bt(a);throw Error(`Unsupported compression method: ${t.compressionMethod}`)}function At(e,t){if(t.isDirectory)return new Uint8Array;if(t.isEncrypted)throw Error(`File "${t.path}" is encrypted and cannot be extracted`);let n=new Tt(e,t.localHeaderOffset);if(n.readUint32()!==St)throw Error(`Invalid local file header signature for "${t.path}"`);n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(2),n.skip(4),n.skip(4),n.skip(4);let r=n.readUint16(),i=n.readUint16();n.skip(r),n.skip(i);let a=n.readBytes(t.compressedSize);if(t.compressionMethod===0)return a;if(t.compressionMethod===8)return xt(a);throw Error(`Unsupported compression method: ${t.compressionMethod}`)}var jt=class{constructor(e,t={}){this.data=e instanceof ArrayBuffer?new Uint8Array(e):e,this.entries=Ot(this.data,t),this.entryMap=new Map(this.entries.map(e=>[e.path,e]))}getEntries(){return this.entries}getEntry(e){return this.entryMap.get(e)}hasEntry(e){return this.entryMap.has(e)}listFiles(){return this.entries.map(e=>e.path)}async extract(e){let t=this.entryMap.get(e);return t?kt(this.data,t):null}extractSync(e){let t=this.entryMap.get(e);return t?At(this.data,t):null}async extractAll(){let e=new Map;for(let t of this.entries){let n=await kt(this.data,t);e.set(t.path,n)}return e}extractAllSync(){let e={};for(let t of this.entries)e[t.path]=At(this.data,t);return e}async forEach(e){for(let t of this.entries){let n=null;if(await e(t,()=>(n||=kt(this.data,t),n))===!1)break}}};const Mt=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Nt(e){let t=4294967295;for(let n=0;n<e.length;n++)t=Mt[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function Pt(e){return[(e.getHours()&31)<<11|(e.getMinutes()&63)<<5|e.getSeconds()>>1&31,(e.getFullYear()-1980&127)<<9|(e.getMonth()+1&15)<<5|e.getDate()&31]}const Ft=new TextEncoder;function It(e){return Ft.encode(e)}function Lt(e){let t=new Uint8Array(30+e.name.length),n=new DataView(t.buffer);return n.setUint32(0,67324752,!0),n.setUint16(4,20,!0),n.setUint16(6,2048,!0),n.setUint16(8,e.compressionMethod,!0),n.setUint16(10,e.modTime,!0),n.setUint16(12,e.modDate,!0),n.setUint32(14,e.crc,!0),n.setUint32(18,e.compressedData.length,!0),n.setUint32(22,e.data.length,!0),n.setUint16(26,e.name.length,!0),n.setUint16(28,0,!0),t.set(e.name,30),t}function Rt(e){let t=new Uint8Array(46+e.name.length+e.comment.length),n=new DataView(t.buffer);return n.setUint32(0,33639248,!0),n.setUint16(4,20,!0),n.setUint16(6,20,!0),n.setUint16(8,2048,!0),n.setUint16(10,e.compressionMethod,!0),n.setUint16(12,e.modTime,!0),n.setUint16(14,e.modDate,!0),n.setUint32(16,e.crc,!0),n.setUint32(20,e.compressedData.length,!0),n.setUint32(24,e.data.length,!0),n.setUint16(28,e.name.length,!0),n.setUint16(30,0,!0),n.setUint16(32,e.comment.length,!0),n.setUint16(34,0,!0),n.setUint16(36,0,!0),n.setUint32(38,0,!0),n.setUint32(42,e.offset,!0),t.set(e.name,46),e.comment.length>0&&t.set(e.comment,46+e.name.length),t}function zt(e,t,n,r){let i=new Uint8Array(22+r.length),a=new DataView(i.buffer);return a.setUint32(0,101010256,!0),a.setUint16(4,0,!0),a.setUint16(6,0,!0),a.setUint16(8,e,!0),a.setUint16(10,e,!0),a.setUint32(12,t,!0),a.setUint32(16,n,!0),a.setUint16(20,r.length,!0),r.length>0&&i.set(r,22),i}var Bt=class{constructor(e={}){this.entries=[],this.currentOffset=0,this.finalized=!1,this.level=e.level??6,this.zipComment=It(e.comment??``)}async addFile(e){if(this.finalized)throw Error(`Cannot add files after finalizing`);let t=It(e.name),n=It(e.comment??``),[r,i]=Pt(e.modTime??new Date),a=this.level>0&&e.data.length>0,o=a?await vt(e.data,{level:this.level}):e.data,s={name:t,data:e.data,compressedData:o,crc:Nt(e.data),compressionMethod:a?8:0,modTime:r,modDate:i,comment:n,offset:this.currentOffset};return this.entries.push(s),this.currentOffset+=30+t.length+o.length,[Lt(s),o]}addFileSync(e){if(this.finalized)throw Error(`Cannot add files after finalizing`);let t=It(e.name),n=It(e.comment??``),[r,i]=Pt(e.modTime??new Date),a=this.level>0&&e.data.length>0,o=a?yt(e.data,{level:this.level}):e.data,s={name:t,data:e.data,compressedData:o,crc:Nt(e.data),compressionMethod:a?8:0,modTime:r,modDate:i,comment:n,offset:this.currentOffset};return this.entries.push(s),this.currentOffset+=30+t.length+o.length,[Lt(s),o]}finalize(){if(this.finalized)throw Error(`ZIP already finalized`);this.finalized=!0;let e=[];for(let t of this.entries)e.push(Rt(t));let t=e.reduce((e,t)=>e+t.length,0);return e.push(zt(this.entries.length,t,this.currentOffset,this.zipComment)),e}get entryCount(){return this.entries.length}get dataSize(){return this.currentOffset}},Vt=class{constructor(e){this._buf=Buffer.alloc(e&&e.size||16384),this._encoding=e&&e.encoding||`utf8`,this._inPos=0,this._buffer=void 0}get length(){return this._inPos}get capacity(){return this._buf.length}get buffer(){return this._buf}toBuffer(){return this._buffer||(this._buffer=Buffer.alloc(this.length),this._buf.copy(this._buffer,0,0,this.length)),this._buffer}reset(e){e||=0,this._buffer=void 0,this._inPos=e}_grow(e){let t=this._buf.length*2;for(;t<e;)t*=2;let n=Buffer.alloc(t);this._buf.copy(n,0),this._buf=n}addText(e){this._buffer=void 0;let t=this._inPos+this._buf.write(e,this._inPos,this._encoding);for(;t>=this._buf.length-4;)this._grow(this._inPos+e.length),t=this._inPos+this._buf.write(e,this._inPos,this._encoding);this._inPos=t}addStringBuf(e){e.length&&(this._buffer=void 0,this.length+e.length>this.capacity&&this._grow(this.length+e.length),e._buf.copy(this._buf,this._inPos,0,e.length),this._inPos+=e.length)}},Ht=class{constructor(e,t){this._data=e,this._encoding=t}get length(){return this.toBuffer().length}copy(e,t,n,r){let i=this.toBuffer(),a=Math.min(r,i.length-n);return e.set(i.subarray(n,n+a),t),a}toBuffer(){return this._buffer||=new TextEncoder().encode(this._data),this._buffer}},Ut=class{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,n,r){let i=this.toBuffer(),a=Math.min(r,i.length-n);return e.set(i.subarray(n,n+a),t),a}toBuffer(){return this._data.toBuffer()}},Wt=class{constructor(e){this._data=e}get length(){return this._data.length}copy(e,t,n,r){let i=Math.min(r,this._data.length-n);e.set(this._data.subarray(n,n+i),t)}toBuffer(){return this._data}},Gt=class{constructor(e){this.size=e,this.buffer=new Uint8Array(e),this.iRead=0,this.iWrite=0}toBuffer(){return this.iRead===0&&this.iWrite===this.size?this.buffer:this.buffer.slice(this.iRead,this.iWrite)}get length(){return this.iWrite-this.iRead}get eod(){return this.iRead===this.iWrite}get full(){return this.iWrite===this.size}read(e){if(e===0)return null;if(e===void 0||e>=this.length){let e=this.toBuffer();return this.iRead=this.iWrite,e}let t=this.buffer.slice(this.iRead,this.iRead+e);return this.iRead+=e,t}write(e,t,n){let r=Math.min(n,this.size-this.iWrite);return e.copy(this.buffer,this.iWrite,t,t+r),this.iWrite+=r,r}},Kt=class{constructor(e){e||={},this.bufSize=e.bufSize||1024*1024,this.buffers=[],this.batch=e.batch||!1,this.corked=!1,this.paused=!1,this.encoding=null,this.pipes=[],this.events=new Map}on(e,t){let n=this.events.get(e)||[];return n.push(t),this.events.set(e,n),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this.events.get(e)||[],r=n.indexOf(t);return r!==-1&&n.splice(r,1),this}emit(e,...t){let n=this.events.get(e)||[];return n.forEach(e=>e(...t)),n.length>0}removeListener(e,t){return this.off(e,t)}toBuffer(){switch(this.buffers.length){case 0:return null;case 1:return this.buffers[0].toBuffer();default:{let e=this.buffers.reduce((e,t)=>e+t.length,0),t=new Uint8Array(e),n=0;for(let e of this.buffers){let r=e.toBuffer();t.set(r,n),n+=r.length}return t}}}_getWritableBuffer(){if(this.buffers.length){let e=this.buffers[this.buffers.length-1];if(!e.full)return e}let e=new Gt(this.bufSize);return this.buffers.push(e),e}async _pipe(e){await Promise.all(this.pipes.map(t=>new Promise(n=>{t.write(e.toBuffer(),()=>{n()})})))}_writeToBuffers(e){let t=0,n=e.length;for(;t<n;){let r=this._getWritableBuffer();t+=r.write(e,t,n-t)}}async write(e,t,n){t instanceof Function&&(n=t,t=`utf8`),n||=()=>{};let r;if(e instanceof Vt||e&&e.constructor?.name===`StringBuf`)r=new Ut(e);else if(e instanceof Uint8Array)r=new Wt(e);else if(ArrayBuffer.isView(e))r=new Wt(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));else if(e instanceof ArrayBuffer)r=new Wt(new Uint8Array(e));else if(typeof e==`string`||e instanceof String)r=new Ht(String(e),t);else throw Error(`Chunk must be one of type String, Uint8Array, ArrayBuffer or StringBuf.`);if(this.pipes.length)if(this.batch)for(this._writeToBuffers(r);!this.corked&&this.buffers.length>1;)await this._pipe(new Wt(this.buffers.shift().toBuffer()));else this.corked?(this._writeToBuffers(r),queueMicrotask(()=>n())):(await this._pipe(r),n());else this.paused||this.emit(`data`,r.toBuffer()),this._writeToBuffers(r),this.emit(`readable`);return!0}cork(){this.corked=!0}_flush(){if(this.pipes.length)for(;this.buffers.length;)this._pipe(new Wt(this.buffers.shift().toBuffer()))}uncork(){this.corked=!1,this._flush()}end(e,t,n){let r=e=>{e?n?.(e):(this._flush(),this.pipes.forEach(e=>{e.end()}),this.emit(`finish`))};e?this.write(e,t,r):r()}read(e){let t;if(e){for(t=[];e&&this.buffers.length&&!this.buffers[0].eod;){let n=this.buffers[0],r=n.read(e);r&&(e-=r.length,t.push(r)),n.eod&&n.full&&this.buffers.shift()}return qt(t)}return t=this.buffers.map(e=>e.toBuffer()).filter(Boolean),this.buffers=[],qt(t)}setEncoding(e){this.encoding=e}pause(){this.paused=!0}resume(){this.paused=!1}isPaused(){return this.paused}pipe(e){return this.pipes.push(e),!this.paused&&this.buffers.length&&this.end(),e}unpipe(e){this.pipes=this.pipes.filter(t=>t!==e)}unshift(){throw Error(`Not Implemented`)}wrap(){throw Error(`Not Implemented`)}push(e){return e!==null&&this.write(e),!0}};function qt(e){if(e.length===0)return new Uint8Array;if(e.length===1)return e[0];let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Jt(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var Yt=class{constructor(e){this.finalized=!1,this.pendingWrites=[],this.events=new Map;let t=e?.compression===`STORE`?0:Math.max(0,Math.min(9,e?.compressionOptions?.level??1));this.stream=new Kt,this.zipBuilder=new Bt({level:t})}on(e,t){let n=this.events.get(e)||[];return n.push(t),this.events.set(e,n),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this.events.get(e)||[],r=n.indexOf(t);return r!==-1&&n.splice(r,1),this}emit(e,...t){let n=this.events.get(e)||[];return n.forEach(e=>e(...t)),n.length>0}removeListener(e,t){return this.off(e,t)}append(e,t){let n;n=Object.prototype.hasOwnProperty.call(t,`base64`)&&t.base64?Jt(typeof e==`string`?e:String(e)):typeof e==`string`?new TextEncoder().encode(e):e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer?new Uint8Array(e):e;let r=this.zipBuilder.addFile({name:t.name,data:n}).then(e=>{for(let t of e)this.stream.write(new Uint8Array(t))});this.pendingWrites.push(r)}push(e){return this.stream.push(e)}async finalize(){if(this.finalized)return;this.finalized=!0,await Promise.all(this.pendingWrites);let e=this.zipBuilder.finalize();for(let t of e)this.stream.write(new Uint8Array(t));this.stream.end(),this.emit(`finish`)}read(e){return this.stream.read(e)}setEncoding(e){return this.stream.setEncoding(e)}pause(){return this.stream.pause()}resume(){return this.stream.resume()}isPaused(){return this.stream.isPaused()}pipe(e){return this.stream.pipe(e)}unpipe(e){return this.stream.unpipe(e)}unshift(){return this.stream.unshift()}wrap(){return this.stream.wrap()}};const Xt=1e4;function Zt(e,t,n){e.push(` ${t}="${Ne(n.toString())}"`)}function Qt(e,t){if(t){let n=[];Object.entries(t).forEach(([e,t])=>{t!==void 0&&Zt(n,e,t)}),e.push(n.join(``))}}var F=class{constructor(){this._xml=[],this._chunks=[],this._stack=[],this._rollbacks=[]}_consolidate(){this._xml.length>=Xt&&(this._chunks.push(this._xml.join(``)),this._xml=[])}get tos(){return this._stack.length?this._stack[this._stack.length-1]:void 0}get cursor(){return this._chunks.length*Xt+this._xml.length}openXml(e){let t=this._xml;t.push(`<?xml`),Qt(t,e),t.push(`?>
8
8
  `)}openNode(e,t){let n=this.tos,r=this._xml;n&&this.open&&r.push(`>`),this._stack.push(e),r.push(`<`),r.push(e),Qt(r,t),this.leaf=!0,this.open=!0}addAttribute(e,t){if(!this.open)throw Error(`Cannot write attributes to node if it is not open`);t!==void 0&&Zt(this._xml,e,t)}addAttributes(e){if(!this.open)throw Error(`Cannot write attributes to node if it is not open`);Qt(this._xml,e)}writeText(e){let t=this._xml;this.open&&=(t.push(`>`),!1),this.leaf=!1,t.push(Ne(e.toString()))}writeXml(e){this.open&&=(this._xml.push(`>`),!1),this.leaf=!1,this._xml.push(e)}closeNode(){let e=this._stack.pop(),t=this._xml;this.leaf?t.push(`/>`):(t.push(`</`),t.push(e),t.push(`>`)),this.open=!1,this.leaf=!1,this._consolidate()}leafNode(e,t,n){this.openNode(e,t),n!==void 0&&this.writeText(n),this.closeNode()}closeAll(){for(;this._stack.length;)this.closeNode()}addRollback(){return this._rollbacks.push({xml:this._xml.length,stack:this._stack.length,leaf:this.leaf,open:this.open,chunksLength:this._chunks.length}),this.cursor}commit(){this._rollbacks.pop()}rollback(){let e=this._rollbacks.pop();this._xml.length>e.xml&&this._xml.splice(e.xml,this._xml.length-e.xml),this._stack.length>e.stack&&this._stack.splice(e.stack,this._stack.length-e.stack),this._chunks.length>e.chunksLength&&this._chunks.splice(e.chunksLength,this._chunks.length-e.chunksLength),this.leaf=e.leaf,this.open=e.open}get xml(){return this.closeAll(),this._chunks.length===0?this._xml.join(``):(this._xml.length>0&&this._chunks.push(this._xml.join(``)),this._chunks.join(``))}static{this.StdDocAttributes={version:`1.0`,encoding:`UTF-8`,standalone:`yes`}}};const $t=Array(128);for(let e=0;e<128;e++)$t[e]=String.fromCharCode(e);function I(e){return e<128?$t[e]:String.fromCodePoint(e)}const en=new Uint8Array(128);for(let e=97;e<=122;e++)en[e]=1;for(let e=65;e<=90;e++)en[e]=1;en[95]=1,en[58]=1;const L=new Uint8Array(128);for(let e=97;e<=122;e++)L[e]=1;for(let e=65;e<=90;e++)L[e]=1;for(let e=48;e<=57;e++)L[e]=1;L[95]=1,L[58]=1,L[45]=1,L[46]=1;function tn(e){return e===32||e===10||e===13||e===9}function nn(e){return e===34||e===39}function rn(e){return e<128?en[e]===1:e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e===8204||e===8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function an(e){return e<128?L[e]===1:e===183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=768&&e<=879||e>=880&&e<=893||e>=895&&e<=8191||e===8204||e===8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function on(e){return e>=32&&e<=55295||e===10||e===13||e===9||e>=57344&&e<=65533||e>=65536&&e<=1114111}const sn={amp:`&`,gt:`>`,lt:`<`,quot:`"`,apos:`'`};var cn=class{constructor(e){this.state=0,this.chunk=``,this.i=0,this.prevI=0,this.text=``,this.name=``,this.q=null,this.tags=[],this.tag=null,this.attribList=[],this.entity=``,this.entityReturnState=0,this.openWakaBang=``,this.sawRoot=!1,this.closedRoot=!1,this._closed=!1,this.reportedTextBeforeRoot=!1,this.reportedTextAfterRoot=!1,this.line=1,this.column=0,this.positionAtNewLine=0,this.chunkPosition=0,this.ENTITIES={...sn},this.trackPosition=e?.position!==!1,this.fileName=e?.fileName,this.fragment=e?.fragment??!1,this._init()}get closed(){return this._closed}get position(){return this.chunkPosition+this.i}_init(){this.state=(this.fragment,0),this.text=``,this.name=``,this.q=null,this.tags=[],this.tag=null,this.attribList=[],this.entity=``,this.openWakaBang=``,this.sawRoot=this.fragment,this.closedRoot=this.fragment,this.reportedTextBeforeRoot=this.fragment,this.reportedTextAfterRoot=this.fragment,this.carriedFromPrevious=void 0,this._closed=!1,this.line=1,this.column=0,this.positionAtNewLine=0,this.chunkPosition=0,this.chunk=``,this.i=0,this.prevI=0}on(e,t){switch(e){case`text`:this.textHandler=t;break;case`opentag`:this.openTagHandler=t;break;case`closetag`:this.closeTagHandler=t;break;case`error`:this.errorHandler=t;break}}off(e){switch(e){case`text`:this.textHandler=void 0;break;case`opentag`:this.openTagHandler=void 0;break;case`closetag`:this.closeTagHandler=void 0;break;case`error`:this.errorHandler=void 0;break}}makeError(e){let t=this.fileName??``;return this.trackPosition&&(t.length>0&&(t+=`:`),t+=`${this.line}:${this.column}`),t.length>0&&(t+=`: `),Error(t+e)}fail(e){let t=this.makeError(e);if(this.errorHandler)this.errorHandler(t);else throw t;return this}write(e){if(this._closed)return this.fail(`cannot write after close`);let t=!1;e===null&&(t=!0,e=``),this.carriedFromPrevious!==void 0&&(e=this.carriedFromPrevious+e,this.carriedFromPrevious=void 0);let n=e.length;if(!t&&n>0){let t=e.charCodeAt(n-1);(t===13||t>=55296&&t<=56319)&&(this.carriedFromPrevious=e[n-1],n--,e=e.slice(0,n))}for(this.chunk=e,this.i=0;this.i<n;)this.processState();return this.chunkPosition+=n,t?this.end():this}close(){return this.write(null)}getCode(){let{chunk:e,i:t}=this;if(this.prevI=t,this.i=t+1,t>=e.length)return-1;let n=e.charCodeAt(t);if(n<10||n>13&&n<55296)return this.trackPosition&&this.column++,n;if(n>=55296&&n<=56319){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343)return this.i=t+2,this.trackPosition&&this.column++,65536+((n-55296)*1024+(r-56320))}return n===13?(e.charCodeAt(t+1)===10&&(this.i=t+2),this.trackPosition&&(this.line++,this.column=0,this.positionAtNewLine=this.position),10):(n===10&&this.trackPosition?(this.line++,this.column=0,this.positionAtNewLine=this.position):this.trackPosition&&this.column++,n)}unget(){this.i=this.prevI,this.trackPosition&&this.column--}processState(){switch(this.state){case 0:this.sText();break;case 1:this.sOpenWaka();break;case 2:this.sOpenWakaBang();break;case 3:this.sOpenTag();break;case 4:this.sOpenTagSlash();break;case 5:this.sAttrib();break;case 6:this.sAttribName();break;case 7:this.sAttribNameSawWhite();break;case 8:this.sAttribValue();break;case 9:this.sAttribValueQuoted();break;case 10:this.sAttribValueClosed();break;case 11:this.sCloseTag();break;case 12:this.sCloseTagSawWhite();break;case 13:this.sComment();break;case 14:this.sCommentEnding();break;case 15:this.sCommentEnded();break;case 16:this.sCData();break;case 17:this.sCDataEnding();break;case 18:this.sCDataEnding2();break;case 19:this.sPI();break;case 20:this.sPIEnding();break;case 21:this.sDoctype();break;case 22:this.sDoctypeQuote();break;case 23:this.sDoctypeDTD();break;case 24:this.sDoctypeDTDQuoted();break;case 25:this.sEntity();break}}sText(){this.tags.length===0?this.handleTextOutsideRoot():this.handleTextInRoot()}handleTextInRoot(){let{chunk:e}=this,{i:t}=this,n=this.textHandler;for(;;){let r=this.getCode();if(r===-1){n&&t<this.i&&(this.text+=e.slice(t,this.i));return}if(r===60){if(n){let r=e.slice(t,this.prevI);this.text.length>0?(n(this.text+r),this.text=``):r.length>0&&n(r)}this.state=1;return}if(r===38){n&&(this.text+=e.slice(t,this.prevI)),this.state=25,this.entityReturnState=0,this.entity=``;return}r===10&&(n&&(this.text+=e.slice(t,this.prevI)+`
9
9
  `),t=this.i)}}handleTextOutsideRoot(){let{chunk:e}=this,{i:t}=this,n=this.textHandler,r=!1;for(;;){let i=this.getCode();if(i===-1){n&&t<this.i&&(this.text+=e.slice(t,this.i));break}if(i===60){if(n){let r=e.slice(t,this.prevI);this.text.length>0?(n(this.text+r),this.text=``):r.length>0&&n(r)}this.state=1;break}if(i===38){n&&(this.text+=e.slice(t,this.prevI)),this.state=25,this.entityReturnState=0,this.entity=``,r=!0;break}i===10?(n&&(this.text+=e.slice(t,this.prevI)+`
10
10
  `),t=this.i):tn(i)||(r=!0)}r&&(!this.sawRoot&&!this.reportedTextBeforeRoot&&(this.fail(`text data outside of root node.`),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail(`text data outside of root node.`),this.reportedTextAfterRoot=!0))}sOpenWaka(){let e=this.getCode();if(rn(e)){this.state=3,this.name=I(e);return}switch(e){case 47:this.state=11,this.name=``;break;case 33:this.state=2,this.openWakaBang=``;break;case 63:this.state=19,this.text=``;break;default:this.fail(`unexpected character in tag`),this.state=0}}sOpenWakaBang(){let e=this.getCode();switch(this.openWakaBang+=I(e),this.openWakaBang){case`[CDATA[`:this.state=16,this.text=``,this.openWakaBang=``;break;case`--`:this.state=13,this.text=``,this.openWakaBang=``;break;case`DOCTYPE`:this.state=21,this.text=``,this.openWakaBang=``;break;default:this.openWakaBang.length>=7&&(this.fail(`incorrect syntax`),this.state=0)}}sOpenTag(){let e=this.getCode();if(e!==-1){if(an(e)){this.name+=I(e);return}this.tag={name:this.name,attributes:Object.create(null),isSelfClosing:!1},this.attribList=[],this.sawRoot=!0,e===62?this.openTag():e===47?this.state=4:(tn(e)||this.fail(`unexpected character in tag`),this.state=5)}}sOpenTagSlash(){this.getCode()===62?this.openSelfClosingTag():(this.fail(`expected >`),this.state=5)}sAttrib(){let e=this.skipSpaces();e!==-1&&(rn(e)?(this.name=I(e),this.state=6):e===62?this.openTag():e===47?this.state=4:this.fail(`unexpected character in attribute`))}sAttribName(){let e=this.getCode();if(e!==-1){if(an(e)){this.name+=I(e);return}e===61?this.state=8:tn(e)?this.state=7:e===62?(this.fail(`attribute without value`),this.attribList.push({name:this.name,value:this.name}),this.name=``,this.openTag()):this.fail(`unexpected character in attribute name`)}}sAttribNameSawWhite(){let e=this.skipSpaces();e!==-1&&(e===61?this.state=8:(this.fail(`attribute without value`),this.name=``,this.text=``,e===62?this.openTag():rn(e)?(this.name=I(e),this.state=6):(this.fail(`unexpected character`),this.state=5)))}sAttribValue(){let e=this.skipSpaces();e!==-1&&(nn(e)?(this.q=e,this.text=``,this.state=9):(this.fail(`unquoted attribute value`),this.state=0))}sAttribValueQuoted(){let{q:e,chunk:t}=this,{i:n}=this;for(;;){let r=this.getCode();if(r===-1){this.text+=t.slice(n,this.i);return}if(r===e){this.attribList.push({name:this.name,value:this.text+t.slice(n,this.prevI)}),this.name=``,this.text=``,this.q=null,this.state=10;return}if(r===38){this.text+=t.slice(n,this.prevI),this.state=25,this.entityReturnState=9,this.entity=``;return}if((r===10||r===9)&&(this.text+=t.slice(n,this.prevI)+` `,n=this.i),r===60){this.text+=t.slice(n,this.prevI),this.fail(`< not allowed in attribute value`);return}}}sAttribValueClosed(){let e=this.getCode();e!==-1&&(tn(e)?this.state=5:e===62?this.openTag():e===47?this.state=4:rn(e)?(this.fail(`no whitespace between attributes`),this.name=I(e),this.state=6):this.fail(`unexpected character after attribute`))}sCloseTag(){let e=this.getCode();e!==-1&&(an(e)?this.name+=I(e):e===62?this.closeTag():tn(e)?this.state=12:this.fail(`unexpected character in close tag`))}sCloseTagSawWhite(){let e=this.skipSpaces();e!==-1&&(e===62?this.closeTag():this.fail(`unexpected character in close tag`))}sComment(){let e=this.getCode();e!==-1&&(e===45?this.state=14:this.text+=I(e))}sCommentEnding(){let e=this.getCode();e===45?this.state=15:(this.text+=`-`+I(e),this.state=13)}sCommentEnded(){let e=this.getCode();e===62?(this.text=``,this.state=0):e===45?this.text+=`-`:(this.fail(`malformed comment`),this.text+=`--`+I(e),this.state=13)}sCData(){let e=this.getCode();e!==-1&&(e===93?this.state=17:this.text+=I(e))}sCDataEnding(){let e=this.getCode();e===93?this.state=18:(this.text+=`]`+I(e),this.state=16)}sCDataEnding2(){let e=this.getCode();e===62?(this.textHandler&&this.text.length>0&&this.textHandler(this.text),this.text=``,this.state=0):e===93?this.text+=`]`:(this.text+=`]]`+I(e),this.state=16)}sPI(){let e=this.getCode();e!==-1&&(e===63?this.state=20:this.text+=I(e))}sPIEnding(){let e=this.getCode();e===62?(this.text=``,this.state=0):e===63?this.text+=`?`:(this.text+=`?`+I(e),this.state=19)}sDoctype(){let e=this.getCode();e!==-1&&(e===62?(this.text=``,this.state=0):nn(e)?(this.q=e,this.state=22):e===91?this.state=23:this.text+=I(e))}sDoctypeQuote(){let e=this.getCode();e!==-1&&(e===this.q?(this.q=null,this.state=21):this.text+=I(e))}sDoctypeDTD(){let e=this.getCode();e!==-1&&(e===93?this.state=21:nn(e)&&(this.q=e,this.state=24))}sDoctypeDTDQuoted(){let e=this.getCode();e!==-1&&e===this.q&&(this.q=null,this.state=23)}sEntity(){let e=this.getCode();if(e!==-1)if(e===59){let e=this.entity,t;e===``?(this.fail(`empty entity`),t=`&;`):t=this.parseEntity(e),this.text+=t,this.state=this.entityReturnState,this.entity=``}else an(e)||e===35?this.entity+=I(e):(this.fail(`invalid entity character`),this.text+=`&`+this.entity+I(e),this.state=this.entityReturnState,this.entity=``)}parseEntity(e){if(e[0]!==`#`){let t=this.ENTITIES[e];return t===void 0?(this.fail(`undefined entity: `+e),`&`+e+`;`):t}let t;return t=e[1]===`x`||e[1]===`X`?parseInt(e.slice(2),16):parseInt(e.slice(1),10),isNaN(t)||!on(t)?(this.fail(`invalid character entity`),`&`+e+`;`):String.fromCodePoint(t)}skipSpaces(){for(;;){let e=this.getCode();if(e===-1||!tn(e))return e}}openTag(){let e=this.tag;e.isSelfClosing=!1;for(let{name:t,value:n}of this.attribList)e.attributes[t]=n;this.attribList=[],this.openTagHandler?.(e),this.tags.push(e),this.name=``,this.state=0}openSelfClosingTag(){let e=this.tag;e.isSelfClosing=!0;for(let{name:t,value:n}of this.attribList)e.attributes[t]=n;this.attribList=[],this.openTagHandler?.(e),this.closeTagHandler?.(e),this.tags.length===0&&(this.closedRoot=!0),this.name=``,this.state=0}closeTag(){let{tags:e,name:t}=this;if(this.state=0,this.name=``,t===``){this.fail(`empty close tag`),this.text+=`</>`;return}let n=!1;for(let r=e.length-1;r>=0;r--)if(e[r].name===t){for(;e.length>r;){let t=e.pop();this.closeTagHandler?.(t),e.length>r&&this.fail(`unclosed tag: `+t.name)}n=!0;break}n||(this.fail(`unmatched close tag: `+t),this.text+=`</`+t+`>`),e.length===0&&(this.closedRoot=!0)}end(){for(this.sawRoot||this.fail(`document must contain a root element`);this.tags.length>0;){let e=this.tags.pop();this.fail(`unclosed tag: `+e.name)}return this.text.length>0&&this.textHandler&&(this.textHandler(this.text),this.text=``),this._closed=!0,this._init(),this}};async function*ln(e){let t=new cn({xmlns:!1,position:!0}),n;t.on(`error`,e=>{n=e});let r=[];t.on(`opentag`,e=>r.push({eventType:`opentag`,value:e})),t.on(`text`,e=>r.push({eventType:`text`,value:e})),t.on(`closetag`,e=>r.push({eventType:`closetag`,value:e}));for await(let i of e){if(t.write(je(i)),n)throw n;yield r,r=[]}if(t.close(),n)throw n;r.length>0&&(yield r)}var R=class e{prepare(e,t){}render(e,t){}parseOpen(e){}parseText(e){}parseClose(e){return!1}reconcile(e,t){}reset(){this.model=null,this.map&&Object.values(this.map).forEach(t=>{t instanceof e?t.reset():t.xform&&t.xform.reset()})}mergeModel(e){this.model=Object.assign(this.model||{},e)}async parse(e){for await(let t of e)for(let{eventType:e,value:n}of t)if(e===`opentag`)this.parseOpen(n);else if(e===`text`)this.parseText(n);else if(e===`closetag`&&!this.parseClose(n.name))return this.model;return this.model}async parseStream(e){return this.parse(ln(e))}get xml(){return this.toXml(this.model)}toXml(e){let t=new F;return this.render(t,e),t.xml}static toAttribute(e,t,n=!1){if(e===void 0){if(n)return t}else if(n||e!==t)return e.toString()}static toStringAttribute(t,n,r=!1){return e.toAttribute(t,n,r)}static toStringValue(e,t){return e===void 0?t:e}static toBoolAttribute(e,t,n=!1){if(e===void 0){if(n)return t}else if(n||e!==t)return e?`1`:`0`}static toBoolValue(e,t){return e===void 0?t:e===`1`}static toIntAttribute(t,n,r=!1){return e.toAttribute(t,n,r)}static toIntValue(e,t){return e===void 0?t:parseInt(e,10)}static toFloatAttribute(t,n,r=!1){return e.toAttribute(t,n,r)}static toFloatValue(e,t){return e===void 0?t:parseFloat(e)}};function un(e,t){e.openNode(t.tag,t.$),t.c&&t.c.forEach(t=>{un(e,t)}),t.t&&e.writeText(t.t),e.closeNode()}var z=class extends R{constructor(e){super(),this._model=e}render(e){if(!this._xml){let e=new F;un(e,this._model),this._xml=e.xml}e.writeXml(this._xml)}parseOpen(){return!0}parseText(){}parseClose(e){switch(e){case this._model.tag:return!1;default:return!0}}},B=class extends R{constructor(e){super(),this.tag=e.tag,this.always=!!e.always,this.count=e.count,this.empty=e.empty,this.$count=e.$count||`count`,this.$=e.$,this.childXform=e.childXform,this.maxItems=e.maxItems}prepare(e,t){let{childXform:n}=this;e&&e.forEach((e,r)=>{t.index=r,n.prepare(e,t)})}render(e,t){if(this.always||t&&t.length){e.openNode(this.tag,this.$),this.count&&e.addAttribute(this.$count,t&&t.length||0);let{childXform:n}=this;(t||[]).forEach((t,r)=>{n.render(e,t,r)}),e.closeNode()}else this.empty&&e.leafNode(this.tag)}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.model=[],!0;default:return this.childXform.parseOpen(e)?(this.parser=this.childXform,!0):!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)&&(this.model.push(this.parser.model),this.parser=void 0,this.maxItems&&this.model.length>this.maxItems))throw Error(`Max ${this.childXform.tag} count (${this.maxItems}) exceeded`);return!0}return!1}reconcile(e,t){if(e){let{childXform:n}=this;e.forEach(e=>{n.reconcile(e,t)})}}reset(){super.reset(),this.childXform&&this.childXform.reset()}},V=class extends R{constructor(e){super(),this.name=e||`color`}get tag(){return this.name}render(e,t){return t?(e.openNode(this.name),t.argb?e.addAttribute(`rgb`,t.argb):t.theme===void 0?t.indexed===void 0?e.addAttribute(`auto`,`1`):e.addAttribute(`indexed`,t.indexed):(e.addAttribute(`theme`,t.theme),t.tint!==void 0&&e.addAttribute(`tint`,t.tint)),e.closeNode(),!0):!1}parseOpen(e){return e.name===this.name?(e.attributes.rgb?this.model={argb:e.attributes.rgb}:e.attributes.theme?(this.model={theme:parseInt(e.attributes.theme,10)},e.attributes.tint&&(this.model.tint=parseFloat(e.attributes.tint))):e.attributes.indexed?this.model={indexed:parseInt(e.attributes.indexed,10)}:this.model=void 0,!0):!1}parseText(){}parseClose(){return!1}},H=class extends R{constructor(e){super(),this.tag=e.tag,this.attr=e.attr}render(e,t){t&&(e.openNode(this.tag),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.model=!0)}parseText(){}parseClose(){return!1}},U=class extends R{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs,this.zero=e.zero,this.text=[]}render(e,t){(t||this.zero)&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,t):e.writeText(t),e.closeNode())}parseOpen(e){return e.name===this.tag?(this.attr?this.model=parseInt(e.attributes[this.attr],10):this.text=[],!0):!1}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=parseInt(this.text.join(``)||`0`,10)),!1}},W=class extends R{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs,this.text=[]}render(e,t){t!==void 0&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,t):e.writeText(t),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.attr?this.model=e.attributes[this.attr]:this.text=[])}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=this.text.join(``)),!1}},dn=class e extends R{static{this.Attributes={single:{},double:{val:`double`},singleAccounting:{val:`singleAccounting`},doubleAccounting:{val:`doubleAccounting`}}}constructor(e){super(),this.model=e}get tag(){return`u`}render(t,n){if(n||=this.model,n===!0)t.leafNode(`u`);else{let r=e.Attributes[n];r&&t.leafNode(`u`,r)}}parseOpen(e){e.name===`u`&&(this.model=e.attributes.val||!0)}parseText(){}parseClose(){return!1}},fn=class e extends R{constructor(t){super(),this.options=t||e.OPTIONS;let n=[{tag:`b`,prop:`bold`,xform:new H({tag:`b`,attr:`val`})},{tag:`i`,prop:`italic`,xform:new H({tag:`i`,attr:`val`})},{tag:`u`,prop:`underline`,xform:new dn},{tag:`strike`,prop:`strike`,xform:new H({tag:`strike`,attr:`val`})},{tag:`condense`,prop:`condense`,xform:new H({tag:`condense`,attr:`val`})},{tag:`extend`,prop:`extend`,xform:new H({tag:`extend`,attr:`val`})},{tag:`outline`,prop:`outline`,xform:new H({tag:`outline`,attr:`val`})},{tag:`shadow`,prop:`shadow`,xform:new H({tag:`shadow`,attr:`val`})},{tag:`sz`,prop:`size`,xform:new U({tag:`sz`,attr:`val`})},{tag:`color`,prop:`color`,xform:new V},{tag:this.options.fontNameTag,prop:`name`,xform:new W({tag:this.options.fontNameTag,attr:`val`})},{tag:`family`,prop:`family`,xform:new U({tag:`family`,attr:`val`})},{tag:`scheme`,prop:`scheme`,xform:new W({tag:`scheme`,attr:`val`})},{tag:`charset`,prop:`charset`,xform:new U({tag:`charset`,attr:`val`})},{tag:`vertAlign`,prop:`vertAlign`,xform:new W({tag:`vertAlign`,attr:`val`})}];this.map=Object.fromEntries(n.map(e=>[e.tag,{prop:e.prop,xform:e.xform}])),this.renderOrder=n.map(e=>e.tag)}get tag(){return this.options.tagName}render(e,t){let{map:n,renderOrder:r}=this;e.openNode(this.options.tagName),r.forEach(r=>{n[r].xform.render(e,t[n[r].prop])}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;if(this.map[e.name])return this.parser=this.map[e.name].xform,this.parser.parseOpen(e);switch(e.name){case this.options.tagName:return this.model={},!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser&&!this.parser.parseClose(e)){let t=this.map[e];return this.parser.model&&(this.model[t.prop]=this.parser.model),this.parser=void 0,!0}switch(e){case this.options.tagName:return!1;default:return!0}}static{this.OPTIONS={tagName:`font`,fontNameTag:`name`}}},pn=class extends R{constructor(){super(),this.map={color:new V}}get tag(){return`stop`}render(e,t){e.openNode(`stop`),e.addAttribute(`position`,t.position),this.map.color.render(e,t.color),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`stop`:return this.model={position:parseFloat(e.attributes.position)},!0;case`color`:return this.parser=this.map.color,this.parser.parseOpen(e),!0;default:return!1}}parseText(){}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.model.color=this.parser.model,this.parser=void 0),!0):!1}},mn=class extends R{constructor(){super(),this.map={fgColor:new V(`fgColor`),bgColor:new V(`bgColor`)}}get name(){return`pattern`}get tag(){return`patternFill`}render(e,t){e.openNode(`patternFill`),e.addAttribute(`patternType`,t.pattern),t.fgColor&&this.map.fgColor.render(e,t.fgColor),t.bgColor&&this.map.bgColor.render(e,t.bgColor),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`patternFill`:return this.model={type:`pattern`,pattern:e.attributes.patternType},!0;default:return this.parser=this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser.model&&(this.model[e]=this.parser.model),this.parser=void 0),!0):!1}},hn=class extends R{constructor(){super(),this.map={stop:new pn}}get name(){return`gradient`}get tag(){return`gradientFill`}render(e,t){switch(e.openNode(`gradientFill`),t.gradient){case`angle`:e.addAttribute(`degree`,t.degree);break;case`path`:e.addAttribute(`type`,`path`),t.center.left&&(e.addAttribute(`left`,t.center.left),t.center.right===void 0&&e.addAttribute(`right`,t.center.left)),t.center.right&&e.addAttribute(`right`,t.center.right),t.center.top&&(e.addAttribute(`top`,t.center.top),t.center.bottom===void 0&&e.addAttribute(`bottom`,t.center.top)),t.center.bottom&&e.addAttribute(`bottom`,t.center.bottom);break;default:break}let n=this.map.stop;t.stops.forEach(t=>{n.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`gradientFill`:{let t=this.model={stops:[]};return e.attributes.degree?(t.gradient=`angle`,t.degree=parseInt(e.attributes.degree,10)):e.attributes.type===`path`&&(t.gradient=`path`,t.center={left:e.attributes.left?parseFloat(e.attributes.left):0,top:e.attributes.top?parseFloat(e.attributes.top):0},e.attributes.right!==e.attributes.left&&(t.center.right=e.attributes.right?parseFloat(e.attributes.right):0),e.attributes.bottom!==e.attributes.top&&(t.center.bottom=e.attributes.bottom?parseFloat(e.attributes.bottom):0)),!0}case`stop`:return this.parser=this.map.stop,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.model.stops.push(this.parser.model),this.parser=void 0),!0):!1}},gn=class e extends R{constructor(){super(),this.map={patternFill:new mn,gradientFill:new hn}}get tag(){return`fill`}render(e,t){switch(e.addRollback(),e.openNode(`fill`),t.type){case`pattern`:this.map.patternFill.render(e,t);break;case`gradient`:this.map.gradientFill.render(e,t);break;default:e.rollback();return}e.closeNode(),e.commit()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`fill`:return this.model={},!0;default:return this.parser=this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.model=this.parser.model,this.model.type=this.parser.name,this.parser=void 0),!0):!1}validStyle(t){return e.validPatternValues[t]}static{this.validPatternValues=[`none`,`solid`,`darkVertical`,`darkGray`,`mediumGray`,`lightGray`,`gray125`,`gray0625`,`darkHorizontal`,`darkVertical`,`darkDown`,`darkUp`,`darkGrid`,`darkTrellis`,`lightHorizontal`,`lightVertical`,`lightDown`,`lightUp`,`lightGrid`,`lightTrellis`,`lightGrid`].reduce((e,t)=>(e[t]=!0,e),{})}static{this.StopXform=pn}static{this.PatternFillXform=mn}static{this.GradientFillXform=hn}},_n=class e extends R{constructor(e){super(),this.name=e,this.map={color:new V}}get tag(){return this.name}render(e,t,n){let r=t&&t.color||n||this.defaultColor;e.openNode(this.name),t&&t.style&&(e.addAttribute(`style`,t.style),r&&this.map.color.render(e,r)),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.name:{let{style:t}=e.attributes;return t?this.model={style:t}:this.model=void 0,!0}case`color`:return this.parser=this.map.color,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):(e===this.name&&this.map.color.model&&(this.model||={},this.model.color=this.map.color.model),!1)}validStyle(t){return e.validStyleValues[t]}static{this.validStyleValues=[`thin`,`dashed`,`dotted`,`dashDot`,`hair`,`dashDotDot`,`slantDashDot`,`mediumDashed`,`mediumDashDotDot`,`mediumDashDot`,`medium`,`double`,`thick`].reduce((e,t)=>(e[t]=!0,e),{})}},vn=class extends R{constructor(){super(),this.map={top:new _n(`top`),left:new _n(`left`),bottom:new _n(`bottom`),right:new _n(`right`),diagonal:new _n(`diagonal`)}}render(e,t){let{color:n}=t;e.openNode(`border`),t.diagonal&&t.diagonal.style&&(t.diagonal.up&&e.addAttribute(`diagonalUp`,`1`),t.diagonal.down&&e.addAttribute(`diagonalDown`,`1`));let r=(r,i)=>{let a=r;a&&!a.color&&t.color&&(a={...a,color:t.color}),i.render(e,a,n)};r(t.left,this.map.left),r(t.right,this.map.right),r(t.top,this.map.top),r(t.bottom,this.map.bottom),r(t.diagonal,this.map.diagonal),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`border`:return this.reset(),this.diagonalUp=N(e.attributes.diagonalUp),this.diagonalDown=N(e.attributes.diagonalDown),!0;default:return this.parser=this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;if(e===`border`){let e=this.model={},t=(t,n,r)=>{n&&(r&&Object.assign(n,r),e[t]=n)};t(`left`,this.map.left.model),t(`right`,this.map.right.model),t(`top`,this.map.top.model),t(`bottom`,this.map.bottom.model),t(`diagonal`,this.map.diagonal.model,{up:this.diagonalUp,down:this.diagonalDown})}return!1}};const yn={0:{f:`General`},1:{f:`0`},2:{f:`0.00`},3:{f:`#,##0`},4:{f:`#,##0.00`},9:{f:`0%`},10:{f:`0.00%`},11:{f:`0.00E+00`},12:{f:`# ?/?`},13:{f:`# ??/??`},14:{f:`mm-dd-yy`},15:{f:`d-mmm-yy`},16:{f:`d-mmm`},17:{f:`mmm-yy`},18:{f:`h:mm AM/PM`},19:{f:`h:mm:ss AM/PM`},20:{f:`h:mm`},21:{f:`h:mm:ss`},22:{f:`m/d/yy "h":mm`},27:{"zh-tw":`[$-404]e/m/d`,"zh-cn":`yyyy"年"m"月"`,"ja-jp":`[$-411]ge.m.d`,"ko-kr":`yyyy"年" mm"月" dd"日"`},28:{"zh-tw":`[$-404]e"年"m"月"d"日"`,"zh-cn":`m"月"d"日"`,"ja-jp":`[$-411]ggge"年"m"月"d"日"`,"ko-kr":`mm-dd`},29:{"zh-tw":`[$-404]e"年"m"月"d"日"`,"zh-cn":`m"月"d"日"`,"ja-jp":`[$-411]ggge"年"m"月"d"日"`,"ko-kr":`mm-dd`},30:{"zh-tw":`m/d/yy `,"zh-cn":`m-d-yy`,"ja-jp":`m/d/yy`,"ko-kr":`mm-dd-yy`},31:{"zh-tw":`yyyy"年"m"月"d"日"`,"zh-cn":`yyyy"年"m"月"d"日"`,"ja-jp":`yyyy"年"m"月"d"日"`,"ko-kr":`yyyy"년" mm"월" dd"일"`},32:{"zh-tw":`hh"時"mm"分"`,"zh-cn":`h"时"mm"分"`,"ja-jp":`h"時"mm"分"`,"ko-kr":`h"시" mm"분"`},33:{"zh-tw":`hh"時"mm"分"ss"秒"`,"zh-cn":`h"时"mm"分"ss"秒"`,"ja-jp":`h"時"mm"分"ss"秒"`,"ko-kr":`h"시" mm"분" ss"초"`},34:{"zh-tw":`上午/下午 hh"時"mm"分"`,"zh-cn":`上午/下午 h"时"mm"分"`,"ja-jp":`yyyy"年"m"月"`,"ko-kr":`yyyy-mm-dd`},35:{"zh-tw":`上午/下午 hh"時"mm"分"ss"秒"`,"zh-cn":`上午/下午 h"时"mm"分"ss"秒"`,"ja-jp":`m"月"d"日"`,"ko-kr":`yyyy-mm-dd`},36:{"zh-tw":`[$-404]e/m/d`,"zh-cn":`yyyy"年"m"月"`,"ja-jp":`[$-411]ge.m.d`,"ko-kr":`yyyy"年" mm"月" dd"日"`},37:{f:`#,##0 ;(#,##0)`},38:{f:`#,##0 ;[Red](#,##0)`},39:{f:`#,##0.00 ;(#,##0.00)`},40:{f:`#,##0.00 ;[Red](#,##0.00)`},45:{f:`mm:ss`},46:{f:`[h]:mm:ss`},47:{f:`mmss.0`},48:{f:`##0.0E+0`},49:{f:`@`},50:{"zh-tw":`[$-404]e/m/d`,"zh-cn":`yyyy"年"m"月"`,"ja-jp":`[$-411]ge.m.d`,"ko-kr":`yyyy"年" mm"月" dd"日"`},51:{"zh-tw":`[$-404]e"年"m"月"d"日"`,"zh-cn":`m"月"d"日"`,"ja-jp":`[$-411]ggge"年"m"月"d"日"`,"ko-kr":`mm-dd`},52:{"zh-tw":`上午/下午 hh"時"mm"分"`,"zh-cn":`yyyy"年"m"月"`,"ja-jp":`yyyy"年"m"月"`,"ko-kr":`yyyy-mm-dd`},53:{"zh-tw":`上午/下午 hh"時"mm"分"ss"秒"`,"zh-cn":`m"月"d"日"`,"ja-jp":`m"月"d"日"`,"ko-kr":`yyyy-mm-dd`},54:{"zh-tw":`[$-404]e"年"m"月"d"日"`,"zh-cn":`m"月"d"日"`,"ja-jp":`[$-411]ggge"年"m"月"d"日"`,"ko-kr":`mm-dd`},55:{"zh-tw":`上午/下午 hh"時"mm"分"`,"zh-cn":`上午/下午 h"时"mm"分"`,"ja-jp":`yyyy"年"m"月"`,"ko-kr":`yyyy-mm-dd`},56:{"zh-tw":`上午/下午 hh"時"mm"分"ss"秒"`,"zh-cn":`上午/下午 h"时"mm"分"ss"秒"`,"ja-jp":`m"月"d"日"`,"ko-kr":`yyyy-mm-dd`},57:{"zh-tw":`[$-404]e/m/d`,"zh-cn":`yyyy"年"m"月"`,"ja-jp":`[$-411]ge.m.d`,"ko-kr":`yyyy"年" mm"月" dd"日"`},58:{"zh-tw":`[$-404]e"年"m"月"d"日"`,"zh-cn":`m"月"d"日"`,"ja-jp":`[$-411]ggge"年"m"月"d"日"`,"ko-kr":`mm-dd`},59:{"th-th":`t0`},60:{"th-th":`t0.00`},61:{"th-th":`t#,##0`},62:{"th-th":`t#,##0.00`},67:{"th-th":`t0%`},68:{"th-th":`t0.00%`},69:{"th-th":`t# ?/?`},70:{"th-th":`t# ??/??`},81:{"th-th":`d/m/bb`}};function bn(){let e={};return Object.entries(yn).forEach(([t,n])=>{n.f&&(e[n.f]=parseInt(t,10))}),e}const xn=bn();var Sn=class extends R{constructor(e,t){super(),this.id=e,this.formatCode=t}get tag(){return`numFmt`}render(e,t){e.leafNode(`numFmt`,{numFmtId:t.id,formatCode:t.formatCode})}parseOpen(e){switch(e.name){case`numFmt`:return this.model={id:parseInt(e.attributes.numFmtId,10),formatCode:e.attributes.formatCode.replace(/[\\](.)/g,`$1`)},!0;default:return!1}}parseText(){}parseClose(){return!1}static getDefaultFmtId(e){return xn[e]}static getDefaultFmtCode(e){return yn[e]&&yn[e].f}};const Cn={ReadingOrder:{LeftToRight:1,RightToLeft:2}},G={horizontalValues:[`left`,`center`,`right`,`fill`,`centerContinuous`,`distributed`,`justify`].reduce((e,t)=>(e[t]=!0,e),{}),horizontal(e){return this.horizontalValues[e]?e:void 0},verticalValues:[`top`,`middle`,`bottom`,`distributed`,`justify`].reduce((e,t)=>(e[t]=!0,e),{}),vertical(e){return e===`middle`?`center`:this.verticalValues[e]?e:void 0},wrapText(e){return e?!0:void 0},shrinkToFit(e){return e?!0:void 0},textRotation(e){switch(e){case`vertical`:return e;default:{let t=Ee(e);return t!==void 0&&t>=-90&&t<=90?t:void 0}}},indent(e){let t=Ee(e);return Math.max(0,t)},readingOrder(e){switch(e){case`ltr`:return Cn.ReadingOrder.LeftToRight;case`rtl`:return Cn.ReadingOrder.RightToLeft;default:return}}},wn={toXml(e){let t=G.textRotation(e);if(t){if(t===`vertical`)return 255;let e=Math.round(t);if(e>=0&&e<=90)return e;if(e<0&&e>=-90)return 90-e}},toModel(e){let t=Ee(e);if(t!==void 0){if(t===255)return`vertical`;if(t>=0&&t<=90)return t;if(t>90&&t<=180)return 90-t}}};var Tn=class extends R{get tag(){return`alignment`}render(e,t){e.addRollback(),e.openNode(`alignment`);let n=!1;function r(t,r){r&&(e.addAttribute(t,r),n=!0)}r(`horizontal`,G.horizontal(t.horizontal)),r(`vertical`,G.vertical(t.vertical)),r(`wrapText`,G.wrapText(t.wrapText)?`1`:!1),r(`shrinkToFit`,G.shrinkToFit(t.shrinkToFit)?`1`:!1),r(`indent`,G.indent(t.indent)),r(`textRotation`,wn.toXml(t.textRotation)),r(`readingOrder`,G.readingOrder(t.readingOrder)),e.closeNode(),n?e.commit():e.rollback()}parseOpen(e){let t={},n=!1;function r(e,r,i){e&&(t[r]=i,n=!0)}r(e.attributes.horizontal,`horizontal`,e.attributes.horizontal),r(e.attributes.vertical,`vertical`,e.attributes.vertical===`center`?`middle`:e.attributes.vertical),r(e.attributes.wrapText,`wrapText`,N(e.attributes.wrapText)),r(e.attributes.shrinkToFit,`shrinkToFit`,N(e.attributes.shrinkToFit)),r(e.attributes.indent,`indent`,parseInt(e.attributes.indent,10)),r(e.attributes.textRotation,`textRotation`,wn.toModel(e.attributes.textRotation)),r(e.attributes.readingOrder,`readingOrder`,e.attributes.readingOrder===`2`?`rtl`:`ltr`),this.model=n?t:null}parseText(){}parseClose(){return!1}};const En={boolean(e,t){return e===void 0?t:e}};var Dn=class extends R{get tag(){return`protection`}render(e,t){e.addRollback(),e.openNode(`protection`);let n=!1;function r(t,r){r!==void 0&&(e.addAttribute(t,r),n=!0)}r(`locked`,En.boolean(t.locked,!0)?void 0:`0`),r(`hidden`,En.boolean(t.hidden,!1)?`1`:void 0),e.closeNode(),n?e.commit():e.rollback()}parseOpen(e){let t={locked:e.attributes.locked!==`0`,hidden:e.attributes.hidden===`1`};this.model=!t.locked||t.hidden?t:null}parseText(){}parseClose(){return!1}},On=class extends R{constructor(e){super(),this.xfId=!!(e&&e.xfId),this.map={alignment:new Tn,protection:new Dn}}get tag(){return`xf`}render(e,t){e.openNode(`xf`,{numFmtId:t.numFmtId||0,fontId:t.fontId||0,fillId:t.fillId||0,borderId:t.borderId||0}),this.xfId&&e.addAttribute(`xfId`,t.xfId||0),t.numFmtId&&e.addAttribute(`applyNumberFormat`,`1`),t.fontId&&e.addAttribute(`applyFont`,`1`),t.fillId&&e.addAttribute(`applyFill`,`1`),t.borderId&&e.addAttribute(`applyBorder`,`1`),t.alignment&&e.addAttribute(`applyAlignment`,`1`),t.protection&&e.addAttribute(`applyProtection`,`1`),t.alignment&&this.map.alignment.render(e,t.alignment),t.protection&&this.map.protection.render(e,t.protection),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`xf`:return this.model={numFmtId:parseInt(e.attributes.numFmtId,10),fontId:parseInt(e.attributes.fontId,10),fillId:parseInt(e.attributes.fillId,10),borderId:parseInt(e.attributes.borderId,10)},this.xfId&&(this.model.xfId=parseInt(e.attributes.xfId,10)),!0;case`alignment`:return this.parser=this.map.alignment,this.parser.parseOpen(e),!0;case`protection`:return this.parser=this.map.protection,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.map.protection===this.parser?this.model.protection=this.parser.model:this.model.alignment=this.parser.model,this.parser=void 0),!0):e!==`xf`}},kn=class extends R{constructor(){super(),this.map={alignment:new Tn,border:new vn,fill:new gn,font:new fn,numFmt:new Sn,protection:new Dn}}get tag(){return`dxf`}render(e,t){if(e.openNode(this.tag),t.font&&this.map.font.render(e,t.font),t.numFmt&&t.numFmtId){let n={id:t.numFmtId,formatCode:t.numFmt};this.map.numFmt.render(e,n)}t.fill&&this.map.fill.render(e,t.fill),t.alignment&&this.map.alignment.render(e,t.alignment),t.border&&this.map.border.render(e,t.border),t.protection&&this.map.protection.render(e,t.protection),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.reset(),!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):e===this.tag?(this.model={alignment:this.map.alignment.model,border:this.map.border.model,fill:this.map.fill.model,font:this.map.font.model,numFmt:this.map.numFmt.model,protection:this.map.protection.model},!1):!0}},An=class e extends R{constructor(t){super(),this.map={numFmts:new B({tag:`numFmts`,count:!0,childXform:new Sn}),fonts:new B({tag:`fonts`,count:!0,childXform:new fn,$:{"x14ac:knownFonts":1}}),fills:new B({tag:`fills`,count:!0,childXform:new gn}),borders:new B({tag:`borders`,count:!0,childXform:new vn}),cellStyleXfs:new B({tag:`cellStyleXfs`,count:!0,childXform:new On}),cellXfs:new B({tag:`cellXfs`,count:!0,childXform:new On({xfId:!0})}),dxfs:new B({tag:`dxfs`,always:!0,count:!0,childXform:new kn}),numFmt:new Sn,font:new fn,fill:new gn,border:new vn,style:new On({xfId:!0}),cellStyles:e.STATIC_XFORMS.cellStyles,tableStyles:e.STATIC_XFORMS.tableStyles,extLst:e.STATIC_XFORMS.extLst},t&&this.init()}initIndex(){this.index={style:{},numFmt:{},numFmtNextId:164,font:{},border:{},fill:{}}}init(){this.model={styles:[],numFmts:[],fonts:[],borders:[],fills:[],dxfs:[]},this.initIndex(),this._addBorder({}),this._addStyle({numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}),this._addFill({type:`pattern`,pattern:`none`}),this._addFill({type:`pattern`,pattern:`gray125`}),this.weakMap=new WeakMap}render(t,n){let r=n||this.model;t.openXml(F.StdDocAttributes),t.openNode(`styleSheet`,e.STYLESHEET_ATTRIBUTES),this.index?(r.numFmts&&r.numFmts.length&&(t.openNode(`numFmts`,{count:r.numFmts.length}),r.numFmts.forEach(e=>{t.writeXml(e)}),t.closeNode()),r.fonts.length||this._addFont({size:11,color:{theme:1},name:`Calibri`,family:2,scheme:`minor`}),t.openNode(`fonts`,{count:r.fonts.length,"x14ac:knownFonts":1}),r.fonts.forEach(e=>{t.writeXml(e)}),t.closeNode(),t.openNode(`fills`,{count:r.fills.length}),r.fills.forEach(e=>{t.writeXml(e)}),t.closeNode(),t.openNode(`borders`,{count:r.borders.length}),r.borders.forEach(e=>{t.writeXml(e)}),t.closeNode(),this.map.cellStyleXfs.render(t,[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}]),t.openNode(`cellXfs`,{count:r.styles.length}),r.styles.forEach(e=>{t.writeXml(e)}),t.closeNode()):(this.map.numFmts.render(t,r.numFmts),this.map.fonts.render(t,r.fonts),this.map.fills.render(t,r.fills),this.map.borders.render(t,r.borders),this.map.cellStyleXfs.render(t,[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}]),this.map.cellXfs.render(t,r.styles)),e.STATIC_XFORMS.cellStyles.render(t),this.map.dxfs.render(t,r.dxfs),e.STATIC_XFORMS.tableStyles.render(t),e.STATIC_XFORMS.extLst.render(t),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`styleSheet`:return this.initIndex(),!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case`styleSheet`:{this.model={};let e=(e,t)=>{t.model&&t.model.length&&(this.model[e]=t.model)};if(e(`numFmts`,this.map.numFmts),e(`fonts`,this.map.fonts),e(`fills`,this.map.fills),e(`borders`,this.map.borders),e(`styles`,this.map.cellXfs),e(`dxfs`,this.map.dxfs),this.index={model:[],numFmt:{}},this.model.numFmts){let e=this.index.numFmt;this.model.numFmts.forEach(t=>{e[t.id]=t.formatCode})}return!1}default:return!0}}addStyleModel(e,t){if(!e)return 0;if(this.model.fonts.length||this._addFont({size:11,color:{theme:1},name:`Calibri`,family:2,scheme:`minor`}),this.weakMap&&this.weakMap.has(e))return this.weakMap.get(e);let n={},r=t||l.ValueType.Number;if(e.numFmt)n.numFmtId=this._addNumFmtStr(e.numFmt);else switch(r){case l.ValueType.Number:n.numFmtId=this._addNumFmtStr(`General`);break;case l.ValueType.Date:n.numFmtId=this._addNumFmtStr(`mm-dd-yy`);break;default:break}e.font&&(n.fontId=this._addFont(e.font)),e.border&&(n.borderId=this._addBorder(e.border)),e.fill&&(n.fillId=this._addFill(e.fill)),e.alignment&&(n.alignment=e.alignment),e.protection&&(n.protection=e.protection);let i=this._addStyle(n);return this.weakMap&&this.weakMap.set(e,i),i}getStyleModel(e){let t=this.model.styles[e];if(!t)return null;let n=this.index.model[e];if(n)return n;if(n=this.index.model[e]={},t.numFmtId){let e=this.index.numFmt[t.numFmtId]||Sn.getDefaultFmtCode(t.numFmtId);e&&(n.numFmt=e)}function r(e,t,r){if(r||r===0){let i=t[r];i&&(n[e]=i)}}return r(`font`,this.model.fonts,t.fontId),r(`border`,this.model.borders,t.borderId),r(`fill`,this.model.fills,t.fillId),t.alignment&&(n.alignment=t.alignment),t.protection&&(n.protection=t.protection),n}addDxfStyle(e){return e.numFmt&&(e.numFmtId=this._addNumFmtStr(e.numFmt)),this.model.dxfs.push(e),this.model.dxfs.length-1}getDxfStyle(e){return this.model.dxfs[e]}_addStyle(e){let t=this.map.style.toXml(e),n=this.index.style[t];return n===void 0&&(n=this.index.style[t]=this.model.styles.length,this.model.styles.push(t)),n}_addNumFmtStr(e){let t=Sn.getDefaultFmtId(e);if(t!==void 0||(t=this.index.numFmt[e],t!==void 0))return t;t=this.index.numFmt[e]=164+this.model.numFmts.length;let n=this.map.numFmt.toXml({id:t,formatCode:e});return this.model.numFmts.push(n),t}_addFont(e){let t=this.map.font.toXml(e),n=this.index.font[t];return n===void 0&&(n=this.index.font[t]=this.model.fonts.length,this.model.fonts.push(t)),n}_addBorder(e){let t=this.map.border.toXml(e),n=this.index.border[t];return n===void 0&&(n=this.index.border[t]=this.model.borders.length,this.model.borders.push(t)),n}_addFill(e){let t=this.map.fill.toXml(e),n=this.index.fill[t];return n===void 0&&(n=this.index.fill[t]=this.model.fills.length,this.model.fills.push(t)),n}static{this.STYLESHEET_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/spreadsheetml/2006/main`,"xmlns:mc":`http://schemas.openxmlformats.org/markup-compatibility/2006`,"mc:Ignorable":`x14ac x16r2`,"xmlns:x14ac":`http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac`,"xmlns:x16r2":`http://schemas.microsoft.com/office/spreadsheetml/2015/02/main`}}static{this.STATIC_XFORMS={cellStyles:new z({tag:`cellStyles`,$:{count:1},c:[{tag:`cellStyle`,$:{name:`Normal`,xfId:0,builtinId:0}}]}),dxfs:new z({tag:`dxfs`,$:{count:0}}),tableStyles:new z({tag:`tableStyles`,$:{count:0,defaultTableStyle:`TableStyleMedium2`,defaultPivotStyle:`PivotStyleLight16`}}),extLst:new z({tag:`extLst`,c:[{tag:`ext`,$:{uri:`{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}`,"xmlns:x14":`http://schemas.microsoft.com/office/spreadsheetml/2009/9/main`},c:[{tag:`x14:slicerStyles`,$:{defaultSlicerStyle:`SlicerStyleLight1`}}]},{tag:`ext`,$:{uri:`{9260A510-F301-46a8-8635-F512D64BE5F5}`,"xmlns:x15":`http://schemas.microsoft.com/office/spreadsheetml/2010/11/main`},c:[{tag:`x15:timelineStyles`,$:{defaultTimelineStyle:`TimeSlicerStyleLight1`}}]}]})}}};An.Mock=class extends An{constructor(){super(),this.model={styles:[{numFmtId:0,fontId:0,fillId:0,borderId:0,xfId:0}],numFmts:[],fonts:[{size:11,color:{theme:1},name:`Calibri`,family:2,scheme:`minor`}],borders:[{}],fills:[{type:`pattern`,pattern:`none`},{type:`pattern`,pattern:`gray125`}]}}parseStream(e){return e.autodrain(),Promise.resolve()}addStyleModel(e,t){switch(t){case l.ValueType.Date:return this.dateStyleId;default:return 0}}get dateStyleId(){if(!this._dateStyleId){let e={numFmtId:Sn.getDefaultFmtId(`mm-dd-yy`)};this._dateStyleId=this.model.styles.length,this.model.styles.push(e)}return this._dateStyleId}getStyleModel(){return{}}};var jn=class extends R{constructor(e){super(),this.tag=e.tag,this.attr=e.attr,this.attrs=e.attrs,this.text=[],this._format=e.format||function(e){try{return Number.isNaN(e.getTime())?``:e.toISOString()}catch{return``}},this._parse=e.parse||function(e){return new Date(e)}}render(e,t){t&&(e.openNode(this.tag),this.attrs&&e.addAttributes(this.attrs),this.attr?e.addAttribute(this.attr,this._format(t)):e.writeText(this._format(t)),e.closeNode())}parseOpen(e){e.name===this.tag&&(this.attr?this.model=this._parse(e.attributes[this.attr]):this.text=[])}parseText(e){this.attr||this.text.push(e)}parseClose(){return this.attr||(this.model=this._parse(this.text.join(``))),!1}},Mn=class e extends R{constructor(){super(),this.map={"dc:creator":new W({tag:`dc:creator`}),"dc:title":new W({tag:`dc:title`}),"dc:subject":new W({tag:`dc:subject`}),"dc:description":new W({tag:`dc:description`}),"dc:identifier":new W({tag:`dc:identifier`}),"dc:language":new W({tag:`dc:language`}),"cp:keywords":new W({tag:`cp:keywords`}),"cp:category":new W({tag:`cp:category`}),"cp:lastModifiedBy":new W({tag:`cp:lastModifiedBy`}),"cp:lastPrinted":new jn({tag:`cp:lastPrinted`,format:e.DateFormat}),"cp:revision":new U({tag:`cp:revision`}),"cp:version":new W({tag:`cp:version`}),"cp:contentStatus":new W({tag:`cp:contentStatus`}),"cp:contentType":new W({tag:`cp:contentType`}),"dcterms:created":new jn({tag:`dcterms:created`,attrs:e.DateAttrs,format:e.DateFormat}),"dcterms:modified":new jn({tag:`dcterms:modified`,attrs:e.DateAttrs,format:e.DateFormat})}}render(t,n){t.openXml(F.StdDocAttributes),t.openNode(`cp:coreProperties`,e.CORE_PROPERTY_ATTRIBUTES),this.map[`dc:creator`].render(t,n.creator),this.map[`dc:title`].render(t,n.title),this.map[`dc:subject`].render(t,n.subject),this.map[`dc:description`].render(t,n.description),this.map[`dc:identifier`].render(t,n.identifier),this.map[`dc:language`].render(t,n.language),this.map[`cp:keywords`].render(t,n.keywords),this.map[`cp:category`].render(t,n.category),this.map[`cp:lastModifiedBy`].render(t,n.lastModifiedBy),this.map[`cp:lastPrinted`].render(t,n.lastPrinted),this.map[`cp:revision`].render(t,n.revision),this.map[`cp:version`].render(t,n.version),this.map[`cp:contentStatus`].render(t,n.contentStatus),this.map[`cp:contentType`].render(t,n.contentType),this.map[`dcterms:created`].render(t,n.created),this.map[`dcterms:modified`].render(t,n.modified),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`cp:coreProperties`:case`coreProperties`:return!0;default:if(this.parser=this.map[e.name],this.parser)return this.parser.parseOpen(e),!0;throw Error(`Unexpected xml node in parseOpen: ${JSON.stringify(e)}`)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case`cp:coreProperties`:case`coreProperties`:return this.model={creator:this.map[`dc:creator`].model,title:this.map[`dc:title`].model,subject:this.map[`dc:subject`].model,description:this.map[`dc:description`].model,identifier:this.map[`dc:identifier`].model,language:this.map[`dc:language`].model,keywords:this.map[`cp:keywords`].model,category:this.map[`cp:category`].model,lastModifiedBy:this.map[`cp:lastModifiedBy`].model,lastPrinted:this.map[`cp:lastPrinted`].model,revision:this.map[`cp:revision`].model,contentStatus:this.map[`cp:contentStatus`].model,contentType:this.map[`cp:contentType`].model,created:this.map[`dcterms:created`].model,modified:this.map[`dcterms:modified`].model},!1;default:throw Error(`Unexpected xml node in parseClose: ${e}`)}}static{this.DateFormat=function(e){return e.toISOString().replace(/[.]\d{3}/,``)}}static{this.DateAttrs={"xsi:type":`dcterms:W3CDTF`}}static{this.CORE_PROPERTY_ATTRIBUTES={"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`}}},Nn=class extends R{get tag(){return`t`}render(e,t){e.openNode(`t`),/^\s|\n|\s$/.test(t)&&e.addAttribute(`xml:space`,`preserve`),e.writeText(t),e.closeNode()}parseOpen(e){switch(e.name){case`t`:return this._text=[],this.model=``,!0;default:return!1}}parseText(e){this._text.push(e),this.model=this._text.join(``).replace(/_x([0-9A-F]{4})_/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}parseClose(){return!1}},Pn=class e extends R{constructor(e){super(),this.model=e}get tag(){return`r`}get textXform(){return this._textXform||=new Nn}get fontXform(){return this._fontXform||=new fn(e.FONT_OPTIONS)}render(e,t){let n=t||this.model;e.openNode(`r`),n.font&&this.fontXform.render(e,n.font),this.textXform.render(e,n.text),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`r`:return this.model={},!0;case`t`:return this.parser=this.textXform,this.parser.parseOpen(e),!0;case`rPr`:return this.parser=this.fontXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){switch(e){case`r`:return!1;case`t`:return this.model.text=this.parser.model,this.parser=void 0,!0;case`rPr`:return this.model.font=this.parser.model,this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}static{this.FONT_OPTIONS={tagName:`rPr`,fontNameTag:`rFont`}}},Fn=class extends R{constructor(){super(),this.map={r:new Pn,t:new Nn}}get tag(){return`rPh`}render(e,t){if(e.openNode(this.tag,{sb:t.sb||0,eb:t.eb||0}),t&&Object.prototype.hasOwnProperty.call(t,`richText`)&&t.richText){let{r:n}=this.map;t.richText.forEach(t=>{n.render(e,t)})}else t&&this.map.t.render(e,t.text);e.closeNode()}parseOpen(e){let{name:t}=e;return this.parser?(this.parser.parseOpen(e),!0):t===this.tag?(this.model={sb:parseInt(e.attributes.sb,10),eb:parseInt(e.attributes.eb,10)},!0):(this.parser=this.map[t],this.parser?(this.parser.parseOpen(e),!0):!1)}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){switch(e){case`r`:{let e=this.model.richText;e||=this.model.richText=[],e.push(this.parser.model);break}case`t`:this.model.text=this.parser.model;break;default:break}this.parser=void 0}return!0}switch(e){case this.tag:return!1;default:return!0}}},In=class extends R{constructor(e){super(),this.model=e,this.map={r:new Pn,t:new Nn,rPh:new Fn}}get tag(){return`si`}render(e,t){e.openNode(this.tag),t&&typeof t==`object`&&Object.prototype.hasOwnProperty.call(t,`richText`)&&t.richText?t.richText.length?t.richText.forEach(t=>{this.map.r.render(e,t)}):this.map.t.render(e,``):t!=null&&this.map.t.render(e,t),e.closeNode()}parseOpen(e){let{name:t}=e;return this.parser?(this.parser.parseOpen(e),!0):t===this.tag?(this.model={},!0):(this.parser=this.map[t],this.parser?(this.parser.parseOpen(e),!0):!1)}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){switch(e){case`r`:{let e=this.model.richText;e||=this.model.richText=[],e.push(this.parser.model);break}case`t`:this.model=this.parser.model;break;default:break}this.parser=void 0}return!0}switch(e){case this.tag:return!1;default:return!0}}},Ln=class extends R{constructor(e){super(),this.model=e||{values:[],count:0},this.hash=Object.create(null),this.rich=Object.create(null)}get sharedStringXform(){return this._sharedStringXform||=new In}get values(){return this.model.values}get uniqueCount(){return this.model.values.length}get count(){return this.model.count}getString(e){return this.model.values[e]}add(e){return e.richText?this.addRichText(e):this.addText(e)}addText(e){let t=this.hash[e];return t===void 0&&(t=this.hash[e]=this.model.values.length,this.model.values.push(e)),this.model.count++,t}addRichText(e){let t=this.sharedStringXform.toXml(e),n=this.rich[t];return n===void 0&&(n=this.rich[t]=this.model.values.length,this.model.values.push(e)),this.model.count++,n}render(e,t){let n=t||this._values;e.openXml(F.StdDocAttributes),e.openNode(`sst`,{xmlns:`http://schemas.openxmlformats.org/spreadsheetml/2006/main`,count:n.count,uniqueCount:n.values.length});let r=this.sharedStringXform;n.values.forEach(t=>{r.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`sst`:return!0;case`si`:return this.parser=this.sharedStringXform,this.parser.parseOpen(e),!0;default:throw Error(`Unexpected xml node in parseOpen: ${JSON.stringify(e)}`)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.values.push(this.parser.model),this.model.count++,this.parser=void 0),!0;switch(e){case`sst`:return!1;default:throw Error(`Unexpected xml node in parseClose: ${e}`)}}},Rn=class extends R{render(e,t){e.leafNode(`Relationship`,t)}parseOpen(e){switch(e.name){case`Relationship`:return this.model=e.attributes,!0;default:return!1}}parseText(){}parseClose(){return!1}},K=class e extends R{constructor(){super(),this.map={Relationship:new Rn}}render(t,n){let r=n||this._values;t.openXml(F.StdDocAttributes),t.openNode(`Relationships`,e.RELATIONSHIPS_ATTRIBUTES),r.forEach(e=>{this.map.Relationship.render(t,e)}),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`Relationships`:return this.model=[],!0;default:if(this.parser=this.map[e.name],this.parser)return this.parser.parseOpen(e),!0;throw Error(`Unexpected xml node in parseOpen: ${JSON.stringify(e)}`)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.push(this.parser.model),this.parser=void 0),!0;switch(e){case`Relationships`:return!1;default:throw Error(`Unexpected xml node in parseClose: ${e}`)}}static{this.RELATIONSHIPS_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/package/2006/relationships`}}},zn=class e extends R{render(t,n){t.openXml(F.StdDocAttributes),t.openNode(`Types`,e.PROPERTY_ATTRIBUTES);let r={};(n.media||[]).forEach(e=>{if(e.type===`image`){let n=e.extension;r[n]||(r[n]=!0,t.leafNode(`Default`,{Extension:n,ContentType:`image/${n}`}))}}),t.leafNode(`Default`,{Extension:`rels`,ContentType:`application/vnd.openxmlformats-package.relationships+xml`}),t.leafNode(`Default`,{Extension:`xml`,ContentType:`application/xml`}),t.leafNode(`Override`,{PartName:`/xl/workbook.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml`}),n.worksheets.forEach((e,n)=>{let r=`/xl/worksheets/sheet${e.fileIndex||n+1}.xml`;t.leafNode(`Override`,{PartName:r,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml`})}),(n.pivotTables||[]).length&&(n.pivotTables||[]).forEach(e=>{let n=e.tableNumber;t.leafNode(`Override`,{PartName:`/xl/pivotCache/pivotCacheDefinition${n}.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml`}),t.leafNode(`Override`,{PartName:`/xl/pivotCache/pivotCacheRecords${n}.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml`})}),t.leafNode(`Override`,{PartName:`/xl/theme/theme1.xml`,ContentType:`application/vnd.openxmlformats-officedocument.theme+xml`}),t.leafNode(`Override`,{PartName:`/xl/styles.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml`}),n.sharedStrings&&n.sharedStrings.count&&t.leafNode(`Override`,{PartName:`/xl/sharedStrings.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml`}),n.tables&&n.tables.forEach(e=>{t.leafNode(`Override`,{PartName:`/xl/tables/${e.target}`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml`})}),(n.pivotTables||[]).length&&(n.pivotTables||[]).forEach(e=>{let n=e.tableNumber;t.leafNode(`Override`,{PartName:`/xl/pivotTables/pivotTable${n}.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml`})}),n.drawings&&n.drawings.forEach(e=>{t.leafNode(`Override`,{PartName:`/xl/drawings/${e.name}.xml`,ContentType:`application/vnd.openxmlformats-officedocument.drawing+xml`})}),n.commentRefs&&n.commentRefs.length&&(t.leafNode(`Default`,{Extension:`vml`,ContentType:`application/vnd.openxmlformats-officedocument.vmlDrawing`}),n.commentRefs.forEach(({commentName:e})=>{t.leafNode(`Override`,{PartName:`/xl/${e}.xml`,ContentType:`application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml`})})),t.leafNode(`Override`,{PartName:`/docProps/core.xml`,ContentType:`application/vnd.openxmlformats-package.core-properties+xml`}),t.leafNode(`Override`,{PartName:`/docProps/app.xml`,ContentType:`application/vnd.openxmlformats-officedocument.extended-properties+xml`}),t.closeNode()}parseOpen(){return!1}parseText(){}parseClose(){return!1}static{this.PROPERTY_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/package/2006/content-types`}}},Bn=class extends R{render(e,t){e.openNode(`HeadingPairs`),e.openNode(`vt:vector`,{size:2,baseType:`variant`}),e.openNode(`vt:variant`),e.leafNode(`vt:lpstr`,void 0,`Worksheets`),e.closeNode(),e.openNode(`vt:variant`),e.leafNode(`vt:i4`,void 0,t.length),e.closeNode(),e.closeNode(),e.closeNode()}parseOpen(e){return e.name===`HeadingPairs`}parseText(){}parseClose(e){return e!==`HeadingPairs`}},Vn=class extends R{render(e,t){e.openNode(`TitlesOfParts`),e.openNode(`vt:vector`,{size:t.length,baseType:`lpstr`}),t.forEach(t=>{e.leafNode(`vt:lpstr`,void 0,t.name)}),e.closeNode(),e.closeNode()}parseOpen(e){return e.name===`TitlesOfParts`}parseText(){}parseClose(e){return e!==`TitlesOfParts`}},Hn=class e extends R{constructor(){super(),this.map={Company:new W({tag:`Company`}),Manager:new W({tag:`Manager`}),HeadingPairs:new Bn,TitleOfParts:new Vn}}render(t,n){t.openXml(F.StdDocAttributes),t.openNode(`Properties`,e.PROPERTY_ATTRIBUTES),t.leafNode(`Application`,void 0,`Microsoft Excel`),t.leafNode(`DocSecurity`,void 0,`0`),t.leafNode(`ScaleCrop`,void 0,`false`),this.map.HeadingPairs.render(t,n.worksheets),this.map.TitleOfParts.render(t,n.worksheets),this.map.Company.render(t,n.company||``),this.map.Manager.render(t,n.manager),t.leafNode(`LinksUpToDate`,void 0,`false`),t.leafNode(`SharedDoc`,void 0,`false`),t.leafNode(`HyperlinksChanged`,void 0,`false`),t.leafNode(`AppVersion`,void 0,`16.0300`),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`Properties`:return!0;default:return this.parser=this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case`Properties`:return this.model={worksheets:this.map.TitleOfParts.model,company:this.map.Company.model,manager:this.map.Manager.model},!1;default:return!0}}static{this.DateFormat=function(e){return e.toISOString().replace(/[.]\d{3,6}/,``)}}static{this.DateAttrs={"xsi:type":`dcterms:W3CDTF`}}static{this.PROPERTY_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/officeDocument/2006/extended-properties`,"xmlns:vt":`http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes`}}},Un=class extends R{constructor(){super(),this._parsedText=[]}render(e,t){e.openNode(`definedName`,{name:t.name,localSheetId:t.localSheetId}),e.writeText(t.ranges.join(`,`)),e.closeNode()}parseOpen(e){switch(e.name){case`definedName`:return this._parsedName=e.attributes.name,this._parsedLocalSheetId=e.attributes.localSheetId,this._parsedText=[],!0;default:return!1}}parseText(e){this._parsedText.push(e)}parseClose(){return this.model={name:this._parsedName,ranges:Jn(this._parsedText.join(``))},this._parsedLocalSheetId!==void 0&&(this.model.localSheetId=parseInt(this._parsedLocalSheetId,10)),!1}};const Wn=/^[$]?[A-Za-z]{1,3}[$]?\d+(:[$]?[A-Za-z]{1,3}[$]?\d+)?$/,Gn=/^[$]?\d+:[$]?\d+$/,Kn=/^[$]?[A-Za-z]{1,3}:[$]?[A-Za-z]{1,3}$/;function qn(e){if(e.startsWith(`{`)||e.endsWith(`}`))return!1;let n=e.split(`!`).pop()||``;if(!Wn.test(n)&&!Gn.test(n)&&!Kn.test(n))return!1;try{let n=t.decodeEx(e);return`row`in n&&typeof n.row==`number`||`top`in n&&typeof n.top==`number`||`left`in n&&typeof n.left==`number`}catch{return!1}}function Jn(e){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`))return[];let n=[],r=!1,i=``;return e.split(`,`).forEach(e=>{if(!e)return;let t=(e.match(/'/g)||[]).length;if(!t){r?i+=`${e},`:qn(e)&&n.push(e);return}let a=t%2==0;!r&&a&&qn(e)?n.push(e):r&&!a?(r=!1,qn(i+e)&&n.push(i+e),i=``):(r=!0,i+=`${e},`)}),n}var Yn=class extends R{render(e,t){e.leafNode(`sheet`,{name:t.name,sheetId:t.id,state:t.state===`visible`?void 0:t.state,"r:id":t.rId})}parseOpen(e){return e.name===`sheet`?(this.model={name:Te(e.attributes.name),id:parseInt(e.attributes.sheetId,10),state:e.attributes.state,rId:e.attributes[`r:id`]},!0):!1}parseText(){}parseClose(){return!1}},Xn=class extends R{render(e,t){let n={xWindow:t.x||0,yWindow:t.y||0,windowWidth:t.width||12e3,windowHeight:t.height||24e3,firstSheet:t.firstSheet,activeTab:t.activeTab};t.visibility&&t.visibility!==`visible`&&(n.visibility=t.visibility),e.leafNode(`workbookView`,n)}parseOpen(e){if(e.name===`workbookView`){let t=this.model={},n=function(e,n,r){t[e]=n===void 0?r:n},r=function(e,n,r){let i=n===void 0?r:parseInt(n,10);i!==void 0&&(t[e]=i)};return r(`x`,e.attributes.xWindow,0),r(`y`,e.attributes.yWindow,0),r(`width`,e.attributes.windowWidth,25e3),r(`height`,e.attributes.windowHeight,1e4),n(`visibility`,e.attributes.visibility,`visible`),r(`activeTab`,e.attributes.activeTab,void 0),r(`firstSheet`,e.attributes.firstSheet,void 0),!0}return!1}parseText(){}parseClose(){return!1}},Zn=class extends R{render(e,t){e.leafNode(`workbookPr`,{date1904:t.date1904?1:void 0,filterPrivacy:1})}parseOpen(e){return e.name===`workbookPr`?(this.model={date1904:e.attributes.date1904===`1`},!0):!1}parseText(){}parseClose(){return!1}},Qn=class extends R{render(e,t){e.leafNode(`calcPr`,{calcId:171027,fullCalcOnLoad:t.fullCalcOnLoad?1:void 0})}parseOpen(e){return e.name===`calcPr`?(this.model={},!0):!1}parseText(){}parseClose(){return!1}},$n=class extends R{render(e,t){e.leafNode(`pivotCache`,{cacheId:t.cacheId,"r:id":t.rId})}parseOpen(e){return e.name===`pivotCache`?(this.model={cacheId:e.attributes.cacheId,rId:e.attributes[`r:id`]},!0):!1}parseText(){}parseClose(){return!1}},er=class e extends R{constructor(){super(),this.map={fileVersion:e.STATIC_XFORMS.fileVersion,workbookPr:new Zn,bookViews:new B({tag:`bookViews`,count:!1,childXform:new Xn}),sheets:new B({tag:`sheets`,count:!1,childXform:new Yn}),definedNames:new B({tag:`definedNames`,count:!1,childXform:new Un}),calcPr:new Qn,pivotCaches:new B({tag:`pivotCaches`,count:!1,childXform:new $n})}}prepare(e){e.sheets=e.worksheets;let t=[],n=0;e.sheets.forEach(e=>{if(e.pageSetup&&e.pageSetup.printArea&&e.pageSetup.printArea.split(`&&`).forEach(r=>{let i=r.split(`:`),a={name:`_xlnm.Print_Area`,ranges:[`'${e.name}'!$${i[0]}:$${i[1]}`],localSheetId:n};t.push(a)}),e.pageSetup&&(e.pageSetup.printTitlesRow||e.pageSetup.printTitlesColumn)){let r=[];if(e.pageSetup.printTitlesColumn){let t=e.pageSetup.printTitlesColumn.split(`:`);r.push(`'${e.name}'!$${t[0]}:$${t[1]}`)}if(e.pageSetup.printTitlesRow){let t=e.pageSetup.printTitlesRow.split(`:`);r.push(`'${e.name}'!$${t[0]}:$${t[1]}`)}let i={name:`_xlnm.Print_Titles`,ranges:r,localSheetId:n};t.push(i)}n++}),t.length&&(e.definedNames=e.definedNames.concat(t)),(e.media||[]).forEach((e,t)=>{e.name=e.type+(t+1)})}render(t,n){t.openXml(F.StdDocAttributes),t.openNode(`workbook`,e.WORKBOOK_ATTRIBUTES),this.map.fileVersion.render(t),this.map.workbookPr.render(t,n.properties),this.map.bookViews.render(t,n.views),this.map.sheets.render(t,n.sheets),this.map.definedNames.render(t,n.definedNames),this.map.calcPr.render(t,n.calcProperties),this.map.pivotCaches.render(t,n.pivotTables),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`workbook`:return!0;default:return this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e),!0}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case`workbook`:return this.model={sheets:this.map.sheets.model,properties:this.map.workbookPr.model||{},views:this.map.bookViews.model,calcProperties:{}},this.map.definedNames.model&&(this.model.definedNames=this.map.definedNames.model),this.map.pivotCaches.model&&this.map.pivotCaches.model.length>0&&(this.model.pivotCaches=this.map.pivotCaches.model),!1;default:return!0}}reconcile(e){let n=(e.workbookRels||[]).reduce((e,t)=>(e[t.Id]=t,e),{}),r=[],i,a=0;(e.sheets||[]).forEach(t=>{let o=n[t.rId];o&&(i=e.worksheetHash[`xl/${o.Target.replace(/^(\s|\/xl\/)+/,``)}`],i&&(i.name=t.name,i.id=t.id,i.state=t.state,r[a++]=i))});let o=[];e.definedNames&&e.definedNames.forEach(e=>{if(e.name===`_xlnm.Print_Area`){if(i=r[e.localSheetId],i){i.pageSetup||={};let n=t.decodeEx(e.ranges[0]);i.pageSetup.printArea=i.pageSetup.printArea?`${i.pageSetup.printArea}&&${n.dimensions}`:n.dimensions}}else if(e.name===`_xlnm.Print_Titles`){if(i=r[e.localSheetId],i){i.pageSetup||={};let t=e.ranges.join(`,`),n=/\$/g,r=t.match(/\$\d+:\$\d+/);if(r&&r.length){let e=r[0];i.pageSetup.printTitlesRow=e.replace(n,``)}let a=t.match(/\$[A-Z]+:\$[A-Z]+/);if(a&&a.length){let e=a[0];i.pageSetup.printTitlesColumn=e.replace(n,``)}}}else o.push(e)}),e.definedNames=o,e.media.forEach((e,t)=>{e.index=t})}static{this.WORKBOOK_ATTRIBUTES={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`}}static{this.STATIC_XFORMS={fileVersion:new z({tag:`fileVersion`,$:{appName:`xl`,lastEdited:5,lowestEdited:5,rupBuild:9303}})}}};const q={OfficeDocument:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument`,Worksheet:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet`,CalcChain:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain`,SharedStrings:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings`,Styles:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles`,Theme:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme`,Hyperlink:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink`,Image:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,CoreProperties:`http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties`,ExtenderProperties:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties`,Comments:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments`,VmlDrawing:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing`,Table:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/table`,PivotCacheDefinition:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition`,PivotCacheRecords:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords`,PivotTable:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable`};var tr=class{constructor(){this.merges={}}add(e){if(this.merges[e.master])this.merges[e.master].expandToAddress(e.address);else{let t=`${e.master}:${e.address}`;this.merges[e.master]=new n(t)}}get mergeCells(){return Object.values(this.merges).map(e=>e.range)}reconcile(e,n){e.forEach(e=>{let r=t.decode(e);for(let e=r.top;e<=r.bottom;e++){let i=n[e-1];for(let n=r.left;n<=r.right;n++){let a=i.cells[n-1];a?a.type===l.ValueType.Merge&&(a.master=r.tl):i.cells[n]={type:l.ValueType.Null,address:t.encodeAddress(e,n)}}}})}getMasterAddress(e){let t=this.hash[e];return t&&t.tl}};function nr(e){if(e==null)return l.ValueType.Null;if(e instanceof String||typeof e==`string`)return l.ValueType.String;if(typeof e==`number`)return l.ValueType.Number;if(typeof e==`boolean`)return l.ValueType.Boolean;if(e instanceof Date)return l.ValueType.Date;if(e.text&&e.hyperlink)return l.ValueType.Hyperlink;if(e.formula)return l.ValueType.Formula;if(e.error)return l.ValueType.Error;throw Error(`I could not understand type of value`)}function rr(e){switch(e.type){case l.ValueType.Formula:return nr(e.result);default:return e.type}}var ir=class extends R{constructor(){super(),this.richTextXform=new Pn}get tag(){return`c`}prepare(e,t){let r=t.styles.addStyleModel(e.style||{},rr(e));switch(r&&(e.styleId=r),e.comment&&t.comments.push({...e.comment,ref:e.address}),e.type){case l.ValueType.String:case l.ValueType.RichText:t.sharedStrings&&(e.ssId=t.sharedStrings.add(e.value));break;case l.ValueType.Date:t.date1904&&(e.date1904=!0);break;case l.ValueType.Hyperlink:t.sharedStrings&&e.text!==void 0&&e.text!==null&&(e.ssId=t.sharedStrings.add(e.text)),t.hyperlinks.push({address:e.address,target:e.hyperlink,tooltip:e.tooltip});break;case l.ValueType.Merge:t.merges.add(e);break;case l.ValueType.Formula:if(t.date1904&&(e.date1904=!0),e.shareType===`shared`&&(e.si=t.siFormulae++),e.formula)t.formulae[e.address]=e;else if(e.sharedFormula){let r=t.formulae[e.sharedFormula];if(!r)throw Error(`Shared Formula master must exist above and or left of clone for cell ${e.address}`);r.si===void 0?(r.shareType=`shared`,r.si=t.siFormulae++,r.range=new n(r.address,e.address)):r.range&&r.range.expandToAddress(e.address),e.si=r.si}break;default:break}}renderFormula(e,t){let n=null;switch(t.shareType){case`shared`:n={t:`shared`,ref:t.ref||t.range.range,si:t.si};break;case`array`:n={t:`array`,ref:t.ref};break;default:t.si!==void 0&&(n={t:`shared`,si:t.si});break}switch(nr(t.result)){case l.ValueType.Null:e.leafNode(`f`,n,t.formula);break;case l.ValueType.String:e.addAttribute(`t`,`str`),e.leafNode(`f`,n,t.formula),e.leafNode(`v`,null,t.result);break;case l.ValueType.Number:e.leafNode(`f`,n,t.formula),e.leafNode(`v`,null,t.result);break;case l.ValueType.Boolean:e.addAttribute(`t`,`b`),e.leafNode(`f`,n,t.formula),e.leafNode(`v`,null,t.result?1:0);break;case l.ValueType.Error:e.addAttribute(`t`,`e`),e.leafNode(`f`,n,t.formula),e.leafNode(`v`,null,t.result.error);break;case l.ValueType.Date:e.leafNode(`f`,n,t.formula),e.leafNode(`v`,null,Se(t.result,t.date1904));break;default:throw Error(`I could not understand type of value`)}}render(e,t){if(!(t.type===l.ValueType.Null&&!t.styleId)){switch(e.openNode(`c`),e.addAttribute(`r`,t.address),t.styleId&&e.addAttribute(`s`,t.styleId),t.type){case l.ValueType.Null:break;case l.ValueType.Number:e.leafNode(`v`,null,t.value);break;case l.ValueType.Boolean:e.addAttribute(`t`,`b`),e.leafNode(`v`,null,t.value?`1`:`0`);break;case l.ValueType.Error:e.addAttribute(`t`,`e`),e.leafNode(`v`,null,t.value.error);break;case l.ValueType.String:case l.ValueType.RichText:t.ssId===void 0?t.value&&t.value.richText?(e.addAttribute(`t`,`inlineStr`),e.openNode(`is`),t.value.richText.forEach(t=>{this.richTextXform.render(e,t)}),e.closeNode(`is`)):(e.addAttribute(`t`,`str`),e.leafNode(`v`,null,t.value)):(e.addAttribute(`t`,`s`),e.leafNode(`v`,null,t.ssId));break;case l.ValueType.Date:e.leafNode(`v`,null,Se(t.value,t.date1904));break;case l.ValueType.Hyperlink:t.ssId===void 0?(e.addAttribute(`t`,`str`),e.leafNode(`v`,null,t.text)):(e.addAttribute(`t`,`s`),e.leafNode(`v`,null,t.ssId));break;case l.ValueType.Formula:this.renderFormula(e,t);break;case l.ValueType.Merge:break;default:break}e.closeNode()}}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`c`:return this.model={address:e.attributes.r},this.t=e.attributes.t,e.attributes.s&&(this.model.styleId=parseInt(e.attributes.s,10)),!0;case`f`:return this.currentNode=`f`,this.model.si=e.attributes.si,this.model.shareType=e.attributes.t,this.model.ref=e.attributes.ref,!0;case`v`:return this.currentNode=`v`,!0;case`t`:return this.currentNode=`t`,!0;case`r`:return this.parser=this.richTextXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){if(this.parser){this.parser.parseText(e);return}switch(this.currentNode){case`f`:this.model.formula=this.model.formula?this.model.formula+e:e;break;case`v`:case`t`:this.model.value&&this.model.value.richText?this.model.value.richText.text=this.model.value.richText.text?this.model.value.richText.text+e:e:this.model.value=this.model.value?this.model.value+e:e;break;default:break}}parseClose(e){switch(e){case`c`:{let{model:e}=this;if(e.formula||e.shareType)e.type=l.ValueType.Formula,e.value&&=(this.t===`str`?e.result=Te(e.value):this.t===`b`?e.result=parseInt(e.value,10)!==0:this.t===`e`?e.result={error:e.value}:e.result=parseFloat(e.value),void 0);else if(e.value!==void 0)switch(this.t){case`s`:e.type=l.ValueType.String,e.value=parseInt(e.value,10);break;case`str`:e.type=l.ValueType.String,e.value=Te(e.value);break;case`inlineStr`:e.type=l.ValueType.String;break;case`b`:e.type=l.ValueType.Boolean,e.value=parseInt(e.value,10)!==0;break;case`e`:e.type=l.ValueType.Error,e.value={error:e.value};break;case`d`:e.type=l.ValueType.Date,e.value=new Date(e.value);break;default:e.type=l.ValueType.Number,e.value=parseFloat(e.value);break}else e.styleId?e.type=l.ValueType.Null:e.type=l.ValueType.Merge;return!1}case`f`:case`v`:case`is`:return this.currentNode=void 0,!0;case`t`:return this.parser?(this.parser.parseClose(e),!0):(this.currentNode=void 0,!0);case`r`:return this.model.value=this.model.value||{},this.model.value.richText=this.model.value.richText||[],this.model.value.richText.push(this.parser.model),this.parser=void 0,this.currentNode=void 0,!0;default:return this.parser?(this.parser.parseClose(e),!0):!1}}reconcile(e,t){let n=e.styleId&&t.styles&&t.styles.getStyleModel(e.styleId);switch(n&&(e.style=n),e.styleId!==void 0&&(e.styleId=void 0),e.type){case l.ValueType.String:typeof e.value==`number`&&t.sharedStrings&&(e.value=t.sharedStrings.getString(e.value)),e.value.richText&&(e.type=l.ValueType.RichText);break;case l.ValueType.Number:n&&De(n.numFmt)&&(e.type=l.ValueType.Date,e.value=Ce(e.value,t.date1904));break;case l.ValueType.Formula:e.result!==void 0&&typeof e.result==`number`&&n&&De(n.numFmt)&&(e.result=Ce(e.result,t.date1904)),e.shareType===`shared`&&(e.ref?t.formulae[e.si]=e.address:(e.sharedFormula=t.formulae[e.si],delete e.shareType),delete e.si);break;default:break}let r=t.hyperlinkMap[e.address];r&&(e.type===l.ValueType.Formula?(e.text=e.result,e.result=void 0):(e.text=e.value,e.value=void 0),e.type=l.ValueType.Hyperlink,e.hyperlink=r);let i=t.commentsMap&&t.commentsMap[e.address];i&&(e.comment=i)}},ar=class extends R{constructor(e){super(),this.maxItems=e&&e.maxItems,this.map={c:new ir}}get tag(){return`row`}reset(){super.reset(),this.numRowsSeen=0,this.lastCellCol=0}prepare(e,t){let n=t.styles.addStyleModel(e.style);n&&(e.styleId=n);let r=this.map.c;e.cells.forEach(e=>{r.prepare(e,t)})}render(e,t,n){if(!t)return;e.openNode(`row`),e.addAttribute(`r`,t.number),t.height&&(e.addAttribute(`ht`,t.height),e.addAttribute(`customHeight`,`1`)),t.hidden&&e.addAttribute(`hidden`,`1`),t.min>0&&t.max>0&&t.min<=t.max&&e.addAttribute(`spans`,`${t.min}:${t.max}`),t.styleId&&(e.addAttribute(`s`,t.styleId),e.addAttribute(`customFormat`,`1`)),t.outlineLevel&&e.addAttribute(`outlineLevel`,t.outlineLevel),t.collapsed&&e.addAttribute(`collapsed`,`1`);let r=this.map.c;t.cells.forEach(t=>{r.render(e,t,n)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;if(e.name===`row`){this.numRowsSeen+=1,this.lastCellCol=0;let t=e.attributes.spans?e.attributes.spans.split(`:`).map(e=>parseInt(e,10)):[void 0,void 0],n=this.model={number:e.attributes.r?parseInt(e.attributes.r,10):this.numRowsSeen,min:t[0],max:t[1],cells:[]};return e.attributes.s&&(n.styleId=parseInt(e.attributes.s,10)),N(e.attributes.hidden)&&(n.hidden=!0),N(e.attributes.bestFit)&&(n.bestFit=!0),e.attributes.ht&&(n.height=parseFloat(e.attributes.ht)),e.attributes.outlineLevel&&(n.outlineLevel=parseInt(e.attributes.outlineLevel,10)),N(e.attributes.collapsed)&&(n.collapsed=!0),!0}return this.parser=this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):!1}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser){if(!this.parser.parseClose(e)){let e=this.parser.model;if(e.address?this.lastCellCol=t.decodeAddress(e.address).col:(this.lastCellCol+=1,e.address=t.encodeAddress(this.model.number,this.lastCellCol)),this.model.cells.push(e),this.maxItems&&this.model.cells.length>this.maxItems)throw Error(`Max column count (${this.maxItems}) exceeded`);this.parser=void 0}return!0}return!1}reconcile(e,t){e.style=e.styleId?t.styles.getStyleModel(e.styleId):{},e.styleId!==void 0&&(e.styleId=void 0);let n=this.map.c;e.cells.forEach(e=>{n.reconcile(e,t)})}},or=class extends R{get tag(){return`col`}prepare(e,t){let n=t.styles.addStyleModel(e.style||{});n&&(e.styleId=n)}render(e,t){e.openNode(`col`),e.addAttribute(`min`,t.min),e.addAttribute(`max`,t.max),t.width&&e.addAttribute(`width`,t.width),t.styleId&&e.addAttribute(`style`,t.styleId),t.hidden&&e.addAttribute(`hidden`,`1`),t.bestFit&&e.addAttribute(`bestFit`,`1`),t.outlineLevel&&e.addAttribute(`outlineLevel`,t.outlineLevel),t.collapsed&&e.addAttribute(`collapsed`,`1`),e.addAttribute(`customWidth`,`1`),e.closeNode()}parseOpen(e){if(e.name===`col`){let t=this.model={min:parseInt(e.attributes.min||`0`,10),max:parseInt(e.attributes.max||`0`,10),width:e.attributes.width===void 0?void 0:parseFloat(e.attributes.width||`0`)};return e.attributes.style&&(t.styleId=parseInt(e.attributes.style,10)),N(e.attributes.hidden)&&(t.hidden=!0),N(e.attributes.bestFit)&&(t.bestFit=!0),e.attributes.outlineLevel&&(t.outlineLevel=parseInt(e.attributes.outlineLevel,10)),N(e.attributes.collapsed)&&(t.collapsed=!0),!0}return!1}parseText(){}parseClose(){return!1}reconcile(e,t){e.styleId&&(e.style=t.styles.getStyleModel(e.styleId))}},sr=class extends R{get tag(){return`dimension`}render(e,t){t&&e.leafNode(`dimension`,{ref:t})}parseOpen(e){return e.name===`dimension`?(this.model=e.attributes.ref,!0):!1}parseText(){}parseClose(){return!1}},cr=class extends R{get tag(){return`hyperlink`}render(e,t){this.isInternalLink(t)?e.leafNode(`hyperlink`,{ref:t.address,"r:id":t.rId,tooltip:t.tooltip,location:t.target}):e.leafNode(`hyperlink`,{ref:t.address,"r:id":t.rId,tooltip:t.tooltip})}parseOpen(e){return e.name===`hyperlink`?(this.model={address:e.attributes.ref,rId:e.attributes[`r:id`],tooltip:e.attributes.tooltip},e.attributes.location&&(this.model.target=e.attributes.location),!0):!1}parseText(){}parseClose(){return!1}isInternalLink(e){return!!(e.target&&/^[^!]+![a-zA-Z]+[\d]+$/.test(e.target))}},lr=class extends R{get tag(){return`mergeCell`}render(e,t){e.leafNode(`mergeCell`,{ref:t})}parseOpen(e){return e.name===`mergeCell`?(this.model=e.attributes.ref,!0):!1}parseText(){}parseClose(){return!1}};function ur(e,t,n,r){let i=t[n];i===void 0?r!==void 0&&(e[n]=r):e[n]=i}function dr(e,t,n,r){let i=t[n];i===void 0?r!==void 0&&(e[n]=r):e[n]=N(i)}function fr(e){if(!e)return[];let n=[],r={};for(let[t,i]of Object.entries(e))if(i!=null)if(t.startsWith(`range:`)){let e=t.slice(6),{sqref:r,...a}=i;n.push({...a,sqref:e})}else r[t]=i;if(Object.keys(r).length===0)return n;let i=Object.entries(r).map(([e,t])=>({address:e,dataValidation:t,marked:!1})).sort((e,t)=>e.address.localeCompare(t.address)),a=Object.fromEntries(i.map(e=>[e.address,e])),o=(e,n,i)=>{for(let a=0;a<n;a++){let n=t.encodeAddress(e.row+a,i);if(!r[n]||!f(r[e.address],r[n]))return!1}return!0},s=i.map(e=>{if(!e.marked){let n=t.decodeEx(e.address);if(n.dimensions)return a[n.dimensions].marked=!0,{...e.dataValidation,sqref:e.address};let i=1,s=t.encodeAddress(n.row+i,n.col);for(;r[s]&&f(e.dataValidation,r[s]);)i++,s=t.encodeAddress(n.row+i,n.col);let c=1;for(;o(n,i,n.col+c);)c++;for(let e=0;e<i;e++)for(let r=0;r<c;r++)s=t.encodeAddress(n.row+e,n.col+r),a[s].marked=!0;if(i>1||c>1){let r=n.row+(i-1),a=n.col+(c-1);return{...e.dataValidation,sqref:`${e.address}:${t.encodeAddress(r,a)}`}}return{...e.dataValidation,sqref:e.address}}return null}).filter(Boolean);return[...n,...s]}var pr=class extends R{get tag(){return`dataValidations`}render(e,t){let n=fr(t);n.length&&(e.openNode(`dataValidations`,{count:n.length}),n.forEach(t=>{e.openNode(`dataValidation`),t.type!==`any`&&(e.addAttribute(`type`,t.type),t.operator&&t.type!==`list`&&t.operator!==`between`&&e.addAttribute(`operator`,t.operator),t.allowBlank&&e.addAttribute(`allowBlank`,`1`)),t.showInputMessage&&e.addAttribute(`showInputMessage`,`1`),t.promptTitle&&e.addAttribute(`promptTitle`,t.promptTitle),t.prompt&&e.addAttribute(`prompt`,t.prompt),t.showErrorMessage&&e.addAttribute(`showErrorMessage`,`1`),t.errorStyle&&e.addAttribute(`errorStyle`,t.errorStyle),t.errorTitle&&e.addAttribute(`errorTitle`,t.errorTitle),t.error&&e.addAttribute(`error`,t.error),e.addAttribute(`sqref`,t.sqref),(t.formulae||[]).forEach((n,r)=>{e.openNode(`formula${r+1}`),t.type===`date`?e.writeText(Se(new Date(n))):e.writeText(n),e.closeNode()}),e.closeNode()}),e.closeNode())}parseOpen(e){switch(e.name){case`dataValidations`:return this.model={},!0;case`dataValidation`:{this._address=e.attributes.sqref;let t={type:e.attributes.type||`any`,formulae:[]};switch(e.attributes.type&&dr(t,e.attributes,`allowBlank`),dr(t,e.attributes,`showInputMessage`),dr(t,e.attributes,`showErrorMessage`),t.type){case`any`:case`list`:case`custom`:break;default:ur(t,e.attributes,`operator`,`between`);break}return ur(t,e.attributes,`promptTitle`),ur(t,e.attributes,`prompt`),ur(t,e.attributes,`errorStyle`),ur(t,e.attributes,`errorTitle`),ur(t,e.attributes,`error`),this._dataValidation=t,!0}case`formula1`:case`formula2`:return this._formula=[],!0;default:return!1}}parseText(e){this._formula&&this._formula.push(e)}parseClose(e){switch(e){case`dataValidations`:return!1;case`dataValidation`:return(!this._dataValidation.formulae||!this._dataValidation.formulae.length)&&(delete this._dataValidation.formulae,delete this._dataValidation.operator),(this._address.split(/\s+/g)||[]).forEach(e=>{if(e.includes(`:`)){let t=new n(e);(t.bottom-t.top+1)*(t.right-t.left+1)<=1e3?t.forEachAddress(e=>{this.model[e]=this._dataValidation}):this.model[`range:${e}`]=this._dataValidation}else this.model[e]=this._dataValidation}),!0;case`formula1`:case`formula2`:{let e=this._formula.join(``);switch(this._dataValidation.type){case`whole`:case`textLength`:e=parseInt(e,10);break;case`decimal`:e=parseFloat(e);break;case`date`:e=Ce(parseFloat(e));break;default:break}return this._dataValidation.formulae.push(e),this._formula=void 0,!0}default:return!0}}},mr=class extends R{get tag(){return`pageSetUpPr`}render(e,t){return t&&t.fitToPage?(e.leafNode(this.tag,{fitToPage:t.fitToPage?`1`:void 0}),!0):!1}parseOpen(e){return e.name===this.tag?(this.model={fitToPage:e.attributes.fitToPage===`1`},!0):!1}parseText(){}parseClose(){return!1}};const hr=e=>e!==void 0;var gr=class extends R{get tag(){return`outlinePr`}render(e,t){return t&&(hr(t.summaryBelow)||hr(t.summaryRight))?(e.leafNode(this.tag,{summaryBelow:hr(t.summaryBelow)?Number(t.summaryBelow):void 0,summaryRight:hr(t.summaryRight)?Number(t.summaryRight):void 0}),!0):!1}parseOpen(e){return e.name===this.tag?(this.model={summaryBelow:hr(e.attributes.summaryBelow)?!!Number(e.attributes.summaryBelow):void 0,summaryRight:hr(e.attributes.summaryRight)?!!Number(e.attributes.summaryRight):void 0},!0):!1}parseText(){}parseClose(){return!1}},_r=class extends R{constructor(){super(),this.map={tabColor:new V(`tabColor`),pageSetUpPr:new mr,outlinePr:new gr}}get tag(){return`sheetPr`}render(e,t){if(t){e.addRollback(),e.openNode(`sheetPr`);let n=!1;n=this.map.tabColor.render(e,t.tabColor)||n,n=this.map.pageSetUpPr.render(e,t.pageSetup)||n,n=this.map.outlinePr.render(e,t.outlineProperties)||n,n?(e.closeNode(),e.commit()):e.rollback()}}parseOpen(e){return this.parser?(this.parser.parseOpen(e),!0):e.name===this.tag?(this.reset(),!0):this.map[e.name]?(this.parser=this.map[e.name],this.parser.parseOpen(e),!0):!1}parseText(e){return this.parser?(this.parser.parseText(e),!0):!1}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.parser=void 0),!0):(this.map.tabColor.model||this.map.pageSetUpPr.model||this.map.outlinePr.model?(this.model={},this.map.tabColor.model&&(this.model.tabColor=this.map.tabColor.model),this.map.pageSetUpPr.model&&(this.model.pageSetup=this.map.pageSetUpPr.model),this.map.outlinePr.model&&(this.model.outlineProperties=this.map.outlinePr.model)):this.model=null,!1)}},vr=class extends R{get tag(){return`sheetFormatPr`}render(e,t){if(t){let n={defaultRowHeight:t.defaultRowHeight,outlineLevelRow:t.outlineLevelRow||void 0,outlineLevelCol:t.outlineLevelCol||void 0,"x14ac:dyDescent":t.dyDescent||void 0};t.defaultColWidth&&(n.defaultColWidth=t.defaultColWidth),(!t.defaultRowHeight||t.defaultRowHeight!==15)&&(n.customHeight=`1`),Object.values(n).some(e=>e!==void 0)&&e.leafNode(`sheetFormatPr`,n)}}parseOpen(e){return e.name===`sheetFormatPr`?(this.model={defaultRowHeight:parseFloat(e.attributes.defaultRowHeight||`0`),dyDescent:parseFloat(e.attributes[`x14ac:dyDescent`]||`0`),outlineLevelRow:parseInt(e.attributes.outlineLevelRow||`0`,10),outlineLevelCol:parseInt(e.attributes.outlineLevelCol||`0`,10)},e.attributes.defaultColWidth&&(this.model.defaultColWidth=parseFloat(e.attributes.defaultColWidth)),!0):!1}parseText(){}parseClose(){return!1}};const yr={frozen:`frozen`,frozenSplit:`frozen`,split:`split`};var br=class extends R{get tag(){return`sheetView`}prepare(e){switch(e.state){case`frozen`:case`split`:break;default:e.state=`normal`;break}}render(e,n){let r={};n.tabSelected&&(r.tabSelected=`1`),r.workbookViewId=n.workbookViewId||0,e.openNode(`sheetView`,r);let i=function(t,n,r){r&&e.addAttribute(t,n)};i(`rightToLeft`,`1`,n.rightToLeft===!0),i(`showRuler`,`0`,n.showRuler===!1),i(`showRowColHeaders`,`0`,n.showRowColHeaders===!1),i(`showGridLines`,`0`,n.showGridLines===!1),i(`zoomScale`,n.zoomScale,n.zoomScale),i(`zoomScaleNormal`,n.zoomScaleNormal,n.zoomScaleNormal),i(`view`,n.style,n.style);let a,o,s,c;switch(n.state){case`frozen`:o=n.xSplit||0,s=n.ySplit||0,a=n.topLeftCell||t.getAddress(s+1,o+1).address,c=n.xSplit&&n.ySplit&&`bottomRight`||n.xSplit&&`topRight`||`bottomLeft`,e.leafNode(`pane`,{xSplit:n.xSplit||void 0,ySplit:n.ySplit||void 0,topLeftCell:a,activePane:c,state:`frozen`}),e.leafNode(`selection`,{pane:c,activeCell:n.activeCell,sqref:n.activeCell});break;case`split`:n.activePane===`topLeft`&&(n.activePane=void 0),e.leafNode(`pane`,{xSplit:n.xSplit||void 0,ySplit:n.ySplit||void 0,topLeftCell:n.topLeftCell,activePane:n.activePane}),e.leafNode(`selection`,{pane:n.activePane,activeCell:n.activeCell,sqref:n.activeCell});break;case`normal`:n.activeCell&&e.leafNode(`selection`,{activeCell:n.activeCell,sqref:n.activeCell});break;default:break}e.closeNode()}parseOpen(e){switch(e.name){case`sheetView`:return this.sheetView={workbookViewId:parseInt(e.attributes.workbookViewId,10),rightToLeft:e.attributes.rightToLeft===`1`,tabSelected:e.attributes.tabSelected===`1`,showRuler:e.attributes.showRuler!==`0`,showRowColHeaders:e.attributes.showRowColHeaders!==`0`,showGridLines:e.attributes.showGridLines!==`0`,zoomScale:parseInt(e.attributes.zoomScale||`100`,10),zoomScaleNormal:parseInt(e.attributes.zoomScaleNormal||`100`,10),style:e.attributes.view},this.pane=void 0,this.selections={},!0;case`pane`:return this.pane={xSplit:parseInt(e.attributes.xSplit||`0`,10),ySplit:parseInt(e.attributes.ySplit||`0`,10),topLeftCell:e.attributes.topLeftCell,activePane:e.attributes.activePane||`topLeft`,state:e.attributes.state},!0;case`selection`:{let t=e.attributes.pane||`topLeft`;return this.selections[t]={pane:t,activeCell:e.attributes.activeCell},!0}default:return!1}}parseText(){}parseClose(e){let t,n;switch(e){case`sheetView`:return this.sheetView&&this.pane?(t=this.model={workbookViewId:this.sheetView.workbookViewId,rightToLeft:this.sheetView.rightToLeft,state:yr[this.pane.state]||`split`,xSplit:this.pane.xSplit,ySplit:this.pane.ySplit,topLeftCell:this.pane.topLeftCell,showRuler:this.sheetView.showRuler,showRowColHeaders:this.sheetView.showRowColHeaders,showGridLines:this.sheetView.showGridLines,zoomScale:this.sheetView.zoomScale,zoomScaleNormal:this.sheetView.zoomScaleNormal},this.model.state===`split`&&(t.activePane=this.pane.activePane),n=this.selections[this.pane.activePane],n&&n.activeCell&&(t.activeCell=n.activeCell),this.sheetView.style&&(t.style=this.sheetView.style)):(t=this.model={workbookViewId:this.sheetView.workbookViewId,rightToLeft:this.sheetView.rightToLeft,state:`normal`,showRuler:this.sheetView.showRuler,showRowColHeaders:this.sheetView.showRowColHeaders,showGridLines:this.sheetView.showGridLines,zoomScale:this.sheetView.zoomScale,zoomScaleNormal:this.sheetView.zoomScaleNormal},n=this.selections.topLeft,n&&n.activeCell&&(t.activeCell=n.activeCell),this.sheetView.style&&(t.style=this.sheetView.style)),!1;default:return!0}}reconcile(){}};function J(e,t){return e?t:void 0}function Y(e,t){return e===t?!0:void 0}var xr=class extends R{get tag(){return`sheetProtection`}render(e,t){if(t){let n={sheet:J(t.sheet,`1`),selectLockedCells:t.selectLockedCells===!1?`1`:void 0,selectUnlockedCells:t.selectUnlockedCells===!1?`1`:void 0,formatCells:J(t.formatCells,`0`),formatColumns:J(t.formatColumns,`0`),formatRows:J(t.formatRows,`0`),insertColumns:J(t.insertColumns,`0`),insertRows:J(t.insertRows,`0`),insertHyperlinks:J(t.insertHyperlinks,`0`),deleteColumns:J(t.deleteColumns,`0`),deleteRows:J(t.deleteRows,`0`),sort:J(t.sort,`0`),autoFilter:J(t.autoFilter,`0`),pivotTables:J(t.pivotTables,`0`)};t.sheet&&(n.algorithmName=t.algorithmName,n.hashValue=t.hashValue,n.saltValue=t.saltValue,n.spinCount=t.spinCount,n.objects=J(t.objects===!1,`1`),n.scenarios=J(t.scenarios===!1,`1`)),Object.values(n).some(e=>e!==void 0)&&e.leafNode(this.tag,n)}}parseOpen(e){switch(e.name){case this.tag:return this.model={sheet:Y(e.attributes.sheet,`1`),objects:e.attributes.objects===`1`?!1:void 0,scenarios:e.attributes.scenarios===`1`?!1:void 0,selectLockedCells:e.attributes.selectLockedCells===`1`?!1:void 0,selectUnlockedCells:e.attributes.selectUnlockedCells===`1`?!1:void 0,formatCells:Y(e.attributes.formatCells,`0`),formatColumns:Y(e.attributes.formatColumns,`0`),formatRows:Y(e.attributes.formatRows,`0`),insertColumns:Y(e.attributes.insertColumns,`0`),insertRows:Y(e.attributes.insertRows,`0`),insertHyperlinks:Y(e.attributes.insertHyperlinks,`0`),deleteColumns:Y(e.attributes.deleteColumns,`0`),deleteRows:Y(e.attributes.deleteRows,`0`),sort:Y(e.attributes.sort,`0`),autoFilter:Y(e.attributes.autoFilter,`0`),pivotTables:Y(e.attributes.pivotTables,`0`)},e.attributes.algorithmName&&(this.model.algorithmName=e.attributes.algorithmName,this.model.hashValue=e.attributes.hashValue,this.model.saltValue=e.attributes.saltValue,this.model.spinCount=parseInt(e.attributes.spinCount,10)),!0;default:return!1}}parseText(){}parseClose(){return!1}},Sr=class extends R{get tag(){return`pageMargins`}render(e,t){if(t){let n={left:t.left,right:t.right,top:t.top,bottom:t.bottom,header:t.header,footer:t.footer};Object.values(n).some(e=>e!==void 0)&&e.leafNode(this.tag,n)}}parseOpen(e){switch(e.name){case this.tag:return this.model={left:parseFloat(e.attributes.left||.7),right:parseFloat(e.attributes.right||.7),top:parseFloat(e.attributes.top||.75),bottom:parseFloat(e.attributes.bottom||.75),header:parseFloat(e.attributes.header||.3),footer:parseFloat(e.attributes.footer||.3)},!0;default:return!1}}parseText(){}parseClose(){return!1}};function Cr(e){return e?`1`:void 0}function wr(e){switch(e){case`overThenDown`:return e;default:return}}function Tr(e){switch(e){case`atEnd`:case`asDisplyed`:return e;default:return}}function Er(e){switch(e){case`dash`:case`blank`:case`NA`:return e;default:return}}function Dr(e){return e===void 0?void 0:parseInt(e,10)}var Or=class extends R{get tag(){return`pageSetup`}render(e,t){if(t){let n={paperSize:t.paperSize,orientation:t.orientation,horizontalDpi:t.horizontalDpi,verticalDpi:t.verticalDpi,pageOrder:wr(t.pageOrder),blackAndWhite:Cr(t.blackAndWhite),draft:Cr(t.draft),cellComments:Tr(t.cellComments),errors:Er(t.errors),scale:t.scale===100?void 0:t.scale,fitToWidth:t.fitToWidth===1?void 0:t.fitToWidth,fitToHeight:t.fitToHeight===1?void 0:t.fitToHeight,firstPageNumber:t.firstPageNumber,useFirstPageNumber:Cr(!!t.firstPageNumber),usePrinterDefaults:Cr(t.usePrinterDefaults),copies:t.copies};Object.values(n).some(e=>e!==void 0)&&e.leafNode(this.tag,n)}}parseOpen(e){switch(e.name){case this.tag:return this.model={paperSize:Dr(e.attributes.paperSize),orientation:e.attributes.orientation||`portrait`,horizontalDpi:parseInt(e.attributes.horizontalDpi||`4294967295`,10),verticalDpi:parseInt(e.attributes.verticalDpi||`4294967295`,10),pageOrder:e.attributes.pageOrder||`downThenOver`,blackAndWhite:e.attributes.blackAndWhite===`1`,draft:e.attributes.draft===`1`,cellComments:e.attributes.cellComments||`None`,errors:e.attributes.errors||`displayed`,scale:parseInt(e.attributes.scale||`100`,10),fitToWidth:parseInt(e.attributes.fitToWidth||`1`,10),fitToHeight:parseInt(e.attributes.fitToHeight||`1`,10),firstPageNumber:parseInt(e.attributes.firstPageNumber||`1`,10),useFirstPageNumber:e.attributes.useFirstPageNumber===`1`,usePrinterDefaults:e.attributes.usePrinterDefaults===`1`,copies:parseInt(e.attributes.copies||`1`,10)},!0;default:return!1}}parseText(){}parseClose(){return!1}};function kr(e){return e?`1`:void 0}var Ar=class extends R{get tag(){return`printOptions`}render(e,t){if(t){let n={headings:kr(t.showRowColHeaders),gridLines:kr(t.showGridLines),horizontalCentered:kr(t.horizontalCentered),verticalCentered:kr(t.verticalCentered)};Object.values(n).some(e=>e!==void 0)&&e.leafNode(this.tag,n)}}parseOpen(e){switch(e.name){case this.tag:return this.model={showRowColHeaders:e.attributes.headings===`1`,showGridLines:e.attributes.gridLines===`1`,horizontalCentered:e.attributes.horizontalCentered===`1`,verticalCentered:e.attributes.verticalCentered===`1`},!0;default:return!1}}parseText(){}parseClose(){return!1}},jr=class extends R{get tag(){return`autoFilter`}render(e,n){if(n)if(typeof n==`string`)e.leafNode(`autoFilter`,{ref:n});else{let r=function(e){return typeof e==`string`?e:t.getAddress(e.row,e.column).address},i=r(n.from),a=r(n.to);i&&a&&e.leafNode(`autoFilter`,{ref:`${i}:${a}`})}}parseOpen(e){e.name===`autoFilter`&&(this.model=e.attributes.ref)}},Mr=class extends R{get tag(){return`picture`}render(e,t){t&&e.leafNode(this.tag,{"r:id":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[`r:id`]},!0;default:return!1}}parseText(){}parseClose(){return!1}},Nr=class extends R{get tag(){return`drawing`}render(e,t){t&&e.leafNode(this.tag,{"r:id":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[`r:id`]},!0;default:return!1}}parseText(){}parseClose(){return!1}},Pr=class extends R{get tag(){return`tablePart`}render(e,t){t&&e.leafNode(this.tag,{"r:id":t.rId})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[`r:id`]},!0;default:return!1}}parseText(){}parseClose(){return!1}},Fr=class extends R{get tag(){return`brk`}render(e,t){e.leafNode(`brk`,t)}parseOpen(e){if(e.name===`brk`){let{id:t,max:n,man:r,min:i}=e.attributes;return this.model={id:+t,max:+n,man:+r},i!==void 0&&(this.model.min=+i),!0}return!1}parseText(){}parseClose(){return!1}},Ir=class extends B{constructor(){super({tag:`rowBreaks`,count:!0,childXform:new Fr})}render(e,t){if(t&&t.length){e.openNode(this.tag,this.$),e.addAttribute(this.$count,t.length),e.addAttribute(`manualBreakCount`,t.length);let{childXform:n}=this;for(let r of t)n.render(e,r);e.closeNode()}}},Lr=class extends B{constructor(){super({tag:`colBreaks`,count:!0,childXform:new Fr})}render(e,t){if(t&&t.length){e.openNode(this.tag,this.$),e.addAttribute(this.$count,t.length),e.addAttribute(`manualBreakCount`,t.length);let{childXform:n}=this;for(let r of t)n.render(e,r);e.closeNode()}}},Rr=class extends R{get tag(){return`headerFooter`}render(e,t){if(t){e.addRollback();let n=!1;e.openNode(`headerFooter`),t.differentFirst&&(e.addAttribute(`differentFirst`,`1`),n=!0),t.differentOddEven&&(e.addAttribute(`differentOddEven`,`1`),n=!0),t.oddHeader&&typeof t.oddHeader==`string`&&(e.leafNode(`oddHeader`,null,t.oddHeader),n=!0),t.oddFooter&&typeof t.oddFooter==`string`&&(e.leafNode(`oddFooter`,null,t.oddFooter),n=!0),t.evenHeader&&typeof t.evenHeader==`string`&&(e.leafNode(`evenHeader`,null,t.evenHeader),n=!0),t.evenFooter&&typeof t.evenFooter==`string`&&(e.leafNode(`evenFooter`,null,t.evenFooter),n=!0),t.firstHeader&&typeof t.firstHeader==`string`&&(e.leafNode(`firstHeader`,null,t.firstHeader),n=!0),t.firstFooter&&typeof t.firstFooter==`string`&&(e.leafNode(`firstFooter`,null,t.firstFooter),n=!0),n?(e.closeNode(),e.commit()):e.rollback()}}parseOpen(e){switch(e.name){case`headerFooter`:return this.model={},e.attributes.differentFirst&&(this.model.differentFirst=parseInt(e.attributes.differentFirst,0)===1),e.attributes.differentOddEven&&(this.model.differentOddEven=parseInt(e.attributes.differentOddEven,0)===1),!0;case`oddHeader`:return this.currentNode=`oddHeader`,!0;case`oddFooter`:return this.currentNode=`oddFooter`,!0;case`evenHeader`:return this.currentNode=`evenHeader`,!0;case`evenFooter`:return this.currentNode=`evenFooter`,!0;case`firstHeader`:return this.currentNode=`firstHeader`,!0;case`firstFooter`:return this.currentNode=`firstFooter`,!0;default:return!1}}parseText(e){switch(this.currentNode){case`oddHeader`:this.model.oddHeader=(this.model.oddHeader||``)+e;break;case`oddFooter`:this.model.oddFooter=(this.model.oddFooter||``)+e;break;case`evenHeader`:this.model.evenHeader=(this.model.evenHeader||``)+e;break;case`evenFooter`:this.model.evenFooter=(this.model.evenFooter||``)+e;break;case`firstHeader`:this.model.firstHeader=(this.model.firstHeader||``)+e;break;case`firstFooter`:this.model.firstFooter=(this.model.firstFooter||``)+e;break;default:break}}parseClose(){switch(this.currentNode){case`oddHeader`:case`oddFooter`:case`evenHeader`:case`evenFooter`:case`firstHeader`:case`firstFooter`:return this.currentNode=void 0,!0;default:return!1}}},X=class extends R{createNewModel(e){return{}}parseOpen(e){return this.parser=this.parser||this.map[e.name],this.parser?(this.parser.parseOpen(e),!0):e.name===this.tag?(this.model=this.createNewModel(e),!0):!1}parseText(e){this.parser&&this.parser.parseText(e)}onParserClose(e,t){this.model[e]=t.model}parseClose(e){return this.parser?(this.parser.parseClose(e)||(this.onParserClose(e,this.parser),this.parser=void 0),!0):e!==this.tag}get tag(){return``}},zr=class extends R{get tag(){return`cfvo`}render(e,t){e.leafNode(this.tag,{type:t.type,val:t.value})}parseOpen(e){this.model={type:e.attributes.type,value:R.toFloatValue(e.attributes.val)}}parseClose(e){return e!==this.tag}},Br=class extends X{constructor(){super(),this.map={cfvo:this.cfvoXform=new zr,color:this.colorXform=new V}}get tag(){return`dataBar`}render(e,t){e.openNode(this.tag),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),this.colorXform.render(e,t.color),e.closeNode()}createNewModel(){return{cfvo:[]}}onParserClose(e,t){switch(e){case`cfvo`:this.model.cfvo.push(t.model);break;case`color`:this.model.color=t.model;break}}},Vr=class extends R{get tag(){return`x14:id`}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=``}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}},Hr=class extends X{constructor(){super(),this.map={"x14:id":this.idXform=new Vr}}get tag(){return`ext`}render(e,t){e.openNode(this.tag,{uri:`{B025F937-C7B1-47D3-B67F-A62EFF666E3E}`,"xmlns:x14":`http://schemas.microsoft.com/office/spreadsheetml/2009/9/main`}),this.idXform.render(e,t.x14Id),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){this.model.x14Id=t.model}},Ur=class extends X{constructor(){super(),this.map={ext:new Hr}}get tag(){return`extLst`}render(e,t){e.openNode(this.tag),this.map.ext.render(e,t),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){Object.assign(this.model,t.model)}},Wr=class extends R{get tag(){return`formula`}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=``}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}},Gr=class extends X{constructor(){super(),this.map={cfvo:this.cfvoXform=new zr,color:this.colorXform=new V}}get tag(){return`colorScale`}render(e,t){e.openNode(this.tag),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),t.color.forEach(t=>{this.colorXform.render(e,t)}),e.closeNode()}createNewModel(e){return{cfvo:[],color:[]}}onParserClose(e,t){this.model[e].push(t.model)}},Kr=class extends X{constructor(){super(),this.map={cfvo:this.cfvoXform=new zr}}get tag(){return`iconSet`}render(e,t){e.openNode(this.tag,{iconSet:R.toStringAttribute(t.iconSet,`3TrafficLights`),reverse:R.toBoolAttribute(t.reverse,!1),showValue:R.toBoolAttribute(t.showValue,!0)}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),e.closeNode()}createNewModel({attributes:e}){return{iconSet:R.toStringValue(e.iconSet,`3TrafficLights`),reverse:R.toBoolValue(e.reverse),showValue:R.toBoolValue(e.showValue),cfvo:[]}}onParserClose(e,t){this.model[e].push(t.model)}};const qr={"3Triangles":!0,"3Stars":!0,"5Boxes":!0},Jr=e=>{if(e.formulae&&e.formulae[0])return e.formulae[0];let{tl:t}=new n(e.ref);switch(e.operator){case`containsText`:return`NOT(ISERROR(SEARCH("${e.text}",${t})))`;case`containsBlanks`:return`LEN(TRIM(${t}))=0`;case`notContainsBlanks`:return`LEN(TRIM(${t}))>0`;case`containsErrors`:return`ISERROR(${t})`;case`notContainsErrors`:return`NOT(ISERROR(${t}))`;default:return}},Yr=e=>{if(e.formulae&&e.formulae[0])return e.formulae[0];let{tl:t}=new n(e.ref);switch(e.timePeriod){case`thisWeek`:return`AND(TODAY()-ROUNDDOWN(${t},0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(${t},0)-TODAY()<=7-WEEKDAY(TODAY()))`;case`lastWeek`:return`AND(TODAY()-ROUNDDOWN(${t},0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(${t},0)<(WEEKDAY(TODAY())+7))`;case`nextWeek`:return`AND(ROUNDDOWN(${t},0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(${t},0)-TODAY()<(15-WEEKDAY(TODAY())))`;case`yesterday`:return`FLOOR(${t},1)=TODAY()-1`;case`today`:return`FLOOR(${t},1)=TODAY()`;case`tomorrow`:return`FLOOR(${t},1)=TODAY()+1`;case`last7Days`:return`AND(TODAY()-FLOOR(${t},1)<=6,FLOOR(${t},1)<=TODAY())`;case`lastMonth`:return`AND(MONTH(${t})=MONTH(EDATE(TODAY(),0-1)),YEAR(${t})=YEAR(EDATE(TODAY(),0-1)))`;case`thisMonth`:return`AND(MONTH(${t})=MONTH(TODAY()),YEAR(${t})=YEAR(TODAY()))`;case`nextMonth`:return`AND(MONTH(${t})=MONTH(EDATE(TODAY(),0+1)),YEAR(${t})=YEAR(EDATE(TODAY(),0+1)))`;default:return}},Xr=e=>{let{type:t,operator:n}=e;switch(t){case`containsText`:case`containsBlanks`:case`notContainsBlanks`:case`containsErrors`:case`notContainsErrors`:return{type:`containsText`,operator:t};default:return{type:t,operator:n}}};var Zr=class e extends X{constructor(){super(),this.map={dataBar:this.databarXform=new Br,extLst:this.extLstRefXform=new Ur,formula:this.formulaXform=new Wr,colorScale:this.colorScaleXform=new Gr,iconSet:this.iconSetXform=new Kr}}get tag(){return`cfRule`}static isPrimitive(e){return!(e.type===`iconSet`&&(e.custom||qr[e.iconSet]))}render(e,t){switch(t.type){case`expression`:this.renderExpression(e,t);break;case`cellIs`:this.renderCellIs(e,t);break;case`top10`:this.renderTop10(e,t);break;case`aboveAverage`:this.renderAboveAverage(e,t);break;case`dataBar`:this.renderDataBar(e,t);break;case`colorScale`:this.renderColorScale(e,t);break;case`iconSet`:this.renderIconSet(e,t);break;case`containsText`:this.renderText(e,t);break;case`timePeriod`:this.renderTimePeriod(e,t);break}}renderExpression(e,t){e.openNode(this.tag,{type:`expression`,dxfId:t.dxfId,priority:t.priority}),this.formulaXform.render(e,t.formulae[0]),e.closeNode()}renderCellIs(e,t){e.openNode(this.tag,{type:`cellIs`,dxfId:t.dxfId,priority:t.priority,operator:t.operator}),t.formulae.forEach(t=>{this.formulaXform.render(e,t)}),e.closeNode()}renderTop10(e,t){e.leafNode(this.tag,{type:`top10`,dxfId:t.dxfId,priority:t.priority,percent:R.toBoolAttribute(t.percent,!1),bottom:R.toBoolAttribute(t.bottom,!1),rank:R.toIntValue(t.rank,10)})}renderAboveAverage(e,t){e.leafNode(this.tag,{type:`aboveAverage`,dxfId:t.dxfId,priority:t.priority,aboveAverage:R.toBoolAttribute(t.aboveAverage,!0)})}renderDataBar(e,t){e.openNode(this.tag,{type:`dataBar`,priority:t.priority}),this.databarXform.render(e,t),this.extLstRefXform.render(e,t),e.closeNode()}renderColorScale(e,t){e.openNode(this.tag,{type:`colorScale`,priority:t.priority}),this.colorScaleXform.render(e,t),e.closeNode()}renderIconSet(t,n){e.isPrimitive(n)&&(t.openNode(this.tag,{type:`iconSet`,priority:n.priority}),this.iconSetXform.render(t,n),t.closeNode())}renderText(e,t){e.openNode(this.tag,{type:t.operator,dxfId:t.dxfId,priority:t.priority,operator:R.toStringAttribute(t.operator,`containsText`)});let n=Jr(t);n&&this.formulaXform.render(e,n),e.closeNode()}renderTimePeriod(e,t){e.openNode(this.tag,{type:`timePeriod`,dxfId:t.dxfId,priority:t.priority,timePeriod:t.timePeriod});let n=Yr(t);n&&this.formulaXform.render(e,n),e.closeNode()}createNewModel({attributes:e}){return{...Xr(e),dxfId:R.toIntValue(e.dxfId),priority:R.toIntValue(e.priority),timePeriod:e.timePeriod,percent:R.toBoolValue(e.percent),bottom:R.toBoolValue(e.bottom),rank:R.toIntValue(e.rank),aboveAverage:R.toBoolValue(e.aboveAverage)}}onParserClose(e,t){switch(e){case`dataBar`:case`extLst`:case`colorScale`:case`iconSet`:Object.assign(this.model,t.model);break;case`formula`:this.model.formulae=this.model.formulae||[],this.model.formulae.push(t.model);break}}},Qr=class extends X{constructor(){super(),this.map={cfRule:new Zr}}get tag(){return`conditionalFormatting`}render(e,t){t.rules.some(Zr.isPrimitive)&&(e.openNode(this.tag,{sqref:t.ref}),t.rules.forEach(n=>{Zr.isPrimitive(n)&&(n.ref=t.ref,this.map.cfRule.render(e,n))}),e.closeNode())}createNewModel({attributes:e}){return{ref:e.sqref,rules:[]}}onParserClose(e,t){this.model.rules.push(t.model)}},$r=class extends R{constructor(){super(),this.cfXform=new Qr}get tag(){return`conditionalFormatting`}reset(){this.model=[]}prepare(e,t){let n=e.reduce((e,t)=>Math.max(e,...t.rules.map(e=>e.priority||0)),1);e.forEach(e=>{e.rules.forEach(e=>{e.priority||=n++,e.style&&(e.dxfId=t.styles.addDxfStyle(e.style))})})}render(e,t){t.forEach(t=>{this.cfXform.render(e,t)})}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`conditionalFormatting`:return this.parser=this.cfXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){return this.parser?this.parser.parseClose(e)?!0:(this.model.push(this.parser.model),this.parser=void 0,!1):!1}reconcile(e,t){e.forEach(e=>{e.rules.forEach(e=>{e.dxfId!==void 0&&(e.style=t.styles.getDxfStyle(e.dxfId),delete e.dxfId)})})}},ei=class extends R{get tag(){return`xm:f`}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=``}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}},ti=class extends X{constructor(){super(),this.map={"xm:f":this.fExtXform=new ei}}get tag(){return`x14:cfvo`}render(e,t){e.openNode(this.tag,{type:t.type}),t.value!==void 0&&this.fExtXform.render(e,t.value),e.closeNode()}createNewModel(e){return{type:e.attributes.type}}onParserClose(e,t){switch(e){case`xm:f`:this.model.value=t.model?parseFloat(t.model):0;break}}},ni=class extends X{constructor(){super(),this.map={"x14:cfvo":this.cfvoXform=new ti,"x14:borderColor":this.borderColorXform=new V(`x14:borderColor`),"x14:negativeBorderColor":this.negativeBorderColorXform=new V(`x14:negativeBorderColor`),"x14:negativeFillColor":this.negativeFillColorXform=new V(`x14:negativeFillColor`),"x14:axisColor":this.axisColorXform=new V(`x14:axisColor`)}}static isExt(e){return!e.gradient}get tag(){return`x14:dataBar`}render(e,t){e.openNode(this.tag,{minLength:R.toIntAttribute(t.minLength,0,!0),maxLength:R.toIntAttribute(t.maxLength,100,!0),border:R.toBoolAttribute(t.border,!1),gradient:R.toBoolAttribute(t.gradient,!0),negativeBarColorSameAsPositive:R.toBoolAttribute(t.negativeBarColorSameAsPositive,!0),negativeBarBorderColorSameAsPositive:R.toBoolAttribute(t.negativeBarBorderColorSameAsPositive,!0),axisPosition:R.toAttribute(t.axisPosition,`auto`),direction:R.toAttribute(t.direction,`leftToRight`)}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),this.borderColorXform.render(e,t.borderColor),this.negativeBorderColorXform.render(e,t.negativeBorderColor),this.negativeFillColorXform.render(e,t.negativeFillColor),this.axisColorXform.render(e,t.axisColor),e.closeNode()}createNewModel({attributes:e}){return{cfvo:[],minLength:R.toIntValue(e.minLength,0),maxLength:R.toIntValue(e.maxLength,100),border:R.toBoolValue(e.border,!1),gradient:R.toBoolValue(e.gradient,!0),negativeBarColorSameAsPositive:R.toBoolValue(e.negativeBarColorSameAsPositive,!0),negativeBarBorderColorSameAsPositive:R.toBoolValue(e.negativeBarBorderColorSameAsPositive,!0),axisPosition:R.toStringValue(e.axisPosition,`auto`),direction:R.toStringValue(e.direction,`leftToRight`)}}onParserClose(e,t){let[,n]=e.split(`:`);switch(n){case`cfvo`:this.model.cfvo.push(t.model);break;default:this.model[n]=t.model;break}}},ri=class extends R{get tag(){return`x14:cfIcon`}render(e,t){e.leafNode(this.tag,{iconSet:t.iconSet,iconId:t.iconId})}parseOpen({attributes:e}){this.model={iconSet:e.iconSet,iconId:R.toIntValue(e.iconId)}}parseClose(e){return e!==this.tag}},ii=class extends X{constructor(){super(),this.map={"x14:cfvo":this.cfvoXform=new ti,"x14:cfIcon":this.cfIconXform=new ri}}get tag(){return`x14:iconSet`}render(e,t){e.openNode(this.tag,{iconSet:R.toStringAttribute(t.iconSet),reverse:R.toBoolAttribute(t.reverse,!1),showValue:R.toBoolAttribute(t.showValue,!0),custom:R.toBoolAttribute(t.icons,!1)}),t.cfvo.forEach(t=>{this.cfvoXform.render(e,t)}),t.icons&&t.icons.forEach((t,n)=>{t.iconId=n,this.cfIconXform.render(e,t)}),e.closeNode()}createNewModel({attributes:e}){return{cfvo:[],iconSet:R.toStringValue(e.iconSet,`3TrafficLights`),reverse:R.toBoolValue(e.reverse,!1),showValue:R.toBoolValue(e.showValue,!0)}}onParserClose(e,t){let[,n]=e.split(`:`);switch(n){case`cfvo`:this.model.cfvo.push(t.model);break;case`cfIcon`:this.model.icons||(this.model.icons=[]),this.model.icons.push(t.model);break;default:this.model[n]=t.model;break}}};const ai={"3Triangles":!0,"3Stars":!0,"5Boxes":!0};var oi=class e extends X{constructor(){super(),this.map={"x14:dataBar":this.databarXform=new ni,"x14:iconSet":this.iconSetXform=new ii}}get tag(){return`x14:cfRule`}static isExt(e){return e.type===`dataBar`?ni.isExt(e):!!(e.type===`iconSet`&&(e.custom||ai[e.iconSet]))}prepare(t){e.isExt(t)&&(t.x14Id=`{${crypto.randomUUID()}}`.toUpperCase())}render(t,n){if(e.isExt(n))switch(n.type){case`dataBar`:this.renderDataBar(t,n);break;case`iconSet`:this.renderIconSet(t,n);break}}renderDataBar(e,t){e.openNode(this.tag,{type:`dataBar`,id:t.x14Id}),this.databarXform.render(e,t),e.closeNode()}renderIconSet(e,t){e.openNode(this.tag,{type:`iconSet`,priority:t.priority,id:t.x14Id||`{${crypto.randomUUID()}}`}),this.iconSetXform.render(e,t),e.closeNode()}createNewModel({attributes:e}){return{type:e.type,x14Id:e.id,priority:R.toIntValue(e.priority)}}onParserClose(e,t){Object.assign(this.model,t.model)}},si=class extends R{get tag(){return`xm:sqref`}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(){this.model=``}parseText(e){this.model+=e}parseClose(e){return e!==this.tag}},ci=class extends X{constructor(){super(),this.map={"xm:sqref":this.sqRef=new si,"x14:cfRule":this.cfRule=new oi}}get tag(){return`x14:conditionalFormatting`}prepare(e){e.rules.forEach(e=>{this.cfRule.prepare(e)})}render(e,t){t.rules.some(oi.isExt)&&(e.openNode(this.tag,{"xmlns:xm":`http://schemas.microsoft.com/office/excel/2006/main`}),t.rules.filter(oi.isExt).forEach(t=>this.cfRule.render(e,t)),this.sqRef.render(e,t.ref),e.closeNode())}createNewModel(){return{rules:[]}}onParserClose(e,t){switch(e){case`xm:sqref`:this.model.ref=t.model;break;case`x14:cfRule`:this.model.rules.push(t.model);break}}},li=class extends X{constructor(){super(),this.map={"x14:conditionalFormatting":this.cfXform=new ci}}get tag(){return`x14:conditionalFormattings`}hasContent(e){return e.hasExtContent===void 0&&(e.hasExtContent=e.some(e=>e.rules.some(oi.isExt))),e.hasExtContent}prepare(e){e.forEach(e=>{this.cfXform.prepare(e)})}render(e,t){this.hasContent(t)&&(e.openNode(this.tag),t.forEach(t=>this.cfXform.render(e,t)),e.closeNode())}createNewModel(){return[]}onParserClose(e,t){this.model.push(t.model)}},ui=class extends X{constructor(){super(),this.map={"x14:conditionalFormattings":this.conditionalFormattings=new li}}get tag(){return`ext`}hasContent(e){return this.conditionalFormattings.hasContent(e.conditionalFormattings)}prepare(e){this.conditionalFormattings.prepare(e.conditionalFormattings)}render(e,t){e.openNode(`ext`,{uri:`{78C0D931-6437-407d-A8EE-F0AAD7539E65}`,"xmlns:x14":`http://schemas.microsoft.com/office/spreadsheetml/2009/9/main`}),this.conditionalFormattings.render(e,t.conditionalFormattings),e.closeNode()}createNewModel(){return{}}onParserClose(e,t){this.model[e]=t.model}},di=class extends X{constructor(){super(),this.map={ext:this.ext=new ui}}get tag(){return`extLst`}prepare(e,t){this.ext.prepare(e)}hasContent(e){return this.ext.hasContent(e)}render(e,t){this.hasContent(t)&&(e.openNode(`extLst`),this.ext.render(e,t),e.closeNode())}createNewModel(){return{}}onParserClose(e,t){this.model[e]=t.model}};const fi=(e,t)=>{Object.keys(t).forEach(n=>{let r=e[n],i=t[n];r===void 0&&i!==void 0&&(e[n]=i)})},pi=(e,t)=>{if(!t||!t.length)return e;if(!e||!e.length)return t;let n={},r={};return e.forEach(e=>{n[e.ref]=e,e.rules.forEach(e=>{let{x14Id:t}=e;t&&(r[t]=e)})}),t.forEach(t=>{t.rules.forEach(i=>{let a=r[i.x14Id];a?fi(a,i):n[t.ref]?n[t.ref].rules.push(i):e.push({ref:t.ref,rules:[i]})})}),e};var mi=class e extends R{static{this.WORKSHEET_ATTRIBUTES={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`,"xmlns:x14ac":`http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac`,"mc:Ignorable":`x14ac`}}constructor(e){super();let{maxRows:t,maxCols:n,ignoreNodes:r}=e||{};this.ignoreNodes=r||[],this.map={sheetPr:new _r,dimension:new sr,sheetViews:new B({tag:`sheetViews`,count:!1,childXform:new br}),sheetFormatPr:new vr,cols:new B({tag:`cols`,count:!1,childXform:new or}),sheetData:new B({tag:`sheetData`,count:!1,empty:!0,childXform:new ar({maxItems:n}),maxItems:t}),autoFilter:new jr,mergeCells:new B({tag:`mergeCells`,count:!0,childXform:new lr}),rowBreaks:new Ir,colBreaks:new Lr,hyperlinks:new B({tag:`hyperlinks`,count:!1,childXform:new cr}),pageMargins:new Sr,dataValidations:new pr,pageSetup:new Or,headerFooter:new Rr,printOptions:new Ar,picture:new Mr,drawing:new Nr,sheetProtection:new xr,tableParts:new B({tag:`tableParts`,count:!0,childXform:new Pr}),conditionalFormatting:new $r,extLst:new di}}prepare(e,n){n.merges=new tr,e.hyperlinks=n.hyperlinks=[],e.comments=n.comments=[],n.formulae={},n.siFormulae=0,this.map.cols.prepare(e.cols,n),this.map.sheetData.prepare(e.rows,n),this.map.conditionalFormatting.prepare(e.conditionalFormattings,n),e.mergeCells=n.merges.mergeCells;let r=e.rels=[];function i(e){return`rId${e.length+1}`}if(e.hyperlinks.forEach(e=>{let t=i(r);e.rId=t,r.push({Id:t,Type:q.Hyperlink,Target:e.target,TargetMode:`External`})}),e.comments.length>0){let a={Id:i(r),Type:q.Comments,Target:`../comments${e.id}.xml`};r.push(a);let o={Id:i(r),Type:q.VmlDrawing,Target:`../drawings/vmlDrawing${e.id}.vml`};r.push(o),e.comments.forEach(e=>{e.refAddress=t.decodeAddress(e.ref)}),n.commentRefs.push({commentName:`comments${e.id}`,vmlDrawing:`vmlDrawing${e.id}`})}let a=[],o;e.media.forEach(t=>{if(t.type===`background`){let a=i(r);o=n.media[t.imageId],r.push({Id:a,Type:q.Image,Target:`../media/${o.name}.${o.extension}`}),e.background={rId:a},e.image=n.media[t.imageId]}else if(t.type===`image`){let{drawing:s}=e;o=n.media[t.imageId],s||(s=e.drawing={rId:i(r),name:`drawing${++n.drawingsCount}`,anchors:[],rels:[]},n.drawings.push(s),r.push({Id:s.rId,Type:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing`,Target:`../drawings/${s.name}.xml`}));let c=this.preImageId===t.imageId?a[t.imageId]:a[s.rels.length];c||(c=i(s.rels),a[s.rels.length]=c,s.rels.push({Id:c,Type:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,Target:`../media/${o.name}.${o.extension}`}));let l={picture:{rId:c},range:t.range};if(t.hyperlinks&&t.hyperlinks.hyperlink){let e=i(s.rels);a[s.rels.length]=e,l.picture.hyperlinks={tooltip:t.hyperlinks.tooltip,rId:e},s.rels.push({Id:e,Type:q.Hyperlink,Target:t.hyperlinks.hyperlink,TargetMode:`External`})}this.preImageId=t.imageId,s.anchors.push(l)}}),e.tables.forEach(e=>{let t=i(r);e.rId=t,r.push({Id:t,Type:q.Table,Target:`../tables/${e.target}`}),e.columns.forEach(e=>{let{style:t}=e;t&&(e.dxfId=n.styles.addDxfStyle(t))})}),(e.pivotTables||[]).forEach(e=>{r.push({Id:i(r),Type:q.PivotTable,Target:`../pivotTables/pivotTable${e.tableNumber}.xml`})}),this.map.extLst.prepare(e,n)}render(t,n){t.openXml(F.StdDocAttributes),t.openNode(`worksheet`,e.WORKSHEET_ATTRIBUTES);let r=n.properties?{defaultRowHeight:n.properties.defaultRowHeight,dyDescent:n.properties.dyDescent,outlineLevelCol:n.properties.outlineLevelCol,outlineLevelRow:n.properties.outlineLevelRow}:void 0;n.properties&&n.properties.defaultColWidth&&(r.defaultColWidth=n.properties.defaultColWidth);let i={outlineProperties:n.properties&&n.properties.outlineProperties,tabColor:n.properties&&n.properties.tabColor,pageSetup:n.pageSetup&&n.pageSetup.fitToPage?{fitToPage:n.pageSetup.fitToPage}:void 0},a=n.pageSetup&&n.pageSetup.margins,o={showRowColHeaders:n.pageSetup&&n.pageSetup.showRowColHeaders,showGridLines:n.pageSetup&&n.pageSetup.showGridLines,horizontalCentered:n.pageSetup&&n.pageSetup.horizontalCentered,verticalCentered:n.pageSetup&&n.pageSetup.verticalCentered},s=n.sheetProtection;this.map.sheetPr.render(t,i),this.map.dimension.render(t,n.dimensions),this.map.sheetViews.render(t,n.views),this.map.sheetFormatPr.render(t,r),this.map.cols.render(t,n.cols),this.map.sheetData.render(t,n.rows),this.map.sheetProtection.render(t,s),this.map.autoFilter.render(t,n.autoFilter),this.map.mergeCells.render(t,n.mergeCells),this.map.conditionalFormatting.render(t,n.conditionalFormattings),this.map.dataValidations.render(t,n.dataValidations),this.map.hyperlinks.render(t,n.hyperlinks),this.map.printOptions.render(t,o),this.map.pageMargins.render(t,a),this.map.pageSetup.render(t,n.pageSetup),this.map.headerFooter.render(t,n.headerFooter),this.map.rowBreaks.render(t,n.rowBreaks),this.map.colBreaks.render(t,n.colBreaks),this.map.drawing.render(t,n.drawing),this.map.picture.render(t,n.background),this.map.tableParts.render(t,n.tables),this.map.extLst.render(t,n),n.rels&&n.rels.forEach(e=>{e.Type===q.VmlDrawing&&t.leafNode(`legacyDrawing`,{"r:id":e.Id})}),t.closeNode()}parseOpen(e){return this.parser?(this.parser.parseOpen(e),!0):e.name===`worksheet`?(Object.values(this.map).forEach(e=>{e.reset()}),!0):(this.map[e.name]&&!this.ignoreNodes.includes(e.name)&&(this.parser=this.map[e.name],this.parser.parseOpen(e)),!0)}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case`worksheet`:{let e=this.map.sheetFormatPr.model||{};this.map.sheetPr.model&&this.map.sheetPr.model.tabColor&&(e.tabColor=this.map.sheetPr.model.tabColor),this.map.sheetPr.model&&this.map.sheetPr.model.outlineProperties&&(e.outlineProperties=this.map.sheetPr.model.outlineProperties);let t={fitToPage:this.map.sheetPr.model&&this.map.sheetPr.model.pageSetup&&this.map.sheetPr.model.pageSetup.fitToPage||!1,margins:this.map.pageMargins.model},n=Object.assign(t,this.map.pageSetup.model,this.map.printOptions.model),r=pi(this.map.conditionalFormatting.model,this.map.extLst.model&&this.map.extLst.model[`x14:conditionalFormattings`]);return this.model={dimensions:this.map.dimension.model,cols:this.map.cols.model,rows:this.map.sheetData.model,mergeCells:this.map.mergeCells.model,hyperlinks:this.map.hyperlinks.model,dataValidations:this.map.dataValidations.model,properties:e,views:this.map.sheetViews.model,pageSetup:n,headerFooter:this.map.headerFooter.model,background:this.map.picture.model,drawing:this.map.drawing.model,tables:this.map.tableParts.model,conditionalFormattings:r,rowBreaks:this.map.rowBreaks.model||[],colBreaks:this.map.colBreaks.model||[]},this.map.autoFilter.model&&(this.model.autoFilter=this.map.autoFilter.model),this.map.sheetProtection.model&&(this.model.sheetProtection=this.map.sheetProtection.model),!1}default:return!0}}reconcile(e,t){let n=(e.relationships||[]).reduce((n,r)=>{if(n[r.Id]=r,r.Type===q.Comments&&(e.comments=t.comments[r.Target].comments),r.Type===q.VmlDrawing&&e.comments&&e.comments.length){let n=t.vmlDrawings[r.Target].comments;e.comments.forEach((e,t)=>{e.note=Object.assign({},e.note,n[t])})}return n},{});if(t.commentsMap=(e.comments||[]).reduce((e,t)=>(t.ref&&(e[t.ref]=t),e),{}),t.hyperlinkMap=(e.hyperlinks||[]).reduce((e,t)=>(t.rId&&(e[t.address]=n[t.rId].Target),e),{}),t.formulae={},e.rows=e.rows&&e.rows.filter(Boolean)||[],e.rows.forEach(e=>{e.cells=e.cells&&e.cells.filter(Boolean)||[]}),this.map.cols.reconcile(e.cols,t),this.map.sheetData.reconcile(e.rows,t),this.map.conditionalFormatting.reconcile(e.conditionalFormattings,t),e.media=[],e.drawing){let r=n[e.drawing.rId].Target.match(/\/drawings\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);if(r){let n=r[1];t.drawings[n].anchors.forEach(t=>{if(t.medium){let n={type:`image`,imageId:t.medium.index,range:t.range,hyperlinks:t.picture.hyperlinks};e.media.push(n)}})}}let r=e.background&&n[e.background.rId];if(r){let n=r.Target.split(`/media/`)[1],i=t.mediaIndex&&t.mediaIndex[n];i!==void 0&&e.media.push({type:`background`,imageId:i})}e.tables=(e.tables||[]).map(e=>{let r=n[e.rId];return t.tables[r.Target]}),e.pivotTables=[],(e.relationships||[]).forEach(n=>{if(n.Type===q.PivotTable&&t.pivotTables){let r=t.pivotTables[n.Target];r&&e.pivotTables.push(r)}}),delete e.relationships,delete e.hyperlinks,delete e.comments}},hi=class extends R{parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={range:{editAs:e.attributes.editAs||`oneCell`}};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}reconcilePicture(e,t){if(e&&e.rId){let n=t.rels[e.rId].Target.match(/.*\/media\/(.+[.][a-zA-Z]{3,4})/);if(n){let e=n[1],r=t.mediaIndex[e];return t.media[r]}}}},gi=class extends R{constructor(e){super(),this.tag=e.tag,this.map={"xdr:col":new U({tag:`xdr:col`,zero:!0}),"xdr:colOff":new U({tag:`xdr:colOff`,zero:!0}),"xdr:row":new U({tag:`xdr:row`,zero:!0}),"xdr:rowOff":new U({tag:`xdr:rowOff`,zero:!0})},this.model={nativeCol:0,nativeColOff:0,nativeRow:0,nativeRowOff:0}}render(e,t){e.openNode(this.tag),this.map[`xdr:col`].render(e,t.nativeCol),this.map[`xdr:colOff`].render(e,t.nativeColOff),this.map[`xdr:row`].render(e,t.nativeRow),this.map[`xdr:rowOff`].render(e,t.nativeRowOff),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model={nativeCol:this.map[`xdr:col`].model,nativeColOff:this.map[`xdr:colOff`].model,nativeRow:this.map[`xdr:row`].model,nativeRowOff:this.map[`xdr:rowOff`].model},!1;default:return!0}}},_i=class extends R{constructor(){super(),this.model={rId:``}}get tag(){return`a:blip`}render(e,t){e.leafNode(this.tag,{"xmlns:r":`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,"r:embed":t.rId,cstate:`print`})}parseOpen(e){switch(e.name){case this.tag:return this.model={rId:e.attributes[`r:embed`]},!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}},vi=class extends R{constructor(){super(),this.map={"a:blip":new _i}}get tag(){return`xdr:blipFill`}render(e,t){e.openNode(this.tag),this.map[`a:blip`].render(e,t),e.openNode(`a:stretch`),e.leafNode(`a:fillRect`),e.closeNode(),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[`a:blip`].model,!1;default:return!0}}},yi=class extends R{constructor(){super(),this.model={}}get tag(){return`a:hlinkClick`}render(e,t){t.hyperlinks&&t.hyperlinks.rId&&e.leafNode(this.tag,{"xmlns:r":`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,"r:id":t.hyperlinks.rId,tooltip:t.hyperlinks.tooltip})}parseOpen(e){switch(e.name){case this.tag:return this.model={hyperlinks:{rId:e.attributes[`r:id`],tooltip:e.attributes.tooltip}},!0;default:return!0}}parseText(){}parseClose(){return!1}},bi=class extends R{get tag(){return`a:extLst`}render(e){e.openNode(this.tag),e.openNode(`a:ext`,{uri:`{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}`}),e.leafNode(`a16:creationId`,{"xmlns:a16":`http://schemas.microsoft.com/office/drawing/2014/main`,id:`{00000000-0008-0000-0000-000002000000}`}),e.closeNode(),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:return!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}},xi=class extends R{constructor(){super(),this.map={"a:hlinkClick":new yi,"a:extLst":new bi}}get tag(){return`xdr:cNvPr`}render(e,t){e.openNode(this.tag,{id:t.index,name:`Picture ${t.index}`}),this.map[`a:hlinkClick`].render(e,t),this.map[`a:extLst`].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[`a:hlinkClick`].model,!1;default:return!0}}},Si=class extends R{get tag(){return`xdr:cNvPicPr`}render(e){e.openNode(this.tag),e.leafNode(`a:picLocks`,{noChangeAspect:`1`}),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:return!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}},Ci=class extends R{constructor(){super(),this.map={"xdr:cNvPr":new xi,"xdr:cNvPicPr":new Si}}get tag(){return`xdr:nvPicPr`}render(e,t){e.openNode(this.tag),this.map[`xdr:cNvPr`].render(e,t),this.map[`xdr:cNvPicPr`].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model=this.map[`xdr:cNvPr`].model,!1;default:return!0}}};const wi={tag:`xdr:spPr`,c:[{tag:`a:xfrm`,c:[{tag:`a:off`,$:{x:`0`,y:`0`}},{tag:`a:ext`,$:{cx:`0`,cy:`0`}}]},{tag:`a:prstGeom`,$:{prst:`rect`},c:[{tag:`a:avLst`}]}]};var Ti=class extends R{constructor(){super(),this.map={"xdr:nvPicPr":new Ci,"xdr:blipFill":new vi,"xdr:spPr":new z(wi)}}get tag(){return`xdr:pic`}prepare(e,t){e.index=t.index+1}render(e,t){e.openNode(this.tag),this.map[`xdr:nvPicPr`].render(e,t),this.map[`xdr:blipFill`].render(e,t),this.map[`xdr:spPr`].render(e,t),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset();break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.mergeModel(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}},Ei=class extends hi{constructor(){super(),this.map={"xdr:from":new gi({tag:`xdr:from`}),"xdr:to":new gi({tag:`xdr:to`}),"xdr:pic":new Ti,"xdr:clientData":new z({tag:`xdr:clientData`})}}get tag(){return`xdr:twoCellAnchor`}prepare(e,t){this.map[`xdr:pic`].prepare(e.picture,t)}render(e,t){e.openNode(this.tag,{editAs:t.range.editAs||`oneCell`}),this.map[`xdr:from`].render(e,t.range.tl),this.map[`xdr:to`].render(e,t.range.br),this.map[`xdr:pic`].render(e,t.picture),this.map[`xdr:clientData`].render(e,{}),e.closeNode()}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.range.tl=this.map[`xdr:from`].model,this.model.range.br=this.map[`xdr:to`].model,this.model.picture=this.map[`xdr:pic`].model,!1;default:return!0}}reconcile(e,t){e.medium=this.reconcilePicture(e.picture,t)}};const Di=9525;var Oi=class extends R{constructor(e){super(),this.tag=e.tag,this.map={},this.model={width:0,height:0}}render(e,t){e.openNode(this.tag);let n=Math.floor(t.width*Di),r=Math.floor(t.height*Di);e.addAttribute(`cx`,n),e.addAttribute(`cy`,r),e.closeNode()}parseOpen(e){return e.name===this.tag?(this.model={width:parseInt(e.attributes.cx||`0`,10)/Di,height:parseInt(e.attributes.cy||`0`,10)/Di},!0):!1}parseText(e){}parseClose(e){return!1}},ki=class extends hi{constructor(){super(),this.map={"xdr:from":new gi({tag:`xdr:from`}),"xdr:ext":new Oi({tag:`xdr:ext`}),"xdr:pic":new Ti,"xdr:clientData":new z({tag:`xdr:clientData`})}}get tag(){return`xdr:oneCellAnchor`}prepare(e,t){this.map[`xdr:pic`].prepare(e.picture,t)}render(e,t){e.openNode(this.tag,{editAs:t.range.editAs||`oneCell`}),this.map[`xdr:from`].render(e,t.range.tl),this.map[`xdr:ext`].render(e,t.range.ext),this.map[`xdr:pic`].render(e,t.picture),this.map[`xdr:clientData`].render(e,{}),e.closeNode()}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.range.tl=this.map[`xdr:from`].model,this.model.range.ext=this.map[`xdr:ext`].model,this.model.picture=this.map[`xdr:pic`].model,!1;default:return!0}}reconcile(e,t){e.medium=this.reconcilePicture(e.picture,t)}};function Ai(e){return(typeof e.range==`string`?t.decode(e.range):e.range).br?`xdr:twoCellAnchor`:`xdr:oneCellAnchor`}var ji=class e extends R{constructor(){super(),this.map={"xdr:twoCellAnchor":new Ei,"xdr:oneCellAnchor":new ki},this.model={anchors:[]}}prepare(e){e.anchors.forEach((e,t)=>{e.anchorType=Ai(e),this.map[e.anchorType].prepare(e,{index:t})})}get tag(){return`xdr:wsDr`}render(t,n){let r=n||this.model;t.openXml(F.StdDocAttributes),t.openNode(this.tag,e.DRAWING_ATTRIBUTES),r.anchors.forEach(e=>{this.map[e.anchorType].render(t,e)}),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={anchors:[]};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.anchors.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}reconcile(e,t){e.anchors.forEach(e=>{e.br?this.map[`xdr:twoCellAnchor`].reconcile(e,t):this.map[`xdr:oneCellAnchor`].reconcile(e,t)})}static{this.DRAWING_ATTRIBUTES={"xmlns:xdr":`http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing`,"xmlns:a":`http://schemas.openxmlformats.org/drawingml/2006/main`}}},Mi=class extends R{constructor(){super(),this.model={val:``}}get tag(){return`customFilter`}render(e,t){e.leafNode(this.tag,{val:t.val,operator:t.operator})}parseOpen(e){return e.name===this.tag?(this.model={val:e.attributes.val,operator:e.attributes.operator},!0):!1}parseText(){}parseClose(){return!1}},Ni=class extends R{constructor(){super(),this.model={val:``}}get tag(){return`filter`}render(e,t){e.leafNode(this.tag,{val:t.val})}parseOpen(e){return e.name===this.tag?(this.model={val:e.attributes.val},!0):!1}parseText(){}parseClose(){return!1}},Pi=class extends R{constructor(){super(),this.map={customFilters:new B({tag:`customFilters`,count:!1,empty:!0,childXform:new Mi}),filters:new B({tag:`filters`,count:!1,empty:!0,childXform:new Ni})},this.model={filterButton:!1}}get tag(){return`filterColumn`}prepare(e,t){e.colId=t.index.toString()}render(e,t){if(t.customFilters){e.openNode(this.tag,{colId:t.colId,hiddenButton:t.filterButton?`0`:`1`}),this.map.customFilters.render(e,t.customFilters),e.closeNode();return}e.leafNode(this.tag,{colId:t.colId,hiddenButton:t.filterButton?`0`:`1`})}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;let{attributes:t}=e;switch(e.name){case this.tag:return this.model={filterButton:t.hiddenButton===`0`},!0;case`dynamicFilter`:return!0;default:if(this.parser=this.map[e.name],this.parser)return this.parseOpen(e),!0;throw Error(`Unexpected xml node in parseOpen: ${JSON.stringify(e)}`)}}parseText(){}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.customFilters=this.map.customFilters.model,!1;default:return!0}}},Fi=class extends R{constructor(){super(),this.map={filterColumn:new Pi},this.model={autoFilterRef:``,columns:[]}}get tag(){return`autoFilter`}prepare(e){e.columns.forEach((e,t)=>{this.map.filterColumn.prepare(e,{index:t})})}render(e,t){e.openNode(this.tag,{ref:t.autoFilterRef}),t.columns.forEach(t=>{this.map.filterColumn.render(e,t)}),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:return this.model={autoFilterRef:e.attributes.ref,columns:[]},!0;default:if(this.parser=this.map[e.name],this.parser)return this.parseOpen(e),!0;throw Error(`Unexpected xml node in parseOpen: ${JSON.stringify(e)}`)}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.columns.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:throw Error(`Unexpected xml node in parseClose: ${e}`)}}},Ii=class extends R{constructor(){super(),this.model={name:``}}get tag(){return`tableColumn`}prepare(e,t){e.id=t.index+1}render(e,t){e.leafNode(this.tag,{id:t.id.toString(),name:t.name,totalsRowLabel:t.totalsRowLabel,totalsRowFunction:t.totalsRowFunction===`none`?void 0:t.totalsRowFunction,dxfId:t.dxfId})}parseOpen(e){if(e.name===this.tag){let{attributes:t}=e;return this.model={name:t.name,totalsRowLabel:t.totalsRowLabel,totalsRowFunction:t.totalsRowFunction,dxfId:t.dxfId},!0}return!1}parseText(){}parseClose(){return!1}},Li=class extends R{constructor(){super(),this.model={theme:null,showFirstColumn:!1,showLastColumn:!1,showRowStripes:!1,showColumnStripes:!1}}get tag(){return`tableStyleInfo`}render(e,t){e.leafNode(this.tag,{name:t.theme?t.theme:void 0,showFirstColumn:t.showFirstColumn?`1`:`0`,showLastColumn:t.showLastColumn?`1`:`0`,showRowStripes:t.showRowStripes?`1`:`0`,showColumnStripes:t.showColumnStripes?`1`:`0`})}parseOpen(e){if(e.name===this.tag){let{attributes:t}=e;return this.model={theme:t.name?t.name:null,showFirstColumn:t.showFirstColumn===`1`,showLastColumn:t.showLastColumn===`1`,showRowStripes:t.showRowStripes===`1`,showColumnStripes:t.showColumnStripes===`1`},!0}return!1}parseText(){}parseClose(){return!1}},Ri=class e extends R{constructor(){super(),this.map={autoFilter:new Fi,tableColumns:new B({tag:`tableColumns`,count:!0,empty:!0,childXform:new Ii}),tableStyleInfo:new Li},this.model={id:0,name:``,tableRef:``,columns:[]}}prepare(e,t){this.map.autoFilter.prepare(e),this.map.tableColumns.prepare(e.columns,t)}get tag(){return`table`}render(t,n){t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.TABLE_ATTRIBUTES,id:n.id,name:n.name,displayName:n.displayName||n.name,ref:n.tableRef,totalsRowCount:n.totalsRow?`1`:void 0,headerRowCount:n.headerRow?void 0:`0`}),this.map.autoFilter.render(t,n),this.map.tableColumns.render(t,n.columns),this.map.tableStyleInfo.render(t,n.style),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;let{name:t,attributes:n}=e;switch(t){case this.tag:this.reset(),this.model={name:n.name,displayName:n.displayName||n.name,tableRef:n.ref,totalsRow:n.totalsRowCount===`1`,headerRow:n.headerRowCount!==`0`};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.columns=this.map.tableColumns.model,this.map.autoFilter.model&&(this.model.autoFilterRef=this.map.autoFilter.model.autoFilterRef,this.map.autoFilter.model.columns.forEach((e,t)=>{this.model.columns[t].filterButton=e.filterButton})),this.model.style=this.map.tableStyleInfo.model,!1;default:return!0}}reconcile(e,t){e.tableRef&&!e.ref&&(e.ref=e.tableRef),e.rows||=[],e.columns.forEach(e=>{e.dxfId!==void 0&&(e.style=t.styles.getDxfStyle(e.dxfId))})}static{this.TABLE_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/spreadsheetml/2006/main`}}},zi=class e extends R{constructor(){super(),this.map={},this.model=null,this.currentRecord=null}prepare(e){}get tag(){return`pivotCacheRecords`}reset(){this.model=null,this.currentRecord=null}render(e,t){t.isLoaded||!(`source`in t)?this.renderLoaded(e,t):this.renderNew(e,t)}renderNew(t,n){let{source:r,cacheFields:i}=n,a=r.getSheetValues().slice(2);t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_CACHE_RECORDS_ATTRIBUTES,count:a.length}),t.writeXml(this.renderTableNew(a,i)),t.closeNode()}renderLoaded(t,n){t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_CACHE_RECORDS_ATTRIBUTES,count:n.count});for(let e of n.records){t.writeXml(`
@@ -13,13 +13,19 @@ const e=/^[A-Z]+\d+$/,t={_dictionary:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),_l2n
13
13
  </r>`)}t.closeNode()}renderRecordValue(e){switch(e.type){case`x`:return`<x v="${e.value}" />`;case`n`:return`<n v="${e.value}" />`;case`s`:return`<s v="${Ne(String(e.value))}" />`;case`b`:return`<b v="${e.value?`1`:`0`}" />`;case`m`:return`<m />`;case`d`:return`<d v="${e.value.toISOString()}" />`;case`e`:return`<e v="${e.value}" />`;default:return`<m />`}}renderTableNew(e,t){let n=[];for(let r of e){let e=r.slice(1);n.push(`
14
14
  <r>`);for(let r=0;r<e.length;r++)n.push(`
15
15
  `),n.push(this.renderCellNew(e[r],t[r].sharedItems));n.push(`
16
- </r>`)}return n.join(``)}renderCellNew(e,t){if(e==null)return`<m />`;if(t===null)return Number.isFinite(e)?`<n v="${e}" />`:`<s v="${Ne(String(e))}" />`;let n=t.indexOf(e);if(n<0)throw Error(`${JSON.stringify(e)} not in sharedItems ${JSON.stringify(t)}`);return`<x v="${n}" />`}parseOpen(e){let{name:t,attributes:n}=e;switch(t){case this.tag:this.reset(),this.model={records:[],count:parseInt(n.count||`0`,10),isLoaded:!0};break;case`r`:this.currentRecord=[];break;case`x`:this.currentRecord&&this.currentRecord.push({type:`x`,value:parseInt(n.v||`0`,10)});break;case`n`:this.currentRecord&&this.currentRecord.push({type:`n`,value:parseFloat(n.v||`0`)});break;case`s`:this.currentRecord&&this.currentRecord.push({type:`s`,value:Te(n.v||``)});break;case`b`:this.currentRecord&&this.currentRecord.push({type:`b`,value:n.v===`1`});break;case`m`:this.currentRecord&&this.currentRecord.push({type:`m`});break;case`d`:this.currentRecord&&this.currentRecord.push({type:`d`,value:new Date(n.v||``)});break;case`e`:this.currentRecord&&this.currentRecord.push({type:`e`,value:n.v||``});break}return!0}parseText(e){}parseClose(e){switch(e){case this.tag:return!1;case`r`:this.model&&this.currentRecord&&(this.model.records.push(this.currentRecord),this.currentRecord=null);break}return!0}reconcile(e,t){}static{this.PIVOT_CACHE_RECORDS_ATTRIBUTES={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":`xr`,"xmlns:xr":`http://schemas.microsoft.com/office/spreadsheetml/2014/revision`}}},Bi=class{constructor({name:e,sharedItems:t,minValue:n,maxValue:r}){this.name=e,this.sharedItems=t,this.minValue=n,this.maxValue=r}render(){let e=Ne(this.name);return this.sharedItems===null?`<cacheField name="${e}" numFmtId="0">
17
- <sharedItems containsSemiMixedTypes="0" containsString="0" containsNumber="1" containsInteger="1"${this.minValue!==void 0&&this.maxValue!==void 0?` minValue="${this.minValue}" maxValue="${this.maxValue}"`:``} />
16
+ </r>`)}return n.join(``)}renderCellNew(e,t){if(e==null)return`<m />`;if(t===null)return Number.isFinite(e)?`<n v="${e}" />`:`<s v="${Ne(String(e))}" />`;let n=t.indexOf(e);if(n<0)throw Error(`${JSON.stringify(e)} not in sharedItems ${JSON.stringify(t)}`);return`<x v="${n}" />`}parseOpen(e){let{name:t,attributes:n}=e;switch(t){case this.tag:this.reset(),this.model={records:[],count:parseInt(n.count||`0`,10),isLoaded:!0};break;case`r`:this.currentRecord=[];break;case`x`:this.currentRecord&&this.currentRecord.push({type:`x`,value:parseInt(n.v||`0`,10)});break;case`n`:this.currentRecord&&this.currentRecord.push({type:`n`,value:parseFloat(n.v||`0`)});break;case`s`:this.currentRecord&&this.currentRecord.push({type:`s`,value:Te(n.v||``)});break;case`b`:this.currentRecord&&this.currentRecord.push({type:`b`,value:n.v===`1`});break;case`m`:this.currentRecord&&this.currentRecord.push({type:`m`});break;case`d`:this.currentRecord&&this.currentRecord.push({type:`d`,value:new Date(n.v||``)});break;case`e`:this.currentRecord&&this.currentRecord.push({type:`e`,value:n.v||``});break}return!0}parseText(e){}parseClose(e){switch(e){case this.tag:return!1;case`r`:this.model&&this.currentRecord&&(this.model.records.push(this.currentRecord),this.currentRecord=null);break}return!0}reconcile(e,t){}static{this.PIVOT_CACHE_RECORDS_ATTRIBUTES={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":`xr`,"xmlns:xr":`http://schemas.microsoft.com/office/spreadsheetml/2014/revision`}}},Bi=class{constructor({name:e,sharedItems:t,minValue:n,maxValue:r}){this.name=e,this.sharedItems=t,this.minValue=n,this.maxValue=r}render(){let e=Ne(this.name);if(this.sharedItems===null)return this.minValue===void 0||this.maxValue===void 0?`<cacheField name="${e}" numFmtId="0">
17
+ <sharedItems />
18
18
  </cacheField>`:`<cacheField name="${e}" numFmtId="0">
19
+ <sharedItems containsSemiMixedTypes="0" containsString="0" containsNumber="1" containsInteger="1" minValue="${this.minValue}" maxValue="${this.maxValue}" />
20
+ </cacheField>`;let t=this.sharedItems.length>0&&this.sharedItems.every(e=>typeof e==`number`&&Number.isFinite(e)),n=t&&this.sharedItems.every(e=>Number.isInteger(e));if(t){let t=Math.min(...this.sharedItems),r=Math.max(...this.sharedItems);return`<cacheField name="${e}" numFmtId="0">
21
+ <sharedItems containsSemiMixedTypes="0" containsString="0" containsNumber="1"${n?` containsInteger="1"`:``} minValue="${t}" maxValue="${r}" count="${this.sharedItems.length}">
22
+ ${this.sharedItems.map(e=>`<n v="${e}" />`).join(``)}
23
+ </sharedItems>
24
+ </cacheField>`}return`<cacheField name="${e}" numFmtId="0">
19
25
  <sharedItems count="${this.sharedItems.length}">
20
26
  ${this.sharedItems.map(e=>`<s v="${Ne(String(e))}" />`).join(``)}
21
27
  </sharedItems>
22
- </cacheField>`}},Vi=class extends R{constructor(){super(),this.model=null,this.inSharedItems=!1}get tag(){return`cacheField`}reset(){this.model=null,this.inSharedItems=!1}parseOpen(e){let{name:t,attributes:n}=e;switch(t){case`cacheField`:this.model={name:Te(n.name||``),sharedItems:null};break;case`sharedItems`:this.inSharedItems=!0,n.containsNumber===`1`||n.containsInteger===`1`?this.model&&(this.model.containsNumber=n.containsNumber===`1`,this.model.containsInteger=n.containsInteger===`1`,n.minValue!==void 0&&(this.model.minValue=parseFloat(n.minValue)),n.maxValue!==void 0&&(this.model.maxValue=parseFloat(n.maxValue)),this.model.sharedItems=null):this.model&&parseInt(n.count||`0`,10)>0&&(this.model.sharedItems=[]);break;case`s`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=Te(n.v||``);this.model.sharedItems.push(e)}break;case`n`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=parseFloat(n.v||`0`);this.model.sharedItems.push(e)}break;case`b`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=n.v===`1`;this.model.sharedItems.push(e)}break;case`e`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=`#${n.v||`ERROR!`}`;this.model.sharedItems.push(e)}break;case`m`:this.inSharedItems&&this.model?.sharedItems!==null&&this.model.sharedItems.push(null);break;case`d`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=new Date(n.v||``);this.model.sharedItems.push(e)}break}return!0}parseText(e){}parseClose(e){switch(e){case`cacheField`:return!1;case`sharedItems`:this.inSharedItems=!1;break}return!0}},Hi=class e extends R{constructor(){super(),this.map={},this.model=null,this.currentCacheField=null,this.inCacheFields=!1,this.inCacheSource=!1}prepare(e){}get tag(){return`pivotCacheDefinition`}reset(){this.model=null,this.currentCacheField=null,this.inCacheFields=!1,this.inCacheSource=!1}render(e,t){t.isLoaded||!(`source`in t)?this.renderLoaded(e,t):this.renderNew(e,t)}renderNew(t,n){let{source:r,cacheFields:i}=n,a=r.getSheetValues().slice(2).length;t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_CACHE_DEFINITION_ATTRIBUTES,"r:id":`rId1`,refreshOnLoad:`1`,createdVersion:`8`,refreshedVersion:`8`,minRefreshableVersion:`3`,recordCount:a}),t.openNode(`cacheSource`,{type:`worksheet`}),t.leafNode(`worksheetSource`,{ref:r.dimensions.shortRange,sheet:r.name}),t.closeNode(),t.openNode(`cacheFields`,{count:i.length}),t.writeXml(i.map(e=>new Bi(e).render()).join(`
28
+ </cacheField>`}},Vi=class extends R{constructor(){super(),this.model=null,this.inSharedItems=!1}get tag(){return`cacheField`}reset(){this.model=null,this.inSharedItems=!1}parseOpen(e){let{name:t,attributes:n}=e;switch(t){case`cacheField`:this.model={name:Te(n.name||``),sharedItems:null};break;case`sharedItems`:this.inSharedItems=!0,this.model&&(this.model.containsNumber=n.containsNumber===`1`,this.model.containsInteger=n.containsInteger===`1`,n.minValue!==void 0&&(this.model.minValue=parseFloat(n.minValue)),n.maxValue!==void 0&&(this.model.maxValue=parseFloat(n.maxValue)),parseInt(n.count||`0`,10)>0?this.model.sharedItems=[]:this.model.sharedItems=null);break;case`s`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=Te(n.v||``);this.model.sharedItems.push(e)}break;case`n`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=parseFloat(n.v||`0`);this.model.sharedItems.push(e)}break;case`b`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=n.v===`1`;this.model.sharedItems.push(e)}break;case`e`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=`#${n.v||`ERROR!`}`;this.model.sharedItems.push(e)}break;case`m`:this.inSharedItems&&this.model?.sharedItems!==null&&this.model.sharedItems.push(null);break;case`d`:if(this.inSharedItems&&this.model?.sharedItems!==null){let e=new Date(n.v||``);this.model.sharedItems.push(e)}break}return!0}parseText(e){}parseClose(e){switch(e){case`cacheField`:return!1;case`sharedItems`:this.inSharedItems=!1;break}return!0}},Hi=class e extends R{constructor(){super(),this.map={},this.model=null,this.currentCacheField=null,this.inCacheFields=!1,this.inCacheSource=!1}prepare(e){}get tag(){return`pivotCacheDefinition`}reset(){this.model=null,this.currentCacheField=null,this.inCacheFields=!1,this.inCacheSource=!1}render(e,t){t.isLoaded||!(`source`in t)?this.renderLoaded(e,t):this.renderNew(e,t)}renderNew(t,n){let{source:r,cacheFields:i}=n,a=r.getSheetValues().slice(2).length;t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_CACHE_DEFINITION_ATTRIBUTES,"r:id":`rId1`,refreshOnLoad:`1`,createdVersion:`8`,refreshedVersion:`8`,minRefreshableVersion:`3`,recordCount:a}),t.openNode(`cacheSource`,{type:`worksheet`}),t.leafNode(`worksheetSource`,{ref:r.dimensions.shortRange,sheet:r.name}),t.closeNode(),t.openNode(`cacheFields`,{count:i.length}),t.writeXml(i.map(e=>new Bi(e).render()).join(`
23
29
  `)),t.closeNode(),t.closeNode()}renderLoaded(t,n){let{cacheFields:r,sourceRef:i,sourceSheet:a,recordCount:o}=n;t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_CACHE_DEFINITION_ATTRIBUTES,"r:id":n.rId||`rId1`,refreshOnLoad:n.refreshOnLoad||`1`,createdVersion:n.createdVersion||`8`,refreshedVersion:n.refreshedVersion||`8`,minRefreshableVersion:n.minRefreshableVersion||`3`,recordCount:o||r.length+1}),t.openNode(`cacheSource`,{type:`worksheet`}),t.leafNode(`worksheetSource`,{ref:i,sheet:a}),t.closeNode(),t.openNode(`cacheFields`,{count:r.length}),t.writeXml(r.map(e=>new Bi(e).render()).join(`
24
30
  `)),t.closeNode(),t.closeNode()}parseOpen(e){let{name:t,attributes:n}=e;if(this.currentCacheField)return this.currentCacheField.parseOpen(e),!0;switch(t){case this.tag:this.reset(),this.model={cacheFields:[],rId:n[`r:id`],refreshOnLoad:n.refreshOnLoad,createdVersion:n.createdVersion,refreshedVersion:n.refreshedVersion,minRefreshableVersion:n.minRefreshableVersion,recordCount:n.recordCount?parseInt(n.recordCount,10):void 0,isLoaded:!0};break;case`cacheSource`:this.inCacheSource=!0;break;case`worksheetSource`:this.inCacheSource&&this.model&&(this.model.sourceRef=n.ref,this.model.sourceSheet=n.sheet);break;case`cacheFields`:this.inCacheFields=!0;break;case`cacheField`:this.inCacheFields&&(this.currentCacheField=new Vi,this.currentCacheField.parseOpen(e));break}return!0}parseText(e){this.currentCacheField&&this.currentCacheField.parseText(e)}parseClose(e){if(this.currentCacheField)return this.currentCacheField.parseClose(e)||(this.model&&this.currentCacheField.model&&this.model.cacheFields.push(this.currentCacheField.model),this.currentCacheField=null),!0;switch(e){case this.tag:return!1;case`cacheSource`:this.inCacheSource=!1;break;case`cacheFields`:this.inCacheFields=!1;break}return!0}reconcile(e,t){}static{this.PIVOT_CACHE_DEFINITION_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/spreadsheetml/2006/main`,"xmlns:r":`http://schemas.openxmlformats.org/officeDocument/2006/relationships`}}},Ui=class e extends R{constructor(){super(),this.map={},this.model=null,this.inPivotFields=!1,this.inRowFields=!1,this.inColFields=!1,this.inDataFields=!1,this.inRowItems=!1,this.inColItems=!1,this.inLocation=!1,this.currentPivotField=null,this.inItems=!1,this.inPivotTableStyleInfo=!1}prepare(e){}get tag(){return`pivotTableDefinition`}reset(){this.model=null,this.inPivotFields=!1,this.inRowFields=!1,this.inColFields=!1,this.inDataFields=!1,this.inRowItems=!1,this.inColItems=!1,this.inLocation=!1,this.currentPivotField=null,this.inItems=!1,this.inPivotTableStyleInfo=!1}render(e,t){t.isLoaded?this.renderLoaded(e,t):this.renderNew(e,t)}renderNew(t,n){let{rows:r,columns:i,values:a,cacheFields:o,cacheId:s,applyWidthHeightFormats:c}=n,l=Wi(r,o),u=Gi(i,o,a.length),d=r.length>0&&o[r[0]]?.sharedItems?.length||0,f=i.length>0&&o[i[0]]?.sharedItems?.length||0,p=4+d+1,m=1+f+1,h=`A3:${String.fromCharCode(64+m)}${p}`;t.openXml(F.StdDocAttributes),t.openNode(this.tag,{...e.PIVOT_TABLE_ATTRIBUTES,name:`PivotTable2`,cacheId:s,applyNumberFormats:`0`,applyBorderFormats:`0`,applyFontFormats:`0`,applyPatternFormats:`0`,applyAlignmentFormats:`0`,applyWidthHeightFormats:c,dataCaption:`Values`,updatedVersion:`8`,minRefreshableVersion:`3`,useAutoFormatting:`1`,itemPrintTitles:`1`,createdVersion:`8`,indent:`0`,compact:`0`,compactData:`0`,multipleFieldFilters:`0`}),t.writeXml(`
25
31
  <location ref="${h}" firstHeaderRow="1" firstDataRow="2" firstDataCol="1" />
@@ -106,16 +112,16 @@ const e=/^[A-Z]+\d+$/,t={_dictionary:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),_l2n
106
112
  fld="${t}"
107
113
  baseField="0"
108
114
  baseItem="0"${i}
109
- />`).join(``)}function qi(e){let t=new Set(e.rows),n=new Set(e.columns),r=new Set(e.values);return e.cacheFields.map((e,i)=>Ji(t.has(i)?`row`:n.has(i)?`column`:r.has(i)?`value`:null,e.sharedItems)).join(``)}function Ji(e,t){if(e===`row`||e===`column`){let n=e===`row`?`axisRow`:`axisCol`,r=[...t.map((e,t)=>`<item x="${t}" />`),`<item t="default" />`].join(`
115
+ />`).join(``)}function qi(e){let t=new Set(e.rows),n=new Set(e.columns),r=new Set(e.values);return e.cacheFields.map((e,i)=>Ji(t.has(i),n.has(i),r.has(i),e.sharedItems)).join(``)}function Ji(e,t,n,r){if(e||t){let t=e?`axisRow`:`axisCol`,i=`compact="0" outline="0" showAll="0"`;n&&(i=`dataField="1" ${i}`);let a=[...r.map((e,t)=>`<item x="${t}" />`),`<item t="default" />`].join(`
110
116
  `);return`
111
- <pivotField axis="${n}" compact="0" outline="0" showAll="0">
112
- <items count="${t.length+1}">
113
- ${r}
117
+ <pivotField axis="${t}" ${i}>
118
+ <items count="${r.length+1}">
119
+ ${a}
114
120
  </items>
115
121
  </pivotField>
116
122
  `}return`
117
123
  <pivotField
118
- ${e===`value`?`dataField="1"`:``}
124
+ ${n?`dataField="1"`:``}
119
125
  compact="0" outline="0" showAll="0" defaultSubtotal="0"
120
126
  />
121
127
  `}var Yi=class extends R{constructor(e){super(),this.model=e||{type:`note`,note:{texts:[]},ref:``}}get tag(){return`r`}get richTextXform(){return this._richTextXform||=new Pn,this._richTextXform}render(e,t){let n=t||this.model;e.openNode(`comment`,{ref:n.ref,authorId:0}),e.openNode(`text`),n&&n.note&&n.note.texts&&n.note.texts.forEach(t=>{this.richTextXform.render(e,t)}),e.closeNode(),e.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`comment`:return this.model={type:`note`,note:{texts:[]},...e.attributes},!0;case`r`:return this.parser=this.richTextXform,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){switch(e){case`comment`:return!1;case`r`:return this.model.note.texts.push(this.parser.model),this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}},Xi=class e extends R{constructor(){super(),this.map={comment:new Yi},this.model={comments:[]}}render(t,n){let r=n||this.model;t.openXml(F.StdDocAttributes),t.openNode(`comments`,e.COMMENTS_ATTRIBUTES),t.openNode(`authors`),t.leafNode(`author`,null,`Author`),t.closeNode(),t.openNode(`commentList`),r.comments.forEach(e=>{this.map.comment.render(t,e)}),t.closeNode(),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case`commentList`:return this.model={comments:[]},!0;case`comment`:return this.parser=this.map.comment,this.parser.parseOpen(e),!0;default:return!1}}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){switch(e){case`commentList`:return!1;case`comment`:return this.model.comments.push(this.parser.model),this.parser=void 0,!0;default:return this.parser&&this.parser.parseClose(e),!0}}static{this.COMMENTS_ATTRIBUTES={xmlns:`http://schemas.openxmlformats.org/spreadsheetml/2006/main`}}},Zi=class extends R{constructor(){super(),this.model={}}get tag(){return`v:textbox`}conversionUnit(e,t,n){return`${(parseFloat(e.toString())*t).toFixed(2)}${n}`}reverseConversionUnit(e){return(e||``).split(`,`).map(e=>Number(parseFloat(this.conversionUnit(parseFloat(e),.1,``)).toFixed(2)))}render(e,t){let n={style:`mso-direction-alt:auto`};if(t&&t.note){let{inset:e}=t.note&&t.note.margins||{};Array.isArray(e)&&(e=e.map(e=>this.conversionUnit(e,10,`mm`)).join(`,`)),e&&(n.inset=e)}e.openNode(`v:textbox`,n),e.leafNode(`div`,{style:`text-align:left`}),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:return this.model={inset:this.reverseConversionUnit(e.attributes.inset)},!0;default:return!0}}parseText(){}parseClose(e){switch(e){case this.tag:return!1;default:return!0}}},Qi=class extends R{constructor(){super(),this.text=``}get tag(){return`x:Anchor`}getAnchorRect(e){let t=Math.floor(e.left),n=Math.floor((e.left-t)*68),r=Math.floor(e.top),i=Math.floor((e.top-r)*18),a=Math.floor(e.right),o=Math.floor((e.right-a)*68),s=Math.floor(e.bottom);return[t,n,r,i,a,o,s,Math.floor((e.bottom-s)*18)]}getDefaultRect(e){let t=e.col,n=Math.max(e.row-2,0);return[t,6,n,14,t+2,2,n+4,16]}render(e,t){let n=t.anchor?this.getAnchorRect(t.anchor):this.getDefaultRect(t.refAddress);e.leafNode(`x:Anchor`,null,n.join(`, `))}parseOpen(e){switch(e.name){case this.tag:return this.text=``,!0;default:return!1}}parseText(e){this.text=e}parseClose(){return!1}},$i=class extends R{constructor(e){super(),this._model=e||{},this.text=``}get tag(){return this._model&&this._model.tag||``}render(e,t){e.leafNode(this.tag,null,t)}parseOpen(e){switch(e.name){case this.tag:return this.text=``,!0;default:return!1}}parseText(e){this.text=e}parseClose(){return!1}},ea=class extends R{constructor(e){super(),this._model=e||{},this.model={}}get tag(){return this._model&&this._model.tag||``}render(e,t,n){(n&&t===n[2]||n&&this.tag===`x:SizeWithCells`&&t===n[1])&&e.leafNode(this.tag)}parseOpen(e){switch(e.name){case this.tag:return this.model={},this.model[this.tag]=!0,!0;default:return!1}}parseText(){}parseClose(){return!1}};const ta=[`twoCells`,`oneCells`,`absolute`];var na=class extends R{constructor(){super(),this.map={"x:Anchor":new Qi,"x:Locked":new $i({tag:`x:Locked`}),"x:LockText":new $i({tag:`x:LockText`}),"x:SizeWithCells":new ea({tag:`x:SizeWithCells`}),"x:MoveWithCells":new ea({tag:`x:MoveWithCells`})},this.model={anchor:[],protection:{},editAs:``}}get tag(){return`x:ClientData`}render(e,t){let{protection:n,editAs:r}=t.note;e.openNode(this.tag,{ObjectType:`Note`}),this.map[`x:MoveWithCells`].render(e,r,ta),this.map[`x:SizeWithCells`].render(e,r,ta),this.map[`x:Anchor`].render(e,t),this.map[`x:Locked`].render(e,n.locked),e.leafNode(`x:AutoFill`,null,`False`),this.map[`x:LockText`].render(e,n.lockText),e.leafNode(`x:Row`,null,t.refAddress.row-1),e.leafNode(`x:Column`,null,t.refAddress.col-1),e.closeNode()}parseOpen(e){switch(e.name){case this.tag:this.reset(),this.model={anchor:[],protection:{},editAs:``};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.normalizeModel(),!1;default:return!0}}normalizeModel(){let e=Object.assign({},this.map[`x:MoveWithCells`].model,this.map[`x:SizeWithCells`].model),t=Object.keys(e).length;this.model.editAs=ta[t],this.model.anchor=this.map[`x:Anchor`].text,this.model.protection.locked=this.map[`x:Locked`].text,this.model.protection.lockText=this.map[`x:LockText`].text}},ra=class e extends R{constructor(){super(),this.map={"v:textbox":new Zi,"x:ClientData":new na}}get tag(){return`v:shape`}render(t,n,r){t.openNode(`v:shape`,e.V_SHAPE_ATTRIBUTES(n,r||0)),t.leafNode(`v:fill`,{color2:`infoBackground [80]`}),t.leafNode(`v:shadow`,{color:`none [81]`,obscured:`t`}),t.leafNode(`v:path`,{"o:connecttype":`none`}),this.map[`v:textbox`].render(t,n),this.map[`x:ClientData`].render(t,n),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={margins:{insetmode:e.attributes[`o:insetmode`]},anchor:``,editAs:``,protection:{}};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.parser=void 0),!0;switch(e){case this.tag:return this.model.margins.inset=this.map[`v:textbox`].model&&this.map[`v:textbox`].model.inset,this.model.protection=this.map[`x:ClientData`].model&&this.map[`x:ClientData`].model.protection,this.model.anchor=this.map[`x:ClientData`].model&&this.map[`x:ClientData`].model.anchor,this.model.editAs=this.map[`x:ClientData`].model&&this.map[`x:ClientData`].model.editAs,!1;default:return!0}}static{this.V_SHAPE_ATTRIBUTES=(e,t)=>({id:`_x0000_s${1025+t}`,type:`#_x0000_t202`,style:`position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden`,fillcolor:`infoBackground [80]`,strokecolor:`none [81]`,"o:insetmode":e.note.margins&&e.note.margins.insetmode})}},ia=class e extends R{constructor(){super(),this.map={"v:shape":new ra},this.model={comments:[]}}get tag(){return`xml`}render(t,n){let r=n||this.model;t.openXml(F.StdDocAttributes),t.openNode(this.tag,e.DRAWING_ATTRIBUTES),t.openNode(`o:shapelayout`,{"v:ext":`edit`}),t.leafNode(`o:idmap`,{"v:ext":`edit`,data:1}),t.closeNode(),t.openNode(`v:shapetype`,{id:`_x0000_t202`,coordsize:`21600,21600`,"o:spt":202,path:`m,l,21600r21600,l21600,xe`}),t.leafNode(`v:stroke`,{joinstyle:`miter`}),t.leafNode(`v:path`,{gradientshapeok:`t`,"o:connecttype":`rect`}),t.closeNode(),r.comments.forEach((e,n)=>{this.map[`v:shape`].render(t,e,n)}),t.closeNode()}parseOpen(e){if(this.parser)return this.parser.parseOpen(e),!0;switch(e.name){case this.tag:this.reset(),this.model={comments:[]};break;default:this.parser=this.map[e.name],this.parser&&this.parser.parseOpen(e);break}return!0}parseText(e){this.parser&&this.parser.parseText(e)}parseClose(e){if(this.parser)return this.parser.parseClose(e)||(this.model.comments.push(this.parser.model),this.parser=void 0),!0;switch(e){case this.tag:return!1;default:return!0}}reconcile(e,t){e.anchors.forEach(e=>{e.br?this.map[`xdr:twoCellAnchor`].reconcile(e,t):this.map[`xdr:oneCellAnchor`].reconcile(e,t)})}static{this.DRAWING_ATTRIBUTES={"xmlns:v":`urn:schemas-microsoft-com:vml`,"xmlns:o":`urn:schemas-microsoft-com:office:office`,"xmlns:x":`urn:schemas-microsoft-com:office:excel`}}},aa=class e{static{this.RelType=q}constructor(e){this.workbook=e}parseRels(e){return new K().parseStream(e)}parseWorkbook(e){return new er().parseStream(e)}parseSharedStrings(e){return new Ln().parseStream(e)}reconcile(e,t){let n=new er,r=new mi(t),i=new ji,a=new Ri;n.reconcile(e);let o={media:e.media,mediaIndex:e.mediaIndex};Object.keys(e.drawings).forEach(t=>{let n=e.drawings[t],r=e.drawingRels[t];r&&(o.rels=r.reduce((e,t)=>(e[t.Id]=t,e),{}),(n.anchors||[]).forEach(e=>{let t=e.picture&&e.picture.hyperlinks;t&&o.rels[t.rId]&&(t.hyperlink=o.rels[t.rId].Target,delete t.rId)}),i.reconcile(n,o))});let s={styles:e.styles};Object.values(e.tables).forEach(e=>{a.reconcile(e,s)}),this._reconcilePivotTables(e);let c={styles:e.styles,sharedStrings:e.sharedStrings,media:e.media,mediaIndex:e.mediaIndex,date1904:e.properties&&e.properties.date1904,drawings:e.drawings,comments:e.comments,tables:e.tables,vmlDrawings:e.vmlDrawings,pivotTables:e.pivotTablesIndexed};e.worksheets.forEach(t=>{t.relationships=e.worksheetRels[t.sheetNo],r.reconcile(t,c)}),delete e.worksheetHash,delete e.worksheetRels,delete e.globalRels,delete e.sharedStrings,delete e.workbookRels,delete e.sheetDefs,delete e.styles,delete e.mediaIndex,delete e.drawings,delete e.drawingRels,delete e.vmlDrawings,delete e.pivotTableRels,delete e.pivotCacheDefinitionRels}_reconcilePivotTables(e){let t=e.pivotTables||{};if(typeof t!=`object`||Object.keys(t).length===0){e.pivotTables=[],e.pivotTablesIndexed={};return}let n=this._buildDefinitionToCacheIdMap(e),r=new Map;Object.entries(e.pivotCacheDefinitions||{}).forEach(([t,i])=>{let a=n.get(t);if(a!==void 0){let n=t.replace(`Definition`,`Records`);r.set(a,{definition:i,records:e.pivotCacheRecords?.[n],definitionName:t})}});let i=[],a={};Object.entries(t).forEach(([e,t])=>{let n=t,o=this._extractTableNumber(e),s=r.get(n.cacheId),c={...n,tableNumber:o,cacheDefinition:s?.definition,cacheRecords:s?.records,cacheFields:s?.definition?.cacheFields||[],rows:n.rowFields.filter(e=>e>=0),columns:n.colFields.filter(e=>e>=0&&e!==-2),values:n.dataFields.map(e=>e.fld),metric:this._determineMetric(n.dataFields),applyWidthHeightFormats:n.applyWidthHeightFormats||`0`};i.push(c),a[`../pivotTables/${e}.xml`]=c}),i.sort((e,t)=>e.tableNumber-t.tableNumber),e.pivotTables=i,e.pivotTablesIndexed=a,e.loadedPivotTables=i}_extractTableNumber(e){let t=e.match(/pivotTable(\d+)/);return t?parseInt(t[1],10):1}_buildCacheIdMap(e){let t=new Map,n=e.pivotCaches||[];for(let e of n)e.cacheId&&e.rId&&t.set(e.rId,parseInt(e.cacheId,10));return t}_buildDefinitionToCacheIdMap(t){let n=new Map,r=this._buildCacheIdMap(t),i=t.workbookRels||[];for(let t of i)if(t.Type===e.RelType.PivotCacheDefinition&&t.Target){let e=t.Target.match(/pivotCacheDefinition(\d+)\.xml/);if(e){let i=`pivotCacheDefinition${e[1]}`,a=r.get(t.Id);a!==void 0&&n.set(i,a)}}return n}_determineMetric(e){return e.length>0&&e[0].subtotal===`count`?`count`:`sum`}async _processWorksheetEntry(e,t,n,r,i){let a=await new mi(r).parseStream(e);if(!a)throw Error(`Failed to parse worksheet ${i}`);a.sheetNo=n,t.worksheetHash[i]=a,t.worksheets.push(a)}async _processCommentEntry(e,t,n){let r=await new Xi().parseStream(e);t.comments[`../${n}.xml`]=r}async _processTableEntry(e,t,n){let r=await new Ri().parseStream(e);t.tables[`../tables/${n}.xml`]=r}async _processWorksheetRelsEntry(e,t,n){let r=await new K().parseStream(e);t.worksheetRels[n]=r}async _processMediaEntry(e,t,n){let r=n.lastIndexOf(`.`);if(r>=1){let i=n.substr(r+1),a=n.substr(0,r);await new Promise((r,o)=>{let s=this.createStreamBuf(),c=()=>{e.removeListener(`error`,u),s.removeListener(`error`,u),s.removeListener(`finish`,l)},l=()=>{c(),t.mediaIndex[n]=t.media.length,t.mediaIndex[a]=t.media.length;let e={type:`image`,name:a,extension:i,buffer:s.toBuffer?s.toBuffer():s.read()};t.media.push(e),r()},u=e=>{c(),o(e)};s.once(`finish`,l),e.on(`error`,u),s.on(`error`,u),e.pipe(s)})}}async _processDrawingEntry(e,t,n){let r=await new ji().parseStream(e);t.drawings[n]=r}async _processDrawingRelsEntry(e,t,n){let r=await new K().parseStream(e);t.drawingRels[n]=r}async _processVmlDrawingEntry(e,t,n){let r=await new ia().parseStream(e);t.vmlDrawings[`../drawings/${n}.vml`]=r}async _processThemeEntry(e,t,n){await new Promise((r,i)=>{let a=this.createStreamBuf(),o=()=>{e.removeListener(`error`,c),a.removeListener(`error`,c),a.removeListener(`finish`,s)},s=()=>{o();let e=a.read();t.themes[n]=e?typeof e==`string`?e:this.bufferToString(e):``,r()},c=e=>{o(),i(e)};a.once(`finish`,s),e.on(`error`,c),a.on(`error`,c),e.pipe(a)})}async _processPivotTableEntry(e,t,n){let r=await new Ui().parseStream(e);r&&(t.pivotTables[n]=r)}async _processPivotTableRelsEntry(e,t,n){let r=await new K().parseStream(e);t.pivotTableRels[n]=r}async _processPivotCacheDefinitionEntry(e,t,n){let r=await new Hi().parseStream(e);r&&(t.pivotCacheDefinitions[n]=r)}async _processPivotCacheDefinitionRelsEntry(e,t,n){let r=await new K().parseStream(e);t.pivotCacheDefinitionRels[n]=r}async _processPivotCacheRecordsEntry(e,t,n){let r=await new zi().parseStream(e);r&&(t.pivotCacheRecords[n]=r)}async loadFromFiles(e,t){let n={worksheets:[],worksheetHash:{},worksheetRels:[],themes:{},media:[],mediaIndex:{},drawings:{},drawingRels:{},comments:{},tables:{},vmlDrawings:{},pivotTables:{},pivotTableRels:{},pivotCacheDefinitions:{},pivotCacheDefinitionRels:{},pivotCacheRecords:{}},r=Object.keys(e).map(t=>({name:t,dir:t.endsWith(`/`),data:e[t]}));for(let e of r)if(!e.dir){let r=e.name;r[0]===`/`&&(r=r.substr(1));let i=r.match(/xl\/media\//)||r.match(/xl\/theme\/([a-zA-Z0-9]+)[.]xml/)?this.createBinaryStream(e.data):this.createTextStream(this.bufferToString(e.data)),a=r.match(/xl\/worksheets\/sheet(\d+)[.]xml/);if(a){let e=parseInt(a[1],10);await this._processWorksheetEntry(i,n,e,t,r)}else switch(r){case`_rels/.rels`:n.globalRels=await this.parseRels(i);break;case`xl/workbook.xml`:{let e=await this.parseWorkbook(i);n.sheets=e.sheets,n.definedNames=e.definedNames,n.views=e.views,n.properties=e.properties,n.calcProperties=e.calcProperties,n.pivotCaches=e.pivotCaches;break}case`xl/sharedStrings.xml`:n.sharedStrings=new Ln,await n.sharedStrings.parseStream(i);break;case`xl/_rels/workbook.xml.rels`:n.workbookRels=await this.parseRels(i);break;case`docProps/app.xml`:{let e=await new Hn().parseStream(i);n.company=e.company,n.manager=e.manager;break}case`docProps/core.xml`:{let e=await new Mn().parseStream(i);Object.assign(n,e);break}case`xl/styles.xml`:n.styles=new An,await n.styles.parseStream(i);break;default:await this._processDefaultEntry(i,n,r)}}return this.reconcile(n,t),this.workbook.model=n,this.workbook}async _processDefaultEntry(e,t,n){let r;if(r=n.match(/xl\/worksheets\/_rels\/sheet(\d+)[.]xml[.]rels/),r){let n=parseInt(r[1],10);await this._processWorksheetRelsEntry(e,t,n);return}if(r=n.match(/xl\/media\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/),r){await this._processMediaEntry(e,t,r[1]);return}if(r=n.match(/xl\/drawings\/(drawing\d+)[.]xml/),r){await this._processDrawingEntry(e,t,r[1]);return}if(r=n.match(/xl\/drawings\/_rels\/(drawing\d+)[.]xml[.]rels/),r){await this._processDrawingRelsEntry(e,t,r[1]);return}if(r=n.match(/xl\/drawings\/(vmlDrawing\d+)[.]vml/),r){await this._processVmlDrawingEntry(e,t,r[1]);return}if(r=n.match(/xl\/comments(\d+)[.]xml/),r){await this._processCommentEntry(e,t,`comments${r[1]}`);return}if(r=n.match(/xl\/tables\/(table\d+)[.]xml/),r){await this._processTableEntry(e,t,r[1]);return}if(r=n.match(/xl\/theme\/([a-zA-Z0-9]+)[.]xml/),r){await this._processThemeEntry(e,t,r[1]);return}if(r=n.match(/xl\/pivotTables\/(pivotTable\d+)[.]xml/),r){await this._processPivotTableEntry(e,t,r[1]);return}if(r=n.match(/xl\/pivotTables\/_rels\/(pivotTable\d+)[.]xml[.]rels/),r){await this._processPivotTableRelsEntry(e,t,r[1]);return}if(r=n.match(/xl\/pivotCache\/(pivotCacheDefinition\d+)[.]xml/),r){await this._processPivotCacheDefinitionEntry(e,t,r[1]);return}if(r=n.match(/xl\/pivotCache\/_rels\/(pivotCacheDefinition\d+)[.]xml[.]rels/),r){await this._processPivotCacheDefinitionRelsEntry(e,t,r[1]);return}if(r=n.match(/xl\/pivotCache\/(pivotCacheRecords\d+)[.]xml/),r){await this._processPivotCacheRecordsEntry(e,t,r[1]);return}}async addContentTypes(e,t){let n=new zn().toXml(t);e.append(n,{name:`[Content_Types].xml`})}async addApp(e,t){let n=new Hn().toXml(t);e.append(n,{name:`docProps/app.xml`})}async addCore(e,t){let n=new Mn;e.append(n.toXml(t),{name:`docProps/core.xml`})}async addThemes(e,t){let n=t.themes||{theme1:`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>