UNPKG

@sheetxl/studio-vanilla

Version:

SheetXL Studio - Vanilla entry point for integrating SheetXL UI.

11 lines 51 kB
"use strict";/** * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.7.27 * * (C) 2025-present SheetXL Inc. & Michael T. Ford * License: The license can be found at https://www.sheetxl.com/license. */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./Bc1oKNEzl3Kcj4g5.cjs"),as=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",Ds=new RegExp(`^[${as}][-${as}.0-9·̀-ͯ‿-⁀]*$`,"u");function ps(i){return i>=65&&i<=90||i>=97&&i<=122||i===58||i===95||i===8204||i===8205||i>=192&&i<=214||i>=216&&i<=246||i>=248&&i<=767||i>=880&&i<=893||i>=895&&i<=8191||i>=8304&&i<=8591||i>=11264&&i<=12271||i>=12289&&i<=55295||i>=63744&&i<=64975||i>=65008&&i<=65533||i>=65536&&i<=983039}const ls="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",Ps=new RegExp(`^[${ls}][-${ls}.0-9·̀-ͯ‿-⁀]*$`,"u");function gs(i){return i>=65&&i<=90||i===95||i>=97&&i<=122||i>=192&&i<=214||i>=216&&i<=246||i>=248&&i<=767||i>=880&&i<=893||i>=895&&i<=8191||i>=8204&&i<=8205||i>=8304&&i<=8591||i>=11264&&i<=12271||i>=12289&&i<=55295||i>=63744&&i<=64975||i>=65008&&i<=65533||i>=65536&&i<=983039}const G=function(i){return i===32||i===10||i===13||i===9},Es=function(i){return i>=32&&i<=55295||i===10||i===13||i===9||i>=57344&&i<=65533||i>=65536&&i<=1114111},ae=ps,cs=function(i){return ps(i)||i>=48&&i<=57||i===45||i===46||i===183||i>=768&&i<=879||i>=8255&&i<=8256},fs=[32,10,13,9],Os=Ds,Is=function(i){return i>=1&&i<=55295||i>=57344&&i<=65533||i>=65536&&i<=1114111},Ns=gs,Vs=function(i){return gs(i)||i===45||i===46||i>=48&&i<=57||i===183||i>=768&&i<=879||i>=8255&&i<=8256},Ls=Ps,Te="http://www.w3.org/XML/1998/namespace",Zt="http://www.w3.org/2000/xmlns/",Rs={__proto__:null,xml:Te,xmlns:Zt},Ms={__proto__:null,amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},I=-1,ct=-2,W=13,$t=33,nt=10,vt=60,Ut=61,H=62,X=63,Yt=93,me=i=>i===34||i===39,ms=[34,39],$s=[...ms,91,H],Hs=[...ms,vt,Yt],js=[Ut,X,...fs],Fs=[...fs,H,38,vt];function Ie(i,t,s){switch(t){case"xml":s!==Te&&i.fail(`xml prefix must be bound to ${Te}.`);break;case"xmlns":s!==Zt&&i.fail(`xmlns prefix must be bound to ${Zt}.`)}switch(s){case Zt:i.fail(t===""?`the default namespace may not be set to ${s}.`:`may not assign a prefix (even "xmlns") to the URI ${Zt}.`);break;case Te:switch(t){case"xml":break;case"":i.fail(`the default namespace may not be set to ${s}.`);break;default:i.fail("may not assign the xml namespace to another prefix.")}}}const Xs=i=>Ls.test(i),Bs=i=>Os.test(i),hs={xmldecl:"xmlDeclHandler",text:"textHandler",processinginstruction:"piHandler",doctype:"doctypeHandler",comment:"commentHandler",opentagstart:"openTagStartHandler",attribute:"attributeHandler",opentag:"openTagHandler",closetag:"closeTagHandler",cdata:"cdataHandler",error:"errorHandler",end:"endHandler",ready:"readyHandler"};class qs{constructor(t){this.i=0,this.prevI=0,this.opt=t??{},this.fragmentOpt=!!this.opt.fragment;const s=this.xmlnsOpt=!!this.opt.xmlns;if(this.trackPosition=this.opt.position!==!1,this.fileName=this.opt.fileName,s){this.nameStartCheck=Ns,this.nameCheck=Vs,this.isName=Xs,this.processAttribs=this.processAttribsNS,this.pushAttrib=this.pushAttribNS,this.ns={__proto__:null,...Rs};const o=this.opt.additionalNamespaces;o!=null&&((function(n,a){for(const h of Object.keys(a))Ie(n,h,a[h])})(this,o),Object.assign(this.ns,o))}else this.nameStartCheck=ae,this.nameCheck=cs,this.isName=Bs,this.processAttribs=this.processAttribsPlain,this.pushAttrib=this.pushAttribPlain;this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite],this._init()}get closed(){return this._closed}_init(){this.openWakaBang="",this.text="",this.name="",this.piTarget="",this.entity="",this.q=null,this.tags=[],this.tag=null,this.topNS=null,this.chunk="",this.chunkPosition=0,this.i=0,this.prevI=0,this.carriedFromPrevious=void 0,this.forbiddenState=0,this.attribList=[];const{fragmentOpt:t}=this;this.state=t?W:0,this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=t,this.xmlDeclPossible=!t,this.xmlDeclExpects=["version"],this.entityReturnState=void 0;let{defaultXMLVersion:s}=this.opt;if(s===void 0){if(this.opt.forceXMLVersion===!0)throw new Error("forceXMLVersion set but defaultXMLVersion is not set");s="1.0"}this.setXMLVersion(s),this.positionAtNewLine=0,this.doctype=!1,this._closed=!1,this.xmlDecl={version:void 0,encoding:void 0,standalone:void 0},this.line=1,this.column=0,this.ENTITIES=Object.create(Ms),this.readyHandler?.()}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(t,s){this[hs[t]]=s}off(t){this[hs[t]]=void 0}makeError(t){let s=this.fileName??"";return this.trackPosition&&(s.length>0&&(s+=":"),s+=`${this.line}:${this.column}`),s.length>0&&(s+=": "),new Error(s+t)}fail(t){const s=this.makeError(t),o=this.errorHandler;if(o===void 0)throw s;return o(s),this}write(t){if(this.closed)return this.fail("cannot write after close.");let s=!1;t===null?(s=!0,t=""):typeof t=="object"&&(t=t.toString()),this.carriedFromPrevious!==void 0&&(t=`${this.carriedFromPrevious}${t}`,this.carriedFromPrevious=void 0);let o=t.length;const n=t.charCodeAt(o-1);!s&&(n===13||n>=55296&&n<=56319)&&(this.carriedFromPrevious=t[o-1],o--,t=t.slice(0,o));const{stateTable:a}=this;for(this.chunk=t,this.i=0;this.i<o;)a[this.state].call(this);return this.chunkPosition+=o,s?this.end():this}close(){return this.write(null)}getCode10(){const t=this.chunk,s=this.i;if(this.prevI=s,this.i++,s>=t.length)return I;const o=t.charCodeAt(s);if(this.column++,o<55296){if(o>=32||o===9)return o;switch(o){case nt:return this.line++,this.column=0,this.positionAtNewLine=this.position,nt;case 13:return t.charCodeAt(s+1)===nt&&(this.i=s+2),this.line++,this.column=0,this.positionAtNewLine=this.position,ct;default:return this.fail("disallowed character."),o}}if(o>56319)return o>=57344&&o<=65533||this.fail("disallowed character."),o;const n=65536+1024*(o-55296)+(t.charCodeAt(s+1)-56320);return this.i=s+2,n>1114111&&this.fail("disallowed character."),n}getCode11(){const{chunk:t,i:s}=this;if(this.prevI=s,this.i=s+1,s>=t.length)return I;const o=t.charCodeAt(s);if(this.column++,o<55296){if(o>31&&o<127||o>159&&o!==8232||o===9)return o;switch(o){case nt:return this.line++,this.column=0,this.positionAtNewLine=this.position,nt;case 13:{const a=t.charCodeAt(s+1);a!==nt&&a!==133||(this.i=s+2)}case 133:case 8232:return this.line++,this.column=0,this.positionAtNewLine=this.position,ct;default:return this.fail("disallowed character."),o}}if(o>56319)return o>=57344&&o<=65533||this.fail("disallowed character."),o;const n=65536+1024*(o-55296)+(t.charCodeAt(s+1)-56320);return this.i=s+2,n>1114111&&this.fail("disallowed character."),n}getCodeNorm(){const t=this.getCode();return t===ct?nt:t}unGet(){this.i=this.prevI,this.column--}captureTo(t){let{i:s}=this;const{chunk:o}=this;for(;;){const n=this.getCode(),a=n===ct,h=a?nt:n;if(h===I||t.includes(h))return this.text+=o.slice(s,this.prevI),h;a&&(this.text+=`${o.slice(s,this.prevI)} `,s=this.i)}}captureToChar(t){let{i:s}=this;const{chunk:o}=this;for(;;){let n=this.getCode();switch(n){case ct:this.text+=`${o.slice(s,this.prevI)} `,s=this.i,n=nt;break;case I:return this.text+=o.slice(s),!1}if(n===t)return this.text+=o.slice(s,this.prevI),!0}}captureNameChars(){const{chunk:t,i:s}=this;for(;;){const o=this.getCode();if(o===I)return this.name+=t.slice(s),I;if(!cs(o))return this.name+=t.slice(s,this.prevI),o===ct?nt:o}}skipSpaces(){for(;;){const t=this.getCodeNorm();if(t===I||!G(t))return t}}setXMLVersion(t){this.currentXMLVersion=t,t==="1.0"?(this.isChar=Es,this.getCode=this.getCode10):(this.isChar=Is,this.getCode=this.getCode11)}sBegin(){this.chunk.charCodeAt(0)===65279&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const t=this.i,s=this.skipSpaces();switch(this.prevI!==t&&(this.xmlDeclPossible=!1),s){case vt:if(this.state=15,this.text.length!==0)throw new Error("no-empty text at start");break;case I:break;default:this.unGet(),this.state=W,this.xmlDeclPossible=!1}}sDoctype(){const t=this.captureTo($s);switch(t){case H:this.doctypeHandler?.(this.text),this.text="",this.state=W,this.doctype=!0;break;case I:break;default:this.text+=String.fromCodePoint(t),t===91?this.state=4:me(t)&&(this.state=3,this.q=t)}}sDoctypeQuote(){const t=this.q;this.captureToChar(t)&&(this.text+=String.fromCodePoint(t),this.q=null,this.state=2)}sDTD(){const t=this.captureTo(Hs);t!==I&&(this.text+=String.fromCodePoint(t),t===Yt?this.state=2:t===vt?this.state=6:me(t)&&(this.state=5,this.q=t))}sDTDQuoted(){const t=this.q;this.captureToChar(t)&&(this.text+=String.fromCodePoint(t),this.state=4,this.q=null)}sDTDOpenWaka(){const t=this.getCodeNorm();switch(this.text+=String.fromCodePoint(t),t){case 33:this.state=7,this.openWakaBang="";break;case X:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const t=String.fromCodePoint(this.getCodeNorm()),s=this.openWakaBang+=t;this.text+=t,s!=="-"&&(this.state=s==="--"?8:4,this.openWakaBang="")}sDTDComment(){this.captureToChar(45)&&(this.text+="-",this.state=9)}sDTDCommentEnding(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),this.state=t===45?10:8}sDTDCommentEnded(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),t===H?this.state=4:(this.fail("malformed comment."),this.state=8)}sDTDPI(){this.captureToChar(X)&&(this.text+="?",this.state=12)}sDTDPIEnding(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),t===H&&(this.state=4)}sText(){this.tags.length!==0?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:t}=this;const{chunk:s}=this;t:for(;;)switch(this.getCode()){case ct:this.entity+=`${s.slice(t,this.prevI)} `,t=this.i;break;case 59:{const{entityReturnState:o}=this,n=this.entity+s.slice(t,this.prevI);let a;this.state=o,n===""?(this.fail("empty entity name."),a="&;"):(a=this.parseEntity(n),this.entity=""),o===W&&this.textHandler===void 0||(this.text+=a);break t}case I:this.entity+=s.slice(t);break t}}sOpenWaka(){const t=this.getCode();if(ae(t))this.state=34,this.unGet(),this.xmlDeclPossible=!1;else switch(t){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang="",this.xmlDeclPossible=!1;break;case X:this.state=23;break;default:this.fail("disallowed character in tag name"),this.state=W,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case"[CDATA[":this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang="";break;case"--":this.state=17,this.openWakaBang="";break;case"DOCTYPE":this.state=2,(this.doctype||this.sawRoot)&&this.fail("inappropriately located doctype declaration."),this.openWakaBang="";break;default:this.openWakaBang.length>=7&&this.fail("incorrect syntax.")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){const t=this.getCodeNorm();t===45?(this.state=19,this.commentHandler?.(this.text),this.text=""):(this.text+=`-${String.fromCodePoint(t)}`,this.state=17)}sCommentEnded(){const t=this.getCodeNorm();t!==H?(this.fail("malformed comment."),this.text+=`--${String.fromCodePoint(t)}`,this.state=17):this.state=W}sCData(){this.captureToChar(Yt)&&(this.state=21)}sCDataEnding(){const t=this.getCodeNorm();t===Yt?this.state=22:(this.text+=`]${String.fromCodePoint(t)}`,this.state=20)}sCDataEnding2(){const t=this.getCodeNorm();switch(t){case H:this.cdataHandler?.(this.text),this.text="",this.state=W;break;case Yt:this.text+="]";break;default:this.text+=`]]${String.fromCodePoint(t)}`,this.state=20}}sPIFirstChar(){const t=this.getCodeNorm();this.nameStartCheck(t)?(this.piTarget+=String.fromCodePoint(t),this.state=24):t===X||G(t)?(this.fail("processing instruction without a target."),this.state=t===X?26:25):(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(t),this.state=24)}sPIRest(){const{chunk:t,i:s}=this;for(;;){const o=this.getCodeNorm();if(o===I)return void(this.piTarget+=t.slice(s));if(!this.nameCheck(o)){this.piTarget+=t.slice(s,this.prevI);const n=o===X;n||G(o)?this.piTarget==="xml"?(this.xmlDeclPossible||this.fail("an XML declaration must be at the start of the document."),this.state=n?$t:27):this.state=n?26:25:(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(o));break}}}sPIBody(){if(this.text.length===0){const t=this.getCodeNorm();t===X?this.state=26:G(t)||(this.text=String.fromCodePoint(t))}else this.captureToChar(X)&&(this.state=26)}sPIEnding(){const t=this.getCodeNorm();if(t===H){const{piTarget:s}=this;s.toLowerCase()==="xml"&&this.fail("the XML declaration must appear at the start of the document."),this.piHandler?.({target:s,body:this.text}),this.piTarget=this.text="",this.state=W}else t===X?this.text+="?":(this.text+=`?${String.fromCodePoint(t)}`,this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const t=this.skipSpaces();t!==X?t!==I&&(this.state=28,this.name=String.fromCodePoint(t)):this.state=$t}sXMLDeclName(){const t=this.captureTo(js);if(t===X)return this.state=$t,this.name+=this.text,this.text="",void this.fail("XML declaration is incomplete.");if(G(t)||t===Ut){if(this.name+=this.text,this.text="",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`)}this.state=t===Ut?30:29}}sXMLDeclEq(){const t=this.getCodeNorm();if(t===X)return this.state=$t,void this.fail("XML declaration is incomplete.");G(t)||(t!==Ut&&this.fail("value required."),this.state=30)}sXMLDeclValueStart(){const t=this.getCodeNorm();if(t===X)return this.state=$t,void this.fail("XML declaration is incomplete.");G(t)||(me(t)?this.q=t:(this.fail("value must be quoted."),this.q=32),this.state=31)}sXMLDeclValue(){const t=this.captureTo([this.q,X]);if(t===X)return this.state=$t,this.text="",void this.fail("XML declaration is incomplete.");if(t===I)return;const s=this.text;switch(this.text="",this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const o=s;this.xmlDecl.version=o,/^1\.[0-9]+$/.test(o)?this.opt.forceXMLVersion||this.setXMLVersion(o):this.fail("version number must match /^1\\.[0-9]+$/.");break}case"encoding":/^[A-Za-z][A-Za-z0-9._-]*$/.test(s)||this.fail("encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/."),this.xmlDeclExpects=["standalone"],this.xmlDecl.encoding=s;break;case"standalone":s!=="yes"&&s!=="no"&&this.fail('standalone value must match "yes" or "no".'),this.xmlDeclExpects=[],this.xmlDecl.standalone=s}this.name="",this.state=32}sXMLDeclSeparator(){const t=this.getCodeNorm();t!==X?(G(t)||(this.fail("whitespace required."),this.unGet()),this.state=27):this.state=$t}sXMLDeclEnding(){this.getCodeNorm()===H?(this.piTarget!=="xml"?this.fail("processing instructions are not allowed before root."):this.name!=="version"&&this.xmlDeclExpects.includes("version")&&this.fail("XML declaration must contain a version."),this.xmlDeclHandler?.(this.xmlDecl),this.name="",this.piTarget=this.text="",this.state=W):this.fail("The character ? is disallowed anywhere in XML declarations."),this.xmlDeclPossible=!1}sOpenTag(){const t=this.captureNameChars();if(t===I)return;const s=this.tag={name:this.name,attributes:Object.create(null)};switch(this.name="",this.xmlnsOpt&&(this.topNS=s.ns=Object.create(null)),this.openTagStartHandler?.(s),this.sawRoot=!0,!this.fragmentOpt&&this.closedRoot&&this.fail("documents may contain only one root."),t){case H:this.openTag();break;case 47:this.state=35;break;default:G(t)||this.fail("disallowed character in tag name."),this.state=36}}sOpenTagSlash(){this.getCode()===H?this.openSelfClosingTag():(this.fail("forward-slash in opening tag not followed by >."),this.state=36)}sAttrib(){const t=this.skipSpaces();t!==I&&(ae(t)?(this.unGet(),this.state=37):t===H?this.openTag():t===47?this.state=35:this.fail("disallowed character in attribute name."))}sAttribName(){const t=this.captureNameChars();t===Ut?this.state=39:G(t)?this.state=38:t===H?(this.fail("attribute without value."),this.pushAttrib(this.name,this.name),this.name=this.text="",this.openTag()):t!==I&&this.fail("disallowed character in attribute name.")}sAttribNameSawWhite(){const t=this.skipSpaces();switch(t){case I:return;case Ut:this.state=39;break;default:this.fail("attribute without value."),this.text="",this.name="",t===H?this.openTag():ae(t)?(this.unGet(),this.state=37):(this.fail("disallowed character in attribute name."),this.state=36)}}sAttribValue(){const t=this.getCodeNorm();me(t)?(this.q=t,this.state=40):G(t)||(this.fail("unquoted attribute value."),this.state=42,this.unGet())}sAttribValueQuoted(){const{q:t,chunk:s}=this;let{i:o}=this;for(;;)switch(this.getCode()){case t:return this.pushAttrib(this.name,this.text+s.slice(o,this.prevI)),this.name=this.text="",this.q=null,void(this.state=41);case 38:return this.text+=s.slice(o,this.prevI),this.state=14,void(this.entityReturnState=40);case nt:case ct:case 9:this.text+=`${s.slice(o,this.prevI)} `,o=this.i;break;case vt:return this.text+=s.slice(o,this.prevI),void this.fail("disallowed character.");case I:return void(this.text+=s.slice(o))}}sAttribValueClosed(){const t=this.getCodeNorm();G(t)?this.state=36:t===H?this.openTag():t===47?this.state=35:ae(t)?(this.fail("no whitespace between attributes."),this.unGet(),this.state=37):this.fail("disallowed character in attribute name.")}sAttribValueUnquoted(){const t=this.captureTo(Fs);switch(t){case 38:this.state=14,this.entityReturnState=42;break;case vt:this.fail("disallowed character.");break;case I:break;default:this.text.includes("]]>")&&this.fail('the string "]]>" is disallowed in char data.'),this.pushAttrib(this.name,this.text),this.name=this.text="",t===H?this.openTag():this.state=36}}sCloseTag(){const t=this.captureNameChars();t===H?this.closeTag():G(t)?this.state=44:t!==I&&this.fail("disallowed character in closing tag.")}sCloseTagSawWhite(){switch(this.skipSpaces()){case H:this.closeTag();break;case I:break;default:this.fail("disallowed character in closing tag.")}}handleTextInRoot(){let{i:t,forbiddenState:s}=this;const{chunk:o,textHandler:n}=this;t:for(;;)switch(this.getCode()){case vt:if(this.state=15,n!==void 0){const{text:a}=this,h=o.slice(t,this.prevI);a.length!==0?(n(a+h),this.text=""):h.length!==0&&n(h)}s=0;break t;case 38:this.state=14,this.entityReturnState=W,n!==void 0&&(this.text+=o.slice(t,this.prevI)),s=0;break t;case Yt:switch(s){case 0:s=1;break;case 1:s=2;break;case 2:break;default:throw new Error("impossible state")}break;case H:s===2&&this.fail('the string "]]>" is disallowed in char data.'),s=0;break;case ct:n!==void 0&&(this.text+=`${o.slice(t,this.prevI)} `),t=this.i,s=0;break;case I:n!==void 0&&(this.text+=o.slice(t));break t;default:s=0}this.forbiddenState=s}handleTextOutsideRoot(){let{i:t}=this;const{chunk:s,textHandler:o}=this;let n=!1;t:for(;;){const a=this.getCode();switch(a){case vt:if(this.state=15,o!==void 0){const{text:h}=this,m=s.slice(t,this.prevI);h.length!==0?(o(h+m),this.text=""):m.length!==0&&o(m)}break t;case 38:this.state=14,this.entityReturnState=W,o!==void 0&&(this.text+=s.slice(t,this.prevI)),n=!0;break t;case ct:o!==void 0&&(this.text+=`${s.slice(t,this.prevI)} `),t=this.i;break;case I:o!==void 0&&(this.text+=s.slice(t));break t;default:G(a)||(n=!0)}}n&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0))}pushAttribNS(t,s){const{prefix:o,local:n}=this.qName(t),a={name:t,prefix:o,local:n,value:s};if(this.attribList.push(a),this.attributeHandler?.(a),o==="xmlns"){const h=s.trim();this.currentXMLVersion==="1.0"&&h===""&&this.fail("invalid attempt to undefine prefix in XML 1.0"),this.topNS[n]=h,Ie(this,n,h)}else if(t==="xmlns"){const h=s.trim();this.topNS[""]=h,Ie(this,"",h)}}pushAttribPlain(t,s){const o={name:t,value:s};this.attribList.push(o),this.attributeHandler?.(o)}end(){this.sawRoot||this.fail("document must contain a root element.");const{tags:t}=this;for(;t.length>0;){const o=t.pop();this.fail(`unclosed tag: ${o.name}`)}this.state!==0&&this.state!==W&&this.fail("unexpected end.");const{text:s}=this;return s.length!==0&&(this.textHandler?.(s),this.text=""),this._closed=!0,this.endHandler?.(),this._init(),this}resolve(t){let s=this.topNS[t];if(s!==void 0)return s;const{tags:o}=this;for(let n=o.length-1;n>=0;n--)if(s=o[n].ns[t],s!==void 0)return s;return s=this.ns[t],s!==void 0?s:this.opt.resolvePrefix?.(t)}qName(t){const s=t.indexOf(":");if(s===-1)return{prefix:"",local:t};const o=t.slice(s+1),n=t.slice(0,s);return(n===""||o===""||o.includes(":"))&&this.fail(`malformed name: ${t}.`),{prefix:n,local:o}}processAttribsNS(){const{attribList:t}=this,s=this.tag;{const{prefix:a,local:h}=this.qName(s.name);s.prefix=a,s.local=h;const m=s.uri=this.resolve(a)??"";a!==""&&(a==="xmlns"&&this.fail('tags may not have "xmlns" as prefix.'),m===""&&(this.fail(`unbound namespace prefix: ${JSON.stringify(a)}.`),s.uri=a))}if(t.length===0)return;const{attributes:o}=s,n=new Set;for(const a of t){const{name:h,prefix:m,local:A}=a;let b,C;m===""?(b=h==="xmlns"?Zt:"",C=h):(b=this.resolve(m),b===void 0&&(this.fail(`unbound namespace prefix: ${JSON.stringify(m)}.`),b=m),C=`{${b}}${A}`),n.has(C)&&this.fail(`duplicate attribute: ${C}.`),n.add(C),a.uri=b,o[h]=a}this.attribList=[]}processAttribsPlain(){const{attribList:t}=this,s=this.tag.attributes;for(const{name:o,value:n}of t)s[o]!==void 0&&this.fail(`duplicate attribute: ${o}.`),s[o]=n;this.attribList=[]}openTag(){this.processAttribs();const{tags:t}=this,s=this.tag;s.isSelfClosing=!1,this.openTagHandler?.(s),t.push(s),this.state=W,this.name=""}openSelfClosingTag(){this.processAttribs();const{tags:t}=this,s=this.tag;s.isSelfClosing=!0,this.openTagHandler?.(s),this.closeTagHandler?.(s),(this.tag=t[t.length-1]??null)===null&&(this.closedRoot=!0),this.state=W,this.name=""}closeTag(){const{tags:t,name:s}=this;if(this.state=W,this.name="",s==="")return this.fail("weird empty close tag."),void(this.text+="</>");const o=this.closeTagHandler;let n=t.length;for(;n-- >0;){const a=this.tag=t.pop();if(this.topNS=a.ns,o?.(a),a.name===s)break;this.fail(`unexpected close tag: ${s}.`)}n===0?this.closedRoot=!0:n<0&&(this.fail(`unmatched closing tag: ${s}.`),this.text+=`</${s}>`)}parseEntity(t){if(t[0]!=="#"){const o=this.ENTITIES[t];return o!==void 0?o:(this.fail(this.isName(t)?"undefined entity.":"disallowed character in entity name."),`&${t};`)}let s=NaN;return t[1]==="x"&&/^#x[0-9a-f]+$/i.test(t)?s=parseInt(t.slice(2),16):/^#[0-9]+$/.test(t)&&(s=parseInt(t.slice(1),10)),this.isChar(s)?String.fromCodePoint(s):(this.fail("malformed character entity."),`&${t};`)}}var Ne,mt;(mt=Ne||(Ne={})).Events={XmlDecl:"xmldecl",Text:"text",ProcessingInstruction:"processinginstruction",Doctype:"doctype",Comment:"comment",OpenTagStart:"opentagstart",Attribute:"attribute",OpenTag:"opentag",CloseTag:"closetag",CDdata:"cdata",Error:"error",End:"end",Ready:"ready"},mt.parseStream=async(i,t,s)=>{const o=new qs({position:!1,...s});let n;if(t.onOpenTagStart&&o.on(mt.Events.OpenTagStart,t.onOpenTagStart),t.onOpenTag&&o.on(mt.Events.OpenTag,t.onOpenTag),t.onCloseTag&&o.on(mt.Events.CloseTag,t.onCloseTag),t.onAttribute&&o.on(mt.Events.Attribute,t.onAttribute),t.onText&&o.on(mt.Events.Text,t.onText),t.onError&&o.on(mt.Events.Error,t.onError),t.onEnd){t.onEnd;const a=()=>{n=t.onEnd()};o.on(mt.Events.End,a)}for(;;){const{value:a,done:h}=await i.read();if(h)break;o.write(a)}return o.close(),n};const S=i=>i===!0||i==="1"||i==="on"||i==="true"||i!==!1&&i!=="0"&&i!=="off"&&i!=="false"&&null,E=i=>{const t=parseInt(i);return isNaN(t)?null:t},ht=i=>{const t=parseFloat(i);return isNaN(t)?null:t},k=null;class Ws{constructor(){this._registeredVisitors=new Map}registerVisitor(t){this._registeredVisitors.set(t.from,t)}createEventHandler(t,s,o){const n=this._registeredVisitors,a=[];let h=null,m=null,A=null,b=null;const C=[],D={key:null,source:t};let y=null,R=!1;const J=(c,d)=>{let T=A.attributes[c];if(d){if(Array.isArray(d)){for(let j=0;j<d.length;j++)if(T==null||(T=d[j](T),T==null))return}else if(T==null||(T=d(T),T==null))return}return T},x={getSource:()=>y.source,setSource:c=>{y.source=c},setKey:c=>{y.key=c},getFrom:()=>A,getAttribute:(c,d)=>J(c,d)??null,hasAttribute:c=>x.getAttribute(c)!==null,getParent:()=>C[C.length-2].source,getPath:()=>{const c=[];for(let d=0;d<a.length;d++)c.push(a[d].local);return c.join("\\")},parseAttribute:J,copyToObject:(c,d,T,j)=>{const U=J(j??d,T);U!==void 0&&(c[d]=U)},copyTo:(c,d,T)=>{const j=J(T??c,d);j!==void 0&&(y.source[c]=j)},warn:c=>{o?o?.(c):console.warn(c)}};return{onOpenTag:c=>{let d=c.name;const T=d.indexOf(":");T!==-1&&(d=d.slice(T+1));const j=n.get(d);if(h={local:d,visitor:j,tag:c,destination:null},R)return a.push(h),m=d,void(A=c);b=h?.visitor??null,j&&(y=a.length===0?D:b?.to!==null?{key:null,source:{}}:null,h.destination=y,y&&C.push(y)),a.push(h),m=d,A=c,R=b?.to===null,b?.openTag?.(x)},onCloseTag:c=>{let d=c.name;const T=d.indexOf(":");if(T!==-1&&(d=d.slice(T+1)),d!==m)throw new Error(`mismatch open/close tag: '${d}'/'${m}'`);R||b?.closeTag?.(x);const j=a.pop()??null;h=a[a.length-1]??null;const U=j?.destination;if(U){C.pop(),y=C[C.length-1]??D;const ut=j.visitor;ut&&ut.to&&U.source!==void 0&&(Array.isArray(ut.to)?y.source.push?y.source.push(U.source):o?.(`Unable to parse array for ${ut.from} at ${x.getPath()}`):U.key?y.source[U.key]=U.source:typeof ut.to=="string"&&(y.source[ut.to]=U.source))}m=h?.local??null,A=h?.tag??null,b=h?.visitor??null,R=!h?.destination},onText:c=>{b?.text?.(c,x)},onEnd:s}}}const us=(i,t,s,o=null)=>{if(!i)return null;let n=i;n.startsWith("/")&&(n=n.substring(1));let a=o?.parsedRefs?.get(i);if(a!==void 0)return a;const h=t(n);if(!h)return null;let m=h.content;try{s&&(m=s(m))}catch(A){console.warn(A)}return o?.parsedRefs?.set(i,m),m},Ve=(i,t,s,o,n=null)=>{if(!i)return null;let a=i;a.startsWith("/")&&(a=a.substring(1));let h=n?.parsedRefs?.get(i);if(h!==void 0)return h;const m=t(a);if(!m)return null;const A=m.content;try{const b=new TextDecoder().decode(A),C=s.parseFromString(b,"text/xml"),D=o.convert(C,i,n);return n?.parsedRefs?.set(i,D),D}catch(b){console.warn(b)}return null},Gt=(i,t,s,o,n=null)=>{const a=new Map;let h=t.Directory[i];const m=h?h.length:0;for(let A=0;A<m;A++){const b=h[A];if(!b)continue;let C=b;C.startsWith("/")&&(C=C.substring(1));const D=Ve(C,y=>t.files[y],s,o,n);a.set(C,D)}return a},_s=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"],Le=(i,t="dk1")=>{let s;const o=i("auto");o===void 0||o!=="1"&&o!=="true"||(s=t);const n=i("indexed");n&&(s=`index${n}`);const a=i("rgb");a&&(s=a.toLowerCase(),a.length!==8||a.startsWith("FF")||(s="FF"+a.substring(2,a.length)));const h=i("theme");h&&(s=_s[h]);let m=i("tint");if(m&&(s+=` ${p.N.AdjustmentType.ETint} ${parseFloat(m)}`),s)return s},Ts=i=>i&&i.replace(/^\{([\s\S]+)\}$/,"$1"),ys=i=>i==="true"||i==="1";class Ht{static{this.Collapsed=1}static{this.CustomFormat=2}static{this.CustomHeight=4}static{this.Hidden=8}static{this.Ht=16}static{this.OutlineLevel=32}static{this.Ph=64}static{this.R=128}static{this.S=256}static{this.Spans=512}static{this.ThickBot=1024}static{this.ThickTop=2048}}const zs=(i,t,s)=>{if(i[0].value[0]===i[1].value[0])return t},ds={colStart:0,colEnd:0,rowStart:0,rowEnd:0},Gs=Object.freeze(Object.defineProperty({__proto__:null,readBufferXLSX:async(i,t)=>{const{password:s,createWorkbookOptions:o={},...n}=t??{},a=[],h=t?.progress,m=h?.onProgress;let A=0;const b=Promise.resolve().then(()=>require("./CuZE_q2nxbuhUD-F.cjs")),C=Promise.resolve().then(()=>require("./3a0OsG2EuW1mirCA.cjs"));let D=null;try{D=new DOMParser}catch{}let y=null;D||(y=Promise.resolve().then(()=>require("./B_E_JfZ9D416VUiD.cjs")).then(c=>c.i));let R=null,J=null,x=null;try{const c=await Promise.all([b,C,y]);R=c[0],J=c[1],x=c[2]}catch(c){throw new Error("Unable to load XLSX parser.",{cause:c})}try{const c=R.read(i,{type:"array",sheets:[],cellStyles:!1,bookFiles:!0});if(!c.Directory)throw new p.xt("Unable to parse as an Excel document. Try to save as '.xlsx' and try again.");c.Directory.richstructure=["/xl/richData/rdrichvaluestructure.xml"],c.Directory.richdata=["/xl/richData/rdrichvalue.xml"];const d=new J.FromOOXMLConverter,T=D??new x.DOMParser,j=o?.resources??new p.Nm,U=j.beginPersist(),ut={},Re=new Set,ye=new Map;ye.set("richTypes",[]);const Me=new Map,$e=[],le=w=>c.files[w],be=(w,B)=>{const Y=w.lastIndexOf("/"),et=w.substring(0,Y+1)+"_rels/"+w.substring(Y+1,w.length)+".rels";let dt=B.get(et);return dt||(dt=((L,Se,Ce,ke,jt=null)=>{if(!L)return null;const st=Ve(L,Se,Ce,ke,jt);if(!st)return null;const it=new Map,yt=Object.keys(st),Ft=yt.length;for(let bt=0;bt<Ft;bt++){const Xt=yt[bt],Ct=st[Xt];it.set(Xt,Ct)}return it})(et,le,T,d,Tt),B.set(et,dt)),dt},ce=(w,B,Y,et=Me)=>{let dt=be(B,et).get(w),L=dt?.target;if(!L)return null;if(dt.targetMode==="External")return dt.target;const Se=B.lastIndexOf("/"),Ce=B.substring(0,Se+1);L.startsWith("/")||(L=Ce+L),L=(st=>{const it=st.split(/\/+/);return it.reduce((yt,Ft,bt)=>(Ft==="."?yt.splice(bt,1):Ft===".."&&yt.splice(bt-1,2),yt),it).join("/")})(L);const ke=d?.getVisitorParamsState().get("dxfs");let jt=et.get(L);if(!jt)if(dt.type==="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"){const st={};jt=st;const it=async()=>{const yt=((M,F,Qt,_,Z,z,Jt,kt)=>{const u=new Ws,Q=new p.zt.TransposedBuilder;let $=null;u.registerVisitor({from:"autoFilter",to:"filter",openTag:e=>{e.copyTo("ref",k)}}),u.registerVisitor({from:"conditionalFormatting",to:{},openTag:e=>{const r=e.getParent();r.conditionals||(r.conditionals=[]),r.conditionals.push(e.getSource());const l=e.getAttribute("sqref");l&&(e.getSource().ref=l.split(" ").join(",")),e.copyTo("pivot",S)},closeTag:e=>{const r=e.getSource();if(r.rule){const l=Object.keys(r.rule);for(let g=0;g<l.length;g++){const N=l[g];N!=="rule"&&(r[N]=r.rule[N])}}delete r.rule}}),u.registerVisitor({from:"cfRule",to:"rule",openTag:e=>{const r=e.getParent();e.copyToObject(r,"type",k),e.copyToObject(r,"priority",E),e.copyToObject(r,"stopIfTrue",S);const l=e.getAttribute("dxfId",E);if(l!==null){let g=_?.get(l);g||(z?.(`Unable to load conditional color. Invalid dxfI: '${l}' at '${e.getPath()}'.`),g={}),r.style=g}e.copyToObject(r,"aboveAverage",S),e.copyToObject(r,"equalAverage",S),e.copyToObject(r,"stdDev",E),e.copyToObject(r,"bottom",S),e.copyToObject(r,"percent",S),e.copyToObject(r,"rank",E),e.copyToObject(r,"operator",k),e.copyToObject(r,"text",k),e.copyToObject(r,"timePeriod",k)}}),u.registerVisitor({from:"colorScale",to:"colorScale"}),u.registerVisitor({from:"dataBar",to:"dataBar",openTag:e=>{e.copyTo("maxLength",E),e.copyTo("minLength",E),e.copyTo("showValue",S)}}),u.registerVisitor({from:"iconSet",to:"iconSet",openTag:e=>{e.copyTo("iconSet",k),e.copyTo("reverse",S),e.copyTo("showValue",S)}}),u.registerVisitor({from:"formula",to:null,text:(e,r)=>{const l=r.getParent();let g=l.formulas;g||(g=[],l.formulas=g),g.push(e)}}),u.registerVisitor({from:"cfvo",to:{},openTag:e=>{const r=e.getParent();r.conditions||(r.conditions=[]),r.conditions.push(e.getSource()),e.copyTo("type",k),e.copyTo("value",ht,"val"),e.copyTo("gte",S)}}),u.registerVisitor({from:"color",to:{},openTag:e=>{const r=e.getParent();r.colors||(r.colors=[]);const l=Le(g=>e.getAttribute(g));r.colors.push(l)}}),u.registerVisitor({from:"filterColumn",to:"filterColumn",openTag:e=>{const r=e.getParent();r.fields||(r.fields=[]),r.fields.push(e.getSource()),e.copyTo("offset",E,"colId"),e.copyTo("hiddenButton",S),e.copyTo("showButton",S)}}),u.registerVisitor({from:"colorFilter",to:"colorFilter",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Color,e.copyTo("cellColor",S),e.copyTo("styleId",E,"dxfId")}}),u.registerVisitor({from:"dynamicFilter",to:"dynamicFilter",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Dynamic,e.copyTo("dynamicType",k,"type"),e.copyTo("val",ht),e.copyTo("maxVal",ht,"maxVal")}}),u.registerVisitor({from:"iconFilter",to:"iconFilter",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Icon,e.copyTo("iconId",E),e.copyTo("iconSet",k)}}),u.registerVisitor({from:"top10",to:"top10",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Top10,e.copyTo("filterVal",ht),e.copyTo("percent",S),e.copyTo("top",S),e.copyTo("val",ht)}}),u.registerVisitor({from:"filters",to:"filters",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Items,e.copyTo("blank",S),e.copyTo("calendarType",k)}}),u.registerVisitor({from:"dateGroupItem",to:"dateGroupItem",openTag:e=>{const r=e.getParent();r.dateGroups||(r.dateGroups=[]),r.dateGroups.push(e.getSource()),e.copyTo("group",k,"dateTimeGrouping"),e.copyTo("day",E),e.copyTo("hour",E),e.copyTo("minute",E),e.copyTo("month",E),e.copyTo("second",E),e.copyTo("year",E)}}),u.registerVisitor({from:"filter",to:"filter",openTag:e=>{const r=e.getParent();r.items||(r.items=[]),r.items.push(e.getAttribute("val",ht))}}),u.registerVisitor({from:"customFilters",to:"customFilters",openTag:e=>{const r=e.getParent();r.criteria||(r.criteria=[]),r.criteria.push(e.getSource()),e.getSource().type=p.au.Type.Custom,e.copyTo("and",S)}}),u.registerVisitor({from:"customFilter",to:"customFilter",openTag:e=>{const r=e.getParent();r.filters||(r.filters=[]),r.filters.push(e.getSource()),e.copyTo("operator",k),e.copyTo("value",ht,"val")}}),u.registerVisitor({from:"sortState",to:"sort",openTag:e=>{e.copyTo("ref",k)}}),u.registerVisitor({from:"sortCondition",to:"sortCondition",openTag:e=>{const r=e.getParent();r.fields||(r.fields=[]);const l=e.getSource();r.fields.push(l),e.copyTo("sortOn",k,"sortBy"),e.copyTo("dxfId",k,"sortBy"),e.copyTo("iconSet",k),e.copyTo("customList",k);const g=e.getAttribute("ref");if(g){const N=p.Yr.fastStringToRange(g,ds).colStart,K=p.Yr.fastStringToRange(r.ref,ds),Bt=K.colStart;l.offset=K?N-Bt:N}l.reverse=e.getAttribute("descending",S)??!1}}),u.registerVisitor({from:"AlternateContent",to:null});const pe=e=>{$=e.getSource(),e.copyTo("topLeft",k,"topLeftCell");const r=ys(e.getAttribute("defaultGridColor")),l=e.getAttribute("colorId");l===null||r||(e.getSource().gridLineColor="index"+parseFloat(l)),e.copyTo("showZeros",S),e.copyTo("showFormulas",S),e.copyTo("zoomScale",E),e.copyTo("showRowHeaders",S,"showRowColHeaders"),e.copyTo("showColumnHeaders",S,"showRowColHeaders"),e.copyTo("showRowGridlines",S,"showGridLines"),e.copyTo("showColumnGridlines",S,"showGridLines")};u.registerVisitor({from:"sheetView",to:"view",openTag:e=>{pe(e)},closeTag:()=>{$=null}}),u.registerVisitor({from:"customSheetViews",to:"customSheetViews",openTag:e=>{e.setSource([])}}),u.registerVisitor({from:"customSheetView",to:[],openTag:e=>{pe(e)},closeTag:()=>{$=null}}),u.registerVisitor({from:"selection",to:"selection",openTag:e=>{if(!$)return;e.copyTo("cell",k,"activeCell"),e.copyTo("rangeIndex",E,"activeCellId");const r=e.getAttribute("activeCell"),l=e.getAttribute("sqref");l&&l!==r&&(e.getSource().ranges=l.split(" "))}}),u.registerVisitor({from:"pane",to:"pane",openTag:e=>{if($&&e.getAttribute("state")==="frozen"){const r={};$.freezePanes=r,e.copyToObject(r,"topLeft",k,"topLeftCell");const l=$.topLeft?p.Yr.fastStringToCell($.topLeft):{colIndex:0,rowIndex:0},g={colIndex:0,rowIndex:0};e.copyToObject(g,"colIndex",E,"xSplit"),e.copyToObject(g,"rowIndex",E,"ySplit");const N={colIndex:l.colIndex+g.colIndex,rowIndex:l.rowIndex+g.rowIndex};r.coords=p.Yr.cellToString(N)}}}),u.registerVisitor({from:"tabColor",to:null,openTag:e=>{const r=Le(l=>e.getAttribute(l));r&&(M.tabColor=r)}}),u.registerVisitor({from:"pageSetUpPr",to:"pageSetUpPr",openTag:e=>{}}),u.registerVisitor({from:"outlinePr",to:"outlinePr",openTag:e=>{}}),u.registerVisitor({from:"pageMargins",to:"pageMargins",openTag:e=>{}}),u.registerVisitor({from:"pageSetup",to:"pageSetup",openTag:e=>{}}),u.registerVisitor({from:"printOptions",to:"printOptions",openTag:e=>{}}),u.registerVisitor({from:"mergeCells",to:"merges",openTag:e=>{e.setSource([])}}),u.registerVisitor({from:"mergeCell",to:[],openTag:e=>{const r=e.getAttribute("ref");e.setSource(r)}}),u.registerVisitor({from:"hyperlinks",to:"hyperlinks",openTag:e=>{e.setSource([])}}),u.registerVisitor({from:"hyperlink",to:[],openTag:e=>{const r=e.getAttribute("r:id"),l=e.getAttribute("ref");if(!l)return void console.warn("No ref found for hyperlink");e.setKey(l);let g=r?F(r):"";if(typeof g!="string")return void console.warn("Invalid address ",g);const N=e.getAttribute("location");g.endsWith("\\")&&(g=g.substring(0,g.length-1));const K=e.getAttribute("location");if(K&&(N&&N!==K&&console.warn("display and location are different",N,K),g+="#"+K),!g)return void console.warn("No address found for hyperlink. r:id",r);let Bt;const xt=e.getAttribute("tooltip");Bt=xt?{address:g,tooltip:xt}:g,e.setSource({r:l,v:Bt})}}),u.registerVisitor({from:"drawing",to:"movables",openTag:e=>{const r=e.getAttribute("r:id");if(!r)return;const l=F(r);l?e.setSource(l.movables):console.warn("no drawing found for rId",r)}}),u.registerVisitor({from:"tableParts",to:"tables",openTag:e=>{e.setSource([])}}),u.registerVisitor({from:"tablePart",to:[],openTag:e=>{const r=e.getAttribute("r:id");if(!r)return;const l=F(r);l?e.setSource(l):console.warn("no table found for rId",r)}}),u.registerVisitor({from:"worksheet",to:"worksheet",openTag:e=>{}}),u.registerVisitor({from:"sheetProtection",to:"protection",openTag:e=>{let r=!1;if(e.hasAttribute("sheet")&&S(e.getAttribute("sheet"))&&(r=!0),!r)return void e.setSource(void 0);const l=N=>N===!0||N==="1"||N==="on"||N==="true"||N===!1||N==="0"||N==="off"||N==="false"||null;e.copyTo("autoFilter",l),e.copyTo("deleteColumns",l),e.copyTo("formatCells",l),e.copyTo("formatColumns",l),e.copyTo("formatRows",l),e.copyTo("insertColumns",l),e.copyTo("insertHyperlinks",l),e.copyTo("insertRows",l),e.copyTo("objects",l),e.copyTo("pivotTables",l),e.copyTo("scenarios",l),e.copyTo("selectUnlockedCells",l),e.copyTo("selectUnlockedCells",l),e.copyTo("sort",l);const g={};e.copyToObject(g,"hash",k,"hashValue"),e.copyToObject(g,"algorithm",k,"algorithmName"),e.copyToObject(g,"salt",k,"saltValue"),e.copyToObject(g,"spinCount",E),Object.keys(g).length>0&&(e.getSource().password=g)}}),u.registerVisitor({from:"protectedRanges",to:"protectedRanges",openTag:e=>{e.setSource({})}}),u.registerVisitor({from:"protectedRange",to:{},openTag:e=>{const r=e.getAttribute("sqref");e.setKey(r),e.copyTo("name"),e.copyTo("securityDescriptor");const l={};e.copyToObject(l,"hash",k,"hashValue"),e.copyToObject(l,"algorithm",k,"algorithmName"),e.copyToObject(l,"salt",k,"saltValue"),e.copyToObject(l,"spinCount",E),Object.keys(l).length>0&&(e.getSource().password=l)}}),u.registerVisitor({from:"sheetFormatPr",to:"sheetFormatPr",openTag:e=>{e.copyToObject(M,"defaultColSize",ht,"defaultColWidth"),e.copyToObject(M,"outlineLevelCol",E,"outlineLevelCol");const r=e.getAttribute("customHeight");r!=="1"&&r!=="true"||e.copyToObject(M,"defaultRowSize",ht,"defaultRowHeight"),e.copyToObject(M,"outlineLevelRow",E,"outlineLevelRow")}}),u.registerVisitor({from:"cols",to:"cols",openTag:e=>{e.setSource([])}}),u.registerVisitor({from:"col",to:[],openTag:e=>{e.copyTo("min",r=>parseInt(r)-1),e.copyTo("max",r=>parseInt(r)-1),e.copyTo("sz",ht,"width"),e.copyTo("csz",S,"customWidth"),e.copyTo("h",S,"hidden"),e.copyTo("l",E,"outlineLevel"),e.copyTo("s",E,"style")}}),u.registerVisitor({from:"oleObjects",to:null,openTag:e=>{e.warn("'OLE Objects' are not supported.")}});let Kt=null;const ks={onOpenTag:e=>{Kt===null&&(Kt="")},onText:e=>{Kt+=e},onEnd:()=>{const e=Qt(Kt);return Kt=null,e},onError:e=>{}};return((e,r,l,g,N,K,Bt)=>{let xt=!1,ge=!1,qt=[],Wt=!1,At=null,te=null,fe=null,at=null,We=null,_e=null;const As=Bt?.get("richData")??[],ze=p.Yr.normalizeA1ToR1C1,Ge=p.Ht.createConflatingRanges(),Ue=new Map,Ae=[];let ee=null;const Ye=p.Ht.createConflatingRanges();let se,Dt=!1,q=-1,tt=-1,pt=null,ie=null;const De=[];let Pe=null,Ze=-2,gt=0,_t="",Pt="",Et="",Ot="",zt="",It="",Nt="",Qe="",Je="",Ke="",ts="",es="",ss="",is="",ft=!0,Vt=null,os=!1,Ee=!1,oe=null,Oe=0;return{...l,onEnd:()=>{De.length>0&&(r.rows=De);let f=Ge.done(zs);const v=f.length;if(v>0){const O=new Array(v);for(let V=0;V<v;V++){const lt=f[V],Lt=p.Yr.rangeToString(lt),Rt=lt.value[1],re=p.Yr.resolveRelativeToA1(Rt,lt.rowStart,lt.colStart);O[V]=[Lt,re]}r.formulas=O}const ot=Ye.done(!0),P=ot.length;if(P>0){const O=new Array(P);for(let V=0;V<P;V++){const lt=ot[V],Lt=p.Yr.rangeToString(lt);O[V]=Lt}r.volatile=O}if(Ae.length>0&&(r.dynamicArray=[...Ae]),qt.length>0){qt.sort(p.Ht.createRangeComparator(p.w.Orientation.Column));const O=[];let V=null,lt=-1,Lt=-1,Rt=-1,re=-1,wt=null;const rs=qt.length;rs>0&&(V=qt[0],lt=V.colStart,Lt=V.colEnd,Rt=V.rowEnd,re=V.value,O.push(V));for(let Mt=1;Mt<rs;Mt++)wt=qt[Mt],re!==wt.value||lt!==wt.colStart||Lt!==wt.colEnd||Rt+1!==wt.rowEnd?(O.push(wt),V=wt,lt=V.colStart,Lt=V.colEnd,Rt=V.rowEnd,re=V.value):(Rt=wt.rowEnd,V.rowEnd=Rt);let ns=[];for(let Mt=0;Mt<O.length;Mt++){const ne=O[Mt];ns.push({r:{colStart:ne.colStart,colEnd:ne.colEnd,rowStart:ne.rowStart,rowEnd:ne.rowEnd},v:ne.value})}r.directStyles=ns}const rt=e.build();if(rt){const O=rt.tuples;r.data=O}l?.onEnd?.()},onOpenTag:f=>{let v=f.name;const ot=v.indexOf(":");if(ot!==-1&&(v=v.slice(ot+1)),Oe++,Oe%196608==0&&N(Oe),se){const P=f.attributes;switch(v){case"v":ge=!0;break;case"f":switch(P.t??null){case null:case"normal":Wt=!0;break;case"shared":const rt=P.si;te=P.ref,At=rt;break;case"array":Wt=!0,te=P.ref,ee=[te,!1];break;case"datatable":Wt=!0,te=P.ref,Wt=!0}P.ca!==void 0&&Ye.append(q,tt);break;case"is":return void(Dt=!0)}return void(Dt&&K?.onOpenTag(f))}if(xt){if(v==="c"){se=f;const P=f.attributes.r;tt=p.Yr.fastStringToCol(P);const rt=f.attributes.t;rt===void 0?ie=null:(ie=rt,ie==="str"&&(Dt=!0));let O=f.attributes.s;O===void 0&&(oe!==null||Ee)&&(O="0"),O!==void 0&&(O=parseInt(O),Vt&&Vt.value===O&&Vt.colEnd+1===tt?Vt.colEnd=tt:(Vt={colStart:tt,rowStart:q,colEnd:tt,rowEnd:q,value:O},qt.push(Vt)))}}else{if(v==="row"){xt=!0;const P=f.attributes.r;if(q=parseInt(P)-1,gt=0,Pt=f.attributes.customHeight,Pt!==void 0&&(gt|=Ht.CustomHeight),Pt!==Je&&(ft=!0,Je=Pt),_t=f.attributes.ht,_t!==void 0&&(gt|=Ht.Ht),_t!==Qe&&(ft=!0,Qe=_t),Et=f.attributes.hidden,Et!==void 0&&(gt|=Ht.Hidden),Et!==Ke&&(ft=!0,Ke=Et),zt=f.attributes.s,zt!==void 0&&(gt|=Ht.S),zt!==es&&(ft=!0,es=zt),Ot=f.attributes.customFormat,Ot!==void 0&&(gt|=Ht.CustomFormat),Ot!==ts&&(ft=!0,ts=Ot),It=f.attributes.outlineLevel,It!==void 0&&(gt|=Ht.OutlineLevel),It!==ss&&(ft=!0,ss=It),Nt=f.attributes.collapsed,Nt!==void 0&&(gt|=Ht.Collapsed),Nt!==is&&(ft=!0,is=Nt),gt!==0)if(Ze+1!==q||ft){const rt=Pt!==void 0&&(Pt==="1"||Pt==="true");oe=Ot===void 0||Ot!=="1"&&Ot!=="true"||zt===void 0?null:zt,Pe={min:q,max:q,sz:_t===void 0?-1:parseFloat(_t),csz:rt,h:Et!==void 0&&(Et==="1"||Et==="true"),s:oe===null?void 0:oe==="0"?0:parseInt(oe),l:It===void 0||It==="0"?0:parseInt(It),cl:Nt!==void 0&&(Nt==="1"||Nt==="true")},De.push(Pe)}else Pe.max=q;return Ze=q,void(ft=!1)}if(!os&&v==="sheetData"){os=!0;const P=r.cols,rt=P?P.length:0;for(let O=0;!Ee&&O<rt;O++)P[O].s&&(Ee=!0)}l?.onOpenTag(f)}},onCloseTag:f=>{if(se){let v=f.name;const ot=v.indexOf(":");if(ot!==-1&&(v=v.slice(ot+1)),Dt)if(v==="is"||v==="v"){const P=K?.onEnd();P!==null&&e.addValue(q,tt,""+P)}else K?.onCloseTag?.(f);return ge&&(ge=!1),void(v==="c"&&(se=null,Dt=!1))}if(xt)return xt=!1,void(Vt=null);l?.onCloseTag(f)},onText:f=>{if(f=f.trim(),ge){switch(pt=null,ie){case null:case"n":pt=parseFloat(f);break;case"b":pt=f==="1"||f==="true";break;case"s":pt=f;break;case"e":if(f==="#VALUE!"){const ot=se.attributes.vm;if(ot!==void 0){const P=As[parseInt(ot)-1];if(P&&P.isFormulaError){pt={t:p.M.Error,v:P.getCode()};break}}}const v=p.n.getBuiltInByLabel(f);v?pt={t:p.M.Error,v:v.getCode()}:(pt=f,g?.(`Unknown formula error '${f}' in cell ${p.Yr.cellToString({colIndex:tt,rowIndex:q})}`));break;case"str":case"inlineStr":Dt=!0}pt!==null&&e.addValue(q,tt,pt)}if(ee&&(ie==="e"&&(ee[1]=!0),Ae.push(ee),ee=null),At)if(We===At)at=_e;else{if(at=Ue.get(At),!at){const v=[];fe=ze(f,q,tt,v),at=[fe,v,f],Ue.set(At,at)}We=At,_e=at}if(Wt){const v=[];fe=ze(f,q,tt,v),at=[fe,v,f]}if(at)return Ge.append(q,tt,at),at=null,Wt=!1,At=null,void(te=null);Dt?K?.onText(f):xt||l?.onText(f)}}})(Q,M,u.createEventHandler(M,()=>{},z),z,e=>{A+=e,m?.(A)},ks,kt)})(st,(M,F=!1)=>ce(M,L,F)??null,xs,ke,0,(M,F)=>{F=F?`${F} (${L})`:L,a.push([M,F])},0,ye),Ft=us(L,le),bt=await(async(M,F=8388608)=>{await(async()=>{if(typeof ReadableStream>"u")if(typeof window>"u"){const{ReadableStream:z}=await Promise.resolve().then(()=>require("./BC9nUI-ePtW8Hu5y.cjs"));globalThis.ReadableStream=z}else console.warn("Browser does not support ReadableStream; consider loading a polyfill.")})();const Qt=new TextDecoder("utf-8");let _=0;const Z=M instanceof Uint8Array?M:new Uint8Array(M);return new ReadableStream({pull(z){if(_>=Z.byteLength)return void z.close();const Jt=Z.subarray(_,Math.min(_+F,Z.byteLength)),kt=Qt.decode(Jt,{stream:_+F<Z.byteLength});z.enqueue(kt),_+=Jt.length}}).getReader()})(Ft);try{await Ne.parseStream(bt,yt,{xmlns:!1})}catch(M){throw console.warn(`Error parsing sheet: '${L}'`,M),new Error(`Error parsing sheet: '${L}'`,{cause:M})}const Xt=be(L,et);let Ct,qe=new Map;if(Xt){const M="http://schemas.microsoft.com/office/2017/10/relationships/threadedComment";let F;Xt.forEach((_,Z)=>{_.type===M&&(Ct=ce(Z,L,!1,et)?.comments,Ct&&Ct.forEach(z=>{qe.set(z.id,z)}))});const Qt="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";if(Xt.forEach((_,Z)=>{_.type===Qt&&(F=ce(Z,L,!1,et))}),F||Ct){const _=Ct??[],Z=F?.comments;if(Z){const z=F?.authors,Jt=Z.length;for(let kt=0;kt<Jt;kt++){const u=Z[kt];if(!u)continue;let Q=z&&u.authorId!==void 0?z[u.authorId]:u.authorId;if(Q&&Q.startsWith("tc=")&&(Q=Ts(Q.substring(3)),qe.has(Q)))continue;let $=null;Q&&($=ue.get(Q)),$||($=Fe.get(Q)),$||($={id:p.te.uuidV4(),displayName:Q},Fe.set($.displayName,$),ue.set($.id,$)),Q=$?.id??null;const pe={id:p.te.uuidV4(),personId:Q,ref:u.ref,done:!1,asNote:!0,content:u.content};_.push(pe)}}st.comments=_}}};$e.push(it())}else jt=Y?us(L,le,st=>{const it=j.add({buffer:st});return it.addReference(ut),Re.add(it),U.toResourceId(it)},Tt):Ve(L,le,T,d,Tt);return jt},Tt={paramMap:ye,getRefs:be,getRef:ce,parsedRefs:Me,addPerson:w=>null},he=[];let xe=0;c.Strings&&(xe=parseInt(c.Strings.Unique??c.Strings.length??0));const bs=c.Strings??[];for(let w=0;w<xe;w++)he.push(bs[w]?.t??"");const He=new Map;let je=xe;const xs=w=>{const B=He.get(w);if(B!==void 0)return B;const Y=je;return He.set(w,je++),he.push(w),Y},ue=(Gt("richstructure",c,T,d,Tt),Gt("richdata",c,T,d,Tt),new Map),Fe=new Map,Xe=Gt("people",c,T,d);let St=null;if(Xe.size>0&&(St=Xe.entries().next()?.value?.[1]?.persons,St)){const w=St.length;for(let B=0;B<w;B++){const Y=St[B];ue.set(Y.id,Y),ue.set(Y.displayName,Y)}}const we=Gt("themes",c,T,d,Tt);let Be=null;if(we&&we.entries){let w=we.entries().next();w?.value?.[1]&&(Be=w.value[1])}const ws=new p.Rl(Be);let de=Gt("styles",c,T,d,Tt).entries().next()?.value[1];de&&(de=JSON.parse(p.oe(de)));const vs=Gt("workbooks",c,T,d,Tt);await Promise.all($e);const ve={...vs.entries().next().value[1],styles:de,theme:ws.toJSON()};he.length>0&&(ve.strings=he),St&&St.length>0&&(ve.people=St);const Ss={...o,resources:j,json:ve},Cs=new p.by(Ss);if(Re.forEach(w=>{w.deleteReference(ut)}),U.endPersist(),a.length){const w=h?.onWarning;if(w)for(const B of a){const[Y,et]=B;w(Y,et)}}return Cs}catch(c){let d="Unable to parse XLSX.";throw c instanceof p.ae&&(d="Unable to open XLSX. There are too many rows or columns."),new Error(d,{cause:c})}},writeBufferXLSX:async(i,t)=>{const s=await Promise.resolve().then(()=>require("./CuZE_q2nxbuhUD-F.cjs")),o=await i.toJSON(!0),n=s.utils.book_new();for(let a=0;a<o.sheets.length;a++){const h=o.sheets[a],m=s.utils.json_to_sheet([{}]);s.utils.book_append_sheet(n,m,h.name);const A=h.sheet,b=i.getSheetAt(a),C=b.getUsedRange();if(C?(m["!ref"]=C.getA1(),C.forEach((D,y)=>{const R={t:"z"},J=y.getCell().getStyle();if(!J.isNormal()){let x=J.getNumberFormat();x!==p.Ne.Type.General&&(x===p.Ne.Type.ShortDate?x="m/d/yyyy":x===p.Ne.Type.MediumDate?x="d-mmm-yy":x===p.Ne.Type.LongDate?x="[$-x-sysdate]dddd, mmmm dd, yyyy":x===p.Ne.Type.ShortTime?x="h:mm":x===p.Ne.Type.MediumTime?x="h:mm AM/PM":x===p.Ne.Type.LongTime&&(x="h:mm:ss AM/PM"),R.z=x)}if(D!==null)switch(y.getType()){case p.M.Number:R.t="n",R.v=D;break;case p.M.String:R.t="s",R.v=D;break;case p.M.Boolean:R.t="b",R.v=D;break;case p.M.Error:R.t="e",R.v=D.toString();case p.M.RichData:}m[y.getA1()]=R})):m["!ref"]="A1:A1",A.merges