@omegagrid/bundle 0.10.79 → 0.10.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/omegagrid.js +4 -4
- package/package.json +18 -18
package/omegagrid.js
CHANGED
|
@@ -4011,7 +4011,7 @@
|
|
|
4011
4011
|
padding-right: 2px;
|
|
4012
4012
|
}
|
|
4013
4013
|
|
|
4014
|
-
`,nv=(t,e,i)=>{for(const i of e)if(i[0]===t)return(0,i[1])();return i?.()},sv={enabled:!1,includeChildren:!0,includeParents:!0},av={enabled:!0,reversed:!1},lv={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:1,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:14,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,zoom: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"}},MAX_COMMENT_AUTOHEIGHT:300,MIN_COMMENT_AUTOHEIGHT:25,...q},cv=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function hv(t){return cv.test(t)}function dv(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function uv(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":ht(t.toString()).toLowerCase(),e=null==e?"":ht(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function pv(t,e){const i=K(e);return K(t)?(t=t.toString().trim()).startsWith("=")?0==uv(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?uv(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?uv(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?uv(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?uv(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==uv(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const gv=new Map([["=",["==",1,0]],["<>",["!=",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),mv=t=>["=",">","<",">=","<="].includes(t),fv=t=>["+","-","*","/"].includes(t),vv=t=>fv(t)||mv(t);function bv(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==uv(t,e);case">":return uv(t,e)>0;case"<":return uv(t,e)<0;case">=":return uv(t,e)>=0;case"<=":return uv(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function yv(t,e,i){const o=Array.isArray(t),r=Array.isArray(e);if(!o&&!r)return[[bv(t,e,i)]];const n=Math.max(o?t.length:0,r?e.length:0),s=Math.max(o?t[0].length:0,r?e[0].length:0),a=[];for(let l=0;l<n;l++){const n=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=r?e[l]?.[a]:e,h=null==s&&null==c?null:bv(s,c,i);n.push(h)}a.push(n)}return a}var wv;!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"}(wv||(wv={}));const xv=t=>t===wv.Number||t===wv.Boolean||t===wv.String||t===wv.Cell||t===wv.Variable||t===wv.Range,kv=t=>t>=48&&t<=57,Cv=t=>"true"===(t=t.toLowerCase())||"false"===t,Mv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,_v={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class Sv{constructor(t){this.options=Object.assign(_v,t)}tokenize(t){const e=[],i=t.length;let o,r,n,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),r=o.charCodeAt(0),"="==o&&0==a)++a;else if(kv(r)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),r=o.charCodeAt(0),kv(r))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,wv.Number])}else if(Mv(r)||"$"==o){l=o,n=null,++a;do{if(o=t.charAt(a),r=o.charCodeAt(0),Mv(r)||kv(r)||"."===o||"$"===o||"_"===o)"_"==o?n=wv.Variable:kv(r)&&!c&&null==n&&(n=wv.Cell),l+=o,++a,a==i&&e.push([l,n||wv.Variable]);else{if("("==o){e.push([l.toUpperCase(),wv.Function]),e.push([o,wv.OpenBracket]),++a;break}if("'"==o)e.push([l,wv.Sheet]),l="",e.push([o,wv.SheetQuote]),c=!0,++a;else if(":"==o)n=wv.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,wv.Sheet]),e.push([o,wv.SheetSeparator]),c=!1,l="",++a;break}e.push([l,n||(Cv(l)?wv.Boolean:wv.Variable)]);break}l+=o,++a}}}while(a<i)}else if(vv(o)){if("-"===o&&kv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||mv(s[0])||s[1]==wv.ArgumentSeparator))d=!0;else{for(l=o;mv(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,wv.Operator])}++a}else if("("===o)e.push([o,wv.OpenBracket]),++a;else if(")"===o)e.push([o,wv.CloseBracket]),++a;else if("'"===o)e.push([o,wv.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,wv.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,wv.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,wv.String]),h&&e.push([this.options.stringQuote,wv.StringQuote])}else e.push([o,wv.Unknown]),++a;s=e[e.length-1]}return e}}function Ev(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 zv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class Lv{constructor(t,e,i,o,r){this.setCoords(t,e,i,o),this.sheet=r}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,r=!0){const n=Ev(this.c1,t,i,r);r&&(e+=this.c1+t!=n&&0!=t?t>0?1:-1:0),this.c1=n,this.r1=Ev(this.r1,e,o,r),this.c2=Ev(this.c2,t,i,r),this.r2=Ev(this.r2,e,o,r)}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:r,ignoreAnchors:n}=t;switch(o){case"down":return this.shiftDown(e,i,r,n);case"up":return this.shiftUp(e,i,r,n);case"left":return this.shiftLeft(e,i,r,n);case"right":return this.shiftRight(e,i,r,n)}}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),r=Math.min(t.r2,this.r2);return e<=i&&o<=r?new Lv(e,o,i,r,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new Lv(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 Lv(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?Tv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+Iv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?Tv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?Iv(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 Lv(this.c1,this.r1),this.c2<1/0?new Lv(this.c2,this.r1):null],[this.r2<1/0?new Lv(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new Lv(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 Lv(e,t)}static fromA1(t){const e=zv.exec(t),i=new Lv(e[3]?$v(e[3]):null,e[5]?Rv(e[5]):null,e[7]?$v(e[7]):null,e[9]?Rv(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 Iv(t){return(t+1).toString()}function Rv(t){return parseInt(t)-1}function Tv(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 $v(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 Av(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),r=Math.min(t.c1,t.c2),n=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:r<n?-1:n>r?1:0}))}function Dv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function Ov(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function Nv(t){return Array.isArray(t)?t:[[t]]}function Pv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===Pv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}Lv.fromA1s=(t,e=";")=>t.split(e).map((t=>Lv.fromA1(t))),Lv.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),Lv.fromCoords=t=>new Lv(t.c1,t.r1,t.c2,t.r2),Lv.fullColumn=t=>new Lv(t,0,t,1/0),Lv.fullRow=t=>new Lv(0,t,1/0,t);const jv=new Set(["SUMPRODUCT","FILTER"]),Hv=t=>jv.has(t),Fv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),Bv=t=>Fv(t)?t:"="+(t??""),Wv=t=>Fv(t)?t.substring(1):t,Vv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Uv=t=>Vv[t%Vv.length],Gv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class qv{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([wv.Cell,wv.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Uv(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==wv.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(![wv.Cell,wv.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=wv.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==wv.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=wv.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==wv.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[wv.SheetSeparator,wv.SheetQuote,wv.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==wv.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,wv.SheetQuote]),o.push([e,wv.Sheet]),o.push([this.tokenizer.options.sheetQuote,wv.SheetQuote])):o.push([e,i]),o.push(["!",wv.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new qv(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case wv.Sheet:t=e[0];break;case wv.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case wv.Cell:this._cells.push([i,Lv.fromA1(e[0]),t]),t=void 0;break;case wv.Range:this._ranges.push([i,Lv.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,r,n,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case wv.SheetQuote:s+="'";break;case wv.SheetSeparator:s+="!";break;case wv.Sheet:r=o[0],s+=t?`<span style="font-style:italic">${r}</span>`:r;break;case wv.Variable:s+=o[0];break;case wv.Range:case wv.Cell:n=(r?"'"+r+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(n)}">${o[0]}</span>`:o[0],r=null;break;case wv.StringQuote:s+=i.stringQuote;break;case wv.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case wv.ArgumentSeparator:s+=i.argumentSeparator;break;case wv.Function:s+=(e?(a=o[0],Gv.get(a)??""):"")+o[0];break;case wv.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,r,n,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case wv.Sheet:l=o[0];break;case wv.Cell:case wv.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case wv.Number:case wv.String:case wv.Boolean:case wv.Variable:t.push({t:o[0],tt:o[1]});break;case wv.Operator:for(0==t.length&&t.push({t:"",tt:wv.Operand}),n=gv.get(o[0]);e.length>0&&(s=gv.get(e[e.length-1][0]),s)&&(0===n[2]&&n[1]<=s[1]||1===n[2]&&n[1]<s[1]);)r=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:r[0],tt:r[1],c:a});e.push(o);break;case wv.Function:case wv.OpenBracket:e.push(o);break;case wv.ArgumentSeparator:for(;e.length>0&&(r=e[e.length-1],![wv.OpenBracket,wv.ArgumentSeparator].includes(r[1]));)r=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:r[0],tt:r[1],c:a});e.push(o);break;case wv.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==wv.OpenBracket;)r=e.pop(),r[1]==wv.Operator?a.push({t:r[0],tt:r[1],c:[t.pop(),t.pop()].reverse()}):r[1]==wv.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===wv.Function?(r=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==wv.OpenBracket&&a.unshift(t.pop()),t.push({t:r[0],tt:r[1],c:a})):t.push(...a)}for(;e.length>0;)r=e.pop(),t.push({t:r[0],tt:r[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case wv.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.Operand:return"t.cl()";case wv.Variable:return i||e?.tt===wv.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case wv.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case wv.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||Hv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case wv.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||Hv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):gv.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(gv.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:r,sheet:n,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==n){switch(o){case"up":t[1].shiftUp(e,i,r);break;case"right":t[1].shiftRight(e,i,r);break;case"down":t[1].shiftDown(e,i,r);break;case"left":t[1].shiftLeft(e,i,r)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==n){switch(o){case"up":t[1].shiftUp(e,i,r);break;case"right":t[1].shiftRight(e,i,r);break;case"down":t[1].shiftDown(e,i,r);break;case"left":t[1].shiftLeft(e,i,r)}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]==wv.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Yv(t,e){return e&&(t=mr(this.cell.model.options.locale,wr(e,"d"),!1)(t)),null==t?"":t.toString()}function Zv(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function Xv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Qv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Kv(...t){let e="";return Pv(t,(t=>e+=null==t?"":t.toString())),e}function Jv(...t){return Kv(...t)}function tb(t){return(t=null==t?"":t.toString()).length}function eb(t){return(t=null==t?"":t.toString()).toLowerCase()}function ib(t){return(t=null==t?"":t.toString()).toUpperCase()}function ob(t){return t instanceof Date?t:K(t)?Qo(t,Io()):ar(t)}function rb(t){return et(t)?t:sr(t instanceof Date?t:Qo(t,Io()))}function nb(t){return K(t)?rb(t):t}function sb(t,e){const i=ob(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function ab(t,e,i){return lr(rb(Ov(t)),e)}function lb(){return sr(ce(new Date))}function cb(t){return null==(t=Ov(t))||""===t}function hb(t,e,i){return sr(new Date(t,e-1,i))}function db(t){return ob(t).getFullYear()}function ub(t){return ob(t).getMonth()+1}function pb(t){return ob(t).getDate()}function gb(t,e){const i=ob(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),sr(i)}function mb(t){return Mi(ob(t))}function fb(t){return Math.acos(t)}function vb(t){return Math.acosh(t)}function bb(t){return Math.PI/2-Math.atan(t)}function yb(t){return.5*Math.log((t+1)/(t-1))}function wb(t){return Math.asin(t)}function xb(t){return Math.asinh(t)}function kb(t){return Math.atan(t)}function Cb(t){return Math.atanh(t)}function Mb(t){return Math.cos(t)}function _b(t){return Math.cosh(t)}function Sb(t){return 1/Math.tan(t)}function Eb(t){return 1/Math.tanh(t)}function zb(t){return 1/Math.sin(t)}function Lb(t){return 1/Math.sinh(t)}function Ib(t){return 180*t/Math.PI}function Rb(){return Math.PI}function Tb(t){return 1/Math.cos(t)}function $b(t){return 1/Math.cosh(t)}function Ab(t){return Math.sin(t)}function Db(t){return Math.sinh(t)}function Ob(t){return Math.tan(t)}function Nb(t){return Math.tanh(t)}function Pb(t){return Math.abs(t)}function jb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function Hb(t){return(t=Math.ceil(t))%2==0?t:t+1}function Fb(t){return Math.pow(Math.E,t)}function Bb(t){return t<0?-1:0==t?1:t*Bb(t-1)}function Wb(t){return t<=0?1:t*Wb(t-2)}function Vb(t){return Math.floor(t)}function Ub(t){return t%1!=0}function Gb(t){return!Ub(t)&&t%2==0}function qb(t){return Ub(t)||t%2==1}function Yb(t){return Math.log(t)}function Zb(t,e){return Math.log(t)/Math.log(e)}function Xb(t){return Math.log10(t)}function Qb(t,e){return t%e}function Kb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Jb(t,e){return Math.pow(t,e)}function ty(...t){let e=1;return Pv(t,(t=>e*=t||1)),e}function ey(t,e){return Math.floor(t/e)}function iy(t){return t*Math.PI/180}function oy(){return Math.random()}function ry(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 ny(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function sy(t,e){return t.toFixed(e)}function ay(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function ly(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function cy(t,e,i=1,o=1){const r=Array(t).fill(null).map((()=>Array(e)));let n=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)r[i][t]=n,n+=o;return r}function hy(t){return t<0?-1:t>0?1:0}function dy(t){return Math.sqrt(t)}function uy(t){return Math.sqrt(Math.PI*t)}function py(...t){let e=0;return Pv(t,(t=>e+=null==t?0:1)),e}function gy(...t){let e=0;return Pv(t,(t=>e+=null==t?1:0)),e}function my(t,e){let i=0;return Pv(t,(t=>i+=pv(e,t)?1:0)),i}function fy(...t){let e=0;const i=new Map;return Pv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function vy(...t){let e=0;return Pv(t,(t=>e+=isNaN(t)||null==t||""===t?0:t)),e}function by(t,e,i){let o=0;if(i){const r=Nv(i);Pv(t,((t,i,n)=>o+=pv(e,t)&&r[i]&&r[i][n]&&!isNaN(r[i][n])?r[i][n]:0))}else Pv(t,(t=>o+=pv(e,t)&&!isNaN(t)?t:0));return o}function yy(t,e){let i=0;return Pv(t,(t=>i+=pv(e,t)&&!isNaN(t)?t*t:0)),i}function wy(...t){let e=0;const i=t.shift();if(0===t.length)Pv(i,(t=>e+=isNaN(t)?0:t));else{const o=Nv(t[0]);Pv(i,((t,i,r)=>e+=o[i]&&o[i][r]&&!isNaN(t)&&!isNaN(o[i][r])?t*o[i][r]:0))}return e}function xy(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase()==t)}function ky(t,e,i=1){const o=new Lv(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 Cy(t,e,i,o=!1){let r,n;const s=xy(t,o);for(r=0;r<e.length;r++)for(n=0;n<e[r].length;n++)if(s(e[r][n]))return e[r][i-1];return null}function My(t,e,i,o=!1){let r,n;const s=xy(t,o);for(r=0;r<e.length;r++)for(n=0;n<e[r].length;n++)if(s(e[r][n]))return e[i-1][n];return null}function _y(t,e){if("number"==typeof t&&"number"==typeof e)return t-e;const i=(t??"").toString().toLowerCase(),o=(e??"").toString().toLowerCase();return i<o?-1:i>o?1:0}function Sy(t,e,i,o){const r=o<0,n=2==i?function(t){let e="";const i=null==t?"":t.toString();for(let t=0;t<i.length;t++){const o=i[t];"~"==o&&t+1<i.length?e+=i[++t].replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):e+="?"==o?".":"*"==o?".*":o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const o=new RegExp("^"+e+"$","i");return t=>o.test((t??"").toString())}(t):e=>0==_y(e,t);let s=-1;for(let o=0;o<e.length;o++){const a=r?e.length-1-o:o,l=e[a];if(n(l))return a;-1==i&&_y(l,t)<0?(s<0||_y(l,e[s])>0)&&(s=a):1==i&&_y(l,t)>0&&(s<0||_y(l,e[s])<0)&&(s=a)}return s}function Ey(t){return 1==t.length&&(t[0]?.length??0)>1}function zy(t,e,i,o=null,r=0,n=1){const s=Ey(e),a=s?e[0]:e.map((t=>t?.[0])),l=Sy(t,a,r,n);if(l<0)return o;const c=s?i.map((t=>t?.[l])):i[l];return null==c?null:1==c.length?c[0]:c}function Ly(t,e,i=0,o=1){const r=Ey(e)?e[0]:e.map((t=>t?.[0])),n=Sy(t,r,i,o);return n<0?null:n+1}function Iy(t,e,i){let o,r;t:for(o=0;o<e.length;o++)for(r=0;r<e[o].length;r++)if(e[o][r]==t)break t;return i?i[o]?i[o][r]:null:e[o][e[o].length-1]}function Ry(t,...e){let i=null,o=0;return Pv(e,(e=>{if(t==++o)return i=e,!1})),i}function Ty(t){return(t?Lv.fromA1(t).c1:this.cell.c)+1}function $y(t){return(t?Lv.fromA1(t).r1:this.cell.r)+1}function Ay(t){return Array.isArray(t)?t[0]?.length:1}function Dy(t){return Array.isArray(t)?t.length:1}function Oy(){const t=Dv(this)[0];return t&&t.hasFormula?" "+Bv(t.formula):""}function Ny(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 Py(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let r;return i.calculations.dependencies.cellDependencies.has(e.address)?r=i.calculations.dependencies.cellDependencies.get(e.address):(r=new Map,i.calculations.dependencies.cellDependencies.set(e.address,r)),r.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?r=i.calculations.dependencies.cellDependants.get(o.address):(r=new Map,i.calculations.dependencies.cellDependants.set(o.address,r)),r.set(e.address,[e.range]),o.value}function jy(t,e,i=0){let o,r;for(o=0;o<e.length;o++)for(r=0;r<e[o].length;r++){if(0==i&&e[o][r]==t)return Math.max(o+1,r+1);if(1==i&&e[o][r]>t)return Math.max(o+1,r+1);if(-1==i&&e[o][r]<t)return Math.max(o+1,r+1)}return null}function Hy(t,e,i,o,r){const n=Dv(this)[0],s=[];o=o||1,r=r||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<r;s++){const r=n.model.rows[n.r+t+e].cell(n.c+s+i);o.push(r?n.value:null)}s.push(o)}return s}function Fy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let r=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){r=!1;break}r&&i.push(t[o])}return i}const By=[[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]],Wy=[[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=By[0][4]*e,r=e;for(i=0;i<3;i+=1)o=(o+By[0][i])*e,r=(r+Wy[0][i])*e;return t*(o+By[0][3])/(r+Wy[0][3])}function Uy(...t){let e=!0;return Pv(t,(t=>{if(!t)return e=!1})),e}function Gy(...t){let e=!1;return Pv(t,(t=>{if(t)return e=!0})),e}function qy(...t){let e=null;return Pv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function Yy(...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 Zy(t,e,i){return t?e:i}function Xy(t){return!t}function Qy(){return!1}function Ky(){return!0}function Jy(t,e){return e=""===e?null:e,this.cell.hasError?(this.cell.error.handled=!0,e):t===1/0||t===-1/0||Number.isNaN(t)?e:t}var tw=i(235),ew=i.n(tw),iw=i(5949),ow=i.n(iw);function rw(...t){let e=0,i=0;return Pv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function nw(t,e){const i=ow()(),o=Nv(t),r=Nv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(r[t]?r[t][e]:1)??1);return i()}function sw(...t){const e=function(t){const e=[];return Pv(t,(t=>e.push(t))),e}(t),i=ew()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function aw(...t){let e=1/0;return Pv(t,(t=>e=Math.min(e,t))),e}function lw(...t){let e=-1/0;return Pv(t,(t=>e=Math.max(e,t))),e}function cw(t,e){Object.keys(e).forEach((i=>t.set(at(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const hw=new Map;cw(hw,_),cw(hw,S),cw(hw,E),cw(hw,z),cw(hw,I),cw(hw,L),cw(hw,R);class dw{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);if(null==t)return this.currentCell.value;const o=i.getCellByA1(t);return o?o.value:(this.currentCell.error={message:`undefined cell ${t}`},null)},this.rn=(t,e)=>this.getModel(e).getValuesInRange(Lv.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=hw.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>yv(t,e,i)}}function uw(t,e){const i=Array(e).fill(null);let o=0,r=[];if(t.length>1){r=t.map((t=>parseFloat(t.value)||0)),o=r[1]-r[0];for(let t=2;t<r.length;t++)if(r[t]-r[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=r[r.length-1];for(let r=0;r<e;r++)t=i[r]=t+o}return i}function pw(t,e,i){const o=new qv(t.formula,t.model.calculations.tokenizer),r=[];for(let t=0;t<i;t++)r.push(Bv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return r}function gw(t,e,i,o){const r=t.getCellMatrix(e);let n;"right"==o?n=Qr(r):"down"==o?n=Xr(r):"left"==o?n=Yr(r):"up"==o&&(n=Yr(Xr(r)));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=r.length>t?r[t][r[t].length>e?e:0]:r[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=n.map((t=>t[t.length-1].hasFormula?pw(t[t.length-1],o,a):uw(t,a)));return"down"==o?l=Xr(l):"left"==o?l=Yr(l):"up"==o&&(l=Zr(Xr(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function mw(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function fw(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 vw{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 editorFactory(){return this._editorFactory}set editorFactory(t){this._editorFactory=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?Bv(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._editorFactory=t.editorFactory,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?mw(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),"editorFactory"in t&&(e.editorFactory=this._editorFactory,this._editorFactory=t.editorFactory),"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=mw(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=nt(this._properties)),null!=this._editorContent&&(t.content=X(this._editorContent)?nt(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 bw(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const yw=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"}]]),ww=(()=>{const t=new Map;return yw.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 xw(t){return"middle"==t?"center":t}function kw(t){return t="#"==t.charAt(0)?t.substring(1):t,/^[0-9a-fA-F]{3}$/.test(t)?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(t)?t:Vr(Wr(t))}const Cw=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",r=ww.get(o);return{style:(r?r.get(i):null)??"thin",color:e.length>2?kw(e[2]):"CCCCCC"}},Mw=t=>{const e=yw.get(t.style||"none");return e?[Nt(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},_w=(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=Pr(o,.75);break;case"mediumGray":t.backgroundColor=Pr(o,.5);break;case"lightGray":t.backgroundColor=Pr(o,.25);break;case"gray125":t.backgroundColor=Pr(o,.125);break;case"gray0625":t.backgroundColor=Pr(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},Sw=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),Ew=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=Ot(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Mw(t.top)),t.right&&(e.borderRight=Mw(t.right)),t.bottom&&(e.borderBottom=Mw(t.bottom)),t.left&&(e.borderLeft=Mw(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.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??e.textAlign??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.alignment.textRotation&&Object.assign(e,(t.alignment.horizontal,t.alignment.vertical,{position:"absolute",overflow:"visible",inset:"initial",padding:"0",transform:"rotate("+(-t.alignment.textRotation).toString()+"deg)"}))),t.patternType?_w(e,t):t.stops&&t.stops.length?Sw(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},zw=t=>{const e=X(t)?t:bw(t),i={};let o;for(const t in e){const r=e[t];if(null!=r)switch(t){case"borderTop":case"border-top":i.top=Cw(r);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=kw(r):i.top={style:"thin",color:kw(r)};break;case"borderRight":case"border-right":i.right=Cw(r);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=kw(r):i.right={style:"thin",color:kw(r)};break;case"borderBottom":case"border-bottom":i.bottom=Cw(r);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=kw(r):i.bottom={style:"thin",color:kw(r)};break;case"borderLeft":case"border-left":i.left=Cw(r);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=kw(r):i.left={style:"thin",color:kw(r)};break;case"border":o=Cw(r),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=r;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=xw(r);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=r&&"nowrap"!=r;break;case"color":i.color=kw(r);break;case"background":case"backgroundColor":case"background-color":i.fgColor=kw(r);break;case"fontSize":case"font-size":i.sz=parseFloat(r);break;case"fontWeight":case"font-weight":i.bold="bold"==r;break;case"fontStyle":case"font-style":i.italic="italic"==r;break;default:i[t]=r}}return i},Lw=(t,e)=>{for(const i in e)t.style[i]=e[i]},Iw=t=>t.alignment&&null!=t.alignment.textRotation,Rw=(t,e)=>{if(!e.alignment||null==e.alignment.textRotation)return;const i=e.alignment,o=t.getBoundingClientRect(),r=t.parentElement,n=(o.width-t.offsetWidth)/2,s=(o.height-t.offsetHeight)/2,a={};"top"==i.vertical?a.t=s:"bottom"==i.vertical?a.b=s:a.t=(r.clientHeight-t.offsetHeight)/2,"left"==i.horizontal?a.l=n:"right"==i.horizontal?a.r=n:a.l=(r.clientWidth-t.offsetWidth)/2,Ft(t,a)},Tw={n:t=>{const e=K(t)?parseFloat(t.replace(",",".")):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>{if(null==t||""===t)return null;if(K(t))try{return J(t)?tt(t):sr(Qo(t,e.model.options.formatLocale))}catch(i){return e.model.logger.error(`Invalid date value in cell ${e.address}: ${t}`),null}return t instanceof Date?sr(t):t},tm:t=>K(t)?new Date(t):t,dt:t=>K(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||""===t)return null;const e=parseFloat(t.toString().replace(",","."));return isNaN(e)?t:e},a:t=>K(t)&&""!==t?JSON.parse(t):t,h:t=>t},$w=new Map;class Aw extends vw{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get merge(){return this.model.merges.mergedCells.get(this.address)}get row(){return this._row}set row(t){this._row=t}get r(){return this._row.index}get column(){return this._column}set column(t){this._column=t}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&&Fv(t.toString()))this._value=void 0,this.formula=t;else{let e=Tw[this.type](t,this);fw(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=Tw[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?Bv(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:r}=this.model.options,n=this.value;if(null==n||""===n)return null;if("n"==e)return null!=i?mr(o,i,r):this.model.options.numberFormatter;if("g"==e){if(null!=i)return mr(o,i,r);if(et(n))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:mr(o,i,!1);if("d"==e)return i?Ko(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!$w.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);$w.set(t,(t=>e.has(t)?e.get(t):t))}else $w.set(t,(t=>t));return $w.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 Lv.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 editorFactory(){return super.editorFactory??this.elm1.editorFactory??this.elm2.editorFactory}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._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f&&""!==t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"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.merge&&(e.cs=this.merge.cs,e.rs=this.merge.rs),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=Ew(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=Ew(i)}validate(){return!this.validation||fw(this,this.value)}toString(){return this.address}}const Dw={property:"value",enabled:!0};class Ow extends($r(vw)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?Dw:{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 Tv(this.index)}get range(){return new Lv(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}hasHeaderTooltip(t){const e=this.header?.[t];return e&&null!=e.tooltip}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>{if(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,null!=this.model.options.headers?.style){const e=this.model.styles.add(this.model.options.headers.style).id;t._style=this.model.styles.merge(t._style,e).id}return t})):K(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=X(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?Dw:!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 Nw;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(Nw||(Nw={}));const Pw=t=>t instanceof Date?t.getTime():"number"==typeof t?t:0,jw={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)=>Pw(t.value)-Pw(e.value),tm:(t,e)=>Pw(t.value)-Pw(e.value),dt:(t,e)=>Pw(t.value)-Pw(e.value),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},Hw={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)=>Pw(e.value)-Pw(t.value),tm:(t,e)=>Pw(e.value)-Pw(t.value),dt:(t,e)=>Pw(e.value)-Pw(t.value),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},Fw=(t,e)=>t.origIndex-e.origIndex;class Bw{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(),Ir().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=null){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==Nw.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=Nw.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:Nw.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==Nw.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==Nw.Asc?jw[i.type??"t"]:Hw[i.type??"t"]:(Ir().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,r,n;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(r=0;r<i;r++)if(n=this.settings[r].c,o=e[r](t.cell(n),s.cell(n)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(Fw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class Ww{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=Ko("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class Vw{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 Ww?t:new Ww(t)))||[]),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new Lv(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new Ww(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=Lv.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}function Uw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class Gw{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,e="calculations"){this.model=t,this.modelPart=e,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=Lv.fromA1(t).removeAnchors(),r=Lv.fromA1(e).removeAnchors();e=r.A1;const n=r.isRange,s=n?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[r,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=n?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=n?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){let i,o;const r=t.A1;return e=e??new Map,this._cellDependants.has(r)&&this._cellDependants.get(r).forEach((([t,n])=>{e.has(t)||(n&&(o=this.model.getConnectedModel(n)),i=o||this.model,e.set(t,[i.getCellByRange(t),n]),o?o[this.modelPart].dependencies.getDependants(t).forEach(((t,i)=>{e.set(i,[t[0],t[1]??n])})):(t.A1!=r||o)&&i.calculations.dependencies.getDependants(t,e))})),this._rangeDependants.forEach(((i,o)=>{Lv.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)),Uw(this._cellDependants,t,e),Uw(this._cellDependencies,t,e),Uw(this._rangeDependants,t,e),Uw(this._rangeDependencies,t,e)}}class qw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this._dependencies=new Gw(t,e)}}function Yw(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}class Zw extends qw{get tokenizer(){return this._tokenizer}get formulas(){return this._formulas}constructor(t){super(t,"calculations"),this._tokenizer=new Sv,this._formulas=new Map,this.context=new dw(t)}createFormula(t){const e=new qv(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 r=this.model.getCellByName(o,t.range);r&&this._dependencies.add(e,r.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 qv(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={message:Yw(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 r=o.calculations.getFormula(i);r.hasSheetReference(e)&&(i.formula=r.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,r=t.columns.length;for(let n=0;n<o;n++){i=t.rows[n];for(let t=0;t<r;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 r=this.getFormula(o);r.renameSheet(t,e)&&(o.formula=r.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 Xw="#ff0000",Qw="#fcd53f",Kw="#00bb5e",Jw="#555555",tx=new Map([["3Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","right"],color:Qw},{icon:["fas","up"],color:Kw}]],["3ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","right"],color:Jw},{icon:["fas","up"],color:Jw}]],["3Flags",[{icon:["fas","flag-pennant"],color:Xw},{icon:["fas","flag-pennant"],color:Qw},{icon:["fas","flag-pennant"],color:Kw}]],["3TrafficLights1",[{icon:["fas","circle"],color:Xw},{icon:["fas","circle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:Xw},{icon:["fas","square-o"],color:Qw},{icon:["fas","square-o"],color:Kw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:Xw},{icon:["fas","triangle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:Xw},{icon:["fas","circle-exclamation"],color:Qw},{icon:["fas","circle-check"],color:Kw}]],["3Symbols2",[{icon:["fas","xmark"],color:Xw},{icon:["fas","exclamation"],color:Qw},{icon:["fas","check"],color:Kw}]],["3Stars",[{icon:["fal","star"],color:Qw},{icon:["fas","star-half-stroke"],color:Qw},{icon:["fas","star"],color:Qw}]],["3Triangles",[{icon:"caret-down",color:Xw},{icon:"dash",color:Qw},{icon:"caret-up",color:Kw}]],["4Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","down-right"],color:Qw},{icon:["fas","up-right"],color:Qw},{icon:["fas","up"],color:Kw}]],["4ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","down-right"],color:Jw},{icon:["fas","up-right"],color:Jw},{icon:["fas","up"],color:Jw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:Xw}]],["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:Xw},{icon:["fas","circle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["5Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","down-right"],color:Qw},{icon:["fas","right"],color:Qw},{icon:["fas","up-right"],color:Qw},{icon:["fas","up"],color:Kw}]],["5ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","down-right"],color:Jw},{icon:["fas","right"],color:Jw},{icon:["fas","up-right"],color:Jw},{icon:["fas","up"],color:Jw}]],["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"}]]]),ex=(t,e)=>{const i=tx.get(t);return i?i[e]:null};class ix extends qw{constructor(t,e){super(t,"conditionalFormats"),this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){Ir().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))return this.extremes.get(t.key);const e=[1/0,-1/0];return t.ranges.forEach((t=>{for(const i of this.model.getValuesInRange(t))for(const t of i)null!=t&&(isNaN(t)||(e[0]=Math.min(e[0],t),e[1]=Math.max(e[1],t)))})),t.cmin&&("num"==t.cmin.t?e[0]=t.cmin.v:"percent"==t.cmin.t&&(e[0]=e[0]+(e[1]-e[0])*t.cmin.v/100)),t.cmax&&("num"==t.cmax.t?e[1]=t.cmax.v:"percent"==t.cmax.t&&(e[1]=e[0]+(e[1]-e[0])*t.cmax.v/100)),this.extremes.set(t.key,e),e}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,r]=this.getExtremes(e.cf);let n;const s=(i-o)/(r-o);if(e.cf.cmid?.color)n=.5==s?"#"+e.cf.cmid.color:s>.5?Fr("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):Fr("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;n=Fr("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:Br(n).substring(1),fgColor:n.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let r=o[0];const n=o[1],s=r<0;s||(r-=.1*(n-r));const a=Math.round(100*(i-r)/(n-r));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*r/(n-r));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 qv(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 r=this.model.getCellByName(o,t.range);r&&this._dependencies.add(i,r.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||Vr(Br(Ur(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,r]=this.getExtremes(e.cf);let n;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==n&&(n=100*(i-o)/(r-o)),n>=s.v)return{icon:ex(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:ex(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,r=null;for(const e of i){try{switch(e.cf.type){case"formula":r=this.evaluateFormulaFormat(t,e);break;case"scale":r=this.evaluateScaleFormat(t,e);break;case"bar":r=this.evaluateBarFormat(t,e);break;case"icon":r=this.evaluateIconFormat(t,e);break;default:r=null}}catch(t){Ir().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(r&&(o=o?{...o,...r}:r,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new wx(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new qv(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:Lv.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:Lv.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})))}}const ox=(t,e)=>{const i=new RegExp(`${pt(ht(t))}`,"ig");return t=>(i.lastIndex=0,i.test(ht((t[e]??"").toString())))},rx=(t,e)=>i=>!!i[e]===t,nx=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},sx=(t,e)=>t=>!1,ax=t=>!!t&&"object"==typeof t&&!Array.isArray(t)&&"range"===t.kind,lx=t=>!(null!=t.from&&""!==t.from||null!=t.to&&""!==t.to),cx=(t,e,i)=>{const o=t=>{if(null==t||""===t)return null;if(t instanceof Date)return t.getTime();const e=new Date(t).getTime();return Number.isNaN(e)?null:e},r=o(t.from);let n=o(t.to);return null===n||"d"!==i&&"dt"!==i||(n+=86399999),t=>{const i=o(t[e]);return!(null===i||null!==r&&i<r||null!==n&&i>n)}},hx="[-+]?\\d+(?:[.,]\\d+)?",dx=t=>Number(t.replace(",",".")),ux=t=>new RegExp(`^${hx}$`).test(t.trim()),px=t=>{const e=[];if(!t)return e;let i=[],o=null,r=null;const n=()=>{i.length>0&&(e.push(i),i=[])},s=t=>{0===e.length&&0===i.length||"or"===(o??("="===r&&"="===t[0].op?"or":"and"))&&n(),i.push(...t),o=null,r=t[t.length-1].op},a=new RegExp(`(${hx})\\s*\\.\\.\\s*(${hx})|(>=|<=|<>|!=|==|=|>|<)\\s*(${hx})|\\b(and|or)\\b|(${hx})`,"gi");let l;for(;null!==(l=a.exec(t));)null!=l[1]?s([{op:">=",value:dx(l[1])},{op:"<=",value:dx(l[2])}]):null!=l[3]?s([{op:"=="===l[3]?"=":"<>"===l[3]?"!=":l[3],value:dx(l[4])}]):null!=l[5]?o="or"===l[5].toLowerCase()?"or":"and":null!=l[6]&&s([{op:"=",value:dx(l[6])}]);return n(),e},gx=(t,e)=>i=>{if(0===t.length)return!0;const o=i[e];if(null==o||""===o)return!1;const r="number"==typeof o?o:Number(o);return!Number.isNaN(r)&&t.some((t=>t.every((t=>((t,e)=>{switch(e.op){case">":return t>e.value;case">=":return t>=e.value;case"<":return t<e.value;case"<=":return t<=e.value;case"=":return t===e.value;case"!=":return t!==e.value}})(r,t)))))},mx=(t,e,i)=>{if(i=i??"value",("d"===t||"dt"===t||"tm"===t)&&ax(e))return cx(e,i,t);if("n"===t){const t=e?.toString()??"";if(ux(t))return ox(t.trim(),"formattedValue");const o=px(t);return o.length>0?gx(o,i):ox(t,"formattedValue")}return"b"===t?rx(e,i):"s"===t&&Array.isArray(e)?nx(e,"value"):"s"===t?ox(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?sx(e,i):ox(e?.toString(),"d"===t||"dt"===t||"tm"===t?"formattedValue":i)};class fx extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class vx extends EventTarget{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.applyFilter(),Ir().info(`filtering applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=null){super(),this.model=t,this.custom=!1,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}filter(t,e=!0){const i=this.get(t.c),o=null===t.term||""===t.term||ax(t.term)&&lx(t.term);i&&o?(this.settings.splice(this.colMap.get(t.c),1),this.colMap.clear(),this.settings.forEach(((t,e)=>this.colMap.set(t.c,e)))):i?i.term=t.term:o||(this.colMap.set(t.c,this.settings.length),this.settings.push(t)),this.custom||(this.settings.length>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new fx)}applyFilter(t=!0){const e=[];this.settings.forEach((t=>{const i=this.model.columns[t.c];e.push({c:t.c,matcher:mx(i.type,t.term,i.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,r=this.model.options.filters?.includeChildren??!0,n=new Set;this.model.rows.forEach((t=>{const s=n.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=Rr.Matched,o&&t.walkUp((t=>{if(n.has(t.index)&&t.filterState>0)return!1;t.filterState=Rr.ChildMatched,n.add(t.index)})),r&&t.walk((t=>{if(n.has(t.index)&&t.filterState>0)return!1;t.filterState=Rr.ParentMatched,n.add(t.index)}))):s||(t.filterState=Rr.Filtered),n.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new fx)}resetFilter(t=!0){this.settings=[],this.colMap.clear(),this.model.rows.forEach((t=>t.filterState=Rr.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new fx)}}class bx extends qw{constructor(t,e){super(t,"sparklines"),this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(Lv.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[Lv.fromA1(t)])):t.data.split(",").map((t=>[Lv.fromA1(t)])),rt({},lv.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 r,n,s,a;return null==o.minValue||K(o.minValue)?"auto"==(o.minValue||"auto")?(r=r??ct(...e[1].map((t=>i.getValuesInRange(t[0])))),s=r[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],ct(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),n=this.extremes.get(e[0]),s=n[0]):s=o.minValue,null==o.maxValue||K(o.maxValue)?"auto"==(o.maxValue||"auto")?(r=r??ct(...e[1].map((t=>i.getValuesInRange(t[0])))),a=r[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],ct(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),n=this.extremes.get(e[0]),a=n[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,r=e.size;if(r.columns>1&&r.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let n=!1;if(n=1==r.columns&&1==r.rows?o.rows>1:r.columns>1,n)for(let o=e.c1;o<=e.c2;o++)this.map.set(new Lv(o,e.r1).A1,[t,i.map((([t,i])=>[new Lv(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 Lv(e.c1,o).A1,[t,i.map((([t,i])=>[new Lv(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(lv.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const r=this.groups.get(t);Object.assign(r,{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 yx extends Lv{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,e||(this.done=!0)}[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 wx extends Lv{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 Lv(this.c+this.c1,this.r+this.r1)})}}class xx extends Lv{constructor(t,e,i){super(e?.c1,e?.r1,e?.c2,e?.r2),this.model=t,this.i=0,this.done=!1,this.axis=i,this.key="rows"===i?"r1":"c1",e||(this.done=!0)}[Symbol.iterator](){return this}next(){if(this.done)return{done:!0};this.i<this.size[this.axis]-1&&this.i++,this.done=this.i>=this.size[this.axis]-1;const t=this.model[this.axis][this.i+this[this.key]];return t?{done:!1,value:t}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class kx{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,X(e)?Lv.fromCoords(e):Lv.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 r=0;r<i.length;r++){e=i[r];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 r=e.A1;o!=r&&(this.rangeMap.delete(o),this.rangeMap.set(r,i))}))}getSourceData(){const t=[];return this.names.forEach(((e,i)=>{t.push({name:i,ref:e.A1})})),t}}function Cx(t,e=null){const i=rt({},lv.DEFAULT_OPTIONS,e,an(t,e));return i.numberFormat?i.numberFormatter=mr(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=mr(i.formatLocale)),i.dateFormat?i.dateFormatter=Ko(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ko(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},sv,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},av,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},av,i.columnTree),i.cellValidation&&(i.cellValidation=mw(i.cellValidation)),i}class Mx extends($r(vw)){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 Iv(this.index)}get range(){return new Lv(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 Aw(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 Aw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;if(null!=e){const o=this._data[e];if(X(o))o.comment&&this.model.comments.set(i.address,[o.comment]),(o.cs>1||o.rs>1)&&this.model.merges.add({r:this.index,c:t,cs:o.cs||1,rs:o.rs||1}),i.populate(o);else if(!i.hasValue){const t=i.displayValue;i.value=o,null!=t&&(i.displayValue=t)}}}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 r=this.model.columns.length,n=this.model.calculations;if(i)for(let i=0;i<r;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=n.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 r=this.model.columns.length,n=this.model.calculations;if(i)for(let i=0;i<r;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=n.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 _x=i(4418),Sx=i.n(_x);const Ex=t=>t?"1":"0",zx=t=>null==t?"_":t,Lx=t=>null==t?"_":t.toString(),Ix=t=>null==t?"_":JSON.stringify(t),Rx=t=>zx(t&&t.color?t.color:"_")+zx(t&&t.style?t.style:"_"),Tx=t=>zx(t?t.horizontal:null)+zx(t?t.vertical:null)+zx(t?t.horizontal:null)+Lx(t?t.indent:null)+Ex(t?t.wrapText:null)+Lx(t?t.textRotation:null),$x=t=>Sx()("s_"+Ex(t.bold)+Ex(t.italic)+Ex(t.underline)+Lx(t.sz)+zx(t.font)+zx(t.color)+Rx(t.top)+Rx(t.right)+Rx(t.bottom)+Rx(t.left)+zx(t.patternType)+zx(t.fgColor)+zx(t.bgColor)+Tx(t.alignment)+Lx(t.angle)+Ix(t.stops)+Ex(t.hidden)+Ex(t.editable)+Ix(t.cssStyle)+Ix(t.icon));function Ax(t){const e={...t};return delete e.id,delete e.hash,e}class Dx{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?zw(t):t,i=e.hash?e.hash:$x(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=>X(t)?t:this.get(t))));return this.add(Ax(e))}duplicate(t,e){const i=this.get(t);return this.add(Ax({...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 Ox(t,e,i,o){const r=o??("rows"==i?e.rows:e.columns),n=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}(r),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[r[t.index]]:t.level>-1?n.get(t.level):r,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(pt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{null!=t.priority&&(o.priority=t.priority),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 Nx(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function Px(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)Nx(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 jx(t,e,i){Ox(t,e,"columns",i)}function Hx(t,e,i){Ox(t,e,"rows",i)}function Fx(t,e){Px(t,e),jx(t,e),Hx(t,e)}var Bx;!function(t){t[t.NONE=0]="NONE",t[t.MERGED=1]="MERGED",t[t.HIDDEN=2]="HIDDEN"}(Bx||(Bx={}));class Wx{get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}constructor(t){this.model=t,this._mergedCells=new Map,this._hiddenCells=new Map}clear(){this._mergedCells.clear(),this._hiddenCells.clear()}getMergeState(t){return this._mergedCells.has(t)?Bx.MERGED:this._hiddenCells.has(t)?Bx.HIDDEN:Bx.NONE}indexMergedRange(t){const e=t.A1,i=this._mergedCells.get(e);if(!i)return;const o=i.r,r=i.c,n=t.clone();if(this.model.rows.length<=o||this.model.columns.length<=r)this.remove(e);else for(let t=0;t<i.rs;t++)for(let e=0;e<i.cs;e++)0==t&&0==e||(n.r1=o+t,n.c1=r+e,n.r2=n.r1,n.c2=n.c1,this._hiddenCells.set(n.A1,i))}add(t){const e=new Lv(t.c,t.r),i=e.A1;if(this._mergedCells.has(i))this.remove(i);else if(this._hiddenCells.has(i))return;this._mergedCells.set(i,t),this.indexMergedRange(e)}remove(t){const e=this._mergedCells.get(t);if(!e)return;this._mergedCells.delete(t);const i=e.r,o=e.c,r=new Lv(o,i);this._hiddenCells.delete(t);for(let t=0;t<e.rs;t++)for(let n=0;n<e.cs;n++)0==t&&0==n||(r.r1=i+t,r.c1=o+n,r.r2=r.r1,r.c2=r.c1,this._hiddenCells.delete(r.A1))}shift(t){const{index:e,offset:i,direction:o}=t,r={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(t.cs-=i)}},n=[...this._mergedCells.values()];n.forEach((t=>this.remove(new Lv(t.c,t.r).A1))),n.forEach((t=>{r[o](t),this.add(t)}))}}const Vx=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class Ux{get mergedHeaders(){return this._mergedHeaders}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.merges=new Wx(this),this.styles=new Dx(this),this.comments=new Vw(this),this.calculations=new Zw(this),this.names=new kx(this),this.sorting=new Bw(this),this.filter=new vx(this),this.sparklines=new bx(this),this.conditionalFormats=new ix(this),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??Cx(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(Lv.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 Lv?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new Mx(this,{l:-1}),i=0){let o=!1,r=!1;this.autofitRows.clear();const n=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(r=!0),"auto"==t.h&&this.autofitRows.add(e);const n=new Mx(this,t);return n.origIndex=e+i,n.name&&this.names.set(n.name,Lv.fullRow(e)),n}));let s=-1;return o?s=Ar(n,e,{reverse:this.options.rowTree.reversed}):r?s=Dr(n,e):e.children=n,r||(o=!0),[e,n,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new Mx(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];Hx(this.theme,this,t),Px(this.theme,this,new Lv(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Fx(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 r=new Ow(this,t);return this._filter=r.hasFilter||this._filter,r.name&&this.names.set(r.name,Lv.fullColumn(o)),r})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new Ow(this,{l:-1}),e?this._maxColumnLevel=Ar(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=Dr(this.columns,this.colRoot):this.colRoot.children=this.columns,i||(this._levelBasedColTree=!0),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.merges.clear(),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?(e.cs>1||e.rs>1)&&this.merges.add({r:o.r,c:o.c,rs:e.rs||1,cs:e.cs||1}):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}))})),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){Ir().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){Ir().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){Ir().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){Ir().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){Ir().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(Vx),r=Object.keys(t).filter((t=>!o.has(t)));r.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.options.filters?.defaultSettings&&(this.filter.settings=this.options.filters.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(),names:this.names.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==Rr.Filtered||(t.visibleIndex=this.visibleRows.length,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=[],r=[];let n,s,a=e.h,l=0;for(l=0;l<i.t;l++)n=this.visibleRows[l],a-=n.height,o.push(n);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)n=this.visibleRows[l],a-=n.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)n=this.visibleRows[l++],a-=n.height,o.push(n);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,r.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,r.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)r.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:r}}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,r=new Array(o);let n,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){r[s]=new Array(i),a=0,n=this.rows[o];for(let i=t.c1;i<=t.c2;i++)r[s][a++]=e?n.cell(i).formattedValue:n.cell(i).value;++s}return r}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&&this._viewport.columns.length&&this._viewport.rows.length?new Lv(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 Lv(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new yx(this,i&&t.intersect(i))}getInitializedCellIterator(){return new yx(this,this.gridRange,!0)}getRowIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new xx(this,i&&t.intersect(i),"rows")}getColumnIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new xx(this,i&&t.intersect(i),"columns")}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,r;const n=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){r=[];for(let n=t.c1;n<=t.c2;n++)o=i.cell(n),o&&r.push(e(o));n.push(r)}return n}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shift(t){t.sheet=this.name,this.merges.shift(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 r=new Array(e).fill(null).map((()=>new Ow(this)));return this.columns.splice(t,0,...r),this.maxColumnLevel>0&&o.insertChildren(r,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),r}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 r=this.columns.splice(t,e);return i?.deleteChildren(r),this.indexColumns(),this.clearCalculations(!0),r}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),r=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const n=isNaN(e)?e.length:e;this.shift({index:t,offset:n,direction:"down"});const s=isNaN(e)?e:new Array(n).fill(null).map((()=>new Mx(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&r.insertChildren(s,t-(r.index||-1)-1),this.indexRows(),this.theme&&(Hx(this.theme,this,s),Px(this.theme,this,new Lv(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:r}=t,n=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new Lv(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:n,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),r&&(c.format=r.format,c.type=r.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),n.push(c))}}return{cells:n,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?Ar:Dr;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?Ar:Dr;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 Gx{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 Ux(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 Ux(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 qx{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 Yx{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 Lv(t,e,i,o),this.activeCell=new Lv(0,0)}static fromRange(t){return new Yx(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=Lv.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 Zx={...lv,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class Xx{constructor(t,e,i=Zx.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 Qx=function(t,e,i,o){var r,n=arguments.length,s=n<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--)(r=t[a])&&(s=(n<3?r(s):n>3?r(e,i,s):r(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s};const Kx=t=>{if(null==t||""===t)return"";if(t instanceof Date)return t.toLocaleDateString();if("string"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?t:e.toLocaleDateString()}return String(t)};let Jx=class extends Ls{constructor(){super(),this.render=()=>cs`
|
|
4014
|
+
`,nv=(t,e,i)=>{for(const i of e)if(i[0]===t)return(0,i[1])();return i?.()},sv={enabled:!1,includeChildren:!0,includeParents:!0},av={enabled:!0,reversed:!1},lv={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:1,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:14,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,zoom: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"}},MAX_COMMENT_AUTOHEIGHT:300,MIN_COMMENT_AUTOHEIGHT:25,...q},cv=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function hv(t){return cv.test(t)}function dv(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function uv(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":ht(t.toString()).toLowerCase(),e=null==e?"":ht(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function pv(t,e){const i=K(e);return K(t)?(t=t.toString().trim()).startsWith("=")?0==uv(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?uv(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?uv(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?uv(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?uv(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==uv(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const gv=new Map([["=",["==",1,0]],["<>",["!=",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),mv=t=>["=",">","<",">=","<="].includes(t),fv=t=>["+","-","*","/"].includes(t),vv=t=>fv(t)||mv(t);function bv(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==uv(t,e);case">":return uv(t,e)>0;case"<":return uv(t,e)<0;case">=":return uv(t,e)>=0;case"<=":return uv(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function yv(t,e,i){const o=Array.isArray(t),r=Array.isArray(e);if(!o&&!r)return[[bv(t,e,i)]];const n=Math.max(o?t.length:0,r?e.length:0),s=Math.max(o?t[0].length:0,r?e[0].length:0),a=[];for(let l=0;l<n;l++){const n=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=r?e[l]?.[a]:e,h=null==s&&null==c?null:bv(s,c,i);n.push(h)}a.push(n)}return a}var wv;!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"}(wv||(wv={}));const xv=t=>t===wv.Number||t===wv.Boolean||t===wv.String||t===wv.Cell||t===wv.Variable||t===wv.Range,kv=t=>t>=48&&t<=57,Cv=t=>"true"===(t=t.toLowerCase())||"false"===t,Mv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,_v={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class Sv{constructor(t){this.options=Object.assign(_v,t)}tokenize(t){const e=[],i=t.length;let o,r,n,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),r=o.charCodeAt(0),"="==o&&0==a)++a;else if(kv(r)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),r=o.charCodeAt(0),kv(r))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,wv.Number])}else if(Mv(r)||"$"==o){l=o,n=null,++a;do{if(o=t.charAt(a),r=o.charCodeAt(0),Mv(r)||kv(r)||"."===o||"$"===o||"_"===o)"_"==o?n=wv.Variable:kv(r)&&!c&&null==n&&(n=wv.Cell),l+=o,++a,a==i&&e.push([l,n||wv.Variable]);else{if("("==o){e.push([l.toUpperCase(),wv.Function]),e.push([o,wv.OpenBracket]),++a;break}if("'"==o)e.push([l,wv.Sheet]),l="",e.push([o,wv.SheetQuote]),c=!0,++a;else if(":"==o)n=wv.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,wv.Sheet]),e.push([o,wv.SheetSeparator]),c=!1,l="",++a;break}e.push([l,n||(Cv(l)?wv.Boolean:wv.Variable)]);break}l+=o,++a}}}while(a<i)}else if(vv(o)){if("-"===o&&kv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||mv(s[0])||s[1]==wv.ArgumentSeparator))d=!0;else{for(l=o;mv(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,wv.Operator])}++a}else if("("===o)e.push([o,wv.OpenBracket]),++a;else if(")"===o)e.push([o,wv.CloseBracket]),++a;else if("'"===o)e.push([o,wv.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,wv.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,wv.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,wv.String]),h&&e.push([this.options.stringQuote,wv.StringQuote])}else e.push([o,wv.Unknown]),++a;s=e[e.length-1]}return e}}function Ev(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 zv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class Lv{constructor(t,e,i,o,r){this.setCoords(t,e,i,o),this.sheet=r}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,r=!0){const n=Ev(this.c1,t,i,r);r&&(e+=this.c1+t!=n&&0!=t?t>0?1:-1:0),this.c1=n,this.r1=Ev(this.r1,e,o,r),this.c2=Ev(this.c2,t,i,r),this.r2=Ev(this.r2,e,o,r)}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:r,ignoreAnchors:n}=t;switch(o){case"down":return this.shiftDown(e,i,r,n);case"up":return this.shiftUp(e,i,r,n);case"left":return this.shiftLeft(e,i,r,n);case"right":return this.shiftRight(e,i,r,n)}}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),r=Math.min(t.r2,this.r2);return e<=i&&o<=r?new Lv(e,o,i,r,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new Lv(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 Lv(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?Tv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+Iv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?Tv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?Iv(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 Lv(this.c1,this.r1),this.c2<1/0?new Lv(this.c2,this.r1):null],[this.r2<1/0?new Lv(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new Lv(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 Lv(e,t)}static fromA1(t){const e=zv.exec(t),i=new Lv(e[3]?$v(e[3]):null,e[5]?Rv(e[5]):null,e[7]?$v(e[7]):null,e[9]?Rv(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 Iv(t){return(t+1).toString()}function Rv(t){return parseInt(t)-1}function Tv(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 $v(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 Av(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),r=Math.min(t.c1,t.c2),n=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:r<n?-1:n>r?1:0}))}function Dv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function Ov(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function Nv(t){return Array.isArray(t)?t:[[t]]}function Pv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===Pv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}Lv.fromA1s=(t,e=";")=>t.split(e).map((t=>Lv.fromA1(t))),Lv.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),Lv.fromCoords=t=>new Lv(t.c1,t.r1,t.c2,t.r2),Lv.fullColumn=t=>new Lv(t,0,t,1/0),Lv.fullRow=t=>new Lv(0,t,1/0,t);const jv=new Set(["SUMPRODUCT","FILTER"]),Hv=t=>jv.has(t),Fv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),Bv=t=>Fv(t)?t:"="+(t??""),Wv=t=>Fv(t)?t.substring(1):t,Vv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Uv=t=>Vv[t%Vv.length],Gv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class qv{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([wv.Cell,wv.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Uv(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==wv.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(![wv.Cell,wv.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=wv.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==wv.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=wv.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==wv.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[wv.SheetSeparator,wv.SheetQuote,wv.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==wv.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,wv.SheetQuote]),o.push([e,wv.Sheet]),o.push([this.tokenizer.options.sheetQuote,wv.SheetQuote])):o.push([e,i]),o.push(["!",wv.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new qv(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case wv.Sheet:t=e[0];break;case wv.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case wv.Cell:this._cells.push([i,Lv.fromA1(e[0]),t]),t=void 0;break;case wv.Range:this._ranges.push([i,Lv.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,r,n,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case wv.SheetQuote:s+="'";break;case wv.SheetSeparator:s+="!";break;case wv.Sheet:r=o[0],s+=t?`<span style="font-style:italic">${r}</span>`:r;break;case wv.Variable:s+=o[0];break;case wv.Range:case wv.Cell:n=(r?"'"+r+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(n)}">${o[0]}</span>`:o[0],r=null;break;case wv.StringQuote:s+=i.stringQuote;break;case wv.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case wv.ArgumentSeparator:s+=i.argumentSeparator;break;case wv.Function:s+=(e?(a=o[0],Gv.get(a)??""):"")+o[0];break;case wv.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,r,n,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case wv.Sheet:l=o[0];break;case wv.Cell:case wv.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case wv.Number:case wv.String:case wv.Boolean:case wv.Variable:t.push({t:o[0],tt:o[1]});break;case wv.Operator:for(0==t.length&&t.push({t:"",tt:wv.Operand}),n=gv.get(o[0]);e.length>0&&(s=gv.get(e[e.length-1][0]),s)&&(0===n[2]&&n[1]<=s[1]||1===n[2]&&n[1]<s[1]);)r=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:r[0],tt:r[1],c:a});e.push(o);break;case wv.Function:case wv.OpenBracket:e.push(o);break;case wv.ArgumentSeparator:for(;e.length>0&&(r=e[e.length-1],![wv.OpenBracket,wv.ArgumentSeparator].includes(r[1]));)r=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:r[0],tt:r[1],c:a});e.push(o);break;case wv.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==wv.OpenBracket;)r=e.pop(),r[1]==wv.Operator?a.push({t:r[0],tt:r[1],c:[t.pop(),t.pop()].reverse()}):r[1]==wv.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===wv.Function?(r=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==wv.OpenBracket&&a.unshift(t.pop()),t.push({t:r[0],tt:r[1],c:a})):t.push(...a)}for(;e.length>0;)r=e.pop(),t.push({t:r[0],tt:r[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case wv.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.Operand:return"t.cl()";case wv.Variable:return i||e?.tt===wv.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case wv.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case wv.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case wv.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||Hv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case wv.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||Hv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):gv.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(gv.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:r,sheet:n,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==n){switch(o){case"up":t[1].shiftUp(e,i,r);break;case"right":t[1].shiftRight(e,i,r);break;case"down":t[1].shiftDown(e,i,r);break;case"left":t[1].shiftLeft(e,i,r)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==n){switch(o){case"up":t[1].shiftUp(e,i,r);break;case"right":t[1].shiftRight(e,i,r);break;case"down":t[1].shiftDown(e,i,r);break;case"left":t[1].shiftLeft(e,i,r)}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]==wv.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Yv(t,e){return e&&(t=mr(this.cell.model.options.locale,wr(e,"d"),!1)(t)),null==t?"":t.toString()}function Zv(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function Xv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Qv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Kv(...t){let e="";return Pv(t,(t=>e+=null==t?"":t.toString())),e}function Jv(...t){return Kv(...t)}function tb(t){return(t=null==t?"":t.toString()).length}function eb(t){return(t=null==t?"":t.toString()).toLowerCase()}function ib(t){return(t=null==t?"":t.toString()).toUpperCase()}function ob(t){return t instanceof Date?t:K(t)?Qo(t,Io()):ar(t)}function rb(t){return et(t)?t:sr(t instanceof Date?t:Qo(t,Io()))}function nb(t){return K(t)?rb(t):t}function sb(t,e){const i=ob(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function ab(t,e,i){return lr(rb(Ov(t)),e)}function lb(){return sr(ce(new Date))}function cb(t){return null==(t=Ov(t))||""===t}function hb(t,e,i){return sr(new Date(t,e-1,i))}function db(t){return ob(t).getFullYear()}function ub(t){return ob(t).getMonth()+1}function pb(t){return ob(t).getDate()}function gb(t,e){const i=ob(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),sr(i)}function mb(t){return Mi(ob(t))}function fb(t){return Math.acos(t)}function vb(t){return Math.acosh(t)}function bb(t){return Math.PI/2-Math.atan(t)}function yb(t){return.5*Math.log((t+1)/(t-1))}function wb(t){return Math.asin(t)}function xb(t){return Math.asinh(t)}function kb(t){return Math.atan(t)}function Cb(t){return Math.atanh(t)}function Mb(t){return Math.cos(t)}function _b(t){return Math.cosh(t)}function Sb(t){return 1/Math.tan(t)}function Eb(t){return 1/Math.tanh(t)}function zb(t){return 1/Math.sin(t)}function Lb(t){return 1/Math.sinh(t)}function Ib(t){return 180*t/Math.PI}function Rb(){return Math.PI}function Tb(t){return 1/Math.cos(t)}function $b(t){return 1/Math.cosh(t)}function Ab(t){return Math.sin(t)}function Db(t){return Math.sinh(t)}function Ob(t){return Math.tan(t)}function Nb(t){return Math.tanh(t)}function Pb(t){return Math.abs(t)}function jb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function Hb(t){return(t=Math.ceil(t))%2==0?t:t+1}function Fb(t){return Math.pow(Math.E,t)}function Bb(t){return t<0?-1:0==t?1:t*Bb(t-1)}function Wb(t){return t<=0?1:t*Wb(t-2)}function Vb(t){return Math.floor(t)}function Ub(t){return t%1!=0}function Gb(t){return!Ub(t)&&t%2==0}function qb(t){return Ub(t)||t%2==1}function Yb(t){return Math.log(t)}function Zb(t,e){return Math.log(t)/Math.log(e)}function Xb(t){return Math.log10(t)}function Qb(t,e){return t%e}function Kb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Jb(t,e){return Math.pow(t,e)}function ty(...t){let e=1;return Pv(t,(t=>e*=t||1)),e}function ey(t,e){return Math.floor(t/e)}function iy(t){return t*Math.PI/180}function oy(){return Math.random()}function ry(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 ny(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function sy(t,e){return t.toFixed(e)}function ay(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function ly(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function cy(t,e,i=1,o=1){const r=Array(t).fill(null).map((()=>Array(e)));let n=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)r[i][t]=n,n+=o;return r}function hy(t){return t<0?-1:t>0?1:0}function dy(t){return Math.sqrt(t)}function uy(t){return Math.sqrt(Math.PI*t)}function py(...t){let e=0;return Pv(t,(t=>e+=null==t?0:1)),e}function gy(...t){let e=0;return Pv(t,(t=>e+=null==t?1:0)),e}function my(t,e){let i=0;return Pv(t,(t=>i+=pv(e,t)?1:0)),i}function fy(...t){let e=0;const i=new Map;return Pv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function vy(...t){let e=0;return Pv(t,(t=>e+=isNaN(t)||null==t||""===t?0:t)),e}function by(t,e,i){let o=0;if(i){const r=Nv(i);Pv(t,((t,i,n)=>o+=pv(e,t)&&r[i]&&r[i][n]&&!isNaN(r[i][n])?r[i][n]:0))}else Pv(t,(t=>o+=pv(e,t)&&!isNaN(t)?t:0));return o}function yy(t,e){let i=0;return Pv(t,(t=>i+=pv(e,t)&&!isNaN(t)?t*t:0)),i}function wy(...t){let e=0;const i=t.shift();if(0===t.length)Pv(i,(t=>e+=isNaN(t)?0:t));else{const o=Nv(t[0]);Pv(i,((t,i,r)=>e+=o[i]&&o[i][r]&&!isNaN(t)&&!isNaN(o[i][r])?t*o[i][r]:0))}return e}function xy(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase()==t)}function ky(t,e,i=1){const o=new Lv(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 Cy(t,e,i,o=!1){let r,n;const s=xy(t,o);for(r=0;r<e.length;r++)for(n=0;n<e[r].length;n++)if(s(e[r][n]))return e[r][i-1];return null}function My(t,e,i,o=!1){let r,n;const s=xy(t,o);for(r=0;r<e.length;r++)for(n=0;n<e[r].length;n++)if(s(e[r][n]))return e[i-1][n];return null}function _y(t,e){if("number"==typeof t&&"number"==typeof e)return t-e;const i=(t??"").toString().toLowerCase(),o=(e??"").toString().toLowerCase();return i<o?-1:i>o?1:0}function Sy(t,e,i,o){const r=o<0,n=2==i?function(t){let e="";const i=null==t?"":t.toString();for(let t=0;t<i.length;t++){const o=i[t];"~"==o&&t+1<i.length?e+=i[++t].replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):e+="?"==o?".":"*"==o?".*":o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const o=new RegExp("^"+e+"$","i");return t=>o.test((t??"").toString())}(t):e=>0==_y(e,t);let s=-1;for(let o=0;o<e.length;o++){const a=r?e.length-1-o:o,l=e[a];if(n(l))return a;-1==i&&_y(l,t)<0?(s<0||_y(l,e[s])>0)&&(s=a):1==i&&_y(l,t)>0&&(s<0||_y(l,e[s])<0)&&(s=a)}return s}function Ey(t){return 1==t.length&&(t[0]?.length??0)>1}function zy(t,e,i,o=null,r=0,n=1){const s=Ey(e),a=s?e[0]:e.map((t=>t?.[0])),l=Sy(t,a,r,n);if(l<0)return o;const c=s?i.map((t=>t?.[l])):i[l];return null==c?null:1==c.length?c[0]:c}function Ly(t,e,i=0,o=1){const r=Ey(e)?e[0]:e.map((t=>t?.[0])),n=Sy(t,r,i,o);return n<0?null:n+1}function Iy(t,e,i){let o,r;t:for(o=0;o<e.length;o++)for(r=0;r<e[o].length;r++)if(e[o][r]==t)break t;return i?i[o]?i[o][r]:null:e[o][e[o].length-1]}function Ry(t,...e){let i=null,o=0;return Pv(e,(e=>{if(t==++o)return i=e,!1})),i}function Ty(t){return(t?Lv.fromA1(t).c1:this.cell.c)+1}function $y(t){return(t?Lv.fromA1(t).r1:this.cell.r)+1}function Ay(t){return Array.isArray(t)?t[0]?.length:1}function Dy(t){return Array.isArray(t)?t.length:1}function Oy(){const t=Dv(this)[0];return t&&t.hasFormula?" "+Bv(t.formula):""}function Ny(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 Py(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let r;return i.calculations.dependencies.cellDependencies.has(e.address)?r=i.calculations.dependencies.cellDependencies.get(e.address):(r=new Map,i.calculations.dependencies.cellDependencies.set(e.address,r)),r.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?r=i.calculations.dependencies.cellDependants.get(o.address):(r=new Map,i.calculations.dependencies.cellDependants.set(o.address,r)),r.set(e.address,[e.range]),o.value}function jy(t,e,i=0){let o,r;for(o=0;o<e.length;o++)for(r=0;r<e[o].length;r++){if(0==i&&e[o][r]==t)return Math.max(o+1,r+1);if(1==i&&e[o][r]>t)return Math.max(o+1,r+1);if(-1==i&&e[o][r]<t)return Math.max(o+1,r+1)}return null}function Hy(t,e,i,o,r){const n=Dv(this)[0],s=[];o=o||1,r=r||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<r;s++){const r=n.model.rows[n.r+t+e].cell(n.c+s+i);o.push(r?n.value:null)}s.push(o)}return s}function Fy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let r=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){r=!1;break}r&&i.push(t[o])}return i}const By=[[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]],Wy=[[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=By[0][4]*e,r=e;for(i=0;i<3;i+=1)o=(o+By[0][i])*e,r=(r+Wy[0][i])*e;return t*(o+By[0][3])/(r+Wy[0][3])}function Uy(...t){let e=!0;return Pv(t,(t=>{if(!t)return e=!1})),e}function Gy(...t){let e=!1;return Pv(t,(t=>{if(t)return e=!0})),e}function qy(...t){let e=null;return Pv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function Yy(...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 Zy(t,e,i){return t?e:i}function Xy(t){return!t}function Qy(){return!1}function Ky(){return!0}function Jy(t,e){return e=""===e?null:e,this.cell.hasError?(this.cell.error.handled=!0,e):t===1/0||t===-1/0||Number.isNaN(t)?e:t}var tw=i(235),ew=i.n(tw),iw=i(5949),ow=i.n(iw);function rw(...t){let e=0,i=0;return Pv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function nw(t,e){const i=ow()(),o=Nv(t),r=Nv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(r[t]?r[t][e]:1)??1);return i()}function sw(...t){const e=function(t){const e=[];return Pv(t,(t=>e.push(t))),e}(t),i=ew()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function aw(...t){let e=1/0;return Pv(t,(t=>e=Math.min(e,t))),e}function lw(...t){let e=-1/0;return Pv(t,(t=>e=Math.max(e,t))),e}function cw(t,e){Object.keys(e).forEach((i=>t.set(at(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const hw=new Map;cw(hw,_),cw(hw,S),cw(hw,E),cw(hw,z),cw(hw,I),cw(hw,L),cw(hw,R);class dw{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);if(null==t)return this.currentCell.value;const o=i.getCellByA1(t);return o?o.value:(this.currentCell.error={message:`undefined cell ${t}`},null)},this.rn=(t,e)=>this.getModel(e).getValuesInRange(Lv.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=hw.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>yv(t,e,i)}}function uw(t,e){const i=Array(e).fill(null);let o=0,r=[];if(t.length>1){r=t.map((t=>parseFloat(t.value)||0)),o=r[1]-r[0];for(let t=2;t<r.length;t++)if(r[t]-r[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=r[r.length-1];for(let r=0;r<e;r++)t=i[r]=t+o}return i}function pw(t,e,i){const o=new qv(t.formula,t.model.calculations.tokenizer),r=[];for(let t=0;t<i;t++)r.push(Bv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return r}function gw(t,e,i,o){const r=t.getCellMatrix(e);let n;"right"==o?n=Qr(r):"down"==o?n=Xr(r):"left"==o?n=Yr(r):"up"==o&&(n=Yr(Xr(r)));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=r.length>t?r[t][r[t].length>e?e:0]:r[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=n.map((t=>t[t.length-1].hasFormula?pw(t[t.length-1],o,a):uw(t,a)));return"down"==o?l=Xr(l):"left"==o?l=Yr(l):"up"==o&&(l=Zr(Xr(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function mw(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function fw(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 vw{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 editorFactory(){return this._editorFactory}set editorFactory(t){this._editorFactory=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?Bv(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._editorFactory=t.editorFactory,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?mw(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),"editorFactory"in t&&(e.editorFactory=this._editorFactory,this._editorFactory=t.editorFactory),"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=mw(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=nt(this._properties)),null!=this._editorContent&&(t.content=X(this._editorContent)?nt(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 bw(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const yw=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"}]]),ww=(()=>{const t=new Map;return yw.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 xw(t){return"middle"==t?"center":t}function kw(t){return t="#"==t.charAt(0)?t.substring(1):t,/^[0-9a-fA-F]{3}$/.test(t)?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(t)?t:Vr(Wr(t))}const Cw=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",r=ww.get(o);return{style:(r?r.get(i):null)??"thin",color:e.length>2?kw(e[2]):"CCCCCC"}},Mw=t=>{const e=yw.get(t.style||"none");return e?[Nt(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},_w=(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=Pr(o,.75);break;case"mediumGray":t.backgroundColor=Pr(o,.5);break;case"lightGray":t.backgroundColor=Pr(o,.25);break;case"gray125":t.backgroundColor=Pr(o,.125);break;case"gray0625":t.backgroundColor=Pr(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},Sw=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),Ew=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=Ot(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Mw(t.top)),t.right&&(e.borderRight=Mw(t.right)),t.bottom&&(e.borderBottom=Mw(t.bottom)),t.left&&(e.borderLeft=Mw(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.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??e.textAlign??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.alignment.textRotation&&Object.assign(e,(t.alignment.horizontal,t.alignment.vertical,{position:"absolute",overflow:"visible",inset:"initial",padding:"0",transform:"rotate("+(-t.alignment.textRotation).toString()+"deg)"}))),t.patternType?_w(e,t):t.stops&&t.stops.length?Sw(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},zw=t=>{const e=X(t)?t:bw(t),i={};let o;for(const t in e){const r=e[t];if(null!=r)switch(t){case"borderTop":case"border-top":i.top=Cw(r);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=kw(r):i.top={style:"thin",color:kw(r)};break;case"borderRight":case"border-right":i.right=Cw(r);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=kw(r):i.right={style:"thin",color:kw(r)};break;case"borderBottom":case"border-bottom":i.bottom=Cw(r);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=kw(r):i.bottom={style:"thin",color:kw(r)};break;case"borderLeft":case"border-left":i.left=Cw(r);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=kw(r):i.left={style:"thin",color:kw(r)};break;case"border":o=Cw(r),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=r;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=xw(r);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=r&&"nowrap"!=r;break;case"color":i.color=kw(r);break;case"background":case"backgroundColor":case"background-color":i.fgColor=kw(r);break;case"fontSize":case"font-size":i.sz=parseFloat(r);break;case"fontWeight":case"font-weight":i.bold="bold"==r;break;case"fontStyle":case"font-style":i.italic="italic"==r;break;default:i[t]=r}}return i},Lw=(t,e)=>{for(const i in e)t.style[i]=e[i]},Iw=t=>t.alignment&&null!=t.alignment.textRotation,Rw=(t,e)=>{if(!e.alignment||null==e.alignment.textRotation)return;const i=e.alignment,o=t.getBoundingClientRect(),r=t.parentElement,n=(o.width-t.offsetWidth)/2,s=(o.height-t.offsetHeight)/2,a={};"top"==i.vertical?a.t=s:"bottom"==i.vertical?a.b=s:a.t=(r.clientHeight-t.offsetHeight)/2,"left"==i.horizontal?a.l=n:"right"==i.horizontal?a.r=n:a.l=(r.clientWidth-t.offsetWidth)/2,Ft(t,a)},Tw={n:t=>{const e=K(t)?parseFloat(t.replace(",",".")):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>{if(null==t||""===t)return null;if(K(t))try{return J(t)?tt(t):sr(Qo(t,e.model.options.formatLocale))}catch(i){return e.model.logger.error(`Invalid date value in cell ${e.address}: ${t}`),null}return t instanceof Date?sr(t):t},tm:t=>K(t)?new Date(t):t,dt:t=>K(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||""===t)return null;const e=parseFloat(t.toString().replace(",","."));return isNaN(e)?t:e},a:t=>K(t)&&""!==t?JSON.parse(t):t,h:t=>t},$w=new Map;class Aw extends vw{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get merge(){return this.model.merges.mergedCells.get(this.address)}get row(){return this._row}set row(t){this._row=t}get r(){return this._row.index}get column(){return this._column}set column(t){this._column=t}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&&Fv(t.toString()))this._value=void 0,this.formula=t;else{let e=Tw[this.type](t,this);fw(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=Tw[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?Bv(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:r}=this.model.options,n=this.value;if(null==n||""===n)return null;if("n"==e)return null!=i?mr(o,i,r):this.model.options.numberFormatter;if("g"==e){if(null!=i)return mr(o,i,r);if(et(n))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:mr(o,i,!1);if("d"==e)return i?Ko(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!$w.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);$w.set(t,(t=>e.has(t)?e.get(t):t))}else $w.set(t,(t=>t));return $w.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 Lv.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 editorFactory(){return super.editorFactory??this.elm1.editorFactory??this.elm2.editorFactory}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._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f&&""!==t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"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.merge&&(e.cs=this.merge.cs,e.rs=this.merge.rs),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=Ew(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=Ew(i)}validate(){return!this.validation||fw(this,this.value)}toString(){return this.address}}const Dw={property:"value",enabled:!0};class Ow extends($r(vw)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?Dw:{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 Tv(this.index)}get range(){return new Lv(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}hasHeaderTooltip(t){const e=this.header?.[t];return e&&null!=e.tooltip}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>{if(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,null!=this.model.options.headers?.style){const e=this.model.styles.add(this.model.options.headers.style).id;t._style=this.model.styles.merge(t._style,e).id}return t})):K(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=X(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?Dw:!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 Nw;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(Nw||(Nw={}));const Pw=t=>t instanceof Date?t.getTime():"number"==typeof t?t:0,jw={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)=>Pw(t.value)-Pw(e.value),tm:(t,e)=>Pw(t.value)-Pw(e.value),dt:(t,e)=>Pw(t.value)-Pw(e.value),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},Hw={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)=>Pw(e.value)-Pw(t.value),tm:(t,e)=>Pw(e.value)-Pw(t.value),dt:(t,e)=>Pw(e.value)-Pw(t.value),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},Fw=(t,e)=>t.origIndex-e.origIndex;class Bw{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(),Ir().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=null){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}restore(t,e=!1){this._settings=(t||[]).filter((t=>this.model.columns[t.c])),this.colMap.clear(),this._settings.forEach(((t,e)=>this.colMap.set(t.c,e))),e&&this._settings.length>0&&this.applySort()}sort(t,e=null,i=!1){let o=this.get(t);return o&&o.ord==Nw.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=Nw.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:Nw.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==Nw.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==Nw.Asc?jw[i.type??"t"]:Hw[i.type??"t"]:(Ir().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,r,n;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(r=0;r<i;r++)if(n=this.settings[r].c,o=e[r](t.cell(n),s.cell(n)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(Fw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class Ww{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=Ko("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class Vw{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 Ww?t:new Ww(t)))||[]),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new Lv(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new Ww(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=Lv.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}function Uw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class Gw{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,e="calculations"){this.model=t,this.modelPart=e,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=Lv.fromA1(t).removeAnchors(),r=Lv.fromA1(e).removeAnchors();e=r.A1;const n=r.isRange,s=n?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[r,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=n?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=n?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){let i,o;const r=t.A1;return e=e??new Map,this._cellDependants.has(r)&&this._cellDependants.get(r).forEach((([t,n])=>{e.has(t)||(n&&(o=this.model.getConnectedModel(n)),i=o||this.model,e.set(t,[i.getCellByRange(t),n]),o?o[this.modelPart].dependencies.getDependants(t).forEach(((t,i)=>{e.set(i,[t[0],t[1]??n])})):(t.A1!=r||o)&&i.calculations.dependencies.getDependants(t,e))})),this._rangeDependants.forEach(((i,o)=>{Lv.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)),Uw(this._cellDependants,t,e),Uw(this._cellDependencies,t,e),Uw(this._rangeDependants,t,e),Uw(this._rangeDependencies,t,e)}}class qw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this._dependencies=new Gw(t,e)}}function Yw(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}class Zw extends qw{get tokenizer(){return this._tokenizer}get formulas(){return this._formulas}constructor(t){super(t,"calculations"),this._tokenizer=new Sv,this._formulas=new Map,this.context=new dw(t)}createFormula(t){const e=new qv(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 r=this.model.getCellByName(o,t.range);r&&this._dependencies.add(e,r.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 qv(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={message:Yw(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 r=o.calculations.getFormula(i);r.hasSheetReference(e)&&(i.formula=r.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,r=t.columns.length;for(let n=0;n<o;n++){i=t.rows[n];for(let t=0;t<r;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 r=this.getFormula(o);r.renameSheet(t,e)&&(o.formula=r.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 Xw="#ff0000",Qw="#fcd53f",Kw="#00bb5e",Jw="#555555",tx=new Map([["3Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","right"],color:Qw},{icon:["fas","up"],color:Kw}]],["3ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","right"],color:Jw},{icon:["fas","up"],color:Jw}]],["3Flags",[{icon:["fas","flag-pennant"],color:Xw},{icon:["fas","flag-pennant"],color:Qw},{icon:["fas","flag-pennant"],color:Kw}]],["3TrafficLights1",[{icon:["fas","circle"],color:Xw},{icon:["fas","circle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:Xw},{icon:["fas","square-o"],color:Qw},{icon:["fas","square-o"],color:Kw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:Xw},{icon:["fas","triangle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:Xw},{icon:["fas","circle-exclamation"],color:Qw},{icon:["fas","circle-check"],color:Kw}]],["3Symbols2",[{icon:["fas","xmark"],color:Xw},{icon:["fas","exclamation"],color:Qw},{icon:["fas","check"],color:Kw}]],["3Stars",[{icon:["fal","star"],color:Qw},{icon:["fas","star-half-stroke"],color:Qw},{icon:["fas","star"],color:Qw}]],["3Triangles",[{icon:"caret-down",color:Xw},{icon:"dash",color:Qw},{icon:"caret-up",color:Kw}]],["4Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","down-right"],color:Qw},{icon:["fas","up-right"],color:Qw},{icon:["fas","up"],color:Kw}]],["4ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","down-right"],color:Jw},{icon:["fas","up-right"],color:Jw},{icon:["fas","up"],color:Jw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:Xw}]],["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:Xw},{icon:["fas","circle"],color:Qw},{icon:["fas","circle"],color:Kw}]],["5Arrows",[{icon:["fas","down"],color:Xw},{icon:["fas","down-right"],color:Qw},{icon:["fas","right"],color:Qw},{icon:["fas","up-right"],color:Qw},{icon:["fas","up"],color:Kw}]],["5ArrowsGray",[{icon:["fas","down"],color:Jw},{icon:["fas","down-right"],color:Jw},{icon:["fas","right"],color:Jw},{icon:["fas","up-right"],color:Jw},{icon:["fas","up"],color:Jw}]],["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"}]]]),ex=(t,e)=>{const i=tx.get(t);return i?i[e]:null};class ix extends qw{constructor(t,e){super(t,"conditionalFormats"),this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){Ir().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))return this.extremes.get(t.key);const e=[1/0,-1/0];return t.ranges.forEach((t=>{for(const i of this.model.getValuesInRange(t))for(const t of i)null!=t&&(isNaN(t)||(e[0]=Math.min(e[0],t),e[1]=Math.max(e[1],t)))})),t.cmin&&("num"==t.cmin.t?e[0]=t.cmin.v:"percent"==t.cmin.t&&(e[0]=e[0]+(e[1]-e[0])*t.cmin.v/100)),t.cmax&&("num"==t.cmax.t?e[1]=t.cmax.v:"percent"==t.cmax.t&&(e[1]=e[0]+(e[1]-e[0])*t.cmax.v/100)),this.extremes.set(t.key,e),e}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,r]=this.getExtremes(e.cf);let n;const s=(i-o)/(r-o);if(e.cf.cmid?.color)n=.5==s?"#"+e.cf.cmid.color:s>.5?Fr("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):Fr("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;n=Fr("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:Br(n).substring(1),fgColor:n.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let r=o[0];const n=o[1],s=r<0;s||(r-=.1*(n-r));const a=Math.round(100*(i-r)/(n-r));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*r/(n-r));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 qv(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 r=this.model.getCellByName(o,t.range);r&&this._dependencies.add(i,r.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||Vr(Br(Ur(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,r]=this.getExtremes(e.cf);let n;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==n&&(n=100*(i-o)/(r-o)),n>=s.v)return{icon:ex(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:ex(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,r=null;for(const e of i){try{switch(e.cf.type){case"formula":r=this.evaluateFormulaFormat(t,e);break;case"scale":r=this.evaluateScaleFormat(t,e);break;case"bar":r=this.evaluateBarFormat(t,e);break;case"icon":r=this.evaluateIconFormat(t,e);break;default:r=null}}catch(t){Ir().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(r&&(o=o?{...o,...r}:r,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new wx(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new qv(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:Lv.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:Lv.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})))}}const ox=(t,e)=>{const i=new RegExp(`${pt(ht(t))}`,"ig");return t=>(i.lastIndex=0,i.test(ht((t[e]??"").toString())))},rx=(t,e)=>i=>!!i[e]===t,nx=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},sx=(t,e)=>t=>!1,ax=t=>!!t&&"object"==typeof t&&!Array.isArray(t)&&"range"===t.kind,lx=t=>!(null!=t.from&&""!==t.from||null!=t.to&&""!==t.to),cx=(t,e,i)=>{const o=t=>{if(null==t||""===t)return null;if(t instanceof Date)return t.getTime();const e=new Date(t).getTime();return Number.isNaN(e)?null:e},r=o(t.from);let n=o(t.to);return null===n||"d"!==i&&"dt"!==i||(n+=86399999),t=>{const i=o(t[e]);return!(null===i||null!==r&&i<r||null!==n&&i>n)}},hx="[-+]?\\d+(?:[.,]\\d+)?",dx=t=>Number(t.replace(",",".")),ux=t=>new RegExp(`^${hx}$`).test(t.trim()),px=t=>{const e=[];if(!t)return e;let i=[],o=null,r=null;const n=()=>{i.length>0&&(e.push(i),i=[])},s=t=>{0===e.length&&0===i.length||"or"===(o??("="===r&&"="===t[0].op?"or":"and"))&&n(),i.push(...t),o=null,r=t[t.length-1].op},a=new RegExp(`(${hx})\\s*\\.\\.\\s*(${hx})|(>=|<=|<>|!=|==|=|>|<)\\s*(${hx})|\\b(and|or)\\b|(${hx})`,"gi");let l;for(;null!==(l=a.exec(t));)null!=l[1]?s([{op:">=",value:dx(l[1])},{op:"<=",value:dx(l[2])}]):null!=l[3]?s([{op:"=="===l[3]?"=":"<>"===l[3]?"!=":l[3],value:dx(l[4])}]):null!=l[5]?o="or"===l[5].toLowerCase()?"or":"and":null!=l[6]&&s([{op:"=",value:dx(l[6])}]);return n(),e},gx=(t,e)=>i=>{if(0===t.length)return!0;const o=i[e];if(null==o||""===o)return!1;const r="number"==typeof o?o:Number(o);return!Number.isNaN(r)&&t.some((t=>t.every((t=>((t,e)=>{switch(e.op){case">":return t>e.value;case">=":return t>=e.value;case"<":return t<e.value;case"<=":return t<=e.value;case"=":return t===e.value;case"!=":return t!==e.value}})(r,t)))))},mx=(t,e,i)=>{if(i=i??"value",("d"===t||"dt"===t||"tm"===t)&&ax(e))return cx(e,i,t);if("n"===t){const t=e?.toString()??"";if(ux(t))return ox(t.trim(),"formattedValue");const o=px(t);return o.length>0?gx(o,i):ox(t,"formattedValue")}return"b"===t?rx(e,i):"s"===t&&Array.isArray(e)?nx(e,"value"):"s"===t?ox(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?sx(e,i):ox(e?.toString(),"d"===t||"dt"===t||"tm"===t?"formattedValue":i)};class fx extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class vx extends EventTarget{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.applyFilter(),Ir().info(`filtering applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=null){super(),this.model=t,this.custom=!1,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}restore(t,e=!1){this.custom=e,this._settings=(t||[]).filter((t=>this.model.columns[t.c])),this.colMap.clear(),this._settings.forEach(((t,e)=>this.colMap.set(t.c,e))),!e&&this._settings.length>0&&this.applyFilter(!1)}filter(t,e=!0){const i=this.get(t.c),o=null===t.term||""===t.term||ax(t.term)&&lx(t.term);i&&o?(this.settings.splice(this.colMap.get(t.c),1),this.colMap.clear(),this.settings.forEach(((t,e)=>this.colMap.set(t.c,e)))):i?i.term=t.term:o||(this.colMap.set(t.c,this.settings.length),this.settings.push(t)),this.custom||(this.settings.length>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new fx)}applyFilter(t=!0){const e=[];this.settings.forEach((t=>{const i=this.model.columns[t.c];e.push({c:t.c,matcher:mx(i.type,t.term,i.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,r=this.model.options.filters?.includeChildren??!0,n=new Set;this.model.rows.forEach((t=>{const s=n.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=Rr.Matched,o&&t.walkUp((t=>{if(n.has(t.index)&&t.filterState>0)return!1;t.filterState=Rr.ChildMatched,n.add(t.index)})),r&&t.walk((t=>{if(n.has(t.index)&&t.filterState>0)return!1;t.filterState=Rr.ParentMatched,n.add(t.index)}))):s||(t.filterState=Rr.Filtered),n.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new fx)}resetFilter(t=!0){this.settings=[],this.colMap.clear(),this.model.rows.forEach((t=>t.filterState=Rr.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new fx)}}class bx extends qw{constructor(t,e){super(t,"sparklines"),this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(Lv.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[Lv.fromA1(t)])):t.data.split(",").map((t=>[Lv.fromA1(t)])),rt({},lv.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 r,n,s,a;return null==o.minValue||K(o.minValue)?"auto"==(o.minValue||"auto")?(r=r??ct(...e[1].map((t=>i.getValuesInRange(t[0])))),s=r[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],ct(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),n=this.extremes.get(e[0]),s=n[0]):s=o.minValue,null==o.maxValue||K(o.maxValue)?"auto"==(o.maxValue||"auto")?(r=r??ct(...e[1].map((t=>i.getValuesInRange(t[0])))),a=r[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],ct(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),n=this.extremes.get(e[0]),a=n[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,r=e.size;if(r.columns>1&&r.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let n=!1;if(n=1==r.columns&&1==r.rows?o.rows>1:r.columns>1,n)for(let o=e.c1;o<=e.c2;o++)this.map.set(new Lv(o,e.r1).A1,[t,i.map((([t,i])=>[new Lv(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 Lv(e.c1,o).A1,[t,i.map((([t,i])=>[new Lv(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(lv.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const r=this.groups.get(t);Object.assign(r,{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 yx extends Lv{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,e||(this.done=!0)}[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 wx extends Lv{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 Lv(this.c+this.c1,this.r+this.r1)})}}class xx extends Lv{constructor(t,e,i){super(e?.c1,e?.r1,e?.c2,e?.r2),this.model=t,this.i=0,this.done=!1,this.axis=i,this.key="rows"===i?"r1":"c1",e||(this.done=!0)}[Symbol.iterator](){return this}next(){if(this.done)return{done:!0};this.i<this.size[this.axis]-1&&this.i++,this.done=this.i>=this.size[this.axis]-1;const t=this.model[this.axis][this.i+this[this.key]];return t?{done:!1,value:t}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class kx{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,X(e)?Lv.fromCoords(e):Lv.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 r=0;r<i.length;r++){e=i[r];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 r=e.A1;o!=r&&(this.rangeMap.delete(o),this.rangeMap.set(r,i))}))}getSourceData(){const t=[];return this.names.forEach(((e,i)=>{t.push({name:i,ref:e.A1})})),t}}function Cx(t,e=null){const i=rt({},lv.DEFAULT_OPTIONS,e,an(t,e));return i.numberFormat?i.numberFormatter=mr(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=mr(i.formatLocale)),i.dateFormat?i.dateFormatter=Ko(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ko(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},sv,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},av,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},av,i.columnTree),i.cellValidation&&(i.cellValidation=mw(i.cellValidation)),i}class Mx extends($r(vw)){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 Iv(this.index)}get range(){return new Lv(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 Aw(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 Aw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;if(null!=e){const o=this._data[e];if(X(o))o.comment&&this.model.comments.set(i.address,[o.comment]),(o.cs>1||o.rs>1)&&this.model.merges.add({r:this.index,c:t,cs:o.cs||1,rs:o.rs||1}),i.populate(o);else if(!i.hasValue){const t=i.displayValue;i.value=o,null!=t&&(i.displayValue=t)}}}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 r=this.model.columns.length,n=this.model.calculations;if(i)for(let i=0;i<r;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=n.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 r=this.model.columns.length,n=this.model.calculations;if(i)for(let i=0;i<r;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=n.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 _x=i(4418),Sx=i.n(_x);const Ex=t=>t?"1":"0",zx=t=>null==t?"_":t,Lx=t=>null==t?"_":t.toString(),Ix=t=>null==t?"_":JSON.stringify(t),Rx=t=>zx(t&&t.color?t.color:"_")+zx(t&&t.style?t.style:"_"),Tx=t=>zx(t?t.horizontal:null)+zx(t?t.vertical:null)+zx(t?t.horizontal:null)+Lx(t?t.indent:null)+Ex(t?t.wrapText:null)+Lx(t?t.textRotation:null),$x=t=>Sx()("s_"+Ex(t.bold)+Ex(t.italic)+Ex(t.underline)+Lx(t.sz)+zx(t.font)+zx(t.color)+Rx(t.top)+Rx(t.right)+Rx(t.bottom)+Rx(t.left)+zx(t.patternType)+zx(t.fgColor)+zx(t.bgColor)+Tx(t.alignment)+Lx(t.angle)+Ix(t.stops)+Ex(t.hidden)+Ex(t.editable)+Ix(t.cssStyle)+Ix(t.icon));function Ax(t){const e={...t};return delete e.id,delete e.hash,e}class Dx{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?zw(t):t,i=e.hash?e.hash:$x(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=>X(t)?t:this.get(t))));return this.add(Ax(e))}duplicate(t,e){const i=this.get(t);return this.add(Ax({...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 Ox(t,e,i,o){const r=o??("rows"==i?e.rows:e.columns),n=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}(r),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[r[t.index]]:t.level>-1?n.get(t.level):r,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(pt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{null!=t.priority&&(o.priority=t.priority),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 Nx(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function Px(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)Nx(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 jx(t,e,i){Ox(t,e,"columns",i)}function Hx(t,e,i){Ox(t,e,"rows",i)}function Fx(t,e){Px(t,e),jx(t,e),Hx(t,e)}var Bx;!function(t){t[t.NONE=0]="NONE",t[t.MERGED=1]="MERGED",t[t.HIDDEN=2]="HIDDEN"}(Bx||(Bx={}));class Wx{get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}constructor(t){this.model=t,this._mergedCells=new Map,this._hiddenCells=new Map}clear(){this._mergedCells.clear(),this._hiddenCells.clear()}getMergeState(t){return this._mergedCells.has(t)?Bx.MERGED:this._hiddenCells.has(t)?Bx.HIDDEN:Bx.NONE}indexMergedRange(t){const e=t.A1,i=this._mergedCells.get(e);if(!i)return;const o=i.r,r=i.c,n=t.clone();if(this.model.rows.length<=o||this.model.columns.length<=r)this.remove(e);else for(let t=0;t<i.rs;t++)for(let e=0;e<i.cs;e++)0==t&&0==e||(n.r1=o+t,n.c1=r+e,n.r2=n.r1,n.c2=n.c1,this._hiddenCells.set(n.A1,i))}add(t){const e=new Lv(t.c,t.r),i=e.A1;if(this._mergedCells.has(i))this.remove(i);else if(this._hiddenCells.has(i))return;this._mergedCells.set(i,t),this.indexMergedRange(e)}remove(t){const e=this._mergedCells.get(t);if(!e)return;this._mergedCells.delete(t);const i=e.r,o=e.c,r=new Lv(o,i);this._hiddenCells.delete(t);for(let t=0;t<e.rs;t++)for(let n=0;n<e.cs;n++)0==t&&0==n||(r.r1=i+t,r.c1=o+n,r.r2=r.r1,r.c2=r.c1,this._hiddenCells.delete(r.A1))}shift(t){const{index:e,offset:i,direction:o}=t,r={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(t.cs-=i)}},n=[...this._mergedCells.values()];n.forEach((t=>this.remove(new Lv(t.c,t.r).A1))),n.forEach((t=>{r[o](t),this.add(t)}))}}const Vx=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class Ux{get mergedHeaders(){return this._mergedHeaders}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.merges=new Wx(this),this.styles=new Dx(this),this.comments=new Vw(this),this.calculations=new Zw(this),this.names=new kx(this),this.sorting=new Bw(this),this.filter=new vx(this),this.sparklines=new bx(this),this.conditionalFormats=new ix(this),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??Cx(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(Lv.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 Lv?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new Mx(this,{l:-1}),i=0){let o=!1,r=!1;this.autofitRows.clear();const n=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(r=!0),"auto"==t.h&&this.autofitRows.add(e);const n=new Mx(this,t);return n.origIndex=e+i,n.name&&this.names.set(n.name,Lv.fullRow(e)),n}));let s=-1;return o?s=Ar(n,e,{reverse:this.options.rowTree.reversed}):r?s=Dr(n,e):e.children=n,r||(o=!0),[e,n,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new Mx(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];Hx(this.theme,this,t),Px(this.theme,this,new Lv(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Fx(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 r=new Ow(this,t);return this._filter=r.hasFilter||this._filter,r.name&&this.names.set(r.name,Lv.fullColumn(o)),r})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new Ow(this,{l:-1}),e?this._maxColumnLevel=Ar(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=Dr(this.columns,this.colRoot):this.colRoot.children=this.columns,i||(this._levelBasedColTree=!0),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.merges.clear(),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?(e.cs>1||e.rs>1)&&this.merges.add({r:o.r,c:o.c,rs:e.rs||1,cs:e.cs||1}):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}))})),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){Ir().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){Ir().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){Ir().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){Ir().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){Ir().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(Vx),r=Object.keys(t).filter((t=>!o.has(t)));r.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.options.filters?.defaultSettings&&(this.filter.settings=this.options.filters.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(),names:this.names.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==Rr.Filtered||(t.visibleIndex=this.visibleRows.length,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=[],r=[];let n,s,a=e.h,l=0;for(l=0;l<i.t;l++)n=this.visibleRows[l],a-=n.height,o.push(n);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)n=this.visibleRows[l],a-=n.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)n=this.visibleRows[l++],a-=n.height,o.push(n);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,r.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,r.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)r.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:r}}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,r=new Array(o);let n,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){r[s]=new Array(i),a=0,n=this.rows[o];for(let i=t.c1;i<=t.c2;i++)r[s][a++]=e?n.cell(i).formattedValue:n.cell(i).value;++s}return r}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&&this._viewport.columns.length&&this._viewport.rows.length?new Lv(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 Lv(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new yx(this,i&&t.intersect(i))}getInitializedCellIterator(){return new yx(this,this.gridRange,!0)}getRowIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new xx(this,i&&t.intersect(i),"rows")}getColumnIterator(t,e=!1){const i=e&&this._viewport?this.getViewportRange():this.gridRange;return new xx(this,i&&t.intersect(i),"columns")}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,r;const n=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){r=[];for(let n=t.c1;n<=t.c2;n++)o=i.cell(n),o&&r.push(e(o));n.push(r)}return n}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shift(t){t.sheet=this.name,this.merges.shift(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 r=new Array(e).fill(null).map((()=>new Ow(this)));return this.columns.splice(t,0,...r),this.maxColumnLevel>0&&o.insertChildren(r,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),r}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 r=this.columns.splice(t,e);return i?.deleteChildren(r),this.indexColumns(),this.clearCalculations(!0),r}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),r=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const n=isNaN(e)?e.length:e;this.shift({index:t,offset:n,direction:"down"});const s=isNaN(e)?e:new Array(n).fill(null).map((()=>new Mx(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&r.insertChildren(s,t-(r.index||-1)-1),this.indexRows(),this.theme&&(Hx(this.theme,this,s),Px(this.theme,this,new Lv(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:r}=t,n=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new Lv(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:n,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),r&&(c.format=r.format,c.type=r.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),n.push(c))}}return{cells:n,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?Ar:Dr;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?Ar:Dr;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 Gx{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 Ux(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 Ux(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 qx{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 Yx{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 Lv(t,e,i,o),this.activeCell=new Lv(0,0)}static fromRange(t){return new Yx(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=Lv.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 Zx={...lv,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class Xx{constructor(t,e,i=Zx.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 Qx=function(t,e,i,o){var r,n=arguments.length,s=n<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--)(r=t[a])&&(s=(n<3?r(s):n>3?r(e,i,s):r(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s};const Kx=t=>{if(null==t||""===t)return"";if(t instanceof Date)return t.toLocaleDateString();if("string"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?t:e.toLocaleDateString()}return String(t)};let Jx=class extends Ls{constructor(){super(),this.render=()=>cs`
|
|
4015
4015
|
<og-icon id="filterIcon" .icon="${{icon:"filter"}}"></og-icon>
|
|
4016
4016
|
<div class="text">${this.renderValue()}</div>
|
|
4017
4017
|
`}connectedCallback(){super.connectedCallback()}renderValue(){return null==this.value?"":Z(this.value)?cs`<og-icon .icon="${this.value?"square-check":"square"}"></og-icon>`:(t=>!!t&&"object"==typeof t&&!Array.isArray(t)&&"range"===t.kind)(this.value)?(t=>{const e=Kx(t.from),i=Kx(t.to);return e&&i?`${e} – ${i}`:e?`≥ ${e}`:i?`≤ ${i}`:""})(this.value):"object"==typeof this.value?"":this.value}};Jx.styles=Mn`
|
|
@@ -4698,7 +4698,7 @@
|
|
|
4698
4698
|
gap: 4px;
|
|
4699
4699
|
margin-top: 4px;
|
|
4700
4700
|
}
|
|
4701
|
-
`,qk([As({type:String})],Xk.prototype,"type",void 0),qk([Ds()],Xk.prototype,"_from",void 0),qk([Ds()],Xk.prototype,"_to",void 0),Xk=qk([Rs(`${Zx.PREFIX}-filter-range-popup`)],Xk);const Qk=t=>{const e=wt("og-filter-dropdown");return t.adapter?e.adapter=t.adapter:t.editorContent?e.items=t.editorContent:e.items=function(t){const e=new Map;for(let i=0;i<t.model.rows.length;i++){const o=t.cell(i);e.set(o.value,(o.displayValue??o.value??"").toString())}const i=[];return e.forEach(((t,e)=>i.push({k:e,v:t}))),i}(t),e},Kk=new Map([["t",()=>wt("og-filter-text")],["n",()=>wt("og-filter-number")],["d",()=>wt("og-filter-range")],["dt",()=>wt("og-filter-range")],["tm",()=>wt("og-filter-range")],["b",()=>wt("og-filter-checkbox")],["s",t=>Qk(t)],["m",t=>Qk(t)]]);class Jk{get model(){return this.grid.model}get selection(){return this.grid.selection}get selector(){return this.grid.selector}get events(){return this.grid.events}get table(){return this.grid.table}get filterModel(){return this.model?.filter}constructor(t){this.grid=t,this.filterMap=new Map}get isCustomFilter(){return!!this.grid.adapter&&this.model.options.pageSize>0}init(){}filter(t){this.filterModel.filter(t,!1),this.refresh()}resetFilter(){this.filterModel.resetFilter(!1),this.refresh()}refresh(){this.isCustomFilter?(this.model.rowRoot.clearChildren(),this.model.rowRoot.count=1/0,this.model.clearRows(),this.grid.rendering.loadNextPage(null,!0)):(this.table.rowOffset=0,this.grid.rendering.renderCells({vertical:!0,horizontal:!0}))}getFilter(t){let e=this.filterMap.get(t.index);return e?(e.columnModel=t,e):(e=function(t,e){const i=Kk.get(t.type),o=i?i(t):wt("og-filter-text");return o.columnModel=t,o.filterModel=e,o}(t,this.filterModel),this.grid.shadowRoot.appendChild(e),this.filterMap.set(t.index,e),e.addEventListener("grid.filter.deactivate",(()=>{Ct(e),this.unsubscribeDeactivation()})),e.addEventListener("grid.filter.apply",(()=>this.refresh())),e)}subscribeDeactivation(t){this.deactivate=()=>t.deactivate(),document.addEventListener("mousedown",(()=>this.deactivate?this.deactivate():null),{once:!0})}unsubscribeDeactivation(){this.deactivate&&(document.removeEventListener("mousedown",this.deactivate),this.deactivate=null)}openFilter(t,e){this.filterModel.custom=this.isCustomFilter;const i=this.getFilter(t),o=$t(e,this.table);Ft(i,{t:o.top,l:o.left}),Pt(i,{w:e.offsetWidth,h:e.offsetHeight}),kt(i),i.activate(),setTimeout((()=>this.subscribeDeactivation(i)),100)}}const tC=Mn`
|
|
4701
|
+
`,qk([As({type:String})],Xk.prototype,"type",void 0),qk([Ds()],Xk.prototype,"_from",void 0),qk([Ds()],Xk.prototype,"_to",void 0),Xk=qk([Rs(`${Zx.PREFIX}-filter-range-popup`)],Xk);const Qk=t=>{const e=wt("og-filter-dropdown");return t.adapter?e.adapter=t.adapter:t.editorContent?e.items=t.editorContent:e.items=function(t){const e=new Map;for(let i=0;i<t.model.rows.length;i++){const o=t.cell(i);e.set(o.value,(o.displayValue??o.value??"").toString())}const i=[];return e.forEach(((t,e)=>i.push({k:e,v:t}))),i}(t),e},Kk=new Map([["t",()=>wt("og-filter-text")],["n",()=>wt("og-filter-number")],["d",()=>wt("og-filter-range")],["dt",()=>wt("og-filter-range")],["tm",()=>wt("og-filter-range")],["b",()=>wt("og-filter-checkbox")],["s",t=>Qk(t)],["m",t=>Qk(t)]]);class Jk{get model(){return this.grid.model}get selection(){return this.grid.selection}get selector(){return this.grid.selector}get events(){return this.grid.events}get table(){return this.grid.table}get filterModel(){return this.model?.filter}constructor(t){this.grid=t,this.filterMap=new Map}get isCustomFilter(){return!!this.grid.adapter&&this.model.options.pageSize>0}init(){}filter(t){this.filterModel.filter(t,!1),this.refresh()}resetFilter(){this.filterModel.resetFilter(!1),this.refresh()}refresh(){this.isCustomFilter?(this.model.rowRoot.clearChildren(),this.model.rowRoot.count=1/0,this.model.clearRows(),this.grid.rendering.loadNextPage(null,!0)):(this.table.rowOffset=0,this.grid.rendering.renderCells({vertical:!0,horizontal:!0}))}getFilter(t){let e=this.filterMap.get(t.index);return e?(e.columnModel=t,e.filterModel=this.filterModel,e):(e=function(t,e){const i=Kk.get(t.type),o=i?i(t):wt("og-filter-text");return o.columnModel=t,o.filterModel=e,o}(t,this.filterModel),this.grid.shadowRoot.appendChild(e),this.filterMap.set(t.index,e),e.addEventListener("grid.filter.deactivate",(()=>{Ct(e),this.unsubscribeDeactivation()})),e.addEventListener("grid.filter.apply",(()=>this.refresh())),e)}subscribeDeactivation(t){this.deactivate=()=>t.deactivate(),document.addEventListener("mousedown",(()=>this.deactivate?this.deactivate():null),{once:!0})}unsubscribeDeactivation(){this.deactivate&&(document.removeEventListener("mousedown",this.deactivate),this.deactivate=null)}openFilter(t,e){this.filterModel.custom=this.isCustomFilter;const i=this.getFilter(t),o=$t(e,this.table);Ft(i,{t:o.top,l:o.left}),Pt(i,{w:e.offsetWidth,h:e.offsetHeight}),kt(i),i.activate(),setTimeout((()=>this.subscribeDeactivation(i)),100)}}const tC=Mn`
|
|
4702
4702
|
* {
|
|
4703
4703
|
box-sizing: border-box;
|
|
4704
4704
|
}
|
|
@@ -4804,7 +4804,7 @@
|
|
|
4804
4804
|
<og-grid-tooltip ${tu(this.tooltipRef)} style="display: none"></og-grid-tooltip>
|
|
4805
4805
|
|
|
4806
4806
|
<og-grid-comment ${tu(this.commentRef)} style="display: none"></og-grid-comment>
|
|
4807
|
-
`,this.debounceInnerLayout=Y(this.innerLayout,100)}get table(){return this.tableRef.value}get hSlider(){return this.hSliderRef.value}get vSlider(){return this.vSliderRef.value}get hSizer(){return this.hSizerRef.value}get vSizer(){return this.vSizerRef.value}get selector(){return this.selectorRef.value}get copySelector(){return this.copySelectorRef.value}get formulaSelector(){return this.formulaSelectorRef.value}get contextMenu(){return this.contextMenuRef.value}get tooltip(){return this.tooltipRef.value}get comment(){return this.commentRef.value}get designMode(){return!!this.group&&this.group.designMode}connectedCallback(){super.connectedCallback(),this.logger.info("connected"),this._resumeUpdate?.(),this._resumeUpdate=null,this.layout()}disconnectedCallback(){this.destroy()}async scheduleUpdate(){for(;!this.isConnected;)await new Promise((t=>this._resumeUpdate=t));super.scheduleUpdate()}destroy(){this.contextMenu&&zt(this.contextMenu),this.comment&&zt(this.comment)}async initAdapter(){this.adapter.attach(this),this.table&&(this.table.rowOffset=0),this.dispatchEvent(new dk("beforeLoad",{grid:this}));const t=await this.adapter.getColumns(),e=this.rendering.getAdapterRequestFilters(),i=await this.adapter.getRows(e);e.rows=i;const o=await this.adapter.getCells(e),r=Cx(await this.adapter.getOptions(),this.options),n=await this.adapter.getSparklines(),s=await this.adapter.getComments(),a=await this.adapter.getRules(),l=await this.adapter.getStyles();this.setSourceData({columns:t,rows:i,cells:o,options:r,sparklines:n,comments:s,rules:a,styles:l}),this.dispatchEvent(new dk("afterLoad",{grid:this}))}updateOptions(t){this.options=Cx(t,this.options),this.requestUpdate()}openCommands(){this.commands.open()}closeCommands(){this.commands.close()}async firstUpdated(){this.tabIndex=0,this.events.init(),this.menus.init(),await this.table.updateComplete,this.logger.info("init"),this.dispatchEvent(new dk("init",{grid:this}))}async updated(t){if(Pt(this.table,{w:this.clientWidth,h:this.clientHeight}),t.has("adapter"))try{await this.initAdapter()}catch(t){this.logger.error("Error initializing adapter:",t),this.dispatchEvent(new hk(t))}if(this.model){if(this.options&&(this.model.options=this.options),this.rendering.requireVerticalUpdate=!0,this.rendering.requireHorizontalUpdate=!0,this.table.model=this.model,t.has("model")&&(this.sorting.init(),this.model.options.firstCell)){const t=Lv.fromA1(this.model.options.firstCell);this.table.colOffset=t.c1,this.table.rowOffset=t.r1}await this.table.updateComplete,this.rendering.updateSliders(),this.rendering.debounceRenderCells(),dC(this),this.dispatchEvent(new dk("loadmodel",{grid:this}))}t.has("zoom")&&(t.get("zoom")||1)!==(this.zoom||1)&&(this.options.zoom=this.zoom,this.rendering.render(!0))}innerLayout(){Pt(this.table,{w:this.clientWidth,h:this.clientHeight}),this.table.requestUpdate()}layout(){this.table&&this.debounceInnerLayout()}setSourceData(t){t.options&&(this.options=Cx(t.options,this.options)),this.model=new Ux(t,this.options,this.logger)}willUpdate(t){t.has("model")&&(this.options=Cx(this.model.options,this.options),this.model.options=this.options,this.history=new qx(this.model),this.filtering.init(),this.zoom=this.options.zoom||1)}focus(t){super.focus(t),this.editing.activeEditor?.focus()}async refresh(){this.adapter?(this.table.clearHeaderCache(),this.table.clearBodyCache(),await this.initAdapter()):await this.rendering.render(!0)}createEvent(t,e,i){return new(i??dk)(t,{grid:this,...e})}dispatchGridEvent(t,e,i){this.dispatchEvent(this.createEvent(t,e,i))}getConnectedGrid(t){return this.group?.getGrid(t)}getSourceData(){const t=this.model?.getSourceData()??{},e=new tn(t);return this.dispatchEvent(e),e.data}setTheme(t){this.model.theme=t,this.model.applyTheme(t,!0),this.refresh()}};pC.styles=[rk],uC([As({type:Object})],pC.prototype,"model",void 0),uC([As({type:Object})],pC.prototype,"adapter",void 0),uC([As({type:Object})],pC.prototype,"selection",void 0),uC([As({type:Object})],pC.prototype,"options",void 0),uC([As({type:Object})],pC.prototype,"logger",void 0),uC([As({type:Number})],pC.prototype,"zoom",void 0),pC=uC([Rs("og-grid")],pC);var gC=function(t,e,i,o){var r,n=arguments.length,s=n<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--)(r=t[a])&&(s=(n<3?r(s):n>3?r(e,i,s):r(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s};const mC={options:{rows:100,columns:20,editable:!0}},fC=()=>new Ux(mC),vC={commandWindow:!0,showHiddenTabs:!1};class bC extends Event{constructor(t){super(`gridgroup.${t}`)}}let yC=class extends Ls{get commandWindow(){return this.commandWindowRef.value}get activeGrid(){return this._activeGrid}get formulaModeGrid(){return this._formulaModeGrid}get isFormulaMode(){return null!=this.formulaModeGrid}get gridModels(){const t=new Map;return this.containerModel.walk((e=>{const i=this.model.get(e.id);i&&t.set(i.name,t.size)})),Array.from(this.model.models).sort(((e,i)=>(t.get(e[0])??0)-(t.get(i[0])??0))).map((([t,e])=>e))}startFormulaMode(t){this._formulaModeGrid=t}endFormulaMode(){this.isFormulaMode&&(this._formulaModeGrid=null,this.grids.forEach((t=>t.editing.endFormulaMode(!1))))}activateGrid(t,e=!0){const i=this.grids.get(t);i&&this.activeGrid?.model?.name!=t&&(this.activeGrid&&e&&this.dispatchEvent(new bC("deactivate")),this._activeGrid=i,this.container.activate(t),setTimeout((()=>i.focus()),100),e&&this.dispatchEvent(new bC("activate")))}previewZoom(t){this.grids.forEach((e=>{e.isConnected&&e.table.previewZoom(t)}))}updateZoom(){this.grids.forEach((t=>{t.isConnected&&(t.zoom=this.zoom)}))}hideSelectors(){this.grids.forEach((t=>{t.isConnected&&t.selecting.hideSelector()}))}showSelectors(){this.grids.forEach((t=>{t.isConnected&&t.selecting.showSelector()}))}renameSheet(t,e){if(this.model.has(e))throw new Error(`Sheet '${e}' already exists`);this.grids.has(t)&&(this.grids.set(e,this.grids.get(t)),this.grids.delete(t)),this.model.rename(t,e),this.container.model.updateTab(t,{id:e,title:e}),this.updateTabs()}updateTabs(){this.containerModel.walk((t=>{const e=this.model.get(t.id);e&&(t.id=e.name,t.color=e.tab?.color,t.hidden=!this.options.showHiddenTabs&&e.tab?.hidden,t.icon=e.tab?.hidden?"eye-slash":null)})),this.container?.updateTabs()}updateContainer(){this.container?.splitContainer?.requestUpdate()}constructor(){super(),this.options=vC,this.designMode=!1,this.zoom=1,this.tabPosition="top",this.logger=new Er("ΩgridGroup"),this.grids=new Map,this.commandWindowRef=Qd(),this.plugins=new bu(this),this._formulaModeGrid=null,this._isLoaded=!1,this._onGridSelect=t=>{t.grid&&(this.isFormulaMode||this.activateGrid(t.grid.model.name,!0))},this.createGrid=t=>new Promise((e=>{const i=t;let o=this.grids.get(i);if(o)return void e(o);const r=this.model.has(i)?this.model.get(i):this.model.add(fC());r.options.commandWindow=!1,o=wt("og-grid"),o.style.height="100%",o.model=r,o.options=r.options,o.group=this,o.zoom=this.zoom,this.grids.set(r.name,o),e(o)})),this._onTabSelect=t=>{if(t.tab&&this._isLoaded){const e=this.grids.get(t.tab.id);this._activeGrid!=e&&(this.activateGrid(e.model.name,!0),setTimeout((()=>this._activeGrid.focus()),100))}},this._onTabAdd=t=>{const e=this.model.add(fC());t.tabs?.container&&t.tabs.container.open({id:e.name,title:e.name})},this._onContainerLoad=()=>{this._isLoaded=!0,this.gridModels.length&&this.activateGrid(this.gridModels[0].name,!0)},this.render=()=>cs`
|
|
4807
|
+
`,this.debounceInnerLayout=Y(this.innerLayout,100)}get table(){return this.tableRef.value}get hSlider(){return this.hSliderRef.value}get vSlider(){return this.vSliderRef.value}get hSizer(){return this.hSizerRef.value}get vSizer(){return this.vSizerRef.value}get selector(){return this.selectorRef.value}get copySelector(){return this.copySelectorRef.value}get formulaSelector(){return this.formulaSelectorRef.value}get contextMenu(){return this.contextMenuRef.value}get tooltip(){return this.tooltipRef.value}get comment(){return this.commentRef.value}get designMode(){return!!this.group&&this.group.designMode}connectedCallback(){super.connectedCallback(),this.logger.info("connected"),this._resumeUpdate?.(),this._resumeUpdate=null,this.layout()}disconnectedCallback(){this.destroy()}async scheduleUpdate(){for(;!this.isConnected;)await new Promise((t=>this._resumeUpdate=t));super.scheduleUpdate()}destroy(){this.contextMenu&&zt(this.contextMenu),this.comment&&zt(this.comment)}async initAdapter(){this.adapter.attach(this),this.table&&(this.table.rowOffset=0),this.dispatchEvent(new dk("beforeLoad",{grid:this}));const t=await this.adapter.getColumns(),e=this.rendering.getAdapterRequestFilters(),i=await this.adapter.getRows(e);e.rows=i;const o=await this.adapter.getCells(e),r=Cx(await this.adapter.getOptions(),this.options),n=await this.adapter.getSparklines(),s=await this.adapter.getComments(),a=await this.adapter.getRules(),l=await this.adapter.getStyles(),c=this.model?.filter,h=this.model?.sorting;if(this.setSourceData({columns:t,rows:i,cells:o,options:r,sparklines:n,comments:s,rules:a,styles:l}),c?.settings?.length&&this.model.filter.restore(c.settings,c.custom),h?.settings?.length){const t=!this.model.rowRoot.isLoaded&&this.model.options.pageSize>0;this.model.sorting.restore(h.settings,!t)}this.dispatchEvent(new dk("afterLoad",{grid:this}))}updateOptions(t){this.options=Cx(t,this.options),this.requestUpdate()}openCommands(){this.commands.open()}closeCommands(){this.commands.close()}async firstUpdated(){this.tabIndex=0,this.events.init(),this.menus.init(),await this.table.updateComplete,this.logger.info("init"),this.dispatchEvent(new dk("init",{grid:this}))}async updated(t){if(Pt(this.table,{w:this.clientWidth,h:this.clientHeight}),t.has("adapter"))try{await this.initAdapter()}catch(t){this.logger.error("Error initializing adapter:",t),this.dispatchEvent(new hk(t))}if(this.model){if(this.options&&(this.model.options=this.options),this.rendering.requireVerticalUpdate=!0,this.rendering.requireHorizontalUpdate=!0,this.table.model=this.model,t.has("model")&&(this.sorting.init(),this.model.options.firstCell)){const t=Lv.fromA1(this.model.options.firstCell);this.table.colOffset=t.c1,this.table.rowOffset=t.r1}await this.table.updateComplete,this.rendering.updateSliders(),this.rendering.debounceRenderCells(),dC(this),this.dispatchEvent(new dk("loadmodel",{grid:this}))}t.has("zoom")&&(t.get("zoom")||1)!==(this.zoom||1)&&(this.options.zoom=this.zoom,this.rendering.render(!0))}innerLayout(){Pt(this.table,{w:this.clientWidth,h:this.clientHeight}),this.table.requestUpdate()}layout(){this.table&&this.debounceInnerLayout()}setSourceData(t){t.options&&(this.options=Cx(t.options,this.options)),this.model=new Ux(t,this.options,this.logger)}willUpdate(t){t.has("model")&&(this.options=Cx(this.model.options,this.options),this.model.options=this.options,this.history=new qx(this.model),this.filtering.init(),this.zoom=this.options.zoom||1)}focus(t){super.focus(t),this.editing.activeEditor?.focus()}async refresh(){this.adapter?(this.table.clearHeaderCache(),this.table.clearBodyCache(),await this.initAdapter()):await this.rendering.render(!0)}createEvent(t,e,i){return new(i??dk)(t,{grid:this,...e})}dispatchGridEvent(t,e,i){this.dispatchEvent(this.createEvent(t,e,i))}getConnectedGrid(t){return this.group?.getGrid(t)}getSourceData(){const t=this.model?.getSourceData()??{},e=new tn(t);return this.dispatchEvent(e),e.data}setTheme(t){this.model.theme=t,this.model.applyTheme(t,!0),this.refresh()}};pC.styles=[rk],uC([As({type:Object})],pC.prototype,"model",void 0),uC([As({type:Object})],pC.prototype,"adapter",void 0),uC([As({type:Object})],pC.prototype,"selection",void 0),uC([As({type:Object})],pC.prototype,"options",void 0),uC([As({type:Object})],pC.prototype,"logger",void 0),uC([As({type:Number})],pC.prototype,"zoom",void 0),pC=uC([Rs("og-grid")],pC);var gC=function(t,e,i,o){var r,n=arguments.length,s=n<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--)(r=t[a])&&(s=(n<3?r(s):n>3?r(e,i,s):r(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s};const mC={options:{rows:100,columns:20,editable:!0}},fC=()=>new Ux(mC),vC={commandWindow:!0,showHiddenTabs:!1};class bC extends Event{constructor(t){super(`gridgroup.${t}`)}}let yC=class extends Ls{get commandWindow(){return this.commandWindowRef.value}get activeGrid(){return this._activeGrid}get formulaModeGrid(){return this._formulaModeGrid}get isFormulaMode(){return null!=this.formulaModeGrid}get gridModels(){const t=new Map;return this.containerModel.walk((e=>{const i=this.model.get(e.id);i&&t.set(i.name,t.size)})),Array.from(this.model.models).sort(((e,i)=>(t.get(e[0])??0)-(t.get(i[0])??0))).map((([t,e])=>e))}startFormulaMode(t){this._formulaModeGrid=t}endFormulaMode(){this.isFormulaMode&&(this._formulaModeGrid=null,this.grids.forEach((t=>t.editing.endFormulaMode(!1))))}activateGrid(t,e=!0){const i=this.grids.get(t);i&&this.activeGrid?.model?.name!=t&&(this.activeGrid&&e&&this.dispatchEvent(new bC("deactivate")),this._activeGrid=i,this.container.activate(t),setTimeout((()=>i.focus()),100),e&&this.dispatchEvent(new bC("activate")))}previewZoom(t){this.grids.forEach((e=>{e.isConnected&&e.table.previewZoom(t)}))}updateZoom(){this.grids.forEach((t=>{t.isConnected&&(t.zoom=this.zoom)}))}hideSelectors(){this.grids.forEach((t=>{t.isConnected&&t.selecting.hideSelector()}))}showSelectors(){this.grids.forEach((t=>{t.isConnected&&t.selecting.showSelector()}))}renameSheet(t,e){if(this.model.has(e))throw new Error(`Sheet '${e}' already exists`);this.grids.has(t)&&(this.grids.set(e,this.grids.get(t)),this.grids.delete(t)),this.model.rename(t,e),this.container.model.updateTab(t,{id:e,title:e}),this.updateTabs()}updateTabs(){this.containerModel.walk((t=>{const e=this.model.get(t.id);e&&(t.id=e.name,t.color=e.tab?.color,t.hidden=!this.options.showHiddenTabs&&e.tab?.hidden,t.icon=e.tab?.hidden?"eye-slash":null)})),this.container?.updateTabs()}updateContainer(){this.container?.splitContainer?.requestUpdate()}constructor(){super(),this.options=vC,this.designMode=!1,this.zoom=1,this.tabPosition="top",this.logger=new Er("ΩgridGroup"),this.grids=new Map,this.commandWindowRef=Qd(),this.plugins=new bu(this),this._formulaModeGrid=null,this._isLoaded=!1,this._onGridSelect=t=>{t.grid&&(this.isFormulaMode||this.activateGrid(t.grid.model.name,!0))},this.createGrid=t=>new Promise((e=>{const i=t;let o=this.grids.get(i);if(o)return void e(o);const r=this.model.has(i)?this.model.get(i):this.model.add(fC());r.options.commandWindow=!1,o=wt("og-grid"),o.style.height="100%",o.model=r,o.options=r.options,o.group=this,o.zoom=this.zoom,this.grids.set(r.name,o),e(o)})),this._onTabSelect=t=>{if(t.tab&&this._isLoaded){const e=this.grids.get(t.tab.id);this._activeGrid!=e&&(this.activateGrid(e.model.name,!0),setTimeout((()=>this._activeGrid.focus()),100))}},this._onTabAdd=t=>{const e=this.model.add(fC());t.tabs?.container&&t.tabs.container.open({id:e.name,title:e.name})},this._onContainerLoad=()=>{this._isLoaded=!0,this.gridModels.length&&this.activateGrid(this.gridModels[0].name,!0)},this.render=()=>cs`
|
|
4808
4808
|
<og-tabsplitcontainer
|
|
4809
4809
|
?singleActive="${!0}"
|
|
4810
4810
|
?addButton="${!0}"
|
|
@@ -10207,4 +10207,4 @@ milkdown-block-handle {
|
|
|
10207
10207
|
`:null}
|
|
10208
10208
|
</div>
|
|
10209
10209
|
</og-panel>
|
|
10210
|
-
`: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?Lv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?Lv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=Lv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Kr({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};xI.styles=[yI],wI([As({type:Object})],xI.prototype,"model",void 0),wI([Ds()],xI.prototype,"editTitle",void 0),wI([Ns("#title")],xI.prototype,"titleInput",void 0),wI([Ns("#type")],xI.prototype,"typeList",void 0),wI([Ns("#dataRange")],xI.prototype,"dataRangeInput",void 0),wI([Ns("#seriesRange")],xI.prototype,"seriesRangeInput",void 0),wI([Ns("#categoryRange")],xI.prototype,"categoryRangeInput",void 0),xI=wI([Rs("og-plugin-chart-form")],xI);const kI=tl().themes.get("og-dark");Object.assign(kI.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 CI=tl().themes.get("og-light");Object.assign(CI.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 MI=i(6946),_I=i(6471),SI=i(4969),EI=i(9502),zI=i(7706),LI=i(1480),II=i(2006),RI=i(7503),TI=i(7873),$I=i(8746),AI=i(2570),DI=i(8815),OI=i(6390),NI=i(6593),PI=i(895),jI=i(9083),HI=i(6093),FI=i(9685),BI=i(9849),WI=i(8268),VI=i(4693),UI=i(3599),GI=i(782),qI=i(754),YI=i(5700),ZI=i(4731),XI=i(7291),QI=i(597),KI=i(1474),JI=i(6224),tR=i(6239),eR=i(6828),iR=i(2212),oR=i(863),rR=i(3602),nR=i(1985),sR=i(886),aR=i(7201),lR=i(9937),cR=i(8450),hR=i(9630),dR=i(9766),uR=i(388),pR=i(1903),gR=i(398),mR=i(6105),fR=i(6147),vR=i(5722),bR=i(5576),yR=i(3131),wR=i(6308),xR=i(9645),kR=i(3199),CR=i(871),MR=i(5251),_R=i(6426),SR=i(2643),ER=i(8522),zR=i(6398),LR=i(2525),IR=i(8434),RR=i(6138),TR=i(5835),$R=i(5654),AR=i(6659),DR=i(2977),OR=i(4480),NR=i(9886),PR=i(6815),jR=i(1582),HR=i(2968),FR=i(394),BR=i(7024),WR=i(7853),VR=i(8249),UR=i(2869),GR=i(486),qR=i(5735),YR=i(470),ZR=i(4612),XR=i(4018),QR=i(1476),KR=i(3194),JR=i(3525),tT=i(7541),eT=i(4104),iT=i(6686),oT=i(7719),rT=i(3898),nT=i(8153),sT=i(3690),aT=i(1776),lT=i(4980),cT=i(5578),hT=i(9613),dT=i(1119),uT=i(8444),pT=i(2978),gT=i(9130),mT=i(2127),fT=i(2732),vT=i(4287),bT=i(4045),yT=i(7642),wT=i(1367),xT=i(320),kT=i(821),CT=i(102),MT=i(7683),_T=i(3980),ST=i(576),ET=i(654),zT=i(73),LT=i(140),IT=i(8129),RT=i(5087),TT=i(6992),$T=i(8247),AT=i(8038),DT=i(5286),OT=i(9179),NT=i(1808),PT=i(9459),jT=i(2883),HT=i(9124),FT=i(7067),BT=i(1054),WT=i(7325),VT=i(1272),UT=i(3359),GT=i(6562),qT=i(4193),YT=i(6348),ZT=i(2435),XT=i(7544),QT=i(4470),KT=i(9111),JT=i(9318),t$=i(7294),e$=i(4479),i$=i(2409),o$=i(3091),r$=i(5789),n$=i(5890),s$=i(3874),a$=i(2907),l$=i(1175),c$=i(1686),h$=i(703),d$=i(6606),u$=i(4194),p$=i(6228),g$=i(62),m$=i(2072),f$=i(9744),v$=i(25),b$=i(2618),y$=i(1988),w$=i(8013),x$=i(1133),k$=i(362),C$=i(6845),M$=i(6800),_$=i(4286),S$=i(1103),E$=i(4933),z$=i(7284),L$=i(2620),I$=i(2366),R$=i(7457),T$=i(2449),$$=i(2),A$=i(5697),D$=i(7069),O$=i(4716),N$=i(4740),P$=i(4557),j$=i(1868),H$=i(8647),F$=i(5127),B$=i(4816),W$=i(4009),V$=i(5104),U$=i(2830),G$=i(3093),q$=i(5029),Y$=i(3514),Z$=i(2142),X$=i(4999),Q$=i(7523),K$=i(346),J$=i(7917),tA=i(3976),eA=i(9801),iA=i(2464),oA=i(5511),rA=i(5210),nA=i(5815),sA=i(3339),aA=i(7472),lA=i(8811),cA=i(8548),hA=i(6880),dA=i(1840),uA=i(5547),pA=i(4788),gA=i(9467),mA=i(9187),fA=i(9217),vA=i(7897),bA=i(2644),yA=i(6204),wA=i(1472),xA=i(1247),kA=i(7406),CA=i(925),MA=i(7455),_A=i(3771),SA=i(1549),EA=i(3541),zA=i(3140),LA=i(9800),IA=i(229),RA=i(2677),TA=i(1844),$A=i(3245),AA=i(9056),DA=i(7535),OA=i(2359),NA=i(15),PA=i(5569),jA=i(2014),HA=i(1599),FA=i(6521),BA=i(232),WA=i(9745),VA=i(9594),UA=i(6979),GA=i(4494),qA=i(312),YA=i(4983),ZA=i(1258),XA=i(6313),QA=i(12),KA=i(8003),JA=i(7830),tD=i(8875),eD=i(3911),iD=i(1817),oD=i(478),rD=i(2585),nD=i(6564),sD=i(2884),aD=i(3825),lD=i(7348),cD=i(9277),hD=i(4118),dD=i(9200),uD=i(51),pD=i(2872),gD=i(4702),mD=i(9281),fD=i(1394),vD=i(7295),bD=i(2936),yD=i(3789),wD=i(3614),xD=i(4827),kD=i(9204),CD=i(9113),MD=i(4058),_D=i(9939),SD=i(1139);const ED=[MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,LI.mw,II.mw,RI.mw,$I.mw,DI.mw,AI.mw,OI.mw,NI.mw,PI.mw,jI.mw,HI.mw,FI.mw,BI.mw,WI.mw,VI.mw,UI.mw,GI.mw,qI.mw,YI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,eR.mw,iR.mw,oR.mw,rR.mw,nR.mw,sR.mw,aR.mw,lR.mw,cR.mw,hR.mw,dR.mw,uR.mw,pR.mw,mR.mw,gR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,MR.mw,_R.mw,SR.mw,ER.mw,LR.mw,IR.mw,RR.mw,TR.mw,$R.mw,AR.mw,DR.mw,OR.mw,NR.mw,PR.mw,jR.mw,HR.mw,FR.mw,BR.mw,WR.mw,VR.mw,UR.mw,GR.mw,qR.mw,zR.mw,YR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tT.mw,eT.mw,iT.mw,oT.mw,rT.mw,nT.mw,sT.mw,aT.mw,lT.mw,cT.mw,hT.mw,dT.mw,uT.mw,pT.mw,gT.mw,mT.mw,fT.mw,vT.mw,bT.mw,yT.mw,wT.mw,xT.mw,kT.mw,CT.mw,MT.mw,_T.mw,ST.mw,ET.mw,zT.mw,LT.mw,IT.mw,RT.mw,TT.mw,$T.mw,AT.mw,tR.mw,DT.mw,OT.mw,NT.mw,PT.mw,jT.mw,HT.mw,FT.mw,BT.mw,WT.mw,VT.mw,UT.mw,GT.mw,qT.mw,YT.mw,ZT.mw,TI.mw,XT.mw,QT.mw],zD=[KT.mw,JT.mw,t$.mw,e$.mw,i$.mw,o$.mw,r$.mw,n$.mw,a$.mw,c$.mw,l$.mw,d$.mw,h$.mw,u$.mw,p$.mw,g$.mw,m$.mw,f$.mw,v$.mw,b$.mw,y$.mw,w$.mw,S$.mw,E$.mw,z$.mw,L$.mw,I$.mw,R$.mw,T$.mw,A$.mw,D$.mw,O$.mw,F$.mw,B$.mw,W$.mw,V$.mw,U$.mw,G$.mw,q$.mw,Y$.mw,x$.mw,k$.mw,M$.mw,C$.mw,_$.mw,Z$.mw,X$.mw,Q$.mw,K$.mw,J$.mw,tA.mw,eA.mw,iA.mw,N$.mw,P$.mw,j$.mw,H$.mw,rA.mw,nA.mw,sA.mw,aA.mw,lA.mw,cA.mw,hA.mw,dA.mw,uA.mw,pA.mw,gA.mw,mA.mw,fA.mw,vA.mw,bA.mw,yA.mw,wA.mw,xA.mw,kA.mw,oA.mw,CA.mw,MA.mw,_A.mw,SA.mw,EA.mw,zA.mw,LA.mw,IA.mw,RA.mw,TA.mw,$A.mw,AA.mw,DA.mw,OA.mw,NA.mw,PA.mw,jA.mw,HA.mw,FA.mw,BA.mw,WA.mw,VA.mw,UA.mw,GA.mw,qA.mw,YA.mw,ZA.mw,XA.mw,QA.mw,KA.mw,JA.mw,tD.mw,eD.mw,iD.mw,oD.mw,rD.mw,nD.mw,sD.mw,aD.mw,lD.mw,cD.mw,$$.mw,hD.mw,dD.mw,uD.mw,pD.mw,gD.mw,mD.mw,fD.mw,vD.mw,bD.mw,yD.mw,wD.mw,xD.mw,kD.mw,CD.mw,MD.mw,s$.mw,_D.mw,SD.mw],LD={xlsx:B,charts:W},ID={name:"@omegagrid/bundle",version:"0.10.
|
|
10210
|
+
`: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?Lv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?Lv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=Lv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Kr({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};xI.styles=[yI],wI([As({type:Object})],xI.prototype,"model",void 0),wI([Ds()],xI.prototype,"editTitle",void 0),wI([Ns("#title")],xI.prototype,"titleInput",void 0),wI([Ns("#type")],xI.prototype,"typeList",void 0),wI([Ns("#dataRange")],xI.prototype,"dataRangeInput",void 0),wI([Ns("#seriesRange")],xI.prototype,"seriesRangeInput",void 0),wI([Ns("#categoryRange")],xI.prototype,"categoryRangeInput",void 0),xI=wI([Rs("og-plugin-chart-form")],xI);const kI=tl().themes.get("og-dark");Object.assign(kI.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 CI=tl().themes.get("og-light");Object.assign(CI.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 MI=i(6946),_I=i(6471),SI=i(4969),EI=i(9502),zI=i(7706),LI=i(1480),II=i(2006),RI=i(7503),TI=i(7873),$I=i(8746),AI=i(2570),DI=i(8815),OI=i(6390),NI=i(6593),PI=i(895),jI=i(9083),HI=i(6093),FI=i(9685),BI=i(9849),WI=i(8268),VI=i(4693),UI=i(3599),GI=i(782),qI=i(754),YI=i(5700),ZI=i(4731),XI=i(7291),QI=i(597),KI=i(1474),JI=i(6224),tR=i(6239),eR=i(6828),iR=i(2212),oR=i(863),rR=i(3602),nR=i(1985),sR=i(886),aR=i(7201),lR=i(9937),cR=i(8450),hR=i(9630),dR=i(9766),uR=i(388),pR=i(1903),gR=i(398),mR=i(6105),fR=i(6147),vR=i(5722),bR=i(5576),yR=i(3131),wR=i(6308),xR=i(9645),kR=i(3199),CR=i(871),MR=i(5251),_R=i(6426),SR=i(2643),ER=i(8522),zR=i(6398),LR=i(2525),IR=i(8434),RR=i(6138),TR=i(5835),$R=i(5654),AR=i(6659),DR=i(2977),OR=i(4480),NR=i(9886),PR=i(6815),jR=i(1582),HR=i(2968),FR=i(394),BR=i(7024),WR=i(7853),VR=i(8249),UR=i(2869),GR=i(486),qR=i(5735),YR=i(470),ZR=i(4612),XR=i(4018),QR=i(1476),KR=i(3194),JR=i(3525),tT=i(7541),eT=i(4104),iT=i(6686),oT=i(7719),rT=i(3898),nT=i(8153),sT=i(3690),aT=i(1776),lT=i(4980),cT=i(5578),hT=i(9613),dT=i(1119),uT=i(8444),pT=i(2978),gT=i(9130),mT=i(2127),fT=i(2732),vT=i(4287),bT=i(4045),yT=i(7642),wT=i(1367),xT=i(320),kT=i(821),CT=i(102),MT=i(7683),_T=i(3980),ST=i(576),ET=i(654),zT=i(73),LT=i(140),IT=i(8129),RT=i(5087),TT=i(6992),$T=i(8247),AT=i(8038),DT=i(5286),OT=i(9179),NT=i(1808),PT=i(9459),jT=i(2883),HT=i(9124),FT=i(7067),BT=i(1054),WT=i(7325),VT=i(1272),UT=i(3359),GT=i(6562),qT=i(4193),YT=i(6348),ZT=i(2435),XT=i(7544),QT=i(4470),KT=i(9111),JT=i(9318),t$=i(7294),e$=i(4479),i$=i(2409),o$=i(3091),r$=i(5789),n$=i(5890),s$=i(3874),a$=i(2907),l$=i(1175),c$=i(1686),h$=i(703),d$=i(6606),u$=i(4194),p$=i(6228),g$=i(62),m$=i(2072),f$=i(9744),v$=i(25),b$=i(2618),y$=i(1988),w$=i(8013),x$=i(1133),k$=i(362),C$=i(6845),M$=i(6800),_$=i(4286),S$=i(1103),E$=i(4933),z$=i(7284),L$=i(2620),I$=i(2366),R$=i(7457),T$=i(2449),$$=i(2),A$=i(5697),D$=i(7069),O$=i(4716),N$=i(4740),P$=i(4557),j$=i(1868),H$=i(8647),F$=i(5127),B$=i(4816),W$=i(4009),V$=i(5104),U$=i(2830),G$=i(3093),q$=i(5029),Y$=i(3514),Z$=i(2142),X$=i(4999),Q$=i(7523),K$=i(346),J$=i(7917),tA=i(3976),eA=i(9801),iA=i(2464),oA=i(5511),rA=i(5210),nA=i(5815),sA=i(3339),aA=i(7472),lA=i(8811),cA=i(8548),hA=i(6880),dA=i(1840),uA=i(5547),pA=i(4788),gA=i(9467),mA=i(9187),fA=i(9217),vA=i(7897),bA=i(2644),yA=i(6204),wA=i(1472),xA=i(1247),kA=i(7406),CA=i(925),MA=i(7455),_A=i(3771),SA=i(1549),EA=i(3541),zA=i(3140),LA=i(9800),IA=i(229),RA=i(2677),TA=i(1844),$A=i(3245),AA=i(9056),DA=i(7535),OA=i(2359),NA=i(15),PA=i(5569),jA=i(2014),HA=i(1599),FA=i(6521),BA=i(232),WA=i(9745),VA=i(9594),UA=i(6979),GA=i(4494),qA=i(312),YA=i(4983),ZA=i(1258),XA=i(6313),QA=i(12),KA=i(8003),JA=i(7830),tD=i(8875),eD=i(3911),iD=i(1817),oD=i(478),rD=i(2585),nD=i(6564),sD=i(2884),aD=i(3825),lD=i(7348),cD=i(9277),hD=i(4118),dD=i(9200),uD=i(51),pD=i(2872),gD=i(4702),mD=i(9281),fD=i(1394),vD=i(7295),bD=i(2936),yD=i(3789),wD=i(3614),xD=i(4827),kD=i(9204),CD=i(9113),MD=i(4058),_D=i(9939),SD=i(1139);const ED=[MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,LI.mw,II.mw,RI.mw,$I.mw,DI.mw,AI.mw,OI.mw,NI.mw,PI.mw,jI.mw,HI.mw,FI.mw,BI.mw,WI.mw,VI.mw,UI.mw,GI.mw,qI.mw,YI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,eR.mw,iR.mw,oR.mw,rR.mw,nR.mw,sR.mw,aR.mw,lR.mw,cR.mw,hR.mw,dR.mw,uR.mw,pR.mw,mR.mw,gR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,MR.mw,_R.mw,SR.mw,ER.mw,LR.mw,IR.mw,RR.mw,TR.mw,$R.mw,AR.mw,DR.mw,OR.mw,NR.mw,PR.mw,jR.mw,HR.mw,FR.mw,BR.mw,WR.mw,VR.mw,UR.mw,GR.mw,qR.mw,zR.mw,YR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tT.mw,eT.mw,iT.mw,oT.mw,rT.mw,nT.mw,sT.mw,aT.mw,lT.mw,cT.mw,hT.mw,dT.mw,uT.mw,pT.mw,gT.mw,mT.mw,fT.mw,vT.mw,bT.mw,yT.mw,wT.mw,xT.mw,kT.mw,CT.mw,MT.mw,_T.mw,ST.mw,ET.mw,zT.mw,LT.mw,IT.mw,RT.mw,TT.mw,$T.mw,AT.mw,tR.mw,DT.mw,OT.mw,NT.mw,PT.mw,jT.mw,HT.mw,FT.mw,BT.mw,WT.mw,VT.mw,UT.mw,GT.mw,qT.mw,YT.mw,ZT.mw,TI.mw,XT.mw,QT.mw],zD=[KT.mw,JT.mw,t$.mw,e$.mw,i$.mw,o$.mw,r$.mw,n$.mw,a$.mw,c$.mw,l$.mw,d$.mw,h$.mw,u$.mw,p$.mw,g$.mw,m$.mw,f$.mw,v$.mw,b$.mw,y$.mw,w$.mw,S$.mw,E$.mw,z$.mw,L$.mw,I$.mw,R$.mw,T$.mw,A$.mw,D$.mw,O$.mw,F$.mw,B$.mw,W$.mw,V$.mw,U$.mw,G$.mw,q$.mw,Y$.mw,x$.mw,k$.mw,M$.mw,C$.mw,_$.mw,Z$.mw,X$.mw,Q$.mw,K$.mw,J$.mw,tA.mw,eA.mw,iA.mw,N$.mw,P$.mw,j$.mw,H$.mw,rA.mw,nA.mw,sA.mw,aA.mw,lA.mw,cA.mw,hA.mw,dA.mw,uA.mw,pA.mw,gA.mw,mA.mw,fA.mw,vA.mw,bA.mw,yA.mw,wA.mw,xA.mw,kA.mw,oA.mw,CA.mw,MA.mw,_A.mw,SA.mw,EA.mw,zA.mw,LA.mw,IA.mw,RA.mw,TA.mw,$A.mw,AA.mw,DA.mw,OA.mw,NA.mw,PA.mw,jA.mw,HA.mw,FA.mw,BA.mw,WA.mw,VA.mw,UA.mw,GA.mw,qA.mw,YA.mw,ZA.mw,XA.mw,QA.mw,KA.mw,JA.mw,tD.mw,eD.mw,iD.mw,oD.mw,rD.mw,nD.mw,sD.mw,aD.mw,lD.mw,cD.mw,$$.mw,hD.mw,dD.mw,uD.mw,pD.mw,gD.mw,mD.mw,fD.mw,vD.mw,bD.mw,yD.mw,wD.mw,xD.mw,kD.mw,CD.mw,MD.mw,s$.mw,_D.mw,SD.mw],LD={xlsx:B,charts:W},ID={name:"@omegagrid/bundle",version:"0.10.80"};tl().activate("light"),Vd.styleDefault="fal",Ud.add(ED),Ud.add(zD)})(),window.Omegagrid=o})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/bundle",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.80",
|
|
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": "^7.0.1",
|
|
20
20
|
"@fortawesome/pro-light-svg-icons": "^7.0.1",
|
|
21
21
|
"@fortawesome/pro-solid-svg-icons": "^7.0.1",
|
|
22
|
-
"@omegagrid/bucket": "^0.10.
|
|
23
|
-
"@omegagrid/calendar": "^0.10.
|
|
24
|
-
"@omegagrid/code": "^0.10.
|
|
25
|
-
"@omegagrid/commands": "^0.10.
|
|
26
|
-
"@omegagrid/core": "^0.10.
|
|
27
|
-
"@omegagrid/dialog": "^0.10.
|
|
28
|
-
"@omegagrid/editor": "^0.10.
|
|
29
|
-
"@omegagrid/form": "^0.10.
|
|
30
|
-
"@omegagrid/grid": "^0.10.
|
|
31
|
-
"@omegagrid/localize": "^0.10.
|
|
32
|
-
"@omegagrid/markdown": "^0.10.
|
|
33
|
-
"@omegagrid/plugin-charts": "^0.10.
|
|
34
|
-
"@omegagrid/plugin-xlsx": "^0.10.
|
|
35
|
-
"@omegagrid/statusbar": "^0.10.
|
|
36
|
-
"@omegagrid/tabs": "^0.10.
|
|
37
|
-
"@omegagrid/toolbar": "^0.10.
|
|
38
|
-
"@omegagrid/tree": "^0.10.
|
|
22
|
+
"@omegagrid/bucket": "^0.10.80",
|
|
23
|
+
"@omegagrid/calendar": "^0.10.80",
|
|
24
|
+
"@omegagrid/code": "^0.10.80",
|
|
25
|
+
"@omegagrid/commands": "^0.10.80",
|
|
26
|
+
"@omegagrid/core": "^0.10.80",
|
|
27
|
+
"@omegagrid/dialog": "^0.10.80",
|
|
28
|
+
"@omegagrid/editor": "^0.10.80",
|
|
29
|
+
"@omegagrid/form": "^0.10.80",
|
|
30
|
+
"@omegagrid/grid": "^0.10.80",
|
|
31
|
+
"@omegagrid/localize": "^0.10.80",
|
|
32
|
+
"@omegagrid/markdown": "^0.10.80",
|
|
33
|
+
"@omegagrid/plugin-charts": "^0.10.80",
|
|
34
|
+
"@omegagrid/plugin-xlsx": "^0.10.80",
|
|
35
|
+
"@omegagrid/statusbar": "^0.10.80",
|
|
36
|
+
"@omegagrid/tabs": "^0.10.80",
|
|
37
|
+
"@omegagrid/toolbar": "^0.10.80",
|
|
38
|
+
"@omegagrid/tree": "^0.10.80",
|
|
39
39
|
"lit": "^3.1.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|