@omegagrid/bundle 0.6.40 → 0.6.41

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.
Files changed (2) hide show
  1. package/omegagrid.js +2 -2
  2. package/package.json +18 -18
package/omegagrid.js CHANGED
@@ -2682,7 +2682,7 @@
2682
2682
  padding-right: 2px;
2683
2683
  }
2684
2684
 
2685
- `,Bf={enabled:!1,includeChildren:!0,includeParents:!0},Ff={enabled:!0,reversed:!1},Wf={ROW_HEIGHT:22,RESIZE_TRESHOLD:10,ROW_HEADER_WIDTH:60,SLIDER_SIZE:12,EXPANDER_SIZE:13,MAX_CACHE_ITEMS:5e3,CACHE_CLEAN_INTERVAL:30,COMMENT_HIDE_TIMEOUT:1e3,SELECTOR_BORDER_WIDTH:2,MIN_ROW_HEIGHT:5,MIN_COL_WIDTH:5,SPARKLINE_GAP:4,AUTOSCROLL_TRESHOLD:100,AUTOSCROLL_RATIO:1.1,AUTOSCROLL_INTERVAL:100,DEFAULT_SPARKLINE_OPTIONS:{minValue:"auto",maxValue:"auto",type:"line",style:{color:"0094FF",weight:1},marker:{color:"ff0000"}},DEFAULT_OPTIONS:{rows:100,columns:20,readOnly:!1,rowNumbers:!0,rowPriority:2,rowTree:{enabled:!0},columnTree:{enabled:!0},colLetters:!0,emptyPlaceholder:!0,freezeTop:0,fontSize:12,rowHeight:22,rowResize:!0,columnWidth:100,columnResize:!0,columnPriority:1,freezeLeft:0,freezeRight:0,freezeBottom:0,maxSortingColumns:3,numberFormat:null,levelIndentFactor:2,cellIndentFactor:10,emptyClickable:!1,grid:!0,autofill:!0,undoRedo:!0,commandWindow:!0,cellCache:!0,singleCellModel:!1,editing:{rowInsertion:!0,rowDeletion:!0,colInsertion:!0,colDeletion:!0,rowOutline:!0,colOutline:!0,dateCalendarEditor:!1},comments:{hideTimeout:1e3,offsetX:30,offsetY:-30,zIndex:500,headerPosition:"top"},scrolling:{verticalOverscroll:!0,horizontalOverscroll:!0,scrollbarVisibilityTreshold:100},selecting:{enabled:!0,multiSelect:!0},events:{click:{mouseMoveTreshold:10}},clipboard:{pasteProps:["v","dv"],rowPasteMode:"rewrite_append",columnPasteMode:"rewrite"},print:{dpi:600,margins:{left:6.35,right:6.35,top:19.05,bottom:19.05,header:7.62,footer:7.62},orientation:"portrait",paper:"A4"}},...U},Uf=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function Gf(t){return Uf.test(t)}function Yf(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function qf(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":lt(t.toString()).toLowerCase(),e=null==e?"":lt(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function Zf(t,e){const i=X(e);return X(t)?(t=t.toString().trim()).startsWith("=")?0==qf(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?qf(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?qf(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?qf(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?qf(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==qf(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const Xf=new Map([["=",["==",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),Qf=t=>["=",">","<",">=","<="].includes(t),Kf=t=>["+","-","*","/"].includes(t),Jf=t=>Kf(t)||Qf(t);function tv(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==qf(t,e);case">":return qf(t,e)>0;case"<":return qf(t,e)<0;case">=":return qf(t,e)>=0;case"<=":return qf(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function ev(t,e,i){const o=Array.isArray(t),n=Array.isArray(e);if(!o&&!n)return[[tv(t,e,i)]];const r=Math.max(o?t.length:0,n?e.length:0),s=Math.max(o?t[0].length:0,n?e[0].length:0),a=[];for(let l=0;l<r;l++){const r=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=n?e[l]?.[a]:e,h=null==s&&null==c?null:tv(s,c,i);r.push(h)}a.push(r)}return a}var iv;!function(t){t[t.Number=0]="Number",t[t.Boolean=1]="Boolean",t[t.String=2]="String",t[t.StringQuote=3]="StringQuote",t[t.Function=4]="Function",t[t.ArgumentSeparator=5]="ArgumentSeparator",t[t.OpenBracket=6]="OpenBracket",t[t.CloseBracket=7]="CloseBracket",t[t.Operator=8]="Operator",t[t.Cell=9]="Cell",t[t.Variable=10]="Variable",t[t.Range=11]="Range",t[t.Sheet=12]="Sheet",t[t.SheetQuote=13]="SheetQuote",t[t.SheetSeparator=14]="SheetSeparator",t[t.Unknown=15]="Unknown",t[t.Operand=16]="Operand"}(iv||(iv={}));const ov=t=>t===iv.Number||t===iv.Boolean||t===iv.String||t===iv.Cell||t===iv.Variable||t===iv.Range,nv=t=>t>=48&&t<=57,rv=t=>"true"===(t=t.toLowerCase())||"false"===t,sv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,av={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class lv{constructor(t){this.options=Object.assign(av,t)}tokenize(t){const e=[],i=t.length;let o,n,r,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),n=o.charCodeAt(0),"="==o&&0==a)++a;else if(nv(n)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),n=o.charCodeAt(0),nv(n))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,iv.Number])}else if(sv(n)||"$"==o){l=o,r=null,++a;do{if(o=t.charAt(a),n=o.charCodeAt(0),sv(n)||nv(n)||"."===o||"$"===o||"_"===o)"_"==o?r=iv.Variable:nv(n)&&!c&&null==r&&(r=iv.Cell),l+=o,++a,a==i&&e.push([l,r||iv.Variable]);else{if("("==o){e.push([l.toUpperCase(),iv.Function]),e.push([o,iv.OpenBracket]),++a;break}if("'"==o)e.push([l,iv.Sheet]),l="",e.push([o,iv.SheetQuote]),c=!0,++a;else if(":"==o)r=iv.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,iv.Sheet]),e.push([o,iv.SheetSeparator]),c=!1,l="",++a;break}e.push([l,r||(rv(l)?iv.Boolean:iv.Variable)]);break}l+=o,++a}}}while(a<i)}else if(Jf(o)){if("-"===o&&nv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||Qf(s[0])||s[1]==iv.ArgumentSeparator))d=!0;else{for(l=o;Qf(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,iv.Operator])}++a}else if("("===o)e.push([o,iv.OpenBracket]),++a;else if(")"===o)e.push([o,iv.CloseBracket]),++a;else if("'"===o)e.push([o,iv.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,iv.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,iv.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,iv.String]),h&&e.push([this.options.stringQuote,iv.StringQuote])}else e.push([o,iv.Unknown]),++a;s=e[e.length-1]}return e}}function cv(t,e,i=null,o=!0){return t+=e,0==e?t:t>=0?i?o?t%i:Math.min(t,i-1):t:o&&i?i+t%i:Math.max(t,0)}const hv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class dv{constructor(t,e,i,o,n){this.setCoords(t,e,i,o),this.sheet=n}setCoords(t,e,i,o){this.c1=null==t&&null==i?0:t,this.r1=null==e&&null==o?0:e,this.c2=null==o&&null!=t||null!=i?null==i?t:i:1/0,this.r2=null==i&&null!=e||null!=o?null==o?e:o:1/0,this.normalize()}get size(){return{columns:this.c2-this.c1+1,rows:this.r2-this.r1+1}}get count(){const{columns:t,rows:e}=this.size;return t*e}normalize(){const[t,e]=[Math.min(this.c1,this.c2),Math.max(this.c1,this.c2)],[i,o]=[Math.min(this.r1,this.r2),Math.max(this.r1,this.r2)];return this.c1=t,this.c2=e,this.r1=i,this.r2=o,this}move(t,e,i=null,o=null,n=!0){const r=cv(this.c1,t,i,n);n&&(e+=this.c1+t!=r&&0!=t?t>0?1:-1:0),this.c1=r,this.r1=cv(this.r1,e,o,n),this.c2=cv(this.c2,t,i,n),this.r2=cv(this.r2,e,o,n)}contains(t){return t.c1>=this.c1&&t.c2<=this.c2&&t.r1>=this.r1&&t.r2<=this.r2}containsColumn(t){return this.c1<=t&&this.c2>=t}containsRow(t){return this.r1<=t&&this.r2>=t}removeAnchors(){return this.c1Anchor=!1,this.c2Anchor=!1,this.r1Anchor=!1,this.r2Anchor=!1,this}addAnchors(){return this.c1Anchor=!0,this.c2Anchor=!0,this.r1Anchor=!0,this.r2Anchor=!0,this}shiftLeft(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1-=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2-=e),this}shiftRight(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1+=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2+=e),this}shiftUp(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1-=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2-=e),this}shiftDown(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1+=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2+=e),this}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,ignoreAnchors:r}=t;switch(o){case"down":return this.shiftDown(e,i,n,r);case"up":return this.shiftUp(e,i,n,r);case"left":return this.shiftLeft(e,i,n,r);case"right":return this.shiftRight(e,i,n,r)}}intersect(t){this.normalize(),t.normalize();const e=Math.max(t.c1,this.c1),i=Math.min(t.c2,this.c2),o=Math.max(t.r1,this.r1),n=Math.min(t.r2,this.r2);return e<=i&&o<=n?new dv(e,o,i,n,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new dv(Math.min(this.c1,t.c1),Math.min(this.r1,t.r1),Math.max(this.c2,t.c2),Math.max(this.r2,t.r2),this.sheet)}clone(){const t=new dv(this.c1,this.r1,this.c2,this.r2,this.sheet);return t.c1Anchor=this.c1Anchor,t.r1Anchor=this.r1Anchor,t.c2Anchor=this.c2Anchor,t.r2Anchor=this.r2Anchor,t}equals(t,e=!1){return t.c1==this.c1&&t.r1==this.r1&&t.c2==this.c2&&t.r2==this.r2&&(0==e||t.c1Anchor==this.c1Anchor&&t.r1Anchor==this.r1Anchor&&t.c2Anchor==this.c2Anchor&&t.r2Anchor==this.r2Anchor)}get isCell(){return this.c2==this.c2&&this.r2==this.r1}get isRange(){return this.c2!=this.c1||this.r2!=this.r1}get isColumn(){return 0==this.r1&&this.r2==1/0}get isRow(){return 0==this.c1&&this.c2==1/0}get A1(){const t=this.isRange,e=(this.c1Anchor?"$":"")+(0!==this.c1||this.c2!==1/0?gv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+uv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?gv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?uv(this.r2):""):e;return(null==this.sheet?"":((o=this.sheet).indexOf(" ")>-1?"'"+o+"'":o)+"!")+(e==i?e:e+":"+i);var o}get bounds(){return[[new dv(this.c1,this.r1),this.c2<1/0?new dv(this.c2,this.r1):null],[this.r2<1/0?new dv(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new dv(this.c2,this.r2):null]]}*cells(){for(let t=this.r1;t<=this.r2;t++)for(let e=this.c1;e<=this.c2;e++)yield new dv(e,t)}static fromA1(t){const e=hv.exec(t),i=new dv(e[3]?mv(e[3]):null,e[5]?pv(e[5]):null,e[7]?mv(e[7]):null,e[9]?pv(e[9]):null,e[1]||null);return!e[2]&&e[3]||(i.c1Anchor=!0),!e[4]&&e[5]||(i.r1Anchor=!0),(e[6]||e[2]&&!e[7])&&(i.c2Anchor=!0),(e[8]||e[4]&&!e[9])&&(i.r2Anchor=!0),i}}function uv(t){return(t+1).toString()}function pv(t){return parseInt(t)-1}function gv(t){++t;let e,i="";for(;t>0;)e=(t-1)%26,i=String.fromCharCode(e+65)+i,t=(t-e-1)/26;return i}function mv(t){const e=t.length;let i=0;for(let o=0;o<e;o++)i+=(t.charCodeAt(o)-64)*Math.pow(26,e-o-1);return i-1}function fv(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),n=Math.min(t.c1,t.c2),r=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:n<r?-1:r>n?1:0}))}function vv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function bv(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function yv(t){return Array.isArray(t)?t:[[t]]}function wv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===wv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}dv.fromA1s=(t,e=";")=>t.split(e).map((t=>dv.fromA1(t))),dv.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),dv.fromCoords=t=>new dv(t.c1,t.r1,t.c2,t.r2),dv.fullColumn=t=>new dv(t,0,t,1/0),dv.fullRow=t=>new dv(0,t,1/0,t);const xv=new Set(["SUMPRODUCT","FILTER"]),kv=t=>xv.has(t),Cv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),Mv=t=>Cv(t)?t:"="+(t??""),_v=t=>Cv(t)?t.substring(1):t,Sv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Ev=t=>Sv[t%Sv.length],zv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class Rv{get fn(){return this._fn??(this._fn=new Function("t","ctx","return "+this.compile()))}get tokens(){return this._tokens}get variables(){return this._variables}get cells(){return this._cells}get ranges(){return this._ranges}get colors(){if(!this._colors){let t;this._colors=new Map,this._tokens.forEach(((e,i)=>{if([iv.Cell,iv.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Ev(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==iv.Sheet&&(t=e[0])}))}return this._colors}constructor(t,e){this.expression=t,this.tokenizer=e,this._tokens=e.tokenize(this.expression),this.updateDependecies()}findTokenIndexAtPosition(t){let e=0;return this._tokens.findIndex((i=>{const o=i[0].length;if(t>=e&&t<=e+o)return!0;e+=o}))}findSheetTokenIndex(t){const e=this._tokens[t];if(![iv.Cell,iv.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=iv.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==iv.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=iv.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==iv.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[iv.SheetSeparator,iv.SheetQuote,iv.Sheet].includes(this._tokens[e][1]);)e++;return this._tokens.splice(t,e-t),e-t}return 0}getNamedColor(t){return this.colors.get(t)?.color??"inherit"}getTokenPosition(t){let e=0;for(let i=0;i<t;i++)e+=this._tokens[i][0].length;return{min:e,max:e+this._tokens[t][0].length}}updateToken(t,e){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens[t][0]=e}removeToken(t){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens.splice(t,1)}insertToken(t,e,i){this._fn=null,this._formula=null,this._xlFormula=null;const o=[];return i==iv.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,iv.SheetQuote]),o.push([e,iv.Sheet]),o.push([this.tokenizer.options.sheetQuote,iv.SheetQuote])):o.push([e,i]),o.push(["!",iv.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new Rv(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case iv.Sheet:t=e[0];break;case iv.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case iv.Cell:this._cells.push([i,dv.fromA1(e[0]),t]),t=void 0;break;case iv.Range:this._ranges.push([i,dv.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,n,r,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case iv.SheetQuote:s+="'";break;case iv.SheetSeparator:s+="!";break;case iv.Sheet:n=o[0],s+=t?`<span style="font-style:italic">${n}</span>`:n;break;case iv.Variable:s+=o[0];break;case iv.Range:case iv.Cell:r=(n?"'"+n+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(r)}">${o[0]}</span>`:o[0],n=null;break;case iv.StringQuote:s+=i.stringQuote;break;case iv.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case iv.ArgumentSeparator:s+=i.argumentSeparator;break;case iv.Function:s+=(e?(a=o[0],zv.get(a)??""):"")+o[0];break;case iv.Unknown:s+=t?`<span style="background:#f00;color:#fff">${o[0]}</span>`:o[0];break;default:s+=o[0]}var a;return s}createExpressionTree(){const t=[],e=[],i=this.tokens;let o,n,r,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case iv.Sheet:l=o[0];break;case iv.Cell:case iv.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case iv.Number:case iv.String:case iv.Boolean:case iv.Variable:t.push({t:o[0],tt:o[1]});break;case iv.Operator:for(0==t.length&&t.push({t:"",tt:iv.Operand}),r=Xf.get(o[0]);e.length>0&&(s=Xf.get(e[e.length-1][0]),s)&&(0===r[2]&&r[1]<=s[1]||1===r[2]&&r[1]<s[1]);)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case iv.Function:case iv.OpenBracket:e.push(o);break;case iv.ArgumentSeparator:for(;e.length>0&&(n=e[e.length-1],![iv.OpenBracket,iv.ArgumentSeparator].includes(n[1]));)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case iv.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==iv.OpenBracket;)n=e.pop(),n[1]==iv.Operator?a.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()}):n[1]==iv.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===iv.Function?(n=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==iv.OpenBracket&&a.unshift(t.pop()),t.push({t:n[0],tt:n[1],c:a})):t.push(...a)}for(;e.length>0;)n=e.pop(),t.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case iv.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.Operand:return"t.cl()";case iv.Variable:return i||e?.tt===iv.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case iv.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case iv.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||kv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case iv.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||kv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):Xf.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(Xf.get(t.t)[0])+")":null;default:return t.t}}compile(){const t=this.createExpressionTree();return this.createExpressionJSCode(t)}toString(t=!1){return(t?"=":"")+(this._formula??(this._formula=this.createFormulaString()))}toExcelString(){return this._xlFormula??(this._xlFormula=this.createFormulaString(!1,!0))}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,sheet:r,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this}hasSheetReference(t){for(const e of this._cells)if(e[2]==t)return!0;for(const e of this._ranges)if(e[2]==t)return!0;for(const e of this._variables)if(e[2]==t)return!0;return!1}renameSheet(t,e){let i=!1;return this._tokens.forEach((o=>{o[1]==iv.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Lv(t,e){return e&&(t=Zo(this.cell.model.options.locale,tn(e,"d"),!1)(t)),null==t?"":t.toString()}function Iv(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function Hv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Tv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Av(...t){let e="";return wv(t,(t=>e+=null==t?"":t.toString())),e}function Ov(t){return t instanceof Date?t:X(t)?Io(t,go()):Vo(t)}function $v(t){return J(t)?t:jo(t instanceof Date?t:Io(t,go()))}function Dv(t){return X(t)?$v(t):t}function Nv(t,e){const i=Ov(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function Pv(t,e,i){return Bo($v(bv(t)),e)}function jv(){return jo(oe(new Date))}function Vv(t){return null==(t=bv(t))||""===t}function Bv(t,e,i){return jo(new Date(t,e-1,i))}function Fv(t){return Ov(t).getFullYear()}function Wv(t){return Ov(t).getMonth()+1}function Uv(t){return Ov(t).getDate()}function Gv(t,e){const i=Ov(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),jo(i)}function Yv(t){return fi(Ov(t))}function qv(t){return Math.acos(t)}function Zv(t){return Math.acosh(t)}function Xv(t){return Math.PI/2-Math.atan(t)}function Qv(t){return.5*Math.log((t+1)/(t-1))}function Kv(t){return Math.asin(t)}function Jv(t){return Math.asinh(t)}function tb(t){return Math.atan(t)}function eb(t){return Math.atanh(t)}function ib(t){return Math.cos(t)}function ob(t){return Math.cosh(t)}function nb(t){return 1/Math.tan(t)}function rb(t){return 1/Math.tanh(t)}function sb(t){return 1/Math.sin(t)}function ab(t){return 1/Math.sinh(t)}function lb(t){return 180*t/Math.PI}function cb(){return Math.PI}function hb(t){return 1/Math.cos(t)}function db(t){return 1/Math.cosh(t)}function ub(t){return Math.sin(t)}function pb(t){return Math.sinh(t)}function gb(t){return Math.tan(t)}function mb(t){return Math.tanh(t)}function fb(t){return Math.abs(t)}function vb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function bb(t){return(t=Math.ceil(t))%2==0?t:t+1}function yb(t){return Math.pow(Math.E,t)}function wb(t){return t<0?-1:0==t?1:t*wb(t-1)}function xb(t){return t<=0?1:t*xb(t-2)}function kb(t){return Math.floor(t)}function Cb(t){return t%1!=0}function Mb(t){return!Cb(t)&&t%2==0}function _b(t){return Cb(t)||t%2==1}function Sb(t){return Math.log(t)}function Eb(t,e){return Math.log(t)/Math.log(e)}function zb(t){return Math.log10(t)}function Rb(t,e){return t%e}function Lb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Ib(t,e){return Math.pow(t,e)}function Hb(...t){let e=1;return wv(t,(t=>e*=t||1)),e}function Tb(t,e){return Math.floor(t/e)}function Ab(t){return t*Math.PI/180}function Ob(){return Math.random()}function $b(t,e){const i=Array(t).fill(null).map((()=>Array(e)));for(let o=0;o<t;o++)for(let t=0;t<e;t++)i[o][t]=Math.random();return i}function Db(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function Nb(t,e){return t.toFixed(e)}function Pb(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function jb(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function Vb(t,e,i=1,o=1){const n=Array(t).fill(null).map((()=>Array(e)));let r=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)n[i][t]=r,r+=o;return n}function Bb(t){return t<0?-1:t>0?1:0}function Fb(t){return Math.sqrt(t)}function Wb(t){return Math.sqrt(Math.PI*t)}function Ub(...t){let e=0;return wv(t,(t=>e+=null==t?0:1)),e}function Gb(...t){let e=0;return wv(t,(t=>e+=null==t?1:0)),e}function Yb(t,e){let i=0;return wv(t,(t=>i+=Zf(e,t)?1:0)),i}function qb(...t){let e=0;const i=new Map;return wv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function Zb(...t){let e=0;return wv(t,(t=>e+=isNaN(t)?0:t)),e}function Xb(t,e,i){let o=0;if(i){const n=yv(i);wv(t,((t,i,r)=>o+=Zf(e,t)&&n[i]&&n[i][r]&&!isNaN(n[i][r])?n[i][r]:0))}else wv(t,(t=>o+=Zf(e,t)&&!isNaN(t)?t:0));return o}function Qb(t,e){let i=0;return wv(t,(t=>i+=Zf(e,t)&&!isNaN(t)?t*t:0)),i}function Kb(...t){let e=0;const i=t.shift();if(0===t.length)wv(i,(t=>e+=isNaN(t)?0:t));else{const o=yv(t[0]);wv(i,((t,i,n)=>e+=o[i]&&o[i][n]&&!isNaN(t)&&!isNaN(o[i][n])?t*o[i][n]:0))}return e}function Jb(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase().includes(t))}function ty(t,e,i=1){const o=new dv(Math.max((e||0)-1,0),Math.max((t||0)-1,0));return 1!=i&&2!=i||(o.r1Anchor=!0),1!=i&&3!=i||(o.c1Anchor=!0),o.A1}function ey(t,e,i,o=!1){let n,r;const s=Jb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[n][i-1];return null}function iy(t,e,i,o=!1){let n,r;const s=Jb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[i-1][r];return null}function oy(t,e,i){let o,n;t:for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++)if(e[o][n]==t)break t;return i?i[o]?i[o][n]:null:e[o][e[o].length-1]}function ny(t,...e){let i=null,o=0;return wv(e,(e=>{if(t==++o)return i=e,!1})),i}function ry(t){return(t?dv.fromA1(t).c1:this.cell.c)+1}function sy(t){return(t?dv.fromA1(t).r1:this.cell.r)+1}function ay(t){return Array.isArray(t)?t[0]?.length:1}function ly(t){return Array.isArray(t)?t.length:1}function cy(){const t=vv(this)[0];return t&&t.hasFormula?" "+Mv(t.formula):""}function hy(t,e,i){return e=e||1,i=i||1,Array.isArray(t)?t[e-1]?t[e-1][i-1]:null:1==e&&1==i?t:null}function dy(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let n;return i.calculations.dependencies.cellDependencies.has(e.address)?n=i.calculations.dependencies.cellDependencies.get(e.address):(n=new Map,i.calculations.dependencies.cellDependencies.set(e.address,n)),n.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?n=i.calculations.dependencies.cellDependants.get(o.address):(n=new Map,i.calculations.dependencies.cellDependants.set(o.address,n)),n.set(e.address,[e.range]),o.value}function uy(t,e,i=0){let o,n;for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++){if(0==i&&e[o][n]==t)return Math.max(o+1,n+1);if(1==i&&e[o][n]>t)return Math.max(o+1,n+1);if(-1==i&&e[o][n]<t)return Math.max(o+1,n+1)}return null}function py(t,e,i,o,n){const r=vv(this)[0],s=[];o=o||1,n=n||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<n;s++){const n=r.model.rows[r.r+t+e].cell(r.c+s+i);o.push(n?r.value:null)}s.push(o)}return s}function gy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let n=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){n=!1;break}n&&i.push(t[o])}return i}const my=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],fy=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]];function vy(t){const e=t*t;let i,o=my[0][4]*e,n=e;for(i=0;i<3;i+=1)o=(o+my[0][i])*e,n=(n+fy[0][i])*e;return t*(o+my[0][3])/(n+fy[0][3])}function by(...t){let e=!0;return wv(t,(t=>{if(!t)return e=!1})),e}function yy(...t){let e=!1;return wv(t,(t=>{if(t)return e=!0})),e}function wy(...t){let e=null;return wv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function xy(...t){const e=t[0];for(let i=1;i<t.length;i+=2){if(i==t.length-1)return t[i];if(e==t[i])return t[i+1]}return null}function ky(t,e,i){return t?e:i}function Cy(t){return!t}function My(){return!1}function _y(){return!0}function Sy(t,e){return e=""===e?null:e,t===1/0||t===-1/0||Number.isNaN(t)?e:t}var Ey=i(235),zy=i.n(Ey),Ry=i(5949),Ly=i.n(Ry);function Iy(...t){let e=0,i=0;return wv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function Hy(t,e){const i=Ly()(),o=yv(t),n=yv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(n[t]?n[t][e]:1)??1);return i()}function Ty(...t){const e=function(t){const e=[];return wv(t,(t=>e.push(t))),e}(t),i=zy()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function Ay(...t){let e=1/0;return wv(t,(t=>e=Math.min(e,t))),e}function Oy(...t){let e=-1/0;return wv(t,(t=>e=Math.max(e,t))),e}function $y(t,e){Object.keys(e).forEach((i=>t.set(rt(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const Dy=new Map;$y(Dy,M),$y(Dy,_),$y(Dy,S),$y(Dy,E),$y(Dy,R),$y(Dy,z),$y(Dy,L);class Ny{constructor(t){this.model=t,this.getModel=t=>{const e=t?this.model.getConnectedModel(t):this.model;if(e)return e;throw new Error(`Sheet "${t}" not found`)},this.cl=(t,e)=>{const i=this.getModel(e);return(null==t?this.currentCell:i.getCellByA1(t)).value},this.rn=(t,e)=>this.getModel(e).getValuesInRange(dv.fromA1(t)),this.nv=(t,e)=>this.getModel(e).getCellByName(t,this.currentCell.range).value,this.nr=(t,e)=>{const i=this.getModel(e).getValueMatrixByName(t);return 1===i.length&&1===i[0].length?i[0][0]:i},this.fn=t=>{const e=Dy.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>ev(t,e,i)}}function Py(t,e){const i=Array(e).fill(null);let o=0,n=[];if(t.length>1){n=t.map((t=>parseFloat(t.value)||0)),o=n[1]-n[0];for(let t=2;t<n.length;t++)if(n[t]-n[t-1]!==o){o=0;break}}if(0==o)for(let o=0;o<e;o++)i[o]=t[o%t.length]?.value;else{let t=n[n.length-1];for(let n=0;n<e;n++)t=i[n]=t+o}return i}function jy(t,e,i){const o=new Rv(t.formula,t.model.calculations.tokenizer),n=[];for(let t=0;t<i;t++)n.push(Mv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return n}function Vy(t,e,i,o){const n=t.getCellMatrix(e);let r;"right"==o?r=Ln(n):"down"==o?r=Rn(n):"left"==o?r=En(n):"up"==o&&(r=En(Rn(n)));const s=new Array(i.size.rows);for(let t=0;t<i.size.rows;t++){s[t]=new Array(i.size.columns);for(let e=0;e<i.size.columns;e++){const i=n.length>t?n[t][n[t].length>e?e:0]:n[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=r.map((t=>t[t.length-1].hasFormula?jy(t[t.length-1],o,a):Py(t,a)));return"down"==o?l=Rn(l):"left"==o?l=En(l):"up"==o&&(l=zn(Rn(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function By(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function Fy(t,e){const i=t.validation;if(!i)return!0;if(i.allowInvalid)return!0;let o=!0;return i.pattern&&(i.pattern.test((e??"").toString())||(o=!1)),i.validate&&(i.validate(t,e)||(o=!1)),o}class Wy{get address(){return null}get renderer(){return this._renderer}set renderer(t){this._renderer=t}get afterRenderer(){return this._afterRenderer}set afterRenderer(t){this._afterRenderer=t}get commentRenderer(){return this._commentRenderer}set commentRenderer(t){this._commentRenderer=t}get type(){return this._type}set type(t){this._type=t}get name(){return this._name}set name(t){this._name=t}get style(){return this._style}set style(t){this._style=t}get commentable(){return this._commentable}set commentable(t){this._commentable=t}get clickable(){return this._clickable}set clickable(t){this._clickable=t}get editable(){return this._editable}set editable(t){this._editable=t}get validation(){return this._validation}set validation(t){this._validation=t}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){this._formula=t?t.replace(/^=/,""):null}get value2(){return this.hasFormula?Mv(this.formula):null}get editorContent(){return this._editorContent}set editorContent(t){this._editorContent=t}get adapter(){return this._adapter}set adapter(t){this._adapter=t}get properties(){return this._properties}set properties(t){this._properties=t}getProperty(t){return this._properties?.[t]}setProperty(t,e){this._properties||(this._properties={}),this._properties[t]=e}get format(){return this._format}set format(t){this._format=t,this._valueFormatter=null}get valueFormatter(){return this._valueFormatter}constructor(t,e){this.model=t,this._type=null,this._clickable=!1,e&&this.populate(e)}populate(t){this._renderer=t.renderer,this._afterRenderer=t.afterRenderer,this._commentRenderer=t.commentRenderer,this._name=t.name,this._type=t.t,this._editorContent=t.content,this._adapter=t.adapter,this._format=t.z,this._formula=t.f,this._editable=t.e,this._commentable=t.commentable,this._clickable=t.clickable,this._validation=t.validation?By(t.validation):null,this._properties=t.props,this._style=null==t.s?null:this.model.styles.add(t.s).id}update(t){const e={};if("renderer"in t&&(e.renderer=this._renderer,this._renderer=t.renderer),"afterRenderer"in t&&(this._afterRenderer=t.afterRenderer),"commentRenderer"in t&&(this._commentRenderer=t.commentRenderer),"name"in t&&(e.name=this._name,this._name=t.name),"t"in t&&(e.t=this._type,this._type=t.t),"content"in t&&(e.content=this._editorContent,this._editorContent=t.content),"adapter"in t&&(e.adapter=this._adapter,this._adapter=t.adapter),"z"in t&&(e.z=this._format,this._format=t.z),"f"in t&&(e.f=this._formula,this._formula=t.f),"e"in t&&(e.e=this._editable,this._editable=t.e),"commentable"in t&&(e.commentable=this._commentable,this._commentable=t.commentable),"clickable"in t&&(e.clickable=this._clickable,this._clickable=t.clickable),"validation"in t&&(e.validation=this._validation,this._validation=By(t.validation)),"props"in t&&(e.props=this._properties,this._properties=t.props),"s"in t){const i=this.model.styles.add(t.s).id;this._style!==i&&(e.s=this._style,this._style=i)}return e}getSourceData(){const t={};return null!=this._type&&(t.t=this._type),null!=this._format&&(t.z=this._format),null!=this._formula&&(t.f=this._formula),null!=this._editable&&(t.e=this._editable),null!=this._commentable&&(t.commentable=this._commentable),null!=this._clickable&&(t.clickable=this._clickable),this._properties&&(t.props=ot(this._properties)),null!=this._editorContent&&(t.content=q(this._editorContent)?ot(this._editorContent):this._editorContent),null!=this._style&&(t.s=this._style),null!=this._name&&(t.name=this._name),t}setStyleProperties(t,e=!1){this.style=e?this.model.styles.set(this.style,t).id:this.model.styles.duplicate(this.style,t).id}removeStyleProperties(t){null!==this.style&&this.model.styles.unset(this.style,t)}get composedStyle(){return this.model.styles.get(this.style)}}function Uy(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const Gy=new Map([["thin",{width:1.5,style:"solid"}],["medium",{width:2,style:"solid"}],["thick",{width:3,style:"solid"}],["double",{width:3,style:"double"}],["dotted",{width:1.5,style:"dotted"}],["hair",{width:1,style:"solid"}],["dashed",{width:1.5,style:"dashed"}],["mediumDashed",{width:2,style:"dashed"}],["dashDot",{width:1.5,style:"dashed"}],["mediumDashDot",{width:2,style:"dashed"}],["dashDotDot",{width:1.5,style:"dotted"}],["mediumDashDotDot",{width:2,style:"dotted"}],["slantDashDot",{width:1.5,style:"dashed"}],["none",{width:1.5,style:"solid"}]]),Yy=(()=>{const t=new Map;return Gy.forEach(((e,i)=>{let o=t.get(e.style);o||(o=t.set(e.style,new Map).get(e.style)),o.set(e.width,i)})),t})();function qy(t){return"middle"==t?"center":t}function Zy(t){return 3==(t="#"==t.charAt(0)?t.substring(1):t).length?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t}const Xy=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",n=Yy.get(o);return{style:(n?n.get(i):null)??"thin",color:e.length>2?Zy(e[2]):"CCCCCC"}},Qy=t=>{const e=Gy.get(t.style||"none");return e?[Tt(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},Ky=(t,e)=>{const i="#"+(e.fgColor||"000000"),o="#"+(e.bgColor||"FFFFFF");switch(e.patternType){case"solid":t.backgroundColor=i||o;break;case"darkGray":t.backgroundColor=bn(o,.75);break;case"mediumGray":t.backgroundColor=bn(o,.5);break;case"lightGray":t.backgroundColor=bn(o,.25);break;case"gray125":t.backgroundColor=bn(o,.125);break;case"gray0625":t.backgroundColor=bn(o,.0625);break;case"darkHorizontal":t.backgroundImage=`linear-gradient(0deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkVertical":t.backgroundImage=`linear-gradient(90deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkDown":t.backgroundImage=`linear-gradient(45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkUp":t.backgroundImage=`linear-gradient(-45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"lightHorizontal":t.backgroundImage=`linear-gradient(0deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightVertical":t.backgroundImage=`linear-gradient(90deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightDown":t.backgroundImage=`linear-gradient(45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightUp":t.backgroundImage=`linear-gradient(-45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"darkGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px";break;case"darkTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px"}return t},Jy=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),tw=t=>{const e=t.cssStyle?{...t.cssStyle}:{};return null!=t.bold&&(e.fontWeight=t.bold?"bold":"normal"),t.italic&&(e.fontStyle="italic"),t.underline?e.textDecoration="underline":t.strike&&(e.textDecoration="line-through"),t.sz&&(e.fontSize=Ht(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Qy(t.top)),t.right&&(e.borderRight=Qy(t.right)),t.bottom&&(e.borderBottom=Qy(t.bottom)),t.left&&(e.borderLeft=Qy(t.left)),(t.top||t.right||t.bottom||t.left)&&(e.zIndex="1"),t.alignment&&t.alignment.vertical?(e.display="flex",e.justifyContent=t.alignment.horizontal,e.alignItems="top"==t.alignment.vertical?"start":"bottom"==t.alignment.vertical?"end":"center"):t.alignment&&t.alignment.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment&&t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.patternType?Ky(e,t):t.stops&&t.stops.length?Jy(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},ew=t=>{const e=q(t)?t:Uy(t),i={};let o;for(const t in e){const n=e[t];if(null!=n)switch(t){case"borderTop":case"border-top":i.top=Xy(n);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=Zy(n):i.top={style:"thin",color:Zy(n)};break;case"borderRight":case"border-right":i.right=Xy(n);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=Zy(n):i.right={style:"thin",color:Zy(n)};break;case"borderBottom":case"border-bottom":i.bottom=Xy(n);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=Zy(n):i.bottom={style:"thin",color:Zy(n)};break;case"borderLeft":case"border-left":i.left=Xy(n);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=Zy(n):i.left={style:"thin",color:Zy(n)};break;case"border":o=Xy(n),i.top=i.top||o,i.right=i.right||o,i.bottom=i.bottom||o,i.left=i.left||o;break;case"textAlign":case"text-align":i.alignment=i.alignment||{},i.alignment.horizontal=n;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=qy(n);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=n&&"nowrap"!=n;break;case"color":i.color=Zy(n);break;case"background":case"backgroundColor":i.fgColor=Zy(n);break;case"fontSize":case"font-size":i.sz=parseFloat(n);break;case"fontWeight":case"font-weight":i.bold="bold"==n;break;case"fontStyle":case"font-style":i.italic="italic"==n;break;default:i[t]=n}}return i},iw={n:t=>{const e=X(t)?parseFloat(t):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>X(t)?Q(t)?K(t):jo(Io(t,e.model.options.formatLocale)):t instanceof Date?jo(t):t,tm:t=>X(t)?new Date(t):t,dt:t=>X(t)?new Date(t):t,b:t=>!!t&&"0"!==t&&"false"!==t.toString().toLowerCase(),s:t=>t,m:t=>t,g:t=>{if(null==t)return null;const e=parseFloat(t);return isNaN(e)?t:e},a:t=>X(t)&&""!==t?JSON.parse(t):t,h:t=>t},ow=new Map;class nw extends Wy{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=t}get colspan(){return this._colspan}set colspan(t){this._colspan=t}get r(){return this.row.index}get c(){return this.column.index}get hasValue(){return null!=this._value}get value(){return this._evaluated||this.evaluate(),this._value}set value(t){if(t&&Cv(t.toString()))this._value=void 0,this.formula=t;else{let e=iw[this.type](t,this);Fy(this,e)||(e=void 0),e!==this._value&&(this._value=e,this._displayValue=void 0),this.row.data&&this.column.data&&(this.row.data[this.column.data]=this._value)}}evaluate(){return this._value=iw[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?Mv(this.formula):this.value}get hasDisplayValue(){return null!=this._displayValue}get displayValue(){return this._displayValue}set displayValue(t){this._displayValue=t}get prefersDisplayValue(){return["s","m"].includes(this.type)}get error(){return this._error}set error(t){this._error=t}get hasError(){return!!this._error}clearError(){this._error=void 0}get spillRange(){return this._spillRange}get prevSpillRange(){return this._prevSpillRange}set spillRange(t){!this._spillRange||t&&this._spillRange.equals(t)||(this._prevSpillRange=this._spillRange),this._spillRange=t}get isSpillSource(){return null!=this._spillRange}get spillSource(){return this._spillSource}get isSpilled(){return null!=this._spillSource}spillValue(t,e){this.value=t,this._spillSource=e}clearSpilledValue(){this._spillSource=void 0,this._value=void 0}get hasSparkline(){return null===this._sparkline?this._sparkline=this.model.sparklines.has(this.address):this._sparkline}get hasComment(){return null===this._hasComment?this._hasComment=(this.model.comments.get(this.address)??[]).length>0:this._hasComment}get comments(){return this.model.comments.get(this.address)}get valueFormatter(){const t=super.valueFormatter??this.row.valueFormatter??this.column.valueFormatter;if(t)return t;const e=this.type,i=this.format,{formatLocale:o,fixNumberFormat:n}=this.model.options,r=this.value;if(null==r||""===r)return null;if("n"==e)return null!=i?Zo(o,i,n):this.model.options.numberFormatter;if("g"==e){if(null!=i)return Zo(o,i,n);if(J(r))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:Zo(o,i,!1);if("d"==e)return i?Ho(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!ow.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);ow.set(t,(t=>e.has(t)?e.get(t):t))}else ow.set(t,(t=>t));return ow.get(t)})(this.editorContent)}return null}get formattedValue(){return null==this.value?"":this.hasDisplayValue?this.displayValue:this.valueFormatter?this.valueFormatter(this.value):this.value.toString()}get elm1(){return this.row.priority>=this.column.priority?this.row:this.column}get elm2(){return this.row.priority<this.column.priority?this.row:this.column}get clickable(){return super.clickable??this.elm1.clickable??this.elm2.clickable}get type(){return super.type??this.elm1.type??this.elm2.type??"g"}set type(t){this._type=t}get editorContent(){return super.editorContent??this.elm1.editorContent??this.elm2.editorContent??null}get adapter(){return super.adapter??this.elm1.adapter??this.elm2.adapter}set adapter(t){this._adapter=t}get address(){return this.column.address+this.row.address}get range(){return dv.fromA1(this.address)}get validation(){return super.validation??this.elm1.validation??this.elm2.validation??this.model.options.cellValidation}get editable(){return super.editable??this.elm1.editable??this.elm2.editable??this.model.options.editable}set editable(t){this._editable=t}get commentable(){return super.commentable??this.elm1.commentable??this.elm2.commentable??this.model.options.commentable}get renderer(){return super.renderer??this.elm1.renderer??this.elm2.renderer}get afterRenderer(){return super.afterRenderer??this.elm1.afterRenderer??this.elm2.afterRenderer??this.model.options.afterRenderer}get commentRenderer(){return super.commentRenderer??this.elm1.commentRenderer??this.elm2.commentRenderer??this.model.options.comments.renderer}get format(){return super.format??this.elm1.format??this.elm2.format}set format(t){super.format=t}get hyperlink(){return this._hyperlink}set hyperlink(t){this._hyperlink=t}get hasOwnFormula(){return!!this._formula}get hasFormula(){return null==this._hasFormula&&(this._hasFormula=!!this.formula),this._hasFormula}get formula(){return this._formula??this.elm1.formula??this.elm2.formula}set formula(t){super.formula=t,this.refreshFormula()}invalidateValue(){this.hasFormula?(this._value=void 0,this._evaluated=!1):this._evaluated=!0,this.clearError()}refreshFormula(){this.invalidateValue(),this._hasFormula=null}clearFormula(){this._formula=null,this._hasFormula=!1,this._evaluated=!0}constructor(t,e){super(t),this._evaluated=!0,this._sparkline=null,this._hasComment=null,this._hasStyle=null,this.row=t.rows[e.r],this.column=t.columns[e.c],this.populate(e)}populate(t){super.populate(t),this._colspan=t.cs??1,this._rowspan=t.rs??1,this._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"cs"in t&&(e.cs=this._colspan,this._colspan=t.cs),"rs"in t&&(e.rs=this._rowspan,this._rowspan=t.rs),"tooltip"in t&&(e.tooltip=this._tooltip,this._tooltip=t.tooltip),"hl"in t&&(e.hl=this._hyperlink,this._hyperlink=t.hl),"f"in t?this._evaluated=!1:"v"in t&&(e.v=this.value,this.value=t.v),"dv"in t&&(e.dv=this._displayValue,this._displayValue=t.dv),e}getSourceData(t){const e=super.getSourceData();return this._colspan>1&&(e.cs=this._colspan),this._rowspan>1&&(e.rs=this._rowspan),null!=this.value&&(e.v=this.value),this.hasTooltip&&(e.tooltip=this._tooltip),this._hyperlink&&(e.hl=this._hyperlink),t&&t.displayValue&&this.hasDisplayValue&&(e.dv=this._displayValue),e}createComposedStyle(t,e,i){const o=[];return t=t||this.column.style,e=e||this.row.style,null!=t&&null!=e?this.column.priority>this.row.priority?o.push(e,t):o.push(t,e):null!=t?o.push(t):null!=e&&o.push(e),null!=this.style&&o.push(this.style),null!=i&&o.push(i),o.length>0?this.model.styles.merge(...o):null}get composedStyle(){if(null===this._hasStyle){const t=this.createComposedStyle(null,null,this.model.conditionalFormats.evaluate(this));this._hasStyle=null!=t,this._composedStyle=t}return this._composedStyle}get calculatedIndent(){const t=this.composedStyle;return t?.alignment?.indent?t.alignment.indent:this.column.levelIndent&&this.row.level>0?this.row.level*this.model.options.levelIndentFactor:null}get cssStyle(){if(!1===this._hasStyle)return null;if(!this._cssStyle){const t=this.composedStyle;t&&(this._cssStyle=tw(t))}return this._cssStyle}invalidateStyle(){this._hasComment=null,this._hasStyle=null,this._composedStyle=null,this._cssStyle=null,this._sparkline=null}setStyleProperties(t){super.setStyleProperties(t),this.invalidateStyle()}removeStyleProperties(t){super.removeStyleProperties(t),this.invalidateStyle()}previewStyleProperties(t,e="cell"){const i=Object.assign({},this.createComposedStyle("column"==e?t:null,"row"==e?t:null)??{});if("cell"==e)for(const e in t)i[e]=t[e];this._hasStyle=!0,this._cssStyle=tw(i)}validate(){return!this.validation||Fy(this,this.value)}toString(){return this.address}}const rw={property:"value",enabled:!0};class sw extends(pn(Wy)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?rw:{enabled:!1})}set filter(t){this._filter=t}get hasFilter(){return this.filter.enabled}get sorting(){return this._sorting??this.model.options.columnSorting}set sorting(t){this._sorting=t}get width(){return this._width??this.model.options.columnWidth}set width(t){this._width=t}get levelIndent(){return this._levelIndent}set levelIndent(t){this._levelIndent=t}get levelButtons(){return this._levelButtons}set levelButtons(t){this._levelButtons=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return gv(this.index)}get range(){return new dv(this.index,null,this.index,null)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t;const e=this.index;this.model.rows.forEach((t=>t.cells[e]?.refreshFormula()))}constructor(t,e){super(t,e),null==this._priority&&(this._priority=t.options.columnPriority)}get mergedHeaders(){return this._mergedHeaders??(this._mergedHeaders=this._header?.filter((t=>t.cs>1||t.rs>1))??[])}updateMergedHeaders(){this._mergedHeaders=null}set header(t){this._mergedHeaders=null,this._header=t}get header(){if(!this._header||this._header.length<this.model.headerCount){this._header=this._header??[];for(let t=this._header.length;t<this.model.headerCount;t++)this._header.push({r:t})}return this._header}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>(null==(t=t??{r:e}).height&&(t.height=t.h),t.r=e,null==t.style&&(t.style=t.s),t._style=null==t.style?null:this.model.styles.add(t.style).id,t))):X(t)?[{label:t,r:0}]:null}populate(t){super.populate(t),this._width=null==t.w||"auto"==t.w?null:t.w,this._levelIndent=t.levelIndent,this._levelButtons=t.levelButtons,this._header=this.convertSourceHeader(t.header),this._sorting=t.sorting,this._filter=q(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?rw:!1===t.filter?{enabled:!1}:null,this._comparer=t.comparer,this.data=t.data,this._mergedHeaders=null,null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._width&&(t.w=this._width),null!=this._levelIndent&&(t.levelIndent=this._levelIndent),null!=this._levelButtons&&(t.levelButtons=this._levelButtons),null!=this._header&&(t.header=this._header),null!=this._sorting&&(t.sorting=this._sorting),null!=this._filter&&(t.filter=this._filter),null!=this.data&&(t.data=this.data),t}expand(t){super.expand(t),this.model.indexVisibleColumns()}collapse(){super.collapse(),this.model.indexVisibleColumns()}get prev(){return this.model.columns[this.index-1]}get next(){return this.model.columns[this.index+1]}get prevVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t||0===t?null:this.model.visibleColumns[t-1]}get nextVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t?null:this.model.visibleColumns[t+1]}calculateRealColspan(t){let e=1,i=this.nextVisible;for(;i&&i.index-this.index<t&&e<t;)++e,i=i.nextVisible;return e}cell(t){return this.model.rows[t].cell(this.index)}clearCalculatedValues(){this.model.rows.forEach((t=>{const e=t.cells[this.index];e&&this.model.calculations.refreshFormula(e)}))}}var aw;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(aw||(aw={}));const lw={g:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,t:(t,e)=>(t.value||"").toString().localeCompare((e.value||"").toString()),s:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,m:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,n:(t,e)=>t.value-e.value,d:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),tm:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),dt:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},cw={g:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,t:(t,e)=>(e.value||"").toString().localeCompare((t.value||"").toString()),s:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,m:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,n:(t,e)=>e.value-t.value,d:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),tm:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),dt:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},hw=(t,e)=>t.origIndex-e.origIndex;class dw{get settings(){return this._settings}set settings(t){this._settings=t,this.colMap.clear(),this.settings.length>0&&(this.settings.forEach(((t,e)=>this.colMap.set(t.c,e))),this.applySort(),hn().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=[]){this.model=t,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}sort(t,e=null,i=!1){let o=this.get(t);return o&&o.ord==aw.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=aw.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:aw.Asc},o&&(null!==e&&(o.ord=e),this.colMap.set(t,0),this.settings.unshift(o)),this.settings.length>this.model.options.maxSortingColumns&&this.settings.pop(),this.colMap.clear(),this.settings.forEach(((t,e)=>{t.index=e,this.colMap.set(t.c,e)})),i||(this.settings.length>0?this.applySort():this.resetSort()),o}applySort(){const t=this.model,e=this.settings.map((e=>{const i=t.columns[e.c];return i?i.comparer?e.ord==aw.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==aw.Asc?lw[i.type??"t"]:cw[i.type??"t"]:(hn().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,n,r;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(n=0;n<i;n++)if(r=this.settings[n].c,o=e[n](t.cell(r),s.cell(r)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(hw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class uw{get properties(){return this._properties}set properties(t){this._properties=t}constructor(t){t&&this.pupulate(t)}pupulate(t){this.author=t.author,this.text=t.text,this.date=t.date?new Date(t.date):null,this.data=t.data,this.readOnly=!!t.readOnly,this._properties=t.props}getSourceData(){const t={};return this._properties&&(t.props=this._properties),this.author&&(t.author=this.author),this.text&&(t.text=this.text),this.data&&(t.data=this.data),null!==this.readOnly&&(t.readOnly=this.readOnly),this.date&&(t.date=Ho("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class pw{constructor(t,e){this.model=t,this._commentMap=new Map,this.has=t=>this._commentMap.has(t),this.delete=t=>this._commentMap.delete(t),this.cleanCell=t=>{this.has(t)&&this._commentMap.set(t,this.get(t).filter((t=>(t.text??"").length>0||null!=t.data)))},this.get=t=>(this.has(t)||this._commentMap.set(t,[]),this._commentMap.get(t)),this.set=(t,e)=>{this._commentMap.set(t,e),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new dv(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new uw(t))})),this._commentMap.forEach((t=>{t.sort(((t,e)=>(e.date?e.date.getTime():0)-(t.date?t.date.getTime():0)))}))}shift(t){Array.from(this._commentMap.keys()).forEach((e=>{const i=dv.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}class gw{get tokenizer(){return this._tokenizer}get dependencies(){return this._dependencies}get formulas(){return this._formulas}constructor(t){this.model=t,this._tokenizer=new lv,this._formulas=new Map,this._dependencies=new Cw(t),this.context=new Ny(t)}createFormula(t){const e=new Rv(t.formula,this.tokenizer);return this._formulas.set(t.address,e),t.hasOwnFormula&&(t.formula=e.createFormulaString()),this.createDependecies(t),e}createDependecies(t){const e=t.address;if(this.formulas.has(e)){const i=this.formulas.get(e);i.ranges.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.cells.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.variables.forEach((([i,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(e,n.address,null)}))}return this}refreshFormula(t){return t.refreshFormula(),this.formulas.delete(t.address),this.clearDependecies(t),this}updateDependencies(t){return this.clearDependecies(t).getFormula(t),this}getFormula(t){return this._formulas.has(t.address)?this._formulas.get(t.address):this.createFormula(t)}refresh(){this.dependencies.clear(),this._formulas.clear()}clearDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.formulas.delete(e),this}evaluateFormula(t,e){return this.context.currentCell=e,t.fn(this.context,{cell:e,formula:t})}evaluateExpression(t,e){this.context.currentCell=e;const i=new Rv(t,this.tokenizer);return i.fn(this.context,{cell:e,formula:i})}evaluate(t,e){if(!t)return null;let i=null;if(t.hasFormula){const o=this.getFormula(t);try{t.clearError(),this.context.currentCell=t,i=o.fn(this.context,{cell:t,formula:o}),Array.isArray(i)?(e||this.model.spillValues({cell:t,values:i}).range,i=i.length>0&&i[0].length>0?i[0][0]:null,e&&(t.value=i)):t.value=i}catch(e){t.error=function(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}(e)}}else i=t.value;return i}evaluateAll(){this.model.rows.forEach((t=>this.model.columns.forEach(((e,i)=>t.cell(i).evaluate()))))}calculateViewport(t){const e=[];return t.rows.forEach((t=>t.cells.forEach((t=>{if(t.hasFormula){if(!t.hasValue&&(this.evaluate(t),t.spillRange))for(const i of this.model.getRangeIterator(t.spillRange))e.push(i);e.push(t)}})))),e}shift(t){this.getFormulaCells().forEach((e=>{e.formula=this.getFormula(e).shift(t).createFormulaString(!1),this.updateDependencies(e)}));const e=this.model.name;return this.dependencies.sheetDependants.forEach((i=>{const o=this.model.getConnectedModel(i);o?.calculations.getFormulaCells().forEach((i=>{const n=o.calculations.getFormula(i);n.hasSheetReference(e)&&(i.formula=n.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,n=t.columns.length;for(let r=0;r<o;r++){i=t.rows[r];for(let t=0;t<n;t++)i.hasCellFormula(t)&&e.push(i.cell(t))}return e}renameSheet(t,e){let i=!1;return this.dependencies.renameSheet(t,e),this.getFormulaCells().forEach((o=>{const n=this.getFormula(o);n.renameSheet(t,e)&&(o.formula=n.createFormulaString(),this.refreshFormula(o),i=!0)})),i}invalidateCellDependants(t){const e=[];return this.dependencies.getDependants(t.range).forEach((([t,i])=>{e.push([t,i]),t.invalidateValue()})),e}invalidateDependants(t){const e=new Map,i=new Map;for(const i of t)this.invalidateCellDependants(i).forEach((([t,i])=>e.set(t,i)));e.forEach(((t,e)=>i.set(e,t)));for(const i of t)e.set(i,null);return e.forEach(((t,e)=>{this.model.sparklines.dependencies.getDependants(e.range).forEach((([t,e])=>{i.set(t,e)})),this.model.conditionalFormats.dependencies.getDependants(e.range).forEach((([t,e])=>{this.model.conditionalFormats.invalidateExtremes(t),t.invalidateStyle(),i.set(t,e)}))})),i}}const mw="#ff0000",fw="#fcd53f",vw="#00bb5e",bw="#555555",yw=new Map([["3Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","right"],color:fw},{icon:["fas","up"],color:vw}]],["3ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","right"],color:bw},{icon:["fas","up"],color:bw}]],["3Flags",[{icon:["fas","flag-pennant"],color:mw},{icon:["fas","flag-pennant"],color:fw},{icon:["fas","flag-pennant"],color:vw}]],["3TrafficLights1",[{icon:["fas","circle"],color:mw},{icon:["fas","circle"],color:fw},{icon:["fas","circle"],color:vw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:mw},{icon:["fas","square-o"],color:fw},{icon:["fas","square-o"],color:vw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:mw},{icon:["fas","triangle"],color:fw},{icon:["fas","circle"],color:vw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:mw},{icon:["fas","circle-exclamation"],color:fw},{icon:["fas","circle-check"],color:vw}]],["3Symbols2",[{icon:["fas","xmark"],color:mw},{icon:["fas","exclamation"],color:fw},{icon:["fas","check"],color:vw}]],["3Stars",[{icon:["fal","star"],color:fw},{icon:["fas","star-half-stroke"],color:fw},{icon:["fas","star"],color:fw}]],["3Triangles",[{icon:"caret-down",color:mw},{icon:"dash",color:fw},{icon:"caret-up",color:vw}]],["4Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:fw},{icon:["fas","up-right"],color:fw},{icon:["fas","up"],color:vw}]],["4ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","down-right"],color:bw},{icon:["fas","up-right"],color:bw},{icon:["fas","up"],color:bw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:mw}]],["4Rating",[{icon:"signal-bars-weak",color:"#4a7db1"},{icon:"signal-bars-fair",color:"#4a7db1"},{icon:"signal-bars-good",color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["4TrafficLights",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:mw},{icon:["fas","circle"],color:fw},{icon:["fas","circle"],color:vw}]],["5Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:fw},{icon:["fas","right"],color:fw},{icon:["fas","up-right"],color:fw},{icon:["fas","up"],color:vw}]],["5ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","down-right"],color:bw},{icon:["fas","right"],color:bw},{icon:["fas","up-right"],color:bw},{icon:["fas","up"],color:bw}]],["5Rating",[{icon:["fal","signal-bars"]},{icon:["fal","signal-bars-weak"],color:"#4a7db1"},{icon:["fal","signal-bars-fair"],color:"#4a7db1"},{icon:["fal","signal-bars-good"],color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["5Quarters",[{icon:["fal","circle"],color:"#505050"},{icon:["fas","circle-quarter-stroke"],color:"#505050"},{icon:["fas","circle-half-stroke"],color:"#505050"},{icon:["fas","circle-three-quarters-stroke"],color:"#505050"},{icon:["fas","circle"],color:"#505050"}]]]),ww=(t,e)=>{const i=yw.get(t);return i?i[e]:null};class xw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,this._dependencies=new Cw(t),e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){hn().error(`conditional format error: ${JSON.stringify(t)}`,e)}}))}refresh(){this.dependencies.clear(),this.cellFormatMap.clear(),this.extremes.clear(),this.formats.forEach((t=>this.initConditionalFormat(t)))}clearCellDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.cellFormatMap.get(e).forEach((t=>({cf:t.cf}))),this}getExtremes(t){if(!this.extremes.has(t.key)){let e=1/0,i=-1/0;t.ranges.forEach((t=>{for(const o of this.model.getValuesInRange(t))for(const t of o)null!=t&&(isNaN(t)||(e=Math.min(e,t),i=Math.max(i,t)))})),this.extremes.set(t.key,[e,i])}return this.extremes.get(t.key)}invalidateExtremes(t){this.cellFormatMap.get(t.address).forEach((t=>this.extremes.delete(t.cf.key)))}evaluateScaleFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;const s=(i-o)/(n-o);if(e.cf.cmid?.color)r=.5==s?"#"+e.cf.cmid.color:s>.5?xn("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):xn("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;r=xn("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:kn(r).substring(1),fgColor:r.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let n=o[0];const r=o[1],s=n<0;s||(n-=.1*(r-n));const a=Math.round(100*(i-n)/(r-n));e.initialized||(e.initialized=!0,e.cf.ranges.forEach((e=>this._dependencies.add(t.address,e.A1,null))));const l=[];if(s){const t=Math.round(-100*n/(r-n));i>=0?(l.push(`#00000000 ${t}%`),l.push(`#${e.cf.color} ${t}%`),l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`)):(l.push(`#00000000 ${a}%`),l.push(`#ff0000 ${a}%`),l.push(`#ff0000 ${t}%`),l.push(`#00000000 ${t}%`))}else l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`);return{cssStyle:{backgroundClip:"padding-box",backgroundImage:`linear-gradient(90deg, ${l.join(",")})`}}}evaluateFormulaFormat(t,e){if(!e.initialized&&e.cf.condition){e.initialized=!0;const i=t.address,o=new Rv(e.cf.condition,this.model.calculations.tokenizer);e.f=o.shift({index:0,offset:t.c-e.cf.firstCell.c1,direction:"right"}).shift({index:0,offset:t.r-e.cf.firstCell.r1,direction:"down"}),o.cells.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.ranges.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.variables.forEach((([e,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(i,n.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||Cn(kn(Mn(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==r&&(r=100*(i-o)/(n-o)),r>=s.v)return{icon:ww(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:ww(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,n=null;for(const e of i){try{switch(e.cf.type){case"formula":n=this.evaluateFormulaFormat(t,e);break;case"scale":n=this.evaluateScaleFormat(t,e);break;case"bar":n=this.evaluateBarFormat(t,e);break;case"icon":n=this.evaluateIconFormat(t,e);break;default:n=null}}catch(t){hn().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(n&&(o=o?{...o,...n}:n,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new Tw(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new Rv(t.condition,this.model.calculations.tokenizer):null)),(this.cellFormatMap.get(e)||this.cellFormatMap.set(e,[]).get(e)).push({cf:t})}})),t}add(t){const e={key:t.ranges,ranges:dv.fromA1s(t.ranges),type:t.type||"formula",firstCell:null,formula:null,style:t.style?this.model.styles.add(t.style):null,condition:t.condition,stop:!!t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh};this.formats.push(this.initConditionalFormat(e))}getSourceData(){return this.formats.map((t=>({type:t.type,ranges:dv.toA1s(t.ranges),style:t.style,condition:t.condition,stop:t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh})))}}function kw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class Cw{get cellDependencies(){return this._cellDependencies}get cellDependants(){return this._cellDependants}get rangeDependencies(){return this._rangeDependencies}get rangeDependants(){return this._rangeDependants}get sheetDependencies(){return this._sheetDependencies}get sheetDependants(){return this._sheetDependants}constructor(t){this.model=t,this._cellDependencies=new Map,this._cellDependants=new Map,this._rangeDependencies=new Map,this._rangeDependants=new Map,this._sheetDependencies=new Map,this._sheetDependants=new Map}clear(){this._cellDependants.clear(),this._cellDependencies.clear(),this._rangeDependencies.clear(),this._rangeDependants.clear()}clearCellDependecies(t){return this._cellDependencies.has(t)&&this._cellDependencies.delete(t),this._rangeDependencies.has(t)&&this._rangeDependants.delete(t),this}has(t){return this._cellDependencies.has(t)||this._rangeDependencies.has(t)}add(t,e,i){const o=dv.fromA1(t).removeAnchors(),n=dv.fromA1(e).removeAnchors();e=n.A1;const r=n.isRange,s=r?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[n,i]),i){const t=this.model.getConnectedModel(i);t&&(t.calculations.dependencies.sheetDependants.set(this.model.name,this.model.name),this.sheetDependencies.set(i,i),a=r?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=r?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){const i=t.A1;return e=e??new Map,this._cellDependants.has(i)&&this._cellDependants.get(i).forEach((([t,o])=>{if(e.has(t))return;const n=e.set(t,[(o?this.model.getConnectedModel(o):this.model).getCellByRange(t),o]);t.A1!=i&&this.getDependants(t,n)})),this._rangeDependants.forEach(((i,o)=>{dv.fromA1(o).contains(t)&&i.forEach((([t,i])=>{e.has(t)||(e.delete(t),this.getDependants(t,e.set(t,[(i?this.model.getConnectedModel(i):this.model).getCellByRange(t),i])))}))})),e}renameSheet(t,e){this._sheetDependants.has(t)&&(this._sheetDependants.delete(t),this._sheetDependants.set(e,e)),this._sheetDependencies.has(t)&&(this._sheetDependencies.delete(t),this._sheetDependencies.set(e,e)),kw(this._cellDependants,t,e),kw(this._cellDependencies,t,e),kw(this._rangeDependants,t,e),kw(this._rangeDependencies,t,e)}}const Mw=(t,e)=>{const i=new RegExp(`${dt(t)}`,"ig");return t=>(i.lastIndex=0,i.test(lt((t[e]??"").toString())))},_w=(t,e)=>i=>!!i[e]===t,Sw=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},Ew=(t,e)=>t=>!1,zw=(t,e,i)=>(i=i??"value","b"===t?_w(e,i):"s"===t&&Array.isArray(e)?Sw(e,"value"):"s"===t?Mw(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?Ew(e,i):Mw(e?.toString(),"d"===t?"formattedValue":i));class Rw extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class Lw extends EventTarget{constructor(t){super(),this.model=t,this.settings=new Map,this.custom=!1}get(t){return this.settings.has(t)?this.settings.get(t):null}filter(t,e=!0){null===t.term||""===t.term?this.settings.delete(t.c):this.settings.set(t.c,t),this.custom||(this.settings.size>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new Rw)}applyFilter(t=!0){const e=[];this.settings.forEach(((t,i)=>{const o=this.model.columns[i];e.push({c:i,matcher:zw(o.type,t.term,o.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,n=this.model.options.filters?.includeChildren??!0,r=new Set;this.model.rows.forEach((t=>{const s=r.has(t.index);(t=>{if(!t.filterable)return!0;for(let o=0;o<i;o++)if(!e[o].matcher(t.cell(e[o].c)))return!1;return!0})(t)?(t.filterState=dn.Matched,o&&t.walkUp((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=dn.ChildMatched,r.add(t.index)})),n&&t.walk((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=dn.ParentMatched,r.add(t.index)}))):s||(t.filterState=dn.Filtered),r.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new Rw)}resetFilter(t=!0){this.settings.clear(),this.model.rows.forEach((t=>t.filterState=dn.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new Rw)}}class Iw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this._dependencies=new Cw(t),this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(dv.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[dv.fromA1(t)])):t.data.split(",").map((t=>[dv.fromA1(t)])),it({},Wf.DEFAULT_SPARKLINE_OPTIONS,t.options))}catch(e){this.model.logger.error(`sparkline error: ${JSON.stringify(t)}`,e)}}))}getSourceData(){const t=[];return this.groups.forEach((e=>{t.push({location:e.locRange.A1,data:e.dataRanges.map((t=>t[0].A1)).join(","),options:{minValue:e.minValue,maxValue:e.maxValue,type:e.type,style:e.style,marker:e.marker}})})),t}has(t){return this.map.has(t)}get(t){return this.map.get(t)}createDependencies(t){this.map.get(t)[1].forEach((e=>this._dependencies.add(t,e[0].A1,e[1])))}updateRangeMaps(){this.dependencies.clear(),this.map.clear(),this.groups.forEach(((t,e)=>this.createRangeMap(e,t.locRange,t.dataRanges)))}getValues(t){this.updateRangeMap&&this.updateRangeMaps();const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model;return this._dependencies.has(t)||this.createDependencies(t),e[1].flatMap((t=>i.getValuesInRange(t[0])[0]))}getExtremes(t){const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model,o=this.groups.get(e[0]);let n,r,s,a;return null==o.minValue||X(o.minValue)?"auto"==(o.minValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),s=n[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),s=r[0]):s=o.minValue,null==o.maxValue||X(o.maxValue)?"auto"==(o.maxValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),a=n[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),a=r[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,n=e.size;if(n.columns>1&&n.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let r=!1;if(r=1==n.columns&&1==n.rows?o.rows>1:n.columns>1,r)for(let o=e.c1;o<=e.c2;o++)this.map.set(new dv(o,e.r1).A1,[t,i.map((([t,i])=>[new dv(t.c1+o-e.c1,t.r1,t.c1+o-e.c1,t.r2),i]))]);else for(let o=e.r1;o<=e.r2;o++)this.map.set(new dv(e.c1,o).A1,[t,i.map((([t,i])=>[new dv(t.c1,t.r1+o-e.r1,t.c2,t.r1+o-e.r1),i]))])}add(t,e,i){const o=++this.maxIndex;t&&e&&this.createRangeMap(o,t,e),this.groups.set(o,Object.assign({dataRanges:e,locRange:t},JSON.parse(JSON.stringify(Wf.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const n=this.groups.get(t);Object.assign(n,{dataRanges:i,locRange:e},o),this.updateRangeMap=!0}delete(t){this.groups.delete(t),this.updateRangeMap=!0}shift(t){this.groups.forEach((e=>{e.dataRanges.forEach((([e])=>e.shift(t))),e.locRange.shift(t)})),this.updateRangeMaps()}}class Hw extends dv{constructor(t,e,i=!1){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.initializedOnly=i,this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}nextInitialized(){let t;for(;!this.done&&!t;)this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),t=this.model.rows[this.r].cells[this.c],this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;return t}next(){if(this.done)return{done:!0};this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;const t=this.model.rows[this.r+this.r1],e=this.c+this.c1,i=this.initializedOnly&&!t.isCellInitialized(e)?this.nextInitialized():t?.cell(e);return i?{done:!1,value:i}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Tw extends dv{constructor(t){super(t.c1,t.r1,t.c2,t.r2),this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}next(){return this.done?{done:!0}:(this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c==this.size.columns-1&&this.r==this.size.rows-1,{done:!1,value:new dv(this.c+this.c1,this.r+this.r1)})}}class Aw{constructor(t,e){this.model=t,this.names=new Map,this.rangeMap=new Map,e&&this.populate(e)}populate(t){t.forEach((({name:t,ref:e})=>this.set(t,q(e)?dv.fromCoords(e):dv.fromA1(e))))}set(t,e){this.names.set(t,e),this.rangeMap.set(e.A1,t)}delete(t){const e=this.names.get(t);e&&(this.rangeMap.delete(e.A1),this.names.delete(t))}findCellByName(t){let e;const i=this.model.rows,o=this.model.columns.length;for(let n=0;n<i.length;n++){e=i[n];for(let i=0;i<o;i++)if(e.hasCellName(i)){const o=e.cell(i);if(o.name==t)return o.range}}return null}getCellByName(t,e){const i=this.names.get(t)??this.findCellByName(t);return i?i.isColumn?this.model.rows.length>e.r1?this.model.columns[i.c1].cell(e.r1):null:i.isRow?this.model.columns.length>e.c1?this.model.rows[i.r1].cell(e.c1):null:this.model.rows[i.r1].cell(i.c1):null}getRangeByName(t,e=!0){const i=this.names.get(t);return e?i?.intersect(this.model.gridRange):i}shift(t){this.names.forEach(((e,i)=>{const o=e.A1;e.shift(t);const n=e.A1;o!=n&&(this.rangeMap.delete(o),this.rangeMap.set(n,i))}))}}function Ow(t,e=null){const i=it({},Wf.DEFAULT_OPTIONS,e,Nn(t,e));return i.numberFormat?i.numberFormatter=Zo(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=Zo(i.formatLocale)),i.dateFormat?i.dateFormatter=Ho(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ho(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},Bf,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},Ff,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},Ff,i.columnTree),i.cellValidation&&(i.cellValidation=By(i.cellValidation)),i}class $w extends(pn(Wy)){get cells(){return this._cells}get data(){return this._data}set data(t){this._data=t}get height(){return this._height??this.model.options.rowHeight}set height(t){this._height=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return uv(this.index)}get range(){return new dv(null,this.index,null,this.index)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t,this.model.columns.forEach((t=>this.cell(t.index).refreshFormula()))}get values(){return this.model.columns.map((t=>this.cell(t.index).value))}cell(t,e){if(this.model.options.singleCellModel)return this._singleCell||(this._singleCell=new nw(this.model,{c:t,r:this.index})),this._singleCell.row=this,this._singleCell.column=this.model.columns[t],this._singleCell;let i=this._cells[t];if((e||!i)&&this.model.columns[t]){if(i=new nw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;null!=e&&(q(this._data[e])?i.populate(this._data[e]):i.hasValue||(i.value=this._data[e]))}i.name&&this.model.names.set(i.name,i.range),this._cells[t]=i}return i}constructor(t,e){super(t,e),this.isCellInitialized=t=>!!this.cells[t],this._cells=[],null==this._priority&&(this._priority=t.options.rowPriority)}populate(t){super.populate(t),this._height=null==t.h||"auto"==t.h?this.model.options.rowHeight:t.h,t.data&&(Array.isArray(t.data)?this._data=[...t.data]:this._data={...t.data}),null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._height&&this._height!=this.model.options.rowHeight&&(t.h=this._height),t}expand(t){super.expand(t),this.model.indexVisibleRows()}collapse(){super.collapse(),this.model.indexVisibleRows()}get prev(){return this.model.rows[this.index-1]}get next(){return this.model.rows[this.index+1]}get prevVisible(){let t=this.prev;for(;t&&!t.visible;)t=t.prev;return t}get nextVisible(){let t=this.next;for(;t&&!t.visible;)t=t.next;return t}hasCellFormula(t){return this.cells[t]&&this.cells[t].hasFormula||this._data&&this._data[this.model.columns[t].data]&&this._data[this.model.columns[t].data].f}hasCellName(t){return this.cells[t]&&null!=this.cells[t].name||this._data&&this._data[this.model.columns[t].data]&&null!=this._data[this.model.columns[t].data].name}insertColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"right"}).createFormulaString(!1));t<this.cells.length&&this.cells.splice(t,0,...Array(e).fill(null))}deleteColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"left"}).createFormulaString(!1));return t<this.cells.length?this.cells.splice(t,e):null}clearCalculatedValues(){this.cells.forEach((t=>t&&this.model.calculations.refreshFormula(t)))}}var Dw=i(4418),Nw=i.n(Dw);const Pw=t=>t?"1":"0",jw=t=>null==t?"_":t,Vw=t=>null==t?"_":t.toString(),Bw=t=>null==t?"_":JSON.stringify(t),Fw=t=>jw(t&&t.color?t.color:"_")+jw(t&&t.style?t.style:"_"),Ww=t=>jw(t?t.horizontal:null)+jw(t?t.vertical:null)+jw(t?t.horizontal:null)+Vw(t?t.indent:null)+Pw(t?t.wrapText:null)+Vw(t?t.textRotation:null),Uw=t=>Nw()("s_"+Pw(t.bold)+Pw(t.italic)+Pw(t.underline)+Vw(t.sz)+jw(t.font)+jw(t.color)+Fw(t.top)+Fw(t.right)+Fw(t.bottom)+Fw(t.left)+jw(t.patternType)+jw(t.fgColor)+jw(t.bgColor)+Ww(t.alignment)+Vw(t.angle)+Bw(t.stops)+Pw(t.hidden)+Pw(t.editable)+Bw(t.cssStyle)+Bw(t.icon));function Gw(t){const e={...t};return delete e.id,delete e.hash,e}class Yw{constructor(t){this.model=t,this._count=0,this.hashmap=new Map,this.map=new Map}add(t){if(!isNaN(t))return this.get(t);const e=this.model.options.cssStyles?ew(t):t,i=e.hash?e.hash:Uw(e);return this.hashmap.has(i)?this.map.get(this.hashmap.get(i)):(null==e.id&&(e.id=this._count),this._count=Math.max(e.id+1,this._count+1),e.hash=i,this.hashmap.set(i,e.id),this.map.set(e.id,e),e)}populate(t){t.forEach((t=>this.add(t)))}get(t){return this.map.has(t)?this.map.get(t):null}remove(t){const e="object"==typeof t?t:this.map.get(t);this.hashmap.delete(e.hash),this.map.delete(e.id)}merge(...t){const e=Object.assign({},...t.map((t=>q(t)?t:this.get(t))));return this.add(Gw(e))}duplicate(t,e){const i=this.get(t);return this.add(Gw({...i,...e}))}set(t,e){let i=this.map.has(t)?this.map.get(t):{};for(const t in e)i[t]=e[t];return i=i.id?i:this.add(i),i}unset(t,e){if(this.map.has(t)){const i=this.map.get(t);for(const t of e)delete i[t]}}getSourceData(){return Array.from(this.map.values())}clean(){const t=new Map(Array.from(this.map.entries()).map((([t])=>[t,0])));this.model.columns.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)})),this.model.rows.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1),e.cells.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)}))})),t.forEach(((t,e)=>{0==t&&this.remove(e)}))}}function qw(t,e,i,o){const n=o??("rows"==i?e.rows:e.columns),r=function(t){const e=new Map;for(const i of t)e.has(i.level)||e.set(i.level,[]),e.get(i.level).push(i);return e}(n),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[n[t.index]]:t.level>-1?r.get(t.level):n,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(dt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{t.type?e.conditionalFormats.add(Object.assign({ranges:`${o.address}:${o.address}`},t)):(o.style=e.styles.add(t.style).id,"rows"==i&&null!=t.height?o.height=t.height:"columns"==i&&null!=t.width&&(o.width=t.width))}))}}function Zw(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function Xw(t,e,i){const o=t.cells??[];for(const t of o)if(t.conditions?.length){const o=e.getRangeIterator(i??e.gridRange);for(const i of o)Zw(t.conditions,i)&&(i.style=e.styles.add(t.style).id)}else if(t.type)e.conditionalFormats.add(Object.assign({ranges:"A:"+e.columns[e.columns.length-1].address},t));else for(const i of e.columns)null==i.style&&(i.style=e.styles.add(t.style).id)}function Qw(t,e,i){qw(t,e,"columns",i)}function Kw(t,e,i){qw(t,e,"rows",i)}function Jw(t,e){Xw(t,e),Qw(t,e),Kw(t,e)}const tx=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class ex{get comments(){return this._comments}get calculations(){return this._calculations}get names(){return this._names}get sorting(){return this._sorting}get sparklines(){return this._sparklines}get conditionalFormats(){return this._conditionalFormats}get mergedHeaders(){return this._mergedHeaders}get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}get hasFilter(){return this._filter}get hasRowTree(){return this._maxRowLevel>0}get hasRowTreeEnabled(){return this.hasRowTree&&this.options.rowTree.enabled}get maxRowLevel(){return this._maxRowLevel}get hasColumnTree(){return this._maxColumnLevel>0}get hasColumnTreeEnabled(){return this.hasColumnTree&&this.options.columnTree.enabled}get maxColumnLevel(){return this._maxColumnLevel}get headerCount(){return this._headerCount}get columnHeaderCount(){return this.headerCount+(this.hasColumnTreeEnabled?1:0)+(this.hasFilter?1:0)}get properties(){return this._properties}set properties(t){this._properties=t}get theme(){return this._theme}set theme(t){this._theme=t}constructor(t,e,i){this.otherModels={},this.autofitColumns=new Set,this.autofitRows=new Set,this.styles=new Yw(this),this._comments=new pw(this),this._calculations=new gw(this),this._names=new Aw(this),this._sorting=new dw(this),this._sparklines=new Iw(this),this._conditionalFormats=new xw(this),this._hiddenCells=new Map,this._filter=!1,this._maxRowLevel=0,this._maxColumnLevel=0,this._headerCount=0,this._levelBasedRowTree=!0,this._levelBasedColTree=!0,this.clearRows=()=>(this.rowRoot.clearChildren(),this.rows=[],this.rows),this.clearColumns=()=>this.columns=[],this.logger=i,this.options=e??Ow(t.options),this.populate(t)}getConnectedModel(t){return this.group?this.group.get(t):null}getModelByRange(t){return t.sheet?this.getConnectedModel(t.sheet):this}getCellByA1(t){return this.getCellByRange(dv.fromA1(t))}getCellByRange(t){return this.getCellByCoords(t.r1,t.c1)}getCellByCoords(t,e){return this.rows[t].cell(e)}cell(t,e){return isNaN(t)?t instanceof dv?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new $w(this,{l:-1}),i=0){let o=!1,n=!1;this.autofitRows.clear();const r=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(n=!0),"auto"==t.h&&this.autofitRows.add(e);const r=new $w(this,t);return r.origIndex=e+i,r.name&&this.names.set(r.name,dv.fullRow(e)),r}));let s=-1;return o?s=gn(r,e,{reverse:this.options.rowTree.reversed}):n?s=mn(r,e):e.children=r,[e,r,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new $w(this,{l:t.level}),e);if(this._maxRowLevel=Math.max(this._maxRowLevel,o[2]),t.insertChildren(o[0].children,e),this.indexRowsByTree(),this.theme){const t=o[1];Kw(this.theme,this,t),Xw(this.theme,this,new dv(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Jw(t,this)}populate(t){this.index=t.index,this.name=t.name??this.name,this.tab=t.tab;let e=!1,i=!1;if(t.columns||(t.columns=new Array(this.options.columns).fill({})),t.rows||(t.rows=new Array(this.options.rows).fill({})),t.styles&&this.styles.populate(t.styles),this.autofitColumns.clear(),this.columns=t.columns.map(((t,o)=>{t||(t={}),t.l>0&&(e=!0),null!=t.p&&(i=!0),"auto"==t.w&&this.autofitColumns.add(o);const n=new sw(this,t);return this._filter=n.hasFilter||this._filter,n.name&&this.names.set(n.name,dv.fullColumn(o)),n})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new sw(this,{l:-1}),e?this._maxColumnLevel=gn(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=mn(this.columns,this.colRoot):this.colRoot.children=this.columns,this.indexColumns(),this.indexVisibleColumns(),[this.rowRoot,this.rows,this._maxRowLevel,this._levelBasedRowTree]=this.createRows(t.rows),this.indexRows(),this.indexVisibleRows(),this.options.pageSize&&this.options.pageSize<=this.rows.length&&(this.rowRoot.count=1/0),this._mergedCells=[],t.comments=t.comments||[],t.cells?.forEach(((e,i)=>{const o=this.rows[e.r]?this.rows[e.r].cell(e.c,e):null;o?(o.colspan>1||o.rowspan>1)&&this._mergedCells.push({r:o.r,c:o.c,rs:o.rowspan,cs:o.colspan}):this.logger?.error(`invalid cell definition (index ${i}): ${JSON.stringify(e)}`),o&&e.comment&&t.comments.push(Object.assign(e.comment,{c:e.c,r:e.r}))})),this.indexHiddenCells(),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){hn().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){hn().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){hn().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){hn().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){hn().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(tx),n=Object.keys(t).filter((t=>!o.has(t)));n.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.calcHeaderHeights()}getSourceData(){const t={index:this.index,name:this.name,tab:this.tab,columns:this.columns.map((t=>t.getSourceData())),rows:this.rows.map((t=>t.getSourceData())),styles:this.styles.getSourceData(),rules:this.conditionalFormats.getSourceData(),sparklines:this.sparklines.getSourceData(),options:this.options};this._properties&&(t.props=this._properties);const e=[];let i;for(let t=0;t<this.rows.length;t++)for(let o=0;o<this.columns.length;o++)i=this.rows[t].cell(o).getSourceData(),Object.keys(i).length>0&&(i.r=t,i.c=o,e.push(i));e.length>0&&(t.cells=e);const o=[];return this.styles.clean(),this.styles.map.forEach((t=>o.push(t))),o.length>0&&(t.styles=o),new Set([...Object.keys(this.otherModels??{}),...Object.keys(this.otherSourceData??{})]).forEach((e=>t[e]=this.otherModels[e]?Array.from(this.otherModels[e]).map((t=>t.getSourceData())):this.otherSourceData[e])),t}calcHeaderHeights(){this._headerCount=0,this._headerHeights=[],this.columns.forEach((t=>{this._headerCount=t.header?t.header.length:this._headerCount,this._headerHeights.length<this._headerCount&&this._headerHeights.push(...Array(this._headerCount-this._headerHeights.length).fill(0)),t.header?.forEach(((t,e)=>{e>=this._headerHeights.length&&this._headerHeights.push(0),this._headerHeights[e]=Math.max(this._headerHeights[e],t.height??0)}))}))}indexRows(){this.visibleRows=[],this.rows.forEach(((t,e)=>{t.index=e,t.isLoaded||(t.collapsed=!0),t.hidden||t.filterState==dn.Filtered||this.visibleRows.push(t)}))}indexVisibleRows(){this.visibleRows=[];let t=0;if(this._levelBasedRowTree){if(this.rowRoot.walkVisible((e=>{e.visibleIndex=t++,this.visibleRows.push(e)})),this.options.rowTree.reversed){const e=new Array(this.visibleRows.length);this.visibleRows.forEach(((i,o)=>{t=this.visibleRows.length-o-1,i.visibleIndex=t,e[t]=i})),this.visibleRows=e}}else this.rowRoot.walkVisible((t=>this.visibleRows[t.index]=t)),this.visibleRows=this.visibleRows.filter((e=>!!e&&(e.visibleIndex=t++,!0)))}indexRowsByTree(){this.rows=[];let t=0;this.rowRoot.walk((e=>{e.index=t++,this.rows.push(e)})),this.options.rowTree.reversed&&this.rows.reverse(),this.indexVisibleRows()}indexColumns(){this.visibleColumns=[],this.columns.forEach(((t,e)=>{t.index=e,t.hidden||this.visibleColumns.push(t)}))}indexVisibleColumns(){this.visibleColumns=[],this.visibleColumnIndex={};let t=0;if(this.colRoot.walkVisible((e=>{e.visibleIndex=t,this.visibleColumnIndex[e.index]=t++,this.visibleColumns.push(e)})),this.options.columnTree.reversed){this.visibleColumnIndex={};const e=new Array(this.visibleColumns.length);this.visibleColumns.forEach(((i,o)=>{t=this.visibleColumns.length-o-1,i.visibleIndex=t,this.visibleColumnIndex[i.index]=t,e[t]=i})),this.visibleColumns=e}this.indexHeaders()}indexHeaders(){this._mergedHeaders=[],this._headerCount=0,this.colRoot.walkVisible((t=>{this._headerCount=Math.max(t.header?t.header.length:0,this._headerCount),t.mergedHeaders.forEach((e=>this._mergedHeaders.push({h:e,c:t.index,r:e.r,cs:t.calculateRealColspan(e.cs??1),rs:e.rs??1})))})),this._mergedHeaders.forEach((t=>{if(!t.h.hidden)for(let e=t.c;e<t.c+t.cs;e++)for(let i=t.r;i<t.r+t.rs;i++)(i>t.r||e>t.c)&&this.columns[e]&&this.columns[e].header[i]&&(this.columns[e].header[i].hidden=!0)})),this.calcHeaderHeights()}removeHeader(t){this.columns.forEach((e=>{t<e.header.length&&e.header.splice(t,1)})),this.indexHeaders()}clear(){this.clearRows(),this.clearColumns(),this.resetViewport()}resetViewport(){return this._viewport=null,this}getViewport(t,e,i){const o=[],n=[];let r,s,a=e.h,l=0;for(l=0;l<i.t;l++)r=this.visibleRows[l],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)r=this.visibleRows[l],a-=r.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)r=this.visibleRows[l++],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)o.push(this.visibleRows[l]);let c=e.w,h=0;for(h=0;h<i.l;h++)s=this.visibleColumns[h],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)s=this.visibleColumns[h],c-=s.width;for(h=i.l+t.c;c>0&&h<this.visibleColumns.length;)s=this.visibleColumns[h++],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)n.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:n}}calculateViewport(){return this._viewport?this.calculations.calculateViewport(this._viewport):[]}getValuesInRange(t,e=!1){if(!(t=t.intersect(this.gridRange)))return[];const{columns:i,rows:o}=t.size,n=new Array(o);let r,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){n[s]=new Array(i),a=0,r=this.rows[o];for(let i=t.c1;i<=t.c2;i++)n[s][a++]=e?r.cell(i).formattedValue:r.cell(i).value;++s}return n}setRowExpandLevel(t){this.rows.forEach((e=>{e.collapsed=!e.isLoaded&&!e.isPartialyLoaded||e.level>=t,e.level<=t&&(e.hidden=!1)})),this.indexVisibleRows()}setColumnExpandLevel(t){this.columns.forEach((e=>e.collapsed=e.level>=t)),this.indexVisibleColumns()}getViewportRange(){return this._viewport?new dv(this._viewport.columns[0].index,this._viewport.rows[0].index,this._viewport.columns[this._viewport.columns.length-1].index,this._viewport.rows[this._viewport.rows.length-1].index):null}get gridRange(){return new dv(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){return new Hw(this,e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange))}getInitializedCellIterator(){return new Hw(this,this.gridRange,!0)}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,n;const r=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){n=[];for(let r=t.c1;r<=t.c2;r++)o=i.cell(r),o&&n.push(e(o));r.push(n)}return r}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shiftMerges(t){const{index:e,offset:i,direction:o}=t,n={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs-=i)}};this.mergedCells.forEach(n[o]),this.indexHiddenCells()}indexHiddenCells(){this._hiddenCells.clear(),this.mergedCells.forEach((t=>{if(!(t.r>0||this._hiddenCells.has(t.r)&&this._hiddenCells.get(t.r).has(t.c)))for(let e=t.r;e<t.r+t.rs;e++)for(let i=t.c;i<t.c+t.cs;i++)(e>t.r||i>t.c)&&(this._hiddenCells.has(e)||this._hiddenCells.set(e,new Map),this._hiddenCells.get(e).set(i,t))}))}shift(t){t.sheet=this.name,this.shiftMerges(t),this.calculations.shift(t),this.names.shift(t),this.comments.shift(t),this.sparklines.shift(t)}clearCalculations(t=!1){t&&this.group?this.group.models.forEach((t=>t.calculations.refresh())):this.calculations.refresh()}refreshSparklines(){this.sparklines.updateRangeMaps();for(const t of this.getInitializedCellIterator())t.invalidateStyle()}clearCalculatedStyles(){this.conditionalFormats.refresh();const t=[];for(const e of this.getInitializedCellIterator())t.push(e),e.invalidateStyle()}insertColumns(t,e,i=!1){const o=this.columns[Math.min(this.columns.length-1,t)].parent;i&&++t,this.shift({index:t,offset:e,direction:"right"});for(let i=0;i<this.rows.length;i++)this.rows[i].insertColumns(t,e,!1);const n=new Array(e).fill(null).map((()=>new sw(this)));return this.columns.splice(t,0,...n),this.maxColumnLevel>0&&o.insertChildren(n,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),n}deleteColumns(t,e){const i=this.columns[t].parent;this.shift({index:t,offset:e,direction:"left"});const o=[];for(let i=0;i<this.rows.length;i++)o.push(this.rows[i].deleteColumns(t,e,!1));const n=this.columns.splice(t,e);return i?.deleteChildren(n),this.indexColumns(),this.clearCalculations(!0),n}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),n=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const r=isNaN(e)?e.length:e;this.shift({index:t,offset:r,direction:"down"});const s=isNaN(e)?e:new Array(r).fill(null).map((()=>new $w(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&n.insertChildren(s,t-(n.index||-1)-1),this.indexRows(),this.theme&&(Kw(this.theme,this,s),Xw(this.theme,this,new dv(0,s[0].index,1/0,s[s.length-1].index))),this.clearCalculations(!0),s}deleteRows(t,e){const i=this.rows[t].parent;this.shift({index:t,offset:e,direction:"up"});const o=this.rows.splice(t,e);return i?.deleteChildren(o),this.indexRows(),this.clearCalculations(!0),o}moveRows(t,e,i){const o=this.rows.splice(t,e);return this.rows.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"down",maxIndex:t+e-1}),this.indexRows(),this.clearCalculations(!0),o}moveColumns(t,e,i){const o=this.columns.splice(t,e);return this.columns.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"right",maxIndex:t+e-1}),this.indexColumns(),this.clearCalculations(!0),o}spillValues(t){const{cell:e,values:i,displayValues:o,propertyCell:n}=t,r=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new dv(e.c,e.r,e.c+i[0].length-1,e.r+i.length-1);if(e.spillRange&&this.getRangeIterator(e.spillRange,!0).forEach((t=>{e==t||h?.contains(t.range)||t.clearSpilledValue()})),e.spillRange=h,a)return{cells:r,oldValues:s,range:null};for(let t=h.r1;t<=h.r2;t++){if(l=this.rows[t],!l)continue;const a=t-h.r1;for(let t=h.c1;t<=h.c2;t++){const d=t-h.c1;c=l.cell(t),c.editable&&(s.push(c.value2),c.spillValue(i[a][d],e),n&&(c.format=n.format,c.type=n.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),r.push(c))}}return{cells:r,oldValues:s,range:h}}getCellByName(t,e,i=!0){return this.names.getCellByName(t,e)||(this.group&&i?this.group.getCellByName(t,e):null)}getRangeByName(t,e=!0){return this.names.getRangeByName(t)||(this.group&&e?this.group.getRangeByName(t):null)}getValueMatrixByName(t,e=!0){const i=this.names.getRangeByName(t);return i?this.getValueMatrix(i):this.group&&e?this.group.getValueMatrixByName(t):null}rebuildRowTree(){const t=this._levelBasedRowTree?gn:mn;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?gn:mn;this._maxColumnLevel=t(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}),this.indexColumns()}calculateCellOffset(t){let e=0,i=0;for(let i=0;i<t.c1&&this.columns[i];i++)e+=this.columns[i].width;for(let e=0;e<t.r1&&this.rows[e];e++)i+=this.rows[e].height;return{x:e,y:i}}}class ix{get errors(){return this._errors}get(t){return this.models.get(t)}has(t){return this.models.has(t)}getNewName(){let t;do{t=`sheet${this._max}`}while(this.models.has(t));return t}add(t){if(t.index=t.index??this._max,++this._max,t.name=t.name||this.getNewName(),this.models.has(t.name))throw Error(`sheet "${t.name}" already exists`);return this.models.set(t.name,t),t.group=this,t}duplicate(t){const e=this.get(t);if(!e)return;const i=new ex(e.getSourceData(),e.options);let o=1;for(;this.models.has(`${t}_${o}`);)++o;return i.name=`${t}_${o}`,this.add(i),i}remove(t){return this.models.delete(t),this}rename(t,e){if(this.has(t)){if(this.has(e))throw new Error(`Model '${e}' already exists`);const i=this.get(t);i.name=e,this.models.set(e,i),this.models.delete(t),this.models.forEach((i=>{i.calculations.renameSheet(t,e)&&i.calculateViewport()}))}return this}clear(){this.models.clear(),this._errors=[]}constructor(t){this._max=0,this.models=new Map,this.themes=new Map,this._errors=[],t&&this.populate(t)}populate(t){this.clear(),t.models.forEach((t=>{const e=new ex(t);try{this.add(e)}catch(t){this.errors.push(t)}})),t.themes&&t.themes.forEach((t=>this.themes.set(t.name,t)))}getSourceData(){const t={models:[]};return this.models.forEach((e=>t.models.push(e.getSourceData()))),t}getCellByName(t,e){for(const i of this.models.values()){const o=i.getCellByName(t,e,!1);if(o)return o}return null}getRangeByName(t){for(const e of this.models.values()){const i=e.getRangeByName(t,!1);if(i)return i}return null}getValueMatrixByName(t){for(const e of this.models.values()){const i=e.getValueMatrixByName(t,!1);if(i)return i}return null}}class ox{constructor(t){this.model=t,this.stack=[],this.restack=[]}push(t){return this.restack=[],t.timestamp||(t.timestamp=Date.now()),this.stack.push(t),this}pop(t=1){let e=0;const i=[];for(;e++<t&&this.stack.length>0;){const t=this.stack.pop();i.push(t),this.restack.push(t)}return i}pop2(t=1){let e=0;const i=[];for(;e++<t&&this.restack.length>0;){const t=this.restack.pop();i.push(t),this.stack.push(t)}return i}}class nx{get activeCellCoords(){return{c:this.range.c1+this.activeCell.c1,r:this.range.r1+this.activeCell.r1}}constructor(t,e,i,o){this.hidden=!1,this.range=new dv(t,e,i,o),this.activeCell=new dv(0,0)}static fromRange(t){return new nx(t.c1,t.r1,t.c2,t.r2)}setCoords(t,e,i,o){this.range.setCoords(t,e,i,o),this.activeCell.setCoords(0,0)}setRange(t){"string"==typeof t&&(t=dv.fromA1(t)),this.range.setCoords(t.c1,t.r1,t.c2,t.r2),this.activeCell.setCoords(0,0)}move(t,e,i,o){this.range.setCoords(this.range.c1+this.activeCell.c1,this.range.r1+this.activeCell.r1,this.range.c1+this.activeCell.c2,this.range.r1+this.activeCell.r2),this.range.move(t,e,i,o,!1),this.activeCell.setCoords(0,0)}moveRange(t,e,i,o){this.range.move(t,e,i,o,!0)}moveActiveCell(t,e){const{columns:i,rows:o}=this.range.size;this.activeCell.move(t,e,i,o,!0)}}const rx={...Wf,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class sx{constructor(t,e,i=rx.MAX_CACHE_ITEMS){this.maxCacheItems=i,this.queue=[],this.disabled=!1,this.table=new Array(e).fill(null).map((()=>new Array(t)))}get(t,e){return this.table[e][t]}delete(t,e){return this.table[e][t]=null,this}deleteColumn(t){for(let e=0;e<this.table.length;e++)this.table[e][t]=null;return this}deleteRow(t){return this.table[t]=new Array(this.table[0].length).fill(null),this}set(t,e,i){this.disabled||(this.get(t,e)||this.queue.push([e,t]),this.table[e][t]=i)}clear(){this.queue=[],this.table=this.table.map((t=>new Array(t.length)))}clean(){if(this.maxCacheItems>0&&this.queue.length>this.maxCacheItems){let t=this.queue.length;for(let e=0;e<this.queue.length;e++){const i=this.queue[e];if(!this.table[i[0]][i[1]].parentNode&&(this.queue[e]=null,this.table[i[0]][i[1]]=null,--t<=this.maxCacheItems))break}t<this.queue.length&&(this.queue=this.queue.filter((t=>t)))}}}var ax=function(t,e,i,o){var n,r=arguments.length,s=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,i,s):n(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s};let lx=class extends os{constructor(){super(),this.render=()=>Dr`
2685
+ `,Bf={enabled:!1,includeChildren:!0,includeParents:!0},Ff={enabled:!0,reversed:!1},Wf={ROW_HEIGHT:22,RESIZE_TRESHOLD:10,ROW_HEADER_WIDTH:60,SLIDER_SIZE:12,EXPANDER_SIZE:13,MAX_CACHE_ITEMS:5e3,CACHE_CLEAN_INTERVAL:30,COMMENT_HIDE_TIMEOUT:1e3,SELECTOR_BORDER_WIDTH:2,MIN_ROW_HEIGHT:5,MIN_COL_WIDTH:5,SPARKLINE_GAP:4,AUTOSCROLL_TRESHOLD:100,AUTOSCROLL_RATIO:1.1,AUTOSCROLL_INTERVAL:100,DEFAULT_SPARKLINE_OPTIONS:{minValue:"auto",maxValue:"auto",type:"line",style:{color:"0094FF",weight:1},marker:{color:"ff0000"}},DEFAULT_OPTIONS:{rows:100,columns:20,readOnly:!1,rowNumbers:!0,rowPriority:2,rowTree:{enabled:!0},columnTree:{enabled:!0},colLetters:!0,emptyPlaceholder:!0,freezeTop:0,fontSize:12,rowHeight:22,rowResize:!0,columnWidth:100,columnResize:!0,columnPriority:1,freezeLeft:0,freezeRight:0,freezeBottom:0,maxSortingColumns:3,numberFormat:null,levelIndentFactor:2,cellIndentFactor:10,emptyClickable:!1,grid:!0,autofill:!0,undoRedo:!0,commandWindow:!0,cellCache:!0,singleCellModel:!1,editing:{rowInsertion:!0,rowDeletion:!0,colInsertion:!0,colDeletion:!0,rowOutline:!0,colOutline:!0,dateCalendarEditor:!1},comments:{hideTimeout:1e3,offsetX:30,offsetY:-30,zIndex:500,headerPosition:"top"},scrolling:{verticalOverscroll:!0,horizontalOverscroll:!0,scrollbarVisibilityTreshold:100},selecting:{enabled:!0,multiSelect:!0},events:{click:{mouseMoveTreshold:10}},clipboard:{pasteProps:["v","dv"],rowPasteMode:"rewrite_append",columnPasteMode:"rewrite"},print:{dpi:600,margins:{left:6.35,right:6.35,top:19.05,bottom:19.05,header:7.62,footer:7.62},orientation:"portrait",paper:"A4"}},...U},Uf=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function Gf(t){return Uf.test(t)}function Yf(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function qf(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":lt(t.toString()).toLowerCase(),e=null==e?"":lt(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function Zf(t,e){const i=X(e);return X(t)?(t=t.toString().trim()).startsWith("=")?0==qf(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?qf(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?qf(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?qf(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?qf(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==qf(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const Xf=new Map([["=",["==",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),Qf=t=>["=",">","<",">=","<="].includes(t),Kf=t=>["+","-","*","/"].includes(t),Jf=t=>Kf(t)||Qf(t);function tv(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==qf(t,e);case">":return qf(t,e)>0;case"<":return qf(t,e)<0;case">=":return qf(t,e)>=0;case"<=":return qf(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function ev(t,e,i){const o=Array.isArray(t),n=Array.isArray(e);if(!o&&!n)return[[tv(t,e,i)]];const r=Math.max(o?t.length:0,n?e.length:0),s=Math.max(o?t[0].length:0,n?e[0].length:0),a=[];for(let l=0;l<r;l++){const r=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=n?e[l]?.[a]:e,h=null==s&&null==c?null:tv(s,c,i);r.push(h)}a.push(r)}return a}var iv;!function(t){t[t.Number=0]="Number",t[t.Boolean=1]="Boolean",t[t.String=2]="String",t[t.StringQuote=3]="StringQuote",t[t.Function=4]="Function",t[t.ArgumentSeparator=5]="ArgumentSeparator",t[t.OpenBracket=6]="OpenBracket",t[t.CloseBracket=7]="CloseBracket",t[t.Operator=8]="Operator",t[t.Cell=9]="Cell",t[t.Variable=10]="Variable",t[t.Range=11]="Range",t[t.Sheet=12]="Sheet",t[t.SheetQuote=13]="SheetQuote",t[t.SheetSeparator=14]="SheetSeparator",t[t.Unknown=15]="Unknown",t[t.Operand=16]="Operand"}(iv||(iv={}));const ov=t=>t===iv.Number||t===iv.Boolean||t===iv.String||t===iv.Cell||t===iv.Variable||t===iv.Range,nv=t=>t>=48&&t<=57,rv=t=>"true"===(t=t.toLowerCase())||"false"===t,sv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,av={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class lv{constructor(t){this.options=Object.assign(av,t)}tokenize(t){const e=[],i=t.length;let o,n,r,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),n=o.charCodeAt(0),"="==o&&0==a)++a;else if(nv(n)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),n=o.charCodeAt(0),nv(n))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,iv.Number])}else if(sv(n)||"$"==o){l=o,r=null,++a;do{if(o=t.charAt(a),n=o.charCodeAt(0),sv(n)||nv(n)||"."===o||"$"===o||"_"===o)"_"==o?r=iv.Variable:nv(n)&&!c&&null==r&&(r=iv.Cell),l+=o,++a,a==i&&e.push([l,r||iv.Variable]);else{if("("==o){e.push([l.toUpperCase(),iv.Function]),e.push([o,iv.OpenBracket]),++a;break}if("'"==o)e.push([l,iv.Sheet]),l="",e.push([o,iv.SheetQuote]),c=!0,++a;else if(":"==o)r=iv.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,iv.Sheet]),e.push([o,iv.SheetSeparator]),c=!1,l="",++a;break}e.push([l,r||(rv(l)?iv.Boolean:iv.Variable)]);break}l+=o,++a}}}while(a<i)}else if(Jf(o)){if("-"===o&&nv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||Qf(s[0])||s[1]==iv.ArgumentSeparator))d=!0;else{for(l=o;Qf(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,iv.Operator])}++a}else if("("===o)e.push([o,iv.OpenBracket]),++a;else if(")"===o)e.push([o,iv.CloseBracket]),++a;else if("'"===o)e.push([o,iv.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,iv.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,iv.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,iv.String]),h&&e.push([this.options.stringQuote,iv.StringQuote])}else e.push([o,iv.Unknown]),++a;s=e[e.length-1]}return e}}function cv(t,e,i=null,o=!0){return t+=e,0==e?t:t>=0?i?o?t%i:Math.min(t,i-1):t:o&&i?i+t%i:Math.max(t,0)}const hv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class dv{constructor(t,e,i,o,n){this.setCoords(t,e,i,o),this.sheet=n}setCoords(t,e,i,o){this.c1=null==t&&null==i?0:t,this.r1=null==e&&null==o?0:e,this.c2=null==o&&null!=t||null!=i?null==i?t:i:1/0,this.r2=null==i&&null!=e||null!=o?null==o?e:o:1/0,this.normalize()}get size(){return{columns:this.c2-this.c1+1,rows:this.r2-this.r1+1}}get count(){const{columns:t,rows:e}=this.size;return t*e}normalize(){const[t,e]=[Math.min(this.c1,this.c2),Math.max(this.c1,this.c2)],[i,o]=[Math.min(this.r1,this.r2),Math.max(this.r1,this.r2)];return this.c1=t,this.c2=e,this.r1=i,this.r2=o,this}move(t,e,i=null,o=null,n=!0){const r=cv(this.c1,t,i,n);n&&(e+=this.c1+t!=r&&0!=t?t>0?1:-1:0),this.c1=r,this.r1=cv(this.r1,e,o,n),this.c2=cv(this.c2,t,i,n),this.r2=cv(this.r2,e,o,n)}contains(t){return t.c1>=this.c1&&t.c2<=this.c2&&t.r1>=this.r1&&t.r2<=this.r2}containsColumn(t){return this.c1<=t&&this.c2>=t}containsRow(t){return this.r1<=t&&this.r2>=t}removeAnchors(){return this.c1Anchor=!1,this.c2Anchor=!1,this.r1Anchor=!1,this.r2Anchor=!1,this}addAnchors(){return this.c1Anchor=!0,this.c2Anchor=!0,this.r1Anchor=!0,this.r2Anchor=!0,this}shiftLeft(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1-=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2-=e),this}shiftRight(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1+=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2+=e),this}shiftUp(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1-=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2-=e),this}shiftDown(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1+=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2+=e),this}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,ignoreAnchors:r}=t;switch(o){case"down":return this.shiftDown(e,i,n,r);case"up":return this.shiftUp(e,i,n,r);case"left":return this.shiftLeft(e,i,n,r);case"right":return this.shiftRight(e,i,n,r)}}intersect(t){this.normalize(),t.normalize();const e=Math.max(t.c1,this.c1),i=Math.min(t.c2,this.c2),o=Math.max(t.r1,this.r1),n=Math.min(t.r2,this.r2);return e<=i&&o<=n?new dv(e,o,i,n,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new dv(Math.min(this.c1,t.c1),Math.min(this.r1,t.r1),Math.max(this.c2,t.c2),Math.max(this.r2,t.r2),this.sheet)}clone(){const t=new dv(this.c1,this.r1,this.c2,this.r2,this.sheet);return t.c1Anchor=this.c1Anchor,t.r1Anchor=this.r1Anchor,t.c2Anchor=this.c2Anchor,t.r2Anchor=this.r2Anchor,t}equals(t,e=!1){return t.c1==this.c1&&t.r1==this.r1&&t.c2==this.c2&&t.r2==this.r2&&(0==e||t.c1Anchor==this.c1Anchor&&t.r1Anchor==this.r1Anchor&&t.c2Anchor==this.c2Anchor&&t.r2Anchor==this.r2Anchor)}get isCell(){return this.c2==this.c2&&this.r2==this.r1}get isRange(){return this.c2!=this.c1||this.r2!=this.r1}get isColumn(){return 0==this.r1&&this.r2==1/0}get isRow(){return 0==this.c1&&this.c2==1/0}get A1(){const t=this.isRange,e=(this.c1Anchor?"$":"")+(0!==this.c1||this.c2!==1/0?gv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+uv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?gv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?uv(this.r2):""):e;return(null==this.sheet?"":((o=this.sheet).indexOf(" ")>-1?"'"+o+"'":o)+"!")+(e==i?e:e+":"+i);var o}get bounds(){return[[new dv(this.c1,this.r1),this.c2<1/0?new dv(this.c2,this.r1):null],[this.r2<1/0?new dv(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new dv(this.c2,this.r2):null]]}*cells(){for(let t=this.r1;t<=this.r2;t++)for(let e=this.c1;e<=this.c2;e++)yield new dv(e,t)}static fromA1(t){const e=hv.exec(t),i=new dv(e[3]?mv(e[3]):null,e[5]?pv(e[5]):null,e[7]?mv(e[7]):null,e[9]?pv(e[9]):null,e[1]||null);return!e[2]&&e[3]||(i.c1Anchor=!0),!e[4]&&e[5]||(i.r1Anchor=!0),(e[6]||e[2]&&!e[7])&&(i.c2Anchor=!0),(e[8]||e[4]&&!e[9])&&(i.r2Anchor=!0),i}}function uv(t){return(t+1).toString()}function pv(t){return parseInt(t)-1}function gv(t){++t;let e,i="";for(;t>0;)e=(t-1)%26,i=String.fromCharCode(e+65)+i,t=(t-e-1)/26;return i}function mv(t){const e=t.length;let i=0;for(let o=0;o<e;o++)i+=(t.charCodeAt(o)-64)*Math.pow(26,e-o-1);return i-1}function fv(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),n=Math.min(t.c1,t.c2),r=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:n<r?-1:r>n?1:0}))}function vv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function bv(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function yv(t){return Array.isArray(t)?t:[[t]]}function wv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===wv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}dv.fromA1s=(t,e=";")=>t.split(e).map((t=>dv.fromA1(t))),dv.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),dv.fromCoords=t=>new dv(t.c1,t.r1,t.c2,t.r2),dv.fullColumn=t=>new dv(t,0,t,1/0),dv.fullRow=t=>new dv(0,t,1/0,t);const xv=new Set(["SUMPRODUCT","FILTER"]),kv=t=>xv.has(t),Cv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),Mv=t=>Cv(t)?t:"="+(t??""),_v=t=>Cv(t)?t.substring(1):t,Sv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Ev=t=>Sv[t%Sv.length],zv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class Rv{get fn(){return this._fn??(this._fn=new Function("t","ctx","return "+this.compile()))}get tokens(){return this._tokens}get variables(){return this._variables}get cells(){return this._cells}get ranges(){return this._ranges}get colors(){if(!this._colors){let t;this._colors=new Map,this._tokens.forEach(((e,i)=>{if([iv.Cell,iv.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Ev(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==iv.Sheet&&(t=e[0])}))}return this._colors}constructor(t,e){this.expression=t,this.tokenizer=e,this._tokens=e.tokenize(this.expression),this.updateDependecies()}findTokenIndexAtPosition(t){let e=0;return this._tokens.findIndex((i=>{const o=i[0].length;if(t>=e&&t<=e+o)return!0;e+=o}))}findSheetTokenIndex(t){const e=this._tokens[t];if(![iv.Cell,iv.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=iv.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==iv.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=iv.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==iv.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[iv.SheetSeparator,iv.SheetQuote,iv.Sheet].includes(this._tokens[e][1]);)e++;return this._tokens.splice(t,e-t),e-t}return 0}getNamedColor(t){return this.colors.get(t)?.color??"inherit"}getTokenPosition(t){let e=0;for(let i=0;i<t;i++)e+=this._tokens[i][0].length;return{min:e,max:e+this._tokens[t][0].length}}updateToken(t,e){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens[t][0]=e}removeToken(t){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens.splice(t,1)}insertToken(t,e,i){this._fn=null,this._formula=null,this._xlFormula=null;const o=[];return i==iv.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,iv.SheetQuote]),o.push([e,iv.Sheet]),o.push([this.tokenizer.options.sheetQuote,iv.SheetQuote])):o.push([e,i]),o.push(["!",iv.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new Rv(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case iv.Sheet:t=e[0];break;case iv.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case iv.Cell:this._cells.push([i,dv.fromA1(e[0]),t]),t=void 0;break;case iv.Range:this._ranges.push([i,dv.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,n,r,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case iv.SheetQuote:s+="'";break;case iv.SheetSeparator:s+="!";break;case iv.Sheet:n=o[0],s+=t?`<span style="font-style:italic">${n}</span>`:n;break;case iv.Variable:s+=o[0];break;case iv.Range:case iv.Cell:r=(n?"'"+n+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(r)}">${o[0]}</span>`:o[0],n=null;break;case iv.StringQuote:s+=i.stringQuote;break;case iv.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case iv.ArgumentSeparator:s+=i.argumentSeparator;break;case iv.Function:s+=(e?(a=o[0],zv.get(a)??""):"")+o[0];break;case iv.Unknown:s+=t?`<span style="background:#f00;color:#fff">${o[0]}</span>`:o[0];break;default:s+=o[0]}var a;return s}createExpressionTree(){const t=[],e=[],i=this.tokens;let o,n,r,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case iv.Sheet:l=o[0];break;case iv.Cell:case iv.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case iv.Number:case iv.String:case iv.Boolean:case iv.Variable:t.push({t:o[0],tt:o[1]});break;case iv.Operator:for(0==t.length&&t.push({t:"",tt:iv.Operand}),r=Xf.get(o[0]);e.length>0&&(s=Xf.get(e[e.length-1][0]),s)&&(0===r[2]&&r[1]<=s[1]||1===r[2]&&r[1]<s[1]);)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case iv.Function:case iv.OpenBracket:e.push(o);break;case iv.ArgumentSeparator:for(;e.length>0&&(n=e[e.length-1],![iv.OpenBracket,iv.ArgumentSeparator].includes(n[1]));)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case iv.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==iv.OpenBracket;)n=e.pop(),n[1]==iv.Operator?a.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()}):n[1]==iv.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===iv.Function?(n=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==iv.OpenBracket&&a.unshift(t.pop()),t.push({t:n[0],tt:n[1],c:a})):t.push(...a)}for(;e.length>0;)n=e.pop(),t.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case iv.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.Operand:return"t.cl()";case iv.Variable:return i||e?.tt===iv.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case iv.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case iv.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case iv.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||kv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case iv.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||kv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):Xf.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(Xf.get(t.t)[0])+")":null;default:return t.t}}compile(){const t=this.createExpressionTree();return this.createExpressionJSCode(t)}toString(t=!1){return(t?"=":"")+(this._formula??(this._formula=this.createFormulaString()))}toExcelString(){return this._xlFormula??(this._xlFormula=this.createFormulaString(!1,!0))}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,sheet:r,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this}hasSheetReference(t){for(const e of this._cells)if(e[2]==t)return!0;for(const e of this._ranges)if(e[2]==t)return!0;for(const e of this._variables)if(e[2]==t)return!0;return!1}renameSheet(t,e){let i=!1;return this._tokens.forEach((o=>{o[1]==iv.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Lv(t,e){return e&&(t=Zo(this.cell.model.options.locale,tn(e,"d"),!1)(t)),null==t?"":t.toString()}function Iv(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function Hv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Tv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Av(...t){let e="";return wv(t,(t=>e+=null==t?"":t.toString())),e}function Ov(t){return t instanceof Date?t:X(t)?Io(t,go()):Vo(t)}function $v(t){return J(t)?t:jo(t instanceof Date?t:Io(t,go()))}function Dv(t){return X(t)?$v(t):t}function Nv(t,e){const i=Ov(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function Pv(t,e,i){return Bo($v(bv(t)),e)}function jv(){return jo(oe(new Date))}function Vv(t){return null==(t=bv(t))||""===t}function Bv(t,e,i){return jo(new Date(t,e-1,i))}function Fv(t){return Ov(t).getFullYear()}function Wv(t){return Ov(t).getMonth()+1}function Uv(t){return Ov(t).getDate()}function Gv(t,e){const i=Ov(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),jo(i)}function Yv(t){return fi(Ov(t))}function qv(t){return Math.acos(t)}function Zv(t){return Math.acosh(t)}function Xv(t){return Math.PI/2-Math.atan(t)}function Qv(t){return.5*Math.log((t+1)/(t-1))}function Kv(t){return Math.asin(t)}function Jv(t){return Math.asinh(t)}function tb(t){return Math.atan(t)}function eb(t){return Math.atanh(t)}function ib(t){return Math.cos(t)}function ob(t){return Math.cosh(t)}function nb(t){return 1/Math.tan(t)}function rb(t){return 1/Math.tanh(t)}function sb(t){return 1/Math.sin(t)}function ab(t){return 1/Math.sinh(t)}function lb(t){return 180*t/Math.PI}function cb(){return Math.PI}function hb(t){return 1/Math.cos(t)}function db(t){return 1/Math.cosh(t)}function ub(t){return Math.sin(t)}function pb(t){return Math.sinh(t)}function gb(t){return Math.tan(t)}function mb(t){return Math.tanh(t)}function fb(t){return Math.abs(t)}function vb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function bb(t){return(t=Math.ceil(t))%2==0?t:t+1}function yb(t){return Math.pow(Math.E,t)}function wb(t){return t<0?-1:0==t?1:t*wb(t-1)}function xb(t){return t<=0?1:t*xb(t-2)}function kb(t){return Math.floor(t)}function Cb(t){return t%1!=0}function Mb(t){return!Cb(t)&&t%2==0}function _b(t){return Cb(t)||t%2==1}function Sb(t){return Math.log(t)}function Eb(t,e){return Math.log(t)/Math.log(e)}function zb(t){return Math.log10(t)}function Rb(t,e){return t%e}function Lb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Ib(t,e){return Math.pow(t,e)}function Hb(...t){let e=1;return wv(t,(t=>e*=t||1)),e}function Tb(t,e){return Math.floor(t/e)}function Ab(t){return t*Math.PI/180}function Ob(){return Math.random()}function $b(t,e){const i=Array(t).fill(null).map((()=>Array(e)));for(let o=0;o<t;o++)for(let t=0;t<e;t++)i[o][t]=Math.random();return i}function Db(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function Nb(t,e){return t.toFixed(e)}function Pb(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function jb(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function Vb(t,e,i=1,o=1){const n=Array(t).fill(null).map((()=>Array(e)));let r=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)n[i][t]=r,r+=o;return n}function Bb(t){return t<0?-1:t>0?1:0}function Fb(t){return Math.sqrt(t)}function Wb(t){return Math.sqrt(Math.PI*t)}function Ub(...t){let e=0;return wv(t,(t=>e+=null==t?0:1)),e}function Gb(...t){let e=0;return wv(t,(t=>e+=null==t?1:0)),e}function Yb(t,e){let i=0;return wv(t,(t=>i+=Zf(e,t)?1:0)),i}function qb(...t){let e=0;const i=new Map;return wv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function Zb(...t){let e=0;return wv(t,(t=>e+=isNaN(t)?0:t)),e}function Xb(t,e,i){let o=0;if(i){const n=yv(i);wv(t,((t,i,r)=>o+=Zf(e,t)&&n[i]&&n[i][r]&&!isNaN(n[i][r])?n[i][r]:0))}else wv(t,(t=>o+=Zf(e,t)&&!isNaN(t)?t:0));return o}function Qb(t,e){let i=0;return wv(t,(t=>i+=Zf(e,t)&&!isNaN(t)?t*t:0)),i}function Kb(...t){let e=0;const i=t.shift();if(0===t.length)wv(i,(t=>e+=isNaN(t)?0:t));else{const o=yv(t[0]);wv(i,((t,i,n)=>e+=o[i]&&o[i][n]&&!isNaN(t)&&!isNaN(o[i][n])?t*o[i][n]:0))}return e}function Jb(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase().includes(t))}function ty(t,e,i=1){const o=new dv(Math.max((e||0)-1,0),Math.max((t||0)-1,0));return 1!=i&&2!=i||(o.r1Anchor=!0),1!=i&&3!=i||(o.c1Anchor=!0),o.A1}function ey(t,e,i,o=!1){let n,r;const s=Jb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[n][i-1];return null}function iy(t,e,i,o=!1){let n,r;const s=Jb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[i-1][r];return null}function oy(t,e,i){let o,n;t:for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++)if(e[o][n]==t)break t;return i?i[o]?i[o][n]:null:e[o][e[o].length-1]}function ny(t,...e){let i=null,o=0;return wv(e,(e=>{if(t==++o)return i=e,!1})),i}function ry(t){return(t?dv.fromA1(t).c1:this.cell.c)+1}function sy(t){return(t?dv.fromA1(t).r1:this.cell.r)+1}function ay(t){return Array.isArray(t)?t[0]?.length:1}function ly(t){return Array.isArray(t)?t.length:1}function cy(){const t=vv(this)[0];return t&&t.hasFormula?" "+Mv(t.formula):""}function hy(t,e,i){return e=e||1,i=i||1,Array.isArray(t)?t[e-1]?t[e-1][i-1]:null:1==e&&1==i?t:null}function dy(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let n;return i.calculations.dependencies.cellDependencies.has(e.address)?n=i.calculations.dependencies.cellDependencies.get(e.address):(n=new Map,i.calculations.dependencies.cellDependencies.set(e.address,n)),n.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?n=i.calculations.dependencies.cellDependants.get(o.address):(n=new Map,i.calculations.dependencies.cellDependants.set(o.address,n)),n.set(e.address,[e.range]),o.value}function uy(t,e,i=0){let o,n;for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++){if(0==i&&e[o][n]==t)return Math.max(o+1,n+1);if(1==i&&e[o][n]>t)return Math.max(o+1,n+1);if(-1==i&&e[o][n]<t)return Math.max(o+1,n+1)}return null}function py(t,e,i,o,n){const r=vv(this)[0],s=[];o=o||1,n=n||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<n;s++){const n=r.model.rows[r.r+t+e].cell(r.c+s+i);o.push(n?r.value:null)}s.push(o)}return s}function gy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let n=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){n=!1;break}n&&i.push(t[o])}return i}const my=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],fy=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]];function vy(t){const e=t*t;let i,o=my[0][4]*e,n=e;for(i=0;i<3;i+=1)o=(o+my[0][i])*e,n=(n+fy[0][i])*e;return t*(o+my[0][3])/(n+fy[0][3])}function by(...t){let e=!0;return wv(t,(t=>{if(!t)return e=!1})),e}function yy(...t){let e=!1;return wv(t,(t=>{if(t)return e=!0})),e}function wy(...t){let e=null;return wv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function xy(...t){const e=t[0];for(let i=1;i<t.length;i+=2){if(i==t.length-1)return t[i];if(e==t[i])return t[i+1]}return null}function ky(t,e,i){return t?e:i}function Cy(t){return!t}function My(){return!1}function _y(){return!0}function Sy(t,e){return e=""===e?null:e,t===1/0||t===-1/0||Number.isNaN(t)?e:t}var Ey=i(235),zy=i.n(Ey),Ry=i(5949),Ly=i.n(Ry);function Iy(...t){let e=0,i=0;return wv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function Hy(t,e){const i=Ly()(),o=yv(t),n=yv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(n[t]?n[t][e]:1)??1);return i()}function Ty(...t){const e=function(t){const e=[];return wv(t,(t=>e.push(t))),e}(t),i=zy()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function Ay(...t){let e=1/0;return wv(t,(t=>e=Math.min(e,t))),e}function Oy(...t){let e=-1/0;return wv(t,(t=>e=Math.max(e,t))),e}function $y(t,e){Object.keys(e).forEach((i=>t.set(rt(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const Dy=new Map;$y(Dy,M),$y(Dy,_),$y(Dy,S),$y(Dy,E),$y(Dy,R),$y(Dy,z),$y(Dy,L);class Ny{constructor(t){this.model=t,this.getModel=t=>{const e=t?this.model.getConnectedModel(t):this.model;if(e)return e;throw new Error(`Sheet "${t}" not found`)},this.cl=(t,e)=>{const i=this.getModel(e);return(null==t?this.currentCell:i.getCellByA1(t)).value},this.rn=(t,e)=>this.getModel(e).getValuesInRange(dv.fromA1(t)),this.nv=(t,e)=>this.getModel(e).getCellByName(t,this.currentCell.range).value,this.nr=(t,e)=>{const i=this.getModel(e).getValueMatrixByName(t);return 1===i.length&&1===i[0].length?i[0][0]:i},this.fn=t=>{const e=Dy.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>ev(t,e,i)}}function Py(t,e){const i=Array(e).fill(null);let o=0,n=[];if(t.length>1){n=t.map((t=>parseFloat(t.value)||0)),o=n[1]-n[0];for(let t=2;t<n.length;t++)if(n[t]-n[t-1]!==o){o=0;break}}if(0==o)for(let o=0;o<e;o++)i[o]=t[o%t.length]?.value;else{let t=n[n.length-1];for(let n=0;n<e;n++)t=i[n]=t+o}return i}function jy(t,e,i){const o=new Rv(t.formula,t.model.calculations.tokenizer),n=[];for(let t=0;t<i;t++)n.push(Mv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return n}function Vy(t,e,i,o){const n=t.getCellMatrix(e);let r;"right"==o?r=Ln(n):"down"==o?r=Rn(n):"left"==o?r=En(n):"up"==o&&(r=En(Rn(n)));const s=new Array(i.size.rows);for(let t=0;t<i.size.rows;t++){s[t]=new Array(i.size.columns);for(let e=0;e<i.size.columns;e++){const i=n.length>t?n[t][n[t].length>e?e:0]:n[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=r.map((t=>t[t.length-1].hasFormula?jy(t[t.length-1],o,a):Py(t,a)));return"down"==o?l=Rn(l):"left"==o?l=En(l):"up"==o&&(l=zn(Rn(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function By(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function Fy(t,e){const i=t.validation;if(!i)return!0;if(i.allowInvalid)return!0;let o=!0;return i.pattern&&(i.pattern.test((e??"").toString())||(o=!1)),i.validate&&(i.validate(t,e)||(o=!1)),o}class Wy{get address(){return null}get renderer(){return this._renderer}set renderer(t){this._renderer=t}get afterRenderer(){return this._afterRenderer}set afterRenderer(t){this._afterRenderer=t}get commentRenderer(){return this._commentRenderer}set commentRenderer(t){this._commentRenderer=t}get type(){return this._type}set type(t){this._type=t}get name(){return this._name}set name(t){this._name=t}get style(){return this._style}set style(t){this._style=t}get commentable(){return this._commentable}set commentable(t){this._commentable=t}get clickable(){return this._clickable}set clickable(t){this._clickable=t}get editable(){return this._editable}set editable(t){this._editable=t}get validation(){return this._validation}set validation(t){this._validation=t}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){this._formula=t?t.replace(/^=/,""):null}get value2(){return this.hasFormula?Mv(this.formula):null}get editorContent(){return this._editorContent}set editorContent(t){this._editorContent=t}get adapter(){return this._adapter}set adapter(t){this._adapter=t}get properties(){return this._properties}set properties(t){this._properties=t}getProperty(t){return this._properties?.[t]}setProperty(t,e){this._properties||(this._properties={}),this._properties[t]=e}get format(){return this._format}set format(t){this._format=t,this._valueFormatter=null}get valueFormatter(){return this._valueFormatter}constructor(t,e){this.model=t,this._type=null,this._clickable=!1,e&&this.populate(e)}populate(t){this._renderer=t.renderer,this._afterRenderer=t.afterRenderer,this._commentRenderer=t.commentRenderer,this._name=t.name,this._type=t.t,this._editorContent=t.content,this._adapter=t.adapter,this._format=t.z,this._formula=t.f,this._editable=t.e,this._commentable=t.commentable,this._clickable=t.clickable,this._validation=t.validation?By(t.validation):null,this._properties=t.props,this._style=null==t.s?null:this.model.styles.add(t.s).id}update(t){const e={};if("renderer"in t&&(e.renderer=this._renderer,this._renderer=t.renderer),"afterRenderer"in t&&(this._afterRenderer=t.afterRenderer),"commentRenderer"in t&&(this._commentRenderer=t.commentRenderer),"name"in t&&(e.name=this._name,this._name=t.name),"t"in t&&(e.t=this._type,this._type=t.t),"content"in t&&(e.content=this._editorContent,this._editorContent=t.content),"adapter"in t&&(e.adapter=this._adapter,this._adapter=t.adapter),"z"in t&&(e.z=this._format,this._format=t.z),"f"in t&&(e.f=this._formula,this._formula=t.f),"e"in t&&(e.e=this._editable,this._editable=t.e),"commentable"in t&&(e.commentable=this._commentable,this._commentable=t.commentable),"clickable"in t&&(e.clickable=this._clickable,this._clickable=t.clickable),"validation"in t&&(e.validation=this._validation,this._validation=By(t.validation)),"props"in t&&(e.props=this._properties,this._properties=t.props),"s"in t){const i=this.model.styles.add(t.s).id;this._style!==i&&(e.s=this._style,this._style=i)}return e}getSourceData(){const t={};return null!=this._type&&(t.t=this._type),null!=this._format&&(t.z=this._format),null!=this._formula&&(t.f=this._formula),null!=this._editable&&(t.e=this._editable),null!=this._commentable&&(t.commentable=this._commentable),null!=this._clickable&&(t.clickable=this._clickable),this._properties&&(t.props=ot(this._properties)),null!=this._editorContent&&(t.content=q(this._editorContent)?ot(this._editorContent):this._editorContent),null!=this._style&&(t.s=this._style),null!=this._name&&(t.name=this._name),t}setStyleProperties(t,e=!1){this.style=e?this.model.styles.set(this.style,t).id:this.model.styles.duplicate(this.style,t).id}removeStyleProperties(t){null!==this.style&&this.model.styles.unset(this.style,t)}get composedStyle(){return this.model.styles.get(this.style)}}function Uy(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const Gy=new Map([["thin",{width:1.5,style:"solid"}],["medium",{width:2,style:"solid"}],["thick",{width:3,style:"solid"}],["double",{width:3,style:"double"}],["dotted",{width:1.5,style:"dotted"}],["hair",{width:1,style:"solid"}],["dashed",{width:1.5,style:"dashed"}],["mediumDashed",{width:2,style:"dashed"}],["dashDot",{width:1.5,style:"dashed"}],["mediumDashDot",{width:2,style:"dashed"}],["dashDotDot",{width:1.5,style:"dotted"}],["mediumDashDotDot",{width:2,style:"dotted"}],["slantDashDot",{width:1.5,style:"dashed"}],["none",{width:1.5,style:"solid"}]]),Yy=(()=>{const t=new Map;return Gy.forEach(((e,i)=>{let o=t.get(e.style);o||(o=t.set(e.style,new Map).get(e.style)),o.set(e.width,i)})),t})();function qy(t){return"middle"==t?"center":t}function Zy(t){return 3==(t="#"==t.charAt(0)?t.substring(1):t).length?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t}const Xy=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",n=Yy.get(o);return{style:(n?n.get(i):null)??"thin",color:e.length>2?Zy(e[2]):"CCCCCC"}},Qy=t=>{const e=Gy.get(t.style||"none");return e?[Tt(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},Ky=(t,e)=>{const i="#"+(e.fgColor||"000000"),o="#"+(e.bgColor||"FFFFFF");switch(e.patternType){case"solid":t.backgroundColor=i||o;break;case"darkGray":t.backgroundColor=bn(o,.75);break;case"mediumGray":t.backgroundColor=bn(o,.5);break;case"lightGray":t.backgroundColor=bn(o,.25);break;case"gray125":t.backgroundColor=bn(o,.125);break;case"gray0625":t.backgroundColor=bn(o,.0625);break;case"darkHorizontal":t.backgroundImage=`linear-gradient(0deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkVertical":t.backgroundImage=`linear-gradient(90deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkDown":t.backgroundImage=`linear-gradient(45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkUp":t.backgroundImage=`linear-gradient(-45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"lightHorizontal":t.backgroundImage=`linear-gradient(0deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightVertical":t.backgroundImage=`linear-gradient(90deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightDown":t.backgroundImage=`linear-gradient(45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightUp":t.backgroundImage=`linear-gradient(-45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"darkGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px";break;case"darkTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px"}return t},Jy=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),tw=t=>{const e=t.cssStyle?{...t.cssStyle}:{};return null!=t.bold&&(e.fontWeight=t.bold?"bold":"normal"),t.italic&&(e.fontStyle="italic"),t.underline?e.textDecoration="underline":t.strike&&(e.textDecoration="line-through"),t.sz&&(e.fontSize=Ht(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Qy(t.top)),t.right&&(e.borderRight=Qy(t.right)),t.bottom&&(e.borderBottom=Qy(t.bottom)),t.left&&(e.borderLeft=Qy(t.left)),(t.top||t.right||t.bottom||t.left)&&(e.zIndex="1"),t.alignment&&t.alignment.vertical?(e.display="flex",e.justifyContent=t.alignment.horizontal,e.alignItems="top"==t.alignment.vertical?"start":"bottom"==t.alignment.vertical?"end":"center"):t.alignment&&t.alignment.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment&&t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.patternType?Ky(e,t):t.stops&&t.stops.length?Jy(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},ew=t=>{const e=q(t)?t:Uy(t),i={};let o;for(const t in e){const n=e[t];if(null!=n)switch(t){case"borderTop":case"border-top":i.top=Xy(n);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=Zy(n):i.top={style:"thin",color:Zy(n)};break;case"borderRight":case"border-right":i.right=Xy(n);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=Zy(n):i.right={style:"thin",color:Zy(n)};break;case"borderBottom":case"border-bottom":i.bottom=Xy(n);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=Zy(n):i.bottom={style:"thin",color:Zy(n)};break;case"borderLeft":case"border-left":i.left=Xy(n);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=Zy(n):i.left={style:"thin",color:Zy(n)};break;case"border":o=Xy(n),i.top=i.top||o,i.right=i.right||o,i.bottom=i.bottom||o,i.left=i.left||o;break;case"textAlign":case"text-align":i.alignment=i.alignment||{},i.alignment.horizontal=n;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=qy(n);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=n&&"nowrap"!=n;break;case"color":i.color=Zy(n);break;case"background":case"backgroundColor":i.fgColor=Zy(n);break;case"fontSize":case"font-size":i.sz=parseFloat(n);break;case"fontWeight":case"font-weight":i.bold="bold"==n;break;case"fontStyle":case"font-style":i.italic="italic"==n;break;default:i[t]=n}}return i},iw={n:t=>{const e=X(t)?parseFloat(t):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>X(t)?Q(t)?K(t):jo(Io(t,e.model.options.formatLocale)):t instanceof Date?jo(t):t,tm:t=>X(t)?new Date(t):t,dt:t=>X(t)?new Date(t):t,b:t=>!!t&&"0"!==t&&"false"!==t.toString().toLowerCase(),s:t=>t,m:t=>t,g:t=>{if(null==t)return null;const e=parseFloat(t);return isNaN(e)?t:e},a:t=>X(t)&&""!==t?JSON.parse(t):t,h:t=>t},ow=new Map;class nw extends Wy{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=t}get colspan(){return this._colspan}set colspan(t){this._colspan=t}get r(){return this.row.index}get c(){return this.column.index}get hasValue(){return null!=this._value}get value(){return this._evaluated||this.evaluate(),this._value}set value(t){if(t&&Cv(t.toString()))this._value=void 0,this.formula=t;else{let e=iw[this.type](t,this);Fy(this,e)||(e=void 0),e!==this._value&&(this._value=e,this._displayValue=void 0),this.row.data&&this.column.data&&(this.row.data[this.column.data]=this._value)}}evaluate(){return this._value=iw[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?Mv(this.formula):this.value}get hasDisplayValue(){return null!=this._displayValue}get displayValue(){return this._displayValue}set displayValue(t){this._displayValue=t}get prefersDisplayValue(){return["s","m"].includes(this.type)}get error(){return this._error}set error(t){this._error=t}get hasError(){return!!this._error}clearError(){this._error=void 0}get spillRange(){return this._spillRange}get prevSpillRange(){return this._prevSpillRange}set spillRange(t){!this._spillRange||t&&this._spillRange.equals(t)||(this._prevSpillRange=this._spillRange),this._spillRange=t}get isSpillSource(){return null!=this._spillRange}get spillSource(){return this._spillSource}get isSpilled(){return null!=this._spillSource}spillValue(t,e){this.value=t,this._spillSource=e}clearSpilledValue(){this._spillSource=void 0,this._value=void 0}get hasSparkline(){return null===this._sparkline?this._sparkline=this.model.sparklines.has(this.address):this._sparkline}get hasComment(){return null===this._hasComment?this._hasComment=(this.model.comments.get(this.address)??[]).length>0:this._hasComment}get comments(){return this.model.comments.get(this.address)}get valueFormatter(){const t=super.valueFormatter??this.row.valueFormatter??this.column.valueFormatter;if(t)return t;const e=this.type,i=this.format,{formatLocale:o,fixNumberFormat:n}=this.model.options,r=this.value;if(null==r||""===r)return null;if("n"==e)return null!=i?Zo(o,i,n):this.model.options.numberFormatter;if("g"==e){if(null!=i)return Zo(o,i,n);if(J(r))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:Zo(o,i,!1);if("d"==e)return i?Ho(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!ow.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);ow.set(t,(t=>e.has(t)?e.get(t):t))}else ow.set(t,(t=>t));return ow.get(t)})(this.editorContent)}return null}get formattedValue(){return null==this.value?"":this.hasDisplayValue?this.displayValue:this.valueFormatter?this.valueFormatter(this.value):this.value.toString()}get elm1(){return this.row.priority>=this.column.priority?this.row:this.column}get elm2(){return this.row.priority<this.column.priority?this.row:this.column}get clickable(){return super.clickable??this.elm1.clickable??this.elm2.clickable}get type(){return super.type??this.elm1.type??this.elm2.type??"g"}set type(t){this._type=t}get editorContent(){return super.editorContent??this.elm1.editorContent??this.elm2.editorContent??null}get adapter(){return super.adapter??this.elm1.adapter??this.elm2.adapter}set adapter(t){this._adapter=t}get address(){return this.column.address+this.row.address}get range(){return dv.fromA1(this.address)}get validation(){return super.validation??this.elm1.validation??this.elm2.validation??this.model.options.cellValidation}get editable(){return super.editable??this.elm1.editable??this.elm2.editable??this.model.options.editable}set editable(t){this._editable=t}get commentable(){return super.commentable??this.elm1.commentable??this.elm2.commentable??this.model.options.commentable}get renderer(){return super.renderer??this.elm1.renderer??this.elm2.renderer}get afterRenderer(){return super.afterRenderer??this.elm1.afterRenderer??this.elm2.afterRenderer??this.model.options.afterRenderer}get commentRenderer(){return super.commentRenderer??this.elm1.commentRenderer??this.elm2.commentRenderer??this.model.options.comments.renderer}get format(){return super.format??this.elm1.format??this.elm2.format}set format(t){super.format=t}get hyperlink(){return this._hyperlink}set hyperlink(t){this._hyperlink=t}get hasOwnFormula(){return!!this._formula}get hasFormula(){return null==this._hasFormula&&(this._hasFormula=!!this.formula),this._hasFormula}get formula(){return this._formula??this.elm1.formula??this.elm2.formula}set formula(t){super.formula=t,this.refreshFormula()}invalidateValue(){this.hasFormula?(this._value=void 0,this._evaluated=!1):this._evaluated=!0,this.clearError()}refreshFormula(){this.invalidateValue(),this._hasFormula=null}clearFormula(){this._formula=null,this._hasFormula=!1,this._evaluated=!0}constructor(t,e){super(t),this._evaluated=!0,this._sparkline=null,this._hasComment=null,this._hasStyle=null,this.row=t.rows[e.r],this.column=t.columns[e.c],this.populate(e)}populate(t){super.populate(t),this._colspan=t.cs??1,this._rowspan=t.rs??1,this._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"cs"in t&&(e.cs=this._colspan,this._colspan=t.cs),"rs"in t&&(e.rs=this._rowspan,this._rowspan=t.rs),"tooltip"in t&&(e.tooltip=this._tooltip,this._tooltip=t.tooltip),"hl"in t&&(e.hl=this._hyperlink,this._hyperlink=t.hl),"f"in t?this._evaluated=!1:"v"in t&&(e.v=this.value,this.value=t.v),"dv"in t&&(e.dv=this._displayValue,this._displayValue=t.dv),e}getSourceData(t){const e=super.getSourceData();return this._colspan>1&&(e.cs=this._colspan),this._rowspan>1&&(e.rs=this._rowspan),null!=this.value&&(e.v=this.value),this.hasTooltip&&(e.tooltip=this._tooltip),this._hyperlink&&(e.hl=this._hyperlink),t&&t.displayValue&&this.hasDisplayValue&&(e.dv=this._displayValue),e}createComposedStyle(t,e,i){const o=[];return t=t||this.column.style,e=e||this.row.style,null!=t&&null!=e?this.column.priority>this.row.priority?o.push(e,t):o.push(t,e):null!=t?o.push(t):null!=e&&o.push(e),null!=this.style&&o.push(this.style),null!=i&&o.push(i),o.length>0?this.model.styles.merge(...o):null}get composedStyle(){if(null===this._hasStyle){const t=this.createComposedStyle(null,null,this.model.conditionalFormats.evaluate(this));this._hasStyle=null!=t,this._composedStyle=t}return this._composedStyle}get calculatedIndent(){const t=this.composedStyle;return t?.alignment?.indent?t.alignment.indent:this.column.levelIndent&&this.row.level>0?this.row.level*this.model.options.levelIndentFactor:null}get cssStyle(){if(!1===this._hasStyle)return null;if(!this._cssStyle){const t=this.composedStyle;t&&(this._cssStyle=tw(t))}return this._cssStyle}invalidateStyle(){this._hasComment=null,this._hasStyle=null,this._composedStyle=null,this._cssStyle=null,this._sparkline=null}setStyleProperties(t){super.setStyleProperties(t),this.invalidateStyle()}removeStyleProperties(t){super.removeStyleProperties(t),this.invalidateStyle()}previewStyleProperties(t,e="cell"){const i=Object.assign({},this.createComposedStyle("column"==e?t:null,"row"==e?t:null)??{});if("cell"==e)for(const e in t)i[e]=t[e];this._hasStyle=!0,this._cssStyle=tw(i)}validate(){return!this.validation||Fy(this,this.value)}toString(){return this.address}}const rw={property:"value",enabled:!0};class sw extends(pn(Wy)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?rw:{enabled:!1})}set filter(t){this._filter=t}get hasFilter(){return this.filter.enabled}get sorting(){return this._sorting??this.model.options.columnSorting}set sorting(t){this._sorting=t}get width(){return this._width??this.model.options.columnWidth}set width(t){this._width=t}get levelIndent(){return this._levelIndent}set levelIndent(t){this._levelIndent=t}get levelButtons(){return this._levelButtons}set levelButtons(t){this._levelButtons=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return gv(this.index)}get range(){return new dv(this.index,null,this.index,null)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t;const e=this.index;this.model.rows.forEach((t=>t.cells[e]?.refreshFormula()))}constructor(t,e){super(t,e),null==this._priority&&(this._priority=t.options.columnPriority)}get mergedHeaders(){return this._mergedHeaders??(this._mergedHeaders=this._header?.filter((t=>t.cs>1||t.rs>1))??[])}updateMergedHeaders(){this._mergedHeaders=null}set header(t){this._mergedHeaders=null,this._header=t}get header(){if(!this._header||this._header.length<this.model.headerCount){this._header=this._header??[];for(let t=this._header.length;t<this.model.headerCount;t++)this._header.push({r:t})}return this._header}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>(null==(t=t??{r:e}).height&&(t.height=t.h),t.r=e,null==t.style&&(t.style=t.s),t._style=null==t.style?null:this.model.styles.add(t.style).id,t))):X(t)?[{label:t,r:0}]:null}populate(t){super.populate(t),this._width=null==t.w||"auto"==t.w?null:t.w,this._levelIndent=t.levelIndent,this._levelButtons=t.levelButtons,this._header=this.convertSourceHeader(t.header),this._sorting=t.sorting,this._filter=q(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?rw:!1===t.filter?{enabled:!1}:null,this._comparer=t.comparer,this.data=t.data,this._mergedHeaders=null,null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._width&&(t.w=this._width),null!=this._levelIndent&&(t.levelIndent=this._levelIndent),null!=this._levelButtons&&(t.levelButtons=this._levelButtons),null!=this._header&&(t.header=this._header),null!=this._sorting&&(t.sorting=this._sorting),null!=this._filter&&(t.filter=this._filter),null!=this.data&&(t.data=this.data),t}expand(t){super.expand(t),this.model.indexVisibleColumns()}collapse(){super.collapse(),this.model.indexVisibleColumns()}get prev(){return this.model.columns[this.index-1]}get next(){return this.model.columns[this.index+1]}get prevVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t||0===t?null:this.model.visibleColumns[t-1]}get nextVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t?null:this.model.visibleColumns[t+1]}calculateRealColspan(t){let e=1,i=this.nextVisible;for(;i&&i.index-this.index<t&&e<t;)++e,i=i.nextVisible;return e}cell(t){return this.model.rows[t].cell(this.index)}clearCalculatedValues(){this.model.rows.forEach((t=>{const e=t.cells[this.index];e&&this.model.calculations.refreshFormula(e)}))}}var aw;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(aw||(aw={}));const lw={g:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,t:(t,e)=>(t.value||"").toString().localeCompare((e.value||"").toString()),s:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,m:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,n:(t,e)=>t.value-e.value,d:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),tm:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),dt:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},cw={g:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,t:(t,e)=>(e.value||"").toString().localeCompare((t.value||"").toString()),s:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,m:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,n:(t,e)=>e.value-t.value,d:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),tm:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),dt:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},hw=(t,e)=>t.origIndex-e.origIndex;class dw{get settings(){return this._settings}set settings(t){this._settings=t,this.colMap.clear(),this.settings.length>0&&(this.settings.forEach(((t,e)=>this.colMap.set(t.c,e))),this.applySort(),hn().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=[]){this.model=t,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}sort(t,e=null,i=!1){let o=this.get(t);return o&&o.ord==aw.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=aw.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:aw.Asc},o&&(null!==e&&(o.ord=e),this.colMap.set(t,0),this.settings.unshift(o)),this.settings.length>this.model.options.maxSortingColumns&&this.settings.pop(),this.colMap.clear(),this.settings.forEach(((t,e)=>{t.index=e,this.colMap.set(t.c,e)})),i||(this.settings.length>0?this.applySort():this.resetSort()),o}applySort(){const t=this.model,e=this.settings.map((e=>{const i=t.columns[e.c];return i?i.comparer?e.ord==aw.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==aw.Asc?lw[i.type??"t"]:cw[i.type??"t"]:(hn().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,n,r;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(n=0;n<i;n++)if(r=this.settings[n].c,o=e[n](t.cell(r),s.cell(r)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(hw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class uw{get properties(){return this._properties}set properties(t){this._properties=t}constructor(t){t&&this.pupulate(t)}pupulate(t){this.author=t.author,this.text=t.text,this.date=t.date?new Date(t.date):null,this.data=t.data,this.readOnly=!!t.readOnly,this._properties=t.props}getSourceData(){const t={};return this._properties&&(t.props=this._properties),this.author&&(t.author=this.author),this.text&&(t.text=this.text),this.data&&(t.data=this.data),null!==this.readOnly&&(t.readOnly=this.readOnly),this.date&&(t.date=Ho("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class pw{constructor(t,e){this.model=t,this._commentMap=new Map,this.has=t=>this._commentMap.has(t),this.delete=t=>this._commentMap.delete(t),this.cleanCell=t=>{this.has(t)&&this._commentMap.set(t,this.get(t).filter((t=>(t.text??"").length>0||null!=t.data)))},this.get=t=>(this.has(t)||this._commentMap.set(t,[]),this._commentMap.get(t)),this.set=(t,e)=>{this._commentMap.set(t,e?.map((t=>t instanceof uw?t:new uw(t)))||[]),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new dv(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new uw(t))})),this._commentMap.forEach((t=>{t.sort(((t,e)=>(e.date?e.date.getTime():0)-(t.date?t.date.getTime():0)))}))}shift(t){Array.from(this._commentMap.keys()).forEach((e=>{const i=dv.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}class gw{get tokenizer(){return this._tokenizer}get dependencies(){return this._dependencies}get formulas(){return this._formulas}constructor(t){this.model=t,this._tokenizer=new lv,this._formulas=new Map,this._dependencies=new Cw(t),this.context=new Ny(t)}createFormula(t){const e=new Rv(t.formula,this.tokenizer);return this._formulas.set(t.address,e),t.hasOwnFormula&&(t.formula=e.createFormulaString()),this.createDependecies(t),e}createDependecies(t){const e=t.address;if(this.formulas.has(e)){const i=this.formulas.get(e);i.ranges.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.cells.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.variables.forEach((([i,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(e,n.address,null)}))}return this}refreshFormula(t){return t.refreshFormula(),this.formulas.delete(t.address),this.clearDependecies(t),this}updateDependencies(t){return this.clearDependecies(t).getFormula(t),this}getFormula(t){return this._formulas.has(t.address)?this._formulas.get(t.address):this.createFormula(t)}refresh(){this.dependencies.clear(),this._formulas.clear()}clearDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.formulas.delete(e),this}evaluateFormula(t,e){return this.context.currentCell=e,t.fn(this.context,{cell:e,formula:t})}evaluateExpression(t,e){this.context.currentCell=e;const i=new Rv(t,this.tokenizer);return i.fn(this.context,{cell:e,formula:i})}evaluate(t,e){if(!t)return null;let i=null;if(t.hasFormula){const o=this.getFormula(t);try{t.clearError(),this.context.currentCell=t,i=o.fn(this.context,{cell:t,formula:o}),Array.isArray(i)?(e||this.model.spillValues({cell:t,values:i}).range,i=i.length>0&&i[0].length>0?i[0][0]:null,e&&(t.value=i)):t.value=i}catch(e){t.error=function(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}(e)}}else i=t.value;return i}evaluateAll(){this.model.rows.forEach((t=>this.model.columns.forEach(((e,i)=>t.cell(i).evaluate()))))}calculateViewport(t){const e=[];return t.rows.forEach((t=>t.cells.forEach((t=>{if(t.hasFormula){if(!t.hasValue&&(this.evaluate(t),t.spillRange))for(const i of this.model.getRangeIterator(t.spillRange))e.push(i);e.push(t)}})))),e}shift(t){this.getFormulaCells().forEach((e=>{e.formula=this.getFormula(e).shift(t).createFormulaString(!1),this.updateDependencies(e)}));const e=this.model.name;return this.dependencies.sheetDependants.forEach((i=>{const o=this.model.getConnectedModel(i);o?.calculations.getFormulaCells().forEach((i=>{const n=o.calculations.getFormula(i);n.hasSheetReference(e)&&(i.formula=n.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,n=t.columns.length;for(let r=0;r<o;r++){i=t.rows[r];for(let t=0;t<n;t++)i.hasCellFormula(t)&&e.push(i.cell(t))}return e}renameSheet(t,e){let i=!1;return this.dependencies.renameSheet(t,e),this.getFormulaCells().forEach((o=>{const n=this.getFormula(o);n.renameSheet(t,e)&&(o.formula=n.createFormulaString(),this.refreshFormula(o),i=!0)})),i}invalidateCellDependants(t){const e=[];return this.dependencies.getDependants(t.range).forEach((([t,i])=>{e.push([t,i]),t.invalidateValue()})),e}invalidateDependants(t){const e=new Map,i=new Map;for(const i of t)this.invalidateCellDependants(i).forEach((([t,i])=>e.set(t,i)));e.forEach(((t,e)=>i.set(e,t)));for(const i of t)e.set(i,null);return e.forEach(((t,e)=>{this.model.sparklines.dependencies.getDependants(e.range).forEach((([t,e])=>{i.set(t,e)})),this.model.conditionalFormats.dependencies.getDependants(e.range).forEach((([t,e])=>{this.model.conditionalFormats.invalidateExtremes(t),t.invalidateStyle(),i.set(t,e)}))})),i}}const mw="#ff0000",fw="#fcd53f",vw="#00bb5e",bw="#555555",yw=new Map([["3Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","right"],color:fw},{icon:["fas","up"],color:vw}]],["3ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","right"],color:bw},{icon:["fas","up"],color:bw}]],["3Flags",[{icon:["fas","flag-pennant"],color:mw},{icon:["fas","flag-pennant"],color:fw},{icon:["fas","flag-pennant"],color:vw}]],["3TrafficLights1",[{icon:["fas","circle"],color:mw},{icon:["fas","circle"],color:fw},{icon:["fas","circle"],color:vw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:mw},{icon:["fas","square-o"],color:fw},{icon:["fas","square-o"],color:vw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:mw},{icon:["fas","triangle"],color:fw},{icon:["fas","circle"],color:vw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:mw},{icon:["fas","circle-exclamation"],color:fw},{icon:["fas","circle-check"],color:vw}]],["3Symbols2",[{icon:["fas","xmark"],color:mw},{icon:["fas","exclamation"],color:fw},{icon:["fas","check"],color:vw}]],["3Stars",[{icon:["fal","star"],color:fw},{icon:["fas","star-half-stroke"],color:fw},{icon:["fas","star"],color:fw}]],["3Triangles",[{icon:"caret-down",color:mw},{icon:"dash",color:fw},{icon:"caret-up",color:vw}]],["4Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:fw},{icon:["fas","up-right"],color:fw},{icon:["fas","up"],color:vw}]],["4ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","down-right"],color:bw},{icon:["fas","up-right"],color:bw},{icon:["fas","up"],color:bw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:mw}]],["4Rating",[{icon:"signal-bars-weak",color:"#4a7db1"},{icon:"signal-bars-fair",color:"#4a7db1"},{icon:"signal-bars-good",color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["4TrafficLights",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:mw},{icon:["fas","circle"],color:fw},{icon:["fas","circle"],color:vw}]],["5Arrows",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:fw},{icon:["fas","right"],color:fw},{icon:["fas","up-right"],color:fw},{icon:["fas","up"],color:vw}]],["5ArrowsGray",[{icon:["fas","down"],color:bw},{icon:["fas","down-right"],color:bw},{icon:["fas","right"],color:bw},{icon:["fas","up-right"],color:bw},{icon:["fas","up"],color:bw}]],["5Rating",[{icon:["fal","signal-bars"]},{icon:["fal","signal-bars-weak"],color:"#4a7db1"},{icon:["fal","signal-bars-fair"],color:"#4a7db1"},{icon:["fal","signal-bars-good"],color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["5Quarters",[{icon:["fal","circle"],color:"#505050"},{icon:["fas","circle-quarter-stroke"],color:"#505050"},{icon:["fas","circle-half-stroke"],color:"#505050"},{icon:["fas","circle-three-quarters-stroke"],color:"#505050"},{icon:["fas","circle"],color:"#505050"}]]]),ww=(t,e)=>{const i=yw.get(t);return i?i[e]:null};class xw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,this._dependencies=new Cw(t),e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){hn().error(`conditional format error: ${JSON.stringify(t)}`,e)}}))}refresh(){this.dependencies.clear(),this.cellFormatMap.clear(),this.extremes.clear(),this.formats.forEach((t=>this.initConditionalFormat(t)))}clearCellDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.cellFormatMap.get(e).forEach((t=>({cf:t.cf}))),this}getExtremes(t){if(!this.extremes.has(t.key)){let e=1/0,i=-1/0;t.ranges.forEach((t=>{for(const o of this.model.getValuesInRange(t))for(const t of o)null!=t&&(isNaN(t)||(e=Math.min(e,t),i=Math.max(i,t)))})),this.extremes.set(t.key,[e,i])}return this.extremes.get(t.key)}invalidateExtremes(t){this.cellFormatMap.get(t.address).forEach((t=>this.extremes.delete(t.cf.key)))}evaluateScaleFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;const s=(i-o)/(n-o);if(e.cf.cmid?.color)r=.5==s?"#"+e.cf.cmid.color:s>.5?xn("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):xn("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;r=xn("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:kn(r).substring(1),fgColor:r.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let n=o[0];const r=o[1],s=n<0;s||(n-=.1*(r-n));const a=Math.round(100*(i-n)/(r-n));e.initialized||(e.initialized=!0,e.cf.ranges.forEach((e=>this._dependencies.add(t.address,e.A1,null))));const l=[];if(s){const t=Math.round(-100*n/(r-n));i>=0?(l.push(`#00000000 ${t}%`),l.push(`#${e.cf.color} ${t}%`),l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`)):(l.push(`#00000000 ${a}%`),l.push(`#ff0000 ${a}%`),l.push(`#ff0000 ${t}%`),l.push(`#00000000 ${t}%`))}else l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`);return{cssStyle:{backgroundClip:"padding-box",backgroundImage:`linear-gradient(90deg, ${l.join(",")})`}}}evaluateFormulaFormat(t,e){if(!e.initialized&&e.cf.condition){e.initialized=!0;const i=t.address,o=new Rv(e.cf.condition,this.model.calculations.tokenizer);e.f=o.shift({index:0,offset:t.c-e.cf.firstCell.c1,direction:"right"}).shift({index:0,offset:t.r-e.cf.firstCell.r1,direction:"down"}),o.cells.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.ranges.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.variables.forEach((([e,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(i,n.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||Cn(kn(Mn(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==r&&(r=100*(i-o)/(n-o)),r>=s.v)return{icon:ww(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:ww(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,n=null;for(const e of i){try{switch(e.cf.type){case"formula":n=this.evaluateFormulaFormat(t,e);break;case"scale":n=this.evaluateScaleFormat(t,e);break;case"bar":n=this.evaluateBarFormat(t,e);break;case"icon":n=this.evaluateIconFormat(t,e);break;default:n=null}}catch(t){hn().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(n&&(o=o?{...o,...n}:n,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new Tw(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new Rv(t.condition,this.model.calculations.tokenizer):null)),(this.cellFormatMap.get(e)||this.cellFormatMap.set(e,[]).get(e)).push({cf:t})}})),t}add(t){const e={key:t.ranges,ranges:dv.fromA1s(t.ranges),type:t.type||"formula",firstCell:null,formula:null,style:t.style?this.model.styles.add(t.style):null,condition:t.condition,stop:!!t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh};this.formats.push(this.initConditionalFormat(e))}getSourceData(){return this.formats.map((t=>({type:t.type,ranges:dv.toA1s(t.ranges),style:t.style,condition:t.condition,stop:t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh})))}}function kw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class Cw{get cellDependencies(){return this._cellDependencies}get cellDependants(){return this._cellDependants}get rangeDependencies(){return this._rangeDependencies}get rangeDependants(){return this._rangeDependants}get sheetDependencies(){return this._sheetDependencies}get sheetDependants(){return this._sheetDependants}constructor(t){this.model=t,this._cellDependencies=new Map,this._cellDependants=new Map,this._rangeDependencies=new Map,this._rangeDependants=new Map,this._sheetDependencies=new Map,this._sheetDependants=new Map}clear(){this._cellDependants.clear(),this._cellDependencies.clear(),this._rangeDependencies.clear(),this._rangeDependants.clear()}clearCellDependecies(t){return this._cellDependencies.has(t)&&this._cellDependencies.delete(t),this._rangeDependencies.has(t)&&this._rangeDependants.delete(t),this}has(t){return this._cellDependencies.has(t)||this._rangeDependencies.has(t)}add(t,e,i){const o=dv.fromA1(t).removeAnchors(),n=dv.fromA1(e).removeAnchors();e=n.A1;const r=n.isRange,s=r?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[n,i]),i){const t=this.model.getConnectedModel(i);t&&(t.calculations.dependencies.sheetDependants.set(this.model.name,this.model.name),this.sheetDependencies.set(i,i),a=r?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=r?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){const i=t.A1;return e=e??new Map,this._cellDependants.has(i)&&this._cellDependants.get(i).forEach((([t,o])=>{if(e.has(t))return;const n=e.set(t,[(o?this.model.getConnectedModel(o):this.model).getCellByRange(t),o]);t.A1!=i&&this.getDependants(t,n)})),this._rangeDependants.forEach(((i,o)=>{dv.fromA1(o).contains(t)&&i.forEach((([t,i])=>{e.has(t)||(e.delete(t),this.getDependants(t,e.set(t,[(i?this.model.getConnectedModel(i):this.model).getCellByRange(t),i])))}))})),e}renameSheet(t,e){this._sheetDependants.has(t)&&(this._sheetDependants.delete(t),this._sheetDependants.set(e,e)),this._sheetDependencies.has(t)&&(this._sheetDependencies.delete(t),this._sheetDependencies.set(e,e)),kw(this._cellDependants,t,e),kw(this._cellDependencies,t,e),kw(this._rangeDependants,t,e),kw(this._rangeDependencies,t,e)}}const Mw=(t,e)=>{const i=new RegExp(`${dt(t)}`,"ig");return t=>(i.lastIndex=0,i.test(lt((t[e]??"").toString())))},_w=(t,e)=>i=>!!i[e]===t,Sw=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},Ew=(t,e)=>t=>!1,zw=(t,e,i)=>(i=i??"value","b"===t?_w(e,i):"s"===t&&Array.isArray(e)?Sw(e,"value"):"s"===t?Mw(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?Ew(e,i):Mw(e?.toString(),"d"===t?"formattedValue":i));class Rw extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class Lw extends EventTarget{constructor(t){super(),this.model=t,this.settings=new Map,this.custom=!1}get(t){return this.settings.has(t)?this.settings.get(t):null}filter(t,e=!0){null===t.term||""===t.term?this.settings.delete(t.c):this.settings.set(t.c,t),this.custom||(this.settings.size>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new Rw)}applyFilter(t=!0){const e=[];this.settings.forEach(((t,i)=>{const o=this.model.columns[i];e.push({c:i,matcher:zw(o.type,t.term,o.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,n=this.model.options.filters?.includeChildren??!0,r=new Set;this.model.rows.forEach((t=>{const s=r.has(t.index);(t=>{if(!t.filterable)return!0;for(let o=0;o<i;o++)if(!e[o].matcher(t.cell(e[o].c)))return!1;return!0})(t)?(t.filterState=dn.Matched,o&&t.walkUp((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=dn.ChildMatched,r.add(t.index)})),n&&t.walk((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=dn.ParentMatched,r.add(t.index)}))):s||(t.filterState=dn.Filtered),r.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new Rw)}resetFilter(t=!0){this.settings.clear(),this.model.rows.forEach((t=>t.filterState=dn.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new Rw)}}class Iw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this._dependencies=new Cw(t),this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(dv.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[dv.fromA1(t)])):t.data.split(",").map((t=>[dv.fromA1(t)])),it({},Wf.DEFAULT_SPARKLINE_OPTIONS,t.options))}catch(e){this.model.logger.error(`sparkline error: ${JSON.stringify(t)}`,e)}}))}getSourceData(){const t=[];return this.groups.forEach((e=>{t.push({location:e.locRange.A1,data:e.dataRanges.map((t=>t[0].A1)).join(","),options:{minValue:e.minValue,maxValue:e.maxValue,type:e.type,style:e.style,marker:e.marker}})})),t}has(t){return this.map.has(t)}get(t){return this.map.get(t)}createDependencies(t){this.map.get(t)[1].forEach((e=>this._dependencies.add(t,e[0].A1,e[1])))}updateRangeMaps(){this.dependencies.clear(),this.map.clear(),this.groups.forEach(((t,e)=>this.createRangeMap(e,t.locRange,t.dataRanges)))}getValues(t){this.updateRangeMap&&this.updateRangeMaps();const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model;return this._dependencies.has(t)||this.createDependencies(t),e[1].flatMap((t=>i.getValuesInRange(t[0])[0]))}getExtremes(t){const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model,o=this.groups.get(e[0]);let n,r,s,a;return null==o.minValue||X(o.minValue)?"auto"==(o.minValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),s=n[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),s=r[0]):s=o.minValue,null==o.maxValue||X(o.maxValue)?"auto"==(o.maxValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),a=n[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),a=r[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,n=e.size;if(n.columns>1&&n.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let r=!1;if(r=1==n.columns&&1==n.rows?o.rows>1:n.columns>1,r)for(let o=e.c1;o<=e.c2;o++)this.map.set(new dv(o,e.r1).A1,[t,i.map((([t,i])=>[new dv(t.c1+o-e.c1,t.r1,t.c1+o-e.c1,t.r2),i]))]);else for(let o=e.r1;o<=e.r2;o++)this.map.set(new dv(e.c1,o).A1,[t,i.map((([t,i])=>[new dv(t.c1,t.r1+o-e.r1,t.c2,t.r1+o-e.r1),i]))])}add(t,e,i){const o=++this.maxIndex;t&&e&&this.createRangeMap(o,t,e),this.groups.set(o,Object.assign({dataRanges:e,locRange:t},JSON.parse(JSON.stringify(Wf.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const n=this.groups.get(t);Object.assign(n,{dataRanges:i,locRange:e},o),this.updateRangeMap=!0}delete(t){this.groups.delete(t),this.updateRangeMap=!0}shift(t){this.groups.forEach((e=>{e.dataRanges.forEach((([e])=>e.shift(t))),e.locRange.shift(t)})),this.updateRangeMaps()}}class Hw extends dv{constructor(t,e,i=!1){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.initializedOnly=i,this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}nextInitialized(){let t;for(;!this.done&&!t;)this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),t=this.model.rows[this.r].cells[this.c],this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;return t}next(){if(this.done)return{done:!0};this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;const t=this.model.rows[this.r+this.r1],e=this.c+this.c1,i=this.initializedOnly&&!t.isCellInitialized(e)?this.nextInitialized():t?.cell(e);return i?{done:!1,value:i}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Tw extends dv{constructor(t){super(t.c1,t.r1,t.c2,t.r2),this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}next(){return this.done?{done:!0}:(this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c==this.size.columns-1&&this.r==this.size.rows-1,{done:!1,value:new dv(this.c+this.c1,this.r+this.r1)})}}class Aw{constructor(t,e){this.model=t,this.names=new Map,this.rangeMap=new Map,e&&this.populate(e)}populate(t){t.forEach((({name:t,ref:e})=>this.set(t,q(e)?dv.fromCoords(e):dv.fromA1(e))))}set(t,e){this.names.set(t,e),this.rangeMap.set(e.A1,t)}delete(t){const e=this.names.get(t);e&&(this.rangeMap.delete(e.A1),this.names.delete(t))}findCellByName(t){let e;const i=this.model.rows,o=this.model.columns.length;for(let n=0;n<i.length;n++){e=i[n];for(let i=0;i<o;i++)if(e.hasCellName(i)){const o=e.cell(i);if(o.name==t)return o.range}}return null}getCellByName(t,e){const i=this.names.get(t)??this.findCellByName(t);return i?i.isColumn?this.model.rows.length>e.r1?this.model.columns[i.c1].cell(e.r1):null:i.isRow?this.model.columns.length>e.c1?this.model.rows[i.r1].cell(e.c1):null:this.model.rows[i.r1].cell(i.c1):null}getRangeByName(t,e=!0){const i=this.names.get(t);return e?i?.intersect(this.model.gridRange):i}shift(t){this.names.forEach(((e,i)=>{const o=e.A1;e.shift(t);const n=e.A1;o!=n&&(this.rangeMap.delete(o),this.rangeMap.set(n,i))}))}}function Ow(t,e=null){const i=it({},Wf.DEFAULT_OPTIONS,e,Nn(t,e));return i.numberFormat?i.numberFormatter=Zo(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=Zo(i.formatLocale)),i.dateFormat?i.dateFormatter=Ho(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ho(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},Bf,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},Ff,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},Ff,i.columnTree),i.cellValidation&&(i.cellValidation=By(i.cellValidation)),i}class $w extends(pn(Wy)){get cells(){return this._cells}get data(){return this._data}set data(t){this._data=t}get height(){return this._height??this.model.options.rowHeight}set height(t){this._height=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return uv(this.index)}get range(){return new dv(null,this.index,null,this.index)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t,this.model.columns.forEach((t=>this.cell(t.index).refreshFormula()))}get values(){return this.model.columns.map((t=>this.cell(t.index).value))}cell(t,e){if(this.model.options.singleCellModel)return this._singleCell||(this._singleCell=new nw(this.model,{c:t,r:this.index})),this._singleCell.row=this,this._singleCell.column=this.model.columns[t],this._singleCell;let i=this._cells[t];if((e||!i)&&this.model.columns[t]){if(i=new nw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;null!=e&&(q(this._data[e])?i.populate(this._data[e]):i.hasValue||(i.value=this._data[e]))}i.name&&this.model.names.set(i.name,i.range),this._cells[t]=i}return i}constructor(t,e){super(t,e),this.isCellInitialized=t=>!!this.cells[t],this._cells=[],null==this._priority&&(this._priority=t.options.rowPriority)}populate(t){super.populate(t),this._height=null==t.h||"auto"==t.h?this.model.options.rowHeight:t.h,t.data&&(Array.isArray(t.data)?this._data=[...t.data]:this._data={...t.data}),null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._height&&this._height!=this.model.options.rowHeight&&(t.h=this._height),t}expand(t){super.expand(t),this.model.indexVisibleRows()}collapse(){super.collapse(),this.model.indexVisibleRows()}get prev(){return this.model.rows[this.index-1]}get next(){return this.model.rows[this.index+1]}get prevVisible(){let t=this.prev;for(;t&&!t.visible;)t=t.prev;return t}get nextVisible(){let t=this.next;for(;t&&!t.visible;)t=t.next;return t}hasCellFormula(t){return this.cells[t]&&this.cells[t].hasFormula||this._data&&this._data[this.model.columns[t].data]&&this._data[this.model.columns[t].data].f}hasCellName(t){return this.cells[t]&&null!=this.cells[t].name||this._data&&this._data[this.model.columns[t].data]&&null!=this._data[this.model.columns[t].data].name}insertColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"right"}).createFormulaString(!1));t<this.cells.length&&this.cells.splice(t,0,...Array(e).fill(null))}deleteColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"left"}).createFormulaString(!1));return t<this.cells.length?this.cells.splice(t,e):null}clearCalculatedValues(){this.cells.forEach((t=>t&&this.model.calculations.refreshFormula(t)))}}var Dw=i(4418),Nw=i.n(Dw);const Pw=t=>t?"1":"0",jw=t=>null==t?"_":t,Vw=t=>null==t?"_":t.toString(),Bw=t=>null==t?"_":JSON.stringify(t),Fw=t=>jw(t&&t.color?t.color:"_")+jw(t&&t.style?t.style:"_"),Ww=t=>jw(t?t.horizontal:null)+jw(t?t.vertical:null)+jw(t?t.horizontal:null)+Vw(t?t.indent:null)+Pw(t?t.wrapText:null)+Vw(t?t.textRotation:null),Uw=t=>Nw()("s_"+Pw(t.bold)+Pw(t.italic)+Pw(t.underline)+Vw(t.sz)+jw(t.font)+jw(t.color)+Fw(t.top)+Fw(t.right)+Fw(t.bottom)+Fw(t.left)+jw(t.patternType)+jw(t.fgColor)+jw(t.bgColor)+Ww(t.alignment)+Vw(t.angle)+Bw(t.stops)+Pw(t.hidden)+Pw(t.editable)+Bw(t.cssStyle)+Bw(t.icon));function Gw(t){const e={...t};return delete e.id,delete e.hash,e}class Yw{constructor(t){this.model=t,this._count=0,this.hashmap=new Map,this.map=new Map}add(t){if(!isNaN(t))return this.get(t);const e=this.model.options.cssStyles?ew(t):t,i=e.hash?e.hash:Uw(e);return this.hashmap.has(i)?this.map.get(this.hashmap.get(i)):(null==e.id&&(e.id=this._count),this._count=Math.max(e.id+1,this._count+1),e.hash=i,this.hashmap.set(i,e.id),this.map.set(e.id,e),e)}populate(t){t.forEach((t=>this.add(t)))}get(t){return this.map.has(t)?this.map.get(t):null}remove(t){const e="object"==typeof t?t:this.map.get(t);this.hashmap.delete(e.hash),this.map.delete(e.id)}merge(...t){const e=Object.assign({},...t.map((t=>q(t)?t:this.get(t))));return this.add(Gw(e))}duplicate(t,e){const i=this.get(t);return this.add(Gw({...i,...e}))}set(t,e){let i=this.map.has(t)?this.map.get(t):{};for(const t in e)i[t]=e[t];return i=i.id?i:this.add(i),i}unset(t,e){if(this.map.has(t)){const i=this.map.get(t);for(const t of e)delete i[t]}}getSourceData(){return Array.from(this.map.values())}clean(){const t=new Map(Array.from(this.map.entries()).map((([t])=>[t,0])));this.model.columns.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)})),this.model.rows.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1),e.cells.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)}))})),t.forEach(((t,e)=>{0==t&&this.remove(e)}))}}function qw(t,e,i,o){const n=o??("rows"==i?e.rows:e.columns),r=function(t){const e=new Map;for(const i of t)e.has(i.level)||e.set(i.level,[]),e.get(i.level).push(i);return e}(n),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[n[t.index]]:t.level>-1?r.get(t.level):n,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(dt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{t.type?e.conditionalFormats.add(Object.assign({ranges:`${o.address}:${o.address}`},t)):(o.style=e.styles.add(t.style).id,"rows"==i&&null!=t.height?o.height=t.height:"columns"==i&&null!=t.width&&(o.width=t.width))}))}}function Zw(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function Xw(t,e,i){const o=t.cells??[];for(const t of o)if(t.conditions?.length){const o=e.getRangeIterator(i??e.gridRange);for(const i of o)Zw(t.conditions,i)&&(i.style=e.styles.add(t.style).id)}else if(t.type)e.conditionalFormats.add(Object.assign({ranges:"A:"+e.columns[e.columns.length-1].address},t));else for(const i of e.columns)null==i.style&&(i.style=e.styles.add(t.style).id)}function Qw(t,e,i){qw(t,e,"columns",i)}function Kw(t,e,i){qw(t,e,"rows",i)}function Jw(t,e){Xw(t,e),Qw(t,e),Kw(t,e)}const tx=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class ex{get comments(){return this._comments}get calculations(){return this._calculations}get names(){return this._names}get sorting(){return this._sorting}get sparklines(){return this._sparklines}get conditionalFormats(){return this._conditionalFormats}get mergedHeaders(){return this._mergedHeaders}get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}get hasFilter(){return this._filter}get hasRowTree(){return this._maxRowLevel>0}get hasRowTreeEnabled(){return this.hasRowTree&&this.options.rowTree.enabled}get maxRowLevel(){return this._maxRowLevel}get hasColumnTree(){return this._maxColumnLevel>0}get hasColumnTreeEnabled(){return this.hasColumnTree&&this.options.columnTree.enabled}get maxColumnLevel(){return this._maxColumnLevel}get headerCount(){return this._headerCount}get columnHeaderCount(){return this.headerCount+(this.hasColumnTreeEnabled?1:0)+(this.hasFilter?1:0)}get properties(){return this._properties}set properties(t){this._properties=t}get theme(){return this._theme}set theme(t){this._theme=t}constructor(t,e,i){this.otherModels={},this.autofitColumns=new Set,this.autofitRows=new Set,this.styles=new Yw(this),this._comments=new pw(this),this._calculations=new gw(this),this._names=new Aw(this),this._sorting=new dw(this),this._sparklines=new Iw(this),this._conditionalFormats=new xw(this),this._hiddenCells=new Map,this._filter=!1,this._maxRowLevel=0,this._maxColumnLevel=0,this._headerCount=0,this._levelBasedRowTree=!0,this._levelBasedColTree=!0,this.clearRows=()=>(this.rowRoot.clearChildren(),this.rows=[],this.rows),this.clearColumns=()=>this.columns=[],this.logger=i,this.options=e??Ow(t.options),this.populate(t)}getConnectedModel(t){return this.group?this.group.get(t):null}getModelByRange(t){return t.sheet?this.getConnectedModel(t.sheet):this}getCellByA1(t){return this.getCellByRange(dv.fromA1(t))}getCellByRange(t){return this.getCellByCoords(t.r1,t.c1)}getCellByCoords(t,e){return this.rows[t].cell(e)}cell(t,e){return isNaN(t)?t instanceof dv?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new $w(this,{l:-1}),i=0){let o=!1,n=!1;this.autofitRows.clear();const r=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(n=!0),"auto"==t.h&&this.autofitRows.add(e);const r=new $w(this,t);return r.origIndex=e+i,r.name&&this.names.set(r.name,dv.fullRow(e)),r}));let s=-1;return o?s=gn(r,e,{reverse:this.options.rowTree.reversed}):n?s=mn(r,e):e.children=r,[e,r,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new $w(this,{l:t.level}),e);if(this._maxRowLevel=Math.max(this._maxRowLevel,o[2]),t.insertChildren(o[0].children,e),this.indexRowsByTree(),this.theme){const t=o[1];Kw(this.theme,this,t),Xw(this.theme,this,new dv(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Jw(t,this)}populate(t){this.index=t.index,this.name=t.name??this.name,this.tab=t.tab;let e=!1,i=!1;if(t.columns||(t.columns=new Array(this.options.columns).fill({})),t.rows||(t.rows=new Array(this.options.rows).fill({})),t.styles&&this.styles.populate(t.styles),this.autofitColumns.clear(),this.columns=t.columns.map(((t,o)=>{t||(t={}),t.l>0&&(e=!0),null!=t.p&&(i=!0),"auto"==t.w&&this.autofitColumns.add(o);const n=new sw(this,t);return this._filter=n.hasFilter||this._filter,n.name&&this.names.set(n.name,dv.fullColumn(o)),n})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new sw(this,{l:-1}),e?this._maxColumnLevel=gn(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=mn(this.columns,this.colRoot):this.colRoot.children=this.columns,this.indexColumns(),this.indexVisibleColumns(),[this.rowRoot,this.rows,this._maxRowLevel,this._levelBasedRowTree]=this.createRows(t.rows),this.indexRows(),this.indexVisibleRows(),this.options.pageSize&&this.options.pageSize<=this.rows.length&&(this.rowRoot.count=1/0),this._mergedCells=[],t.comments=t.comments||[],t.cells?.forEach(((e,i)=>{const o=this.rows[e.r]?this.rows[e.r].cell(e.c,e):null;o?(o.colspan>1||o.rowspan>1)&&this._mergedCells.push({r:o.r,c:o.c,rs:o.rowspan,cs:o.colspan}):this.logger?.error(`invalid cell definition (index ${i}): ${JSON.stringify(e)}`),o&&e.comment&&t.comments.push(Object.assign(e.comment,{c:e.c,r:e.r}))})),this.indexHiddenCells(),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){hn().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){hn().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){hn().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){hn().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){hn().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(tx),n=Object.keys(t).filter((t=>!o.has(t)));n.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.calcHeaderHeights()}getSourceData(){const t={index:this.index,name:this.name,tab:this.tab,columns:this.columns.map((t=>t.getSourceData())),rows:this.rows.map((t=>t.getSourceData())),styles:this.styles.getSourceData(),rules:this.conditionalFormats.getSourceData(),sparklines:this.sparklines.getSourceData(),options:this.options};this._properties&&(t.props=this._properties);const e=[];let i;for(let t=0;t<this.rows.length;t++)for(let o=0;o<this.columns.length;o++)i=this.rows[t].cell(o).getSourceData(),Object.keys(i).length>0&&(i.r=t,i.c=o,e.push(i));e.length>0&&(t.cells=e);const o=[];return this.styles.clean(),this.styles.map.forEach((t=>o.push(t))),o.length>0&&(t.styles=o),new Set([...Object.keys(this.otherModels??{}),...Object.keys(this.otherSourceData??{})]).forEach((e=>t[e]=this.otherModels[e]?Array.from(this.otherModels[e]).map((t=>t.getSourceData())):this.otherSourceData[e])),t}calcHeaderHeights(){this._headerCount=0,this._headerHeights=[],this.columns.forEach((t=>{this._headerCount=t.header?t.header.length:this._headerCount,this._headerHeights.length<this._headerCount&&this._headerHeights.push(...Array(this._headerCount-this._headerHeights.length).fill(0)),t.header?.forEach(((t,e)=>{e>=this._headerHeights.length&&this._headerHeights.push(0),this._headerHeights[e]=Math.max(this._headerHeights[e],t.height??0)}))}))}indexRows(){this.visibleRows=[],this.rows.forEach(((t,e)=>{t.index=e,t.isLoaded||(t.collapsed=!0),t.hidden||t.filterState==dn.Filtered||this.visibleRows.push(t)}))}indexVisibleRows(){this.visibleRows=[];let t=0;if(this._levelBasedRowTree){if(this.rowRoot.walkVisible((e=>{e.visibleIndex=t++,this.visibleRows.push(e)})),this.options.rowTree.reversed){const e=new Array(this.visibleRows.length);this.visibleRows.forEach(((i,o)=>{t=this.visibleRows.length-o-1,i.visibleIndex=t,e[t]=i})),this.visibleRows=e}}else this.rowRoot.walkVisible((t=>this.visibleRows[t.index]=t)),this.visibleRows=this.visibleRows.filter((e=>!!e&&(e.visibleIndex=t++,!0)))}indexRowsByTree(){this.rows=[];let t=0;this.rowRoot.walk((e=>{e.index=t++,this.rows.push(e)})),this.options.rowTree.reversed&&this.rows.reverse(),this.indexVisibleRows()}indexColumns(){this.visibleColumns=[],this.columns.forEach(((t,e)=>{t.index=e,t.hidden||this.visibleColumns.push(t)}))}indexVisibleColumns(){this.visibleColumns=[],this.visibleColumnIndex={};let t=0;if(this.colRoot.walkVisible((e=>{e.visibleIndex=t,this.visibleColumnIndex[e.index]=t++,this.visibleColumns.push(e)})),this.options.columnTree.reversed){this.visibleColumnIndex={};const e=new Array(this.visibleColumns.length);this.visibleColumns.forEach(((i,o)=>{t=this.visibleColumns.length-o-1,i.visibleIndex=t,this.visibleColumnIndex[i.index]=t,e[t]=i})),this.visibleColumns=e}this.indexHeaders()}indexHeaders(){this._mergedHeaders=[],this._headerCount=0,this.colRoot.walkVisible((t=>{this._headerCount=Math.max(t.header?t.header.length:0,this._headerCount),t.mergedHeaders.forEach((e=>this._mergedHeaders.push({h:e,c:t.index,r:e.r,cs:t.calculateRealColspan(e.cs??1),rs:e.rs??1})))})),this._mergedHeaders.forEach((t=>{if(!t.h.hidden)for(let e=t.c;e<t.c+t.cs;e++)for(let i=t.r;i<t.r+t.rs;i++)(i>t.r||e>t.c)&&this.columns[e]&&this.columns[e].header[i]&&(this.columns[e].header[i].hidden=!0)})),this.calcHeaderHeights()}removeHeader(t){this.columns.forEach((e=>{t<e.header.length&&e.header.splice(t,1)})),this.indexHeaders()}clear(){this.clearRows(),this.clearColumns(),this.resetViewport()}resetViewport(){return this._viewport=null,this}getViewport(t,e,i){const o=[],n=[];let r,s,a=e.h,l=0;for(l=0;l<i.t;l++)r=this.visibleRows[l],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)r=this.visibleRows[l],a-=r.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)r=this.visibleRows[l++],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)o.push(this.visibleRows[l]);let c=e.w,h=0;for(h=0;h<i.l;h++)s=this.visibleColumns[h],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)s=this.visibleColumns[h],c-=s.width;for(h=i.l+t.c;c>0&&h<this.visibleColumns.length;)s=this.visibleColumns[h++],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)n.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:n}}calculateViewport(){return this._viewport?this.calculations.calculateViewport(this._viewport):[]}getValuesInRange(t,e=!1){if(!(t=t.intersect(this.gridRange)))return[];const{columns:i,rows:o}=t.size,n=new Array(o);let r,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){n[s]=new Array(i),a=0,r=this.rows[o];for(let i=t.c1;i<=t.c2;i++)n[s][a++]=e?r.cell(i).formattedValue:r.cell(i).value;++s}return n}setRowExpandLevel(t){this.rows.forEach((e=>{e.collapsed=!e.isLoaded&&!e.isPartialyLoaded||e.level>=t,e.level<=t&&(e.hidden=!1)})),this.indexVisibleRows()}setColumnExpandLevel(t){this.columns.forEach((e=>e.collapsed=e.level>=t)),this.indexVisibleColumns()}getViewportRange(){return this._viewport?new dv(this._viewport.columns[0].index,this._viewport.rows[0].index,this._viewport.columns[this._viewport.columns.length-1].index,this._viewport.rows[this._viewport.rows.length-1].index):null}get gridRange(){return new dv(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){return new Hw(this,e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange))}getInitializedCellIterator(){return new Hw(this,this.gridRange,!0)}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,n;const r=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){n=[];for(let r=t.c1;r<=t.c2;r++)o=i.cell(r),o&&n.push(e(o));r.push(n)}return r}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shiftMerges(t){const{index:e,offset:i,direction:o}=t,n={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs-=i)}};this.mergedCells.forEach(n[o]),this.indexHiddenCells()}indexHiddenCells(){this._hiddenCells.clear(),this.mergedCells.forEach((t=>{if(!(t.r>0||this._hiddenCells.has(t.r)&&this._hiddenCells.get(t.r).has(t.c)))for(let e=t.r;e<t.r+t.rs;e++)for(let i=t.c;i<t.c+t.cs;i++)(e>t.r||i>t.c)&&(this._hiddenCells.has(e)||this._hiddenCells.set(e,new Map),this._hiddenCells.get(e).set(i,t))}))}shift(t){t.sheet=this.name,this.shiftMerges(t),this.calculations.shift(t),this.names.shift(t),this.comments.shift(t),this.sparklines.shift(t)}clearCalculations(t=!1){t&&this.group?this.group.models.forEach((t=>t.calculations.refresh())):this.calculations.refresh()}refreshSparklines(){this.sparklines.updateRangeMaps();for(const t of this.getInitializedCellIterator())t.invalidateStyle()}clearCalculatedStyles(){this.conditionalFormats.refresh();const t=[];for(const e of this.getInitializedCellIterator())t.push(e),e.invalidateStyle()}insertColumns(t,e,i=!1){const o=this.columns[Math.min(this.columns.length-1,t)].parent;i&&++t,this.shift({index:t,offset:e,direction:"right"});for(let i=0;i<this.rows.length;i++)this.rows[i].insertColumns(t,e,!1);const n=new Array(e).fill(null).map((()=>new sw(this)));return this.columns.splice(t,0,...n),this.maxColumnLevel>0&&o.insertChildren(n,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),n}deleteColumns(t,e){const i=this.columns[t].parent;this.shift({index:t,offset:e,direction:"left"});const o=[];for(let i=0;i<this.rows.length;i++)o.push(this.rows[i].deleteColumns(t,e,!1));const n=this.columns.splice(t,e);return i?.deleteChildren(n),this.indexColumns(),this.clearCalculations(!0),n}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),n=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const r=isNaN(e)?e.length:e;this.shift({index:t,offset:r,direction:"down"});const s=isNaN(e)?e:new Array(r).fill(null).map((()=>new $w(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&n.insertChildren(s,t-(n.index||-1)-1),this.indexRows(),this.theme&&(Kw(this.theme,this,s),Xw(this.theme,this,new dv(0,s[0].index,1/0,s[s.length-1].index))),this.clearCalculations(!0),s}deleteRows(t,e){const i=this.rows[t].parent;this.shift({index:t,offset:e,direction:"up"});const o=this.rows.splice(t,e);return i?.deleteChildren(o),this.indexRows(),this.clearCalculations(!0),o}moveRows(t,e,i){const o=this.rows.splice(t,e);return this.rows.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"down",maxIndex:t+e-1}),this.indexRows(),this.clearCalculations(!0),o}moveColumns(t,e,i){const o=this.columns.splice(t,e);return this.columns.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"right",maxIndex:t+e-1}),this.indexColumns(),this.clearCalculations(!0),o}spillValues(t){const{cell:e,values:i,displayValues:o,propertyCell:n}=t,r=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new dv(e.c,e.r,e.c+i[0].length-1,e.r+i.length-1);if(e.spillRange&&this.getRangeIterator(e.spillRange,!0).forEach((t=>{e==t||h?.contains(t.range)||t.clearSpilledValue()})),e.spillRange=h,a)return{cells:r,oldValues:s,range:null};for(let t=h.r1;t<=h.r2;t++){if(l=this.rows[t],!l)continue;const a=t-h.r1;for(let t=h.c1;t<=h.c2;t++){const d=t-h.c1;c=l.cell(t),c.editable&&(s.push(c.value2),c.spillValue(i[a][d],e),n&&(c.format=n.format,c.type=n.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),r.push(c))}}return{cells:r,oldValues:s,range:h}}getCellByName(t,e,i=!0){return this.names.getCellByName(t,e)||(this.group&&i?this.group.getCellByName(t,e):null)}getRangeByName(t,e=!0){return this.names.getRangeByName(t)||(this.group&&e?this.group.getRangeByName(t):null)}getValueMatrixByName(t,e=!0){const i=this.names.getRangeByName(t);return i?this.getValueMatrix(i):this.group&&e?this.group.getValueMatrixByName(t):null}rebuildRowTree(){const t=this._levelBasedRowTree?gn:mn;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?gn:mn;this._maxColumnLevel=t(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}),this.indexColumns()}calculateCellOffset(t){let e=0,i=0;for(let i=0;i<t.c1&&this.columns[i];i++)e+=this.columns[i].width;for(let e=0;e<t.r1&&this.rows[e];e++)i+=this.rows[e].height;return{x:e,y:i}}}class ix{get errors(){return this._errors}get(t){return this.models.get(t)}has(t){return this.models.has(t)}getNewName(){let t;do{t=`sheet${this._max}`}while(this.models.has(t));return t}add(t){if(t.index=t.index??this._max,++this._max,t.name=t.name||this.getNewName(),this.models.has(t.name))throw Error(`sheet "${t.name}" already exists`);return this.models.set(t.name,t),t.group=this,t}duplicate(t){const e=this.get(t);if(!e)return;const i=new ex(e.getSourceData(),e.options);let o=1;for(;this.models.has(`${t}_${o}`);)++o;return i.name=`${t}_${o}`,this.add(i),i}remove(t){return this.models.delete(t),this}rename(t,e){if(this.has(t)){if(this.has(e))throw new Error(`Model '${e}' already exists`);const i=this.get(t);i.name=e,this.models.set(e,i),this.models.delete(t),this.models.forEach((i=>{i.calculations.renameSheet(t,e)&&i.calculateViewport()}))}return this}clear(){this.models.clear(),this._errors=[]}constructor(t){this._max=0,this.models=new Map,this.themes=new Map,this._errors=[],t&&this.populate(t)}populate(t){this.clear(),t.models.forEach((t=>{const e=new ex(t);try{this.add(e)}catch(t){this.errors.push(t)}})),t.themes&&t.themes.forEach((t=>this.themes.set(t.name,t)))}getSourceData(){const t={models:[]};return this.models.forEach((e=>t.models.push(e.getSourceData()))),t}getCellByName(t,e){for(const i of this.models.values()){const o=i.getCellByName(t,e,!1);if(o)return o}return null}getRangeByName(t){for(const e of this.models.values()){const i=e.getRangeByName(t,!1);if(i)return i}return null}getValueMatrixByName(t){for(const e of this.models.values()){const i=e.getValueMatrixByName(t,!1);if(i)return i}return null}}class ox{constructor(t){this.model=t,this.stack=[],this.restack=[]}push(t){return this.restack=[],t.timestamp||(t.timestamp=Date.now()),this.stack.push(t),this}pop(t=1){let e=0;const i=[];for(;e++<t&&this.stack.length>0;){const t=this.stack.pop();i.push(t),this.restack.push(t)}return i}pop2(t=1){let e=0;const i=[];for(;e++<t&&this.restack.length>0;){const t=this.restack.pop();i.push(t),this.stack.push(t)}return i}}class nx{get activeCellCoords(){return{c:this.range.c1+this.activeCell.c1,r:this.range.r1+this.activeCell.r1}}constructor(t,e,i,o){this.hidden=!1,this.range=new dv(t,e,i,o),this.activeCell=new dv(0,0)}static fromRange(t){return new nx(t.c1,t.r1,t.c2,t.r2)}setCoords(t,e,i,o){this.range.setCoords(t,e,i,o),this.activeCell.setCoords(0,0)}setRange(t){"string"==typeof t&&(t=dv.fromA1(t)),this.range.setCoords(t.c1,t.r1,t.c2,t.r2),this.activeCell.setCoords(0,0)}move(t,e,i,o){this.range.setCoords(this.range.c1+this.activeCell.c1,this.range.r1+this.activeCell.r1,this.range.c1+this.activeCell.c2,this.range.r1+this.activeCell.r2),this.range.move(t,e,i,o,!1),this.activeCell.setCoords(0,0)}moveRange(t,e,i,o){this.range.move(t,e,i,o,!0)}moveActiveCell(t,e){const{columns:i,rows:o}=this.range.size;this.activeCell.move(t,e,i,o,!0)}}const rx={...Wf,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class sx{constructor(t,e,i=rx.MAX_CACHE_ITEMS){this.maxCacheItems=i,this.queue=[],this.disabled=!1,this.table=new Array(e).fill(null).map((()=>new Array(t)))}get(t,e){return this.table[e][t]}delete(t,e){return this.table[e][t]=null,this}deleteColumn(t){for(let e=0;e<this.table.length;e++)this.table[e][t]=null;return this}deleteRow(t){return this.table[t]=new Array(this.table[0].length).fill(null),this}set(t,e,i){this.disabled||(this.get(t,e)||this.queue.push([e,t]),this.table[e][t]=i)}clear(){this.queue=[],this.table=this.table.map((t=>new Array(t.length)))}clean(){if(this.maxCacheItems>0&&this.queue.length>this.maxCacheItems){let t=this.queue.length;for(let e=0;e<this.queue.length;e++){const i=this.queue[e];if(!this.table[i[0]][i[1]].parentNode&&(this.queue[e]=null,this.table[i[0]][i[1]]=null,--t<=this.maxCacheItems))break}t<this.queue.length&&(this.queue=this.queue.filter((t=>t)))}}}var ax=function(t,e,i,o){var n,r=arguments.length,s=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,i,s):n(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s};let lx=class extends os{constructor(){super(),this.render=()=>Dr`
2686
2686
  <og-icon id="filterIcon" .icon="${{icon:"filter"}}"></og-icon>
2687
2687
  <div class="text">${Y(this.value)?Dr`
2688
2688
  <og-icon .icon="${this.value?"square-check":"square"}"></og-icon>
@@ -8226,4 +8226,4 @@ milkdown-block-handle {
8226
8226
  `:null}
8227
8227
  </div>
8228
8228
  </og-panel>
8229
- `:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?dv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?dv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=dv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new In({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};Hz.styles=[Lz],Iz([ls({type:Object})],Hz.prototype,"model",void 0),Iz([cs()],Hz.prototype,"editTitle",void 0),Iz([ds("#title")],Hz.prototype,"titleInput",void 0),Iz([ds("#type")],Hz.prototype,"typeList",void 0),Iz([ds("#dataRange")],Hz.prototype,"dataRangeInput",void 0),Iz([ds("#seriesRange")],Hz.prototype,"seriesRangeInput",void 0),Iz([ds("#categoryRange")],Hz.prototype,"categoryRangeInput",void 0),Hz=Iz([rs("og-plugin-chart-form")],Hz);const Tz=ma().themes.get("dark");Object.assign(Tz.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Az=ma().themes.get("light");Object.assign(Az.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var Oz=i(2439),$z=i(8022),Dz=i(6158),Nz=i(127),Pz=i(4505),jz=i(8659),Vz=i(397),Bz=i(930),Fz=i(9723),Wz=i(6343),Uz=i(4582),Gz=i(6127),Yz=i(8238),qz=i(7362),Zz=i(452),Xz=i(5390),Qz=i(3368),Kz=i(6288),Jz=i(7513),tR=i(1386),eR=i(5764),iR=i(1261),oR=i(3071),nR=i(3285),rR=i(2356),sR=i(6780),aR=i(8542),lR=i(8385),cR=i(1025),hR=i(2034),dR=i(8113),uR=i(1821),pR=i(7212),gR=i(2583),mR=i(5360),fR=i(2377),vR=i(2864),bR=i(7998),yR=i(4101),wR=i(7813),xR=i(5037),kR=i(7005),CR=i(9626),MR=i(9517),_R=i(1504),SR=i(3838),ER=i(4935),zR=i(7699),RR=i(3322),LR=i(5757),IR=i(536),HR=i(1673),TR=i(8736),AR=i(196),OR=i(5133),$R=i(6092),DR=i(791),NR=i(5927),PR=i(1802),jR=i(9511),VR=i(6267),BR=i(1072),FR=i(4331),WR=i(8644),UR=i(2704),GR=i(2419),YR=i(6363),qR=i(5236),ZR=i(3499),XR=i(3811),QR=i(1953),KR=i(4729),JR=i(8964),tL=i(8540),eL=i(8752),iL=i(8783),oL=i(8270),nL=i(7261),rL=i(9231),sL=i(4555),aL=i(5293),lL=i(6981),cL=i(5268),hL=i(2680),dL=i(789),uL=i(4373),pL=i(436),gL=i(8573),mL=i(1808),fL=i(3247),vL=i(5143),bL=i(2415),yL=i(2561),wL=i(5726),xL=i(7436),kL=i(4201),CL=i(8248),ML=i(6433),_L=i(2698),SL=i(979),EL=i(9358),zL=i(9176),RL=i(1239),LL=i(4218),IL=i(8377),HL=i(3740),TL=i(5379),AL=i(9974),OL=i(8955),$L=i(3559),DL=i(809),NL=i(8014),PL=i(8265),jL=i(3300),VL=i(8724),BL=i(8033),FL=i(7700),WL=i(5741),UL=i(3478),GL=i(512),YL=i(499),qL=i(8680),ZL=i(9646),XL=i(9432),QL=i(2841),KL=i(75),JL=i(9256),tI=i(444),eI=i(5633),iI=i(3788),oI=i(3573),nI=i(9948),rI=i(1836),sI=i(7029),aI=i(8532),lI=i(6639),cI=i(1633),hI=i(9805),dI=i(2171),uI=i(875),pI=i(9595),gI=i(3894),mI=i(2803),fI=i(7765),vI=i(8804),bI=i(8654),yI=i(257),wI=i(5844),xI=i(9651),kI=i(760),CI=i(9518),MI=i(4585),_I=i(1769),SI=i(643),EI=i(5156),zI=i(822),RI=i(8249),LI=i(3434),II=i(9314),HI=i(3093),TI=i(7721),AI=i(588),OI=i(7645),$I=i(7148),DI=i(6795),NI=i(7047),PI=i(9428),jI=i(1879),VI=i(9779),BI=i(2476),FI=i(9648),WI=i(2896),UI=i(6817),GI=i(5196),YI=i(2762),qI=i(5981),ZI=i(9014),XI=i(2611),QI=i(7946),KI=i(6301),JI=i(8020),tH=i(3987),eH=i(3192),iH=i(8796),oH=i(2489),nH=i(7324),rH=i(6069),sH=i(4155),aH=i(6977),lH=i(8055),cH=i(2653),hH=i(9492),dH=i(4334),uH=i(6804),pH=i(9954),gH=i(2211),mH=i(5211),fH=i(1519),vH=i(6204),bH=i(5501),yH=i(5244),wH=i(9742),xH=i(1552),kH=i(1330),CH=i(2596),MH=i(5184),_H=i(7675),SH=i(1513),EH=i(9396),zH=i(7673),RH=i(244),LH=i(1187),IH=i(1736),HH=i(4390),TH=i(7106),AH=i(2096),OH=i(9991),$H=i(5629),DH=i(3386),NH=i(6651),PH=i(1684),jH=i(3849),VH=i(2582),BH=i(8569),FH=i(2955),WH=i(9100),UH=i(7381),GH=i(9190),YH=i(4071),qH=i(8e3),ZH=i(4633),XH=i(4374),QH=i(486),KH=i(3680),JH=i(9999),tT=i(2830),eT=i(5255),iT=i(6021),oT=i(2214),nT=i(8497),rT=i(2052),sT=i(5327),aT=i(8701),lT=i(8722),cT=i(7325),hT=i(2445);const dT=[Oz.mw,$z.mw,Dz.mw,Nz.mw,Pz.mw,jz.mw,Vz.mw,Bz.mw,Fz.mw,Uz.mw,Wz.mw,Gz.mw,Yz.mw,qz.mw,Zz.mw,Xz.mw,Qz.mw,Kz.mw,Jz.mw,tR.mw,eR.mw,iR.mw,oR.mw,nR.mw,rR.mw,sR.mw,aR.mw,lR.mw,cR.mw,dR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,_R.mw,MR.mw,SR.mw,ER.mw,zR.mw,RR.mw,LR.mw,IR.mw,HR.mw,TR.mw,AR.mw,OR.mw,$R.mw,DR.mw,PR.mw,jR.mw,VR.mw,BR.mw,FR.mw,WR.mw,UR.mw,GR.mw,YR.mw,qR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tL.mw,eL.mw,iL.mw,oL.mw,NR.mw,nL.mw,rL.mw,sL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,RL.mw,LL.mw,IL.mw,HL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,VL.mw,BL.mw,FL.mw,WL.mw,hR.mw,UL.mw,GL.mw,YL.mw,qL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tI.mw,eI.mw,iI.mw,oI.mw,nI.mw,sI.mw,rI.mw,lI.mw,aI.mw,cI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,kI.mw,CI.mw,MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,LI.mw,II.mw,HI.mw,DI.mw,NI.mw,PI.mw,jI.mw,VI.mw,BI.mw,FI.mw,WI.mw,bI.mw,yI.mw,xI.mw,wI.mw,UI.mw,GI.mw,YI.mw,qI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,TI.mw,AI.mw,OI.mw,$I.mw,tH.mw,eH.mw,iH.mw,oH.mw,nH.mw,rH.mw,sH.mw,aH.mw,lH.mw,cH.mw,hH.mw,dH.mw,uH.mw,pH.mw,gH.mw,mH.mw,fH.mw,vH.mw,bH.mw,JI.mw,yH.mw,wH.mw,xH.mw,kH.mw,CH.mw,MH.mw,_H.mw,SH.mw,EH.mw,zH.mw,RH.mw,LH.mw,IH.mw,HH.mw,TH.mw,AH.mw,OH.mw,$H.mw,DH.mw,NH.mw,PH.mw,jH.mw,VH.mw,BH.mw,FH.mw,WH.mw,UH.mw,GH.mw,YH.mw,qH.mw,ZH.mw,XH.mw,QH.mw,KH.mw,JH.mw,tT.mw,eT.mw,iT.mw,oT.mw,nT.mw,rT.mw,RI.mw,sT.mw,aT.mw,lT.mw,cT.mw,hT.mw],uT={xlsx:j,charts:V},pT={name:"@omegagrid/bundle",version:"0.6.40"};ma().activate("light"),Oh.styleDefault="fal",$h.add(...dT)})(),window.Omegagrid=o})();
8229
+ `:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?dv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?dv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=dv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new In({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};Hz.styles=[Lz],Iz([ls({type:Object})],Hz.prototype,"model",void 0),Iz([cs()],Hz.prototype,"editTitle",void 0),Iz([ds("#title")],Hz.prototype,"titleInput",void 0),Iz([ds("#type")],Hz.prototype,"typeList",void 0),Iz([ds("#dataRange")],Hz.prototype,"dataRangeInput",void 0),Iz([ds("#seriesRange")],Hz.prototype,"seriesRangeInput",void 0),Iz([ds("#categoryRange")],Hz.prototype,"categoryRangeInput",void 0),Hz=Iz([rs("og-plugin-chart-form")],Hz);const Tz=ma().themes.get("dark");Object.assign(Tz.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Az=ma().themes.get("light");Object.assign(Az.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var Oz=i(2439),$z=i(8022),Dz=i(6158),Nz=i(127),Pz=i(4505),jz=i(8659),Vz=i(397),Bz=i(930),Fz=i(9723),Wz=i(6343),Uz=i(4582),Gz=i(6127),Yz=i(8238),qz=i(7362),Zz=i(452),Xz=i(5390),Qz=i(3368),Kz=i(6288),Jz=i(7513),tR=i(1386),eR=i(5764),iR=i(1261),oR=i(3071),nR=i(3285),rR=i(2356),sR=i(6780),aR=i(8542),lR=i(8385),cR=i(1025),hR=i(2034),dR=i(8113),uR=i(1821),pR=i(7212),gR=i(2583),mR=i(5360),fR=i(2377),vR=i(2864),bR=i(7998),yR=i(4101),wR=i(7813),xR=i(5037),kR=i(7005),CR=i(9626),MR=i(9517),_R=i(1504),SR=i(3838),ER=i(4935),zR=i(7699),RR=i(3322),LR=i(5757),IR=i(536),HR=i(1673),TR=i(8736),AR=i(196),OR=i(5133),$R=i(6092),DR=i(791),NR=i(5927),PR=i(1802),jR=i(9511),VR=i(6267),BR=i(1072),FR=i(4331),WR=i(8644),UR=i(2704),GR=i(2419),YR=i(6363),qR=i(5236),ZR=i(3499),XR=i(3811),QR=i(1953),KR=i(4729),JR=i(8964),tL=i(8540),eL=i(8752),iL=i(8783),oL=i(8270),nL=i(7261),rL=i(9231),sL=i(4555),aL=i(5293),lL=i(6981),cL=i(5268),hL=i(2680),dL=i(789),uL=i(4373),pL=i(436),gL=i(8573),mL=i(1808),fL=i(3247),vL=i(5143),bL=i(2415),yL=i(2561),wL=i(5726),xL=i(7436),kL=i(4201),CL=i(8248),ML=i(6433),_L=i(2698),SL=i(979),EL=i(9358),zL=i(9176),RL=i(1239),LL=i(4218),IL=i(8377),HL=i(3740),TL=i(5379),AL=i(9974),OL=i(8955),$L=i(3559),DL=i(809),NL=i(8014),PL=i(8265),jL=i(3300),VL=i(8724),BL=i(8033),FL=i(7700),WL=i(5741),UL=i(3478),GL=i(512),YL=i(499),qL=i(8680),ZL=i(9646),XL=i(9432),QL=i(2841),KL=i(75),JL=i(9256),tI=i(444),eI=i(5633),iI=i(3788),oI=i(3573),nI=i(9948),rI=i(1836),sI=i(7029),aI=i(8532),lI=i(6639),cI=i(1633),hI=i(9805),dI=i(2171),uI=i(875),pI=i(9595),gI=i(3894),mI=i(2803),fI=i(7765),vI=i(8804),bI=i(8654),yI=i(257),wI=i(5844),xI=i(9651),kI=i(760),CI=i(9518),MI=i(4585),_I=i(1769),SI=i(643),EI=i(5156),zI=i(822),RI=i(8249),LI=i(3434),II=i(9314),HI=i(3093),TI=i(7721),AI=i(588),OI=i(7645),$I=i(7148),DI=i(6795),NI=i(7047),PI=i(9428),jI=i(1879),VI=i(9779),BI=i(2476),FI=i(9648),WI=i(2896),UI=i(6817),GI=i(5196),YI=i(2762),qI=i(5981),ZI=i(9014),XI=i(2611),QI=i(7946),KI=i(6301),JI=i(8020),tH=i(3987),eH=i(3192),iH=i(8796),oH=i(2489),nH=i(7324),rH=i(6069),sH=i(4155),aH=i(6977),lH=i(8055),cH=i(2653),hH=i(9492),dH=i(4334),uH=i(6804),pH=i(9954),gH=i(2211),mH=i(5211),fH=i(1519),vH=i(6204),bH=i(5501),yH=i(5244),wH=i(9742),xH=i(1552),kH=i(1330),CH=i(2596),MH=i(5184),_H=i(7675),SH=i(1513),EH=i(9396),zH=i(7673),RH=i(244),LH=i(1187),IH=i(1736),HH=i(4390),TH=i(7106),AH=i(2096),OH=i(9991),$H=i(5629),DH=i(3386),NH=i(6651),PH=i(1684),jH=i(3849),VH=i(2582),BH=i(8569),FH=i(2955),WH=i(9100),UH=i(7381),GH=i(9190),YH=i(4071),qH=i(8e3),ZH=i(4633),XH=i(4374),QH=i(486),KH=i(3680),JH=i(9999),tT=i(2830),eT=i(5255),iT=i(6021),oT=i(2214),nT=i(8497),rT=i(2052),sT=i(5327),aT=i(8701),lT=i(8722),cT=i(7325),hT=i(2445);const dT=[Oz.mw,$z.mw,Dz.mw,Nz.mw,Pz.mw,jz.mw,Vz.mw,Bz.mw,Fz.mw,Uz.mw,Wz.mw,Gz.mw,Yz.mw,qz.mw,Zz.mw,Xz.mw,Qz.mw,Kz.mw,Jz.mw,tR.mw,eR.mw,iR.mw,oR.mw,nR.mw,rR.mw,sR.mw,aR.mw,lR.mw,cR.mw,dR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,_R.mw,MR.mw,SR.mw,ER.mw,zR.mw,RR.mw,LR.mw,IR.mw,HR.mw,TR.mw,AR.mw,OR.mw,$R.mw,DR.mw,PR.mw,jR.mw,VR.mw,BR.mw,FR.mw,WR.mw,UR.mw,GR.mw,YR.mw,qR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tL.mw,eL.mw,iL.mw,oL.mw,NR.mw,nL.mw,rL.mw,sL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,RL.mw,LL.mw,IL.mw,HL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,VL.mw,BL.mw,FL.mw,WL.mw,hR.mw,UL.mw,GL.mw,YL.mw,qL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tI.mw,eI.mw,iI.mw,oI.mw,nI.mw,sI.mw,rI.mw,lI.mw,aI.mw,cI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,kI.mw,CI.mw,MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,LI.mw,II.mw,HI.mw,DI.mw,NI.mw,PI.mw,jI.mw,VI.mw,BI.mw,FI.mw,WI.mw,bI.mw,yI.mw,xI.mw,wI.mw,UI.mw,GI.mw,YI.mw,qI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,TI.mw,AI.mw,OI.mw,$I.mw,tH.mw,eH.mw,iH.mw,oH.mw,nH.mw,rH.mw,sH.mw,aH.mw,lH.mw,cH.mw,hH.mw,dH.mw,uH.mw,pH.mw,gH.mw,mH.mw,fH.mw,vH.mw,bH.mw,JI.mw,yH.mw,wH.mw,xH.mw,kH.mw,CH.mw,MH.mw,_H.mw,SH.mw,EH.mw,zH.mw,RH.mw,LH.mw,IH.mw,HH.mw,TH.mw,AH.mw,OH.mw,$H.mw,DH.mw,NH.mw,PH.mw,jH.mw,VH.mw,BH.mw,FH.mw,WH.mw,UH.mw,GH.mw,YH.mw,qH.mw,ZH.mw,XH.mw,QH.mw,KH.mw,JH.mw,tT.mw,eT.mw,iT.mw,oT.mw,nT.mw,rT.mw,RI.mw,sT.mw,aT.mw,lT.mw,cT.mw,hT.mw],uT={xlsx:j,charts:V},pT={name:"@omegagrid/bundle",version:"0.6.41"};ma().activate("light"),Oh.styleDefault="fal",$h.add(...dT)})(),window.Omegagrid=o})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/bundle",
3
- "version": "0.6.40",
3
+ "version": "0.6.41",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Distribution package for Omegagrid library",
6
6
  "main": "omegagrid.js",
@@ -19,23 +19,23 @@
19
19
  "@fortawesome/fontawesome-svg-core": "6.4.2",
20
20
  "@fortawesome/pro-light-svg-icons": "6.4.2",
21
21
  "@fortawesome/pro-solid-svg-icons": "6.4.2",
22
- "@omegagrid/bucket": "^0.6.40",
23
- "@omegagrid/calendar": "^0.6.40",
24
- "@omegagrid/code": "^0.6.40",
25
- "@omegagrid/commands": "^0.6.40",
26
- "@omegagrid/core": "^0.6.40",
27
- "@omegagrid/dialog": "^0.6.40",
28
- "@omegagrid/editor": "^0.6.40",
29
- "@omegagrid/form": "^0.6.40",
30
- "@omegagrid/grid": "^0.6.40",
31
- "@omegagrid/localize": "^0.6.40",
32
- "@omegagrid/markdown": "^0.6.40",
33
- "@omegagrid/plugin-charts": "^0.6.40",
34
- "@omegagrid/plugin-xlsx": "^0.6.40",
35
- "@omegagrid/statusbar": "^0.6.40",
36
- "@omegagrid/tabs": "^0.6.40",
37
- "@omegagrid/toolbar": "^0.6.40",
38
- "@omegagrid/tree": "^0.6.40",
22
+ "@omegagrid/bucket": "^0.6.41",
23
+ "@omegagrid/calendar": "^0.6.41",
24
+ "@omegagrid/code": "^0.6.41",
25
+ "@omegagrid/commands": "^0.6.41",
26
+ "@omegagrid/core": "^0.6.41",
27
+ "@omegagrid/dialog": "^0.6.41",
28
+ "@omegagrid/editor": "^0.6.41",
29
+ "@omegagrid/form": "^0.6.41",
30
+ "@omegagrid/grid": "^0.6.41",
31
+ "@omegagrid/localize": "^0.6.41",
32
+ "@omegagrid/markdown": "^0.6.41",
33
+ "@omegagrid/plugin-charts": "^0.6.41",
34
+ "@omegagrid/plugin-xlsx": "^0.6.41",
35
+ "@omegagrid/statusbar": "^0.6.41",
36
+ "@omegagrid/tabs": "^0.6.41",
37
+ "@omegagrid/toolbar": "^0.6.41",
38
+ "@omegagrid/tree": "^0.6.41",
39
39
  "lit": "^3.1.1"
40
40
  },
41
41
  "devDependencies": {