@trebco/treb 32.8.1 → 32.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- /*! TREB v32.8.1. Copyright 2018-2025 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
- var e='var ts=Object.create;var Ar=Object.defineProperty;var rs=Object.getOwnPropertyDescriptor;var is=Object.getOwnPropertyNames;var ss=Object.getPrototypeOf,ns=Object.prototype.hasOwnProperty;var re=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var os=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of is(e))!ns.call(s,i)&&i!==t&&Ar(s,i,{get:()=>e[i],enumerable:!(r=rs(e,i))||r.enumerable});return s};var De=(s,e,t)=>(t=s!=null?ts(ss(s)):{},os(e||!s||!s.__esModule?Ar(t,"default",{value:s,enumerable:!0}):t,s));var ft=re(ut=>{"use strict";ut.byteLength=ls;ut.toByteArray=ds;ut.fromByteArray=fs;var ye=[],fe=[],as=typeof Uint8Array<"u"?Uint8Array:Array,Vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ge=0,Sr=Vt.length;Ge<Sr;++Ge)ye[Ge]=Vt[Ge],fe[Vt.charCodeAt(Ge)]=Ge;var Ge,Sr;fe[45]=62;fe[95]=63;function Tr(s){var e=s.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=s.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function ls(s){var e=Tr(s),t=e[0],r=e[1];return(t+r)*3/4-r}function cs(s,e,t){return(e+t)*3/4-t}function ds(s){var e,t=Tr(s),r=t[0],i=t[1],n=new as(cs(s,r,i)),o=0,a=i>0?r-4:r,l;for(l=0;l<a;l+=4)e=fe[s.charCodeAt(l)]<<18|fe[s.charCodeAt(l+1)]<<12|fe[s.charCodeAt(l+2)]<<6|fe[s.charCodeAt(l+3)],n[o++]=e>>16&255,n[o++]=e>>8&255,n[o++]=e&255;return i===2&&(e=fe[s.charCodeAt(l)]<<2|fe[s.charCodeAt(l+1)]>>4,n[o++]=e&255),i===1&&(e=fe[s.charCodeAt(l)]<<10|fe[s.charCodeAt(l+1)]<<4|fe[s.charCodeAt(l+2)]>>2,n[o++]=e>>8&255,n[o++]=e&255),n}function hs(s){return ye[s>>18&63]+ye[s>>12&63]+ye[s>>6&63]+ye[s&63]}function us(s,e,t){for(var r,i=[],n=e;n<t;n+=3)r=(s[n]<<16&16711680)+(s[n+1]<<8&65280)+(s[n+2]&255),i.push(hs(r));return i.join("")}function fs(s){for(var e,t=s.length,r=t%3,i=[],n=16383,o=0,a=t-r;o<a;o+=n)i.push(us(s,o,o+n>a?a:o+n));return r===1?(e=s[t-1],i.push(ye[e>>2]+ye[e<<4&63]+"==")):r===2&&(e=(s[t-2]<<8)+s[t-1],i.push(ye[e>>10]+ye[e>>4&63]+ye[e<<2&63]+"=")),i.join("")}});var Tt=re(Re=>{"use strict";var Kr=":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD",on=Kr+"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040",ei="["+Kr+"]["+on+"]*",an=new RegExp("^"+ei+"$"),ln=function(s,e){let t=[],r=e.exec(s);for(;r;){let i=[];i.startIndex=e.lastIndex-r[0].length;let n=r.length;for(let o=0;o<n;o++)i.push(r[o]);t.push(i),r=e.exec(s)}return t},cn=function(s){let e=an.exec(s);return!(e===null||typeof e>"u")};Re.isExist=function(s){return typeof s<"u"};Re.isEmptyObject=function(s){return Object.keys(s).length===0};Re.merge=function(s,e,t){if(e){let r=Object.keys(e),i=r.length;for(let n=0;n<i;n++)t==="strict"?s[r[n]]=[e[r[n]]]:s[r[n]]=e[r[n]]}};Re.getValue=function(s){return Re.isExist(s)?s:""};Re.isName=cn;Re.getAllMatches=ln;Re.nameRegexp=ei});var dr=re(ni=>{"use strict";var cr=Tt(),dn={allowBooleanAttributes:!1,unpairedTags:[]};ni.validate=function(s,e){e=Object.assign({},dn,e);let t=[],r=!1,i=!1;s[0]==="\\uFEFF"&&(s=s.substr(1));for(let n=0;n<s.length;n++)if(s[n]==="<"&&s[n+1]==="?"){if(n+=2,n=ri(s,n),n.err)return n}else if(s[n]==="<"){let o=n;if(n++,s[n]==="!"){n=ii(s,n);continue}else{let a=!1;s[n]==="/"&&(a=!0,n++);let l="";for(;n<s.length&&s[n]!==">"&&s[n]!==" "&&s[n]!==" "&&s[n]!==`\n`&&s[n]!=="\\r";n++)l+=s[n];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),n--),!gn(l)){let h;return l.trim().length===0?h="Invalid space after \'<\'.":h="Tag \'"+l+"\' is an invalid name.",X("InvalidTag",h,ne(s,n))}let c=fn(s,n);if(c===!1)return X("InvalidAttr","Attributes for \'"+l+"\' have open quote.",ne(s,n));let d=c.value;if(n=c.index,d[d.length-1]==="/"){let h=n-d.length;d=d.substring(0,d.length-1);let f=si(d,e);if(f===!0)r=!0;else return X(f.err.code,f.err.msg,ne(s,h+f.err.line))}else if(a)if(c.tagClosed){if(d.trim().length>0)return X("InvalidTag","Closing tag \'"+l+"\' can\'t have attributes or invalid starting.",ne(s,o));if(t.length===0)return X("InvalidTag","Closing tag \'"+l+"\' has not been opened.",ne(s,o));{let h=t.pop();if(l!==h.tagName){let f=ne(s,h.tagStartPos);return X("InvalidTag","Expected closing tag \'"+h.tagName+"\' (opened in line "+f.line+", col "+f.col+") instead of closing tag \'"+l+"\'.",ne(s,o))}t.length==0&&(i=!0)}}else return X("InvalidTag","Closing tag \'"+l+"\' doesn\'t have proper closing.",ne(s,n));else{let h=si(d,e);if(h!==!0)return X(h.err.code,h.err.msg,ne(s,n-d.length+h.err.line));if(i===!0)return X("InvalidXml","Multiple possible root nodes found.",ne(s,n));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),r=!0}for(n++;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="!"){n++,n=ii(s,n);continue}else if(s[n+1]==="?"){if(n=ri(s,++n),n.err)return n}else break;else if(s[n]==="&"){let h=_n(s,n);if(h==-1)return X("InvalidChar","char \'&\' is not expected.",ne(s,n));n=h}else if(i===!0&&!ti(s[n]))return X("InvalidXml","Extra text at the end",ne(s,n));s[n]==="<"&&n--}}else{if(ti(s[n]))continue;return X("InvalidChar","char \'"+s[n]+"\' is not expected.",ne(s,n))}if(r){if(t.length==1)return X("InvalidTag","Unclosed tag \'"+t[0].tagName+"\'.",ne(s,t[0].tagStartPos));if(t.length>0)return X("InvalidXml","Invalid \'"+JSON.stringify(t.map(n=>n.tagName),null,4).replace(/\\r?\\n/g,"")+"\' found.",{line:1,col:1})}else return X("InvalidXml","Start tag expected.",1);return!0};function ti(s){return s===" "||s===" "||s===`\n`||s==="\\r"}function ri(s,e){let t=e;for(;e<s.length;e++)if(s[e]=="?"||s[e]==" "){let r=s.substr(t,e-t);if(e>5&&r==="xml")return X("InvalidXml","XML declaration allowed only at the start of the document.",ne(s,e));if(s[e]=="?"&&s[e+1]==">"){e++;break}else continue}return e}function ii(s,e){if(s.length>e+5&&s[e+1]==="-"&&s[e+2]==="-"){for(e+=3;e<s.length;e++)if(s[e]==="-"&&s[e+1]==="-"&&s[e+2]===">"){e+=2;break}}else if(s.length>e+8&&s[e+1]==="D"&&s[e+2]==="O"&&s[e+3]==="C"&&s[e+4]==="T"&&s[e+5]==="Y"&&s[e+6]==="P"&&s[e+7]==="E"){let t=1;for(e+=8;e<s.length;e++)if(s[e]==="<")t++;else if(s[e]===">"&&(t--,t===0))break}else if(s.length>e+9&&s[e+1]==="["&&s[e+2]==="C"&&s[e+3]==="D"&&s[e+4]==="A"&&s[e+5]==="T"&&s[e+6]==="A"&&s[e+7]==="["){for(e+=8;e<s.length;e++)if(s[e]==="]"&&s[e+1]==="]"&&s[e+2]===">"){e+=2;break}}return e}var hn=\'"\',un="\'";function fn(s,e){let t="",r="",i=!1;for(;e<s.length;e++){if(s[e]===hn||s[e]===un)r===""?r=s[e]:r!==s[e]||(r="");else if(s[e]===">"&&r===""){i=!0;break}t+=s[e]}return r!==""?!1:{value:t,index:e,tagClosed:i}}var pn=new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\'"])(([\\\\s\\\\S])*?)\\\\5)?`,"g");function si(s,e){let t=cr.getAllMatches(s,pn),r={};for(let i=0;i<t.length;i++){if(t[i][1].length===0)return X("InvalidAttr","Attribute \'"+t[i][2]+"\' has no space in starting.",st(t[i]));if(t[i][3]!==void 0&&t[i][4]===void 0)return X("InvalidAttr","Attribute \'"+t[i][2]+"\' is without value.",st(t[i]));if(t[i][3]===void 0&&!e.allowBooleanAttributes)return X("InvalidAttr","boolean attribute \'"+t[i][2]+"\' is not allowed.",st(t[i]));let n=t[i][2];if(!bn(n))return X("InvalidAttr","Attribute \'"+n+"\' is an invalid name.",st(t[i]));if(!r.hasOwnProperty(n))r[n]=1;else return X("InvalidAttr","Attribute \'"+n+"\' is repeated.",st(t[i]))}return!0}function mn(s,e){let t=/\\d/;for(s[e]==="x"&&(e++,t=/[\\da-fA-F]/);e<s.length;e++){if(s[e]===";")return e;if(!s[e].match(t))break}return-1}function _n(s,e){if(e++,s[e]===";")return-1;if(s[e]==="#")return e++,mn(s,e);let t=0;for(;e<s.length;e++,t++)if(!(s[e].match(/\\w/)&&t<20)){if(s[e]===";")break;return-1}return e}function X(s,e,t){return{err:{code:s,msg:e,line:t.line||t,col:t.col}}}function bn(s){return cr.isName(s)}function gn(s){return cr.isName(s)}function ne(s,e){let t=s.substring(0,e).split(/\\r?\\n/);return{line:t.length,col:t[t.length-1].length+1}}function st(s){return s.startIndex+s[1].length}});var ai=re(hr=>{var oi={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(s,e,t){return s}},yn=function(s){return Object.assign({},oi,s)};hr.buildOptions=yn;hr.defaultOptions=oi});var ci=re((gh,li)=>{"use strict";var ur=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}};li.exports=ur});var hi=re((yh,di)=>{var wn=Tt();function xn(s,e){let t={};if(s[e+3]==="O"&&s[e+4]==="C"&&s[e+5]==="T"&&s[e+6]==="Y"&&s[e+7]==="P"&&s[e+8]==="E"){e=e+9;let r=1,i=!1,n=!1,o="";for(;e<s.length;e++)if(s[e]==="<"&&!n){if(i&&An(s,e)){e+=7;let a,l;[a,l,e]=vn(s,e+1),l.indexOf("&")===-1&&(t[Rn(a)]={regx:RegExp(`&${a};`,"g"),val:l})}else if(i&&Sn(s,e))e+=8;else if(i&&Tn(s,e))e+=8;else if(i&&In(s,e))e+=9;else if(Cn)n=!0;else throw new Error("Invalid DOCTYPE");r++,o=""}else if(s[e]===">"){if(n?s[e-1]==="-"&&s[e-2]==="-"&&(n=!1,r--):r--,r===0)break}else s[e]==="["?i=!0:o+=s[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:t,i:e}}function vn(s,e){let t="";for(;e<s.length&&s[e]!=="\'"&&s[e]!==\'"\';e++)t+=s[e];if(t=t.trim(),t.indexOf(" ")!==-1)throw new Error("External entites are not supported");let r=s[e++],i="";for(;e<s.length&&s[e]!==r;e++)i+=s[e];return[t,i,e]}function Cn(s,e){return s[e+1]==="!"&&s[e+2]==="-"&&s[e+3]==="-"}function An(s,e){return s[e+1]==="!"&&s[e+2]==="E"&&s[e+3]==="N"&&s[e+4]==="T"&&s[e+5]==="I"&&s[e+6]==="T"&&s[e+7]==="Y"}function Sn(s,e){return s[e+1]==="!"&&s[e+2]==="E"&&s[e+3]==="L"&&s[e+4]==="E"&&s[e+5]==="M"&&s[e+6]==="E"&&s[e+7]==="N"&&s[e+8]==="T"}function Tn(s,e){return s[e+1]==="!"&&s[e+2]==="A"&&s[e+3]==="T"&&s[e+4]==="T"&&s[e+5]==="L"&&s[e+6]==="I"&&s[e+7]==="S"&&s[e+8]==="T"}function In(s,e){return s[e+1]==="!"&&s[e+2]==="N"&&s[e+3]==="O"&&s[e+4]==="T"&&s[e+5]==="A"&&s[e+6]==="T"&&s[e+7]==="I"&&s[e+8]==="O"&&s[e+9]==="N"}function Rn(s){if(wn.isName(s))return s;throw new Error(`Invalid entity name ${s}`)}di.exports=xn});var fi=re((wh,ui)=>{var kn=/^[-+]?0x[a-fA-F0-9]+$/,En=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,Nn={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mn(s,e={}){if(e=Object.assign({},Nn,e),!s||typeof s!="string")return s;let t=s.trim();if(e.skipLike!==void 0&&e.skipLike.test(t))return s;if(s==="0")return 0;if(e.hex&&kn.test(t))return Pn(t,16);if(t.search(/[eE]/)!==-1){let r=t.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/);if(r){if(e.leadingZeros)t=(r[1]||"")+r[3];else if(!(r[2]==="0"&&r[3][0]==="."))return s;return e.eNotation?Number(t):s}else return s}else{let r=En.exec(t);if(r){let i=r[1],n=r[2],o=Fn(r[3]);if(!e.leadingZeros&&n.length>0&&i&&t[2]!==".")return s;if(!e.leadingZeros&&n.length>0&&!i&&t[1]!==".")return s;if(e.leadingZeros&&n===s)return 0;{let a=Number(t),l=""+a;return l.search(/[eE]/)!==-1?e.eNotation?a:s:t.indexOf(".")!==-1?l==="0"&&o===""||l===o||i&&l==="-"+o?a:s:n?o===l||i+o===l?a:s:t===l||t===i+l?a:s}}else return s}}function Fn(s){return s&&s.indexOf(".")!==-1&&(s=s.replace(/0+$/,""),s==="."?s="0":s[0]==="."?s="0"+s:s[s.length-1]==="."&&(s=s.substr(0,s.length-1))),s}function Pn(s,e){if(parseInt)return parseInt(s,e);if(Number.parseInt)return Number.parseInt(s,e);if(window&&window.parseInt)return window.parseInt(s,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}ui.exports=Mn});var fr=re((xh,pi)=>{function zn(s){return typeof s=="function"?s:Array.isArray(s)?e=>{for(let t of s)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}pi.exports=zn});var bi=re((vh,_i)=>{"use strict";var mi=Tt(),nt=ci(),Ln=hi(),Dn=fi(),Gn=fr(),pr=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"\'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:\'"\'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\\xA2"},pound:{regex:/&(pound|#163);/g,val:"\\xA3"},yen:{regex:/&(yen|#165);/g,val:"\\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\\xA9"},reg:{regex:/&(reg|#174);/g,val:"\\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=Un,this.parseXml=Wn,this.parseTextData=$n,this.resolveNameSpace=Vn,this.buildAttributesMap=On,this.isItStopNode=Yn,this.replaceEntitiesValue=Bn,this.readStopNodeData=Xn,this.saveTextToParentTag=jn,this.addChild=Hn,this.ignoreAttributesFn=Gn(this.options.ignoreAttributes)}};function Un(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:s[r]}}}function $n(s,e,t,r,i,n,o){if(s!==void 0&&(this.options.trimValues&&!r&&(s=s.trim()),s.length>0)){o||(s=this.replaceEntitiesValue(s));let a=this.options.tagValueProcessor(e,s,t,i,n);return a==null?s:typeof a!=typeof s||a!==s?a:this.options.trimValues?_r(s,this.options.parseTagValue,this.options.numberParseOptions):s.trim()===s?_r(s,this.options.parseTagValue,this.options.numberParseOptions):s}}function Vn(s){if(this.options.removeNSPrefix){let e=s.split(":"),t=s.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(s=t+e[1])}return s}var Zn=new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*([\'"])([\\\\s\\\\S]*?)\\\\3)?`,"gm");function On(s,e,t){if(this.options.ignoreAttributes!==!0&&typeof s=="string"){let r=mi.getAllMatches(s,Zn),i=r.length,n={};for(let o=0;o<i;o++){let a=this.resolveNameSpace(r[o][1]);if(this.ignoreAttributesFn(a,e))continue;let l=r[o][4],c=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(c=this.options.transformAttributeName(c)),c==="__proto__"&&(c="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);let d=this.options.attributeValueProcessor(a,l,e);d==null?n[c]=l:typeof d!=typeof l||d!==l?n[c]=d:n[c]=_r(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[c]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let o={};return o[this.options.attributesGroupName]=n,o}return n}}var Wn=function(s){s=s.replace(/\\r\\n?/g,`\n`);let e=new nt("!xml"),t=e,r="",i="";for(let n=0;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="/"){let a=Oe(s,">",n,"Closing Tag is not closed."),l=s.substring(n+2,a).trim();if(this.options.removeNSPrefix){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&(r=this.saveTextToParentTag(r,t,i));let c=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let d=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(d=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=i.lastIndexOf("."),i=i.substring(0,d),t=this.tagsNodeStack.pop(),r="",n=a}else if(s[n+1]==="?"){let a=mr(s,n,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,t,i),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let l=new nt(a.tagName);l.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(l[":@"]=this.buildAttributesMap(a.tagExp,i,a.tagName)),this.addChild(t,l,i)}n=a.closeIndex+1}else if(s.substr(n+1,3)==="!--"){let a=Oe(s,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let l=s.substring(n+4,a-2);r=this.saveTextToParentTag(r,t,i),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}n=a}else if(s.substr(n+1,2)==="!D"){let a=Ln(s,n);this.docTypeEntities=a.entities,n=a.i}else if(s.substr(n+1,2)==="!["){let a=Oe(s,"]]>",n,"CDATA is not closed.")-2,l=s.substring(n+9,a);r=this.saveTextToParentTag(r,t,i);let c=this.parseTextData(l,t.tagname,i,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,c),n=a+2}else{let a=mr(s,n,this.options.removeNSPrefix),l=a.tagName,c=a.rawTagName,d=a.tagExp,h=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&r&&t.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,t,i,!1));let u=t;if(u&&this.options.unpairedTags.indexOf(u.tagname)!==-1&&(t=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let p="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),n=a.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)n=a.closeIndex;else{let v=this.readStopNodeData(s,c,f+1);if(!v)throw new Error(`Unexpected end of ${c}`);n=v.i,p=v.tagContent}let y=new nt(l);l!==d&&h&&(y[":@"]=this.buildAttributesMap(d,i,l)),p&&(p=this.parseTextData(p,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),y.add(this.options.textNodeName,p),this.addChild(t,y,i)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));let p=new nt(l);l!==d&&h&&(p[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,p,i),i=i.substr(0,i.lastIndexOf("."))}else{let p=new nt(l);this.tagsNodeStack.push(t),l!==d&&h&&(p[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,p,i),t=p}r="",n=f}}else r+=s[n];return e.child};function Hn(s,e,t){let r=this.options.updateTag(e.tagname,t,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),s.addChild(e))}var Bn=function(s){if(this.options.processEntities){for(let e in this.docTypeEntities){let t=this.docTypeEntities[e];s=s.replace(t.regx,t.val)}for(let e in this.lastEntities){let t=this.lastEntities[e];s=s.replace(t.regex,t.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let t=this.htmlEntities[e];s=s.replace(t.regex,t.val)}s=s.replace(this.ampEntity.regex,this.ampEntity.val)}return s};function jn(s,e,t,r){return s&&(r===void 0&&(r=e.child.length===0),s=this.parseTextData(s,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),s!==void 0&&s!==""&&e.add(this.options.textNodeName,s),s=""),s}function Yn(s,e,t){let r="*."+t;for(let i in s){let n=s[i];if(r===n||e===n)return!0}return!1}function Jn(s,e,t=">"){let r,i="";for(let n=e;n<s.length;n++){let o=s[n];if(r)o===r&&(r="");else if(o===\'"\'||o==="\'")r=o;else if(o===t[0])if(t[1]){if(s[n+1]===t[1])return{data:i,index:n}}else return{data:i,index:n};else o===" "&&(o=" ");i+=o}}function Oe(s,e,t,r){let i=s.indexOf(e,t);if(i===-1)throw new Error(r);return i+e.length-1}function mr(s,e,t,r=">"){let i=Jn(s,e+1,r);if(!i)return;let n=i.data,o=i.index,a=n.search(/\\s/),l=n,c=!0;a!==-1&&(l=n.substring(0,a),n=n.substring(a+1).trimStart());let d=l;if(t){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),c=l!==i.data.substr(h+1))}return{tagName:l,tagExp:n,closeIndex:o,attrExpPresent:c,rawTagName:d}}function Xn(s,e,t){let r=t,i=1;for(;t<s.length;t++)if(s[t]==="<")if(s[t+1]==="/"){let n=Oe(s,">",t,`${e} is not closed`);if(s.substring(t+2,n).trim()===e&&(i--,i===0))return{tagContent:s.substring(r,t),i:n};t=n}else if(s[t+1]==="?")t=Oe(s,"?>",t+1,"StopNode is not closed.");else if(s.substr(t+1,3)==="!--")t=Oe(s,"-->",t+3,"StopNode is not closed.");else if(s.substr(t+1,2)==="![")t=Oe(s,"]]>",t,"StopNode is not closed.")-2;else{let n=mr(s,t,">");n&&((n&&n.tagName)===e&&n.tagExp[n.tagExp.length-1]!=="/"&&i++,t=n.closeIndex)}}function _r(s,e,t){if(e&&typeof s=="string"){let r=s.trim();return r==="true"?!0:r==="false"?!1:Dn(s,t)}else return mi.isExist(s)?s:""}_i.exports=pr});var wi=re(yi=>{"use strict";function Qn(s,e){return gi(s,e)}function gi(s,e,t){let r,i={};for(let n=0;n<s.length;n++){let o=s[n],a=qn(o),l="";if(t===void 0?l=a:l=t+"."+a,a===e.textNodeName)r===void 0?r=o[a]:r+=""+o[a];else{if(a===void 0)continue;if(o[a]){let c=gi(o[a],e,l),d=eo(c,e);o[":@"]?Kn(c,o[":@"],l,e):Object.keys(c).length===1&&c[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?c=c[e.textNodeName]:Object.keys(c).length===0&&(e.alwaysCreateTextNode?c[e.textNodeName]="":c=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(c)):e.isArray(a,l,d)?i[a]=[c]:i[a]=c}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function qn(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(r!==":@")return r}}function Kn(s,e,t,r){if(e){let i=Object.keys(e),n=i.length;for(let o=0;o<n;o++){let a=i[o];r.isArray(a,t+"."+a,!0,!0)?s[a]=[e[a]]:s[a]=e[a]}}}function eo(s,e){let{textNodeName:t}=e,r=Object.keys(s).length;return!!(r===0||r===1&&(s[t]||typeof s[t]=="boolean"||s[t]===0))}yi.prettify=Qn});var vi=re((Ah,xi)=>{var{buildOptions:to}=ai(),ro=bi(),{prettify:io}=wi(),so=dr(),br=class{constructor(e){this.externalEntities={},this.options=to(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let n=so.validate(e,t);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let r=new ro(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:io(i,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can\'t have \'&\'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without \'&\' and \';\'. Eg. use \'#xD\' for \'&#xD;\'");if(t==="&")throw new Error("An entity with value \'&\' is not permitted");this.externalEntities[e]=t}};xi.exports=br});var Ii=re((Sh,Ti)=>{var no=`\n`;function oo(s,e){let t="";return e.format&&e.indentBy.length>0&&(t=no),Ai(s,e,"",t)}function Ai(s,e,t,r){let i="",n=!1;for(let o=0;o<s.length;o++){let a=s[o],l=ao(a);if(l===void 0)continue;let c="";if(t.length===0?c=l:c=`${t}.${l}`,l===e.textNodeName){let p=a[l];lo(c,e)||(p=e.tagValueProcessor(l,p),p=Si(p,e)),n&&(i+=r),i+=p,n=!1;continue}else if(l===e.cdataPropName){n&&(i+=r),i+=`<![CDATA[${a[l][0][e.textNodeName]}]]>`,n=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${a[l][0][e.textNodeName]}-->`,n=!0;continue}else if(l[0]==="?"){let p=Ci(a[":@"],e),y=l==="?xml"?"":r,v=a[l][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=y+`<${l}${v}${p}?>`,n=!0;continue}let d=r;d!==""&&(d+=e.indentBy);let h=Ci(a[":@"],e),f=r+`<${l}${h}`,u=Ai(a[l],e,c,d);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=f+">":i+=f+"/>":(!u||u.length===0)&&e.suppressEmptyNode?i+=f+"/>":u&&u.endsWith(">")?i+=f+`>${u}${r}</${l}>`:(i+=f+">",u&&r!==""&&(u.includes("/>")||u.includes("</"))?i+=r+e.indentBy+u+r:i+=u,i+=`</${l}>`),n=!0}return i}function ao(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(s.hasOwnProperty(r)&&r!==":@")return r}}function Ci(s,e){let t="";if(s&&!e.ignoreAttributes)for(let r in s){if(!s.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,s[r]);i=Si(i,e),i===!0&&e.suppressBooleanAttributes?t+=` ${r.substr(e.attributeNamePrefix.length)}`:t+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return t}function lo(s,e){s=s.substr(0,s.length-e.textNodeName.length-1);let t=s.substr(s.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===s||e.stopNodes[r]==="*."+t)return!0;return!1}function Si(s,e){if(s&&s.length>0&&e.processEntities)for(let t=0;t<e.entities.length;t++){let r=e.entities[t];s=s.replace(r.regex,r.val)}return s}Ti.exports=oo});var ki=re((Th,Ri)=>{"use strict";var co=Ii(),ho=fr(),uo={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("\'","g"),val:"&apos;"},{regex:new RegExp(\'"\',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Pe(s){this.options=Object.assign({},uo,s),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=ho(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=mo),this.processTextOrObjNode=fo,this.options.format?(this.indentate=po,this.tagEndChar=`>\n`,this.newLine=`\n`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Pe.prototype.build=function(s){return this.options.preserveOrder?co(s,this.options):(Array.isArray(s)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(s={[this.options.arrayNodeName]:s}),this.j2x(s,0,[]).val)};Pe.prototype.j2x=function(s,e,t){let r="",i="",n=t.join(".");for(let o in s)if(Object.prototype.hasOwnProperty.call(s,o))if(typeof s[o]>"u")this.isAttribute(o)&&(i+="");else if(s[o]===null)this.isAttribute(o)||o===this.options.cdataPropName?i+="":o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(s[o]instanceof Date)i+=this.buildTextValNode(s[o],o,"",e);else if(typeof s[o]!="object"){let a=this.isAttribute(o);if(a&&!this.ignoreAttributesFn(a,n))r+=this.buildAttrPairStr(a,""+s[o]);else if(!a)if(o===this.options.textNodeName){let l=this.options.tagValueProcessor(o,""+s[o]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(s[o],o,"",e)}else if(Array.isArray(s[o])){let a=s[o].length,l="",c="";for(let d=0;d<a;d++){let h=s[o][d];if(!(typeof h>"u"))if(h===null)o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){let f=this.j2x(h,e+1,t.concat(o));l+=f.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(c+=f.attrStr)}else l+=this.processTextOrObjNode(h,o,e,t);else if(this.options.oneListGroup){let f=this.options.tagValueProcessor(o,h);f=this.replaceEntitiesValue(f),l+=f}else l+=this.buildTextValNode(h,o,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,o,c,e)),i+=l}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){let a=Object.keys(s[o]),l=a.length;for(let c=0;c<l;c++)r+=this.buildAttrPairStr(a[c],""+s[o][a[c]])}else i+=this.processTextOrObjNode(s[o],o,e,t);return{attrStr:r,val:i}};Pe.prototype.buildAttrPairStr=function(s,e){return e=this.options.attributeValueProcessor(s,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+s:" "+s+\'="\'+e+\'"\'};function fo(s,e,t,r){let i=this.j2x(s,t+1,r.concat(e));return s[this.options.textNodeName]!==void 0&&Object.keys(s).length===1?this.buildTextValNode(s[this.options.textNodeName],e,i.attrStr,t):this.buildObjectNode(i.val,e,i.attrStr,t)}Pe.prototype.buildObjectNode=function(s,e,t,r){if(s==="")return e[0]==="?"?this.indentate(r)+"<"+e+t+"?"+this.tagEndChar:this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,n="";return e[0]==="?"&&(n="?",i=""),(t||t==="")&&s.indexOf("<")===-1?this.indentate(r)+"<"+e+t+n+">"+s+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&n.length===0?this.indentate(r)+`<!--${s}-->`+this.newLine:this.indentate(r)+"<"+e+t+n+this.tagEndChar+s+this.indentate(r)+i}};Pe.prototype.closeTag=function(s){let e="";return this.options.unpairedTags.indexOf(s)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${s}`,e};Pe.prototype.buildTextValNode=function(s,e,t,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${s}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${s}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+t+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,s);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+t+">"+i+"</"+e+this.tagEndChar}};Pe.prototype.replaceEntitiesValue=function(s){if(s&&s.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let t=this.options.entities[e];s=s.replace(t.regex,t.val)}return s};function po(s){return this.options.indentBy.repeat(s)}function mo(s){return s.startsWith(this.options.attributeNamePrefix)&&s!==this.options.textNodeName?s.substr(this.attrPrefixLen):!1}Ri.exports=Pe});var It=re((Ih,Ei)=>{"use strict";var _o=dr(),bo=vi(),go=ki();Ei.exports={XMLParser:bo,XMLValidator:_o,XMLBuilder:go}});var Wi=re((au,wr)=>{var _={};typeof wr=="object"&&(wr.exports=_);_.parse=function(s,e){for(var t=_.bin.readUshort,r=_.bin.readUint,a=0,i={},n=new Uint8Array(s),o=n.length-4;r(n,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(n,a);a+=2;var c=t(n,a);a+=2;var d=r(n,a);a+=4;var h=r(n,a);a+=4,a=h;for(var f=0;f<l;f++){var u=r(n,a);a+=4,a+=4,a+=4,a+=4;var p=r(n,a);a+=4;var d=r(n,a);a+=4;var y=r(n,a);a+=4;var v=t(n,a),w=t(n,a+2),b=t(n,a+4);a+=6,a+=8;var m=r(n,a);a+=4,a+=v+w+b,_._readLocal(n,m,i,d,y,e)}return i};_._readLocal=function(s,e,t,r,i,n){var o=_.bin.readUshort,a=_.bin.readUint,l=a(s,e);e+=4;var c=o(s,e);e+=2;var d=o(s,e);e+=2;var h=o(s,e);e+=2;var f=a(s,e);e+=4;var u=a(s,e);e+=4,e+=8;var p=o(s,e);e+=2;var y=o(s,e);e+=2;var v=_.bin.readUTF8(s,e,p);if(e+=p,e+=y,n){t[v]={size:i,csize:r};return}var w=new Uint8Array(s.buffer,e);if(h==0)t[v]=new Uint8Array(w.buffer.slice(e,e+r));else if(h==8){var b=new Uint8Array(i);_.inflateRaw(w,b),t[v]=b}else throw"unknown compression method: "+h};_.inflateRaw=function(s,e){return _.F.inflate(s,e)};_.inflate=function(s,e){var t=s[0],r=s[1],i=t&15,n=t>>>4;return _.inflateRaw(new Uint8Array(s.buffer,s.byteOffset+2,s.length-6),e)};_.deflate=function(s,e){e==null&&(e={level:6});var t=0,r=new Uint8Array(50+Math.floor(s.length*1.1));r[t]=120,r[t+1]=156,t+=2,t=_.F.deflateRaw(s,r,t,e.level);var i=_.adler(s,0,s.length);return r[t+0]=i>>>24&255,r[t+1]=i>>>16&255,r[t+2]=i>>>8&255,r[t+3]=i>>>0&255,new Uint8Array(r.buffer,0,t+4)};_.deflateRaw=function(s,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(s.length*1.1)),r=_.F.deflateRaw(s,t,r,e.level);return new Uint8Array(t.buffer,0,r)};_.encode=function(s,e){e==null&&(e=!1);var t=0,r=_.bin.writeUint,i=_.bin.writeUshort,n={};for(var o in s){var a=!_._noNeed(o)&&!e,l=s[o],c=_.crc.crc(l,0,l.length);n[o]={cpr:a,usize:l.length,crc:c,file:a?_.deflateRaw(l):l}}for(var o in n)t+=n[o].file.length+30+46+2*_.bin.sizeUTF8(o);t+=22;var d=new Uint8Array(t),h=0,f=[];for(var o in n){var u=n[o];f.push(h),h=_._writeHeader(d,h,o,u,0)}var p=0,y=h;for(var o in n){var u=n[o];f.push(h),h=_._writeHeader(d,h,o,u,1,f[p++])}var v=h-y;return r(d,h,101010256),h+=4,h+=4,i(d,h,p),h+=2,i(d,h,p),h+=2,r(d,h,v),h+=4,r(d,h,y),h+=4,h+=2,d.buffer};_._noNeed=function(s){var e=s.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};_._writeHeader=function(s,e,t,r,i,n){var o=_.bin.writeUint,a=_.bin.writeUshort,l=r.file;o(s,e,i==0?67324752:33639248),e+=4,i==1&&(e+=2),a(s,e,20),e+=2,a(s,e,0),e+=2,a(s,e,r.cpr?8:0),e+=2,o(s,e,0),e+=4,o(s,e,r.crc),e+=4,o(s,e,l.length),e+=4,o(s,e,r.usize),e+=4,a(s,e,_.bin.sizeUTF8(t)),e+=2,a(s,e,0),e+=2,i==1&&(e+=2,e+=2,e+=6,o(s,e,n),e+=4);var c=_.bin.writeUTF8(s,e,t);return e+=c,i==0&&(s.set(l,e),e+=l.length),e};_.crc={table:function(){for(var s=new Uint32Array(256),e=0;e<256;e++){for(var t=e,r=0;r<8;r++)t&1?t=3988292384^t>>>1:t=t>>>1;s[e]=t}return s}(),update:function(s,e,t,r){for(var i=0;i<r;i++)s=_.crc.table[(s^e[t+i])&255]^s>>>8;return s},crc:function(s,e,t){return _.crc.update(4294967295,s,e,t)^4294967295}};_.adler=function(s,e,t){for(var r=1,i=0,n=e,o=e+t;n<o;){for(var a=Math.min(n+5552,o);n<a;)r+=s[n++],i+=r;r=r%65521,i=i%65521}return i<<16|r};_.bin={readUshort:function(s,e){return s[e]|s[e+1]<<8},writeUshort:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255},readUint:function(s,e){return s[e+3]*(256*256*256)+(s[e+2]<<16|s[e+1]<<8|s[e])},writeUint:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255,s[e+2]=t>>16&255,s[e+3]=t>>24&255},readASCII:function(s,e,t){for(var r="",i=0;i<t;i++)r+=String.fromCharCode(s[e+i]);return r},writeASCII:function(s,e,t){for(var r=0;r<t.length;r++)s[e+r]=t.charCodeAt(r)},pad:function(s){return s.length<2?"0"+s:s},readUTF8:function(s,e,t){for(var r="",i,n=0;n<t;n++)r+="%"+_.bin.pad(s[e+n].toString(16));try{i=decodeURIComponent(r)}catch{return _.bin.readASCII(s,e,t)}return i},writeUTF8:function(s,e,t){for(var r=t.length,i=0,n=0;n<r;n++){var o=t.charCodeAt(n);if((o&4294967168)==0)s[e+i]=o,i++;else if((o&4294965248)==0)s[e+i]=192|o>>6,s[e+i+1]=128|o>>0&63,i+=2;else if((o&4294901760)==0)s[e+i]=224|o>>12,s[e+i+1]=128|o>>6&63,s[e+i+2]=128|o>>0&63,i+=3;else if((o&4294967295-(1<<21)+1)==0)s[e+i]=240|o>>18,s[e+i+1]=128|o>>12&63,s[e+i+2]=128|o>>6&63,s[e+i+3]=128|o>>0&63,i+=4;else throw"e"}return i},sizeUTF8:function(s){for(var e=s.length,t=0,r=0;r<e;r++){var i=s.charCodeAt(r);if((i&4294967168)==0)t++;else if((i&4294965248)==0)t+=2;else if((i&4294901760)==0)t+=3;else if((i&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};_.F={};_.F.deflateRaw=function(s,e,t,r){var i=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],n=i[r],o=_.F.U,a=_.F._goodIndex,l=_.F._hash,c=_.F._putsE,d=0,h=t<<3,f=0,u=s.length;if(r==0){for(;d<u;){var p=Math.min(65535,u-d);c(e,h,d+p==u?1:0),h=_.F._copyExact(s,d,p,e,h+8),d+=p}return h>>>3}var y=o.lits,v=o.strt,w=o.prev,b=0,m=0,A=0,N=0,L=0,z=0;u>2&&(z=_.F._hash(s,0),v[z]=0);var M=0,V=0;for(d=0;d<u;d++){if(L=z,d+1<u-2){z=_.F._hash(s,d+1);var $=d+1&32767;w[$]=v[z],v[z]=$}if(f<=d){(b>14e3||m>26697)&&u-d>100&&(f<d&&(y[b]=d-f,b+=2,f=d),h=_.F._writeBlock(d==u-1||f==u?1:0,y,b,N,s,A,d-A,e,h),b=m=N=0,A=d);var U=0;d<u-2&&(U=_.F._bestMatch(s,d,w,L,Math.min(n[2],u-d),n[3]));var p=U>>>16,q=U&65535;if(U!=0){var p=U>>>16,q=U&65535,Y=a(p,o.of0);o.lhst[257+Y]++;var Q=a(q,o.df0);o.dhst[Q]++,N+=o.exb[Y]+o.dxb[Q],y[b]=p<<23|d-f,y[b+1]=q<<16|Y<<8|Q,b+=2,f=d+p}else o.lhst[s[d]]++;m++}}for((A!=d||s.length==0)&&(f<d&&(y[b]=d-f,b+=2,f=d),h=_.F._writeBlock(1,y,b,N,s,A,d-A,e,h),b=0,m=0,b=m=N=0,A=d);(h&7)!=0;)h++;return h>>>3};_.F._bestMatch=function(s,e,t,r,i,n){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||r!=_.F._hash(s,e-l))return 0;for(var c=0,d=0,h=Math.min(32767,e);l<=h&&--n!=0&&a!=o;){if(c==0||s[e+c]==s[e+c-l]){var f=_.F._howLong(s,e,l);if(f>c){if(c=f,d=l,c>=i)break;l+2<f&&(f=l+2);for(var u=0,p=0;p<f-2;p++){var y=e-l+p+32768&32767,v=t[y],w=y-v+32768&32767;w>u&&(u=w,a=y)}}}o=a,a=t[o],l+=o-a+32768&32767}return c<<16|d};_.F._howLong=function(s,e,t){if(s[e]!=s[e-t]||s[e+1]!=s[e+1-t]||s[e+2]!=s[e+2-t])return 0;var r=e,i=Math.min(s.length,e+258);for(e+=3;e<i&&s[e]==s[e-t];)e++;return e-r};_.F._hash=function(s,e){return(s[e]<<8|s[e+1])+(s[e+2]<<4)&65535};_.saved=0;_.F._writeBlock=function(s,e,t,r,i,n,o,a,l){var c=_.F.U,d=_.F._putsF,h=_.F._putsE,f,u,p,y,v,w,b,m,A;c.lhst[256]++,f=_.F.getTrees(),u=f[0],p=f[1],y=f[2],v=f[3],w=f[4],b=f[5],m=f[6],A=f[7];var N=((l+3&7)==0?0:8-(l+3&7))+32+(o<<3),L=r+_.F.contSize(c.fltree,c.lhst)+_.F.contSize(c.fdtree,c.dhst),z=r+_.F.contSize(c.ltree,c.lhst)+_.F.contSize(c.dtree,c.dhst);z+=14+3*b+_.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var M=0;M<286;M++)c.lhst[M]=0;for(var M=0;M<30;M++)c.dhst[M]=0;for(var M=0;M<19;M++)c.ihst[M]=0;var V=N<L&&N<z?0:L<z?1:2;d(a,l,s),d(a,l+1,V),l+=3;var $=l;if(V==0){for(;(l&7)!=0;)l++;l=_.F._copyExact(i,n,o,a,l)}else{var U,q;if(V==1&&(U=c.fltree,q=c.fdtree),V==2){_.F.makeCodes(c.ltree,u),_.F.revCodes(c.ltree,u),_.F.makeCodes(c.dtree,p),_.F.revCodes(c.dtree,p),_.F.makeCodes(c.itree,y),_.F.revCodes(c.itree,y),U=c.ltree,q=c.dtree,h(a,l,v-257),l+=5,h(a,l,w-1),l+=5,h(a,l,b-4),l+=4;for(var Y=0;Y<b;Y++)h(a,l+Y*3,c.itree[(c.ordr[Y]<<1)+1]);l+=3*b,l=_.F._codeTiny(m,c.itree,a,l),l=_.F._codeTiny(A,c.itree,a,l)}for(var Q=n,te=0;te<t;te+=2){for(var J=e[te],oe=J>>>23,pe=Q+(J&(1<<23)-1);Q<pe;)l=_.F._writeLit(i[Q++],U,a,l);if(oe!=0){var de=e[te+1],ae=de>>16,he=de>>8&255,ee=de&255;l=_.F._writeLit(257+he,U,a,l),h(a,l,oe-c.of0[he]),l+=c.exb[he],l=_.F._writeLit(ee,q,a,l),d(a,l,ae-c.df0[ee]),l+=c.dxb[ee],Q+=oe}}l=_.F._writeLit(256,U,a,l)}return l};_.F._copyExact=function(s,e,t,r,i){var n=i>>>3;return r[n]=t,r[n+1]=t>>>8,r[n+2]=255-r[n],r[n+3]=255-r[n+1],n+=4,r.set(new Uint8Array(s.buffer,e,t),n),i+(t+4<<3)};_.F.getTrees=function(){for(var s=_.F.U,e=_.F._hufTree(s.lhst,s.ltree,15),t=_.F._hufTree(s.dhst,s.dtree,15),r=[],i=_.F._lenCodes(s.ltree,r),n=[],o=_.F._lenCodes(s.dtree,n),a=0;a<r.length;a+=2)s.ihst[r[a]]++;for(var a=0;a<n.length;a+=2)s.ihst[n[a]]++;for(var l=_.F._hufTree(s.ihst,s.itree,7),c=19;c>4&&s.itree[(s.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,i,o,c,r,n]};_.F.getSecond=function(s){for(var e=[],t=0;t<s.length;t+=2)e.push(s[t+1]);return e};_.F.nonZero=function(s){for(var e="",t=0;t<s.length;t+=2)s[t+1]!=0&&(e+=(t>>1)+",");return e};_.F.contSize=function(s,e){for(var t=0,r=0;r<e.length;r++)t+=e[r]*s[(r<<1)+1];return t};_.F._codeTiny=function(s,e,t,r){for(var i=0;i<s.length;i+=2){var n=s[i],o=s[i+1];r=_.F._writeLit(n,e,t,r);var a=n==16?2:n==17?3:7;n>15&&(_.F._putsE(t,r,o,a),r+=a)}return r};_.F._lenCodes=function(s,e){for(var t=s.length;t!=2&&s[t-1]==0;)t-=2;for(var r=0;r<t;r+=2){var i=s[r+1],n=r+3<t?s[r+3]:-1,o=r+5<t?s[r+5]:-1,a=r==0?-1:s[r-1];if(i==0&&n==i&&o==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),r+=c*2-2}else if(i==a&&n==i&&o==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,6);e.push(16,c-3),r+=c*2-2}else e.push(i,0)}return t>>>1};_.F._hufTree=function(s,e,t){var r=[],i=s.length,n=e.length,o=0;for(o=0;o<n;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<i;o++)s[o]!=0&&r.push({lit:o,f:s[o]});var a=r.length,l=r.slice(0);if(a==0)return 0;if(a==1){var c=r[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}r.sort(function(v,w){return v.f-w.f});var d=r[0],h=r[1],f=0,u=1,p=2;for(r[0]={lit:-1,f:d.f+h.f,l:d,r:h,d:0};u!=a-1;)f!=u&&(p==a||r[f].f<r[p].f)?d=r[f++]:d=r[p++],f!=u&&(p==a||r[f].f<r[p].f)?h=r[f++]:h=r[p++],r[u++]={lit:-1,f:d.f+h.f,l:d,r:h};var y=_.F.setDepth(r[u-1],0);for(y>t&&(_.F.restrictDepth(l,t,y),y=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return y};_.F.setDepth=function(s,e){return s.lit!=-1?(s.d=e,e):Math.max(_.F.setDepth(s.l,e+1),_.F.setDepth(s.r,e+1))};_.F.restrictDepth=function(s,e,t){var r=0,i=1<<t-e,n=0;for(s.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),r=0;r<s.length&&s[r].d>e;r++){var o=s[r].d;s[r].d=e,n+=i-(1<<t-o)}for(n=n>>>t-e;n>0;){var o=s[r].d;o<e?(s[r].d++,n-=1<<e-o-1):r++}for(;r>=0;r--)s[r].d==e&&n<0&&(s[r].d--,n++);n!=0&&console.log("debt left")};_.F._goodIndex=function(s,e){var t=0;return e[t|16]<=s&&(t|=16),e[t|8]<=s&&(t|=8),e[t|4]<=s&&(t|=4),e[t|2]<=s&&(t|=2),e[t|1]<=s&&(t|=1),t};_.F._writeLit=function(s,e,t,r){return _.F._putsF(t,r,e[s<<1]),r+e[(s<<1)+1]};_.F.inflate=function(s,e){var t=Uint8Array;if(s[0]==3&&s[1]==0)return e||new t(0);var r=_.F,i=r._bitsF,n=r._bitsE,o=r._decodeTiny,a=r.makeCodes,l=r.codes2map,c=r._get17,d=r.U,h=e==null;h&&(e=new t(s.length>>>2<<3));for(var f=0,u=0,p=0,y=0,v=0,w=0,b=0,m=0,A=0,N,L;f==0;){if(f=i(s,A,1),u=i(s,A+1,2),A+=3,u==0){(A&7)!=0&&(A+=8-(A&7));var z=(A>>>3)+4,M=s[z-4]|s[z-3]<<8;h&&(e=_.F._check(e,m+M)),e.set(new t(s.buffer,s.byteOffset+z,M),m),A=z+M<<3,m+=M;continue}if(h&&(e=_.F._check(e,m+(1<<17))),u==1&&(N=d.flmap,L=d.fdmap,w=511,b=31),u==2){p=n(s,A,5)+257,y=n(s,A+5,5)+1,v=n(s,A+10,4)+4,A+=14;for(var V=A,$=0;$<38;$+=2)d.itree[$]=0,d.itree[$+1]=0;for(var U=1,$=0;$<v;$++){var q=n(s,A+$*3,3);d.itree[(d.ordr[$]<<1)+1]=q,q>U&&(U=q)}A+=3*v,a(d.itree,U),l(d.itree,U,d.imap),N=d.lmap,L=d.dmap,A=o(d.imap,(1<<U)-1,p+y,s,A,d.ttree);var Y=r._copyOut(d.ttree,0,p,d.ltree);w=(1<<Y)-1;var Q=r._copyOut(d.ttree,p,y,d.dtree);b=(1<<Q)-1,a(d.ltree,Y),l(d.ltree,Y,N),a(d.dtree,Q),l(d.dtree,Q,L)}for(;;){var te=N[c(s,A)&w];A+=te&15;var J=te>>>4;if(!(J>>>8))e[m++]=J;else{if(J==256)break;var oe=m+J-254;if(J>264){var pe=d.ldef[J-257];oe=m+(pe>>>3)+n(s,A,pe&7),A+=pe&7}var de=L[c(s,A)&b];A+=de&15;var ae=de>>>4,he=d.ddef[ae],ee=(he>>>4)+i(s,A,he&15);for(A+=he&15,h&&(e=_.F._check(e,m+(1<<17)));m<oe;)e[m]=e[m++-ee],e[m]=e[m++-ee],e[m]=e[m++-ee],e[m]=e[m++-ee];m=oe}}}return e.length==m?e:e.slice(0,m)};_.F._check=function(s,e){var t=s.length;if(e<=t)return s;var r=new Uint8Array(Math.max(t<<1,e));return r.set(s,0),r};_.F._decodeTiny=function(s,e,t,r,i,n){for(var o=_.F._bitsE,a=_.F._get17,l=0;l<t;){var c=s[a(r,i)&e];i+=c&15;var d=c>>>4;if(d<=15)n[l]=d,l++;else{var h=0,f=0;d==16?(f=3+o(r,i,2),i+=2,h=n[l-1]):d==17?(f=3+o(r,i,3),i+=3):d==18&&(f=11+o(r,i,7),i+=7);for(var u=l+f;l<u;)n[l]=h,l++}}return i};_.F._copyOut=function(s,e,t,r){for(var i=0,n=0,o=r.length>>>1;n<t;){var a=s[n+e];r[n<<1]=0,r[(n<<1)+1]=a,a>i&&(i=a),n++}for(;n<o;)r[n<<1]=0,r[(n<<1)+1]=0,n++;return i};_.F.makeCodes=function(s,e){for(var t=_.F.U,r=s.length,i,n,o,a,l,c=t.bl_count,a=0;a<=e;a++)c[a]=0;for(a=1;a<r;a+=2)c[s[a]]++;var d=t.next_code;for(i=0,c[0]=0,n=1;n<=e;n++)i=i+c[n-1]<<1,d[n]=i;for(o=0;o<r;o+=2)l=s[o+1],l!=0&&(s[o]=d[l],d[l]++)};_.F.codes2map=function(s,e,t){for(var r=s.length,i=_.F.U,n=i.rev15,o=0;o<r;o+=2)if(s[o+1]!=0)for(var a=o>>1,l=s[o+1],c=a<<4|l,d=e-l,h=s[o]<<d,f=h+(1<<d);h!=f;){var u=n[h]>>>15-e;t[u]=c,h++}};_.F.revCodes=function(s,e){for(var t=_.F.U.rev15,r=15-e,i=0;i<s.length;i+=2){var n=s[i]<<e-s[i+1];s[i]=t[n]>>>r}};_.F._putsE=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8};_.F._putsF=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8,s[r+2]|=t>>>16};_.F._bitsE=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};_.F._bitsF=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};_.F._get17=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)};_.F._get25=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16|s[(e>>>3)+3]<<24)>>>(e&7)};_.F.U=function(){var s=Uint16Array,e=Uint32Array;return{next_code:new s(16),bl_count:new s(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new s(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new s(512),fltree:[],fdmap:new s(32),fdtree:[],lmap:new s(32768),ltree:[],ttree:[],dmap:new s(32768),dtree:[],imap:new s(512),itree:[],rev15:new s(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new s(65536),prev:new s(32768)}}();(function(){for(var s=_.F.U,e=32768,t=0;t<e;t++){var r=t;r=(r&2863311530)>>>1|(r&1431655765)<<1,r=(r&3435973836)>>>2|(r&858993459)<<2,r=(r&4042322160)>>>4|(r&252645135)<<4,r=(r&4278255360)>>>8|(r&16711935)<<8,s.rev15[t]=(r>>>16|r<<16)>>>17}function i(n,o,a){for(;o--!=0;)n.push(0,a)}for(var t=0;t<32;t++)s.ldef[t]=s.of0[t]<<3|s.exb[t],s.ddef[t]=s.df0[t]<<4|s.dxb[t];i(s.fltree,144,8),i(s.fltree,112,9),i(s.fltree,24,7),i(s.fltree,8,8),_.F.makeCodes(s.fltree,9),_.F.codes2map(s.fltree,9,s.flmap),_.F.revCodes(s.fltree,9),i(s.fdtree,32,5),_.F.makeCodes(s.fdtree,5),_.F.codes2map(s.fdtree,5,s.fdmap),_.F.revCodes(s.fdtree,5),i(s.itree,19,0),i(s.ltree,286,0),i(s.dtree,30,0),i(s.ttree,320,0)})()});var Ji=De(ft());var pt=s=>{let e=Math.floor((s-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},Zt=s=>Math.floor((256*s+Math.floor(18.285714285714285))/256*7);var Ir="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var Ne=s=>s!==null&&typeof s=="object"&&"row"in s&&"column"in s;var G=class s{start_;end_;constructor(e,t=e,r=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),r&&this.Normalize()}static FromColumn(e){return new s({row:1/0,column:e})}static FromRow(e){return new s({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let r=t?`${e.sheet_id||0}!`:"";return e.row===1/0?r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?r+(e.absolute_row?"$":"")+(e.row+1):r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let r=new s(e.start,e.end);for(let i of t)i&&(r.ConsumeAddress(i.start),r.ConsumeAddress(i.end));return r}static Bleed(e,t=1){return new s({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:r,column_count:i,before_row:n,row_count:o}=t,a=new s(e.start,e.end),l=e.start.sheet_id;if(i&&r<=a.end.column){if(i>0)r<=a.start.column?a.Shift(0,i):r>a.start.column&&r<=a.end.column?a.ConsumeAddress({row:a.end.row,column:a.end.column+i}):console.warn("AA X case 1",r,i,JSON.stringify(a));else if(i<0)if(r-i<=a.start.column)a.Shift(0,i);else{if(r<=a.start.column&&r-i>a.end.column)return!1;if(r<=a.start.column){let c=r-i-1;a=new s({row:a.start.row,column:c+1+i,sheet_id:l},{row:a.end.row,column:a.end.column+i})}else r<=a.end.column?r-i-1>=a.end.column?a=new s({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:r-1}):a=new s({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:a.start.column+a.columns+i-1}):console.warn("AA X case 2",r,i,JSON.stringify(a))}}if(o&&n<=a.end.row){if(o>0)n<=a.start.row?a.Shift(o,0):n>a.start.row&&n<=a.end.row?a.ConsumeAddress({row:a.end.row+o,column:a.end.column}):console.warn("AA X case 3",n,o,JSON.stringify(a));else if(o<0)if(n-o<=a.start.row)a.Shift(o,0);else{if(n<=a.start.row&&n-o>a.end.row)return!1;if(n<=a.start.row){let c=n-o-1;a=new s({column:a.start.column,row:c+1+o,sheet_id:l},{column:a.end.column,row:a.end.row+o})}else n<=a.end.row?n-o-1>=a.end.row?a=new s({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:n-1}):a=new s({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:a.start.row+a.rows+o-1}):console.warn("AA X case 4",n,o,JSON.stringify(a))}}return a}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new s(this.start,this.end)}get left(){let e=new s(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new s(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new s(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new s(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don\'t iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let r={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:r})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=s.ColumnToLabel(this.start_.column),e+=":"+s.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=s.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+s.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var Rr=s=>typeof s=="object"&&!!s&&typeof s.real=="number"&&typeof s.imaginary=="number";var Ot=s=>typeof s=="object"&&!!s&&typeof s.value=="number"&&typeof s.unit=="string",ps=s=>typeof s=="object"&&s.type==="function",Wt=["undefined","formula","string","number","boolean","object","function","error","complex","array","dimensioned_quantity"];var Ue=s=>{switch(typeof s){case"undefined":return 0;case"number":return 3;case"boolean":return 4;case"object":return s===null?0:ps(s)?6:Rr(s)?8:Ot(s)?10:5;case"string":return s[0]==="="?1:2;default:return 7}};var ie=class{static StringToColumn(e){let t=0;e=e.toUpperCase();for(let r=0;r<e.length;r++)t*=26,t+=e.charCodeAt(r)-64;return t-1}value;type=0;calculated;calculated_type;formatted;rendered_type;style;area;spill;merge_area;table;renderer_data;render_clean=[];note;hyperlink;editing;render_function;click_function;constructor(e,t){typeof e<"u"&&this.Set(e,t)}ValueIsNumber(){return this.type===3}ValueIsFormula(){return this.type===1}ValueIsBoolean(){return this.type===4}ValueIsComplex(){return this.type===8}FlushStyle(){this.formatted=this.rendered_type=this.style=void 0,this.render_clean=[]}FlushArray(){this.area=void 0}FlushCache(){this.calculated=this.calculated_type=this.formatted=this.rendered_type=this.render_function=this.click_function=void 0,this.render_clean=[]}Reset(){this.type=0,this.value=this.spill=this.note=this.hyperlink=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.area=this.renderer_data=this.render_function=this.click_function=void 0,this.render_clean=[]}Set(e,t=Ue(e)){this.value=e,this.type=t,this.spill=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.render_function=this.click_function=this.area=void 0,this.render_clean=[]}SetCalculatedValue(e,t=Ue(e)){e===void 0&&(e=0,t=3),this.calculated!==e&&(this.calculated=e,this.calculated_type=t,this.formatted=this.rendered_type=void 0,this.render_clean=[])}GetValue(){return this.calculated_type?this.calculated:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}GetValue4(){return this.calculated_type?{type:this.calculated_type,value:this.calculated}:this.type===1?{type:3,value:0}:{type:this.type,value:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}}SetNote(e){this.note=e,this.render_clean=[]}SetCalculationError(e="ERR"){this.SetCalculatedValue(e,7)}SetArray(e){this.type=0,this.value=this.formatted=this.rendered_type=this.style=this.hyperlink=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}SetArrayHead(e,t){this.type=Ue(t),this.value=t,this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}};var ms=s=>!s.cells,kr=s=>!!s[0]&&ms(s[0]),Er=s=>!!s[0]&&s[0].row!==void 0,_s=Wt.map((s,e)=>({[s]:e})).reduce((s,e)=>({...s,...e}),{}),Xe=class{data=[];rows_=0;columns_=0;get rows(){return this.rows_}get columns(){return this.columns_}EnsureRow(e){this.rows_=Math.max(e+1,this.rows_)}EnsureColumn(e){this.columns_=Math.max(e+1,this.columns_)}InsertColumns(e=0,t=1){this.data=this.data.map(r=>{if(r.length>=e){let i=r.slice(0,e),n=e+t,o=r.slice(e);for(let a=0;a<o.length;a++)i[n++]=o[a];return i}return r}),this.columns_+=t}DeleteColumns(e,t=1){this.data.forEach(r=>r.splice(e,t)),this.columns_-=t}DeleteRows(e,t=1){this.data.splice(e,t),this.rows_-=t}InsertRows(e=0,t=1){let r=[e,0,[]];for(let i=1;i<t;i++)r.push([]);Array.prototype.splice.apply(this.data,r),this.rows_+=t}GetCell(e,t){let{row:r,column:i}=e;if(!this.data[r])if(t)this.data[r]=[],this.rows_=Math.max(this.rows_,r+1);else return;return this.data[r][i]||t&&(this.data[r][i]=new ie,this.columns_=Math.max(this.columns_,i+1)),this.data[r][i]}EnsureCell(e){let{row:t,column:r}=e,i=this.data[t];i||(this.data[t]=i=[],this.rows_=Math.max(this.rows_,t+1));let n=i[r];return n||(n=i[r]=new ie,this.columns_=Math.max(this.columns_,r+1)),n}FromArray(e=[],t=!1){this.data=[];let r=0,i=0;if(t){i=e.length;for(let n=0;n<i;n++){let o=e[n];r=Math.max(r,o.length);for(let a=0;a<o.length;a++)this.data[a]||(this.data[a]=[]),this.data[a][n]=new ie(o[a])}}else{r=e.length;for(let n=0;n<r;n++){let o=[],a=e[n];i=Math.max(i,a.length);for(let l=0;l<a.length;l++)o[l]=new ie(a[l]);this.data[n]=o}}this.rows_=r,this.columns_=i}SerializedTypeToValueType(e){if(e)return typeof e=="number"?e:_s[e]||void 0}ValueTypeToSerializedType(e){return e?Wt[e]:void 0}FromJSON(e=[],t){if(this.data=[],!kr(e)){let i=[];if(Er(e))for(let n of e)for(let o of n.cells)i.push({...o,row:n.row});else for(let n of e)for(let o of n.cells)i.push({...o,column:n.column});e=i}let r=[];for(let i of e){this.data[i.row]||(this.data[i.row]=[]);let n=new ie(i.value);if(typeof i.calculated<"u"&&(n.SetCalculatedValue(i.calculated,this.SerializedTypeToValueType(i.calculated_type)),i.spill&&(n.spill=new G(i.spill.start,i.spill.end))),t&&typeof i.style_ref<"u"&&(n.style=t[i.style_ref]),typeof i.note<"u"&&(n.note=i.note),typeof i.hyperlink<"u"&&(n.hyperlink=i.hyperlink),this.data[i.row][i.column]&&this.data[i.row][i.column].area&&(n.area=this.data[i.row][i.column].area),this.data[i.row][i.column]=n,i.area){let o=new G(i.area.start,i.area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new ie),this.data[a][l].area=o}if(i.table&&r.push({...i.table}),i.merge_area){let o=new G(i.merge_area.start,i.merge_area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new ie),this.data[a][l].merge_area=o}}for(let i of r)for(let n=i.area.start.row;n<=i.area.end.row;n++)for(let o=i.area.start.column;o<=i.area.end.column;o++)this.data[n]||(this.data[n]=[]),this.data[n][o]||(this.data[n][o]=new ie),this.data[n][o].table=i;this.rows_=this.data.length,this.columns_=this.data.reduce((i,n)=>Math.max(i,n.length),0)}toJSON(e={}){let t=0,r=0,i=this.data.length-1,n;e.subset&&(t=e.subset.start.column,r=e.subset.start.row,i=e.subset.end.row);let o=[],a=-1,l=-1,c={},d={};for(let h=r;h<=i;h++)if(this.data[h]){let f=this.data[h];n=f.length-1,e.subset&&(n=e.subset.end.column);for(let u=t;u<=n;u++){let p=f[u],y=p&&p.merge_area&&p.merge_area.start.row===h&&p.merge_area.start.column===u,v=p&&p.area&&p.area.start.row===h&&p.area.start.column===u,w=p&&p.table&&p.table.area.start.row===h&&p.table.area.start.column===u,b=p?p.type===2&&!p.value:!0;if(p&&(!b||e.preserve_empty_strings)&&(y||p.type||p.calculated_type&&e.expand_arrays||p.calculated_type&&e.calculated_value||p.note||e.decorated_cells&&p.style&&(p.style.fill||p.style.border_bottom||p.style.border_top||p.style.border_left||p.style.border_right))){let m={row:h,column:u,value:p.value};p.note&&(m.note=p.note),p.hyperlink&&(m.hyperlink=p.hyperlink),e.preserve_type&&(m.type=this.ValueTypeToSerializedType(p.type)),e.sheet_id&&(m.sheet_id=e.sheet_id),e.calculated_value&&typeof p.calculated<"u"&&(m.calculated=p.calculated,p.spill&&(m.spill=p.spill.toJSON()),(e.preserve_type||p.calculated_type===7)&&(m.calculated_type=this.ValueTypeToSerializedType(p.calculated_type))),p.table&&w&&e.tables&&(m.table=JSON.parse(JSON.stringify(p.table))),p.area&&v&&(m.area=p.area.toJSON()),p.merge_area&&(m.merge_area=p.merge_area.toJSON()),e.cell_style_refs&&e.cell_style_refs[u]&&e.cell_style_refs[u][h]&&(m.style_ref=e.cell_style_refs[u][h],e.cell_style_refs[u][h]=0),c[h]=h,d[u]=u,a=Math.max(h,a),l=Math.max(u,l),o.push(m)}}}if(e.nested){let h=Object.keys(c),f=Object.keys(d);if(h.length<=f.length&&h.length){let u={},p=[];for(let y of o){let{row:v,...w}=y;u[y.row]||(u[y.row]=[]),u[y.row].push(w)}for(let y of h){let v=Number(y);p.push({row:v,cells:u[v]})}return{data:p,rows:a,columns:l+1}}else if(f.length){let u={},p=[];for(let y of o){let{column:v,...w}=y;u[y.column]||(u[y.column]=[]),u[y.column].push(w)}for(let y of f){let v=Number(y);p.push({column:v,cells:u[v]})}return{data:p,rows:a,columns:l+1}}}return{data:o,rows:a+1,columns:l+1}}GetAll(e=!1){return this.GetRange({row:0,column:0},{row:this.rows_-1,column:this.columns_-1},e)}Normalize(e,t){return e={...e,row:e.row==1/0?0:e.row,column:e.column==1/0?0:e.column},t&&(t={...t,row:t.row==1/0?this.rows_-1:t.row,column:t.column==1/0?this.columns_-1:t.column}),{from:e,to:t}}RawValue(e,t=e){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].value:void 0;let r=[],i=this.data.slice(e.row,t.row+1),n=e.column,o=t.column+1;for(let a of i){let l=[];for(let c=n,d=0;c<o;c++,d++){let h=a[c];l.push(h?h.value:void 0)}r.push(l)}return r}GetRange(e,t,r=!1){if({from:e,to:t}=this.Normalize(e,t),!t||e===t||e.column===t.column&&e.row===t.row)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue():void 0;let i=[];if(r)for(let n=e.column;n<=t.column;n++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][n]?o.push(this.data[a][n].GetValue()):o.push(void 0);i.push(o)}else for(let n=e.row;n<=t.row;n++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[n]&&this.data[n][a]?o.push(this.data[n][a].GetValue()):o.push(void 0);i.push(o)}return i}GetRange4(e,t=e,r=!1){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue4():{value:void 0,type:0};let i=[];if(r)for(let n=e.column;n<=t.column;n++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][n]?o.push(this.data[a][n].GetValue4()):o.push({type:0});i.push(o)}else for(let n=e.row;n<=t.row;n++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[n]&&this.data[n][a]?o.push(this.data[n][a].GetValue4()):o.push({type:0});i.push(o)}return{type:9,value:i}}SetArea(e,t){if(ArrayBuffer.isView(t))throw new Error("ABIV");if(Array.isArray(t))for(let r=e.start.row,i=0;r<=e.end.row;r++,i++){this.data[r]||(this.data[r]=[]);let n=this.data[r];if(t[i])for(let o=e.start.column,a=0;o<=e.end.column;o++,a++)n[o]||(n[o]=new ie),n[o].Set(t[i][a])}else{let r=Ue(t);for(let i=e.start.row;i<=e.end.row;i++){this.data[i]||(this.data[i]=[]);let n=this.data[i];for(let o=e.start.column;o<=e.end.column;o++)n[o]||(n[o]=new ie),n[o].Set(t,r)}}this.rows_=Math.max(this.rows_,e.end.row+1),this.columns_=Math.max(this.columns_,e.end.column+1)}*IterateRC(e,t=!1){if(!e&&t&&(e=new G({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e)if(t)for(let r=e.start.row;r<=e.end.row;r++){this.data[r]||(this.data[r]=[]);let i=this.data[r];for(let n=e.start.column;n<=e.end.column;n++)i[n]||(i[n]=new ie),yield{cell:i[n],row:r,column:n}}else for(let r=e.start.row;r<=e.end.row;r++){let i=this.data[r];if(i)for(let n=e.start.column;n<=e.end.column;n++){let o=i[n];o&&(yield{cell:o,row:r,column:n})}}else for(let[r,i]of this.data.entries())if(i)for(let[n,o]of i.entries())o&&(yield{cell:o,row:r,column:n})}*Iterate(e,t=!1){if(!e&&t&&(e=new G({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e){Ne(e)&&(e=new G(e)),(e.entire_column||e.entire_row)&&(e=new G(e.start,e.end),e.start.column===1/0&&(e.start.column=0,e.end.column=this.columns_-1),e.start.row===1/0&&(e.start.row=0,e.end.row=this.rows_-1));let r=e.start,i=e.end;if(t)for(let n=r.row;n<=i.row;n++){this.data[n]||(this.data[n]=[]);let o=this.data[n];for(let a=r.column;a<=i.column;a++)o[a]||(o[a]=new ie),yield o[a]}else for(let n=r.row;n<=i.row;n++)if(this.data[n]){let o=this.data[n];for(let a=r.column;a<=i.column;a++)o[a]&&(yield o[a])}}else for(let r of this.data)if(r)for(let i of r)i&&(yield i)}FlushCellStyles(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushStyle()}FlushCachedValues(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushCache()}};var O=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let i=self?.document?.location;if(i&&i.search&&/locale=([^?&]+?)(?:\\?|$|&)/.test(i.search)){let n=i.search.match(/locale=(.*?)(?:\\?|$|&)/);n&&(this.locale=n[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let r=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,r),r=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,r),r=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,r),r=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,r),r=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,r),r=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,r),r=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,r),r=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,r),r=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,r),r=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,r),r=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,r),r=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,r)}static UpdateDateComponent(e,t,r){t>=0&&(this.date_components.short_days[t]=r.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=r.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=r.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=r.toLocaleString(this.locale,{month:"long"}))}};O.UpdateLocale();var Se=class s{constructor(e=0,t=0,r=0,i=0){this.left=e;this.top=t;this.width=r;this.height=i}get right(){return this.left+this.width}get bottom(){return this.top+this.height}static Create(e){return new s(e.left||0,e.top||0,e.width||0,e.height||0)}static IsRectangle(e){return!!e&&typeof e=="object"&&typeof e.left=="number"&&typeof e.top=="number"&&typeof e.width=="number"&&typeof e.height=="number"}Shift(e=0,t=0){return new s(this.left+e,this.top+t,this.width,this.height)}Scale(e=1,t=e){return new s(this.left*e,this.top*t,this.width*e,this.height*t)}Expand(e=0,t=0){return new s(this.left,this.top,this.width+e,this.height+t)}Combine(e){return new s(Math.min(this.left,e.left),Math.min(this.top,e.top),Math.max(this.right,e.right)-Math.min(this.left,e.left),Math.max(this.bottom,e.bottom)-Math.min(this.top,e.top))}Contains(e,t,r=0){return e>=this.left-r&&e<=this.left+this.width+r&&t>=this.top-r&&t<=this.top+this.height+r}ContextFill(e){e.fillRect(this.left,this.top,this.width,this.height)}ContextStroke(e){e.strokeRect(this.left,this.top,this.width,this.height)}Clamp(e,t){return e=Math.min(Math.max(e,this.left),this.right),t=Math.min(Math.max(t,this.top),this.bottom),{x:e,y:t}}ApplyStyle(e){e.style.top=this.top+"px",e.style.left=this.left+"px",e.style.width=this.width+"px",e.style.height=this.height+"px"}toJSON(){return{top:this.top,left:this.left,width:this.width,height:this.height}}};var bs=JSON.stringify({}),gs={Background:0,Text:1,Background2:2,Text2:3,Accent:4,Accent2:5,Accent3:6,Accent4:7,Accent5:8,Accent6:9},$e=s=>typeof s.theme=="number"?s.theme:gs[s.theme]||0,we=s=>!!s&&typeof s.text=="string",xe=s=>!!s&&typeof s.theme<"u";var se={DefaultProperties:{horizontal_align:"",vertical_align:"",number_format:"General",nan:"NaN",font_size:{unit:"em",value:1},bold:!1,italic:!1,underline:!1,strike:!1,text:{theme:1},border_top:0,border_left:0,border_right:0,border_bottom:0},CompositeBorders:s=>({top:{width:s.border_top||0,color:s.border_top_fill||{}},left:{width:s.border_left||0,color:s.border_left_fill||{}},right:{width:s.border_right||0,color:s.border_right_fill||{}},bottom:{width:s.border_bottom||0,color:s.border_bottom_fill||{}}}),Serialize:s=>{let e=JSON.parse(JSON.stringify(s));return e.border_bottom_fill&&!e.border_bottom&&(e.border_bottom_fill=void 0),e.border_top_fill&&!e.border_top&&(e.border_top_fill=void 0),e.border_left_fill&&!e.border_left&&(e.border_left_fill=void 0),e.border_right_fill&&!e.border_right&&(e.border_right_fill=void 0),JSON.stringify(e)},Merge:(s,e,t=!0)=>{let r=t?{...s,...e}:{...e};return JSON.parse(JSON.stringify(r))},Composite:s=>JSON.parse(JSON.stringify(s.reduce((e,t)=>({...e,...t}),{}))),Empty:s=>JSON.stringify(s)===bs,ParseFontSize:(s="",e="em")=>{let t=s.match(/(-*[\\d.]+)\\s*(\\S*)/);if(t){let r=Number(t[1]);if(!r||isNaN(r)||r<0)return{};let i=t[2].toLowerCase()||e;if(i==="pt"||i==="em"||i==="%"||i==="px")return{font_size:{unit:i,value:r}}}return{}},RelativeFontSize:(s,e)=>{let t=12,r=12;switch(s.font_size?.unit){case"pt":if(!s.font_size.value)return 1;r=s.font_size.value;break;case"px":if(!s.font_size.value)return 1;r=Math.round(s.font_size.value*300/4)/100;break;case"em":return s.font_size.value||1;case"%":return(s.font_size.value||100)/100;default:return 1}switch(e.font_size?.unit){case"pt":if(!e.font_size.value)return 1;t=e.font_size.value;break;case"px":if(!e.font_size.value)return 1;t=Math.round(e.font_size.value*300/4)/100;break;default:return 1}return r/t},FontSize:(s,e=!0)=>{let t=s.font_size?.value;switch(s.font_size?.unit){case"pt":return(t||12)+"pt";case"px":return e?Math.round((t||16)*300/4)/100+"pt":(t||16)+"px";case"em":return(t||1)+"em";case"%":return(t||100)+"%"}return""},CompositeFontSize:(s,e,t=1,r=!1)=>{let i={...s};return e.unit==="pt"||e.unit==="px"?i={...e}:(i.value=e.value*s.value,e.unit==="%"&&(i.value/=100)),i.unit==="px"&&r&&(i.value=Math.round((i.value||16)*300/4)/100),i.value*=t,i},CompositeFont:(s,e,t,r)=>{let i,n,o,a=[];e.bold&&a.push("bold"),e.italic&&a.push("italic");let l=e.font_face||"stack:default";if(l.startsWith("stack:")){let c=r.font_stacks[l.substring(6)||"default"];c||(c=r.font_stacks.default),c&&(n=e.font_size,o=se.CompositeFontSize(c.size,e.font_size||{unit:"pt",value:10},t),a.push(o.value.toFixed(2)+o.unit),a.push(c.font||""),i=c.variants)}else o=se.CompositeFontSize(s,e.font_size||{unit:"pt",value:10},t),a.push(o.value.toFixed(2)+o.unit),a.push(l||"");return{font:a.join(" "),variants:i,base:s,size:e.font_size,scale:t,stack_size:n,font_size:o}}};var ys="http://www.w3.org/2000/svg",ce=class s{static instances=[];static GetInstance(e){for(let r of this.instances)if(r.doc===e)return r;let t=new s(e);return this.instances.push(t),t}doc;view;get HTMLElement(){return this.view?.HTMLElement}constructor(e){e&&(this.doc=e,this.view=e?.defaultView)}GetSelection(){return this.view?.getSelection()}Div(e,t,r){return this.Create("div",e,t,r)}ClassNames(e,t){e.classList.add(...(Array.isArray(t)?t:[t]).reduce((r,i)=>[...r,...i.split(/\\s+/g)],[]))}SVG(e,t,r){let i=this.doc.createElementNS(ys,e);return t&&this.ClassNames(i,t),r&&r.appendChild(i),i}Text(e){return this.doc.createTextNode(e)}Fragment(){return this.doc.createDocumentFragment()}Create(e,t,r,i){let n=this.doc.createElement(e);if(t&&this.ClassNames(n,t),i){if(i.attrs)for(let[o,a]of Object.entries(i.attrs))n.setAttribute(o,a);if(i.data)for(let[o,a]of Object.entries(i.data))n.dataset[o]=a;if(i.text&&(n.textContent=i.text),i.html&&(n.innerHTML=i.html),i.events)for(let[o,a]of Object.entries(i.events))n.addEventListener(o,a);if(i.style)for(let[o,a]of Object.entries(i.style))n.style[o]=a}return r&&r.appendChild(n),n}};var ws=1e3,Ve=class{constructor(e=!1,t){this.verbose=e;this.log_id=t}queue=[];dispatched=!1;subscribers=[];Publish(e){this.verbose&&console.info(`es publish (${this.log_id})`,e),Array.isArray(e)?this.queue.push(...e):this.queue.push(e),this.dispatched||(this.dispatched=!0,Promise.resolve().then(()=>{let t=this.queue.slice(0);this.dispatched=!1,this.queue=[];for(let r of t)for(let i of this.subscribers)i.subscriber(r)}))}Subscribe(e){let t=ws++;return this.subscribers.push({subscriber:e,token:t}),t}Cancel(e){this.subscribers=this.subscribers.filter(t=>t.token!==e)}CancelAll(){this.subscribers=[]}};var Nr={spreadsheet_semantics:!0,dimensioned_quantities:!1,fractions:!0,decimal_mark:".",argument_separator:",",boolean_true:"TRUE",boolean_false:"FALSE"};var gt=/[\\s-+=<>!()]/;var Ht=34,Bt=39,xs=160,Mr=32,vs=9,Cs=10,As=13,Te=48,Qe=57,jt=46,Yt=43,qe=45,Fr=40,Jt=41,Ke=44,Ss=37,Xt=95,mt=36,Ts=123,Is=125,et=91,Pr=93,Rs=63,ks=33,zr=59,Qt=35,Es=64,We=65,tt=97,Ns=69,Ms=101,_t=90,bt=122,Fs=105,qt=192,Kt=382,er={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13},Ps={"@":50,"-":100,"+":100},zs=[...Object.keys(er),"@"].sort((s,e)=>e.length-s.length),Ze=class{get argument_separator(){return this.flags.argument_separator}get decimal_mark(){return this.flags.decimal_mark}flags={...Nr};r1c1_regex=/[rR]((?:\\[[-+]{0,1}\\d+\\]|\\d*))[cC]((?:\\[[-+]{0,1}\\d+\\]|\\d*))$/;argument_separator_char=Ke;decimal_mark_char=jt;imaginary_char=Fs;imaginary_number="i";id_counter=0;expression="";data=[];index=0;length=0;valid=!0;error_position;error;dependencies={addresses:{},ranges:{}};address_refcount={};full_reference_list=[];parser_state_cache=[];SetLocaleSettings(e,t){if(typeof t>"u"&&(t=e===","?";":","),t===e)throw new Error("invalid locale setting");this.flags.argument_separator=t,this.flags.decimal_mark=e}Save(){this.parser_state_cache.push(JSON.stringify(this.flags))}Restore(){let e=this.parser_state_cache.shift();if(e)try{this.flags=JSON.parse(e)}catch(t){console.error(t)}else console.warn("No parser state to restore")}Walk2(e,t){let r=t(e);if(typeof r=="object")return r;switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":break;case"dimensioned":r&&(e.expression=this.Walk2(e.expression,t),e.unit=this.Walk2(e.unit,t));break;case"range":t(e)&&(e.start=this.Walk2(e.start,t),e.end=this.Walk2(e.end,t));break;case"binary":t(e)&&(e.left=this.Walk2(e.left,t),e.right=this.Walk2(e.right,t));break;case"unary":t(e)&&(e.operand=this.Walk2(e.operand,t));break;case"group":t(e)&&(e.elements=e.elements.map(i=>this.Walk2(i,t)));break;case"implicit-call":t(e)&&(e.call=this.Walk2(e.call,t),e.args=e.args.map(i=>this.Walk2(i,t)));break;case"call":t(e)&&(e.args=e.args.map(i=>this.Walk2(i,t)));break}return e}Walk(e,t){switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":t(e);return;case"dimensioned":t(e)&&(this.Walk(e.expression,t),this.Walk(e.unit,t));return;case"range":t(e)&&(this.Walk(e.start,t),this.Walk(e.end,t));return;case"binary":t(e)&&(this.Walk(e.left,t),this.Walk(e.right,t));return;case"unary":t(e)&&this.Walk(e.operand,t);return;case"group":if(t(e))for(let r of e.elements)this.Walk(r,t);return;case"implicit-call":if(t(e)){this.Walk(e.call,t);for(let r of e.args)this.Walk(r,t)}return;case"call":if(t(e))for(let r of e.args)this.Walk(r,t)}}Transpose(e){let t=e.length,r=[],i=0;for(let n=0;n<t;n++)Array.isArray(e[n])&&(i=Math.max(i,e[n].length));for(let n=0;n<i;n++){r[n]=[];for(let o=0;o<t;o++)r[n][o]=e[o]?e[o][n]:void 0}return r}Render(e,t={}){let r=t.offset||{rows:0,columns:0},i=t.missing??"(missing)",{convert_decimal:n,convert_argument_separator:o,long_structured_references:a,table_name:l}=t,c=this.flags.argument_separator+" ";o===","?c=", ":o===";"&&(c="; ");let d=n===","?",":".",h=this.flags.decimal_mark===","?/,/:/\\./,f=this.flags.decimal_mark===","?/,/g:/\\./g;switch(e.type){case"address":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e,t):this.AddressLabel(e,r);case"range":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e.start,t)+":"+this.R1C1Label(e.end,t):this.AddressLabel(e.start,r)+":"+this.AddressLabel(e.end,r);case"missing":return i;case"array":return"{"+this.Transpose(e.values).map(u=>u.map(p=>typeof p=="string"?\'"\'+p+\'"\':p).join(", ")).join("; ")+"}";case"binary":return this.Render(e.left,t)+" "+e.operator+" "+this.Render(e.right,t);case"unary":return e.operator+this.Render(e.operand,t);case"complex":if(e.text)return n?e.text.replace(f,d):e.text;{let u=Math.abs(e.imaginary).toString();if((n===","||this.flags.decimal_mark===",")&&(u=u.replace(/\\./,",")),e.real){let p=e.real.toString();(n===","||this.flags.decimal_mark===",")&&(p=p.replace(/\\./,","));let y=Math.abs(e.imaginary);return`${p}${e.imaginary<0?" - ":" + "}${y===1?"":u}i`}else return e.imaginary===-1?"-i":e.imaginary===1?"i":`${e.imaginary<0?"-":""}${u}i`}break;case"literal":if(typeof e.value=="string")return\'"\'+e.value.replace(/"/g,\'""\')+\'"\';if(typeof e.value=="boolean")return e.value?t.boolean_true||this.flags.boolean_true||"true":t.boolean_false||this.flags.boolean_false||"false";if(n&&typeof e.value=="number")if(e.text){let u=e.text;return n===","&&this.flags.decimal_mark==="."&&(u=u.replace(/,/g,"")),u.replace(h,d)}else return e.value.toString().replace(/\\./,d);else if(e.text)return e.text;return e.value.toString();case"identifier":return e.name;case"operator":return"["+e.operator+"]";case"group":return e.explicit?"("+e.elements.map(u=>this.Render(u,t)).join(c)+")":e.elements.map(u=>this.Render(u,t)).join(c);case"implicit-call":return this.Render(e.call,t)+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"call":return e.name+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"dimensioned":return this.Render(e.expression)+" "+this.Render(e.unit);case"structured-reference":{let u=e.column;/[^A-Za-z]/.test(u)&&(u="["+u+"]");let p=e.table;switch(!p&&a&&l&&(p=l),e.scope){case"all":return`${p}[[#all],${u}]`;case"row":return a?`${p}[[#this row],${u}]`:`${p}[@${u}]`;case"column":return`${p}[${u}]`}throw new Error("unhandled scope in structured reference")}}return"??"}Parse(e){switch(e=e.trim(),e[0]==="="&&(e=e.substr(1).trim()),this.expression=e,this.data=[],this.length=e.length,this.index=0,this.valid=!0,this.error_position=void 0,this.error=void 0,this.dependencies.addresses={},this.dependencies.ranges={},this.address_refcount={},this.full_reference_list=[],this.id_counter=0,this.flags.argument_separator){case";":this.argument_separator_char=zr;break;default:this.argument_separator_char=Ke;break}switch(this.flags.decimal_mark){case",":this.decimal_mark_char=Ke;break;default:this.decimal_mark_char=jt;break}for(let i=0;i<this.length;i++)this.data[i]=e.charCodeAt(i);let t=this.ParseGeneric(),r={};for(let i of Object.keys(this.dependencies.addresses))this.address_refcount[i]&&(r[i]=this.dependencies.addresses[i]);return this.dependencies.addresses=r,{expression:t||void 0,valid:this.valid,error:this.error,error_position:this.error_position,dependencies:this.dependencies,separator:this.flags.argument_separator,decimal_mark:this.flags.decimal_mark,full_reference_list:this.full_reference_list.slice(0)}}ColumnLabel(e){if(e===1/0)return"";let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}R1C1Label(e,t){let r=!!t.r1c1_force_relative,i=t.r1c1_base,n="";e.sheet&&(n=(gt.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!");let o="",a="";if(r&&t.r1c1_proper_semantics&&i){if(e.absolute_row)o=(e.row+1).toString();else{let l=e.row-i.row;l&&(o=`[${l}]`)}if(e.absolute_column)a=(e.column+1).toString();else{let l=e.column-i.column;l&&(a=`[${l}]`)}}else if(r&&i){let l=e.row-i.row,c=e.column-i.column;l&&(o=`[${l}]`),c&&(a=`[${c}]`)}else o=e.offset_row?`[${e.row}]`:(e.row+1).toString(),a=e.offset_column?`[${e.column}]`:(e.column+1).toString();return n+=`R${o}C${a}`,n}AddressLabel(e,t){let r=e.column;!e.absolute_column&&e.column!==1/0&&(r+=t.columns);let i=e.row;if(!e.absolute_row&&e.row!==1/0&&(i+=t.rows),i<0||r<0||i===1/0&&r===1/0)return"#REF";let n="";return e.sheet&&(n=(gt.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!"),i===1/0?n+(e.absolute_column?"$":"")+this.ColumnLabel(r):r===1/0?n+(e.absolute_row?"$":"")+(i+1):n+(e.absolute_column?"$":"")+this.ColumnLabel(r)+(e.absolute_row?"$":"")+(i+1)+(e.spill?"#":"")}ParseGeneric(e=[0],t=!1){let r=[];for(;this.index<this.length;){let i=this.ParseNext(r.length===0);if(typeof i=="number"){if(e.some(n=>i===n))break;if(i===Fr){this.index++;let n=this.ParseGeneric([Jt],!0);this.index++,r.push({type:"group",id:this.id_counter++,elements:n?[n]:[],explicit:!0})}else{let n=this.ConsumeOperator();n?r.push(n):t&&i===this.argument_separator_char?(r.push({type:"group-separator",position:this.index,id:this.id_counter++}),this.index++):(this.error=`unexpected character [1]: ${String.fromCharCode(i)}, 0x${i.toString(16)}`,this.valid=!1,this.index++)}}else r.push(i)}if(r.length){if(r=this.BinaryToRange2(r),this.flags.fractions){let i=[],n=a=>a.type==="literal"&&typeof a.value=="number"&&a.value%1===0,o=0;for(;o<r.length-3;o++)if(n(r[o])&&n(r[o+1])&&r[o+2].type==="operator"&&r[o+2].operator==="/"&&n(r[o+3])){let a=r[o],l=r[o+1],c=r[o+3],d=(a.value<0?-1:1)*(l.value/c.value);o+=3,i.push({id:r[o].id,type:"literal",text:this.expression.substring(a.position,c.position+1),value:a.value+d,position:a.position})}else i.push(r[o]);for(;o<r.length;o++)i.push(r[o]);r=i}if(r=r.map(i=>i.type==="identifier"&&i.name===this.imaginary_number?{type:"complex",real:0,imaginary:1,position:i.position,text:i.name,id:this.id_counter++}:i),this.flags.dimensioned_quantities){let i=[],n;for(let o=0;o<r.length;o++){let a=r[o];if(!n)n=a;else if(a.type==="identifier"&&(n.type==="literal"||n.type==="group"||n.type==="call")){let l=a;for(;r[o+1]?.type==="identifier";)l.name+=" "+r[++o].name;i.push({type:"dimensioned",expression:n,unit:a,id:this.id_counter++}),n=void 0}else i.push(n),n=a}n&&i.push(n),r=i}}return r.length===0?null:r.length===1?r[0]:this.BinaryToComplex(this.ArrangeUnits(r))}UnitToAddress(e){if(e.type==="literal"){if(typeof e.value=="number"&&e.value>0&&!/\\./.test(e.text||""))return{type:"address",position:e.position,label:e.value.toString(),row:e.value-1,id:this.id_counter++,column:1/0}}else{let t,r=e.name,i=r.split("!");if(i.length>1&&(t=i.slice(0,i.length-1).join("!"),r=r.substr(t.length+1),t[0]==="\'"))if(t.length>1&&t[t.length-1]==="\'")t=t.substr(1,t.length-2);else return;let n=r[0]==="$";r=(n?r.substr(1):r).toUpperCase();let o=Number(r);if(isNaN(o)){if(/[A-Z]{1,3}/.test(r)){let a=-1;for(let l=0;l<r.length;l++){let c=r[l].charCodeAt(0);a=26*(1+a)+(c-We)}return{type:"address",position:e.position,absolute_column:n,label:e.name,column:a,id:this.id_counter++,row:1/0,sheet:t}}}else if(o>0&&o!==1/0&&!/\\./.test(r))return{type:"address",position:e.position,absolute_row:n,label:e.name,row:o-1,id:this.id_counter++,column:1/0,sheet:t}}}BinaryToRange2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=e[r+1],o=e[r+2],a,l="",c;if(i&&n&&o&&n.type==="operator"&&n.operator===":"){if(i.type==="address"&&o.type==="address"){let d=i.position+i.label.length,h=o.position;a={type:"range",id:this.id_counter++,position:i.position,start:i,end:o,label:i.label+this.expression.substring(d,h)+o.label},l=a.start.label+":"+a.end.label,this.address_refcount[a.start.label]--,this.address_refcount[a.end.label]--;let f=[i.position,o.position];this.full_reference_list=this.full_reference_list.filter(u=>u.position!==f[0]&&u.position!==f[1])}else if((i.type==="literal"||i.type==="identifier")&&(o.type==="literal"||o.type==="identifier")){let d=this.UnitToAddress(i);if(!d&&i.type==="literal"&&typeof i.value=="number"&&i.value<0){let f={...i,text:(i.text||"").replace(/^-/,""),position:i.position+1,value:-i.value};d=this.UnitToAddress(f),d&&(c={type:"operator",operator:"-",position:i.position,id:this.id_counter++})}let h=this.UnitToAddress(o);d&&h&&(d.column===1/0&&h.column===1/0||d.row===1/0&&h.row===1/0)&&(l=d.label+":"+h.label,a={type:"range",id:this.id_counter++,position:d.position,start:d,end:h,label:l})}}a?(c&&t.push(c),t.push(a),this.dependencies.ranges[l]=a,this.full_reference_list.push(a),r+=2):t.push(i)}return t}BinaryToComplex(e){if(e.type==="binary")if((e.operator==="+"||e.operator==="-")&&e.left.type==="literal"&&typeof e.left.value=="number"&&e.right.type==="complex"&&!e.right.composited){let t="";t=this.expression.substring(e.left.position,e.right.position+(e.right.text?.length||0));let r=e.right.imaginary;return e.operator==="-"&&(r=-r),{type:"complex",position:e.left.position,text:t,id:this.id_counter++,imaginary:r,real:e.left.value,composited:!0}}else e.left=this.BinaryToComplex(e.left),e.right=this.BinaryToComplex(e.right);else if(e.type==="unary"&&(e.operator==="-"||e.operator==="+")&&e.operand.type==="complex"&&e.operand.text===this.imaginary_number)return{...e.operand,position:e.position,text:this.expression.substring(e.position,e.operand.position+(e.operand.text||"").length),imaginary:e.operand.imaginary*(e.operator==="-"?-1:1)};return e}ArrangeUnits(e){if(e.length===0)return{type:"missing",id:this.id_counter++};if(e.length===1)return e[0];let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.type!=="group-separator"){if(i.type==="operator")if(t.length===0||t[t.length-1].type==="operator")if(Ps[i.operator]){let n=this.BinaryToComplex(this.ArrangeUnits(e.slice(r+1)));if(!this.valid)return{type:"group",id:this.id_counter++,elements:e,explicit:!1};n.type==="binary"?(n.left={type:"unary",id:this.id_counter++,operator:i.operator,operand:n.left,position:i.position},i=n):i={type:"unary",id:this.id_counter++,operator:i.operator,operand:n,position:i.position},r=e.length}else return this.error=`unexpected character [2]: ${i.operator}`,this.error_position=i.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1};else{t.push(i);continue}if(t.length<2){if(t.length===1){let n=t[0].type;if(i.type==="group"&&i.explicit&&(n==="address"||n==="call"||n==="identifier"||n==="implicit-call")){let o=i.elements;o.length===1&&o[0].type==="group"&&!o[0].explicit&&(o=o[0].elements),t[0]={type:"implicit-call",call:t[0],args:o,id:this.id_counter++,position:t[0].position};continue}}t.push(i)}else if(t[t.length-1].type==="operator"){let n=t[t.length-2],o=t[t.length-1],a=o.operator,l={type:"binary",id:this.id_counter++,left:n,operator:a,position:o.position,right:i};n.type==="binary"&&er[a]>er[n.operator]&&(l.left=n.left,l.operator=n.operator,l.position=n.position,l.right={type:"binary",id:this.id_counter++,left:n.right,right:i,operator:a,position:o.position}),t.splice(-2,2,l)}else t.push(i)}}return t.length>1?{type:"group",id:this.id_counter++,elements:t,explicit:!1}:t[0]}ParseNext(e=!0){this.ConsumeWhiteSpace();let t=this.data[this.index];if(t===Ht)return{type:"literal",id:this.id_counter++,position:this.index,value:this.ConsumeString()};if(t>=Te&&t<=Qe||t===this.decimal_mark_char)return this.ConsumeNumber();if(t===Ts)return this.ConsumeArray();if(e&&(t===qe||t===Yt)){let r=this.data[this.index+1];if(r>=Te&&r<=Qe||r===this.decimal_mark_char)return this.ConsumeNumber()}else if(t>=We&&t<=_t||t>=tt&&t<=bt||t===Xt||t===Qt||t===Bt||t===mt||t===et||t>=qt&&t<=Kt)return this.ConsumeToken(t);return t}ConsumeArray(){let e={type:"array",id:this.id_counter++,values:[],position:this.index};this.index++;let t=0,r=0;for(;this.index<this.length;){let i=this.ParseNext(),n=this.index;if(typeof i=="number")switch(this.index++,i){case zr:r++,t=0;break;case Ke:t++;break;case Is:return e;default:this.valid&&(this.error="invalid character in array literal",this.error_position=n,this.valid=!1);break}else switch(i.type){case"literal":e.values[t]||(e.values[t]=[]),e.values[t][r]=i.value;break;default:this.valid&&(this.error="invalid value in array literal",this.error_position=n,this.valid=!1);break}}return e}ConsumeOperator(){for(let e of zs)if(this.expression.substr(this.index,e.length)===e){let t=this.index;return this.index+=e.length,{type:"operator",id:this.id_counter++,operator:e,position:t}}return null}ConsumeArguments(){this.index++;let e=0,t=[];for(;this.index<this.length;){let r=this.ParseGeneric([this.argument_separator_char,Jt]);r!==null&&t.push(r);let i=this.data[this.index];if(i===this.argument_separator_char){this.index++,e++;for(let n=t.length;n<e;n++)t.push({type:"missing",id:this.id_counter++})}else if(i===Jt)return this.index++,t}return t}ConsumeToken(e){let t=[e],r=this.index,i=e===Bt,n=0,o=!1;for(e===et&&(n=1,o=!0),++this.index;this.index<this.length;this.index++){let h=this.data[this.index];if(h>=We&&h<=_t||h>=tt&&h<=bt||h>=qt&&h<=Kt||h===Xt||h===mt||h===jt||h===ks||i||h>=Te&&h<=Qe||h===et||n>0&&h===Pr||h===qe&&this.flags.r1c1&&n===1||n>0&&h===Es&&this.data[this.index-1]===et||n===1&&(h===Ke||h===Mr)||n>1||h===Rs&&n===0)t.push(h),h===et&&(n++,o=!0),h===Pr&&n--,h===Bt&&(i=!1);else break}this.data[this.index]===Qt&&t.push(this.data[this.index++]);let a=t.map(h=>String.fromCharCode(h)).join("");if(i)return this.error="unbalanced single quote",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(n)return this.error="unbalanced square bracket",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(this.ConsumeWhiteSpace(),this.flags.spreadsheet_semantics){let h=this.ConsumeAddress(a,r);if(h)return h}if(this.data[this.index]===Fr){let h=this.ConsumeArguments();return{type:"call",id:this.id_counter++,name:a,args:h,position:r,end:this.index}}if(this.flags.spreadsheet_semantics&&o){let h=this.ConsumeStructuredReference(a,r);if(h)return h}let c=a.toLowerCase();if(c==="true"||this.flags.boolean_true&&c===this.flags.boolean_true.toLowerCase())return{type:"literal",id:this.id_counter++,value:!0,position:r};if(c==="false"||this.flags.boolean_false&&c===this.flags.boolean_false.toLowerCase())return{type:"literal",id:this.id_counter++,value:!1,position:r};let d={type:"identifier",id:this.id_counter++,name:a,position:r};return this.full_reference_list.push(d),d}ConsumeStructuredReference(e,t){let r=e.length,i=e,n="",o=0;for(;o<r;o++){if(e[o]==="["){e=e.substring(o);break}n+=e[o]}if(e[0]!=="["||e[e.length-1]!=="]")return;e=e.substring(1,e.length-1);let a=e.split(",").map(h=>h.trim()),l="column",c="";if(a.length>2)return;a.length===2?(/\\[#this row\\]/i.test(a[0])?l="row":/\\[#all\\]/i.test(a[0])&&(l="all"),c=a[1]):(c=a[0],c[0]==="@"&&(l="row",c=c.substring(1,c.length))),c[0]==="["&&c[c.length-1]==="]"&&(c=c.substring(1,c.length-1));let d={type:"structured-reference",id:this.id_counter++,label:i,position:t,scope:l,column:c,table:n};return this.full_reference_list.push(d),d}ConsumeAddress(e,t){let r=t,i=e.length,n,o=e.split("!");if(o.length>1&&(n=o.slice(0,o.length-1).join("!"),t+=n.length+1),this.flags.r1c1){let h=o[o.length-1].match(this.r1c1_regex);if(h){let f={type:"address",id:this.id_counter++,label:e,row:0,column:0,position:r,sheet:n,r1c1:!0};return h[1][0]==="["?(f.offset_row=!0,f.row=Number(h[1].substring(1,h[1].length-1))):h[1]?(f.row=Number(h[1])-1,this.flags.r1c1_proper_semantics&&(f.absolute_row=!0)):(f.offset_row=!0,f.row=0),h[2][0]==="["?(f.offset_column=!0,f.column=Number(h[2].substring(1,h[2].length-1))):h[2]?(f.column=Number(h[2])-1,this.flags.r1c1_proper_semantics&&(f.absolute_column=!0)):(f.offset_column=!0,f.column=0),f}}let a=this.ConsumeAddressColumn(t);if(!a)return null;t=a.position;let l=this.ConsumeAddressRow(t);if(!l||(t=l.position,a.column===8508&&l.row===9))return null;let c=n?n+e.substr(n.length,t-r).toUpperCase():e.substr(0,t-r).toUpperCase();n&&n[0]==="\'"&&(n=n.substr(1,n.length-2));let d={type:"address",id:this.id_counter++,label:c,row:l.row,column:a.column,absolute_row:l.absolute,absolute_column:a.absolute,position:r,sheet:n,spill:l.spill};return i!==t-r?null:(this.dependencies.addresses[d.label]=d,this.address_refcount[d.label]=(this.address_refcount[d.label]||0)+1,this.full_reference_list.push(d),d)}ConsumeAddressRow(e){let t=this.data[e]===mt;t&&e++;let r=e,i=0;for(;;e++){let o=this.data[e];if(o>=Te&&o<=Qe)i*=10,i+=o-Te;else break}if(r===e||i===0)return!1;let n=!1;return this.data[e]===Qt&&(e++,n=!0),{absolute:t,row:i-1,position:e,spill:n}}ConsumeAddressColumn(e){let t=-1,r=0,i=this.data[e]===mt;for(i&&e++;;e++,r++){if(r>=4)return!1;let n=this.data[e];if(n>=We&&n<=_t)t=26*(1+t)+(n-We);else if(n>=tt&&n<=bt)t=26*(1+t)+(n-tt);else break}return t<0?!1:{absolute:i,column:t,position:e}}ConsumeNumber(){let e=this.index,t=0,r=!1,i=!1,n=0,o=0,a=0,l="integer",c=0,d=!1,h=this.index;for(;this.index<this.length;this.index++,c++){let u=this.data[this.index];if(u===this.decimal_mark_char)if(l==="integer")l="fraction";else break;else if(u===Ss){n/=100,a/=100,this.index++;break}else if(u===Yt||u===qe)if(c===0)u===qe&&(i=!0);else break;else if(u===Ns||u===Ms)if(l==="integer"||l==="fraction")l="exponent",this.index<this.length-1&&(this.data[this.index+1]===Yt?this.index++:this.data[this.index+1]===qe&&(this.index++,r=!0));else break;else if(u===this.imaginary_char){let p=this.data[this.index+1];if(p>=We&&p<=_t||p>=tt&&p<=bt||p>=qt&&p<=Kt||p===Xt)break;if(l==="integer"||l==="fraction"){this.index++,d=!0;break}}else if(u>=Te&&u<=Qe)switch(l){case"integer":n=n*10+(u-Te);break;case"fraction":a=a*10+(u-Te),o++;break;case"exponent":t=t*10+(u-Te);break}else break}let f=n+a/Math.pow(10,o);return l==="exponent"&&(f=f*Math.pow(10,(r?-1:1)*t)),d?{type:"complex",id:this.id_counter++,position:e,imaginary:i?-f:f,real:0,text:this.expression.substring(h,this.index)||""}:{type:"literal",id:this.id_counter++,position:e,value:i?-f:f,text:this.expression.substring(h,this.index)||""}}ConsumeString(){this.index++;let e=[];for(;this.index<this.length;this.index++){let t=this.data[this.index];if(t===Ht&&(this.index++,this.index>=this.length||this.data[this.index]!==Ht))break;e.push(t)}return e.map(t=>String.fromCharCode(t)).join("")}ConsumeWhiteSpace(){for(;this.index<this.length;){let e=this.data[this.index];if(e===Mr||e===vs||e===Cs||e===As||e===xs)this.index++;else return}}};var wt=class s{static _instance=new s;constructor(){}static get instance(){return this._instance}HTML(e,t={}){t={br:!0,...t};let r=[];for(let i of e){let n=[];for(let o of i)o.pre&&n.push("<pre>"),o.emphasis&&n.push("<em>"),o.strong&&n.push("<strong>"),o.strike&&n.push("<strike>"),n.push(o.text),o.strike&&n.push("</strike>"),o.strong&&n.push("</strong>"),o.emphasis&&n.push("</em>"),o.pre&&n.push("</pre>");r.push(n.join(""))}return r.join(t.br?`<br/>\n`:`\n`)}Dummy(e=""){return e.split(/\\n/).map(t=>[{text:t}])}Parse(e=""){let t=this.Tokenize(e);for(let r=0;r<t.length;r++){let i=t[r];if(i.type==="delimeter"){let n=t[r-1],o=t[r+1],a=!n||n.type==="whitespace"||n.type==="newline",l=n&&n.type==="text"&&/[^\\w\\d]$/.test(n.text),c=!o||o.type==="whitespace"||o.type==="newline",d=o&&o.type==="text"&&/^[^\\w\\d]/.test(o.text);i.left_flanking=!c&&(!d||a),i.right_flanking=!a&&(!l||c||d)}}return this.ApplyFormatting(t),this.Consolidate(t)}IsWhitespace(e){return e===" "||e===" "}IsNewline(e){return e==="\\r"||e===`\n`}IsDelimeter(e){return e==="*"||e==="_"||e==="~"}Consolidate(e){let t=[],r={},i=[],n={type:"text",text:""};for(let o of e)if(o.type==="newline")n.text.length&&i.push(n),n={...r,text:"",type:"text"},t.push(i),i=[];else switch((!!r.strong!=!!o.strong||!!r.emphasis!=!!o.emphasis||!!r.strike!=!!o.strike)&&(r.strong=!!o.strong,r.emphasis=!!o.emphasis,r.strike=!!o.strike,n.text.length&&i.push(n),n={...r,text:"",type:"text"}),o.type){case"text":case"whitespace":n.text+=o.text;break;case"delimeter":for(let a=0;a<o.length;a++)n.text+=o.char;break}return n.text.length&&i.push(n),i.length&&t.push(i),t}ApplyFormatting(e,t){let r=0,i=e.length;for(r=0;r<i;r++){let n=e[r];if(n.type==="delimeter"){if(t&&n.right_flanking&&t.char===n.char&&n.length>0)return{index:r,token:n};if(n.left_flanking){let o=this.ApplyFormatting(e.slice(r+1),n);if(o.token){let a=Math.min(o.token.length,n.length),l=n.char==="~",c=!l&&!!(a%2),d=!l&&a>=2;for(let h=r+1;h<=r+o.index;h++)e[h].strong=!!e[h].strong||d,e[h].emphasis=!!e[h].emphasis||c,e[h].strike=!!e[h].strike||l;o.token.length-=a,n.length-=a,n.length>0?r--:r+=o.index}}}}return{index:r}}Tokenize(e=""){let t=[],r=e.length,i=0,n=!1,o="";for(i=0;i<r;i++){let a=e[i];if(this.IsWhitespace(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let c=e[i+1];if(this.IsWhitespace(c))l+=c,i++;else break}t.push({type:"whitespace",text:l}),n=!1,o=""}else if(this.IsNewline(a)){o&&t.push({type:"text",text:o}),t.push({type:"newline",text:a});let l="";for(;;){let c=e[i+1];if(this.IsNewline(c))l+=c,i++;else break}l.length&&t.push({type:"newline",text:l}),n=!1,o=""}else if(n)o+=a,n=!1;else if(this.IsDelimeter(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let c=e[i+1];if(c===a)l+=c,i++;else break}t.push({type:"delimeter",text:l,char:a,length:l.length}),n=!1,o=""}else a==="\\\\"?n=!0:o+=a}return o&&t.push({type:"text",text:o}),t}};var Ie=class{date_format=!1;string_format=!1;fraction_format=!1;twelve_hour=!1;fraction_denominator=0;fraction_integer=!0;fraction_align=0;fraction_denominator_digits=0;integer_min_digits=0;decimal_min_digits=0;decimal_max_digits=0;grouping=!1;has_number_format=!1;prefix=[{text:""}];suffix=[{text:""}];scaling=0;percent=!1;exponential=!1;has_asterisk=!1};var Dr=42,Gr=95,tr=63,xt=48,Ur=46,rr=44,$r=37,ir=34,rt=35,Vr=59,vt=92,Zr=64,Ls=91,Ds=93,Or=69,Wr=101,Gs=72,Us=104,$s=77,Vs=109,Zs=83,Os=115,Ws=68,Hs=100,Bs=89,js=121,Ys=65,Js=97;var Ct=class{static date_pattern=!1;static pattern="";static char_index=0;static characters=[];static sections=[];static current_section=new Ie;static preserve_formatting_characters=!1;static decimal_mark=Ur;static group_separator=rr;static Parse(e){if(this.pattern=e,this.characters=e.split("").map(t=>t.charCodeAt(0)),this.char_index=0,this.current_section=new Ie,this.sections=[this.current_section],this.ParseDatePattern())return this.sections;for(this.char_index=0,this.current_section=new Ie,this.sections=[this.current_section];this.char_index<this.characters.length;)this.ConsumeChar();return this.sections}static ConsumeString(){let e="";for(this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case vt:this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index+1<this.characters.length&&(e+=this.pattern[++this.char_index]);break;case ir:return this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated string")}static ConsumeFormatting(){let e="";for(++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case vt:throw new Error("invalid escape character in formatting block");case Ds:return this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated format")}static ScanFractionFormat(){let e=/^([#?]+ +){0,1}([#?]+)\\/([#?0-9]+)(?:$|[^#?0-9])/,r=this.pattern.substr(this.char_index).match(e);if(!r)return!1;let i=(r[1]||"").length+r[2].length+r[3].length+1;this.current_section.fraction_format=!0,this.current_section.fraction_integer=!!r[1];let n=Number(r[3]);return isNaN(n)||(this.current_section.fraction_denominator=n),this.current_section.decimal_max_digits=this.current_section.fraction_denominator_digits=r[3].length,this.char_index+=i,this.current_section.has_number_format=!0,!0}static ConsumeNumberFormat(){let e=0;for(this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case this.group_separator:{let r=!1;for(let i=this.char_index+1;!r&&i<this.characters.length;i++){let n=this.characters[i];if(n===this.decimal_mark||n===rt||n===xt)r=!0;else if(n!==rr)break}if(r){if(e===1)throw new Error("invalid grouping in decimal part");this.current_section.grouping=!0}else this.current_section.scaling=(this.current_section.scaling||1)*1e3}break;case this.decimal_mark:if(e===1)throw new Error("too many decimal marks");e=1;break;case rt:e===1?this.current_section.decimal_max_digits++:this.current_section.integer_min_digits&&this.current_section.integer_min_digits++;break;case xt:e===1?(this.current_section.decimal_max_digits++,this.current_section.decimal_min_digits=this.current_section.decimal_max_digits):this.current_section.integer_min_digits++;break;default:return}}static AppendCharAsText(e=!0){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=this.pattern[this.char_index]:this.current_section.prefix[this.current_section.prefix.length-1].text+=this.pattern[this.char_index],e&&this.char_index++}static AppendString(e){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=e:this.current_section.prefix[this.current_section.prefix.length-1].text+=e}static AppendTextPart(e){this.current_section.has_number_format?(this.current_section.suffix.push(e),this.current_section.suffix.push({text:""})):(this.current_section.prefix.push(e),this.current_section.prefix.push({text:""}))}static ConsumeChar(){let e=this.characters[this.char_index];if(!((e===tr||e===rt)&&!this.current_section.has_number_format&&!this.current_section.string_format&&this.ScanFractionFormat()))switch(e){case Vr:this.char_index++,this.current_section=new Ie,this.sections.length===3&&(this.current_section.string_format=!0),this.sections.push(this.current_section);break;case Zr:this.char_index++,this.AppendTextPart({text:"@",flag:5}),this.current_section.string_format=!0;break;case xt:case rt:case Ur:case rr:!this.current_section.has_number_format&&!this.current_section.string_format?(this.ConsumeNumberFormat(),this.current_section.has_number_format=!0):this.AppendCharAsText();break;case Ls:this.AppendTextPart({text:this.ConsumeFormatting(),flag:6});break;case ir:this.AppendString(this.ConsumeString());break;case tr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Gr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Dr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Wr:case Or:this.current_section.percent||this.current_section.exponential||this.current_section.string_format?this.AppendCharAsText():(this.current_section.exponential=!0,this.char_index++);break;case $r:!this.current_section.exponential&&!this.current_section.string_format&&(this.current_section.percent=!0),this.AppendCharAsText();break;case vt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}static ParseDatePattern(){for(this.date_pattern=!0;this.date_pattern&&this.char_index<this.pattern.length;)this.DatePatternConsumeChar();if(this.date_pattern){this.date_pattern=!1;for(let e of this.sections)for(let t of e.prefix)t.flag&&t.flag&7&&(this.date_pattern=!0)}return this.date_pattern&&(this.sections[0].date_format=!0,this.sections[0].prefix.forEach((e,t)=>{if(e.flag===3&&(e.text==="mm"||e.text==="m")){if(t)for(let r=t-1;r;r--){let i=this.sections[0].prefix[r];if(i.flag===3){/h/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}if(t<this.sections[0].prefix.length-1)for(let r=t+1;r<this.sections[0].prefix.length;r++){let i=this.sections[0].prefix[r];if(i.flag===3){/s/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}}})),this.date_pattern}static ConsumeDatePart(){let e=this.pattern[this.char_index++],t=e.toLowerCase(),r={text:e,flag:3};for(;this.pattern[this.char_index]&&this.pattern[this.char_index].toLowerCase()===t;)r.text+=this.pattern[this.char_index++];if(t==="s"&&this.pattern[this.char_index]===".")for(r.text+=this.pattern[this.char_index++];this.pattern[this.char_index]==="0";)r.text+=this.pattern[this.char_index++];return r}static ConsumeAMPM(){let e=this.pattern.substr(this.char_index,5);if(e==="am/pm"||e==="AM/PM")return this.char_index+=5,this.sections[0].twelve_hour=!0,{text:e,flag:3};if(e=this.pattern.substr(this.char_index,3),e==="a/p"||e==="A/P")return this.char_index+=3,this.sections[0].twelve_hour=!0,{text:e,flag:3}}static DatePatternConsumeChar(){switch(this.characters[this.char_index]){case Vr:this.char_index=this.characters.length;break;case xt:case rt:case Wr:case Or:case $r:case Zr:this.date_pattern=!1;break;case Gs:case Us:case $s:case Vs:case Zs:case Os:case Ws:case Hs:case Bs:case js:this.AppendTextPart(this.ConsumeDatePart());break;case Ys:case Js:{let t=this.ConsumeAMPM();t?this.AppendTextPart(t):this.AppendCharAsText()}break;case ir:this.AppendString(this.ConsumeString());break;case tr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Gr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Dr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case vt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}};var Hr=s=>(s>=60&&s--,new Date(-22090752e5+864e5*s)),Br=(s,e=!0)=>{if(e){let t=new Date(s);s=new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).getTime()}return s=(s+22090752e5)/864e5,s>=60&&s++,s},Me=class s{static grouping_regexp=/\\d{1,3}(?=(\\d{3})+(?!\\d))/g;static fraction_limits=[9,99,999,9999];static imaginary_character="\\u{1D456}";static minus_character="-";magic_decimal=!1;transform_value;_pattern="";sections;decimal_zero_regexp=[];cloned=[];get pattern(){return this._pattern}get date_format(){return this.sections[0]&&this.sections[0].date_format}constructor(e){if(this._pattern=e,this.sections=Ct.Parse(e),this.sections.length||(this.sections=[]),this.sections[0]||(this.sections[0]=new Ie),this.sections[1]||(this.sections[1]={...this.sections[0]},this.sections[1].prefix=JSON.parse(JSON.stringify(this.sections[1].prefix)),this.sections[1].suffix=JSON.parse(JSON.stringify(this.sections[1].suffix)),this.sections[1].prefix.push({text:"-"}),this.cloned[1]=!0),this.sections[2]||(this.sections[2]={...this.sections[0]},this.cloned[2]=!0),!this.sections[3]){for(let t of this.sections[0].prefix)if(t.flag===5){this.sections[3]={...this.sections[0]},this.sections[3].string_format=!0,this.cloned[3]=!0;break}}this.decimal_zero_regexp=this.sections.map(t=>{if(t.decimal_max_digits>t.decimal_min_digits)return new RegExp(`0{1,${t.decimal_max_digits-t.decimal_min_digits}}(?:$|e)`)})}static FormatPartsAsText(e,t=0){let r=-1,i=e.map((n,o)=>{switch(n.flag){case 2:return r=o,n.text;case 1:return n.text.replace(/./g," ");case 6:return"";default:return n.text}});if(r>=0&&t){let n=i.reduce((a,l,c)=>c===r?a:a+l.length,0),o="";for(let a=0;a<t-n;a++)o+=i[r];i[r]=o}return i.join("")}SetDecimal(e){for(let t of this.sections)t.fraction_format||(t.decimal_min_digits=e,t.decimal_max_digits=e)}IncreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.min(e.fraction_denominator_digits+1,4)):(e.decimal_min_digits++,e.decimal_max_digits=e.decimal_min_digits)})}DecreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.max(e.fraction_denominator_digits-1,1)):(e.decimal_min_digits=Math.max(0,e.decimal_min_digits-1),e.decimal_max_digits=e.decimal_min_digits)})}AddGrouping(){this.sections.forEach(e=>{e.grouping=!0})}RemoveGrouping(){this.sections.forEach(e=>{e.grouping=!1})}ToggleGrouping(){let e=!this.sections[0].grouping;this.sections.forEach(t=>{t.grouping=e})}toString(){return this.sections[0].date_format?this._pattern:this.sections.filter((e,t)=>!this.cloned[t]).map(e=>{let t="",r=0;if(e.fraction_format){e.fraction_integer&&(t+="? ");let i="";for(let n=0;n<e.fraction_denominator_digits;n++)i+="#";t+=i,t+="/",e.fraction_denominator?t+=e.fraction_denominator:t+=i}else if(e.has_number_format){for(r=0;r<e.integer_min_digits;r++)t+="0";if(e.grouping&&(t.length<4&&(t=("####"+t).slice(-4)),t=t.replace(/[\\d#]{1,3}(?=([\\d#]{3})+(?![\\d#]))/g,"$&,")),e.decimal_max_digits||e.decimal_min_digits){for(t+=".",r=0;r<e.decimal_min_digits;r++)t+="0";for(;r<e.decimal_max_digits;r++)t+="#"}if(e.scaling){let i=Math.log10(e.scaling)/3;for(r=0;r<i;r++)t+=","}e.exponential&&(t+="e")}return e.prefix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.flag===6?"["+i.text+"]":i.text).join("")+t+e.suffix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.text).join("")}).join(";")}FormatDimensionedQuantity(e){if(this.transform_value){let r=this.transform_value(e);if(Ot(r))e=r;else return typeof r=="string"?r:this.FormatParts(r)}let t=this.FormatParts(e.value||0);return e.unit&&t.push({text:" "},{text:e.unit}),t}FormatComplex(e){if(e.imaginary===1/0||e.imaginary===-1/0||e.real===1/0||e.real===-1/0)return[{text:"Infinity"}];let t=[],r=[],i=!1,n=!!e.imaginary;n&&(t=this.FormatParts(e.imaginary),n=t.some(l=>/[1-9]/.test(l.text)),t.length===1&&this.sections[0].integer_min_digits<=1&&t[0].text==="1"?(t[0].text="",i=!0):t.length===1&&this.sections[1].integer_min_digits<=1&&t[0].text==="-1"&&(t[0].text="-",i=!0));let o=!!e.real;o&&(r=this.FormatParts(e.real),o=r.some(l=>/[1-9]/.test(l.text)));let a=[];if(o||!o&&!n){if(a.push(...r),n){a.push({text:e.imaginary<0?` ${s.minus_character} `:" + "});let l=i?[]:this.FormatParts(Math.abs(e.imaginary));a.push(...l,{text:s.imaginary_character})}}else n&&a.push(...t,{text:s.imaginary_character});return a}FormatParts(e){if(typeof e!="number"&&!this.sections[3])return[{text:(e??"").toString()}];let{parts:t,section:r}=this.BaseFormat(e),i=[];if(r.date_format||r.string_format)for(let n of t)typeof n=="string"?i.push({text:n}):i.push(n);else this.magic_decimal&&t[1]===""&&t.splice(1,1),i=[...r.prefix.map(n=>({...n})),{text:r.has_number_format?t.join(O.decimal_separator):""},...r.suffix.map(n=>({...n}))];for(let n=1;n<i.length;n++)i[n].flag===i[n-1].flag&&(i[n].text=i[n-1].text+i[n].text,i[n-1].text="");return i.filter(n=>n.text)}Format(e,t=0){return s.FormatPartsAsText(this.FormatParts(e),t)}ZeroPad(e,t){for(;e.length<t;)e="0"+e;return e}DateFormat(e){let t=Hr(e),r=this.sections[0],i=t.getUTCHours();return r.twelve_hour&&(i>12&&(i-=12),i===0&&(i=12)),{parts:r.prefix.map(o=>{if(o.flag===4)return o.text==="mm"?{text:this.ZeroPad(t.getUTCMinutes().toString(),2)}:{text:this.ZeroPad(t.getUTCMinutes().toString(),1)};if(o.flag===3){switch(o.text.toLowerCase()){case"am/pm":case"a/p":{let l=o.text.split("/");return{text:t.getUTCHours()>12?l[1]:l[0]}}case"mmmmm":return{text:O.date_components.long_months[t.getUTCMonth()][0]};case"mmmm":return o.text==="MMMM"?{text:O.date_components.long_months[t.getUTCMonth()].toUpperCase()}:{text:O.date_components.long_months[t.getUTCMonth()]};case"mmm":return o.text==="MMM"?{text:O.date_components.short_months[t.getUTCMonth()].toUpperCase()}:{text:O.date_components.short_months[t.getUTCMonth()]};case"mm":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),2)};case"m":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),1)};case"ddddd":case"dddd":return o.text==="DDDDD"||o.text==="DDDD"?{text:O.date_components.long_days[t.getUTCDay()].toUpperCase()}:{text:O.date_components.long_days[t.getUTCDay()]};case"ddd":return o.text==="DDD"?{text:O.date_components.short_days[t.getUTCDay()].toUpperCase()}:{text:O.date_components.short_days[t.getUTCDay()]};case"dd":return{text:this.ZeroPad(t.getUTCDate().toString(),2)};case"d":return{text:this.ZeroPad(t.getUTCDate().toString(),1)};case"yyyy":case"yyy":return{text:t.getUTCFullYear().toString()};case"yy":case"y":return{text:this.ZeroPad((t.getUTCFullYear()%100).toString(),2)};case"hh":return{text:this.ZeroPad(i.toString(),2)};case"h":return{text:this.ZeroPad(i.toString(),1)};case"ss":return{text:this.ZeroPad(t.getUTCSeconds().toString(),2)};case"s":return{text:this.ZeroPad(t.getUTCSeconds().toString(),1)}}let a=o.text.match(/^(s+)\\.(0+)$/);if(a)return{text:this.ZeroPad(t.getUTCSeconds().toString(),a[1].length)+O.decimal_separator+(t.getUTCMilliseconds()/1e3).toFixed(a[2].length).substr(2)}}return{...o}}),section:r}}StringFormat(e,t){let r=[];for(let i of t.prefix)i.flag===5?r.push({text:e}):r.push({...i});return{parts:r,section:t}}Round2(e,t){let r=Math.pow(10,t);return Math.round(r*e)/r}FormatFraction(e,t){t.percent&&(e*=100);let r={denominator:1,numerator:Math.round(e),error:Math.abs(Math.round(e)-e)};if(t.fraction_denominator)r.denominator=t.fraction_denominator,r.numerator=Math.round(e*r.denominator);else if(r.error){let n=s.fraction_limits[t.fraction_denominator_digits-1]||s.fraction_limits[0];for(let o=2;o<=n;o++){let a=Math.round(e*o),l=Math.abs(a/o-e);if(l<r.error&&(r={numerator:a,denominator:o,error:l},!l))break}}let i=[];if(t.fraction_integer){let n=Math.floor(r.numerator/r.denominator);r.numerator%=r.denominator,(n||!r.numerator)&&(i.push(n.toString()),r.numerator&&i.push(" "))}else r.numerator||i.push("0");return r.numerator&&(i.push(r.numerator.toString()),i.push("/"),i.push(r.denominator.toString())),i.join("")}BaseFormat(e){if(this.sections[0].date_format)return this.DateFormat(Number(e));if(typeof e!="number")return this.StringFormat((e??"").toString(),this.sections[3]);let t=this.sections[0],r=this.decimal_zero_regexp[0];e<0&&(t=this.sections[1]);let i=t.percent?t.decimal_max_digits+2:t.decimal_max_digits,n=Math.pow(10,-i)/2,o=Math.abs(e);if(o<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2]),t.scaling&&(o/=t.scaling,o<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2])),t.string_format)return this.StringFormat(e.toString(),t);let a="";if(t.fraction_format)return{parts:[this.FormatFraction(o,t)],section:t};t.exponential?a=o.toExponential(t.decimal_max_digits):(t.percent&&(o*=100),a=this.Round2(o,t.decimal_max_digits).toFixed(t.decimal_max_digits)),r&&(a=a.replace(r,""));let l=a.split(".");for(;l[0].length<t.integer_min_digits;)l[0]=("0000000000000000"+l[0]).slice(-t.integer_min_digits);return t.integer_min_digits===0&&l[0]==="0"&&(l[0]=""),t.grouping&&(l[0]=l[0].replace(s.grouping_regexp,"$&"+O.grouping_separator)),{parts:l,section:t}}};var Fe=class{static cache={};static complex_general;static symbolc_name_map={};static base_formats={Accounting:"_(#,##0.00_);(#,##0.00);-???",Number:"0.00",Integer:"0",Percent:"0.00%",General:"0.######",Fraction:"# ?/?",Dollar:"$* _(#,##0.00_);$* (#,##0.00);$* -???",Exponential:"0.000e","Short Date":"mm/dd/yy","Long Date":"dddd, mmm d yyyy",Timestamp:"mm-dd-yy hh:mm:ss"};static aliases={Scientific:"Exponential",Percentage:"Percent",Currency:"Dollar"};static Get(e,t=!1){if(t&&e==="General")return this.complex_general;let r=this.symbolc_name_map[e.toLowerCase()],i=this.cache[r||e];return i||(i=new Me(e),this.cache[e]=i),i}static Equals(e,t){if(e===t)return!0;let r=this.Get(e),i=this.Get(t);return r.pattern===i.pattern}static Translate(e){let t=this.symbolc_name_map[e.toLowerCase()];return t?this.cache[t].toString():e}static SymbolicName(e){for(let t of Object.keys(this.base_formats))if(e===this.base_formats[t])return t;return null}static InitCache(){for(let e of Object.keys(this.base_formats))this.cache[e]=new Me(this.base_formats[e]),this.symbolc_name_map[e.toLowerCase()]=e;this.cache.General.magic_decimal=!0,this.complex_general=new Me("0.###"),this.complex_general.magic_decimal=!0;for(let e of Object.keys(this.aliases))this.cache[e]=this.cache[this.aliases[e]],this.symbolc_name_map[e.toLowerCase()]=e}};Fe.InitCache();var jr=new Date().getUTCFullYear(),nr=class{compare_day;compare_month;TestDate(e){let t=Date.parse(e);if(isNaN(t))return!1;let r=new Date(t),n=e.replace(/[\\d\\-\\\\/,.\\s]+/g," ").toLocaleLowerCase().split(/\\s+/).map(l=>l.trim()).filter(l=>!!l);if(!n.length)return t;if(!this.compare_month){this.compare_month={};for(let l=0;l<12;l++)this.compare_month[O.date_components.long_months[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_month[O.date_components.short_months[l].toLocaleLowerCase().replace(/\\./,"")]=l}if(!this.compare_day){this.compare_day={};for(let l=0;l<7;l++)this.compare_day[O.date_components.long_days[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_day[O.date_components.short_days[l].toLocaleLowerCase().replace(/\\./,"")]=l}let o=!1,a=!1;for(let l of n){let c=!1;for(let[d,h]of Object.entries(this.compare_month))if(l===d){if(o||r.getUTCMonth()!==h)return!1;c=!0,o=!0}if(!c){for(let[d,h]of Object.entries(this.compare_day))if(l===d){if(a||r.getUTCDay()!==h)return!1;c=!0,a=!0}}if(!c)return!1}return a&&!o?!1:t}TryParse(e=""){let t={};if(e[0]==="\'")return{value:e,type:2};if(e==="")return{value:e,type:2};if(e==="NaN")return{value:NaN,type:3,hints:{Nan:!0}};let r=e.trim(),i=r.match(/^[$](.*?)$/);i&&(r=i[1],t.Currency=!0);let n=r.match(/^\\((.*?)\\)$/);n&&(r=n[1],t.Parens=!0);let o=r.match(/^(.*?)%\\s*$/);o&&(r=o[1],t.Percent=!0),O.decimal_separator==="."?/,/.test(r)&&(r=r.replace(/,/g,""),t.Grouping=!0):(r=r.replace(/(\\d)\\s+/g,"$1"),r=r.replace(/\\./g,""),r=r.replace(/,/,"."));let a=Number(r);if(a===null||isNaN(a)){let l=e.toLowerCase();if(l==="false")return{value:!1,type:4};if(l==="true")return{value:!0,type:4};let c=this.TestDate(e);if(c!==!1&&!isNaN(c)){let d=new Date(c),h=d.getUTCFullYear();if(h>=jr-200&&h<=jr+200)return t={Date:!0},(d.getHours()||d.getMinutes()||d.getSeconds())&&(t.Time=!0),{value:Br(c,!0),type:3,hints:t}}return{value:e,type:2}}if(n&&(a=-a),o){let l=a<0?-1:1,c=(l*a).toString().split(".");c[0]=("00"+c[0]).replace(/(\\d\\d)$/,".$1"),a=Number(c.join(""))*l}return/e/.test(e)&&(t.Exponential=!0),{value:a,type:3,hints:t}}},or=new nr;var it=class s extends Ve{constructor(t,r,i){super();this.model=t;this.view=r;this.autocomplete=i;this.parser=t.parser}static FormulaChars=("$^&*(-+={[<>/~%@"+O.argument_separator).split("");active_cell;autocomplete_matcher;container_node;active_editor;nodes=[];target_address;assume_formula=!1;text_formula=!1;get selecting(){if(this.assume_formula)return!0;if(!this.text_formula)return!1;if(this.active_editor&&this.active_editor.node===this.active_editor.node.ownerDocument.activeElement){let t=this.active_editor.node.ownerDocument.defaultView,r=t.getSelection();if(r?.rangeCount){let o=r?.getRangeAt(0);if((o?.endContainer instanceof t.HTMLElement?o.endContainer:o.endContainer?.parentElement)?.dataset.reference!==void 0)return!0;if(o?.startContainer instanceof t.Text){let l=(o.startContainer.textContent?.substring(0,o.startOffset)||"").trim();if(l.length&&s.FormulaChars.includes(l[l.length-1]))return!0}else console.info("mark 21",o)}let n=this.SubstringToCaret2(this.active_editor.node)[1].trim();if(n.length){let o=n[n.length-1];return s.FormulaChars.includes(o)}}return!1}composite_dependencies=[];get dependencies(){return this.composite_dependencies}parser;FocusEditor(){this.active_editor&&this.active_editor.node.focus()}RegisterListener(t,r,i){t.node.addEventListener(r,i),t.listeners||(t.listeners=new Map),t.listeners.set(r,i)}SelectAll(t){let i=t.ownerDocument.defaultView.getSelection(),n=t.ownerDocument.createRange();n.selectNode(t),i?.removeAllRanges(),i?.addRange(n)}SetCaret(t,r){let i=t.node.ownerDocument,n=i?.defaultView,o=n.getSelection(),a=i?.createRange(),l=d=>{let h=d;for(;h&&!(h instanceof n.Text)&&h.firstChild;)h=h.firstChild;return h},c=l(t.node);if(r){let d=l(r.node);o&&a&&(a.setStart(c,t.offset),a.setEnd(d,r.offset),o.removeAllRanges(),o.addRange(a))}else o&&a&&(a.setStart(c,t.offset),a.setEnd(c,t.offset),a.collapse(!0),o.removeAllRanges(),o.addRange(a))}InsertReference(t){if(!this.active_editor)return;let r=this.active_editor.node.ownerDocument.defaultView,i=r.getSelection();if(!i)throw new Error("error getting selection");if(i.rangeCount===0)return"";let n=i.getRangeAt(0),o=this.active_editor.node.textContent||"";if(n.startContainer instanceof r.Text)if(!n.collapsed&&n.startOffset<n.endOffset){let a=this.SubstringToCaret2(this.active_editor.node);this.active_editor.node.textContent=a[0]+t+o.substring(a[1].length),this.SetCaret({node:this.active_editor.node,offset:a[0].length},{node:this.active_editor.node,offset:a[0].length+t.length})}else{let a=n.startContainer.parentElement;if(a instanceof r.HTMLElement&&a.dataset.reference)a.textContent=t,this.SetCaret({node:a,offset:t.length});else{let l=this.SubstringToCaret2(this.active_editor.node)[1],c="",d=l.trim();if(d.length){let h=d[d.length-1];s.FormulaChars.includes(h)||(l.length===d.length?c=" +":c="+")}this.active_editor.node.textContent=l+c+t+o.substring(l.length),this.SetCaret({node:this.active_editor.node,offset:l.length+t.length+c.length})}}else n.startContainer instanceof r.HTMLElement?(n.startContainer.textContent=t,this.SetCaret({node:n.startContainer,offset:t.length})):console.warn("unexpected range start container",n.startContainer);this.UpdateText(this.active_editor),this.UpdateColors(),this.active_editor.node.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}))}UpdateColors(t=!1,r=!1){let i=new Map,n=new Map;for(let a of this.nodes)for(let l of a.references||[]){let c=this.model.AddressToLabel(l);i.has(c)||(i.set(c,l),n.set(c,n.size))}for(let a of this.nodes){for(let l of Array.from(a.node.childNodes)){let c=l.ownerDocument?.defaultView;if(c&&l instanceof c.HTMLElement&&l.dataset.reference){let d=n.get(l.dataset.reference);l.dataset.highlightIndex=typeof d=="number"?(d%5+1).toString():"?"}}a.check=a.node.innerHTML.length}let o=Array.from(i.values());!t&&JSON.stringify(this.composite_dependencies)===JSON.stringify(o)||(this.composite_dependencies=o,r||this.Publish({type:"update",dependencies:this.composite_dependencies}))}UpdateDependencies(t,r){let i=[];for(let l of r.full_reference_list||[])switch(l.type){case"address":case"range":{let c=l.type==="range"?l.start:l;c.sheet_id||(c.sheet?c.sheet_id=this.model.sheets.Find(c.sheet)?.id||0:c.sheet_id=this.view.active_sheet.id),i.push(l);break}case"structured-reference":if(this.target_address){let c=this.model.ResolveStructuredReference(l,this.target_address);c&&i.push(c)}else console.info("target address not set");break;case"identifier":{let c=this.model.GetName(l.name,this.view.active_sheet.id);c?.type==="range"&&(c.area.count===1?i.push({type:"address",...c.area.start,label:l.name,position:l.position,id:l.id}):i.push({type:"range",start:{type:"address",position:l.position,id:l.id,label:l.name,...c.area.start},end:{type:"address",position:l.position,label:l.name,id:l.id,...c.area.end},label:l.name,position:l.position,id:l.id}));break}}i.sort((l,c)=>l.position-c.position);let n=[],o=new Set,a=new Map;for(let l of i){let c=this.model.AddressToLabel(l),d=Ne(l)?new G(l):new G(l.start,l.end);o.has(c)||(n.push(d),o.add(c)),a.set(l.label,c)}return this.UpdateReferences(t,n),a}UpdateReferences(t,r=[]){t.node.dataset.references=JSON.stringify(r.map(i=>this.model.AddressToLabel(i))),t.references=r}UpdateText(t,r={}){let i=t.node,n=i.textContent||"",o=ce.GetInstance(i.ownerDocument);if(this.text_formula=n[0]==="=",this.active_editor&&!this.assume_formula&&(this.active_editor.node.spellcheck=!this.text_formula,!this.text_formula)||n===t.formatted_text)return;let[a,l]=this.SubstringToCaret2(i),c=a.length,d=l.length;if(c===0&&d===0&&(d=n.length),!n)this.UpdateReferences(t);else{let f=this.parser.Parse(n);if(f.expression){let u=this.UpdateDependencies(t,f),p=n[0]==="="?1:0,y=0,v,w,b=0,m,A=o.Fragment(),N=(L,z="text",M="",V=!1)=>{let $=o.Text(L);if((V||(c>b||c===0&&b===0)&&c<=b+L.length)&&(v={offset:c-b,node:$}),d>b&&d<=b+L.length&&(w={offset:d-b,node:$}),z!=="text"){let U=o.Create("span",z);M&&(U.dataset.reference=M),U.appendChild($),A.appendChild(U)}else A.appendChild($);m=$,b+=L.length};this.parser.Walk(f.expression,L=>{if(L.type==="missing"||L.type==="group"||L.type==="dimensioned")return!0;let z=L.position+p,M=n.substring(y,z),V="",$=L.type,U="";switch(L.type){case"identifier":V=n.substring(z,z+L.name.length),U=u.get(L.name)||"";break;case"call":V=n.substring(z,z+L.name.length);break;case"literal":if(typeof L.value=="string")V=n.substring(z,z+L.value.length+2),$="string";else return!1;break;case"address":case"range":case"structured-reference":U=u.get(L.label)||"???",V=r.rewrite_addresses?L.label:n.substring(z,z+L.label.length);break;default:return!0}return N(M),N(V,$,U),y=z+V.length,L.type!=="range"}),y<n.length&&N(n.substring(y)),v||(m?v={node:m,offset:(m.data||"").length}:N("",void 0,"",!0)),i.textContent="",i.appendChild(A),v&&!r.format_only&&i===this.active_editor?.node&&this.SetCaret(v,w)}}t.formatted_text=n;let h=this.autocomplete_matcher;h&&Promise.resolve().then(()=>{let f=h.Exec({text:n,cursor:l.length});this.selecting&&f.completions?.length&&(f.completions=void 0);let u=this.NodeAtIndex(f.completions?.length?f.position||0:f.function_position||0);this.Autocomplete(f,u)})}NodeAtIndex(t){let r=this.active_editor?.node.childNodes||[];for(let i=0;i<r.length;i++){let n=r[i].textContent?.length||0;if(n>t)return r[i];t-=n}}AcceptAutocomplete(t){if(!this.active_editor)return;let r;if(t.data&&t.data.completions){for(let d of t.data.completions)if(d.name.toLowerCase()===t.value?.toLowerCase()){r=d.type;break}}let i=t.data?.position||0,n=i+(t.data?.token?.length||0),o=r==="token"?t.value:t.value+"(",a=this.active_editor.node.textContent||"",l=a.substring(0,i)+o,c=l.length;l+=a.substring(n),this.active_editor.node.textContent=l,this.SetCaret({node:this.active_editor.node,offset:c}),this.autocomplete?.Hide(),this.UpdateText(this.active_editor),this.UpdateColors()}Autocomplete(t,r){if(!this.container_node||!this.autocomplete)return;let i;r?.nodeType===Node.ELEMENT_NODE?i=r.getBoundingClientRect():i=this.container_node.getBoundingClientRect();let n=new Se(Math.round(i.left),Math.round(i.top),i.width,i.height);this.autocomplete.Show(this.AcceptAutocomplete.bind(this),t,n)}SubstringToCaret2(t,r=!1){let i=["",""];if(!r&&t!==t.ownerDocument.activeElement||t!==this.active_editor?.node)return i;let o=t.ownerDocument.defaultView,a=[!1,!1],l=(d,h)=>{if(d===h.startContainer&&d===h.endContainer&&!(d instanceof o.Text)){a[0]=a[1]=!0,i[0]+=d.textContent,i[1]+=d.textContent;return}if(d===h.startContainer&&(i[0]+=(d.textContent||"").substring(0,h.startOffset),a[0]=!0),d===h.endContainer&&(i[1]+=(d.textContent||"").substring(0,h.endOffset),a[1]=!0),!(a[0]&&a[1])){if(d instanceof o.Text){let f=d.textContent||"";a[0]||(i[0]+=f),a[1]||(i[1]+=f)}else if(d.hasChildNodes()){for(let f of Array.from(d.childNodes))if(l(f,h),a[0]&&a[1])return}}},c=o.getSelection();if(c?.rangeCount??!1){let d=c?.getRangeAt(0);d&&l(t,d)}return i}};var Qs=typeof navigator>"u"?"":navigator.appVersion,ve=typeof navigator>"u"?"":navigator.userAgent,ar=class{is_edge=/Edge/.test(Qs);is_ipad=/iPad|iPhone/.test(ve);is_iphone=/iPhone/.test(ve);is_android=/android|samsung/i.test(ve);is_mobile=this.is_ipad||this.is_android;is_firefox=/firefox/i.test(ve);is_safari=/safari/i.test(ve)&&!/edg/i.test(ve);is_mac=/macintosh/i.test(ve);is_chrome=/Chrome/i.test(ve);is_windows=/win64|win32|windows\\s+nt/i.test(ve);is_modern=!this.is_edge&&!(this.is_firefox&&this.is_android)&&/webkit|firefox/i.test(ve)},qs={is_edge:!1,is_ipad:!1,is_iphone:!1,is_android:!1,is_firefox:!1,is_safari:!1,is_mac:!1,is_chrome:!1,is_windows:!1,is_modern:!0,is_mobile:!1},St=typeof navigator>"u"?qs:new ar;var Xi=De(It());var yo={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":\'"\',"&apos;":"\'"},wo=/&\\w+;/g,xo=s=>s.replace(wo,e=>yo[e]||e);var Rt=xo;var Ni=De(It()),vo=(s,e)=>Rt(e);var gr=s=>{if(s){if(Array.isArray(s))for(let e of s)gr(e);else if(typeof s=="object")for(let[e,t]of Object.entries(s))if(e==="a$"){if(typeof t=="object"){let r={};for(let[i,n]of Object.entries(t))n!==void 0&&(r[i]=n);s[e]=r}}else gr(t)}return s},Mi=s=>{let e=new Ni.XMLBuilder(s),t=e.build;return e.build=r=>t.call(e,gr(r)),e},kt={ignoreAttributes:!1,attributesGroupName:"a$",attributeNamePrefix:"",textNodeName:"t$",trimValues:!1,ignoreDeclaration:!0,isArray:s=>/Relationship$/.test(s),tagValueProcessor:vo},R=class{static FindChild(e={},t){let r=t.split("/");for(let i of r)if(e=e[i],!e)return;return e}static FindAll(e={},t){let r=t.split("/");if(r[0]==="."&&r.shift(),r[0]==="..")throw new Error("invalid path (no access to parent)");if(r[0]==="")throw new Error("invalid path (no access to root)");if(r[0]==="**")throw new Error("ENOTIMPL");return this.FindAllTail(e,r)}static FindAllTail(e,t){if(Array.isArray(e))return e.reduce((r,i)=>r.concat(this.FindAllTail(i,t)),[]);for(let r=0;r<t.length;r++){let i=t[r];if(i==="*"?e=Object.entries(e).reduce((o,[a,l])=>(a!=="a$"&&a!=="t$"&&o.push(l),o),[]):e=e[i],!e)return[];if(Array.isArray(e)){if(r===t.length-1||e.length===0)return e;let n=t.slice(1);return e.reduce((o,a)=>o.concat(this.FindAllTail(a,n)),[])}}return[e]}};var He=class{strings=[];reverse={};FromXML(e){this.strings=[],this.reverse={};let t=0;for(let r of R.FindAll(e,"sst/si")){if(r.t!==void 0){let i="";typeof r.t=="string"?i=r.t:r.t.t$&&(i=r.t.t$),this.strings[t]=i,this.reverse[i]=t}else if(r.r){let n=R.FindAll(r.r,"t").map(o=>typeof o=="string"?o:o.t$||"").join("");this.strings[t]=n,this.reverse[n]=t}else console.warn(` ** unexpected shared string @ ${t}`),console.info(r);t++}}Get(e){return this.strings[e]}Ensure(e){e[0]==="\'"&&(e=e.substring(1));let t=this.reverse[e];return typeof t=="number"||(t=this.strings.length,this.strings.push(e),this.reverse[e]=t),t}};var ze=class s{static color_map=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];colors={};FromXML(e){let t=Object.keys(e)[0],r="",i=t.toString().match(/^(.*?):/);if(i&&(r=i[1]+":"),e[t]&&e[t][`${r}themeElements`]){let n=e[t][`${r}themeElements`][`${r}clrScheme`];for(let o of s.color_map){let a=n[`${r}${o}`],l,c="rgb";a[`${r}srgbClr`]?(c="rgb",l=a[`${r}srgbClr`].a$.val||""):a[`${r}sysClr`]&&(c="system",l=a[`${r}sysClr`].a$.lastClr||""),this.colors[o]={name:o,value:l,type:c}}}}};var Fi=11,yr={top:{},left:{},bottom:{},right:{},diagonal:{}},Be=class s{static default_styles={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"mm-dd-yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@"};theme=new ze;cell_xfs=[];fonts=[];borders=[];fills=[];number_formats=[];base_number_format_id=200;dxf_styles=[];modified=!1;Clamp(e,t,r){return Math.max(t,Math.min(e,r))}TintColor(e,t){let r=parseInt(e.substr(0,2),16),i=parseInt(e.substr(2,2),16),n=parseInt(e.substr(4,2),16);return t<0?(r=Math.round(r*t+r),i=Math.round(i*t+i),n=Math.round(n*t+n)):(r=Math.round((255-r)*t+r),i=Math.round((255-i)*t+i),n=Math.round((255-n)*t+n)),[r,i,n].map(o=>{let a=this.Clamp(o,0,255).toString(16);return a.length<2?"0"+a:a}).join("")}StyleOptionsFromProperties(e){let t=JSON.parse(JSON.stringify(e));for(let c of Object.keys(t))t[c]==="none"&&delete t[c];let r={},i={pattern_type:"none"},n=JSON.parse(JSON.stringify(yr)),o={font:r,border:n};t.number_format&&(o.number_format={format:Fe.Translate(t.number_format),symbolic_name:t.number_format},/Scientific/i.test(t.number_format)&&(o.number_format.format="0.00E+00")),t.font_size?.unit&&t.font_size.value&&(t.font_size.unit==="em"?r.size=t.font_size.value*Fi:t.font_size.unit==="%"?r.size=t.font_size.value*Fi/100:t.font_size.unit==="pt"?r.size=t.font_size.value:t.font_size.unit==="px"?r.size=t.font_size.value*.75:console.warn("Unhandled font size unit",t.font_size)),t.bold&&(r.bold=!0),t.italic&&(r.italic=!0),t.underline&&(r.underline=!0),t.text&&(we(t.text)?r.color_argb=t.text.text:xe(t.text)&&(r.color_theme=$e(t.text),t.text.tint&&(r.color_tint=t.text.tint)));let a=(c,d)=>{c.width&&(d.style="thin",we(c.color)?d.rgba=c.color.text:xe(c.color)?(d.theme=$e(c.color),c.color.tint&&(d.tint=c.color.tint)):d.color=64)},l=se.CompositeBorders(t);switch(a(l.top,n.top),a(l.left,n.left),a(l.right,n.right),a(l.bottom,n.bottom),t.vertical_align){case"top":o.vertical_alignment="top";break;case"middle":o.vertical_alignment="center";break}switch(t.horizontal_align){case"center":o.horizontal_alignment="center";break;case"left":o.horizontal_alignment="left";break;case"right":o.horizontal_alignment="right";break}return o.indent=t.indent,t.fill&&(i.pattern_type="solid",we(t.fill)?(i.fg_color={argb:t.fill.text},o.fill=i):xe(t.fill)&&(i.fg_color={theme:$e(t.fill)},t.fill.tint&&(i.fg_color.tint=t.fill.tint),o.fill=i)),t.wrap&&(o.wrap=!0),o}CellXfToStyle(e){let t={},r=s.default_styles[e.number_format];if(!r){for(let c of this.number_formats)if(c.id===e.number_format&&c.format){r=c.format;break}}if(r){let c=/\\[\\$(.)-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(c,"$1");let d=/\\[\\$-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(d,""),t.number_format=r}let i=this.fonts[0],n=this.fonts[e.font||0];n&&(n.bold&&(t.bold=!0),n.italic&&(t.italic=!0),n.underline&&(t.underline=!0),n.strike&&(t.strike=!0),i&&i.size&&n.size&&i.size!==n.size&&(t.font_size={value:100*n.size/i.size,unit:"%"}),n.color_argb?t.text={text:"#"+(n.color_argb.length>6?n.color_argb.substr(n.color_argb.length-6):n.color_argb)}:typeof n.color_theme=="number"&&(t.text={theme:n.color_theme}));let o=this.fills[e.fill||0];if(o&&o.pattern_type!=="none"){if(o.pattern_type==="gray"){let c=Math.round((o.pattern_gray||0)/1e3*255);t.fill={text:`rgb(${c}, ${c}, ${c})`}}o.pattern_type==="solid"&&o.fg_color&&(o.fg_color.argb?t.fill={text:"#"+(o.fg_color.argb.length>6?o.fg_color.argb.substr(o.fg_color.argb.length-6):o.fg_color.argb)}:typeof o.fg_color.theme=="number"&&(t.fill={theme:o.fg_color.theme},o.fg_color.tint&&(t.fill.tint=Math.round(o.fg_color.tint*1e3)/1e3)))}switch(e.horizontal_alignment){case"center":t.horizontal_align="center";break;case"right":t.horizontal_align="right";break;case"left":t.horizontal_align="left";break}switch(e.vertical_alignment){case"center":t.vertical_align="middle";break;case"top":t.vertical_align="top";break;case"bottom":t.vertical_align="bottom";break}t.indent=typeof e.indent=="string"?Number(e.indent):e.indent,e.wrap_text&&(t.wrap=!0);let a=c=>{if(typeof c.theme<"u")return{theme:c.theme,tint:c.tint}},l=this.borders[e.border||0];return l&&(l.bottom.style&&(l.bottom.style==="double"?t.border_bottom=2:t.border_bottom=1,t.border_bottom_fill=a(l.bottom)),l.left.style&&(t.border_left=1,t.border_left_fill=a(l.left)),l.top.style&&(t.border_top=1,t.border_top_fill=a(l.top)),l.right.style&&(t.border_right=1,t.border_right_fill=a(l.right))),t}CellXfToStyles(){return this.cell_xfs.map(e=>this.CellXfToStyle(e))}EnsureNumberFormat(e){if(typeof e.format>"u"||e.symbolic_name&&/^general$/i.test(e.symbolic_name))return 0;for(let r=0;r<100;r++){let i=s.default_styles[r];if(i&&i===e.format)return r}for(let r of this.number_formats)if(r.format===e.format)return r.id||0;this.modified=!0;let t={id:this.base_number_format_id++,format:e.format};return this.number_formats.push(t),t.id}CompareBorderEdge(e,t){return e.color===t.color&&e.rgba===t.rgba&&e.style===t.style&&e.theme===t.theme&&e.tint===t.tint}CompareBorder(e,t){return this.CompareBorderEdge(e.top,t.top)&&this.CompareBorderEdge(e.left,t.left)&&this.CompareBorderEdge(e.bottom,t.bottom)&&this.CompareBorderEdge(e.right,t.right)&&this.CompareBorderEdge(e.diagonal,t.diagonal)}EnsureBorder(e){for(let r=0;r<this.borders.length;r++){let i=this.borders[r];if(this.CompareBorder(i,e))return r}this.modified=!0;let t=JSON.parse(JSON.stringify(e));return this.borders.push(t),this.borders.length-1}MatchColor(e,t){return!e&&!t?!0:!e||!t?!1:e.argb===t.argb&&e.indexed===t.indexed&&e.theme===t.theme&&e.tint===t.tint}EnsureFill(e){for(let r=0;r<this.fills.length;r++){let i=this.fills[r];if(this.MatchColor(e.bg_color,i.bg_color)&&this.MatchColor(e.fg_color,i.fg_color)&&e.pattern_gray===i.pattern_gray&&e.pattern_type===i.pattern_type)return r}this.modified=!0;let t={...e};return this.fills.push(t),this.fills.length-1}EnsureFont(e){let t={...this.fonts[0],...e};for(let r=0;r<this.fonts.length;r++){let i=this.fonts[r];if(i.bold===t.bold&&i.italic===t.italic&&i.underline===t.underline&&i.size===t.size&&i.strike===t.strike&&i.color_argb===t.color_argb&&i.color_theme===t.color_theme&&i.color_tint===t.color_tint&&i.family===t.family)return r}return this.modified=!0,this.fonts.push(t),this.fonts.length-1}EnsureStyle(e){let t=this.EnsureFont(e.font||{}),r=this.EnsureBorder(e.border||yr),i=this.EnsureNumberFormat(e.number_format||{}),n=this.EnsureFill(e.fill||{pattern_type:"none"});for(let a=0;a<this.cell_xfs.length;a++){let l=this.cell_xfs[a];if(l.font===t&&l.fill===n&&l.border===r&&l.number_format===i&&!!l.wrap_text==!!e.wrap&&l.indent===e.indent&&(!e.horizontal_alignment&&!l.horizontal_alignment||e.horizontal_alignment===l.horizontal_alignment)&&(!e.vertical_alignment&&!l.vertical_alignment||e.vertical_alignment===l.vertical_alignment))return a}this.modified=!0;let o={font:t,fill:n,border:r,number_format:i,indent:e.indent};return e.horizontal_alignment&&(o.horizontal_alignment=e.horizontal_alignment),e.vertical_alignment&&(o.vertical_alignment=e.vertical_alignment),e.wrap&&(o.wrap_text=!0),this.cell_xfs.push(o),this.cell_xfs.length-1}FromXML(e,t){let r=R.FindAll.bind(R,e);this.theme=t;let i=r("styleSheet/numFmts/numFmt");this.number_formats=i.map(d=>({id:Number(d.a$?.numFmtId||0),format:Rt(d.a$?.formatCode||"")})),i=r("styleSheet/borders/border");let n=(d,h)=>{d?.a$&&(h.style=d.a$.style,typeof d.color=="object"&&(typeof d.color.a$?.indexed<"u"&&(h.color=Number(d.color.a$.indexed)),typeof d.color.a$?.theme<"u"&&(h.theme=Number(d.color.a$.theme)),typeof d.color.a$?.tint<"u"&&(h.tint=Number(d.color.a$.tint))))};this.borders=i.map(d=>{let h=JSON.parse(JSON.stringify(yr));return n(d.left,h.left),n(d.right,h.right),n(d.top,h.top),n(d.bottom,h.bottom),h}),i=r("styleSheet/cellXfs/xf"),this.cell_xfs=i.map(d=>{let h={number_format:Number(d.a$.numFmtId),font:Number(d.a$.fontId),fill:Number(d.a$.fillId),border:Number(d.a$.borderId),xfid:Number(d.a$.xfId)};return d.alignment&&(h.horizontal_alignment=d.alignment.a$.horizontal,h.vertical_alignment=d.alignment.a$.vertical,h.wrap_text=!!d.alignment.a$.wrapText,h.indent=d.alignment.a$.indent||void 0),h});let o=d=>{let h={pattern_type:"none"};if(d.patternFill){let f=d.patternFill.a$?.patternType;switch(f){case"none":case void 0:break;case"solid":h.pattern_type="solid",d.patternFill.fgColor&&(h.fg_color={theme:d.patternFill.fgColor.a$?.theme?Number(d.patternFill.fgColor.a$.theme):void 0,indexed:d.patternFill.fgColor.a$?.indexed?Number(d.patternFill.fgColor.a$.indexed):void 0,tint:d.patternFill.fgColor.a$?.tint?Number(d.patternFill.fgColor.a$.tint):void 0,argb:d.patternFill.fgColor.a$?.rgb});break;default:{let u=f?.match(/^gray(\\d+)$/);if(u){h.pattern_type="gray",h.pattern_gray=Number(u[1]);break}}}}return h};i=r("styleSheet/fills/fill"),this.fills=i.map(o);let a=d=>{let h={};return h.italic=typeof d.i<"u",h.bold=typeof d.b<"u",h.underline=typeof d.u<"u",h.strike=typeof d.strike<"u",d.sz&&(h.size=Number(d.sz.a$.val)),d.scheme&&(h.scheme=d.scheme.a$.val),d.name&&(h.name=d.name.a$.val),d.family&&(h.family=Number(d.family.a$.val)),d.color&&(d.color.a$?.theme&&(h.color_theme=Number(d.color.a$.theme)),d.color.a$?.tint&&(h.color_tint=Number(d.color.a$.tint)),d.color.a$?.rgb&&(h.color_argb=d.color.a$.rgb)),h};i=r("styleSheet/fonts/font"),this.fonts=i.map(a);let l=d=>{let h={};return d.a$.rgb?h.text="#"+d.a$.rgb.substring(2):d.a$.theme&&(h.theme=Number(d.a$.theme)||0,d.a$.tint&&(h.tint=Math.round(d.a$.tint*1e3)/1e3)),h},c=r("styleSheet/dxfs/dxf");this.dxf_styles=c.map(d=>{let h={};return d.font&&(h.bold=!!d.font.b,h.italic=!!d.font.i&&d.font.i.a$.val!=="0"),d.font?.color?.a$&&(h.text=l(d.font.color)),d.fill?.patternFill?.bgColor?.a$&&(h.fill=l(d.fill.patternFill.bgColor)),h})}};var be=(s,e,t,r)=>{let n=`rId${Object.keys(s).length+1}`;return s[n]={id:n,type:e,target:t,mode:r},n};var Pi={"c:tx":{"c:strRef":{"c:f":"","c:strCache":{"c:ptCount":{a$:{val:"1"}},"c:pt":{a$:{idx:"0"},"c:v":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},zi={"c:tx":{"c:rich":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:r":{"a:rPr":{a$:{lang:""}},"a:t":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},ot={"c:chartSpace":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:c16r2":"http://schemas.microsoft.com/office/drawing/2015/06/chart"},"c:date1904":{a$:{val:"0"}},"c:lang":{a$:{val:"en-US"}},"c:roundedCorners":{a$:{val:"0"}},"mc:AlternateContent":{a$:{"xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006"},"mc:Choice":{a$:{Requires:"c14","xmlns:c14":"http://schemas.microsoft.com/office/drawing/2007/8/2/chart"},"c14:style":{a$:{val:"102"}}},"mc:Fallback":{"c:style":{a$:{val:"2"}}}},"c:chart":{},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"bg1"}}},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:printSettings":{"c:headerFooter":{},"c:pageMargins":{a$:{b:"0.75",l:"0.7",r:"0.7",t:"0.75",header:"0.3",footer:"0.3"}},"c:pageSetup":{}}}};var Li={"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:invertIfNegative":{a$:{val:"0"}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-F52E-47BC-822F-A046A80610BE}"}}}}},Di={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:barChart":{"c:barDir":{a$:{val:"col"}},"c:grouping":{a$:{val:"clustered"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:gapWidth":{a$:{val:"219"}},"c:overlap":{a$:{val:"-27"}},"c:axId":[{a$:{val:"47003664"}},{a$:{val:"1789284464"}}]},"c:catAx":{"c:axId":{a$:{val:"47003664"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"1789284464"}},"c:crosses":{a$:{val:"autoZero"}},"c:auto":{a$:{val:"1"}},"c:lblAlgn":{a$:{val:"ctr"}},"c:lblOffset":{a$:{val:"100"}},"c:noMultiLvlLbl":{a$:{val:"0"}}},"c:valAx":{"c:axId":{a$:{val:"1789284464"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"General",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"47003664"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"between"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Gi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:doughnutChart":{"c:varyColors":{a$:{val:"1"}},"c:ser":{"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:dPt":{"c:idx":{a$:{val:"3"}},"c:bubble3D":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent4"}}},"a:ln":{a$:{w:"19050"},"a:solidFill":{"a:schemeClr":{a$:{val:"lt1"}}}},"a:effectLst":{}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000007-E886-49A6-AE6D-C67D8A27530F}"}}}}},"c:cat":{"c:strRef":{"c:f":""}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-3689-4BB4-A84F-05B9F3BBE577}"}}}}},"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}},"c:showLeaderLines":{a$:{val:"1"}}},"c:firstSliceAng":{a$:{val:"0"}},"c:holeSize":{a$:{val:"75"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:legend":{"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{a$:{rtl:"0"},"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Ui={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:scatterChart":{"c:scatterStyle":{a$:{val:"lineMarker"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},$i={"c:spPr":{"a:ln":{a$:{w:"19050",cap:"rnd"},"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:round":{}},"a:effectLst":{}},"c:marker":{"c:symbol":{a$:{val:"none"}}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:smooth":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-1F6C-44A9-AA4F-6706F20CC72E}"}}}}};var Vi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:bubbleChart":{"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},Zi={"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"},"a:alpha":{a$:{val:"75000"}}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:bubbleSize":{"c:numRef":{"c:f":""}},"c:bubble3D":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-03D7-43A5-9DAB-5775FFEF9C03}"}}}}};var je=class s{constructor(e,t=s.next_chart_index++){this.options=e;this.index=t}static next_chart_index=1;relationships={};UpdateChartTitle(e){let t=this.options.title||{type:"literal",value:""};if(t&&t.type==="literal"){let r=JSON.parse(JSON.stringify(zi)),i=r["c:tx"]["c:rich"]["a:p"];i["a:r"]={"a:rPr":{a$:{lang:O.locale}},"a:t":t.value},e["c:title"]=r}else if(t){let r=JSON.parse(JSON.stringify(Pi));r["c:tx"]["c:strRef"]["c:f"]=t.label,e["c:title"]=r}}toJSON(){switch(this.options.type){case"column":case"bar":return this.CreateBarChart();case"scatter":case"scatter2":return this.CreateScatterChart();case"bubble":return this.CreateBubbleChart();case"donut":return this.CreateDonutChart();default:console.info("unhandled chart type",this.options.type)}return this.CreateBarChart()}CreateBubbleChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Vi));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:bubbleChart"]["c:ser"],n=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(Zi));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}o<6&&(a["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.labels3&&this.options.labels3[o]&&(a["c:bubbleSize"]["c:numRef"]["c:f"]=this.options.labels3[o]?.label),i.push(a)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateScatterChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Ui));this.options.smooth&&(r["c:plotArea"]["c:scatterChart"]["c:scatterStyle"].a$.val="smoothMarker"),t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:scatterChart"]["c:ser"],n=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify($i));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}o<6&&(a["c:spPr"]["a:ln"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.smooth&&(a["c:smooth"]={a$:{val:1}}),i.push(a)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateDonutChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Gi));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:doughnutChart"];return i&&(i["c:ser"]["c:cat"]["c:strRef"]["c:f"]=this.options.labels?.label||"",i["c:ser"]["c:val"]["c:numRef"]["c:f"]=this.options.data[0]?.label||""),e}CreateBarChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Di));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:barChart"];if(i){let n=i["c:barDir"];n&&(n.a$.val=this.options.type==="bar"?"bar":"col");let o=i["c:ser"];for(let a=0;a<this.options.data.length;a++){let l=JSON.parse(JSON.stringify(Li));l["c:idx"]={a$:{val:a.toString()}},l["c:order"]={a$:{val:a.toString()}},a<6&&(l["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),!a&&this.options.labels&&(l["c:cat"]={"c:strRef":{"c:f":this.options.labels.label}}),l["c:val"]["c:numRef"]["c:f"]=this.options.data[a]?.label,o.push(l)}}return e}};var Et=class s{constructor(e,t=s.next_image_index++){this.options=e;this.index=t;switch(e.mimetype){case"svg+xml":this.extension="svg";break;case"image/png":this.extension="png";break;case"jpg":this.extension="jpeg";break;case"svg":case"png":case"jpeg":case"gif":this.extension=e.mimetype;break;default:console.warn("unhandled mime type",e.mimetype);break}}static next_image_index=1;extension=""};var Oi=9525,at=class s{constructor(e=s.next_drawing_index++){this.index=e}static next_drawing_index=1;sheet_drawing_relationship=0;charts=[];images=[];relationships={};AddImage(e,t){let r=new Et(e);if(r.extension){let i=be(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`../media/image${r.index}.${r.extension}`);this.images.push({image:r,relationship:i,anchor:t})}}AddChart(e,t){let r=new je(e),i=be(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",`../charts/chart${r.index}.xml`);this.charts.push({chart:r,anchor:t,relationship:i})}CornerToJSON(e){return{"xdr:col":e.column,"xdr:colOff":(e.column_offset||0)*Oi,"xdr:row":e.row,"xdr:rowOff":(e.row_offset||0)*Oi}}AnchorToJSON(e){return{"xdr:from":{...this.CornerToJSON(e.from)},"xdr:to":{...this.CornerToJSON(e.to)}}}toJSON(){let e=this.images.map(i=>({a$:{editAs:"oneCell"},...this.AnchorToJSON(i.anchor),"xdr:pic":{"xdr:nvPicPr":{"xdr:cNvPr":{a$:{id:i.image.index+1,name:"Image "+i.image.index}},"xdr:cNvPicPr":{"a:picLocks":{a$:{noChangeAspect:1}}}},"xdr:blipFill":{"a:blip":{a$:i.image.extension==="svg"?{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}:{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:embed":i.relationship},"a:extLst":{"a:ext":[{a$:{uri:"{28A0092B-C50C-407E-A947-70E740481C1C}"},"a14:useLocalDpi":{a$:{"xmlns:a14":"http://schemas.microsoft.com/office/drawing/2010/main",val:0}}},i.image.extension==="svg"?{a$:{uri:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"},"asvg:svgBlip":{a$:{"xmlns:asvg":"http://schemas.microsoft.com/office/drawing/2016/SVG/main","r:embed":i.relationship}}}:void 0]}},"a:stretch":{"a:fillRect":{}}},"xdr:spPr":{"a:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:4057650,cy:6172200}}},"a:prstGeom":{a$:{prst:"rect"},"a:avLst":{}}}},"xdr:clientData":{}})),t=this.charts.map(i=>({...this.AnchorToJSON(i.anchor),"xdr:graphicFrame":{a$:{macro:""},"xdr:nvGraphicFramePr":{"xdr:cNvPr":{a$:{id:i.chart.index+1,name:`Chart ${i.chart.index}`}},"xdr:cNvGraphicFramePr":{}},"xdr:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:0,cy:0}}},"a:graphic":{"a:graphicData":{a$:{uri:"http://schemas.openxmlformats.org/drawingml/2006/chart"},"c:chart":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:id":i.relationship}}}}},"xdr:clientData":{}}));return{"xdr:wsDr":{a$:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"},"xdr:twoCellAnchor":[...t,...e]}}}};var Yi=De(It());var Ye=s=>"row"in s&&"col"in s,Le=s=>"from"in s&&"to"in s&&Ye(s.from)&&Ye(s.to),lt=(s,e)=>e.sheet===s.sheet&&e.row>=s.from.row&&e.row<=s.to.row&&e.col>=s.from.col&&e.col<=s.to.col,Nt=(s,e=0,t=0)=>({from:{row:s.from.row+e,col:s.from.col+t,sheet:s.from.sheet},to:{row:s.to.row+e,col:s.to.col+t,sheet:s.to.sheet}});var Mt=class{constructor(e={}){this.options=e}path;rels_path;rels={};sheet_data={};shared_strings;extent;visible_state;tab_selected=!1;default_width=0;drawings=[];TranslateAddress(e){e=e.toUpperCase();let t=e.match(/([A-Z]+\\d+):([A-Z]+\\d+)/);if(t)return{from:this.TranslateAddress(t[1]),to:this.TranslateAddress(t[2])};let r=0,i=0;if(t=e.match(/^([A-Z]+)(\\d+)$/),t){r=Number(t[2]),i=0;let n=t[1].length;for(let o=0;o<n;o++){let a=t[1].charCodeAt(o)-64;i=i*26+a}}return{row:r,col:i}}Address(e,t=!1){if(Le(e))return this.Address(e.from,t)+":"+this.Address(e.to,t);let r="",i=e.col;for(;i>0;){let o=(i-1)%26+1;r=String.fromCharCode(64+o)+r,i=(i-o)/26}let n=e.sheet?`\'${e.sheet}\'!`:"";return t?`${n}$${r}$${e.row}`:n+r+e.row}NormalizeAddress(e){let t,r;return typeof e=="string"?(t=e.toUpperCase(),r=this.TranslateAddress(t)):(r=e,t=this.Address(r)),{a:t,rc:r}}Parse(){let e=this.sheet_data.worksheet?.dimension?.a$?.ref,t=this.TranslateAddress(e||"");Le(t)?this.extent=JSON.parse(JSON.stringify(t)):this.extent={from:JSON.parse(JSON.stringify(t)),to:JSON.parse(JSON.stringify(t))}}};var xr=De(Wi()),Hi=De(ft()),Je=class{records;text=new Map;constructor(e){this.records=xr.default.parse(e)}Has(e){return this.text.has(e)||!!this.records?.[e]}ArrayBuffer(){let e={};if(this.records)for(let[r,i]of Object.entries(this.records))e[r]=new Uint8Array(i);let t=new TextEncoder;for(let[r,i]of this.text.entries())e[r]=t.encode(i);return xr.default.encode(e)}SetBinary(e,t,r){if(r==="base64"){let i=Hi.default.toByteArray(t);this.records[e]=i}else throw new Error("unsupported encoding: "+r)}Set(e,t){this.text.set(e,t),this.records[e]&&delete this.records[e]}GetBinary(e){let t=this.records[e];if(t)return new Uint8Array(t);throw new Error("path not in records: "+e)}Get(e){let t=this.text.get(e);if(t)return t;let r=this.records[e];if(r)return t=new TextDecoder().decode(r),this.text.set(e,t),delete this.records[e],t;throw console.info(this),new Error("path not in zip file: "+e)}};var Bi=(s,e,t)=>{if(e==="cell"){let r=s.cell_metadata[t-1];if(r){let i=s.metadata_types[r.t-1];if(i&&i.name!=="XLMDX"){let n=s.future_metadata[i.name];if(n)return n[r.v]||{}}}}else console.warn("value metadata not implemented");return{flags:{}}},ji=s=>{let e={metadata_types:[],cell_metadata:[],future_metadata:{}},t=R.FindAll(s,"metadata/metadataTypes/metadataType");for(let i of t){let n=i.a$?.name||"",o=i.a$?.cellMeta,a=o==="1"||o==="true";e.metadata_types.push({name:n,cell_meta:a})}let r=R.FindAll(s,"metadata/futureMetadata");for(let i of r){let n=i.a$?.name||"";if(n){let o=[];for(let a of R.FindAll(i,"bk")){let l={flags:{}};for(let c of R.FindAll(a,"extLst/ext/xda:dynamicArrayProperties"))c?.a$.fDynamic==="1"&&(l.flags["dynamic-array"]=!0);o.push(l)}e.future_metadata[n]=o}}for(let i of R.FindAll(s,"metadata/cellMetadata/bk/rc"))e.cell_metadata.push({t:Number(i.a$?.t||-1),v:Number(i.a$?.v||-1)});return e};var Ce=new Yi.XMLParser(kt),Pt={greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<=",equal:"=",notEqual:"<>"};var Ft=class{constructor(e){this.zip=e}xml={};shared_strings=new He;style_cache=new Be;theme=new ze;named=[];rels={};metadata;sheets=[];active_tab=0;get sheet_count(){return this.sheets.length}ReadRels(e){let t={},r=this.zip.Has(e)?this.zip.Get(e):"",i=Ce.parse(r||"");for(let n of i.Relationships?.Relationship||[]){let o=n.a$.Id;t[o]={id:o,type:n.a$.Type,target:n.a$.Target}}return t}Init(){this.rels=this.ReadRels("xl/_rels/workbook.xml.rels");let e=this.zip.Has("xl/sharedStrings.xml")?this.zip.Get("xl/sharedStrings.xml"):"",t=Ce.parse(e||"");this.shared_strings.FromXML(t),this.zip.Has("xl/metadata.xml")&&(e=this.zip.Get("xl/metadata.xml"),t=Ce.parse(e),this.metadata=ji(t)),e=this.zip.Get("xl/theme/theme1.xml"),t=Ce.parse(e),this.theme.FromXML(t),e=this.zip.Get("xl/styles.xml"),t=Ce.parse(e),this.style_cache.FromXML(t,this.theme),e=this.zip.Get("xl/workbook.xml"),t=Ce.parse(e),this.named=[];let r=R.FindAll(t,"workbook/definedNames/definedName");for(let o of r){let a=o.a$?.name,l=o.t$||"",c=o.a$?.localSheetId?Number(o.a$.localSheetId):void 0;this.named.push({name:a,expression:typeof l=="string"?l:l?.toString()||"",local_scope:c})}let i=R.FindAll(t,"workbook/bookViews/workbookView");i[0]?.a$?.activeTab&&(this.active_tab=Number(i[0].a$.activeTab)||0);let n=R.FindAll(t,"workbook/sheets/sheet");for(let o of n){let a=o.a$?.name;if(a){let l=o.a$.state,c=o.a$["r:id"],d=new Mt({name:a,rid:c,id:Number(o.a$.sheetId)});l==="hidden"?d.visible_state=1:l==="veryHidden"&&(d.visible_state=2),d.shared_strings=this.shared_strings,d.path=`xl/${this.rels[c].target}`,d.rels_path=d.path.replace("worksheets","worksheets/_rels")+".rels",e=this.zip.Get(d.path),d.sheet_data=Ce.parse(e||""),d.rels=this.ReadRels(d.rels_path),d.Parse(),this.sheets.push(d)}}}ReadTable(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=r.table?.a$?.name||"";return{name:i,display_name:r.table?.a$?.displayName||i,ref:r.table?.a$.ref||"",totals_row_shown:Number(r.table?.a$.totalsRowShown||"0")||0,totals_row_count:Number(r.table?.a$.totalsRowCount||"0")||0}}ReadDrawing(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=this.ReadRels(e.replace(/^..\\/drawings/,"xl/drawings/_rels")+".rels"),n=[],o=R.FindAll(r,"xdr:wsDr/xdr:twoCellAnchor"),a=(l={})=>({column:l["xdr:col"]||0,column_offset:l["xdr:colOff"]||0,row:l["xdr:row"]||0,row_offset:l["xdr:rowOff"]||0});for(let l of o){let c={from:a(l["xdr:from"]),to:a(l["xdr:to"])},d=R.FindAll(l,"xdr:graphicFrame/a:graphic/a:graphicData/c:chart")[0];if(d||(d=R.FindAll(l,"mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/cx:chart")[0]),d&&d.a$&&d.a$["r:id"]){let h={type:"chart",anchor:c},f=i[d.a$["r:id"]];f&&f.target&&(h.chart=this.ReadChart(f.target)),n.push(h)}else{let h=R.FindAll(l,"xdr:pic/xdr:blipFill/a:blip")[0];if(h&&h.a$["r:embed"]){let f=i[h.a$["r:embed"]];if(f&&f.target&&/(?:jpg|jpeg|png|gif)$/i.test(f.target)){let u=f.target.replace(/^\\.\\./,"xl"),p=u.replace(/^.*\\//,""),y={type:"image",anchor:c,image:this.zip.GetBinary(u),filename:p};n.push(y)}}else{let f,u=R.FindAll(l,"xdr:sp")[0];if(u){let p=u.a$?.textlink||void 0,y=R.FindAll(u,"xdr:spPr")[0];if(y){f={};let w=y["a:solidFill"];if(w&&w["a:schemeClr"]?.a$?.val){let b=w["a:schemeClr"].a$.val.match(/accent(\\d+)/);if(b&&(f.fill={theme:Number(b[1])+3},w["a:schemeClr"]["a:lumOff"]?.a$?.val)){let m=Number(w["a:schemeClr"]["a:lumOff"].a$.val);isNaN(m)||(f.fill.tint=m/1e5)}}}let v=R.FindAll(u,"xdr:txBody")[0];if(v){let w=[],b=R.FindAll(v,"a:p");for(let m of b){let A=[],N,L=m["a:fld"];if(L&&L.a$?.type==="TxLink"){let V={text:`{${p}}`,reference:!0},$=L["a:rPr"];$&&(V.style={},$.a$?.b==="1"&&(V.style.bold=!0),$.a$?.i==="1"&&(V.style.italic=!0)),A.push(V)}let z=m["a:pPr"];z&&(N={},z.a$?.algn==="r"?N.horizontal_align="right":z.a$?.algn==="ctr"&&(N.horizontal_align="center"));let M=m["a:r"];if(M){Array.isArray(M)||(M=[M]);for(let V of M){let $={text:V["a:t"]||""},U=V["a:rPr"];U&&($.style={},U.a$?.b==="1"&&($.style.bold=!0),U.a$?.i==="1"&&($.style.italic=!0)),A.push($)}}w.push({content:A,style:N})}n.push({type:"textbox",style:f,paragraphs:w,anchor:c,reference:p})}}}}}return n}ReadChart(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i={type:0},n=R.FindChild(r,"c:chartSpace/c:chart/c:title");if(n){let l=R.FindChild(n,"c:tx/c:strRef/c:f");if(l)typeof l=="string"?i.title=l:l.t$&&(i.title=l.t$);else{let c=[],d=R.FindAll(n,"c:tx/c:rich/a:p/a:r");for(let h of d)h["a:t"]&&c.push(h["a:t"]);i.title=\'"\'+c.map(h=>typeof h=="string"?h:h.t$||"").join("")+\'"\'}}let o=(l,c)=>{let d=[],h=l["c:ser"]||[];Array.isArray(h)||(h=[h]);for(let f of h){let u=d.length,p=f["c:order"];p&&(u=Number(p.a$?.val||0)||0);let y={},v=R.FindChild(f,"c:tx/c:v");if(v){let w=v;w&&(y.title=`"${w}"`)}else v=R.FindChild(f,"c:tx/c:strRef/c:f"),v&&(y.title=v);if(c===4||c===7){let w=R.FindChild(f,"c:xVal/c:numRef/c:f");w&&(y.categories=w);let b=R.FindChild(f,"c:yVal/c:numRef/c:f");if(b&&(y.values=b),c===7){let m=R.FindChild(f,"c:bubbleSize/c:numRef/c:f");m&&(y.bubble_size=m)}}else{let w=R.FindChild(f,"c:val/c:numRef/c:f");w&&(y.values=w);let b=R.FindChild(f,"c:cat/c:strRef/c:f");b||(b=R.FindChild(f,"c:cat/c:numRef/c:f")),b&&(y.categories=b)}d[u]=y}return d},a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:barChart");if(a&&(i.type=2,a["c:barDir"]&&a["c:barDir"].a$?.val==="col"&&(i.type=1,a["c:grouping"]?.a$?.val==="stacked"&&(i.flags||(i.flags=[]),i.flags.push("stacked"))),i.series=o(a)),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:lineChart"),a&&(i.type=3,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:doughnutChart"),a&&(i.type=5,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:pieChart"),a&&(i.type=6,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:scatterChart"),a&&(i.type=4,i.series=o(a,4))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:bubbleChart"),a&&(i.type=7,i.series=o(a,7))),!a){let l=R.FindAll(r,"cx:chartSpace/cx:chart/cx:plotArea/cx:plotAreaRegion/cx:series");if(l?.length){let c=!0,d=!0,h=!0;for(let f of l){let u=f.a$?.layoutId;c&&u!=="clusteredColumn"&&(c=!1),h&&u!=="boxWhisker"&&(h=!1),c&&d&&(R.FindAll(f,"cx:layoutPr/cx:binning").length||(d=!1))}if(d){i.type=9,i.series=[];for(let u of l){if(u.a$?.hidden==="1")continue;let p={},y=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data"),v=[];for(let b of y)v.push(b["cx:numDim"]?.["cx:f"]||"");p.values=v.join(",");let w=R.FindAll(u,"cx:layoutPr/cx:binning/cx:binCount");if(w[0]){let b=Number(w[0].a$?.val||0);b&&(p.bin_count=b)}i.series.push(p)}let f=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");return f&&(f[0]?.["cx:f"]?i.title=f[0]["cx:f"]:f[0]?.["cx:v"]&&(i.title=\'"\'+f[0]["cx:v"]+\'"\')),console.info("histogram",i),i}if(h){i.type=8,i.series=[];let f=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data");for(let u of l){let p={},y=Number(u["cx:dataId"]?.a$?.val);for(let b of f)if(Number(b.a$?.id)===y){p.values=b["cx:numDim"]?.["cx:f"]||"";break}let v=R.FindAll(u,"cx:tx/cx:txData");v&&(v[0]?.["cx:f"]?p.title=v[0]["cx:f"]:v[0]?.["cx:v"]&&(p.title=\'"\'+v[0]["cx:v"]+\'"\'));let w=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");w&&(w[0]?.["cx:f"]?i.title=w[0]["cx:f"]:w[0]?.["cx:v"]&&(i.title=\'"\'+w[0]["cx:v"]+\'"\')),i.series.push(p)}return i}}}return a||(console.info("Chart type not handled",{xml:r}),i.type=10),i}GetNamedRanges(){return this.named}};var ke=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n`,vr=s=>{if(we(s))return{a$:{rgb:"FF"+s.text.substring(1)}};if(xe(s))return{a$:{theme:$e(s),tint:s.tint}}},zt=class{zip;xmloptions={format:!0,attributesGroupName:"a$",textNodeName:"t$",ignoreAttributes:!1,suppressEmptyNode:!0};xmlbuilder1=Mi(this.xmloptions);xmlparser2=new Xi.XMLParser(kt);parser=new Ze;decorated_functions={};Init(e={}){for(let r of Object.keys(e))this.decorated_functions[r.toLowerCase()]=e[r];let t=Ji.toByteArray(Ir);this.zip=new Je(t.buffer)}WriteRels(e,t,r=!1){if(!this.zip)throw new Error("missing zip");let i=Object.keys(e),n={Relationships:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},Relationship:i.map(a=>{let l=e[a],c={Id:l.id,Target:l.target,Type:l.type};return l.mode&&(c.TargetMode=l.mode),{a$:c}})}},o=ke+this.xmlbuilder1.build(n);r&&console.info(o),this.zip.Set(t,o)}WriteStyleCache(e){if(!this.zip)throw new Error("missing zip");let t=u=>{let p={};return u.indexed!==void 0&&(p.indexed=u.indexed),u.theme!==void 0&&(p.theme=u.theme),u.tint!==void 0&&(p.tint=u.tint),u.argb!==void 0&&(p.rgb=u.argb),p},r=e.cell_xfs.map(u=>{let p={a$:{numFmtId:u.number_format,fontId:u.font,fillId:u.fill,borderId:u.border}};if(u.horizontal_alignment||u.vertical_alignment||u.wrap_text||u.indent){let y={};u.horizontal_alignment&&(y.horizontal=u.horizontal_alignment),u.vertical_alignment&&(y.vertical=u.vertical_alignment),u.wrap_text&&(y.wrapText=1),u.indent&&u.horizontal_alignment!=="center"&&(y.indent=u.indent),p.alignment={a$:y}}return p}),i=u=>{if(u.color)return{indexed:u.color};if(u.rgba)return{rgb:u.rgba};if(typeof u.theme<"u")return{theme:u.theme,tint:u.tint}},n=e.borders.map(u=>{let p={},y={},v={},w={},b={};if(u.top.style){p.a$={style:u.top.style};let m=i(u.top);m&&(p.color={a$:m})}if(u.left.style){y.a$={style:u.left.style};let m=i(u.left);m&&(y.color={a$:m})}if(u.bottom.style){w.a$={style:u.bottom.style};let m=i(u.bottom);m&&(w.color={a$:m})}if(u.right.style){v.a$={style:u.right.style};let m=i(u.right);m&&(v.color={a$:m})}if(u.diagonal.style){b.a$={style:u.diagonal.style};let m=i(u.diagonal);m&&(b.color={a$:m})}return{left:y,right:v,top:p,bottom:w,diagonal:b}}),o=e.fills.map(u=>({patternFill:{a$:{patternType:u.pattern_gray!==void 0?`gray${u.pattern_gray}`:u.pattern_type},bgColor:u.bg_color?{a$:t(u.bg_color)}:void 0,fgColor:u.fg_color?{a$:t(u.fg_color)}:void 0}})),a=u=>{if(!(typeof u>"u"))return{a$:{val:u}}},l=e.fonts.map(u=>({b:u.bold?"":void 0,i:u.italic?"":void 0,u:u.underline?"":void 0,strike:u.strike?"":void 0,sz:a(u.size),family:a(u.family),name:a(u.name),scheme:a(u.scheme),color:u.color_argb?{a$:{rgb:u.color_argb}}:typeof u.color_theme<"u"?{a$:{theme:u.color_theme,tint:u.color_tint}}:void 0})),c=(u,p)=>{if(p.length)return{a$:{count:p.length},[u]:p}},d=e.dxf_styles.map(u=>{let p={};return(u.text||u.bold||u.italic||u.underline)&&(p.font={b:u.bold?{}:void 0,i:u.italic?{}:void 0,u:u.underline?{}:void 0,strike:u.strike?{}:void 0,color:vr(u.text)}),u.fill&&(p.fill={patternFill:{bgColor:vr(u.fill)}}),p}),h={styleSheet:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac x16r2 xr","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"},numFmts:e.number_formats.length?{a$:{count:e.number_formats.length},numFmt:e.number_formats.map(u=>({a$:{numFmtId:u.id,formatCode:u.format}}))}:void 0,fonts:c("font",l),fills:c("fill",o),borders:c("border",n),cellXfs:c("xf",r),dxfs:c("dxf",d)}},f=ke+this.xmlbuilder1.build(h);this.zip?.Set("xl/styles.xml",f)}WriteSharedStrings(e){if(!this.zip)throw new Error("missing zip");let t={sst:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.strings.length,uniqueCount:e.strings.length},si:[...e.strings.map(i=>({t:i}))]}},r=ke+this.xmlbuilder1.build(t);this.zip.Set("xl/sharedStrings.xml",r)}SheetStyle(e,t){if(!e.sheet_style)return 0;let r=t.StyleOptionsFromProperties(e.sheet_style);return t.EnsureStyle(r)}RowStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.row_style){let a=e.row_style[r];typeof a=="number"&&(a=i[a]),a&&n.push(a)}let o=t.StyleOptionsFromProperties(se.Composite(n));return t.EnsureStyle(o)}ColumnStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.column_style){let a=e.column_style[r];typeof a=="number"&&(a=i[a]),a&&n.push(a)}let o=t.StyleOptionsFromProperties(se.Composite(n));return t.EnsureStyle(o)}StyleFromCell(e,t,r,i,n={}){let o=e.styles||e.cell_style_refs||[],a=[e.sheet_style];if(e.row_style){let c=e.row_style[r];typeof c=="number"&&(c=o[c]),c&&a.push(c)}if(e.column_style){let c=e.column_style[i];typeof c=="number"&&(c=o[c]),c&&a.push(c)}a.push(n);let l=t.StyleOptionsFromProperties(se.Composite(a));return t.EnsureStyle(l)}NormalizeAddress(e,t){let r=e.type==="address"?[e]:[e.start,e.end];for(let i of r)i.absolute_row=!0,i.absolute_column=!0,i.sheet||(i.sheet=t.name);return e.type==="range"&&(e.end.sheet=void 0),e.label=this.parser.Render(e),e}EnsureRange(e){return e.type==="range"?e:{type:"range",start:e,end:e,label:e.label,id:e.id,position:e.position}}AnnotationLayoutToAnchor(e,t){let r=i=>{let n=t.column_width&&t.column_width[i.address.column]?t.column_width[i.address.column]:t.default_column_width||100,o=t.row_height&&t.row_height[i.address.row]?t.row_height[i.address.row]:t.default_row_height||20;return{...i.address,row_offset:Math.round(i.offset.y*o),column_offset:Math.round(i.offset.x*n)}};return{from:r(e.tl),to:r(e.br)}}AnnotationRectToAnchor(e,t){let r={from:{row:-1,column:-1},to:{row:-1,column:-1}},i={top:0,left:0,width:301,height:301,...e},n={...i,right:i.left+i.width,bottom:i.top+i.height};for(let o=0,a=0;a<1e3;a++){let l=t.column_width&&t.column_width[a]?t.column_width[a]:t.default_column_width||100;if(r.from.column<0&&n.left<=o+l&&(r.from.column=a,r.from.column_offset=n.left-o),r.to.column<0&&n.right<=o+l){r.to.column=a,r.to.column_offset=n.right-o;break}o+=l}for(let o=0,a=0;a<1e3;a++){let l=t.row_height&&t.row_height[a]?t.row_height[a]:t.default_row_height||20;if(r.from.row<0&&n.top<=o+l&&(r.from.row=a,r.from.row_offset=n.top-o),r.to.row<0&&n.bottom<=o+l){r.to.row=a,r.to.row_offset=n.bottom-o;break}o+=l}return r}ParseImages(e){let t=[];for(let r of e.annotations||[])if(r.type==="image"&&r.data?.src){let i=r.data.src,n=i.match(/^data:image\\/([^;]*?);base64,/);if(n){let o=i.substr(n[0].length),a=n[1],l={data:o,mimetype:a,encoding:"base64"};switch(a){case"svg+xml":case"webp":case"jpeg":case"jpg":case"image/png":case"png":case"gif":r.layout?t.push({anchor:this.AnnotationLayoutToAnchor(r.layout,e),options:l}):r.rect?t.push({anchor:this.AnnotationRectToAnchor(r.rect,e),options:l}):console.warn("annotation missing layout");break;default:console.info("unhandled image type",a);break}}}return t}ParseCharts(e){let t=[],r=(i,n,o)=>{if(i.type==="range")n.data.push(this.NormalizeAddress(i,e));else if(i.type==="call"){if(/group/i.test(i.name))for(let a of i.args||[])r(a,n,o?o+" (recurse)":void 0);else if(/series/i.test(i.name)){let[a,l,c,d]=i.args;c&&(c.type==="range"||c.type==="address")?(n.data.push(this.EnsureRange(this.NormalizeAddress(c,e))),a&&(n.names||(n.names=[]),a.type==="address"&&this.NormalizeAddress(a,e),a.type==="range"?(this.NormalizeAddress(a.start,e),n.names[n.data.length-1]=a.start):n.names[n.data.length-1]=a),n.labels2||(n.labels2=[]),l&&(l.type==="range"||l.type==="address")&&(n.labels2[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(l,e))),d&&(d.type==="range"||d.type==="address")&&(n.labels3||(n.labels3=[]),n.labels3[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(d,e)))):console.info("invalid series missing Y",{y:c,arg:i,ref:o})}}};for(let i of e.annotations||[]){let n=this.parser.Parse(i.formula||"");if(n.expression&&n.expression.type==="call"){let o="";switch(n.expression.name.toLowerCase()){case"line.chart":o="scatter";break;case"bubble.chart":o="bubble";break;case"scatter.line":o="scatter2";break;case"donut.chart":o="donut";break;case"bar.chart":o="bar";break;case"column.chart":o="column";break}if(o==="column"||o==="donut"||o==="bar"||o==="scatter"||o==="scatter2"||o==="bubble"){let a={type:o,data:[]},l=o==="scatter2"||o==="bubble"?1:2,c=n.expression.args[l];if(c&&c.type==="literal"?a.title=c:c&&c.type==="address"&&(a.title=this.NormalizeAddress(c,e)),n.expression.args[0]){let h=n.expression.args[0];if(o==="scatter2"||o==="bar"||o==="column"||o==="scatter"||o==="bubble")r(h,a,e.name);else if(h.type==="range")a.data.push(this.NormalizeAddress(h,e));else if(h.type==="call"&&/group/i.test(h.name))for(let f of h.args)f.type==="range"?a.data.push(this.NormalizeAddress(f,e)):f.type==="call"&&/series/i.test(f.name)&&f.args[2]&&f.args[2].type==="range"&&a.data.push(this.NormalizeAddress(f.args[2],e));else h.type==="call"&&/series/i.test(h.name)&&h.args[2]&&h.args[2].type==="range"&&a.data.push(this.NormalizeAddress(h.args[2],e))}o!=="scatter2"&&o!=="bubble"&&n.expression.args[1]&&n.expression.args[1].type==="range"&&(a.labels=this.NormalizeAddress(n.expression.args[1],e)),(o==="scatter"&&n.expression.args[4]&&n.expression.args[4].type==="literal"&&n.expression.args[4].value.toString().toLowerCase()==="smooth"||o==="scatter2"&&n.expression.args[2]&&n.expression.args[2].type==="literal"&&/smooth/i.test(n.expression.args[2].value.toString()))&&(a.smooth=!0);let d=i.rect;i.layout?t.push({anchor:this.AnnotationLayoutToAnchor(i.layout,e),options:a}):d?t.push({anchor:this.AnnotationRectToAnchor(d,e),options:a}):console.warn("annotation missing layout")}}}return t}FormulaText(e,t){if(e[0]!=="=")return e;let r=this.parser.Parse(e);if(r.expression){this.parser.Walk(r.expression,n=>{if(n.type==="call"){let o=n.name.toLowerCase();this.decorated_functions[o]&&(n.name=this.decorated_functions[o]+"."+n.name)}return!0});let i=t.table?.name||"";return this.parser.Render(r.expression,{missing:"",long_structured_references:!0,table_name:i})}else return console.warn("parsing function failed"),console.warn(e),e.substring(1)}Export(e){let t=0,r=[];for(let b=0;b<e.sheet_data.length;b++){let m=e.sheet_data[b],A=m.id||0;A&&(r[A]=m.name||""),A===e.active_sheet&&(t=b)}let i=new He,n=new Be,o=new ze,a=this.zip?.Get("xl/theme/theme1.xml");o.FromXML(this.xmlparser2.parse(a||"")),a=this.zip?.Get("xl/styles.xml"),n.FromXML(this.xmlparser2.parse(a||""),o),at.next_drawing_index=1,je.next_chart_index=1;let l=[],c=[];for(let b=0;b<e.sheet_data.length;b++){let m=e.sheet_data[b],A={},N={xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac xr xr2 xr3","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3","xr:uid":"{D37933E2-499F-4789-8D13-194E11B743FC}"},L=m.default_row_height?m.default_row_height/20*15:15,z=m.styles||m.cell_style_refs||[],M=new Xe;M.FromJSON(m.data,z);for(let x of m.cell_styles){let D=M.EnsureCell(x);D.style||(D.style=z[x.ref])}let V={start:{row:M.rows+1,column:M.columns+1},end:{row:M.rows+1,column:M.columns+1}},$=[],U=[],q=[],Y=[],Q=[],te=[],J=this.SheetStyle(m,n);for(let x=0;x<M.data.length;x++){let D=this.RowStyle(m,n,x);if(M.data[x]&&M.data[x].length){x<V.start.row&&(V.start.row=x);let Z={start:-1,end:-1},F=[];for(let I=0;I<M.data[x].length;I++){te[I]||(te[I]=this.ColumnStyle(m,n,I));let T=M.data[x][I];if(T){if(T.table&&T.table.area.start.row===x&&T.table.area.start.column===I){let le=new G(T.table.area.start,T.table.area.end),ct=c.length+1,qi=`../tables/table${ct}.xml`,Gt=[];for(let ue=0;ue<le.columns;ue++){let K=M.data[x][I+ue],Ee="";K.type!==2?(typeof K.calculated<"u"?Ee=K.calculated.toString():typeof K.value<"u"&&(Ee=K.value.toString()),K.type=2,K.value=Ee):Ee=K.value||"",Ee||(Ee=`Column${ue+1}`);let ht=Ee,$t=!1,Ki=1;for(;!$t;){$t=!0;e:for(let es of Gt)if(es.toLowerCase()===ht.toLowerCase()){$t=!1,ht=`${Ee}${++Ki}`;break e}}K.value=ht,Gt.push(ht)}let dt;if(T.table.totals_row){dt=[];for(let ue=0;ue<le.columns;ue++){let K=M.data[le.end.row][le.start.column+ue];K.type&&(K.type===1?dt[ue]={type:"formula",value:(K.value||"").toString().substring(1)}:(K.type!==2&&(K.type=2,K.value=K.value?.toString()||""),dt[ue]={type:"label",value:K.value}))}}let Ut={rel:be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",qi),index:ct,ref:le.spreadsheet_label,name:`Table${ct}`,display_name:`Table${ct}`,totals_row_shown:0,totals_row_count:T.table?.totals_row?1:0,columns:Gt,footers:dt};if(T.table.totals_row){let ue=new G(le.start,{row:le.end.row-1,column:le.end.column});Ut.filterRef=ue.spreadsheet_label}Q.push(Ut),c.push(Ut)}if(T.merge_area&&T.merge_area.start.row===x&&T.merge_area.start.column===I&&Y.push(new G(T.merge_area.start,T.merge_area.end)),T.hyperlink){let le=be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",T.hyperlink,"External");U.push({rel:le,target:T.hyperlink,address:{row:x,column:I}})}if(T.type===1&&/^=?sparkline\\./i.test(T.value)){q.push({address:{row:x,column:I},formula:T.value,style:T.style});continue}I<V.start.column&&(V.start.column=I),Z.start<0&&(Z.start=I),Z.end=I;let H=this.StyleFromCell(m,n,x,I,T.style);if(T.type===0&&(D&&H===D||!D&&te[I]&&H===te[I]))continue;let j,_e,ge;switch(T.type){case 1:switch(ge=this.FormulaText(T.value,T),T.calculated_type){case 2:j=T.calculated,_e="str";break;case 3:j=T.calculated;break;case 4:j=T.calculated?1:0,_e="b";break}break;case 2:j=i.Ensure(T.value),_e="s";break;case 3:j=T.value;break;case 4:j=T.value?1:0,_e="b";break}T.area&&T.area.start.row===x&&T.area.start.column===I&&typeof ge=="string"&&(ge={t$:ge,a$:{t:"array",ref:T.area.spreadsheet_label}}),F.push({a$:{r:G.CellAddressToLabel({row:x,column:I}),t:_e,s:H},f:ge,v:j})}}if(F.length||D&&D!==J){let I,T,H,j;m.row_height&&typeof m.row_height[x]=="number"&&m.row_height[x]!==m.default_row_height&&(I=1,T=m.row_height[x]*3/4),D&&D!==J&&(H=D,j=1),$.push({a$:{r:x+1,spans:`${Z.start+1}:${Z.end+1}`,customHeight:I,ht:T,s:H,customFormat:j},c:F})}}}let oe=[];for(let x=0;x<m.columns;x++){let D={index:x};m.column_width&&m.default_column_width&&typeof m.column_width[x]=="number"&&m.column_width[x]!==m.default_column_width&&(D.width=pt(m.column_width[x]));let Z=te[x];Z&&Z!==J&&(D.style=Z),(D.style!==void 0||D.width!==void 0)&&(oe[x]=D)}let pe;if(oe.length||J){let x=[],D=pt(m.default_column_width||90);{let Z=0;for(let F of oe)F&&(J&&F.index>Z+1&&x.push({a$:{min:Z+1,max:F.index,style:J,width:D}}),x.push({a$:{min:F.index+1,max:F.index+1,style:F.style===void 0?J:F.style,width:F.width===void 0?D:F.width,customWidth:F.width===void 0?void 0:1}}),Z=F.index);J&&Z<16384&&x.push({a$:{min:Z+1,max:16384,style:J,width:D}}),pe={col:x}}}let de;m.data_validations?.length&&(de={a$:{count:m.data_validations.length},dataValidation:m.data_validations.map(x=>{let D=x.target.map(F=>new G(F.start,F.end).spreadsheet_label).join(" "),Z;if(x.type==="range"){let F={id:0,type:"range",label:"",position:0,start:{...x.area.start,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"},end:{...x.area.end,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"}};typeof x.area.start.sheet_id<"u"&&(F.start.sheet=r[x.area.start.sheet_id]),Z=this.parser.Render(F)}else x.type==="list"&&(Z=`"${x.list.join(",")}"`);return{a$:{type:"list",allowBlank:1,showInputMessage:1,showErrorMessage:1,sqref:D},formula1:Z}})});let ae;Q.length&&(ae={a$:{count:Q.length},tablePart:Q.map(x=>({a$:{"r:id":x.rel||""}}))});for(let x of Q){let D={};x.totals_row_count&&(D.totalsRowCount=1);let Z={a$:{count:(x.columns||[]).length},tableColumn:(x.columns||[]).map((T,H)=>{let j=(x.footers||[])[H];return{a$:{id:H+1,name:T||`Column${H+1}`,totalsRowLabel:j?.type==="label"?j.value:void 0,totalsRowFunction:j?.type==="formula"?"custom":void 0},totalsRowFormula:j?.type==="formula"?j.value:void 0}})},F={table:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",id:x.index||0,name:x.name,displayName:x.display_name,...D,ref:x.ref},autoFilter:{a$:{ref:x.filterRef||x.ref}},tableColumns:Z,tableStyleInfo:{a$:{name:"TableStyleMedium2",showFirstColumn:0,showLastColumn:0,showRowStripes:1,showColumnStripes:0}}}},I=ke+this.xmlbuilder1.build(F);this.zip?.Set(`xl/tables/table${x.index}.xml`,I)}let he;if(m.conditional_formats?.length){let x=[],D=1,Z={},F=Object.entries(Pt).map(I=>(Z[I[1]]=I[0],I[1]));F.sort((I,T)=>T.length-I.length);for(let I of m.conditional_formats){let T=0;switch(I.type!=="gradient"&&I.type!=="data-bar"&&(T=n.dxf_styles.length,n.dxf_styles.push(I.style)),I.type){case"cell-match":{let H="",j="";for(let _e of F)if(new RegExp("^"+_e+"\\\\s").test(I.expression)){H=Z[_e],j=I.expression.substring(_e.length).trim();break}H&&x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"cellIs",dxfId:T,operator:H,priority:D++},formula:j}})}break;case"expression":x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"expression",dxfId:T,priority:D++},formula:I.expression}});break;case"duplicate-values":x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:I.unique?"uniqueValues":"duplicateValues",dxfId:T,priority:D++}}});break;case"gradient":{let H=[],j=[];for(let ge of I.stops){ge.value===0?H.push({a$:{type:"min"}}):ge.value===1?H.push({a$:{type:"max"}}):H.push({a$:{type:"percentile",val:ge.value*100}});let le=vr(ge.color);le&&j.push(le)}let _e={a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"colorScale",priority:D++},colorScale:{cfvo:H,color:j}}};x.push(_e)}break}}x.length&&(he=x.length>1?x:x[0])}let ee;Y.length&&(ee={a$:{count:Y.length},mergeCell:Y.map(x=>({a$:{ref:x.spreadsheet_label}}))});let g;U.length&&(g={hyperlink:U.map(x=>({a$:{"r:id":x.rel,ref:new G(x.address).spreadsheet_label,"xr:uid":"{0C6B7792-7EA0-4932-BF15-D49C453C565D}"}}))});let P;if(q.length){let x={a$:{"xmlns:xm":"http://schemas.microsoft.com/office/excel/2006/main"},"x14:sparklineGroup":q.map(D=>{let Z=this.parser.Parse(D.formula),F="";if(Z.expression&&Z.expression.type==="call"&&Z.expression.args.length>0){let T=Z.expression.args[0];if(T.type==="range"||T.type==="address"){let H=T.type==="range"?T.start:T;H.sheet||(typeof H.sheet_id<"u"?H.sheet=r[H.sheet_id]:H.sheet=m.name),F=this.parser.Render(T)}}let I={rgb:"FF376092"};return D.style?.text&&(we(D.style.text)?I.rgb=D.style.text.text:xe(D.style.text)&&(I.rgb=void 0,I.theme=D.style.text.theme.toString(),I.tint=typeof D.style.text.tint=="number"?D.style.text.tint.toString():void 0)),{a$:{displayEmptyCellsAs:"gap",displayHidden:"1",type:/column/i.test(D.formula)?"column":void 0},"x14:colorSeries":{a$:{...I}},"x14:sparklines":{"x14:sparkline":{"xm:f":F,"xm:sqref":new G(D.address).spreadsheet_label}}}})};P={ext:{a$:{uri:"{05C60535-1F16-4fd2-B633-F4F36F0B64E0}","xmlns:x14":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"},"x14:sparklineGroups":x}}}let E,k=this.ParseCharts(m),S=this.ParseImages(m);if(k.length||S.length){let x=new at;for(let F of k)x.AddChart(F.options,F.anchor);for(let F of S)x.AddImage(F.options,F.anchor);for(let{image:F}of x.images)F.options.data&&this.zip?.SetBinary(`xl/media/image${F.index}.${F.extension}`,F.options.data,F.options.encoding);for(let{chart:F}of x.charts){let I=F.toJSON(),T=ke+this.xmlbuilder1.build(I);this.zip?.Set(`xl/charts/chart${F.index}.xml`,T),this.WriteRels(F.relationships,`xl/charts/_rels/chart${F.index}.xml.rels`)}this.WriteRels(x.relationships,`xl/drawings/_rels/drawing${x.index}.xml.rels`);let D=ke+this.xmlbuilder1.build(x.toJSON());this.zip?.Set(`xl/drawings/drawing${x.index}.xml`,D),l.push(x),E={a$:{"r:id":be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",`../drawings/drawing${x.index}.xml`)}}}let C={};if(m.tab_color){if(xe(m.tab_color))C.sheetPr={tabColor:{a$:{theme:m.tab_color.theme,tint:m.tab_color.tint}}};else if(we(m.tab_color)){let x=m.tab_color.text||"";/^#[0-9a-fA-F]*$/.test(x)&&(C.sheetPr={tabColor:{a$:{rgb:"FF"+x.substring(1)}}})}}let B={a$:{"x14ac:dyDescent":.25,defaultRowHeight:L===15?void 0:L,customHeight:L===15?void 0:1,defaultColWidth:m.default_column_width?pt(m.default_column_width):void 0}},W={worksheet:{a$:{...N},...C,dimension:{a$:{ref:new G(V.start,V.end).spreadsheet_label}},sheetViews:{sheetView:{a$:{workbookViewId:0}}},sheetFormatPr:B,cols:pe,sheetData:{row:$},mergeCells:ee,conditionalFormatting:he,dataValidations:de,hyperlinks:g,pageMargins:{a$:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3}},drawing:E,tableParts:ae,extLst:P}},me=ke+this.xmlbuilder1.build(W);this.zip?.Set(`xl/worksheets/sheet${b+1}.xml`,me),Object.keys(A).length&&this.WriteRels(A,`xl/worksheets/_rels/sheet${b+1}.xml.rels`)}this.WriteSharedStrings(i),this.WriteStyleCache(n);let d={};be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme","theme/theme1.xml"),be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings","sharedStrings.xml");let h=e.sheet_data.map((b,m)=>be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",`worksheets/sheet${m+1}.xml`));this.WriteRels(d,"xl/_rels/workbook.xml.rels");let f=e.named?.length?{definedName:(e.named||[]).map(b=>{let m;if(b.scope){let A=b.scope.toLowerCase();for(let[N,L]of e.sheet_data.entries())if(L.name?.toLowerCase()===A){m=N.toString();break}}return{a$:{name:b.name,localSheetId:m},t$:b.expression}})}:void 0,u={workbook:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x15 xr xr6 xr10 xr2","xmlns:x15":"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr6":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision6","xmlns:xr10":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision10","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"},workbookPr:{a$:{defaultThemeVersion:"166925"}},bookViews:{workbookView:{a$:{activeTab:t||0}}},sheets:{sheet:e.sheet_data.map((b,m)=>({a$:{name:b.name||`Sheet${m+1}`,sheetId:m+1,"r:id":h[m],state:b.visible===!1?"hidden":void 0}}))},definedNames:f}},p=ke+this.xmlbuilder1.build(u);this.zip?.Set("xl/workbook.xml",p);let y={};for(let b of l)for(let m of b.images)switch(m.image.extension){case"gif":case"png":case"jpeg":y[m.image.extension]="image/"+m.image.extension;break;case"svg":y.svg="image/svg+xml";break}let v={Types:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},Default:[{a$:{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}},{a$:{Extension:"xml",ContentType:"application/xml"}},...Object.keys(y).map(b=>({a$:{Extension:b,ContentType:y[b]}}))],Override:[{a$:{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}},...e.sheet_data.map((b,m)=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${m+1}.xml`}})),...l.reduce((b,m)=>b.concat([...m.charts.map(A=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",PartName:`/xl/charts/chart${A.chart.index}.xml`}})),{a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${m.index}.xml`}}]),[]),{a$:{PartName:"/xl/theme/theme1.xml",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml"}},{a$:{PartName:"/xl/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"}},{a$:{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}},...c.map(b=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/table${b.index||0}.xml`}})),{a$:{PartName:"/docProps/core.xml",ContentType:"application/vnd.openxmlformats-package.core-properties+xml"}},{a$:{PartName:"/docProps/app.xml",ContentType:"application/vnd.openxmlformats-officedocument.extended-properties+xml"}}]}},w=ke+this.xmlbuilder1.build(v);this.zip?.Set("[Content_Types].xml",w)}ArrayBuffer(){if(!this.zip)throw new Error("missing zip");return this.zip.ArrayBuffer()}Blob(){if(!this.zip)throw new Error("missing zip");let e=this.zip.ArrayBuffer();return new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}};var Qi=De(ft());var Ao=s=>typeof s=="object"&&typeof s.$t<"u",Lt=class{parser=new Ze;workbook;zip;Init(e){this.zip=new Je(e),this.workbook=new Ft(this.zip),this.workbook.Init()}SheetCount(){return this.workbook?.sheet_count||0}ParseCell(e,t,r,i,n,o,a){let l=t.a$?.r;if(!l){console.warn("cell missing address");return}let c=e.TranslateAddress(l);if(Le(c)){console.warn("cell has range address");return}let d={};if(t.a$?.cm){let w=Number(t.a$?.cm);this.workbook?.metadata&&(d=Bi(this.workbook.metadata,"cell",w).flags)}let h,f="undefined",u,p="undefined";if(t.a$?.t&&t.a$.t==="s"){if(f="string",typeof t.v<"u"){let w=Number(t.v);!isNaN(w)&&e.shared_strings&&(h=e.shared_strings.Get(w)||"",h[0]==="="&&(h="\'"+h))}}else if(typeof t.f<"u"){f="formula";let w=(typeof t.f=="string"?t.f:t.f.t$)||"";if(w){if(h="="+w.replace(/^_xll\\./g,""),/#REF/.test(w))h=w;else{let b=this.parser.Parse(w);if(b.expression){let m=N=>(/^_xll\\./.test(N)&&(N=N.substring(5)),/^_xlfn\\./.test(N)&&(console.info("xlfn:",N),N=N.substring(6)),/^_xlws\\./.test(N)&&(console.info("xlws:",N),N=N.substring(6)),N),A=N=>{if(N.type==="call"){if(/^_xlfn\\.single/i.test(N.name)){let L=N.args[0];if(L.type==="call"){let z=JSON.parse(JSON.stringify(L));z.name="@"+m(z.name);for(let M=0;M<z.args.length;M++)z.args[M]=this.parser.Walk2(z.args[M],A);return z}else console.info("_xlfn.SINGLE unexpected argument",N.args[0])}N.name=m(N.name)}return!0};b.expression=this.parser.Walk2(b.expression,A),h="="+this.parser.Render(b.expression,{missing:""})}}typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si&&(r[t.f.a$.si]={row:c.row-1,column:c.col-1,formula:h,parse_result:this.parser.Parse(h)})}else if(typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si){let b=r[t.f.a$.si];b&&(b.parse_result.expression?h="="+this.parser.Render(b.parse_result.expression,{offset:{rows:c.row-1-b.row,columns:c.col-1-b.column},missing:""}):h=b.formula)}if(typeof t.f!="string"&&t.f.a$?.t==="array"){let m=e.TranslateAddress(t.f.a$.ref||"");Le(m)||(m={to:{...m},from:{...m},sheet:m.sheet}),d["dynamic-array"]?n.push(Nt(m,-1,-1)):i.push(Nt(m,-1,-1))}if(typeof t.v<"u"){let b=typeof t.v=="object"?t.v?.t$:t.v,m=Number(b.toString());isNaN(m)?(p="string",u=b.toString()):(p="number",u=m)}}else if(typeof t.v<"u"){let w=Number(t.v.toString());isNaN(w)?(f="string",h=t.v.toString()):(f="number",h=w)}let y={row:c.row-1,col:c.col-1};for(let w of[i,n])for(let b of w)lt(b,y)&&(y.row!==b.from.row||y.col!==b.from.col)&&(p=f,u=h,h=void 0,f="undefined");let v={row:y.row,column:y.col,value:h,type:f};typeof u<"u"&&(v.calculated_type=p,v.calculated=u),t.a$?.s&&(v.style_ref=Number(t.a$.s));for(let w of a)w.address.row===c.row&&w.address.col===c.col&&(v.hyperlink=w.reference);for(let w of o)lt(w,y)&&(v.merge_area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of n)lt(w,y)&&(v.spill={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of i)lt(w,y)&&(v.area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});return v}AddressToArea(e){return Ye(e)?{start:{row:e.row-1,column:e.col-1},end:{row:e.row-1,column:e.col-1}}:{start:{row:e.from.row-1,column:e.from.col-1},end:{row:e.to.row-1,column:e.to.col-1}}}ParseConditionalFormat(e,t,r){let i=this.AddressToArea(e),n=Pt;switch(t.a$.type){case"duplicateValues":case"uniqueValues":{let o={};if(t.a$.dxfId){let a=Number(t.a$.dxfId);isNaN(a)||(o=this.workbook?.style_cache.dxf_styles[a]||{})}return{type:"duplicate-values",area:i,style:o,unique:t.a$.type==="uniqueValues",priority:t.a$.priority?Number(t.a$.priority):void 0}}case"cellIs":if(t.a$.operator&&(t.formula||typeof t.formula=="number")){let o={};if(t.a$.dxfId){let l=Number(t.a$.dxfId);isNaN(l)||(o=this.workbook?.style_cache.dxf_styles[l]||{})}if(t.a$.operator==="between"&&Array.isArray(t.formula)&&t.formula.length===2&&typeof t.formula[0]=="number"&&typeof t.formula[1]=="number")return{type:"cell-match",expression:"",between:t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0};let a=n[t.a$.operator||""];if(!a)console.info("unhandled cellIs operator:",t.a$.operator,{rule:t});else return{type:"cell-match",expression:a+" "+t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("miss?",t);break;case"containsErrors":case"notContainsErrors":case"expression":if(t.formula){typeof t.formula!="string"&&(Ao(t.formula)?t.formula=t.formula.t$:(console.info("unexpected conditional expression",{rule:t}),t.formula=""));let o={};if(t.a$.dxfId){let a=Number(t.a$.dxfId);isNaN(a)||(o=this.workbook?.style_cache.dxf_styles[a]||{})}if(t.a$.type==="expression"&&(i.start.row!==i.end.row||i.start.column!==i.end.column)){this.parser.Save(),this.parser.SetLocaleSettings(".");let a=[],l=new G(i.start,i.end),c=this.parser.Parse(t.formula);if(c.expression)for(let d of l){let h=this.parser.Render(c.expression,{missing:"",offset:{rows:d.row-i.start.row,columns:d.column-i.start.column}});a.push({type:"expression",expression:h,style:o,area:{start:d,end:d},priority:t.a$.priority?Number(t.a$.priority):void 0})}return this.parser.Restore(),a}return{type:"expression",expression:t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0}}break;case"dataBar":{let o=t.dataBar?.a$?.showValue==="0",a;if(t.extLst?.ext?.["x14:id"]){for(let l of r||[])if(l["x14:cfRule"]?.a$?.id===t.extLst.ext["x14:id"]){a=l;break}a||console.info("conditional format extension not found")}if(t.dataBar?.color?.a$?.rgb){let l;a?.["x14:cfRule"]?.["x14:dataBar"]?.["x14:negativeFillColor"]?.a$?.rgb&&(l={text:"#"+a["x14:cfRule"]["x14:dataBar"]["x14:negativeFillColor"].a$.rgb.toString().substring(2)});let c={text:"#"+t.dataBar.color.a$.rgb.substring(2)};return{type:"data-bar",area:i,fill:c,hide_values:o,negative:l}}}break;case"colorScale":if(t.colorScale&&Array.isArray(t.colorScale.cfvo)&&Array.isArray(t.colorScale.color)){let o=[];for(let[a,l]of t.colorScale.cfvo.entries()){let c=0,d={},h=t.colorScale.color[a];switch(h.a$.rgb?d.text="#"+h.a$.rgb.substring(2):h.a$.theme&&(d.theme=Number(h.a$.theme)||0,h.a$.tint&&(d.tint=Math.round(Number(h.a$.tint)*1e3)/1e3)),l.a$.type){case"min":c=0;break;case"max":c=1;break;case"percentile":c=(Number(l.a$.val)||0)/100;break}o.push({color:d,value:c})}return{type:"gradient",stops:o,color_space:"RGB",area:i,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("unexpected colorScale",{rule:t});break;default:console.info("unhandled cf type:",{rule:t})}}GetSheet(e=0){if(!this.workbook)throw new Error("missing workbook");let t=this.workbook.sheets[e],r=[],i={},n=[],o=[],a=[],l=[],c=[],d=[],h=[],f=[],u=R.FindAll.bind(R,t.sheet_data),p=u("worksheet/sheetPr/tabColor"),y;if(p?.[0]){let g=p[0];if(g.a$?.theme&&(y={theme:Number(g.a$.theme)},g.a$?.tint&&(y.tint=Number(g.a$.tint))),g.a$?.rgb){let P=g.a$.rgb;y={text:"#"+(P.length>6?P.substr(P.length-6):P)}}}let v=u("worksheet/conditionalFormatting"),w=u("worksheet/extLst/ext/x14:conditionalFormattings/x14:conditionalFormatting");for(let g of v)if(g.a$?.sqref){let P=g.a$.sqref.split(/\\s+/);for(let E of P){let k=t.TranslateAddress(E);if(g.cfRule){let S=Array.isArray(g.cfRule)?g.cfRule:[g.cfRule];for(let C of S){let B=this.ParseConditionalFormat(k,C,w);B&&(Array.isArray(B)?l.push(...B):l.push(B))}}}}let b=u("worksheet/mergeCells/mergeCell");for(let g of b)if(g.a$?.ref){let P=t.TranslateAddress(g.a$.ref);Le(P)&&a.push(Nt(P,-1,-1))}let m=u("worksheet/dataValidations/dataValidation");for(let g of m){let P=g.a$?.type,E=g.a$?.sqref,k=g.formula1;if(E&&k&&typeof k=="string"&&P==="list"){let S,C=this.parser.Parse(E),B=[];C.expression&&(C.expression.type==="address"?B.push({start:C.expression,end:C.expression}):C.expression.type==="range"&&B.push(C.expression)),C=this.parser.Parse(k),C.expression&&(C.expression.type==="range"?S={type:"range",area:C.expression,target:B}:C.expression.type==="literal"&&(S={type:"list",target:B,list:C.expression.value.toString().split(/,/).map(W=>{let me=Number(W);return isNaN(me)?W.toLowerCase()==="true"?!0:W.toLowerCase()==="false"?!1:W:me})})),B.length&&S&&h.push(S)}}let A=u("worksheet/hyperlinks/hyperlink");for(let g of A){let P=t.TranslateAddress(g.a$?.ref||"");Le(P)&&(P=P.from);let E="",k="";if(g.a$&&g.a$["r:id"]){E="remote link";let S=t.rels[g.a$["r:id"]];S&&(k=S.target||"")}else k=typeof g.__location=="string"?g.__location:"",E=typeof g.__display=="string"?g.__display:"";c.push({address:P,reference:k,text:E})}let N=21,L=100,z=t.sheet_data.worksheet?.sheetFormatPr;if(z){if(z.a$?.defaultColWidth){let g=Number(z.a$.defaultColWidth);isNaN(g)||(L=Zt(g))}if(z.a$?.defaultRowHeight){let g=Number(z.a$.defaultRowHeight);isNaN(g)||(N=Math.round(g*4/3))}}let M=[],V=[],$=u("worksheet/sheetData/row");for(let g of $){let P=g.a$?.r?Number(g.a$.r):1,E=N;if(g.a$?.ht){let S=Number(g.a$.ht);isNaN(S)||(E=Math.round(S*4/3))}if(g.a$?.outlineLevel){let S=Number(g.a$.outlineLevel);isNaN(S)||(V[P-1]=S)}if(g.a$?.s){let S=Number(g.a$?.s);isNaN(S)||(d[P-1]=S)}E!==N&&(M[P-1]=E);let k=g.c?Array.isArray(g.c)?g.c:[g.c]:[];for(let S of k){let C=this.ParseCell(t,S,i,n,o,a,c);C&&r.push(C)}}let U=[],q=-1,Y=[],Q=u("worksheet/cols/col");for(let g of Q){let P=Number(g.a$?.min),E=Number(g.a$?.max);if(g.a$?.style){let k=Number(g.a$.style);if(!isNaN(P)&&!isNaN(E)&&!isNaN(k))if(t.extent&&E>=t.extent.to.col||E-P>100)q=k;else for(let S=P;S<=E;S++)U[S]=k}if(g.a$?.customWidth){let k=Number(g.a$.width);if(!isNaN(P)&&!isNaN(E)&&!isNaN(k)&&E!==16384){k=Zt(k);for(let S=P;S<=E;S++)Y[S-1]=k}}}let te=u("worksheet/tableParts/tablePart");for(let g of te){let P=g.a$?g.a$["r:id"]:void 0;if(P){let E="",k=t.rels[P];if(k){E=k.target||"";let S=this.workbook.ReadTable(E);if(S){let C=t.TranslateAddress(S.ref),B=Ye(C)?{start:{row:C.row-1,column:C.col-1},end:{row:C.row-1,column:C.col-1}}:{start:{row:C.from.row-1,column:C.from.col-1},end:{row:C.to.row-1,column:C.to.col-1}};for(let W of r)if(W.row===B.start.row&&W.column===B.start.column){W.table={area:B,name:S.name,totals_row:!!S.totals_row_count};break}}}}}let J=u("worksheet/drawing"),oe=[],pe=[],de=[];for(let g of J){let P=g.a$?g.a$["r:id"]:void 0;if(P){let E="",k=t.rels[P];if(k&&(E=k.target||""),E){let S=this.workbook.ReadDrawing(E);if(S&&S.length)for(let C of S)switch(C.type){case"chart":oe.push(C);break;case"image":pe.push(C);break;case"textbox":de.push(C);break}}}}let ae=g=>{let P={address:{row:g.row,column:g.column},offset:{x:0,y:0}};if(g.row_offset){let E=M[g.row];E===void 0&&(E=N),P.offset.y=g.row_offset/9525/E}if(g.column_offset){let E=Y[g.column];E===void 0&&(E=L),P.offset.x=g.column_offset/9525/E}return P};for(let g of de){let E={layout:{tl:ae(g.anchor.from),br:ae(g.anchor.to)},type:"textbox",data:{style:g.style,paragraphs:g.paragraphs}};g.reference&&(E.formula="="+g.reference),f.push(E)}for(let g of pe)if(g&&g.image){let P={tl:ae(g.anchor.from),br:ae(g.anchor.to)},E="image",k=Qi.default.fromByteArray(g.image),S="";if(g.filename&&(/jpe*g$/i.test(g.filename)?S="jpeg":/png$/i.test(g.filename)?S="png":/gif$/i.test(g.filename)&&(S="gif")),S&&k){let C="data:image/"+S+";base64,"+k;f.push({layout:P,type:E,data:{src:C}})}}for(let g of oe)if(g&&g.chart){let P={tl:ae(g.anchor.from),br:ae(g.anchor.to)},E,k=[],S="",C=g.chart?.series;switch(g.chart.type){case 7:E="treb-chart",S="Bubble.Chart",C&&C.length&&(k[0]=`Group(${C.map(W=>`Series(${[W.title||"",W.values||"",W.categories||"",W.bubble_size||""].join(", ")})`).join(", ")})`),k[1]=g.chart.title;break;case 9:E="treb-chart",S="Histogram.Plot",C?.length,k[1]=g.chart.title;break;case 8:E="treb-chart",S="Box.Plot",C?.length&&(k[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`),k[1]=g.chart.title;break;case 4:E="treb-chart",S="Scatter.Line",C&&C.length&&(k[0]=`Group(${C.map(W=>`Series(${W.title||""},${W.categories||""},${W.values||""})`).join(", ")})`),k[1]=g.chart.title;break;case 5:case 6:S=g.chart.type===5?"Donut.Chart":"Pie.Chart",E="treb-chart",C&&C[0]&&(k[0]=C[0].values,k[1]=C[0]?.categories||""),k[2]=g.chart.title;break;case 2:case 1:case 3:switch(k[2]=g.chart.title,E="treb-chart",g.chart.type){case 2:S="Bar.Chart";break;case 1:S="Column.Chart";break;default:S="Line.Chart"}C&&(C.length>1?k[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`:C.length===1&&(C[0].title?k[0]=`Series(${C[0].title||""},,${C[0].values||""})`:k[0]=C[0].values),k[1]=C[0]?.categories||""),g.chart.type===1&&g.chart.flags?.includes("stacked")&&(k[3]=\'"stacked"\');break}let B=`=${S}(${k.join(", ")})`;E&&B&&f.push({layout:P,type:E,formula:B})}let he=u("worksheet/extLst/ext");for(let g of he){let P="";for(let k of Object.keys(g?.a$||{})){let S=k.match(/^xmlns:(.*)$/);if(S){P=S[1];break}}let E=R.FindAll(g,`${P}:sparklineGroups/${P}:sparklineGroup`);for(let k of E){let S="Sparkline.line",C="",B="";k.a$?.type==="column"&&(S="Sparkline.column");let W=R.FindAll(k,`${P}:sparklines/${P}:sparkline`);for(let me of W)for(let x of Object.keys(me))/:f$/.test(x)?B=me[x]:/:sqref$/.test(x)&&(C=me[x]);if(B&&C){let me=`=${S}(${B})`,x=t.TranslateAddress(C);if(Ye(x)){let D={row:x.row-1,column:x.col-1,value:me,type:"formula"},Z=!1;for(let F of r)if(F.row===D.row&&F.column===D.column){Z=!0,F.type="formula",F.value=me;break}Z||r.push(D)}}}}let ee={name:t.options.name,cells:r,default_column_width:L,column_widths:Y,row_heights:M,tab_color:y,row_styles:d,annotations:f,conditional_formats:l,data_validations:h,styles:this.workbook?.style_cache?.CellXfToStyles()||[]};return V.length&&(ee.outline=V),(t.visible_state===1||t.visible_state===2)&&(ee.hidden=!0),q>=0&&(ee.sheet_style=q),U.length&&(ee.column_styles=U),ee}};var Dt=self,Cr=new zt,So=s=>{s.sheet&&(Cr.Init(s.decorated||[]),Cr.Export(s.sheet),Dt.postMessage({status:"complete",blob:Cr.Blob()}))},To=s=>{let e=new Lt;try{e.Init(s.data);let t=e.workbook?.GetNamedRanges(),r=e.SheetCount(),i={sheets:[],named:t,active_tab:e.workbook?.active_tab};for(let n=0;n<r;n++){let o=e.GetSheet(n);o&&i.sheets.push(o)}for(let n of t||[])if(typeof n.local_scope=="number"){let o=i.sheets[n.local_scope];o&&(n.scope=o.name)}Dt.postMessage({status:"complete",results:i})}catch(t){console.warn("error importing xlsx file"),console.info(t),Dt.postMessage({status:"error",data:t})}};Dt.addEventListener("message",s=>{s.data&&s.data.command==="export"?So(s.data):s.data&&s.data.command==="import"&&To(s.data)});\n';var a=async()=>new Worker(URL.createObjectURL(new Blob([e],{type:"application/javascript"})));export{a as CreateWorker};
1
+ /*! TREB v32.9.3. Copyright 2018-2025 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
+ var e='var ts=Object.create;var Ar=Object.defineProperty;var rs=Object.getOwnPropertyDescriptor;var is=Object.getOwnPropertyNames;var ss=Object.getPrototypeOf,ns=Object.prototype.hasOwnProperty;var re=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var os=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of is(e))!ns.call(s,i)&&i!==t&&Ar(s,i,{get:()=>e[i],enumerable:!(r=rs(e,i))||r.enumerable});return s};var De=(s,e,t)=>(t=s!=null?ts(ss(s)):{},os(e||!s||!s.__esModule?Ar(t,"default",{value:s,enumerable:!0}):t,s));var ft=re(ut=>{"use strict";ut.byteLength=ls;ut.toByteArray=ds;ut.fromByteArray=fs;var ye=[],fe=[],as=typeof Uint8Array<"u"?Uint8Array:Array,Vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ge=0,Sr=Vt.length;Ge<Sr;++Ge)ye[Ge]=Vt[Ge],fe[Vt.charCodeAt(Ge)]=Ge;var Ge,Sr;fe[45]=62;fe[95]=63;function Tr(s){var e=s.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=s.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function ls(s){var e=Tr(s),t=e[0],r=e[1];return(t+r)*3/4-r}function cs(s,e,t){return(e+t)*3/4-t}function ds(s){var e,t=Tr(s),r=t[0],i=t[1],n=new as(cs(s,r,i)),o=0,a=i>0?r-4:r,l;for(l=0;l<a;l+=4)e=fe[s.charCodeAt(l)]<<18|fe[s.charCodeAt(l+1)]<<12|fe[s.charCodeAt(l+2)]<<6|fe[s.charCodeAt(l+3)],n[o++]=e>>16&255,n[o++]=e>>8&255,n[o++]=e&255;return i===2&&(e=fe[s.charCodeAt(l)]<<2|fe[s.charCodeAt(l+1)]>>4,n[o++]=e&255),i===1&&(e=fe[s.charCodeAt(l)]<<10|fe[s.charCodeAt(l+1)]<<4|fe[s.charCodeAt(l+2)]>>2,n[o++]=e>>8&255,n[o++]=e&255),n}function hs(s){return ye[s>>18&63]+ye[s>>12&63]+ye[s>>6&63]+ye[s&63]}function us(s,e,t){for(var r,i=[],n=e;n<t;n+=3)r=(s[n]<<16&16711680)+(s[n+1]<<8&65280)+(s[n+2]&255),i.push(hs(r));return i.join("")}function fs(s){for(var e,t=s.length,r=t%3,i=[],n=16383,o=0,a=t-r;o<a;o+=n)i.push(us(s,o,o+n>a?a:o+n));return r===1?(e=s[t-1],i.push(ye[e>>2]+ye[e<<4&63]+"==")):r===2&&(e=(s[t-2]<<8)+s[t-1],i.push(ye[e>>10]+ye[e>>4&63]+ye[e<<2&63]+"=")),i.join("")}});var Tt=re(Re=>{"use strict";var Kr=":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD",on=Kr+"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040",ei="["+Kr+"]["+on+"]*",an=new RegExp("^"+ei+"$"),ln=function(s,e){let t=[],r=e.exec(s);for(;r;){let i=[];i.startIndex=e.lastIndex-r[0].length;let n=r.length;for(let o=0;o<n;o++)i.push(r[o]);t.push(i),r=e.exec(s)}return t},cn=function(s){let e=an.exec(s);return!(e===null||typeof e>"u")};Re.isExist=function(s){return typeof s<"u"};Re.isEmptyObject=function(s){return Object.keys(s).length===0};Re.merge=function(s,e,t){if(e){let r=Object.keys(e),i=r.length;for(let n=0;n<i;n++)t==="strict"?s[r[n]]=[e[r[n]]]:s[r[n]]=e[r[n]]}};Re.getValue=function(s){return Re.isExist(s)?s:""};Re.isName=cn;Re.getAllMatches=ln;Re.nameRegexp=ei});var dr=re(ni=>{"use strict";var cr=Tt(),dn={allowBooleanAttributes:!1,unpairedTags:[]};ni.validate=function(s,e){e=Object.assign({},dn,e);let t=[],r=!1,i=!1;s[0]==="\\uFEFF"&&(s=s.substr(1));for(let n=0;n<s.length;n++)if(s[n]==="<"&&s[n+1]==="?"){if(n+=2,n=ri(s,n),n.err)return n}else if(s[n]==="<"){let o=n;if(n++,s[n]==="!"){n=ii(s,n);continue}else{let a=!1;s[n]==="/"&&(a=!0,n++);let l="";for(;n<s.length&&s[n]!==">"&&s[n]!==" "&&s[n]!==" "&&s[n]!==`\n`&&s[n]!=="\\r";n++)l+=s[n];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),n--),!gn(l)){let h;return l.trim().length===0?h="Invalid space after \'<\'.":h="Tag \'"+l+"\' is an invalid name.",X("InvalidTag",h,ne(s,n))}let c=fn(s,n);if(c===!1)return X("InvalidAttr","Attributes for \'"+l+"\' have open quote.",ne(s,n));let d=c.value;if(n=c.index,d[d.length-1]==="/"){let h=n-d.length;d=d.substring(0,d.length-1);let f=si(d,e);if(f===!0)r=!0;else return X(f.err.code,f.err.msg,ne(s,h+f.err.line))}else if(a)if(c.tagClosed){if(d.trim().length>0)return X("InvalidTag","Closing tag \'"+l+"\' can\'t have attributes or invalid starting.",ne(s,o));if(t.length===0)return X("InvalidTag","Closing tag \'"+l+"\' has not been opened.",ne(s,o));{let h=t.pop();if(l!==h.tagName){let f=ne(s,h.tagStartPos);return X("InvalidTag","Expected closing tag \'"+h.tagName+"\' (opened in line "+f.line+", col "+f.col+") instead of closing tag \'"+l+"\'.",ne(s,o))}t.length==0&&(i=!0)}}else return X("InvalidTag","Closing tag \'"+l+"\' doesn\'t have proper closing.",ne(s,n));else{let h=si(d,e);if(h!==!0)return X(h.err.code,h.err.msg,ne(s,n-d.length+h.err.line));if(i===!0)return X("InvalidXml","Multiple possible root nodes found.",ne(s,n));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),r=!0}for(n++;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="!"){n++,n=ii(s,n);continue}else if(s[n+1]==="?"){if(n=ri(s,++n),n.err)return n}else break;else if(s[n]==="&"){let h=_n(s,n);if(h==-1)return X("InvalidChar","char \'&\' is not expected.",ne(s,n));n=h}else if(i===!0&&!ti(s[n]))return X("InvalidXml","Extra text at the end",ne(s,n));s[n]==="<"&&n--}}else{if(ti(s[n]))continue;return X("InvalidChar","char \'"+s[n]+"\' is not expected.",ne(s,n))}if(r){if(t.length==1)return X("InvalidTag","Unclosed tag \'"+t[0].tagName+"\'.",ne(s,t[0].tagStartPos));if(t.length>0)return X("InvalidXml","Invalid \'"+JSON.stringify(t.map(n=>n.tagName),null,4).replace(/\\r?\\n/g,"")+"\' found.",{line:1,col:1})}else return X("InvalidXml","Start tag expected.",1);return!0};function ti(s){return s===" "||s===" "||s===`\n`||s==="\\r"}function ri(s,e){let t=e;for(;e<s.length;e++)if(s[e]=="?"||s[e]==" "){let r=s.substr(t,e-t);if(e>5&&r==="xml")return X("InvalidXml","XML declaration allowed only at the start of the document.",ne(s,e));if(s[e]=="?"&&s[e+1]==">"){e++;break}else continue}return e}function ii(s,e){if(s.length>e+5&&s[e+1]==="-"&&s[e+2]==="-"){for(e+=3;e<s.length;e++)if(s[e]==="-"&&s[e+1]==="-"&&s[e+2]===">"){e+=2;break}}else if(s.length>e+8&&s[e+1]==="D"&&s[e+2]==="O"&&s[e+3]==="C"&&s[e+4]==="T"&&s[e+5]==="Y"&&s[e+6]==="P"&&s[e+7]==="E"){let t=1;for(e+=8;e<s.length;e++)if(s[e]==="<")t++;else if(s[e]===">"&&(t--,t===0))break}else if(s.length>e+9&&s[e+1]==="["&&s[e+2]==="C"&&s[e+3]==="D"&&s[e+4]==="A"&&s[e+5]==="T"&&s[e+6]==="A"&&s[e+7]==="["){for(e+=8;e<s.length;e++)if(s[e]==="]"&&s[e+1]==="]"&&s[e+2]===">"){e+=2;break}}return e}var hn=\'"\',un="\'";function fn(s,e){let t="",r="",i=!1;for(;e<s.length;e++){if(s[e]===hn||s[e]===un)r===""?r=s[e]:r!==s[e]||(r="");else if(s[e]===">"&&r===""){i=!0;break}t+=s[e]}return r!==""?!1:{value:t,index:e,tagClosed:i}}var pn=new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\'"])(([\\\\s\\\\S])*?)\\\\5)?`,"g");function si(s,e){let t=cr.getAllMatches(s,pn),r={};for(let i=0;i<t.length;i++){if(t[i][1].length===0)return X("InvalidAttr","Attribute \'"+t[i][2]+"\' has no space in starting.",st(t[i]));if(t[i][3]!==void 0&&t[i][4]===void 0)return X("InvalidAttr","Attribute \'"+t[i][2]+"\' is without value.",st(t[i]));if(t[i][3]===void 0&&!e.allowBooleanAttributes)return X("InvalidAttr","boolean attribute \'"+t[i][2]+"\' is not allowed.",st(t[i]));let n=t[i][2];if(!bn(n))return X("InvalidAttr","Attribute \'"+n+"\' is an invalid name.",st(t[i]));if(!r.hasOwnProperty(n))r[n]=1;else return X("InvalidAttr","Attribute \'"+n+"\' is repeated.",st(t[i]))}return!0}function mn(s,e){let t=/\\d/;for(s[e]==="x"&&(e++,t=/[\\da-fA-F]/);e<s.length;e++){if(s[e]===";")return e;if(!s[e].match(t))break}return-1}function _n(s,e){if(e++,s[e]===";")return-1;if(s[e]==="#")return e++,mn(s,e);let t=0;for(;e<s.length;e++,t++)if(!(s[e].match(/\\w/)&&t<20)){if(s[e]===";")break;return-1}return e}function X(s,e,t){return{err:{code:s,msg:e,line:t.line||t,col:t.col}}}function bn(s){return cr.isName(s)}function gn(s){return cr.isName(s)}function ne(s,e){let t=s.substring(0,e).split(/\\r?\\n/);return{line:t.length,col:t[t.length-1].length+1}}function st(s){return s.startIndex+s[1].length}});var ai=re(hr=>{var oi={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(s,e,t){return s}},yn=function(s){return Object.assign({},oi,s)};hr.buildOptions=yn;hr.defaultOptions=oi});var ci=re((gh,li)=>{"use strict";var ur=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}};li.exports=ur});var hi=re((yh,di)=>{var wn=Tt();function xn(s,e){let t={};if(s[e+3]==="O"&&s[e+4]==="C"&&s[e+5]==="T"&&s[e+6]==="Y"&&s[e+7]==="P"&&s[e+8]==="E"){e=e+9;let r=1,i=!1,n=!1,o="";for(;e<s.length;e++)if(s[e]==="<"&&!n){if(i&&An(s,e)){e+=7;let a,l;[a,l,e]=vn(s,e+1),l.indexOf("&")===-1&&(t[Rn(a)]={regx:RegExp(`&${a};`,"g"),val:l})}else if(i&&Sn(s,e))e+=8;else if(i&&Tn(s,e))e+=8;else if(i&&In(s,e))e+=9;else if(Cn)n=!0;else throw new Error("Invalid DOCTYPE");r++,o=""}else if(s[e]===">"){if(n?s[e-1]==="-"&&s[e-2]==="-"&&(n=!1,r--):r--,r===0)break}else s[e]==="["?i=!0:o+=s[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:t,i:e}}function vn(s,e){let t="";for(;e<s.length&&s[e]!=="\'"&&s[e]!==\'"\';e++)t+=s[e];if(t=t.trim(),t.indexOf(" ")!==-1)throw new Error("External entites are not supported");let r=s[e++],i="";for(;e<s.length&&s[e]!==r;e++)i+=s[e];return[t,i,e]}function Cn(s,e){return s[e+1]==="!"&&s[e+2]==="-"&&s[e+3]==="-"}function An(s,e){return s[e+1]==="!"&&s[e+2]==="E"&&s[e+3]==="N"&&s[e+4]==="T"&&s[e+5]==="I"&&s[e+6]==="T"&&s[e+7]==="Y"}function Sn(s,e){return s[e+1]==="!"&&s[e+2]==="E"&&s[e+3]==="L"&&s[e+4]==="E"&&s[e+5]==="M"&&s[e+6]==="E"&&s[e+7]==="N"&&s[e+8]==="T"}function Tn(s,e){return s[e+1]==="!"&&s[e+2]==="A"&&s[e+3]==="T"&&s[e+4]==="T"&&s[e+5]==="L"&&s[e+6]==="I"&&s[e+7]==="S"&&s[e+8]==="T"}function In(s,e){return s[e+1]==="!"&&s[e+2]==="N"&&s[e+3]==="O"&&s[e+4]==="T"&&s[e+5]==="A"&&s[e+6]==="T"&&s[e+7]==="I"&&s[e+8]==="O"&&s[e+9]==="N"}function Rn(s){if(wn.isName(s))return s;throw new Error(`Invalid entity name ${s}`)}di.exports=xn});var fi=re((wh,ui)=>{var kn=/^[-+]?0x[a-fA-F0-9]+$/,En=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,Nn={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mn(s,e={}){if(e=Object.assign({},Nn,e),!s||typeof s!="string")return s;let t=s.trim();if(e.skipLike!==void 0&&e.skipLike.test(t))return s;if(s==="0")return 0;if(e.hex&&kn.test(t))return Pn(t,16);if(t.search(/[eE]/)!==-1){let r=t.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/);if(r){if(e.leadingZeros)t=(r[1]||"")+r[3];else if(!(r[2]==="0"&&r[3][0]==="."))return s;return e.eNotation?Number(t):s}else return s}else{let r=En.exec(t);if(r){let i=r[1],n=r[2],o=Fn(r[3]);if(!e.leadingZeros&&n.length>0&&i&&t[2]!==".")return s;if(!e.leadingZeros&&n.length>0&&!i&&t[1]!==".")return s;if(e.leadingZeros&&n===s)return 0;{let a=Number(t),l=""+a;return l.search(/[eE]/)!==-1?e.eNotation?a:s:t.indexOf(".")!==-1?l==="0"&&o===""||l===o||i&&l==="-"+o?a:s:n?o===l||i+o===l?a:s:t===l||t===i+l?a:s}}else return s}}function Fn(s){return s&&s.indexOf(".")!==-1&&(s=s.replace(/0+$/,""),s==="."?s="0":s[0]==="."?s="0"+s:s[s.length-1]==="."&&(s=s.substr(0,s.length-1))),s}function Pn(s,e){if(parseInt)return parseInt(s,e);if(Number.parseInt)return Number.parseInt(s,e);if(window&&window.parseInt)return window.parseInt(s,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}ui.exports=Mn});var fr=re((xh,pi)=>{function zn(s){return typeof s=="function"?s:Array.isArray(s)?e=>{for(let t of s)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}pi.exports=zn});var bi=re((vh,_i)=>{"use strict";var mi=Tt(),nt=ci(),Ln=hi(),Dn=fi(),Gn=fr(),pr=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"\'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:\'"\'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\\xA2"},pound:{regex:/&(pound|#163);/g,val:"\\xA3"},yen:{regex:/&(yen|#165);/g,val:"\\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\\xA9"},reg:{regex:/&(reg|#174);/g,val:"\\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=Un,this.parseXml=Wn,this.parseTextData=$n,this.resolveNameSpace=Vn,this.buildAttributesMap=On,this.isItStopNode=Yn,this.replaceEntitiesValue=Bn,this.readStopNodeData=Xn,this.saveTextToParentTag=jn,this.addChild=Hn,this.ignoreAttributesFn=Gn(this.options.ignoreAttributes)}};function Un(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:s[r]}}}function $n(s,e,t,r,i,n,o){if(s!==void 0&&(this.options.trimValues&&!r&&(s=s.trim()),s.length>0)){o||(s=this.replaceEntitiesValue(s));let a=this.options.tagValueProcessor(e,s,t,i,n);return a==null?s:typeof a!=typeof s||a!==s?a:this.options.trimValues?_r(s,this.options.parseTagValue,this.options.numberParseOptions):s.trim()===s?_r(s,this.options.parseTagValue,this.options.numberParseOptions):s}}function Vn(s){if(this.options.removeNSPrefix){let e=s.split(":"),t=s.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(s=t+e[1])}return s}var Zn=new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*([\'"])([\\\\s\\\\S]*?)\\\\3)?`,"gm");function On(s,e,t){if(this.options.ignoreAttributes!==!0&&typeof s=="string"){let r=mi.getAllMatches(s,Zn),i=r.length,n={};for(let o=0;o<i;o++){let a=this.resolveNameSpace(r[o][1]);if(this.ignoreAttributesFn(a,e))continue;let l=r[o][4],c=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(c=this.options.transformAttributeName(c)),c==="__proto__"&&(c="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);let d=this.options.attributeValueProcessor(a,l,e);d==null?n[c]=l:typeof d!=typeof l||d!==l?n[c]=d:n[c]=_r(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[c]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let o={};return o[this.options.attributesGroupName]=n,o}return n}}var Wn=function(s){s=s.replace(/\\r\\n?/g,`\n`);let e=new nt("!xml"),t=e,r="",i="";for(let n=0;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="/"){let a=Oe(s,">",n,"Closing Tag is not closed."),l=s.substring(n+2,a).trim();if(this.options.removeNSPrefix){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&(r=this.saveTextToParentTag(r,t,i));let c=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let d=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(d=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=i.lastIndexOf("."),i=i.substring(0,d),t=this.tagsNodeStack.pop(),r="",n=a}else if(s[n+1]==="?"){let a=mr(s,n,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,t,i),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let l=new nt(a.tagName);l.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(l[":@"]=this.buildAttributesMap(a.tagExp,i,a.tagName)),this.addChild(t,l,i)}n=a.closeIndex+1}else if(s.substr(n+1,3)==="!--"){let a=Oe(s,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let l=s.substring(n+4,a-2);r=this.saveTextToParentTag(r,t,i),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}n=a}else if(s.substr(n+1,2)==="!D"){let a=Ln(s,n);this.docTypeEntities=a.entities,n=a.i}else if(s.substr(n+1,2)==="!["){let a=Oe(s,"]]>",n,"CDATA is not closed.")-2,l=s.substring(n+9,a);r=this.saveTextToParentTag(r,t,i);let c=this.parseTextData(l,t.tagname,i,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,c),n=a+2}else{let a=mr(s,n,this.options.removeNSPrefix),l=a.tagName,c=a.rawTagName,d=a.tagExp,h=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&r&&t.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,t,i,!1));let u=t;if(u&&this.options.unpairedTags.indexOf(u.tagname)!==-1&&(t=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let p="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),n=a.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)n=a.closeIndex;else{let v=this.readStopNodeData(s,c,f+1);if(!v)throw new Error(`Unexpected end of ${c}`);n=v.i,p=v.tagContent}let y=new nt(l);l!==d&&h&&(y[":@"]=this.buildAttributesMap(d,i,l)),p&&(p=this.parseTextData(p,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),y.add(this.options.textNodeName,p),this.addChild(t,y,i)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));let p=new nt(l);l!==d&&h&&(p[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,p,i),i=i.substr(0,i.lastIndexOf("."))}else{let p=new nt(l);this.tagsNodeStack.push(t),l!==d&&h&&(p[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,p,i),t=p}r="",n=f}}else r+=s[n];return e.child};function Hn(s,e,t){let r=this.options.updateTag(e.tagname,t,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),s.addChild(e))}var Bn=function(s){if(this.options.processEntities){for(let e in this.docTypeEntities){let t=this.docTypeEntities[e];s=s.replace(t.regx,t.val)}for(let e in this.lastEntities){let t=this.lastEntities[e];s=s.replace(t.regex,t.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let t=this.htmlEntities[e];s=s.replace(t.regex,t.val)}s=s.replace(this.ampEntity.regex,this.ampEntity.val)}return s};function jn(s,e,t,r){return s&&(r===void 0&&(r=e.child.length===0),s=this.parseTextData(s,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),s!==void 0&&s!==""&&e.add(this.options.textNodeName,s),s=""),s}function Yn(s,e,t){let r="*."+t;for(let i in s){let n=s[i];if(r===n||e===n)return!0}return!1}function Jn(s,e,t=">"){let r,i="";for(let n=e;n<s.length;n++){let o=s[n];if(r)o===r&&(r="");else if(o===\'"\'||o==="\'")r=o;else if(o===t[0])if(t[1]){if(s[n+1]===t[1])return{data:i,index:n}}else return{data:i,index:n};else o===" "&&(o=" ");i+=o}}function Oe(s,e,t,r){let i=s.indexOf(e,t);if(i===-1)throw new Error(r);return i+e.length-1}function mr(s,e,t,r=">"){let i=Jn(s,e+1,r);if(!i)return;let n=i.data,o=i.index,a=n.search(/\\s/),l=n,c=!0;a!==-1&&(l=n.substring(0,a),n=n.substring(a+1).trimStart());let d=l;if(t){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),c=l!==i.data.substr(h+1))}return{tagName:l,tagExp:n,closeIndex:o,attrExpPresent:c,rawTagName:d}}function Xn(s,e,t){let r=t,i=1;for(;t<s.length;t++)if(s[t]==="<")if(s[t+1]==="/"){let n=Oe(s,">",t,`${e} is not closed`);if(s.substring(t+2,n).trim()===e&&(i--,i===0))return{tagContent:s.substring(r,t),i:n};t=n}else if(s[t+1]==="?")t=Oe(s,"?>",t+1,"StopNode is not closed.");else if(s.substr(t+1,3)==="!--")t=Oe(s,"-->",t+3,"StopNode is not closed.");else if(s.substr(t+1,2)==="![")t=Oe(s,"]]>",t,"StopNode is not closed.")-2;else{let n=mr(s,t,">");n&&((n&&n.tagName)===e&&n.tagExp[n.tagExp.length-1]!=="/"&&i++,t=n.closeIndex)}}function _r(s,e,t){if(e&&typeof s=="string"){let r=s.trim();return r==="true"?!0:r==="false"?!1:Dn(s,t)}else return mi.isExist(s)?s:""}_i.exports=pr});var wi=re(yi=>{"use strict";function Qn(s,e){return gi(s,e)}function gi(s,e,t){let r,i={};for(let n=0;n<s.length;n++){let o=s[n],a=qn(o),l="";if(t===void 0?l=a:l=t+"."+a,a===e.textNodeName)r===void 0?r=o[a]:r+=""+o[a];else{if(a===void 0)continue;if(o[a]){let c=gi(o[a],e,l),d=eo(c,e);o[":@"]?Kn(c,o[":@"],l,e):Object.keys(c).length===1&&c[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?c=c[e.textNodeName]:Object.keys(c).length===0&&(e.alwaysCreateTextNode?c[e.textNodeName]="":c=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(c)):e.isArray(a,l,d)?i[a]=[c]:i[a]=c}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function qn(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(r!==":@")return r}}function Kn(s,e,t,r){if(e){let i=Object.keys(e),n=i.length;for(let o=0;o<n;o++){let a=i[o];r.isArray(a,t+"."+a,!0,!0)?s[a]=[e[a]]:s[a]=e[a]}}}function eo(s,e){let{textNodeName:t}=e,r=Object.keys(s).length;return!!(r===0||r===1&&(s[t]||typeof s[t]=="boolean"||s[t]===0))}yi.prettify=Qn});var vi=re((Ah,xi)=>{var{buildOptions:to}=ai(),ro=bi(),{prettify:io}=wi(),so=dr(),br=class{constructor(e){this.externalEntities={},this.options=to(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let n=so.validate(e,t);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let r=new ro(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:io(i,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can\'t have \'&\'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without \'&\' and \';\'. Eg. use \'#xD\' for \'&#xD;\'");if(t==="&")throw new Error("An entity with value \'&\' is not permitted");this.externalEntities[e]=t}};xi.exports=br});var Ii=re((Sh,Ti)=>{var no=`\n`;function oo(s,e){let t="";return e.format&&e.indentBy.length>0&&(t=no),Ai(s,e,"",t)}function Ai(s,e,t,r){let i="",n=!1;for(let o=0;o<s.length;o++){let a=s[o],l=ao(a);if(l===void 0)continue;let c="";if(t.length===0?c=l:c=`${t}.${l}`,l===e.textNodeName){let p=a[l];lo(c,e)||(p=e.tagValueProcessor(l,p),p=Si(p,e)),n&&(i+=r),i+=p,n=!1;continue}else if(l===e.cdataPropName){n&&(i+=r),i+=`<![CDATA[${a[l][0][e.textNodeName]}]]>`,n=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${a[l][0][e.textNodeName]}-->`,n=!0;continue}else if(l[0]==="?"){let p=Ci(a[":@"],e),y=l==="?xml"?"":r,v=a[l][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=y+`<${l}${v}${p}?>`,n=!0;continue}let d=r;d!==""&&(d+=e.indentBy);let h=Ci(a[":@"],e),f=r+`<${l}${h}`,u=Ai(a[l],e,c,d);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=f+">":i+=f+"/>":(!u||u.length===0)&&e.suppressEmptyNode?i+=f+"/>":u&&u.endsWith(">")?i+=f+`>${u}${r}</${l}>`:(i+=f+">",u&&r!==""&&(u.includes("/>")||u.includes("</"))?i+=r+e.indentBy+u+r:i+=u,i+=`</${l}>`),n=!0}return i}function ao(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(s.hasOwnProperty(r)&&r!==":@")return r}}function Ci(s,e){let t="";if(s&&!e.ignoreAttributes)for(let r in s){if(!s.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,s[r]);i=Si(i,e),i===!0&&e.suppressBooleanAttributes?t+=` ${r.substr(e.attributeNamePrefix.length)}`:t+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return t}function lo(s,e){s=s.substr(0,s.length-e.textNodeName.length-1);let t=s.substr(s.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===s||e.stopNodes[r]==="*."+t)return!0;return!1}function Si(s,e){if(s&&s.length>0&&e.processEntities)for(let t=0;t<e.entities.length;t++){let r=e.entities[t];s=s.replace(r.regex,r.val)}return s}Ti.exports=oo});var ki=re((Th,Ri)=>{"use strict";var co=Ii(),ho=fr(),uo={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("\'","g"),val:"&apos;"},{regex:new RegExp(\'"\',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Pe(s){this.options=Object.assign({},uo,s),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=ho(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=mo),this.processTextOrObjNode=fo,this.options.format?(this.indentate=po,this.tagEndChar=`>\n`,this.newLine=`\n`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Pe.prototype.build=function(s){return this.options.preserveOrder?co(s,this.options):(Array.isArray(s)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(s={[this.options.arrayNodeName]:s}),this.j2x(s,0,[]).val)};Pe.prototype.j2x=function(s,e,t){let r="",i="",n=t.join(".");for(let o in s)if(Object.prototype.hasOwnProperty.call(s,o))if(typeof s[o]>"u")this.isAttribute(o)&&(i+="");else if(s[o]===null)this.isAttribute(o)||o===this.options.cdataPropName?i+="":o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(s[o]instanceof Date)i+=this.buildTextValNode(s[o],o,"",e);else if(typeof s[o]!="object"){let a=this.isAttribute(o);if(a&&!this.ignoreAttributesFn(a,n))r+=this.buildAttrPairStr(a,""+s[o]);else if(!a)if(o===this.options.textNodeName){let l=this.options.tagValueProcessor(o,""+s[o]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(s[o],o,"",e)}else if(Array.isArray(s[o])){let a=s[o].length,l="",c="";for(let d=0;d<a;d++){let h=s[o][d];if(!(typeof h>"u"))if(h===null)o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){let f=this.j2x(h,e+1,t.concat(o));l+=f.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(c+=f.attrStr)}else l+=this.processTextOrObjNode(h,o,e,t);else if(this.options.oneListGroup){let f=this.options.tagValueProcessor(o,h);f=this.replaceEntitiesValue(f),l+=f}else l+=this.buildTextValNode(h,o,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,o,c,e)),i+=l}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){let a=Object.keys(s[o]),l=a.length;for(let c=0;c<l;c++)r+=this.buildAttrPairStr(a[c],""+s[o][a[c]])}else i+=this.processTextOrObjNode(s[o],o,e,t);return{attrStr:r,val:i}};Pe.prototype.buildAttrPairStr=function(s,e){return e=this.options.attributeValueProcessor(s,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+s:" "+s+\'="\'+e+\'"\'};function fo(s,e,t,r){let i=this.j2x(s,t+1,r.concat(e));return s[this.options.textNodeName]!==void 0&&Object.keys(s).length===1?this.buildTextValNode(s[this.options.textNodeName],e,i.attrStr,t):this.buildObjectNode(i.val,e,i.attrStr,t)}Pe.prototype.buildObjectNode=function(s,e,t,r){if(s==="")return e[0]==="?"?this.indentate(r)+"<"+e+t+"?"+this.tagEndChar:this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,n="";return e[0]==="?"&&(n="?",i=""),(t||t==="")&&s.indexOf("<")===-1?this.indentate(r)+"<"+e+t+n+">"+s+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&n.length===0?this.indentate(r)+`<!--${s}-->`+this.newLine:this.indentate(r)+"<"+e+t+n+this.tagEndChar+s+this.indentate(r)+i}};Pe.prototype.closeTag=function(s){let e="";return this.options.unpairedTags.indexOf(s)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${s}`,e};Pe.prototype.buildTextValNode=function(s,e,t,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${s}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${s}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+t+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,s);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+t+">"+i+"</"+e+this.tagEndChar}};Pe.prototype.replaceEntitiesValue=function(s){if(s&&s.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let t=this.options.entities[e];s=s.replace(t.regex,t.val)}return s};function po(s){return this.options.indentBy.repeat(s)}function mo(s){return s.startsWith(this.options.attributeNamePrefix)&&s!==this.options.textNodeName?s.substr(this.attrPrefixLen):!1}Ri.exports=Pe});var It=re((Ih,Ei)=>{"use strict";var _o=dr(),bo=vi(),go=ki();Ei.exports={XMLParser:bo,XMLValidator:_o,XMLBuilder:go}});var Wi=re((au,wr)=>{var _={};typeof wr=="object"&&(wr.exports=_);_.parse=function(s,e){for(var t=_.bin.readUshort,r=_.bin.readUint,a=0,i={},n=new Uint8Array(s),o=n.length-4;r(n,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(n,a);a+=2;var c=t(n,a);a+=2;var d=r(n,a);a+=4;var h=r(n,a);a+=4,a=h;for(var f=0;f<l;f++){var u=r(n,a);a+=4,a+=4,a+=4,a+=4;var p=r(n,a);a+=4;var d=r(n,a);a+=4;var y=r(n,a);a+=4;var v=t(n,a),w=t(n,a+2),b=t(n,a+4);a+=6,a+=8;var m=r(n,a);a+=4,a+=v+w+b,_._readLocal(n,m,i,d,y,e)}return i};_._readLocal=function(s,e,t,r,i,n){var o=_.bin.readUshort,a=_.bin.readUint,l=a(s,e);e+=4;var c=o(s,e);e+=2;var d=o(s,e);e+=2;var h=o(s,e);e+=2;var f=a(s,e);e+=4;var u=a(s,e);e+=4,e+=8;var p=o(s,e);e+=2;var y=o(s,e);e+=2;var v=_.bin.readUTF8(s,e,p);if(e+=p,e+=y,n){t[v]={size:i,csize:r};return}var w=new Uint8Array(s.buffer,e);if(h==0)t[v]=new Uint8Array(w.buffer.slice(e,e+r));else if(h==8){var b=new Uint8Array(i);_.inflateRaw(w,b),t[v]=b}else throw"unknown compression method: "+h};_.inflateRaw=function(s,e){return _.F.inflate(s,e)};_.inflate=function(s,e){var t=s[0],r=s[1],i=t&15,n=t>>>4;return _.inflateRaw(new Uint8Array(s.buffer,s.byteOffset+2,s.length-6),e)};_.deflate=function(s,e){e==null&&(e={level:6});var t=0,r=new Uint8Array(50+Math.floor(s.length*1.1));r[t]=120,r[t+1]=156,t+=2,t=_.F.deflateRaw(s,r,t,e.level);var i=_.adler(s,0,s.length);return r[t+0]=i>>>24&255,r[t+1]=i>>>16&255,r[t+2]=i>>>8&255,r[t+3]=i>>>0&255,new Uint8Array(r.buffer,0,t+4)};_.deflateRaw=function(s,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(s.length*1.1)),r=_.F.deflateRaw(s,t,r,e.level);return new Uint8Array(t.buffer,0,r)};_.encode=function(s,e){e==null&&(e=!1);var t=0,r=_.bin.writeUint,i=_.bin.writeUshort,n={};for(var o in s){var a=!_._noNeed(o)&&!e,l=s[o],c=_.crc.crc(l,0,l.length);n[o]={cpr:a,usize:l.length,crc:c,file:a?_.deflateRaw(l):l}}for(var o in n)t+=n[o].file.length+30+46+2*_.bin.sizeUTF8(o);t+=22;var d=new Uint8Array(t),h=0,f=[];for(var o in n){var u=n[o];f.push(h),h=_._writeHeader(d,h,o,u,0)}var p=0,y=h;for(var o in n){var u=n[o];f.push(h),h=_._writeHeader(d,h,o,u,1,f[p++])}var v=h-y;return r(d,h,101010256),h+=4,h+=4,i(d,h,p),h+=2,i(d,h,p),h+=2,r(d,h,v),h+=4,r(d,h,y),h+=4,h+=2,d.buffer};_._noNeed=function(s){var e=s.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};_._writeHeader=function(s,e,t,r,i,n){var o=_.bin.writeUint,a=_.bin.writeUshort,l=r.file;o(s,e,i==0?67324752:33639248),e+=4,i==1&&(e+=2),a(s,e,20),e+=2,a(s,e,0),e+=2,a(s,e,r.cpr?8:0),e+=2,o(s,e,0),e+=4,o(s,e,r.crc),e+=4,o(s,e,l.length),e+=4,o(s,e,r.usize),e+=4,a(s,e,_.bin.sizeUTF8(t)),e+=2,a(s,e,0),e+=2,i==1&&(e+=2,e+=2,e+=6,o(s,e,n),e+=4);var c=_.bin.writeUTF8(s,e,t);return e+=c,i==0&&(s.set(l,e),e+=l.length),e};_.crc={table:function(){for(var s=new Uint32Array(256),e=0;e<256;e++){for(var t=e,r=0;r<8;r++)t&1?t=3988292384^t>>>1:t=t>>>1;s[e]=t}return s}(),update:function(s,e,t,r){for(var i=0;i<r;i++)s=_.crc.table[(s^e[t+i])&255]^s>>>8;return s},crc:function(s,e,t){return _.crc.update(4294967295,s,e,t)^4294967295}};_.adler=function(s,e,t){for(var r=1,i=0,n=e,o=e+t;n<o;){for(var a=Math.min(n+5552,o);n<a;)r+=s[n++],i+=r;r=r%65521,i=i%65521}return i<<16|r};_.bin={readUshort:function(s,e){return s[e]|s[e+1]<<8},writeUshort:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255},readUint:function(s,e){return s[e+3]*(256*256*256)+(s[e+2]<<16|s[e+1]<<8|s[e])},writeUint:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255,s[e+2]=t>>16&255,s[e+3]=t>>24&255},readASCII:function(s,e,t){for(var r="",i=0;i<t;i++)r+=String.fromCharCode(s[e+i]);return r},writeASCII:function(s,e,t){for(var r=0;r<t.length;r++)s[e+r]=t.charCodeAt(r)},pad:function(s){return s.length<2?"0"+s:s},readUTF8:function(s,e,t){for(var r="",i,n=0;n<t;n++)r+="%"+_.bin.pad(s[e+n].toString(16));try{i=decodeURIComponent(r)}catch{return _.bin.readASCII(s,e,t)}return i},writeUTF8:function(s,e,t){for(var r=t.length,i=0,n=0;n<r;n++){var o=t.charCodeAt(n);if((o&4294967168)==0)s[e+i]=o,i++;else if((o&4294965248)==0)s[e+i]=192|o>>6,s[e+i+1]=128|o>>0&63,i+=2;else if((o&4294901760)==0)s[e+i]=224|o>>12,s[e+i+1]=128|o>>6&63,s[e+i+2]=128|o>>0&63,i+=3;else if((o&4294967295-(1<<21)+1)==0)s[e+i]=240|o>>18,s[e+i+1]=128|o>>12&63,s[e+i+2]=128|o>>6&63,s[e+i+3]=128|o>>0&63,i+=4;else throw"e"}return i},sizeUTF8:function(s){for(var e=s.length,t=0,r=0;r<e;r++){var i=s.charCodeAt(r);if((i&4294967168)==0)t++;else if((i&4294965248)==0)t+=2;else if((i&4294901760)==0)t+=3;else if((i&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};_.F={};_.F.deflateRaw=function(s,e,t,r){var i=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],n=i[r],o=_.F.U,a=_.F._goodIndex,l=_.F._hash,c=_.F._putsE,d=0,h=t<<3,f=0,u=s.length;if(r==0){for(;d<u;){var p=Math.min(65535,u-d);c(e,h,d+p==u?1:0),h=_.F._copyExact(s,d,p,e,h+8),d+=p}return h>>>3}var y=o.lits,v=o.strt,w=o.prev,b=0,m=0,A=0,N=0,L=0,z=0;u>2&&(z=_.F._hash(s,0),v[z]=0);var M=0,V=0;for(d=0;d<u;d++){if(L=z,d+1<u-2){z=_.F._hash(s,d+1);var $=d+1&32767;w[$]=v[z],v[z]=$}if(f<=d){(b>14e3||m>26697)&&u-d>100&&(f<d&&(y[b]=d-f,b+=2,f=d),h=_.F._writeBlock(d==u-1||f==u?1:0,y,b,N,s,A,d-A,e,h),b=m=N=0,A=d);var U=0;d<u-2&&(U=_.F._bestMatch(s,d,w,L,Math.min(n[2],u-d),n[3]));var p=U>>>16,q=U&65535;if(U!=0){var p=U>>>16,q=U&65535,Y=a(p,o.of0);o.lhst[257+Y]++;var Q=a(q,o.df0);o.dhst[Q]++,N+=o.exb[Y]+o.dxb[Q],y[b]=p<<23|d-f,y[b+1]=q<<16|Y<<8|Q,b+=2,f=d+p}else o.lhst[s[d]]++;m++}}for((A!=d||s.length==0)&&(f<d&&(y[b]=d-f,b+=2,f=d),h=_.F._writeBlock(1,y,b,N,s,A,d-A,e,h),b=0,m=0,b=m=N=0,A=d);(h&7)!=0;)h++;return h>>>3};_.F._bestMatch=function(s,e,t,r,i,n){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||r!=_.F._hash(s,e-l))return 0;for(var c=0,d=0,h=Math.min(32767,e);l<=h&&--n!=0&&a!=o;){if(c==0||s[e+c]==s[e+c-l]){var f=_.F._howLong(s,e,l);if(f>c){if(c=f,d=l,c>=i)break;l+2<f&&(f=l+2);for(var u=0,p=0;p<f-2;p++){var y=e-l+p+32768&32767,v=t[y],w=y-v+32768&32767;w>u&&(u=w,a=y)}}}o=a,a=t[o],l+=o-a+32768&32767}return c<<16|d};_.F._howLong=function(s,e,t){if(s[e]!=s[e-t]||s[e+1]!=s[e+1-t]||s[e+2]!=s[e+2-t])return 0;var r=e,i=Math.min(s.length,e+258);for(e+=3;e<i&&s[e]==s[e-t];)e++;return e-r};_.F._hash=function(s,e){return(s[e]<<8|s[e+1])+(s[e+2]<<4)&65535};_.saved=0;_.F._writeBlock=function(s,e,t,r,i,n,o,a,l){var c=_.F.U,d=_.F._putsF,h=_.F._putsE,f,u,p,y,v,w,b,m,A;c.lhst[256]++,f=_.F.getTrees(),u=f[0],p=f[1],y=f[2],v=f[3],w=f[4],b=f[5],m=f[6],A=f[7];var N=((l+3&7)==0?0:8-(l+3&7))+32+(o<<3),L=r+_.F.contSize(c.fltree,c.lhst)+_.F.contSize(c.fdtree,c.dhst),z=r+_.F.contSize(c.ltree,c.lhst)+_.F.contSize(c.dtree,c.dhst);z+=14+3*b+_.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var M=0;M<286;M++)c.lhst[M]=0;for(var M=0;M<30;M++)c.dhst[M]=0;for(var M=0;M<19;M++)c.ihst[M]=0;var V=N<L&&N<z?0:L<z?1:2;d(a,l,s),d(a,l+1,V),l+=3;var $=l;if(V==0){for(;(l&7)!=0;)l++;l=_.F._copyExact(i,n,o,a,l)}else{var U,q;if(V==1&&(U=c.fltree,q=c.fdtree),V==2){_.F.makeCodes(c.ltree,u),_.F.revCodes(c.ltree,u),_.F.makeCodes(c.dtree,p),_.F.revCodes(c.dtree,p),_.F.makeCodes(c.itree,y),_.F.revCodes(c.itree,y),U=c.ltree,q=c.dtree,h(a,l,v-257),l+=5,h(a,l,w-1),l+=5,h(a,l,b-4),l+=4;for(var Y=0;Y<b;Y++)h(a,l+Y*3,c.itree[(c.ordr[Y]<<1)+1]);l+=3*b,l=_.F._codeTiny(m,c.itree,a,l),l=_.F._codeTiny(A,c.itree,a,l)}for(var Q=n,te=0;te<t;te+=2){for(var J=e[te],oe=J>>>23,pe=Q+(J&(1<<23)-1);Q<pe;)l=_.F._writeLit(i[Q++],U,a,l);if(oe!=0){var de=e[te+1],ae=de>>16,he=de>>8&255,ee=de&255;l=_.F._writeLit(257+he,U,a,l),h(a,l,oe-c.of0[he]),l+=c.exb[he],l=_.F._writeLit(ee,q,a,l),d(a,l,ae-c.df0[ee]),l+=c.dxb[ee],Q+=oe}}l=_.F._writeLit(256,U,a,l)}return l};_.F._copyExact=function(s,e,t,r,i){var n=i>>>3;return r[n]=t,r[n+1]=t>>>8,r[n+2]=255-r[n],r[n+3]=255-r[n+1],n+=4,r.set(new Uint8Array(s.buffer,e,t),n),i+(t+4<<3)};_.F.getTrees=function(){for(var s=_.F.U,e=_.F._hufTree(s.lhst,s.ltree,15),t=_.F._hufTree(s.dhst,s.dtree,15),r=[],i=_.F._lenCodes(s.ltree,r),n=[],o=_.F._lenCodes(s.dtree,n),a=0;a<r.length;a+=2)s.ihst[r[a]]++;for(var a=0;a<n.length;a+=2)s.ihst[n[a]]++;for(var l=_.F._hufTree(s.ihst,s.itree,7),c=19;c>4&&s.itree[(s.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,i,o,c,r,n]};_.F.getSecond=function(s){for(var e=[],t=0;t<s.length;t+=2)e.push(s[t+1]);return e};_.F.nonZero=function(s){for(var e="",t=0;t<s.length;t+=2)s[t+1]!=0&&(e+=(t>>1)+",");return e};_.F.contSize=function(s,e){for(var t=0,r=0;r<e.length;r++)t+=e[r]*s[(r<<1)+1];return t};_.F._codeTiny=function(s,e,t,r){for(var i=0;i<s.length;i+=2){var n=s[i],o=s[i+1];r=_.F._writeLit(n,e,t,r);var a=n==16?2:n==17?3:7;n>15&&(_.F._putsE(t,r,o,a),r+=a)}return r};_.F._lenCodes=function(s,e){for(var t=s.length;t!=2&&s[t-1]==0;)t-=2;for(var r=0;r<t;r+=2){var i=s[r+1],n=r+3<t?s[r+3]:-1,o=r+5<t?s[r+5]:-1,a=r==0?-1:s[r-1];if(i==0&&n==i&&o==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),r+=c*2-2}else if(i==a&&n==i&&o==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,6);e.push(16,c-3),r+=c*2-2}else e.push(i,0)}return t>>>1};_.F._hufTree=function(s,e,t){var r=[],i=s.length,n=e.length,o=0;for(o=0;o<n;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<i;o++)s[o]!=0&&r.push({lit:o,f:s[o]});var a=r.length,l=r.slice(0);if(a==0)return 0;if(a==1){var c=r[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}r.sort(function(v,w){return v.f-w.f});var d=r[0],h=r[1],f=0,u=1,p=2;for(r[0]={lit:-1,f:d.f+h.f,l:d,r:h,d:0};u!=a-1;)f!=u&&(p==a||r[f].f<r[p].f)?d=r[f++]:d=r[p++],f!=u&&(p==a||r[f].f<r[p].f)?h=r[f++]:h=r[p++],r[u++]={lit:-1,f:d.f+h.f,l:d,r:h};var y=_.F.setDepth(r[u-1],0);for(y>t&&(_.F.restrictDepth(l,t,y),y=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return y};_.F.setDepth=function(s,e){return s.lit!=-1?(s.d=e,e):Math.max(_.F.setDepth(s.l,e+1),_.F.setDepth(s.r,e+1))};_.F.restrictDepth=function(s,e,t){var r=0,i=1<<t-e,n=0;for(s.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),r=0;r<s.length&&s[r].d>e;r++){var o=s[r].d;s[r].d=e,n+=i-(1<<t-o)}for(n=n>>>t-e;n>0;){var o=s[r].d;o<e?(s[r].d++,n-=1<<e-o-1):r++}for(;r>=0;r--)s[r].d==e&&n<0&&(s[r].d--,n++);n!=0&&console.log("debt left")};_.F._goodIndex=function(s,e){var t=0;return e[t|16]<=s&&(t|=16),e[t|8]<=s&&(t|=8),e[t|4]<=s&&(t|=4),e[t|2]<=s&&(t|=2),e[t|1]<=s&&(t|=1),t};_.F._writeLit=function(s,e,t,r){return _.F._putsF(t,r,e[s<<1]),r+e[(s<<1)+1]};_.F.inflate=function(s,e){var t=Uint8Array;if(s[0]==3&&s[1]==0)return e||new t(0);var r=_.F,i=r._bitsF,n=r._bitsE,o=r._decodeTiny,a=r.makeCodes,l=r.codes2map,c=r._get17,d=r.U,h=e==null;h&&(e=new t(s.length>>>2<<3));for(var f=0,u=0,p=0,y=0,v=0,w=0,b=0,m=0,A=0,N,L;f==0;){if(f=i(s,A,1),u=i(s,A+1,2),A+=3,u==0){(A&7)!=0&&(A+=8-(A&7));var z=(A>>>3)+4,M=s[z-4]|s[z-3]<<8;h&&(e=_.F._check(e,m+M)),e.set(new t(s.buffer,s.byteOffset+z,M),m),A=z+M<<3,m+=M;continue}if(h&&(e=_.F._check(e,m+(1<<17))),u==1&&(N=d.flmap,L=d.fdmap,w=511,b=31),u==2){p=n(s,A,5)+257,y=n(s,A+5,5)+1,v=n(s,A+10,4)+4,A+=14;for(var V=A,$=0;$<38;$+=2)d.itree[$]=0,d.itree[$+1]=0;for(var U=1,$=0;$<v;$++){var q=n(s,A+$*3,3);d.itree[(d.ordr[$]<<1)+1]=q,q>U&&(U=q)}A+=3*v,a(d.itree,U),l(d.itree,U,d.imap),N=d.lmap,L=d.dmap,A=o(d.imap,(1<<U)-1,p+y,s,A,d.ttree);var Y=r._copyOut(d.ttree,0,p,d.ltree);w=(1<<Y)-1;var Q=r._copyOut(d.ttree,p,y,d.dtree);b=(1<<Q)-1,a(d.ltree,Y),l(d.ltree,Y,N),a(d.dtree,Q),l(d.dtree,Q,L)}for(;;){var te=N[c(s,A)&w];A+=te&15;var J=te>>>4;if(!(J>>>8))e[m++]=J;else{if(J==256)break;var oe=m+J-254;if(J>264){var pe=d.ldef[J-257];oe=m+(pe>>>3)+n(s,A,pe&7),A+=pe&7}var de=L[c(s,A)&b];A+=de&15;var ae=de>>>4,he=d.ddef[ae],ee=(he>>>4)+i(s,A,he&15);for(A+=he&15,h&&(e=_.F._check(e,m+(1<<17)));m<oe;)e[m]=e[m++-ee],e[m]=e[m++-ee],e[m]=e[m++-ee],e[m]=e[m++-ee];m=oe}}}return e.length==m?e:e.slice(0,m)};_.F._check=function(s,e){var t=s.length;if(e<=t)return s;var r=new Uint8Array(Math.max(t<<1,e));return r.set(s,0),r};_.F._decodeTiny=function(s,e,t,r,i,n){for(var o=_.F._bitsE,a=_.F._get17,l=0;l<t;){var c=s[a(r,i)&e];i+=c&15;var d=c>>>4;if(d<=15)n[l]=d,l++;else{var h=0,f=0;d==16?(f=3+o(r,i,2),i+=2,h=n[l-1]):d==17?(f=3+o(r,i,3),i+=3):d==18&&(f=11+o(r,i,7),i+=7);for(var u=l+f;l<u;)n[l]=h,l++}}return i};_.F._copyOut=function(s,e,t,r){for(var i=0,n=0,o=r.length>>>1;n<t;){var a=s[n+e];r[n<<1]=0,r[(n<<1)+1]=a,a>i&&(i=a),n++}for(;n<o;)r[n<<1]=0,r[(n<<1)+1]=0,n++;return i};_.F.makeCodes=function(s,e){for(var t=_.F.U,r=s.length,i,n,o,a,l,c=t.bl_count,a=0;a<=e;a++)c[a]=0;for(a=1;a<r;a+=2)c[s[a]]++;var d=t.next_code;for(i=0,c[0]=0,n=1;n<=e;n++)i=i+c[n-1]<<1,d[n]=i;for(o=0;o<r;o+=2)l=s[o+1],l!=0&&(s[o]=d[l],d[l]++)};_.F.codes2map=function(s,e,t){for(var r=s.length,i=_.F.U,n=i.rev15,o=0;o<r;o+=2)if(s[o+1]!=0)for(var a=o>>1,l=s[o+1],c=a<<4|l,d=e-l,h=s[o]<<d,f=h+(1<<d);h!=f;){var u=n[h]>>>15-e;t[u]=c,h++}};_.F.revCodes=function(s,e){for(var t=_.F.U.rev15,r=15-e,i=0;i<s.length;i+=2){var n=s[i]<<e-s[i+1];s[i]=t[n]>>>r}};_.F._putsE=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8};_.F._putsF=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8,s[r+2]|=t>>>16};_.F._bitsE=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};_.F._bitsF=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};_.F._get17=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)};_.F._get25=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16|s[(e>>>3)+3]<<24)>>>(e&7)};_.F.U=function(){var s=Uint16Array,e=Uint32Array;return{next_code:new s(16),bl_count:new s(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new s(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new s(512),fltree:[],fdmap:new s(32),fdtree:[],lmap:new s(32768),ltree:[],ttree:[],dmap:new s(32768),dtree:[],imap:new s(512),itree:[],rev15:new s(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new s(65536),prev:new s(32768)}}();(function(){for(var s=_.F.U,e=32768,t=0;t<e;t++){var r=t;r=(r&2863311530)>>>1|(r&1431655765)<<1,r=(r&3435973836)>>>2|(r&858993459)<<2,r=(r&4042322160)>>>4|(r&252645135)<<4,r=(r&4278255360)>>>8|(r&16711935)<<8,s.rev15[t]=(r>>>16|r<<16)>>>17}function i(n,o,a){for(;o--!=0;)n.push(0,a)}for(var t=0;t<32;t++)s.ldef[t]=s.of0[t]<<3|s.exb[t],s.ddef[t]=s.df0[t]<<4|s.dxb[t];i(s.fltree,144,8),i(s.fltree,112,9),i(s.fltree,24,7),i(s.fltree,8,8),_.F.makeCodes(s.fltree,9),_.F.codes2map(s.fltree,9,s.flmap),_.F.revCodes(s.fltree,9),i(s.fdtree,32,5),_.F.makeCodes(s.fdtree,5),_.F.codes2map(s.fdtree,5,s.fdmap),_.F.revCodes(s.fdtree,5),i(s.itree,19,0),i(s.ltree,286,0),i(s.dtree,30,0),i(s.ttree,320,0)})()});var Ji=De(ft());var pt=s=>{let e=Math.floor((s-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},Zt=s=>Math.floor((256*s+Math.floor(18.285714285714285))/256*7);var Ir="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var Ne=s=>s!==null&&typeof s=="object"&&"row"in s&&"column"in s;var G=class s{start_;end_;constructor(e,t=e,r=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),r&&this.Normalize()}static FromColumn(e){return new s({row:1/0,column:e})}static FromRow(e){return new s({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let r=t?`${e.sheet_id||0}!`:"";return e.row===1/0?r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?r+(e.absolute_row?"$":"")+(e.row+1):r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let r=new s(e.start,e.end);for(let i of t)i&&(r.ConsumeAddress(i.start),r.ConsumeAddress(i.end));return r}static Bleed(e,t=1){return new s({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:r,column_count:i,before_row:n,row_count:o}=t,a=new s(e.start,e.end),l=e.start.sheet_id;if(i&&r<=a.end.column){if(i>0)r<=a.start.column?a.Shift(0,i):r>a.start.column&&r<=a.end.column?a.ConsumeAddress({row:a.end.row,column:a.end.column+i}):console.warn("AA X case 1",r,i,JSON.stringify(a));else if(i<0)if(r-i<=a.start.column)a.Shift(0,i);else{if(r<=a.start.column&&r-i>a.end.column)return!1;if(r<=a.start.column){let c=r-i-1;a=new s({row:a.start.row,column:c+1+i,sheet_id:l},{row:a.end.row,column:a.end.column+i})}else r<=a.end.column?r-i-1>=a.end.column?a=new s({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:r-1}):a=new s({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:a.start.column+a.columns+i-1}):console.warn("AA X case 2",r,i,JSON.stringify(a))}}if(o&&n<=a.end.row){if(o>0)n<=a.start.row?a.Shift(o,0):n>a.start.row&&n<=a.end.row?a.ConsumeAddress({row:a.end.row+o,column:a.end.column}):console.warn("AA X case 3",n,o,JSON.stringify(a));else if(o<0)if(n-o<=a.start.row)a.Shift(o,0);else{if(n<=a.start.row&&n-o>a.end.row)return!1;if(n<=a.start.row){let c=n-o-1;a=new s({column:a.start.column,row:c+1+o,sheet_id:l},{column:a.end.column,row:a.end.row+o})}else n<=a.end.row?n-o-1>=a.end.row?a=new s({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:n-1}):a=new s({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:a.start.row+a.rows+o-1}):console.warn("AA X case 4",n,o,JSON.stringify(a))}}return a}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new s(this.start,this.end)}get left(){let e=new s(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new s(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new s(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new s(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don\'t iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let r={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:r})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=s.ColumnToLabel(this.start_.column),e+=":"+s.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=s.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+s.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var Rr=s=>typeof s=="object"&&!!s&&typeof s.real=="number"&&typeof s.imaginary=="number";var Ot=s=>typeof s=="object"&&!!s&&typeof s.value=="number"&&typeof s.unit=="string",ps=s=>typeof s=="object"&&s.type==="function",Wt=["undefined","formula","string","number","boolean","object","function","error","complex","array","dimensioned_quantity"];var Ue=s=>{switch(typeof s){case"undefined":return 0;case"number":return 3;case"boolean":return 4;case"object":return s===null?0:ps(s)?6:Rr(s)?8:Ot(s)?10:5;case"string":return s[0]==="="?1:2;default:return 7}};var ie=class{static StringToColumn(e){let t=0;e=e.toUpperCase();for(let r=0;r<e.length;r++)t*=26,t+=e.charCodeAt(r)-64;return t-1}value;type=0;calculated;calculated_type;formatted;rendered_type;style;area;spill;merge_area;table;renderer_data;render_clean=[];note;hyperlink;editing;render_function;click_function;constructor(e,t){typeof e<"u"&&this.Set(e,t)}ValueIsNumber(){return this.type===3}ValueIsFormula(){return this.type===1}ValueIsBoolean(){return this.type===4}ValueIsComplex(){return this.type===8}FlushStyle(){this.formatted=this.rendered_type=this.style=void 0,this.render_clean=[]}FlushArray(){this.area=void 0}FlushCache(){this.calculated=this.calculated_type=this.formatted=this.rendered_type=this.render_function=this.click_function=void 0,this.render_clean=[]}Reset(){this.type=0,this.value=this.spill=this.note=this.hyperlink=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.area=this.renderer_data=this.render_function=this.click_function=void 0,this.render_clean=[]}Set(e,t=Ue(e)){this.value=e,this.type=t,this.spill=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.render_function=this.click_function=this.area=void 0,this.render_clean=[]}SetCalculatedValue(e,t=Ue(e)){e===void 0&&(e=0,t=3),this.calculated!==e&&(this.calculated=e,this.calculated_type=t,this.formatted=this.rendered_type=void 0,this.render_clean=[])}GetValue(){return this.calculated_type?this.calculated:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}GetValue4(){return this.calculated_type?{type:this.calculated_type,value:this.calculated}:this.type===1?{type:3,value:0}:{type:this.type,value:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}}SetNote(e){this.note=e,this.render_clean=[]}SetCalculationError(e="ERR"){this.SetCalculatedValue(e,7)}SetArray(e){this.type=0,this.value=this.formatted=this.rendered_type=this.style=this.hyperlink=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}SetArrayHead(e,t){this.type=Ue(t),this.value=t,this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}};var ms=s=>!s.cells,kr=s=>!!s[0]&&ms(s[0]),Er=s=>!!s[0]&&s[0].row!==void 0,_s=Wt.map((s,e)=>({[s]:e})).reduce((s,e)=>({...s,...e}),{}),Xe=class{data=[];rows_=0;columns_=0;get rows(){return this.rows_}get columns(){return this.columns_}EnsureRow(e){this.rows_=Math.max(e+1,this.rows_)}EnsureColumn(e){this.columns_=Math.max(e+1,this.columns_)}InsertColumns(e=0,t=1){this.data=this.data.map(r=>{if(r.length>=e){let i=r.slice(0,e),n=e+t,o=r.slice(e);for(let a=0;a<o.length;a++)i[n++]=o[a];return i}return r}),this.columns_+=t}DeleteColumns(e,t=1){this.data.forEach(r=>r.splice(e,t)),this.columns_-=t}DeleteRows(e,t=1){this.data.splice(e,t),this.rows_-=t}InsertRows(e=0,t=1){let r=[e,0,[]];for(let i=1;i<t;i++)r.push([]);Array.prototype.splice.apply(this.data,r),this.rows_+=t}GetCell(e,t){let{row:r,column:i}=e;if(!this.data[r])if(t)this.data[r]=[],this.rows_=Math.max(this.rows_,r+1);else return;return this.data[r][i]||t&&(this.data[r][i]=new ie,this.columns_=Math.max(this.columns_,i+1)),this.data[r][i]}EnsureCell(e){let{row:t,column:r}=e,i=this.data[t];i||(this.data[t]=i=[],this.rows_=Math.max(this.rows_,t+1));let n=i[r];return n||(n=i[r]=new ie,this.columns_=Math.max(this.columns_,r+1)),n}FromArray(e=[],t=!1){this.data=[];let r=0,i=0;if(t){i=e.length;for(let n=0;n<i;n++){let o=e[n];r=Math.max(r,o.length);for(let a=0;a<o.length;a++)this.data[a]||(this.data[a]=[]),this.data[a][n]=new ie(o[a])}}else{r=e.length;for(let n=0;n<r;n++){let o=[],a=e[n];i=Math.max(i,a.length);for(let l=0;l<a.length;l++)o[l]=new ie(a[l]);this.data[n]=o}}this.rows_=r,this.columns_=i}SerializedTypeToValueType(e){if(e)return typeof e=="number"?e:_s[e]||void 0}ValueTypeToSerializedType(e){return e?Wt[e]:void 0}FromJSON(e=[],t){if(this.data=[],!kr(e)){let i=[];if(Er(e))for(let n of e)for(let o of n.cells)i.push({...o,row:n.row});else for(let n of e)for(let o of n.cells)i.push({...o,column:n.column});e=i}let r=[];for(let i of e){this.data[i.row]||(this.data[i.row]=[]);let n=new ie(i.value);if(typeof i.calculated<"u"&&(n.SetCalculatedValue(i.calculated,this.SerializedTypeToValueType(i.calculated_type)),i.spill&&(n.spill=new G(i.spill.start,i.spill.end))),t&&typeof i.style_ref<"u"&&(n.style=t[i.style_ref]),typeof i.note<"u"&&(n.note=i.note),typeof i.hyperlink<"u"&&(n.hyperlink=i.hyperlink),this.data[i.row][i.column]&&this.data[i.row][i.column].area&&(n.area=this.data[i.row][i.column].area),this.data[i.row][i.column]=n,i.area){let o=new G(i.area.start,i.area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new ie),this.data[a][l].area=o}if(i.table&&r.push({...i.table}),i.merge_area){let o=new G(i.merge_area.start,i.merge_area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new ie),this.data[a][l].merge_area=o}}for(let i of r)for(let n=i.area.start.row;n<=i.area.end.row;n++)for(let o=i.area.start.column;o<=i.area.end.column;o++)this.data[n]||(this.data[n]=[]),this.data[n][o]||(this.data[n][o]=new ie),this.data[n][o].table=i;this.rows_=this.data.length,this.columns_=this.data.reduce((i,n)=>Math.max(i,n.length),0)}toJSON(e={}){let t=0,r=0,i=this.data.length-1,n;e.subset&&(t=e.subset.start.column,r=e.subset.start.row,i=e.subset.end.row);let o=[],a=-1,l=-1,c={},d={};for(let h=r;h<=i;h++)if(this.data[h]){let f=this.data[h];n=f.length-1,e.subset&&(n=e.subset.end.column);for(let u=t;u<=n;u++){let p=f[u],y=p&&p.merge_area&&p.merge_area.start.row===h&&p.merge_area.start.column===u,v=p&&p.area&&p.area.start.row===h&&p.area.start.column===u,w=p&&p.table&&p.table.area.start.row===h&&p.table.area.start.column===u,b=p?p.type===2&&!p.value:!0;if(p&&(!b||e.preserve_empty_strings)&&(y||p.type||p.calculated_type&&e.expand_arrays||p.calculated_type&&e.calculated_value||p.note||e.decorated_cells&&p.style&&(p.style.fill||p.style.border_bottom||p.style.border_top||p.style.border_left||p.style.border_right))){let m={row:h,column:u,value:p.value};p.note&&(m.note=p.note),p.hyperlink&&(m.hyperlink=p.hyperlink),e.preserve_type&&(m.type=this.ValueTypeToSerializedType(p.type)),e.sheet_id&&(m.sheet_id=e.sheet_id),e.calculated_value&&typeof p.calculated<"u"&&(m.calculated=p.calculated,p.spill&&(m.spill=p.spill.toJSON()),(e.preserve_type||p.calculated_type===7)&&(m.calculated_type=this.ValueTypeToSerializedType(p.calculated_type))),p.table&&w&&e.tables&&(m.table=JSON.parse(JSON.stringify(p.table))),p.area&&v&&(m.area=p.area.toJSON()),p.merge_area&&(m.merge_area=p.merge_area.toJSON()),e.cell_style_refs&&e.cell_style_refs[u]&&e.cell_style_refs[u][h]&&(m.style_ref=e.cell_style_refs[u][h],e.cell_style_refs[u][h]=0),c[h]=h,d[u]=u,a=Math.max(h,a),l=Math.max(u,l),o.push(m)}}}if(e.nested){let h=Object.keys(c),f=Object.keys(d);if(h.length<=f.length&&h.length){let u={},p=[];for(let y of o){let{row:v,...w}=y;u[y.row]||(u[y.row]=[]),u[y.row].push(w)}for(let y of h){let v=Number(y);p.push({row:v,cells:u[v]})}return{data:p,rows:a,columns:l+1}}else if(f.length){let u={},p=[];for(let y of o){let{column:v,...w}=y;u[y.column]||(u[y.column]=[]),u[y.column].push(w)}for(let y of f){let v=Number(y);p.push({column:v,cells:u[v]})}return{data:p,rows:a,columns:l+1}}}return{data:o,rows:a+1,columns:l+1}}GetAll(e=!1){return this.GetRange({row:0,column:0},{row:this.rows_-1,column:this.columns_-1},e)}Normalize(e,t){return e={...e,row:e.row==1/0?0:e.row,column:e.column==1/0?0:e.column},t&&(t={...t,row:t.row==1/0?this.rows_-1:t.row,column:t.column==1/0?this.columns_-1:t.column}),{from:e,to:t}}RawValue(e,t=e){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].value:void 0;let r=[],i=this.data.slice(e.row,t.row+1),n=e.column,o=t.column+1;for(let a of i){let l=[];for(let c=n,d=0;c<o;c++,d++){let h=a[c];l.push(h?h.value:void 0)}r.push(l)}return r}GetRange(e,t,r=!1){if({from:e,to:t}=this.Normalize(e,t),!t||e===t||e.column===t.column&&e.row===t.row)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue():void 0;let i=[];if(r)for(let n=e.column;n<=t.column;n++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][n]?o.push(this.data[a][n].GetValue()):o.push(void 0);i.push(o)}else for(let n=e.row;n<=t.row;n++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[n]&&this.data[n][a]?o.push(this.data[n][a].GetValue()):o.push(void 0);i.push(o)}return i}GetRange4(e,t=e,r=!1){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue4():{value:void 0,type:0};let i=[];if(r)for(let n=e.column;n<=t.column;n++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][n]?o.push(this.data[a][n].GetValue4()):o.push({type:0});i.push(o)}else for(let n=e.row;n<=t.row;n++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[n]&&this.data[n][a]?o.push(this.data[n][a].GetValue4()):o.push({type:0});i.push(o)}return{type:9,value:i}}SetArea(e,t){if(ArrayBuffer.isView(t))throw new Error("ABIV");if(Array.isArray(t))for(let r=e.start.row,i=0;r<=e.end.row;r++,i++){this.data[r]||(this.data[r]=[]);let n=this.data[r];if(t[i])for(let o=e.start.column,a=0;o<=e.end.column;o++,a++)n[o]||(n[o]=new ie),n[o].Set(t[i][a])}else{let r=Ue(t);for(let i=e.start.row;i<=e.end.row;i++){this.data[i]||(this.data[i]=[]);let n=this.data[i];for(let o=e.start.column;o<=e.end.column;o++)n[o]||(n[o]=new ie),n[o].Set(t,r)}}this.rows_=Math.max(this.rows_,e.end.row+1),this.columns_=Math.max(this.columns_,e.end.column+1)}*IterateRC(e,t=!1){if(!e&&t&&(e=new G({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e)if(t)for(let r=e.start.row;r<=e.end.row;r++){this.data[r]||(this.data[r]=[]);let i=this.data[r];for(let n=e.start.column;n<=e.end.column;n++)i[n]||(i[n]=new ie),yield{cell:i[n],row:r,column:n}}else for(let r=e.start.row;r<=e.end.row;r++){let i=this.data[r];if(i)for(let n=e.start.column;n<=e.end.column;n++){let o=i[n];o&&(yield{cell:o,row:r,column:n})}}else for(let[r,i]of this.data.entries())if(i)for(let[n,o]of i.entries())o&&(yield{cell:o,row:r,column:n})}*Iterate(e,t=!1){if(!e&&t&&(e=new G({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e){Ne(e)&&(e=new G(e)),(e.entire_column||e.entire_row)&&(e=new G(e.start,e.end),e.start.column===1/0&&(e.start.column=0,e.end.column=this.columns_-1),e.start.row===1/0&&(e.start.row=0,e.end.row=this.rows_-1));let r=e.start,i=e.end;if(t)for(let n=r.row;n<=i.row;n++){this.data[n]||(this.data[n]=[]);let o=this.data[n];for(let a=r.column;a<=i.column;a++)o[a]||(o[a]=new ie),yield o[a]}else for(let n=r.row;n<=i.row;n++)if(this.data[n]){let o=this.data[n];for(let a=r.column;a<=i.column;a++)o[a]&&(yield o[a])}}else for(let r of this.data)if(r)for(let i of r)i&&(yield i)}FlushCellStyles(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushStyle()}FlushCachedValues(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushCache()}};var O=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let i=self?.document?.location;if(i&&i.search&&/locale=([^?&]+?)(?:\\?|$|&)/.test(i.search)){let n=i.search.match(/locale=(.*?)(?:\\?|$|&)/);n&&(this.locale=n[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let r=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,r),r=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,r),r=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,r),r=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,r),r=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,r),r=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,r),r=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,r),r=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,r),r=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,r),r=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,r),r=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,r),r=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,r)}static UpdateDateComponent(e,t,r){t>=0&&(this.date_components.short_days[t]=r.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=r.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=r.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=r.toLocaleString(this.locale,{month:"long"}))}};O.UpdateLocale();var Se=class s{constructor(e=0,t=0,r=0,i=0){this.left=e;this.top=t;this.width=r;this.height=i}get right(){return this.left+this.width}get bottom(){return this.top+this.height}static Create(e){return new s(e.left||0,e.top||0,e.width||0,e.height||0)}static IsRectangle(e){return!!e&&typeof e=="object"&&typeof e.left=="number"&&typeof e.top=="number"&&typeof e.width=="number"&&typeof e.height=="number"}Shift(e=0,t=0){return new s(this.left+e,this.top+t,this.width,this.height)}Scale(e=1,t=e){return new s(this.left*e,this.top*t,this.width*e,this.height*t)}Expand(e=0,t=0){return new s(this.left,this.top,this.width+e,this.height+t)}Combine(e){return new s(Math.min(this.left,e.left),Math.min(this.top,e.top),Math.max(this.right,e.right)-Math.min(this.left,e.left),Math.max(this.bottom,e.bottom)-Math.min(this.top,e.top))}Contains(e,t,r=0){return e>=this.left-r&&e<=this.left+this.width+r&&t>=this.top-r&&t<=this.top+this.height+r}ContextFill(e){e.fillRect(this.left,this.top,this.width,this.height)}ContextStroke(e){e.strokeRect(this.left,this.top,this.width,this.height)}Clamp(e,t){return e=Math.min(Math.max(e,this.left),this.right),t=Math.min(Math.max(t,this.top),this.bottom),{x:e,y:t}}ApplyStyle(e){e.style.top=this.top+"px",e.style.left=this.left+"px",e.style.width=this.width+"px",e.style.height=this.height+"px"}toJSON(){return{top:this.top,left:this.left,width:this.width,height:this.height}}};var bs=JSON.stringify({}),gs={Background:0,Text:1,Background2:2,Text2:3,Accent:4,Accent2:5,Accent3:6,Accent4:7,Accent5:8,Accent6:9},$e=s=>typeof s.theme=="number"?s.theme:gs[s.theme]||0,we=s=>!!s&&typeof s.text=="string",xe=s=>!!s&&typeof s.theme<"u";var se={DefaultProperties:{horizontal_align:"",vertical_align:"",number_format:"General",nan:"NaN",font_size:{unit:"em",value:1},bold:!1,italic:!1,underline:!1,strike:!1,text:{theme:1},border_top:0,border_left:0,border_right:0,border_bottom:0},CompositeBorders:s=>({top:{width:s.border_top||0,color:s.border_top_fill||{}},left:{width:s.border_left||0,color:s.border_left_fill||{}},right:{width:s.border_right||0,color:s.border_right_fill||{}},bottom:{width:s.border_bottom||0,color:s.border_bottom_fill||{}}}),Serialize:s=>{let e=JSON.parse(JSON.stringify(s));return e.border_bottom_fill&&!e.border_bottom&&(e.border_bottom_fill=void 0),e.border_top_fill&&!e.border_top&&(e.border_top_fill=void 0),e.border_left_fill&&!e.border_left&&(e.border_left_fill=void 0),e.border_right_fill&&!e.border_right&&(e.border_right_fill=void 0),JSON.stringify(e)},Merge:(s,e,t=!0)=>{let r=t?{...s,...e}:{...e};return JSON.parse(JSON.stringify(r))},Composite:s=>JSON.parse(JSON.stringify(s.reduce((e,t)=>({...e,...t}),{}))),Empty:s=>JSON.stringify(s)===bs,ParseFontSize:(s="",e="em")=>{let t=s.match(/(-*[\\d.]+)\\s*(\\S*)/);if(t){let r=Number(t[1]);if(!r||isNaN(r)||r<0)return{};let i=t[2].toLowerCase()||e;if(i==="pt"||i==="em"||i==="%"||i==="px")return{font_size:{unit:i,value:r}}}return{}},RelativeFontSize:(s,e)=>{let t=12,r=12;switch(s.font_size?.unit){case"pt":if(!s.font_size.value)return 1;r=s.font_size.value;break;case"px":if(!s.font_size.value)return 1;r=Math.round(s.font_size.value*300/4)/100;break;case"em":return s.font_size.value||1;case"%":return(s.font_size.value||100)/100;default:return 1}switch(e.font_size?.unit){case"pt":if(!e.font_size.value)return 1;t=e.font_size.value;break;case"px":if(!e.font_size.value)return 1;t=Math.round(e.font_size.value*300/4)/100;break;default:return 1}return r/t},FontSize:(s,e=!0)=>{let t=s.font_size?.value;switch(s.font_size?.unit){case"pt":return(t||12)+"pt";case"px":return e?Math.round((t||16)*300/4)/100+"pt":(t||16)+"px";case"em":return(t||1)+"em";case"%":return(t||100)+"%"}return""},CompositeFontSize:(s,e,t=1,r=!1)=>{let i={...s};return e.unit==="pt"||e.unit==="px"?i={...e}:(i.value=e.value*s.value,e.unit==="%"&&(i.value/=100)),i.unit==="px"&&r&&(i.value=Math.round((i.value||16)*300/4)/100),i.value*=t,i},CompositeFont:(s,e,t,r)=>{let i,n,o,a=[];e.bold&&a.push("bold"),e.italic&&a.push("italic");let l=e.font_face||"stack:default";if(l.startsWith("stack:")){let c=r.font_stacks[l.substring(6)||"default"];c||(c=r.font_stacks.default),c&&(n=e.font_size,o=se.CompositeFontSize(c.size,e.font_size||{unit:"pt",value:10},t),a.push(o.value.toFixed(2)+o.unit),a.push(c.font||""),i=c.variants)}else o=se.CompositeFontSize(s,e.font_size||{unit:"pt",value:10},t),a.push(o.value.toFixed(2)+o.unit),a.push(l||"");return{font:a.join(" "),variants:i,base:s,size:e.font_size,scale:t,stack_size:n,font_size:o}}};var ys="http://www.w3.org/2000/svg",ce=class s{static instances=[];static GetInstance(e){for(let r of this.instances)if(r.doc===e)return r;let t=new s(e);return this.instances.push(t),t}doc;view;get HTMLElement(){return this.view?.HTMLElement}constructor(e){e&&(this.doc=e,this.view=e?.defaultView)}GetSelection(){return this.view?.getSelection()}Div(e,t,r){return this.Create("div",e,t,r)}ClassNames(e,t){e.classList.add(...(Array.isArray(t)?t:[t]).reduce((r,i)=>[...r,...i.split(/\\s+/g)],[]))}SVG(e,t,r){let i=this.doc.createElementNS(ys,e);return t&&this.ClassNames(i,t),r&&r.appendChild(i),i}Text(e){return this.doc.createTextNode(e)}Fragment(){return this.doc.createDocumentFragment()}Create(e,t,r,i){let n=this.doc.createElement(e);if(t&&this.ClassNames(n,t),i){if(i.attrs)for(let[o,a]of Object.entries(i.attrs))n.setAttribute(o,a);if(i.data)for(let[o,a]of Object.entries(i.data))n.dataset[o]=a;if(i.text&&(n.textContent=i.text),i.html&&(n.innerHTML=i.html),i.events)for(let[o,a]of Object.entries(i.events))n.addEventListener(o,a);if(i.style)for(let[o,a]of Object.entries(i.style))n.style[o]=a}return r&&r.appendChild(n),n}};var ws=1e3,Ve=class{constructor(e=!1,t){this.verbose=e;this.log_id=t}queue=[];dispatched=!1;subscribers=[];Publish(e){this.verbose&&console.info(`es publish (${this.log_id})`,e),Array.isArray(e)?this.queue.push(...e):this.queue.push(e),this.dispatched||(this.dispatched=!0,Promise.resolve().then(()=>{let t=this.queue.slice(0);this.dispatched=!1,this.queue=[];for(let r of t)for(let i of this.subscribers)i.subscriber(r)}))}Subscribe(e){let t=ws++;return this.subscribers.push({subscriber:e,token:t}),t}Cancel(e){this.subscribers=this.subscribers.filter(t=>t.token!==e)}CancelAll(){this.subscribers=[]}};var Nr={spreadsheet_semantics:!0,dimensioned_quantities:!1,fractions:!0,decimal_mark:".",argument_separator:",",boolean_true:"TRUE",boolean_false:"FALSE"};var gt=/[\\s-+=<>!()]/;var Ht=34,Bt=39,xs=160,Mr=32,vs=9,Cs=10,As=13,Te=48,Qe=57,jt=46,Yt=43,qe=45,Fr=40,Jt=41,Ke=44,Ss=37,Xt=95,mt=36,Ts=123,Is=125,et=91,Pr=93,Rs=63,ks=33,zr=59,Qt=35,Es=64,We=65,tt=97,Ns=69,Ms=101,_t=90,bt=122,Fs=105,qt=192,Kt=382,er={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13},Ps={"@":50,"-":100,"+":100},zs=[...Object.keys(er),"@"].sort((s,e)=>e.length-s.length),Ze=class{get argument_separator(){return this.flags.argument_separator}get decimal_mark(){return this.flags.decimal_mark}flags={...Nr};r1c1_regex=/[rR]((?:\\[[-+]{0,1}\\d+\\]|\\d*))[cC]((?:\\[[-+]{0,1}\\d+\\]|\\d*))$/;argument_separator_char=Ke;decimal_mark_char=jt;imaginary_char=Fs;imaginary_number="i";id_counter=0;expression="";data=[];index=0;length=0;valid=!0;error_position;error;dependencies={addresses:{},ranges:{}};address_refcount={};full_reference_list=[];parser_state_cache=[];SetLocaleSettings(e,t){if(typeof t>"u"&&(t=e===","?";":","),t===e)throw new Error("invalid locale setting");this.flags.argument_separator=t,this.flags.decimal_mark=e}Save(){this.parser_state_cache.push(JSON.stringify(this.flags))}Restore(){let e=this.parser_state_cache.shift();if(e)try{this.flags=JSON.parse(e)}catch(t){console.error(t)}else console.warn("No parser state to restore")}Walk2(e,t){let r=t(e);if(typeof r=="object")return r;switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":break;case"dimensioned":r&&(e.expression=this.Walk2(e.expression,t),e.unit=this.Walk2(e.unit,t));break;case"range":t(e)&&(e.start=this.Walk2(e.start,t),e.end=this.Walk2(e.end,t));break;case"binary":t(e)&&(e.left=this.Walk2(e.left,t),e.right=this.Walk2(e.right,t));break;case"unary":t(e)&&(e.operand=this.Walk2(e.operand,t));break;case"group":t(e)&&(e.elements=e.elements.map(i=>this.Walk2(i,t)));break;case"implicit-call":t(e)&&(e.call=this.Walk2(e.call,t),e.args=e.args.map(i=>this.Walk2(i,t)));break;case"call":t(e)&&(e.args=e.args.map(i=>this.Walk2(i,t)));break}return e}Walk(e,t){switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":t(e);return;case"dimensioned":t(e)&&(this.Walk(e.expression,t),this.Walk(e.unit,t));return;case"range":t(e)&&(this.Walk(e.start,t),this.Walk(e.end,t));return;case"binary":t(e)&&(this.Walk(e.left,t),this.Walk(e.right,t));return;case"unary":t(e)&&this.Walk(e.operand,t);return;case"group":if(t(e))for(let r of e.elements)this.Walk(r,t);return;case"implicit-call":if(t(e)){this.Walk(e.call,t);for(let r of e.args)this.Walk(r,t)}return;case"call":if(t(e))for(let r of e.args)this.Walk(r,t)}}Transpose(e){let t=e.length,r=[],i=0;for(let n=0;n<t;n++)Array.isArray(e[n])&&(i=Math.max(i,e[n].length));for(let n=0;n<i;n++){r[n]=[];for(let o=0;o<t;o++)r[n][o]=e[o]?e[o][n]:void 0}return r}Render(e,t={}){let r=t.offset||{rows:0,columns:0},i=t.missing??"(missing)",{convert_decimal:n,convert_argument_separator:o,long_structured_references:a,table_name:l}=t,c=this.flags.argument_separator+" ";o===","?c=", ":o===";"&&(c="; ");let d=n===","?",":".",h=this.flags.decimal_mark===","?/,/:/\\./,f=this.flags.decimal_mark===","?/,/g:/\\./g;switch(e.type){case"address":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e,t):this.AddressLabel(e,r);case"range":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e.start,t)+":"+this.R1C1Label(e.end,t):this.AddressLabel(e.start,r)+":"+this.AddressLabel(e.end,r);case"missing":return i;case"array":return"{"+this.Transpose(e.values).map(u=>u.map(p=>typeof p=="string"?\'"\'+p+\'"\':p).join(", ")).join("; ")+"}";case"binary":{let u=e.operator===":"?"":" ";return this.Render(e.left,t)+u+e.operator+u+this.Render(e.right,t)}case"unary":return e.operator+this.Render(e.operand,t);case"complex":if(e.text)return n?e.text.replace(f,d):e.text;{let u=Math.abs(e.imaginary).toString();if((n===","||this.flags.decimal_mark===",")&&(u=u.replace(/\\./,",")),e.real){let p=e.real.toString();(n===","||this.flags.decimal_mark===",")&&(p=p.replace(/\\./,","));let y=Math.abs(e.imaginary);return`${p}${e.imaginary<0?" - ":" + "}${y===1?"":u}i`}else return e.imaginary===-1?"-i":e.imaginary===1?"i":`${e.imaginary<0?"-":""}${u}i`}break;case"literal":if(typeof e.value=="string")return\'"\'+e.value.replace(/"/g,\'""\')+\'"\';if(typeof e.value=="boolean")return e.value?t.boolean_true||this.flags.boolean_true||"true":t.boolean_false||this.flags.boolean_false||"false";if(n&&typeof e.value=="number")if(e.text){let u=e.text;return n===","&&this.flags.decimal_mark==="."&&(u=u.replace(/,/g,"")),u.replace(h,d)}else return e.value.toString().replace(/\\./,d);else if(e.text)return e.text;return e.value.toString();case"identifier":return e.name;case"operator":return"["+e.operator+"]";case"group":return e.explicit?"("+e.elements.map(u=>this.Render(u,t)).join(c)+")":e.elements.map(u=>this.Render(u,t)).join(c);case"implicit-call":return this.Render(e.call,t)+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"call":return e.name+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"dimensioned":return this.Render(e.expression)+" "+this.Render(e.unit);case"structured-reference":{let u=e.column;/[^A-Za-z]/.test(u)&&(u="["+u+"]");let p=e.table;switch(!p&&a&&l&&(p=l),e.scope){case"all":return`${p}[[#all],${u}]`;case"row":return a?`${p}[[#this row],${u}]`:`${p}[@${u}]`;case"column":return`${p}[${u}]`}throw new Error("unhandled scope in structured reference")}}return"??"}Parse(e){switch(e=e.trim(),e[0]==="="&&(e=e.substr(1).trim()),this.expression=e,this.data=[],this.length=e.length,this.index=0,this.valid=!0,this.error_position=void 0,this.error=void 0,this.dependencies.addresses={},this.dependencies.ranges={},this.address_refcount={},this.full_reference_list=[],this.id_counter=0,this.flags.argument_separator){case";":this.argument_separator_char=zr;break;default:this.argument_separator_char=Ke;break}switch(this.flags.decimal_mark){case",":this.decimal_mark_char=Ke;break;default:this.decimal_mark_char=jt;break}for(let i=0;i<this.length;i++)this.data[i]=e.charCodeAt(i);let t=this.ParseGeneric(),r={};for(let i of Object.keys(this.dependencies.addresses))this.address_refcount[i]&&(r[i]=this.dependencies.addresses[i]);return this.dependencies.addresses=r,{expression:t||void 0,valid:this.valid,error:this.error,error_position:this.error_position,dependencies:this.dependencies,separator:this.flags.argument_separator,decimal_mark:this.flags.decimal_mark,full_reference_list:this.full_reference_list.slice(0)}}ColumnLabel(e){if(e===1/0)return"";let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}R1C1Label(e,t){let r=!!t.r1c1_force_relative,i=t.r1c1_base,n="";e.sheet&&(n=(gt.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!");let o="",a="";if(r&&t.r1c1_proper_semantics&&i){if(e.absolute_row)o=(e.row+1).toString();else{let l=e.row-i.row;l&&(o=`[${l}]`)}if(e.absolute_column)a=(e.column+1).toString();else{let l=e.column-i.column;l&&(a=`[${l}]`)}}else if(r&&i){let l=e.row-i.row,c=e.column-i.column;l&&(o=`[${l}]`),c&&(a=`[${c}]`)}else o=e.offset_row?`[${e.row}]`:(e.row+1).toString(),a=e.offset_column?`[${e.column}]`:(e.column+1).toString();return n+=`R${o}C${a}`,n}AddressLabel(e,t){let r=e.column;!e.absolute_column&&e.column!==1/0&&(r+=t.columns);let i=e.row;if(!e.absolute_row&&e.row!==1/0&&(i+=t.rows),i<0||r<0||i===1/0&&r===1/0)return"#REF";let n="";return e.sheet&&(n=(gt.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!"),i===1/0?n+(e.absolute_column?"$":"")+this.ColumnLabel(r):r===1/0?n+(e.absolute_row?"$":"")+(i+1):n+(e.absolute_column?"$":"")+this.ColumnLabel(r)+(e.absolute_row?"$":"")+(i+1)+(e.spill?"#":"")}ParseGeneric(e=[0],t=!1){let r=[];for(;this.index<this.length;){let i=this.ParseNext(r.length===0);if(typeof i=="number"){if(e.some(n=>i===n))break;if(i===Fr){this.index++;let n=this.ParseGeneric([Jt],!0);this.index++,r.push({type:"group",id:this.id_counter++,elements:n?[n]:[],explicit:!0})}else{let n=this.ConsumeOperator();n?r.push(n):t&&i===this.argument_separator_char?(r.push({type:"group-separator",position:this.index,id:this.id_counter++}),this.index++):(this.error=`unexpected character [1]: ${String.fromCharCode(i)}, 0x${i.toString(16)}`,this.valid=!1,this.index++)}}else r.push(i)}if(r.length){if(r=this.BinaryToRange2(r),this.flags.fractions){let i=[],n=a=>a.type==="literal"&&typeof a.value=="number"&&a.value%1===0,o=0;for(;o<r.length-3;o++)if(n(r[o])&&n(r[o+1])&&r[o+2].type==="operator"&&r[o+2].operator==="/"&&n(r[o+3])){let a=r[o],l=r[o+1],c=r[o+3],d=(a.value<0?-1:1)*(l.value/c.value);o+=3,i.push({id:r[o].id,type:"literal",text:this.expression.substring(a.position,c.position+1),value:a.value+d,position:a.position})}else i.push(r[o]);for(;o<r.length;o++)i.push(r[o]);r=i}if(r=r.map(i=>i.type==="identifier"&&i.name===this.imaginary_number?{type:"complex",real:0,imaginary:1,position:i.position,text:i.name,id:this.id_counter++}:i),this.flags.dimensioned_quantities){let i=[],n;for(let o=0;o<r.length;o++){let a=r[o];if(!n)n=a;else if(a.type==="identifier"&&(n.type==="literal"||n.type==="group"||n.type==="call")){let l=a;for(;r[o+1]?.type==="identifier";)l.name+=" "+r[++o].name;i.push({type:"dimensioned",expression:n,unit:a,id:this.id_counter++}),n=void 0}else i.push(n),n=a}n&&i.push(n),r=i}}return r.length===0?null:r.length===1?r[0]:this.BinaryToComplex(this.ArrangeUnits(r))}UnitToAddress(e){if(e.type==="literal"){if(typeof e.value=="number"&&e.value>0&&!/\\./.test(e.text||""))return{type:"address",position:e.position,label:e.value.toString(),row:e.value-1,id:this.id_counter++,column:1/0}}else{let t,r=e.name,i=r.split("!");if(i.length>1&&(t=i.slice(0,i.length-1).join("!"),r=r.substr(t.length+1),t[0]==="\'"))if(t.length>1&&t[t.length-1]==="\'")t=t.substr(1,t.length-2);else return;let n=r[0]==="$";r=(n?r.substr(1):r).toUpperCase();let o=Number(r);if(isNaN(o)){if(/[A-Z]{1,3}/.test(r)){let a=-1;for(let l=0;l<r.length;l++){let c=r[l].charCodeAt(0);a=26*(1+a)+(c-We)}return{type:"address",position:e.position,absolute_column:n,label:e.name,column:a,id:this.id_counter++,row:1/0,sheet:t}}}else if(o>0&&o!==1/0&&!/\\./.test(r))return{type:"address",position:e.position,absolute_row:n,label:e.name,row:o-1,id:this.id_counter++,column:1/0,sheet:t}}}BinaryToRange2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=e[r+1],o=e[r+2],a,l="",c;if(i&&n&&o&&n.type==="operator"&&n.operator===":"){if(i.type==="address"&&o.type==="address"){let d=i.position+i.label.length,h=o.position;a={type:"range",id:this.id_counter++,position:i.position,start:i,end:o,label:i.label+this.expression.substring(d,h)+o.label},l=a.start.label+":"+a.end.label,this.address_refcount[a.start.label]--,this.address_refcount[a.end.label]--;let f=[i.position,o.position];this.full_reference_list=this.full_reference_list.filter(u=>u.position!==f[0]&&u.position!==f[1])}else if((i.type==="literal"||i.type==="identifier")&&(o.type==="literal"||o.type==="identifier")){let d=this.UnitToAddress(i);if(!d&&i.type==="literal"&&typeof i.value=="number"&&i.value<0){let f={...i,text:(i.text||"").replace(/^-/,""),position:i.position+1,value:-i.value};d=this.UnitToAddress(f),d&&(c={type:"operator",operator:"-",position:i.position,id:this.id_counter++})}let h=this.UnitToAddress(o);d&&h&&(d.column===1/0&&h.column===1/0||d.row===1/0&&h.row===1/0)&&(l=d.label+":"+h.label,a={type:"range",id:this.id_counter++,position:d.position,start:d,end:h,label:l})}}a?(c&&t.push(c),t.push(a),this.dependencies.ranges[l]=a,this.full_reference_list.push(a),r+=2):t.push(i)}return t}BinaryToComplex(e){if(e.type==="binary")if((e.operator==="+"||e.operator==="-")&&e.left.type==="literal"&&typeof e.left.value=="number"&&e.right.type==="complex"&&!e.right.composited){let t="";t=this.expression.substring(e.left.position,e.right.position+(e.right.text?.length||0));let r=e.right.imaginary;return e.operator==="-"&&(r=-r),{type:"complex",position:e.left.position,text:t,id:this.id_counter++,imaginary:r,real:e.left.value,composited:!0}}else e.left=this.BinaryToComplex(e.left),e.right=this.BinaryToComplex(e.right);else if(e.type==="unary"&&(e.operator==="-"||e.operator==="+")&&e.operand.type==="complex"&&e.operand.text===this.imaginary_number)return{...e.operand,position:e.position,text:this.expression.substring(e.position,e.operand.position+(e.operand.text||"").length),imaginary:e.operand.imaginary*(e.operator==="-"?-1:1)};return e}ArrangeUnits(e){if(e.length===0)return{type:"missing",id:this.id_counter++};if(e.length===1)return e[0];let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.type!=="group-separator"){if(i.type==="operator")if(t.length===0||t[t.length-1].type==="operator")if(Ps[i.operator]){let n=this.BinaryToComplex(this.ArrangeUnits(e.slice(r+1)));if(!this.valid)return{type:"group",id:this.id_counter++,elements:e,explicit:!1};n.type==="binary"?(n.left={type:"unary",id:this.id_counter++,operator:i.operator,operand:n.left,position:i.position},i=n):i={type:"unary",id:this.id_counter++,operator:i.operator,operand:n,position:i.position},r=e.length}else return this.error=`unexpected character [2]: ${i.operator}`,this.error_position=i.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1};else{t.push(i);continue}if(t.length<2){if(t.length===1){let n=t[0].type;if(i.type==="group"&&i.explicit&&(n==="address"||n==="call"||n==="identifier"||n==="implicit-call")){let o=i.elements;o.length===1&&o[0].type==="group"&&!o[0].explicit&&(o=o[0].elements),t[0]={type:"implicit-call",call:t[0],args:o,id:this.id_counter++,position:t[0].position};continue}}t.push(i)}else if(t[t.length-1].type==="operator"){let n=t[t.length-2],o=t[t.length-1],a=o.operator,l={type:"binary",id:this.id_counter++,left:n,operator:a,position:o.position,right:i};n.type==="binary"&&er[a]>er[n.operator]&&(l.left=n.left,l.operator=n.operator,l.position=n.position,l.right={type:"binary",id:this.id_counter++,left:n.right,right:i,operator:a,position:o.position}),t.splice(-2,2,l)}else t.push(i)}}return t.length>1?{type:"group",id:this.id_counter++,elements:t,explicit:!1}:t[0]}ParseNext(e=!0){this.ConsumeWhiteSpace();let t=this.data[this.index];if(t===Ht)return{type:"literal",id:this.id_counter++,position:this.index,value:this.ConsumeString()};if(t>=Te&&t<=Qe||t===this.decimal_mark_char)return this.ConsumeNumber();if(t===Ts)return this.ConsumeArray();if(e&&(t===qe||t===Yt)){let r=this.data[this.index+1];if(r>=Te&&r<=Qe||r===this.decimal_mark_char)return this.ConsumeNumber()}else if(t>=We&&t<=_t||t>=tt&&t<=bt||t===Xt||t===Qt||t===Bt||t===mt||t===et||t>=qt&&t<=Kt)return this.ConsumeToken(t);return t}ConsumeArray(){let e={type:"array",id:this.id_counter++,values:[],position:this.index};this.index++;let t=0,r=0;for(;this.index<this.length;){let i=this.ParseNext(),n=this.index;if(typeof i=="number")switch(this.index++,i){case zr:r++,t=0;break;case Ke:t++;break;case Is:return e;default:this.valid&&(this.error="invalid character in array literal",this.error_position=n,this.valid=!1);break}else switch(i.type){case"literal":e.values[t]||(e.values[t]=[]),e.values[t][r]=i.value;break;default:this.valid&&(this.error="invalid value in array literal",this.error_position=n,this.valid=!1);break}}return e}ConsumeOperator(){for(let e of zs)if(this.expression.substr(this.index,e.length)===e){let t=this.index;return this.index+=e.length,{type:"operator",id:this.id_counter++,operator:e,position:t}}return null}ConsumeArguments(){this.index++;let e=0,t=[];for(;this.index<this.length;){let r=this.ParseGeneric([this.argument_separator_char,Jt]);r!==null&&t.push(r);let i=this.data[this.index];if(i===this.argument_separator_char){this.index++,e++;for(let n=t.length;n<e;n++)t.push({type:"missing",id:this.id_counter++})}else if(i===Jt)return this.index++,t}return t}ConsumeToken(e){let t=[e],r=this.index,i=e===Bt,n=0,o=!1;for(e===et&&(n=1,o=!0),++this.index;this.index<this.length;this.index++){let h=this.data[this.index];if(h>=We&&h<=_t||h>=tt&&h<=bt||h>=qt&&h<=Kt||h===Xt||h===mt||h===jt||h===ks||i||h>=Te&&h<=Qe||h===et||n>0&&h===Pr||h===qe&&this.flags.r1c1&&n===1||n>0&&h===Es&&this.data[this.index-1]===et||n===1&&(h===Ke||h===Mr)||n>1||h===Rs&&n===0)t.push(h),h===et&&(n++,o=!0),h===Pr&&n--,h===Bt&&(i=!1);else break}this.data[this.index]===Qt&&t.push(this.data[this.index++]);let a=t.map(h=>String.fromCharCode(h)).join("");if(i)return this.error="unbalanced single quote",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(n)return this.error="unbalanced square bracket",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(this.ConsumeWhiteSpace(),this.flags.spreadsheet_semantics){let h=this.ConsumeAddress(a,r);if(h)return h}if(this.data[this.index]===Fr){let h=this.ConsumeArguments();return{type:"call",id:this.id_counter++,name:a,args:h,position:r,end:this.index}}if(this.flags.spreadsheet_semantics&&o){let h=this.ConsumeStructuredReference(a,r);if(h)return h}let c=a.toLowerCase();if(c==="true"||this.flags.boolean_true&&c===this.flags.boolean_true.toLowerCase())return{type:"literal",id:this.id_counter++,value:!0,position:r};if(c==="false"||this.flags.boolean_false&&c===this.flags.boolean_false.toLowerCase())return{type:"literal",id:this.id_counter++,value:!1,position:r};let d={type:"identifier",id:this.id_counter++,name:a,position:r};return this.full_reference_list.push(d),d}ConsumeStructuredReference(e,t){let r=e.length,i=e,n="",o=0;for(;o<r;o++){if(e[o]==="["){e=e.substring(o);break}n+=e[o]}if(e[0]!=="["||e[e.length-1]!=="]")return;e=e.substring(1,e.length-1);let a=e.split(",").map(h=>h.trim()),l="column",c="";if(a.length>2)return;a.length===2?(/\\[#this row\\]/i.test(a[0])?l="row":/\\[#all\\]/i.test(a[0])&&(l="all"),c=a[1]):(c=a[0],c[0]==="@"&&(l="row",c=c.substring(1,c.length))),c[0]==="["&&c[c.length-1]==="]"&&(c=c.substring(1,c.length-1));let d={type:"structured-reference",id:this.id_counter++,label:i,position:t,scope:l,column:c,table:n};return this.full_reference_list.push(d),d}ConsumeAddress(e,t){let r=t,i=e.length,n,o=e.split("!");if(o.length>1&&(n=o.slice(0,o.length-1).join("!"),t+=n.length+1),this.flags.r1c1){let h=o[o.length-1].match(this.r1c1_regex);if(h){let f={type:"address",id:this.id_counter++,label:e,row:0,column:0,position:r,sheet:n,r1c1:!0};return h[1][0]==="["?(f.offset_row=!0,f.row=Number(h[1].substring(1,h[1].length-1))):h[1]?(f.row=Number(h[1])-1,this.flags.r1c1_proper_semantics&&(f.absolute_row=!0)):(f.offset_row=!0,f.row=0),h[2][0]==="["?(f.offset_column=!0,f.column=Number(h[2].substring(1,h[2].length-1))):h[2]?(f.column=Number(h[2])-1,this.flags.r1c1_proper_semantics&&(f.absolute_column=!0)):(f.offset_column=!0,f.column=0),f}}let a=this.ConsumeAddressColumn(t);if(!a)return null;t=a.position;let l=this.ConsumeAddressRow(t);if(!l||(t=l.position,a.column===8508&&l.row===9))return null;let c=n?n+e.substr(n.length,t-r).toUpperCase():e.substr(0,t-r).toUpperCase();n&&n[0]==="\'"&&(n=n.substr(1,n.length-2));let d={type:"address",id:this.id_counter++,label:c,row:l.row,column:a.column,absolute_row:l.absolute,absolute_column:a.absolute,position:r,sheet:n,spill:l.spill};return i!==t-r?null:(this.dependencies.addresses[d.label]=d,this.address_refcount[d.label]=(this.address_refcount[d.label]||0)+1,this.full_reference_list.push(d),d)}ConsumeAddressRow(e){let t=this.data[e]===mt;t&&e++;let r=e,i=0;for(;;e++){let o=this.data[e];if(o>=Te&&o<=Qe)i*=10,i+=o-Te;else break}if(r===e||i===0)return!1;let n=!1;return this.data[e]===Qt&&(e++,n=!0),{absolute:t,row:i-1,position:e,spill:n}}ConsumeAddressColumn(e){let t=-1,r=0,i=this.data[e]===mt;for(i&&e++;;e++,r++){if(r>=4)return!1;let n=this.data[e];if(n>=We&&n<=_t)t=26*(1+t)+(n-We);else if(n>=tt&&n<=bt)t=26*(1+t)+(n-tt);else break}return t<0?!1:{absolute:i,column:t,position:e}}ConsumeNumber(){let e=this.index,t=0,r=!1,i=!1,n=0,o=0,a=0,l="integer",c=0,d=!1,h=this.index;for(;this.index<this.length;this.index++,c++){let u=this.data[this.index];if(u===this.decimal_mark_char)if(l==="integer")l="fraction";else break;else if(u===Ss){n/=100,a/=100,this.index++;break}else if(u===Yt||u===qe)if(c===0)u===qe&&(i=!0);else break;else if(u===Ns||u===Ms)if(l==="integer"||l==="fraction")l="exponent",this.index<this.length-1&&(this.data[this.index+1]===Yt?this.index++:this.data[this.index+1]===qe&&(this.index++,r=!0));else break;else if(u===this.imaginary_char){let p=this.data[this.index+1];if(p>=We&&p<=_t||p>=tt&&p<=bt||p>=qt&&p<=Kt||p===Xt)break;if(l==="integer"||l==="fraction"){this.index++,d=!0;break}}else if(u>=Te&&u<=Qe)switch(l){case"integer":n=n*10+(u-Te);break;case"fraction":a=a*10+(u-Te),o++;break;case"exponent":t=t*10+(u-Te);break}else break}let f=n+a/Math.pow(10,o);return l==="exponent"&&(f=f*Math.pow(10,(r?-1:1)*t)),d?{type:"complex",id:this.id_counter++,position:e,imaginary:i?-f:f,real:0,text:this.expression.substring(h,this.index)||""}:{type:"literal",id:this.id_counter++,position:e,value:i?-f:f,text:this.expression.substring(h,this.index)||""}}ConsumeString(){this.index++;let e=[];for(;this.index<this.length;this.index++){let t=this.data[this.index];if(t===Ht&&(this.index++,this.index>=this.length||this.data[this.index]!==Ht))break;e.push(t)}return e.map(t=>String.fromCharCode(t)).join("")}ConsumeWhiteSpace(){for(;this.index<this.length;){let e=this.data[this.index];if(e===Mr||e===vs||e===Cs||e===As||e===xs)this.index++;else return}}};var wt=class s{static _instance=new s;constructor(){}static get instance(){return this._instance}HTML(e,t={}){t={br:!0,...t};let r=[];for(let i of e){let n=[];for(let o of i)o.pre&&n.push("<pre>"),o.emphasis&&n.push("<em>"),o.strong&&n.push("<strong>"),o.strike&&n.push("<strike>"),n.push(o.text),o.strike&&n.push("</strike>"),o.strong&&n.push("</strong>"),o.emphasis&&n.push("</em>"),o.pre&&n.push("</pre>");r.push(n.join(""))}return r.join(t.br?`<br/>\n`:`\n`)}Dummy(e=""){return e.split(/\\n/).map(t=>[{text:t}])}Parse(e=""){let t=this.Tokenize(e);for(let r=0;r<t.length;r++){let i=t[r];if(i.type==="delimeter"){let n=t[r-1],o=t[r+1],a=!n||n.type==="whitespace"||n.type==="newline",l=n&&n.type==="text"&&/[^\\w\\d]$/.test(n.text),c=!o||o.type==="whitespace"||o.type==="newline",d=o&&o.type==="text"&&/^[^\\w\\d]/.test(o.text);i.left_flanking=!c&&(!d||a),i.right_flanking=!a&&(!l||c||d)}}return this.ApplyFormatting(t),this.Consolidate(t)}IsWhitespace(e){return e===" "||e===" "}IsNewline(e){return e==="\\r"||e===`\n`}IsDelimeter(e){return e==="*"||e==="_"||e==="~"}Consolidate(e){let t=[],r={},i=[],n={type:"text",text:""};for(let o of e)if(o.type==="newline")n.text.length&&i.push(n),n={...r,text:"",type:"text"},t.push(i),i=[];else switch((!!r.strong!=!!o.strong||!!r.emphasis!=!!o.emphasis||!!r.strike!=!!o.strike)&&(r.strong=!!o.strong,r.emphasis=!!o.emphasis,r.strike=!!o.strike,n.text.length&&i.push(n),n={...r,text:"",type:"text"}),o.type){case"text":case"whitespace":n.text+=o.text;break;case"delimeter":for(let a=0;a<o.length;a++)n.text+=o.char;break}return n.text.length&&i.push(n),i.length&&t.push(i),t}ApplyFormatting(e,t){let r=0,i=e.length;for(r=0;r<i;r++){let n=e[r];if(n.type==="delimeter"){if(t&&n.right_flanking&&t.char===n.char&&n.length>0)return{index:r,token:n};if(n.left_flanking){let o=this.ApplyFormatting(e.slice(r+1),n);if(o.token){let a=Math.min(o.token.length,n.length),l=n.char==="~",c=!l&&!!(a%2),d=!l&&a>=2;for(let h=r+1;h<=r+o.index;h++)e[h].strong=!!e[h].strong||d,e[h].emphasis=!!e[h].emphasis||c,e[h].strike=!!e[h].strike||l;o.token.length-=a,n.length-=a,n.length>0?r--:r+=o.index}}}}return{index:r}}Tokenize(e=""){let t=[],r=e.length,i=0,n=!1,o="";for(i=0;i<r;i++){let a=e[i];if(this.IsWhitespace(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let c=e[i+1];if(this.IsWhitespace(c))l+=c,i++;else break}t.push({type:"whitespace",text:l}),n=!1,o=""}else if(this.IsNewline(a)){o&&t.push({type:"text",text:o}),t.push({type:"newline",text:a});let l="";for(;;){let c=e[i+1];if(this.IsNewline(c))l+=c,i++;else break}l.length&&t.push({type:"newline",text:l}),n=!1,o=""}else if(n)o+=a,n=!1;else if(this.IsDelimeter(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let c=e[i+1];if(c===a)l+=c,i++;else break}t.push({type:"delimeter",text:l,char:a,length:l.length}),n=!1,o=""}else a==="\\\\"?n=!0:o+=a}return o&&t.push({type:"text",text:o}),t}};var Ie=class{date_format=!1;string_format=!1;fraction_format=!1;twelve_hour=!1;fraction_denominator=0;fraction_integer=!0;fraction_align=0;fraction_denominator_digits=0;integer_min_digits=0;decimal_min_digits=0;decimal_max_digits=0;grouping=!1;has_number_format=!1;prefix=[{text:""}];suffix=[{text:""}];scaling=0;percent=!1;exponential=!1;has_asterisk=!1};var Dr=42,Gr=95,tr=63,xt=48,Ur=46,rr=44,$r=37,ir=34,rt=35,Vr=59,vt=92,Zr=64,Ls=91,Ds=93,Or=69,Wr=101,Gs=72,Us=104,$s=77,Vs=109,Zs=83,Os=115,Ws=68,Hs=100,Bs=89,js=121,Ys=65,Js=97;var Ct=class{static date_pattern=!1;static pattern="";static char_index=0;static characters=[];static sections=[];static current_section=new Ie;static preserve_formatting_characters=!1;static decimal_mark=Ur;static group_separator=rr;static Parse(e){if(this.pattern=e,this.characters=e.split("").map(t=>t.charCodeAt(0)),this.char_index=0,this.current_section=new Ie,this.sections=[this.current_section],this.ParseDatePattern())return this.sections;for(this.char_index=0,this.current_section=new Ie,this.sections=[this.current_section];this.char_index<this.characters.length;)this.ConsumeChar();return this.sections}static ConsumeString(){let e="";for(this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case vt:this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index+1<this.characters.length&&(e+=this.pattern[++this.char_index]);break;case ir:return this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated string")}static ConsumeFormatting(){let e="";for(++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case vt:throw new Error("invalid escape character in formatting block");case Ds:return this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated format")}static ScanFractionFormat(){let e=/^([#?]+ +){0,1}([#?]+)\\/([#?0-9]+)(?:$|[^#?0-9])/,r=this.pattern.substr(this.char_index).match(e);if(!r)return!1;let i=(r[1]||"").length+r[2].length+r[3].length+1;this.current_section.fraction_format=!0,this.current_section.fraction_integer=!!r[1];let n=Number(r[3]);return isNaN(n)||(this.current_section.fraction_denominator=n),this.current_section.decimal_max_digits=this.current_section.fraction_denominator_digits=r[3].length,this.char_index+=i,this.current_section.has_number_format=!0,!0}static ConsumeNumberFormat(){let e=0;for(this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case this.group_separator:{let r=!1;for(let i=this.char_index+1;!r&&i<this.characters.length;i++){let n=this.characters[i];if(n===this.decimal_mark||n===rt||n===xt)r=!0;else if(n!==rr)break}if(r){if(e===1)throw new Error("invalid grouping in decimal part");this.current_section.grouping=!0}else this.current_section.scaling=(this.current_section.scaling||1)*1e3}break;case this.decimal_mark:if(e===1)throw new Error("too many decimal marks");e=1;break;case rt:e===1?this.current_section.decimal_max_digits++:this.current_section.integer_min_digits&&this.current_section.integer_min_digits++;break;case xt:e===1?(this.current_section.decimal_max_digits++,this.current_section.decimal_min_digits=this.current_section.decimal_max_digits):this.current_section.integer_min_digits++;break;default:return}}static AppendCharAsText(e=!0){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=this.pattern[this.char_index]:this.current_section.prefix[this.current_section.prefix.length-1].text+=this.pattern[this.char_index],e&&this.char_index++}static AppendString(e){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=e:this.current_section.prefix[this.current_section.prefix.length-1].text+=e}static AppendTextPart(e){this.current_section.has_number_format?(this.current_section.suffix.push(e),this.current_section.suffix.push({text:""})):(this.current_section.prefix.push(e),this.current_section.prefix.push({text:""}))}static ConsumeChar(){let e=this.characters[this.char_index];if(!((e===tr||e===rt)&&!this.current_section.has_number_format&&!this.current_section.string_format&&this.ScanFractionFormat()))switch(e){case Vr:this.char_index++,this.current_section=new Ie,this.sections.length===3&&(this.current_section.string_format=!0),this.sections.push(this.current_section);break;case Zr:this.char_index++,this.AppendTextPart({text:"@",flag:5}),this.current_section.string_format=!0;break;case xt:case rt:case Ur:case rr:!this.current_section.has_number_format&&!this.current_section.string_format?(this.ConsumeNumberFormat(),this.current_section.has_number_format=!0):this.AppendCharAsText();break;case Ls:this.AppendTextPart({text:this.ConsumeFormatting(),flag:6});break;case ir:this.AppendString(this.ConsumeString());break;case tr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Gr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Dr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Wr:case Or:this.current_section.percent||this.current_section.exponential||this.current_section.string_format?this.AppendCharAsText():(this.current_section.exponential=!0,this.char_index++);break;case $r:!this.current_section.exponential&&!this.current_section.string_format&&(this.current_section.percent=!0),this.AppendCharAsText();break;case vt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}static ParseDatePattern(){for(this.date_pattern=!0;this.date_pattern&&this.char_index<this.pattern.length;)this.DatePatternConsumeChar();if(this.date_pattern){this.date_pattern=!1;for(let e of this.sections)for(let t of e.prefix)t.flag&&t.flag&7&&(this.date_pattern=!0)}return this.date_pattern&&(this.sections[0].date_format=!0,this.sections[0].prefix.forEach((e,t)=>{if(e.flag===3&&(e.text==="mm"||e.text==="m")){if(t)for(let r=t-1;r;r--){let i=this.sections[0].prefix[r];if(i.flag===3){/h/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}if(t<this.sections[0].prefix.length-1)for(let r=t+1;r<this.sections[0].prefix.length;r++){let i=this.sections[0].prefix[r];if(i.flag===3){/s/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}}})),this.date_pattern}static ConsumeDatePart(){let e=this.pattern[this.char_index++],t=e.toLowerCase(),r={text:e,flag:3};for(;this.pattern[this.char_index]&&this.pattern[this.char_index].toLowerCase()===t;)r.text+=this.pattern[this.char_index++];if(t==="s"&&this.pattern[this.char_index]===".")for(r.text+=this.pattern[this.char_index++];this.pattern[this.char_index]==="0";)r.text+=this.pattern[this.char_index++];return r}static ConsumeAMPM(){let e=this.pattern.substr(this.char_index,5);if(e==="am/pm"||e==="AM/PM")return this.char_index+=5,this.sections[0].twelve_hour=!0,{text:e,flag:3};if(e=this.pattern.substr(this.char_index,3),e==="a/p"||e==="A/P")return this.char_index+=3,this.sections[0].twelve_hour=!0,{text:e,flag:3}}static DatePatternConsumeChar(){switch(this.characters[this.char_index]){case Vr:this.char_index=this.characters.length;break;case xt:case rt:case Wr:case Or:case $r:case Zr:this.date_pattern=!1;break;case Gs:case Us:case $s:case Vs:case Zs:case Os:case Ws:case Hs:case Bs:case js:this.AppendTextPart(this.ConsumeDatePart());break;case Ys:case Js:{let t=this.ConsumeAMPM();t?this.AppendTextPart(t):this.AppendCharAsText()}break;case ir:this.AppendString(this.ConsumeString());break;case tr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Gr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Dr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case vt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}};var Hr=s=>(s>=60&&s--,new Date(-22090752e5+864e5*s)),Br=(s,e=!0)=>{if(e){let t=new Date(s);s=new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).getTime()}return s=(s+22090752e5)/864e5,s>=60&&s++,s},Me=class s{static grouping_regexp=/\\d{1,3}(?=(\\d{3})+(?!\\d))/g;static fraction_limits=[9,99,999,9999];static imaginary_character="\\u{1D456}";static minus_character="-";magic_decimal=!1;transform_value;_pattern="";sections;decimal_zero_regexp=[];cloned=[];get pattern(){return this._pattern}get date_format(){return this.sections[0]&&this.sections[0].date_format}constructor(e){if(this._pattern=e,this.sections=Ct.Parse(e),this.sections.length||(this.sections=[]),this.sections[0]||(this.sections[0]=new Ie),this.sections[1]||(this.sections[1]={...this.sections[0]},this.sections[1].prefix=JSON.parse(JSON.stringify(this.sections[1].prefix)),this.sections[1].suffix=JSON.parse(JSON.stringify(this.sections[1].suffix)),this.sections[1].prefix.push({text:"-"}),this.cloned[1]=!0),this.sections[2]||(this.sections[2]={...this.sections[0]},this.cloned[2]=!0),!this.sections[3]){for(let t of this.sections[0].prefix)if(t.flag===5){this.sections[3]={...this.sections[0]},this.sections[3].string_format=!0,this.cloned[3]=!0;break}}this.decimal_zero_regexp=this.sections.map(t=>{if(t.decimal_max_digits>t.decimal_min_digits)return new RegExp(`0{1,${t.decimal_max_digits-t.decimal_min_digits}}(?:$|e)`)})}static FormatPartsAsText(e,t=0){let r=-1,i=e.map((n,o)=>{switch(n.flag){case 2:return r=o,n.text;case 1:return n.text.replace(/./g," ");case 6:return"";default:return n.text}});if(r>=0&&t){let n=i.reduce((a,l,c)=>c===r?a:a+l.length,0),o="";for(let a=0;a<t-n;a++)o+=i[r];i[r]=o}return i.join("")}SetDecimal(e){for(let t of this.sections)t.fraction_format||(t.decimal_min_digits=e,t.decimal_max_digits=e)}IncreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.min(e.fraction_denominator_digits+1,4)):(e.decimal_min_digits++,e.decimal_max_digits=e.decimal_min_digits)})}DecreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.max(e.fraction_denominator_digits-1,1)):(e.decimal_min_digits=Math.max(0,e.decimal_min_digits-1),e.decimal_max_digits=e.decimal_min_digits)})}AddGrouping(){this.sections.forEach(e=>{e.grouping=!0})}RemoveGrouping(){this.sections.forEach(e=>{e.grouping=!1})}ToggleGrouping(){let e=!this.sections[0].grouping;this.sections.forEach(t=>{t.grouping=e})}toString(){return this.sections[0].date_format?this._pattern:this.sections.filter((e,t)=>!this.cloned[t]).map(e=>{let t="",r=0;if(e.fraction_format){e.fraction_integer&&(t+="? ");let i="";for(let n=0;n<e.fraction_denominator_digits;n++)i+="#";t+=i,t+="/",e.fraction_denominator?t+=e.fraction_denominator:t+=i}else if(e.has_number_format){for(r=0;r<e.integer_min_digits;r++)t+="0";if(e.grouping&&(t.length<4&&(t=("####"+t).slice(-4)),t=t.replace(/[\\d#]{1,3}(?=([\\d#]{3})+(?![\\d#]))/g,"$&,")),e.decimal_max_digits||e.decimal_min_digits){for(t+=".",r=0;r<e.decimal_min_digits;r++)t+="0";for(;r<e.decimal_max_digits;r++)t+="#"}if(e.scaling){let i=Math.log10(e.scaling)/3;for(r=0;r<i;r++)t+=","}e.exponential&&(t+="e")}return e.prefix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.flag===6?"["+i.text+"]":i.text).join("")+t+e.suffix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.text).join("")}).join(";")}FormatDimensionedQuantity(e){if(this.transform_value){let r=this.transform_value(e);if(Ot(r))e=r;else return typeof r=="string"?r:this.FormatParts(r)}let t=this.FormatParts(e.value||0);return e.unit&&t.push({text:" "},{text:e.unit}),t}FormatComplex(e){if(e.imaginary===1/0||e.imaginary===-1/0||e.real===1/0||e.real===-1/0)return[{text:"Infinity"}];let t=[],r=[],i=!1,n=!!e.imaginary;n&&(t=this.FormatParts(e.imaginary),n=t.some(l=>/[1-9]/.test(l.text)),t.length===1&&this.sections[0].integer_min_digits<=1&&t[0].text==="1"?(t[0].text="",i=!0):t.length===1&&this.sections[1].integer_min_digits<=1&&t[0].text==="-1"&&(t[0].text="-",i=!0));let o=!!e.real;o&&(r=this.FormatParts(e.real),o=r.some(l=>/[1-9]/.test(l.text)));let a=[];if(o||!o&&!n){if(a.push(...r),n){a.push({text:e.imaginary<0?` ${s.minus_character} `:" + "});let l=i?[]:this.FormatParts(Math.abs(e.imaginary));a.push(...l,{text:s.imaginary_character})}}else n&&a.push(...t,{text:s.imaginary_character});return a}FormatParts(e){if(typeof e!="number"&&!this.sections[3])return[{text:(e??"").toString()}];let{parts:t,section:r}=this.BaseFormat(e),i=[];if(r.date_format||r.string_format)for(let n of t)typeof n=="string"?i.push({text:n}):i.push(n);else this.magic_decimal&&t[1]===""&&t.splice(1,1),i=[...r.prefix.map(n=>({...n})),{text:r.has_number_format?t.join(O.decimal_separator):""},...r.suffix.map(n=>({...n}))];for(let n=1;n<i.length;n++)i[n].flag===i[n-1].flag&&(i[n].text=i[n-1].text+i[n].text,i[n-1].text="");return i.filter(n=>n.text)}Format(e,t=0){return s.FormatPartsAsText(this.FormatParts(e),t)}ZeroPad(e,t){for(;e.length<t;)e="0"+e;return e}DateFormat(e){let t=Hr(e),r=this.sections[0],i=t.getUTCHours();return r.twelve_hour&&(i>12&&(i-=12),i===0&&(i=12)),{parts:r.prefix.map(o=>{if(o.flag===4)return o.text==="mm"?{text:this.ZeroPad(t.getUTCMinutes().toString(),2)}:{text:this.ZeroPad(t.getUTCMinutes().toString(),1)};if(o.flag===3){switch(o.text.toLowerCase()){case"am/pm":case"a/p":{let l=o.text.split("/");return{text:t.getUTCHours()>12?l[1]:l[0]}}case"mmmmm":return{text:O.date_components.long_months[t.getUTCMonth()][0]};case"mmmm":return o.text==="MMMM"?{text:O.date_components.long_months[t.getUTCMonth()].toUpperCase()}:{text:O.date_components.long_months[t.getUTCMonth()]};case"mmm":return o.text==="MMM"?{text:O.date_components.short_months[t.getUTCMonth()].toUpperCase()}:{text:O.date_components.short_months[t.getUTCMonth()]};case"mm":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),2)};case"m":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),1)};case"ddddd":case"dddd":return o.text==="DDDDD"||o.text==="DDDD"?{text:O.date_components.long_days[t.getUTCDay()].toUpperCase()}:{text:O.date_components.long_days[t.getUTCDay()]};case"ddd":return o.text==="DDD"?{text:O.date_components.short_days[t.getUTCDay()].toUpperCase()}:{text:O.date_components.short_days[t.getUTCDay()]};case"dd":return{text:this.ZeroPad(t.getUTCDate().toString(),2)};case"d":return{text:this.ZeroPad(t.getUTCDate().toString(),1)};case"yyyy":case"yyy":return{text:t.getUTCFullYear().toString()};case"yy":case"y":return{text:this.ZeroPad((t.getUTCFullYear()%100).toString(),2)};case"hh":return{text:this.ZeroPad(i.toString(),2)};case"h":return{text:this.ZeroPad(i.toString(),1)};case"ss":return{text:this.ZeroPad(t.getUTCSeconds().toString(),2)};case"s":return{text:this.ZeroPad(t.getUTCSeconds().toString(),1)}}let a=o.text.match(/^(s+)\\.(0+)$/);if(a)return{text:this.ZeroPad(t.getUTCSeconds().toString(),a[1].length)+O.decimal_separator+(t.getUTCMilliseconds()/1e3).toFixed(a[2].length).substr(2)}}return{...o}}),section:r}}StringFormat(e,t){let r=[];for(let i of t.prefix)i.flag===5?r.push({text:e}):r.push({...i});return{parts:r,section:t}}Round2(e,t){let r=Math.pow(10,t);return Math.round(r*e)/r}FormatFraction(e,t){t.percent&&(e*=100);let r={denominator:1,numerator:Math.round(e),error:Math.abs(Math.round(e)-e)};if(t.fraction_denominator)r.denominator=t.fraction_denominator,r.numerator=Math.round(e*r.denominator);else if(r.error){let n=s.fraction_limits[t.fraction_denominator_digits-1]||s.fraction_limits[0];for(let o=2;o<=n;o++){let a=Math.round(e*o),l=Math.abs(a/o-e);if(l<r.error&&(r={numerator:a,denominator:o,error:l},!l))break}}let i=[];if(t.fraction_integer){let n=Math.floor(r.numerator/r.denominator);r.numerator%=r.denominator,(n||!r.numerator)&&(i.push(n.toString()),r.numerator&&i.push(" "))}else r.numerator||i.push("0");return r.numerator&&(i.push(r.numerator.toString()),i.push("/"),i.push(r.denominator.toString())),i.join("")}BaseFormat(e){if(this.sections[0].date_format)return this.DateFormat(Number(e));if(typeof e!="number")return this.StringFormat((e??"").toString(),this.sections[3]);let t=this.sections[0],r=this.decimal_zero_regexp[0];e<0&&(t=this.sections[1]);let i=t.percent?t.decimal_max_digits+2:t.decimal_max_digits,n=Math.pow(10,-i)/2,o=Math.abs(e);if(o<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2]),t.scaling&&(o/=t.scaling,o<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2])),t.string_format)return this.StringFormat(e.toString(),t);let a="";if(t.fraction_format)return{parts:[this.FormatFraction(o,t)],section:t};t.exponential?a=o.toExponential(t.decimal_max_digits):(t.percent&&(o*=100),a=this.Round2(o,t.decimal_max_digits).toFixed(t.decimal_max_digits)),r&&(a=a.replace(r,""));let l=a.split(".");for(;l[0].length<t.integer_min_digits;)l[0]=("0000000000000000"+l[0]).slice(-t.integer_min_digits);return t.integer_min_digits===0&&l[0]==="0"&&(l[0]=""),t.grouping&&(l[0]=l[0].replace(s.grouping_regexp,"$&"+O.grouping_separator)),{parts:l,section:t}}};var Fe=class{static cache={};static complex_general;static symbolc_name_map={};static base_formats={Accounting:"_(#,##0.00_);(#,##0.00);-???",Number:"0.00",Integer:"0",Percent:"0.00%",General:"0.######",Fraction:"# ?/?",Dollar:"$* _(#,##0.00_);$* (#,##0.00);$* -???",Exponential:"0.000e","Short Date":"mm/dd/yy","Long Date":"dddd, mmm d yyyy",Timestamp:"mm-dd-yy hh:mm:ss"};static aliases={Scientific:"Exponential",Percentage:"Percent",Currency:"Dollar"};static Get(e,t=!1){if(t&&e==="General")return this.complex_general;let r=this.symbolc_name_map[e.toLowerCase()],i=this.cache[r||e];return i||(i=new Me(e),this.cache[e]=i),i}static Equals(e,t){if(e===t)return!0;let r=this.Get(e),i=this.Get(t);return r.pattern===i.pattern}static Translate(e){let t=this.symbolc_name_map[e.toLowerCase()];return t?this.cache[t].toString():e}static SymbolicName(e){for(let t of Object.keys(this.base_formats))if(e===this.base_formats[t])return t;return null}static InitCache(){for(let e of Object.keys(this.base_formats))this.cache[e]=new Me(this.base_formats[e]),this.symbolc_name_map[e.toLowerCase()]=e;this.cache.General.magic_decimal=!0,this.complex_general=new Me("0.###"),this.complex_general.magic_decimal=!0;for(let e of Object.keys(this.aliases))this.cache[e]=this.cache[this.aliases[e]],this.symbolc_name_map[e.toLowerCase()]=e}};Fe.InitCache();var jr=new Date().getUTCFullYear(),nr=class{compare_day;compare_month;TestDate(e){let t=Date.parse(e);if(isNaN(t))return!1;let r=new Date(t),n=e.replace(/[\\d\\-\\\\/,.\\s]+/g," ").toLocaleLowerCase().split(/\\s+/).map(l=>l.trim()).filter(l=>!!l);if(!n.length)return t;if(!this.compare_month){this.compare_month={};for(let l=0;l<12;l++)this.compare_month[O.date_components.long_months[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_month[O.date_components.short_months[l].toLocaleLowerCase().replace(/\\./,"")]=l}if(!this.compare_day){this.compare_day={};for(let l=0;l<7;l++)this.compare_day[O.date_components.long_days[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_day[O.date_components.short_days[l].toLocaleLowerCase().replace(/\\./,"")]=l}let o=!1,a=!1;for(let l of n){let c=!1;for(let[d,h]of Object.entries(this.compare_month))if(l===d){if(o||r.getUTCMonth()!==h)return!1;c=!0,o=!0}if(!c){for(let[d,h]of Object.entries(this.compare_day))if(l===d){if(a||r.getUTCDay()!==h)return!1;c=!0,a=!0}}if(!c)return!1}return a&&!o?!1:t}TryParse(e=""){let t={};if(e[0]==="\'")return{value:e,type:2};if(e==="")return{value:e,type:2};if(e==="NaN")return{value:NaN,type:3,hints:{Nan:!0}};let r=e.trim(),i=r.match(/^[$](.*?)$/);i&&(r=i[1],t.Currency=!0);let n=r.match(/^\\((.*?)\\)$/);n&&(r=n[1],t.Parens=!0);let o=r.match(/^(.*?)%\\s*$/);o&&(r=o[1],t.Percent=!0),O.decimal_separator==="."?/,/.test(r)&&(r=r.replace(/,/g,""),t.Grouping=!0):(r=r.replace(/(\\d)\\s+/g,"$1"),r=r.replace(/\\./g,""),r=r.replace(/,/,"."));let a=Number(r);if(a===null||isNaN(a)){let l=e.toLowerCase();if(l==="false")return{value:!1,type:4};if(l==="true")return{value:!0,type:4};let c=this.TestDate(e);if(c!==!1&&!isNaN(c)){let d=new Date(c),h=d.getUTCFullYear();if(h>=jr-200&&h<=jr+200)return t={Date:!0},(d.getHours()||d.getMinutes()||d.getSeconds())&&(t.Time=!0),{value:Br(c,!0),type:3,hints:t}}return{value:e,type:2}}if(n&&(a=-a),o){let l=a<0?-1:1,c=(l*a).toString().split(".");c[0]=("00"+c[0]).replace(/(\\d\\d)$/,".$1"),a=Number(c.join(""))*l}return/e/.test(e)&&(t.Exponential=!0),{value:a,type:3,hints:t}}},or=new nr;var it=class s extends Ve{constructor(t,r,i){super();this.model=t;this.view=r;this.autocomplete=i;this.parser=t.parser}static FormulaChars=("$^&*(-+={[<>/~%@"+O.argument_separator).split("");active_cell;autocomplete_matcher;container_node;active_editor;nodes=[];target_address;assume_formula=!1;text_formula=!1;get selecting(){if(this.assume_formula)return!0;if(!this.text_formula)return!1;if(this.active_editor&&this.active_editor.node===this.active_editor.node.ownerDocument.activeElement){let t=this.active_editor.node.ownerDocument.defaultView,r=t.getSelection();if(r?.rangeCount){let o=r?.getRangeAt(0);if((o?.endContainer instanceof t.HTMLElement?o.endContainer:o.endContainer?.parentElement)?.dataset.reference!==void 0)return!0;if(o?.startContainer instanceof t.Text){let l=(o.startContainer.textContent?.substring(0,o.startOffset)||"").trim();if(l.length&&s.FormulaChars.includes(l[l.length-1]))return!0}else console.info("mark 21",o)}let n=this.SubstringToCaret2(this.active_editor.node)[1].trim();if(n.length){let o=n[n.length-1];return s.FormulaChars.includes(o)}}return!1}composite_dependencies=[];get dependencies(){return this.composite_dependencies}parser;FocusEditor(){this.active_editor&&this.active_editor.node.focus()}RegisterListener(t,r,i){t.node.addEventListener(r,i),t.listeners||(t.listeners=new Map),t.listeners.set(r,i)}SelectAll(t){let i=t.ownerDocument.defaultView.getSelection(),n=t.ownerDocument.createRange();n.selectNode(t),i?.removeAllRanges(),i?.addRange(n)}SetCaret(t,r){let i=t.node.ownerDocument,n=i?.defaultView,o=n.getSelection(),a=i?.createRange(),l=d=>{let h=d;for(;h&&!(h instanceof n.Text)&&h.firstChild;)h=h.firstChild;return h},c=l(t.node);if(r){let d=l(r.node);o&&a&&(a.setStart(c,t.offset),a.setEnd(d,r.offset),o.removeAllRanges(),o.addRange(a))}else o&&a&&(a.setStart(c,t.offset),a.setEnd(c,t.offset),a.collapse(!0),o.removeAllRanges(),o.addRange(a))}InsertReference(t){if(!this.active_editor)return;let r=this.active_editor.node.ownerDocument.defaultView,i=r.getSelection();if(!i)throw new Error("error getting selection");if(i.rangeCount===0)return"";let n=i.getRangeAt(0),o=this.active_editor.node.textContent||"";if(n.startContainer instanceof r.Text)if(!n.collapsed&&n.startOffset<n.endOffset){let a=this.SubstringToCaret2(this.active_editor.node);this.active_editor.node.textContent=a[0]+t+o.substring(a[1].length),this.SetCaret({node:this.active_editor.node,offset:a[0].length},{node:this.active_editor.node,offset:a[0].length+t.length})}else{let a=n.startContainer.parentElement;if(a instanceof r.HTMLElement&&a.dataset.reference)a.textContent=t,this.SetCaret({node:a,offset:t.length});else{let l=this.SubstringToCaret2(this.active_editor.node)[1],c="",d=l.trim();if(d.length){let h=d[d.length-1];s.FormulaChars.includes(h)||(l.length===d.length?c=" +":c="+")}this.active_editor.node.textContent=l+c+t+o.substring(l.length),this.SetCaret({node:this.active_editor.node,offset:l.length+t.length+c.length})}}else n.startContainer instanceof r.HTMLElement?(n.startContainer.textContent=t,this.SetCaret({node:n.startContainer,offset:t.length})):console.warn("unexpected range start container",n.startContainer);this.UpdateText(this.active_editor),this.UpdateColors(),this.active_editor.node.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}))}UpdateColors(t=!1,r=!1){let i=new Map,n=new Map;for(let a of this.nodes)for(let l of a.references||[]){let c=this.model.AddressToLabel(l);i.has(c)||(i.set(c,l),n.set(c,n.size))}for(let a of this.nodes){for(let l of Array.from(a.node.childNodes)){let c=l.ownerDocument?.defaultView;if(c&&l instanceof c.HTMLElement&&l.dataset.reference){let d=n.get(l.dataset.reference);l.dataset.highlightIndex=typeof d=="number"?(d%5+1).toString():"?"}}a.check=a.node.innerHTML.length}let o=Array.from(i.values());!t&&JSON.stringify(this.composite_dependencies)===JSON.stringify(o)||(this.composite_dependencies=o,r||this.Publish({type:"update",dependencies:this.composite_dependencies}))}UpdateDependencies(t,r){let i=[];for(let l of r.full_reference_list||[])switch(l.type){case"address":case"range":{let c=l.type==="range"?l.start:l;c.sheet_id||(c.sheet?c.sheet_id=this.model.sheets.Find(c.sheet)?.id||0:c.sheet_id=this.view.active_sheet.id),i.push(l);break}case"structured-reference":if(this.target_address){let c=this.model.ResolveStructuredReference(l,this.target_address);c&&i.push(c)}else console.info("target address not set");break;case"identifier":{let c=this.model.GetName(l.name,this.view.active_sheet.id);c?.type==="range"&&(c.area.count===1?i.push({type:"address",...c.area.start,label:l.name,position:l.position,id:l.id}):i.push({type:"range",start:{type:"address",position:l.position,id:l.id,label:l.name,...c.area.start},end:{type:"address",position:l.position,label:l.name,id:l.id,...c.area.end},label:l.name,position:l.position,id:l.id}));break}}i.sort((l,c)=>l.position-c.position);let n=[],o=new Set,a=new Map;for(let l of i){let c=this.model.AddressToLabel(l),d=Ne(l)?new G(l):new G(l.start,l.end);o.has(c)||(n.push(d),o.add(c)),a.set(l.label,c)}return this.UpdateReferences(t,n),a}UpdateReferences(t,r=[]){t.node.dataset.references=JSON.stringify(r.map(i=>this.model.AddressToLabel(i))),t.references=r}UpdateText(t,r={}){let i=t.node,n=i.textContent||"",o=ce.GetInstance(i.ownerDocument);if(this.text_formula=n[0]==="=",this.active_editor&&!this.assume_formula&&(this.active_editor.node.spellcheck=!this.text_formula,!this.text_formula)||n===t.formatted_text)return;let[a,l]=this.SubstringToCaret2(i),c=a.length,d=l.length;if(c===0&&d===0&&(d=n.length),!n)this.UpdateReferences(t);else{let f=this.parser.Parse(n);if(f.expression){let u=this.UpdateDependencies(t,f),p=n[0]==="="?1:0,y=0,v,w,b=0,m,A=o.Fragment(),N=(L,z="text",M="",V=!1)=>{let $=o.Text(L);if((V||(c>b||c===0&&b===0)&&c<=b+L.length)&&(v={offset:c-b,node:$}),d>b&&d<=b+L.length&&(w={offset:d-b,node:$}),z!=="text"){let U=o.Create("span",z);M&&(U.dataset.reference=M),U.appendChild($),A.appendChild(U)}else A.appendChild($);m=$,b+=L.length};this.parser.Walk(f.expression,L=>{if(L.type==="missing"||L.type==="group"||L.type==="dimensioned")return!0;let z=L.position+p,M=n.substring(y,z),V="",$=L.type,U="";switch(L.type){case"identifier":V=n.substring(z,z+L.name.length),U=u.get(L.name)||"";break;case"call":V=n.substring(z,z+L.name.length);break;case"literal":if(typeof L.value=="string")V=n.substring(z,z+L.value.length+2),$="string";else return!1;break;case"address":case"range":case"structured-reference":U=u.get(L.label)||"???",V=r.rewrite_addresses?L.label:n.substring(z,z+L.label.length);break;default:return!0}return N(M),N(V,$,U),y=z+V.length,L.type!=="range"}),y<n.length&&N(n.substring(y)),v||(m?v={node:m,offset:(m.data||"").length}:N("",void 0,"",!0)),i.textContent="",i.appendChild(A),v&&!r.format_only&&i===this.active_editor?.node&&this.SetCaret(v,w)}}t.formatted_text=n;let h=this.autocomplete_matcher;h&&Promise.resolve().then(()=>{let f=h.Exec({text:n,cursor:l.length});this.selecting&&f.completions?.length&&(f.completions=void 0);let u=this.NodeAtIndex(f.completions?.length?f.position||0:f.function_position||0);this.Autocomplete(f,u)})}NodeAtIndex(t){let r=this.active_editor?.node.childNodes||[];for(let i=0;i<r.length;i++){let n=r[i].textContent?.length||0;if(n>t)return r[i];t-=n}}AcceptAutocomplete(t){if(!this.active_editor)return;let r;if(t.data&&t.data.completions){for(let d of t.data.completions)if(d.name.toLowerCase()===t.value?.toLowerCase()){r=d.type;break}}let i=t.data?.position||0,n=i+(t.data?.token?.length||0),o=r==="token"?t.value:t.value+"(",a=this.active_editor.node.textContent||"",l=a.substring(0,i)+o,c=l.length;l+=a.substring(n),this.active_editor.node.textContent=l,this.SetCaret({node:this.active_editor.node,offset:c}),this.autocomplete?.Hide(),this.UpdateText(this.active_editor),this.UpdateColors()}Autocomplete(t,r){if(!this.container_node||!this.autocomplete)return;let i;r?.nodeType===Node.ELEMENT_NODE?i=r.getBoundingClientRect():i=this.container_node.getBoundingClientRect();let n=new Se(Math.round(i.left),Math.round(i.top),i.width,i.height);this.autocomplete.Show(this.AcceptAutocomplete.bind(this),t,n)}SubstringToCaret2(t,r=!1){let i=["",""];if(!r&&t!==t.ownerDocument.activeElement||t!==this.active_editor?.node)return i;let o=t.ownerDocument.defaultView,a=[!1,!1],l=(d,h)=>{if(d===h.startContainer&&d===h.endContainer&&!(d instanceof o.Text)){a[0]=a[1]=!0,i[0]+=d.textContent,i[1]+=d.textContent;return}if(d===h.startContainer&&(i[0]+=(d.textContent||"").substring(0,h.startOffset),a[0]=!0),d===h.endContainer&&(i[1]+=(d.textContent||"").substring(0,h.endOffset),a[1]=!0),!(a[0]&&a[1])){if(d instanceof o.Text){let f=d.textContent||"";a[0]||(i[0]+=f),a[1]||(i[1]+=f)}else if(d.hasChildNodes()){for(let f of Array.from(d.childNodes))if(l(f,h),a[0]&&a[1])return}}},c=o.getSelection();if(c?.rangeCount??!1){let d=c?.getRangeAt(0);d&&l(t,d)}return i}};var Qs=typeof navigator>"u"?"":navigator.appVersion,ve=typeof navigator>"u"?"":navigator.userAgent,ar=class{is_edge=/Edge/.test(Qs);is_ipad=/iPad|iPhone/.test(ve);is_iphone=/iPhone/.test(ve);is_android=/android|samsung/i.test(ve);is_mobile=this.is_ipad||this.is_android;is_firefox=/firefox/i.test(ve);is_safari=/safari/i.test(ve)&&!/edg/i.test(ve);is_mac=/macintosh/i.test(ve);is_chrome=/Chrome/i.test(ve);is_windows=/win64|win32|windows\\s+nt/i.test(ve);is_modern=!this.is_edge&&!(this.is_firefox&&this.is_android)&&/webkit|firefox/i.test(ve)},qs={is_edge:!1,is_ipad:!1,is_iphone:!1,is_android:!1,is_firefox:!1,is_safari:!1,is_mac:!1,is_chrome:!1,is_windows:!1,is_modern:!0,is_mobile:!1},St=typeof navigator>"u"?qs:new ar;var Xi=De(It());var yo={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":\'"\',"&apos;":"\'"},wo=/&\\w+;/g,xo=s=>s.replace(wo,e=>yo[e]||e);var Rt=xo;var Ni=De(It()),vo=(s,e)=>Rt(e);var gr=s=>{if(s){if(Array.isArray(s))for(let e of s)gr(e);else if(typeof s=="object")for(let[e,t]of Object.entries(s))if(e==="a$"){if(typeof t=="object"){let r={};for(let[i,n]of Object.entries(t))n!==void 0&&(r[i]=n);s[e]=r}}else gr(t)}return s},Mi=s=>{let e=new Ni.XMLBuilder(s),t=e.build;return e.build=r=>t.call(e,gr(r)),e},kt={ignoreAttributes:!1,attributesGroupName:"a$",attributeNamePrefix:"",textNodeName:"t$",trimValues:!1,ignoreDeclaration:!0,isArray:s=>/Relationship$/.test(s),tagValueProcessor:vo},R=class{static FindChild(e={},t){let r=t.split("/");for(let i of r)if(e=e[i],!e)return;return e}static FindAll(e={},t){let r=t.split("/");if(r[0]==="."&&r.shift(),r[0]==="..")throw new Error("invalid path (no access to parent)");if(r[0]==="")throw new Error("invalid path (no access to root)");if(r[0]==="**")throw new Error("ENOTIMPL");return this.FindAllTail(e,r)}static FindAllTail(e,t){if(Array.isArray(e))return e.reduce((r,i)=>r.concat(this.FindAllTail(i,t)),[]);for(let r=0;r<t.length;r++){let i=t[r];if(i==="*"?e=Object.entries(e).reduce((o,[a,l])=>(a!=="a$"&&a!=="t$"&&o.push(l),o),[]):e=e[i],!e)return[];if(Array.isArray(e)){if(r===t.length-1||e.length===0)return e;let n=t.slice(1);return e.reduce((o,a)=>o.concat(this.FindAllTail(a,n)),[])}}return[e]}};var He=class{strings=[];reverse={};FromXML(e){this.strings=[],this.reverse={};let t=0;for(let r of R.FindAll(e,"sst/si")){if(r.t!==void 0){let i="";typeof r.t=="string"?i=r.t:r.t.t$&&(i=r.t.t$),this.strings[t]=i,this.reverse[i]=t}else if(r.r){let n=R.FindAll(r.r,"t").map(o=>typeof o=="string"?o:o.t$||"").join("");this.strings[t]=n,this.reverse[n]=t}else console.warn(` ** unexpected shared string @ ${t}`),console.info(r);t++}}Get(e){return this.strings[e]}Ensure(e){e[0]==="\'"&&(e=e.substring(1));let t=this.reverse[e];return typeof t=="number"||(t=this.strings.length,this.strings.push(e),this.reverse[e]=t),t}};var ze=class s{static color_map=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];colors={};FromXML(e){let t=Object.keys(e)[0],r="",i=t.toString().match(/^(.*?):/);if(i&&(r=i[1]+":"),e[t]&&e[t][`${r}themeElements`]){let n=e[t][`${r}themeElements`][`${r}clrScheme`];for(let o of s.color_map){let a=n[`${r}${o}`],l,c="rgb";a[`${r}srgbClr`]?(c="rgb",l=a[`${r}srgbClr`].a$.val||""):a[`${r}sysClr`]&&(c="system",l=a[`${r}sysClr`].a$.lastClr||""),this.colors[o]={name:o,value:l,type:c}}}}};var Fi=11,yr={top:{},left:{},bottom:{},right:{},diagonal:{}},Be=class s{static default_styles={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"mm-dd-yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@"};theme=new ze;cell_xfs=[];fonts=[];borders=[];fills=[];number_formats=[];base_number_format_id=200;dxf_styles=[];modified=!1;Clamp(e,t,r){return Math.max(t,Math.min(e,r))}TintColor(e,t){let r=parseInt(e.substr(0,2),16),i=parseInt(e.substr(2,2),16),n=parseInt(e.substr(4,2),16);return t<0?(r=Math.round(r*t+r),i=Math.round(i*t+i),n=Math.round(n*t+n)):(r=Math.round((255-r)*t+r),i=Math.round((255-i)*t+i),n=Math.round((255-n)*t+n)),[r,i,n].map(o=>{let a=this.Clamp(o,0,255).toString(16);return a.length<2?"0"+a:a}).join("")}StyleOptionsFromProperties(e){let t=JSON.parse(JSON.stringify(e));for(let c of Object.keys(t))t[c]==="none"&&delete t[c];let r={},i={pattern_type:"none"},n=JSON.parse(JSON.stringify(yr)),o={font:r,border:n};t.number_format&&(o.number_format={format:Fe.Translate(t.number_format),symbolic_name:t.number_format},/Scientific/i.test(t.number_format)&&(o.number_format.format="0.00E+00")),t.font_size?.unit&&t.font_size.value&&(t.font_size.unit==="em"?r.size=t.font_size.value*Fi:t.font_size.unit==="%"?r.size=t.font_size.value*Fi/100:t.font_size.unit==="pt"?r.size=t.font_size.value:t.font_size.unit==="px"?r.size=t.font_size.value*.75:console.warn("Unhandled font size unit",t.font_size)),t.bold&&(r.bold=!0),t.italic&&(r.italic=!0),t.underline&&(r.underline=!0),t.text&&(we(t.text)?r.color_argb=t.text.text:xe(t.text)&&(r.color_theme=$e(t.text),t.text.tint&&(r.color_tint=t.text.tint)));let a=(c,d)=>{c.width&&(d.style="thin",we(c.color)?d.rgba=c.color.text:xe(c.color)?(d.theme=$e(c.color),c.color.tint&&(d.tint=c.color.tint)):d.color=64)},l=se.CompositeBorders(t);switch(a(l.top,n.top),a(l.left,n.left),a(l.right,n.right),a(l.bottom,n.bottom),t.vertical_align){case"top":o.vertical_alignment="top";break;case"middle":o.vertical_alignment="center";break}switch(t.horizontal_align){case"center":o.horizontal_alignment="center";break;case"left":o.horizontal_alignment="left";break;case"right":o.horizontal_alignment="right";break}return o.indent=t.indent,t.fill&&(i.pattern_type="solid",we(t.fill)?(i.fg_color={argb:t.fill.text},o.fill=i):xe(t.fill)&&(i.fg_color={theme:$e(t.fill)},t.fill.tint&&(i.fg_color.tint=t.fill.tint),o.fill=i)),t.wrap&&(o.wrap=!0),o}CellXfToStyle(e){let t={},r=s.default_styles[e.number_format];if(!r){for(let c of this.number_formats)if(c.id===e.number_format&&c.format){r=c.format;break}}if(r){let c=/\\[\\$(.)-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(c,"$1");let d=/\\[\\$-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(d,""),t.number_format=r}let i=this.fonts[0],n=this.fonts[e.font||0];n&&(n.bold&&(t.bold=!0),n.italic&&(t.italic=!0),n.underline&&(t.underline=!0),n.strike&&(t.strike=!0),i&&i.size&&n.size&&i.size!==n.size&&(t.font_size={value:100*n.size/i.size,unit:"%"}),n.color_argb?t.text={text:"#"+(n.color_argb.length>6?n.color_argb.substr(n.color_argb.length-6):n.color_argb)}:typeof n.color_theme=="number"&&(t.text={theme:n.color_theme}));let o=this.fills[e.fill||0];if(o&&o.pattern_type!=="none"){if(o.pattern_type==="gray"){let c=Math.round((o.pattern_gray||0)/1e3*255);t.fill={text:`rgb(${c}, ${c}, ${c})`}}o.pattern_type==="solid"&&o.fg_color&&(o.fg_color.argb?t.fill={text:"#"+(o.fg_color.argb.length>6?o.fg_color.argb.substr(o.fg_color.argb.length-6):o.fg_color.argb)}:typeof o.fg_color.theme=="number"&&(t.fill={theme:o.fg_color.theme},o.fg_color.tint&&(t.fill.tint=Math.round(o.fg_color.tint*1e3)/1e3)))}switch(e.horizontal_alignment){case"center":t.horizontal_align="center";break;case"right":t.horizontal_align="right";break;case"left":t.horizontal_align="left";break}switch(e.vertical_alignment){case"center":t.vertical_align="middle";break;case"top":t.vertical_align="top";break;case"bottom":t.vertical_align="bottom";break}t.indent=typeof e.indent=="string"?Number(e.indent):e.indent,e.wrap_text&&(t.wrap=!0);let a=c=>{if(typeof c.theme<"u")return{theme:c.theme,tint:c.tint}},l=this.borders[e.border||0];return l&&(l.bottom.style&&(l.bottom.style==="double"?t.border_bottom=2:t.border_bottom=1,t.border_bottom_fill=a(l.bottom)),l.left.style&&(t.border_left=1,t.border_left_fill=a(l.left)),l.top.style&&(t.border_top=1,t.border_top_fill=a(l.top)),l.right.style&&(t.border_right=1,t.border_right_fill=a(l.right))),t}CellXfToStyles(){return this.cell_xfs.map(e=>this.CellXfToStyle(e))}EnsureNumberFormat(e){if(typeof e.format>"u"||e.symbolic_name&&/^general$/i.test(e.symbolic_name))return 0;for(let r=0;r<100;r++){let i=s.default_styles[r];if(i&&i===e.format)return r}for(let r of this.number_formats)if(r.format===e.format)return r.id||0;this.modified=!0;let t={id:this.base_number_format_id++,format:e.format};return this.number_formats.push(t),t.id}CompareBorderEdge(e,t){return e.color===t.color&&e.rgba===t.rgba&&e.style===t.style&&e.theme===t.theme&&e.tint===t.tint}CompareBorder(e,t){return this.CompareBorderEdge(e.top,t.top)&&this.CompareBorderEdge(e.left,t.left)&&this.CompareBorderEdge(e.bottom,t.bottom)&&this.CompareBorderEdge(e.right,t.right)&&this.CompareBorderEdge(e.diagonal,t.diagonal)}EnsureBorder(e){for(let r=0;r<this.borders.length;r++){let i=this.borders[r];if(this.CompareBorder(i,e))return r}this.modified=!0;let t=JSON.parse(JSON.stringify(e));return this.borders.push(t),this.borders.length-1}MatchColor(e,t){return!e&&!t?!0:!e||!t?!1:e.argb===t.argb&&e.indexed===t.indexed&&e.theme===t.theme&&e.tint===t.tint}EnsureFill(e){for(let r=0;r<this.fills.length;r++){let i=this.fills[r];if(this.MatchColor(e.bg_color,i.bg_color)&&this.MatchColor(e.fg_color,i.fg_color)&&e.pattern_gray===i.pattern_gray&&e.pattern_type===i.pattern_type)return r}this.modified=!0;let t={...e};return this.fills.push(t),this.fills.length-1}EnsureFont(e){let t={...this.fonts[0],...e};for(let r=0;r<this.fonts.length;r++){let i=this.fonts[r];if(i.bold===t.bold&&i.italic===t.italic&&i.underline===t.underline&&i.size===t.size&&i.strike===t.strike&&i.color_argb===t.color_argb&&i.color_theme===t.color_theme&&i.color_tint===t.color_tint&&i.family===t.family)return r}return this.modified=!0,this.fonts.push(t),this.fonts.length-1}EnsureStyle(e){let t=this.EnsureFont(e.font||{}),r=this.EnsureBorder(e.border||yr),i=this.EnsureNumberFormat(e.number_format||{}),n=this.EnsureFill(e.fill||{pattern_type:"none"});for(let a=0;a<this.cell_xfs.length;a++){let l=this.cell_xfs[a];if(l.font===t&&l.fill===n&&l.border===r&&l.number_format===i&&!!l.wrap_text==!!e.wrap&&l.indent===e.indent&&(!e.horizontal_alignment&&!l.horizontal_alignment||e.horizontal_alignment===l.horizontal_alignment)&&(!e.vertical_alignment&&!l.vertical_alignment||e.vertical_alignment===l.vertical_alignment))return a}this.modified=!0;let o={font:t,fill:n,border:r,number_format:i,indent:e.indent};return e.horizontal_alignment&&(o.horizontal_alignment=e.horizontal_alignment),e.vertical_alignment&&(o.vertical_alignment=e.vertical_alignment),e.wrap&&(o.wrap_text=!0),this.cell_xfs.push(o),this.cell_xfs.length-1}FromXML(e,t){let r=R.FindAll.bind(R,e);this.theme=t;let i=r("styleSheet/numFmts/numFmt");this.number_formats=i.map(d=>({id:Number(d.a$?.numFmtId||0),format:Rt(d.a$?.formatCode||"")})),i=r("styleSheet/borders/border");let n=(d,h)=>{d?.a$&&(h.style=d.a$.style,typeof d.color=="object"&&(typeof d.color.a$?.indexed<"u"&&(h.color=Number(d.color.a$.indexed)),typeof d.color.a$?.theme<"u"&&(h.theme=Number(d.color.a$.theme)),typeof d.color.a$?.tint<"u"&&(h.tint=Number(d.color.a$.tint))))};this.borders=i.map(d=>{let h=JSON.parse(JSON.stringify(yr));return n(d.left,h.left),n(d.right,h.right),n(d.top,h.top),n(d.bottom,h.bottom),h}),i=r("styleSheet/cellXfs/xf"),this.cell_xfs=i.map(d=>{let h={number_format:Number(d.a$.numFmtId),font:Number(d.a$.fontId),fill:Number(d.a$.fillId),border:Number(d.a$.borderId),xfid:Number(d.a$.xfId)};return d.alignment&&(h.horizontal_alignment=d.alignment.a$.horizontal,h.vertical_alignment=d.alignment.a$.vertical,h.wrap_text=!!d.alignment.a$.wrapText,h.indent=d.alignment.a$.indent||void 0),h});let o=d=>{let h={pattern_type:"none"};if(d.patternFill){let f=d.patternFill.a$?.patternType;switch(f){case"none":case void 0:break;case"solid":h.pattern_type="solid",d.patternFill.fgColor&&(h.fg_color={theme:d.patternFill.fgColor.a$?.theme?Number(d.patternFill.fgColor.a$.theme):void 0,indexed:d.patternFill.fgColor.a$?.indexed?Number(d.patternFill.fgColor.a$.indexed):void 0,tint:d.patternFill.fgColor.a$?.tint?Number(d.patternFill.fgColor.a$.tint):void 0,argb:d.patternFill.fgColor.a$?.rgb});break;default:{let u=f?.match(/^gray(\\d+)$/);if(u){h.pattern_type="gray",h.pattern_gray=Number(u[1]);break}}}}return h};i=r("styleSheet/fills/fill"),this.fills=i.map(o);let a=d=>{let h={};return h.italic=typeof d.i<"u",h.bold=typeof d.b<"u",h.underline=typeof d.u<"u",h.strike=typeof d.strike<"u",d.sz&&(h.size=Number(d.sz.a$.val)),d.scheme&&(h.scheme=d.scheme.a$.val),d.name&&(h.name=d.name.a$.val),d.family&&(h.family=Number(d.family.a$.val)),d.color&&(d.color.a$?.theme&&(h.color_theme=Number(d.color.a$.theme)),d.color.a$?.tint&&(h.color_tint=Number(d.color.a$.tint)),d.color.a$?.rgb&&(h.color_argb=d.color.a$.rgb)),h};i=r("styleSheet/fonts/font"),this.fonts=i.map(a);let l=d=>{let h={};return d.a$.rgb?h.text="#"+d.a$.rgb.substring(2):d.a$.theme&&(h.theme=Number(d.a$.theme)||0,d.a$.tint&&(h.tint=Math.round(d.a$.tint*1e3)/1e3)),h},c=r("styleSheet/dxfs/dxf");this.dxf_styles=c.map(d=>{let h={};return d.font&&(h.bold=!!d.font.b,h.italic=!!d.font.i&&d.font.i.a$.val!=="0"),d.font?.color?.a$&&(h.text=l(d.font.color)),d.fill?.patternFill?.bgColor?.a$&&(h.fill=l(d.fill.patternFill.bgColor)),h})}};var be=(s,e,t,r)=>{let n=`rId${Object.keys(s).length+1}`;return s[n]={id:n,type:e,target:t,mode:r},n};var Pi={"c:tx":{"c:strRef":{"c:f":"","c:strCache":{"c:ptCount":{a$:{val:"1"}},"c:pt":{a$:{idx:"0"},"c:v":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},zi={"c:tx":{"c:rich":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:r":{"a:rPr":{a$:{lang:""}},"a:t":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},ot={"c:chartSpace":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:c16r2":"http://schemas.microsoft.com/office/drawing/2015/06/chart"},"c:date1904":{a$:{val:"0"}},"c:lang":{a$:{val:"en-US"}},"c:roundedCorners":{a$:{val:"0"}},"mc:AlternateContent":{a$:{"xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006"},"mc:Choice":{a$:{Requires:"c14","xmlns:c14":"http://schemas.microsoft.com/office/drawing/2007/8/2/chart"},"c14:style":{a$:{val:"102"}}},"mc:Fallback":{"c:style":{a$:{val:"2"}}}},"c:chart":{},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"bg1"}}},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:printSettings":{"c:headerFooter":{},"c:pageMargins":{a$:{b:"0.75",l:"0.7",r:"0.7",t:"0.75",header:"0.3",footer:"0.3"}},"c:pageSetup":{}}}};var Li={"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:invertIfNegative":{a$:{val:"0"}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-F52E-47BC-822F-A046A80610BE}"}}}}},Di={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:barChart":{"c:barDir":{a$:{val:"col"}},"c:grouping":{a$:{val:"clustered"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:gapWidth":{a$:{val:"219"}},"c:overlap":{a$:{val:"-27"}},"c:axId":[{a$:{val:"47003664"}},{a$:{val:"1789284464"}}]},"c:catAx":{"c:axId":{a$:{val:"47003664"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"1789284464"}},"c:crosses":{a$:{val:"autoZero"}},"c:auto":{a$:{val:"1"}},"c:lblAlgn":{a$:{val:"ctr"}},"c:lblOffset":{a$:{val:"100"}},"c:noMultiLvlLbl":{a$:{val:"0"}}},"c:valAx":{"c:axId":{a$:{val:"1789284464"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"General",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"47003664"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"between"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Gi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:doughnutChart":{"c:varyColors":{a$:{val:"1"}},"c:ser":{"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:dPt":{"c:idx":{a$:{val:"3"}},"c:bubble3D":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent4"}}},"a:ln":{a$:{w:"19050"},"a:solidFill":{"a:schemeClr":{a$:{val:"lt1"}}}},"a:effectLst":{}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000007-E886-49A6-AE6D-C67D8A27530F}"}}}}},"c:cat":{"c:strRef":{"c:f":""}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-3689-4BB4-A84F-05B9F3BBE577}"}}}}},"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}},"c:showLeaderLines":{a$:{val:"1"}}},"c:firstSliceAng":{a$:{val:"0"}},"c:holeSize":{a$:{val:"75"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:legend":{"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{a$:{rtl:"0"},"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Ui={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:scatterChart":{"c:scatterStyle":{a$:{val:"lineMarker"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},$i={"c:spPr":{"a:ln":{a$:{w:"19050",cap:"rnd"},"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:round":{}},"a:effectLst":{}},"c:marker":{"c:symbol":{a$:{val:"none"}}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:smooth":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-1F6C-44A9-AA4F-6706F20CC72E}"}}}}};var Vi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:bubbleChart":{"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},Zi={"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"},"a:alpha":{a$:{val:"75000"}}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:bubbleSize":{"c:numRef":{"c:f":""}},"c:bubble3D":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-03D7-43A5-9DAB-5775FFEF9C03}"}}}}};var je=class s{constructor(e,t=s.next_chart_index++){this.options=e;this.index=t}static next_chart_index=1;relationships={};UpdateChartTitle(e){let t=this.options.title||{type:"literal",value:""};if(t&&t.type==="literal"){let r=JSON.parse(JSON.stringify(zi)),i=r["c:tx"]["c:rich"]["a:p"];i["a:r"]={"a:rPr":{a$:{lang:O.locale}},"a:t":t.value},e["c:title"]=r}else if(t){let r=JSON.parse(JSON.stringify(Pi));r["c:tx"]["c:strRef"]["c:f"]=t.label,e["c:title"]=r}}toJSON(){switch(this.options.type){case"column":case"bar":return this.CreateBarChart();case"scatter":case"scatter2":return this.CreateScatterChart();case"bubble":return this.CreateBubbleChart();case"donut":return this.CreateDonutChart();default:console.info("unhandled chart type",this.options.type)}return this.CreateBarChart()}CreateBubbleChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Vi));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:bubbleChart"]["c:ser"],n=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(Zi));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}o<6&&(a["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.labels3&&this.options.labels3[o]&&(a["c:bubbleSize"]["c:numRef"]["c:f"]=this.options.labels3[o]?.label),i.push(a)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateScatterChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Ui));this.options.smooth&&(r["c:plotArea"]["c:scatterChart"]["c:scatterStyle"].a$.val="smoothMarker"),t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:scatterChart"]["c:ser"],n=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify($i));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}o<6&&(a["c:spPr"]["a:ln"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.smooth&&(a["c:smooth"]={a$:{val:1}}),i.push(a)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateDonutChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Gi));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:doughnutChart"];return i&&(i["c:ser"]["c:cat"]["c:strRef"]["c:f"]=this.options.labels?.label||"",i["c:ser"]["c:val"]["c:numRef"]["c:f"]=this.options.data[0]?.label||""),e}CreateBarChart(){let e=JSON.parse(JSON.stringify(ot)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Di));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:barChart"];if(i){let n=i["c:barDir"];n&&(n.a$.val=this.options.type==="bar"?"bar":"col");let o=i["c:ser"];for(let a=0;a<this.options.data.length;a++){let l=JSON.parse(JSON.stringify(Li));l["c:idx"]={a$:{val:a.toString()}},l["c:order"]={a$:{val:a.toString()}},a<6&&(l["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),!a&&this.options.labels&&(l["c:cat"]={"c:strRef":{"c:f":this.options.labels.label}}),l["c:val"]["c:numRef"]["c:f"]=this.options.data[a]?.label,o.push(l)}}return e}};var Et=class s{constructor(e,t=s.next_image_index++){this.options=e;this.index=t;switch(e.mimetype){case"svg+xml":this.extension="svg";break;case"image/png":this.extension="png";break;case"jpg":this.extension="jpeg";break;case"svg":case"png":case"jpeg":case"gif":this.extension=e.mimetype;break;default:console.warn("unhandled mime type",e.mimetype);break}}static next_image_index=1;extension=""};var Oi=9525,at=class s{constructor(e=s.next_drawing_index++){this.index=e}static next_drawing_index=1;sheet_drawing_relationship=0;charts=[];images=[];relationships={};AddImage(e,t){let r=new Et(e);if(r.extension){let i=be(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`../media/image${r.index}.${r.extension}`);this.images.push({image:r,relationship:i,anchor:t})}}AddChart(e,t){let r=new je(e),i=be(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",`../charts/chart${r.index}.xml`);this.charts.push({chart:r,anchor:t,relationship:i})}CornerToJSON(e){return{"xdr:col":e.column,"xdr:colOff":(e.column_offset||0)*Oi,"xdr:row":e.row,"xdr:rowOff":(e.row_offset||0)*Oi}}AnchorToJSON(e){return{"xdr:from":{...this.CornerToJSON(e.from)},"xdr:to":{...this.CornerToJSON(e.to)}}}toJSON(){let e=this.images.map(i=>({a$:{editAs:"oneCell"},...this.AnchorToJSON(i.anchor),"xdr:pic":{"xdr:nvPicPr":{"xdr:cNvPr":{a$:{id:i.image.index+1,name:"Image "+i.image.index}},"xdr:cNvPicPr":{"a:picLocks":{a$:{noChangeAspect:1}}}},"xdr:blipFill":{"a:blip":{a$:i.image.extension==="svg"?{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}:{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:embed":i.relationship},"a:extLst":{"a:ext":[{a$:{uri:"{28A0092B-C50C-407E-A947-70E740481C1C}"},"a14:useLocalDpi":{a$:{"xmlns:a14":"http://schemas.microsoft.com/office/drawing/2010/main",val:0}}},i.image.extension==="svg"?{a$:{uri:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"},"asvg:svgBlip":{a$:{"xmlns:asvg":"http://schemas.microsoft.com/office/drawing/2016/SVG/main","r:embed":i.relationship}}}:void 0]}},"a:stretch":{"a:fillRect":{}}},"xdr:spPr":{"a:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:4057650,cy:6172200}}},"a:prstGeom":{a$:{prst:"rect"},"a:avLst":{}}}},"xdr:clientData":{}})),t=this.charts.map(i=>({...this.AnchorToJSON(i.anchor),"xdr:graphicFrame":{a$:{macro:""},"xdr:nvGraphicFramePr":{"xdr:cNvPr":{a$:{id:i.chart.index+1,name:`Chart ${i.chart.index}`}},"xdr:cNvGraphicFramePr":{}},"xdr:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:0,cy:0}}},"a:graphic":{"a:graphicData":{a$:{uri:"http://schemas.openxmlformats.org/drawingml/2006/chart"},"c:chart":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:id":i.relationship}}}}},"xdr:clientData":{}}));return{"xdr:wsDr":{a$:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"},"xdr:twoCellAnchor":[...t,...e]}}}};var Yi=De(It());var Ye=s=>"row"in s&&"col"in s,Le=s=>"from"in s&&"to"in s&&Ye(s.from)&&Ye(s.to),lt=(s,e)=>e.sheet===s.sheet&&e.row>=s.from.row&&e.row<=s.to.row&&e.col>=s.from.col&&e.col<=s.to.col,Nt=(s,e=0,t=0)=>({from:{row:s.from.row+e,col:s.from.col+t,sheet:s.from.sheet},to:{row:s.to.row+e,col:s.to.col+t,sheet:s.to.sheet}});var Mt=class{constructor(e={}){this.options=e}path;rels_path;rels={};sheet_data={};shared_strings;extent;visible_state;tab_selected=!1;default_width=0;drawings=[];TranslateAddress(e){e=e.toUpperCase();let t=e.match(/([A-Z]+\\d+):([A-Z]+\\d+)/);if(t)return{from:this.TranslateAddress(t[1]),to:this.TranslateAddress(t[2])};let r=0,i=0;if(t=e.match(/^([A-Z]+)(\\d+)$/),t){r=Number(t[2]),i=0;let n=t[1].length;for(let o=0;o<n;o++){let a=t[1].charCodeAt(o)-64;i=i*26+a}}return{row:r,col:i}}Address(e,t=!1){if(Le(e))return this.Address(e.from,t)+":"+this.Address(e.to,t);let r="",i=e.col;for(;i>0;){let o=(i-1)%26+1;r=String.fromCharCode(64+o)+r,i=(i-o)/26}let n=e.sheet?`\'${e.sheet}\'!`:"";return t?`${n}$${r}$${e.row}`:n+r+e.row}NormalizeAddress(e){let t,r;return typeof e=="string"?(t=e.toUpperCase(),r=this.TranslateAddress(t)):(r=e,t=this.Address(r)),{a:t,rc:r}}Parse(){let e=this.sheet_data.worksheet?.dimension?.a$?.ref,t=this.TranslateAddress(e||"");Le(t)?this.extent=JSON.parse(JSON.stringify(t)):this.extent={from:JSON.parse(JSON.stringify(t)),to:JSON.parse(JSON.stringify(t))}}};var xr=De(Wi()),Hi=De(ft()),Je=class{records;text=new Map;constructor(e){this.records=xr.default.parse(e)}Has(e){return this.text.has(e)||!!this.records?.[e]}ArrayBuffer(){let e={};if(this.records)for(let[r,i]of Object.entries(this.records))e[r]=new Uint8Array(i);let t=new TextEncoder;for(let[r,i]of this.text.entries())e[r]=t.encode(i);return xr.default.encode(e)}SetBinary(e,t,r){if(r==="base64"){let i=Hi.default.toByteArray(t);this.records[e]=i}else throw new Error("unsupported encoding: "+r)}Set(e,t){this.text.set(e,t),this.records[e]&&delete this.records[e]}GetBinary(e){let t=this.records[e];if(t)return new Uint8Array(t);throw new Error("path not in records: "+e)}Get(e){let t=this.text.get(e);if(t)return t;let r=this.records[e];if(r)return t=new TextDecoder().decode(r),this.text.set(e,t),delete this.records[e],t;throw console.info(this),new Error("path not in zip file: "+e)}};var Bi=(s,e,t)=>{if(e==="cell"){let r=s.cell_metadata[t-1];if(r){let i=s.metadata_types[r.t-1];if(i&&i.name!=="XLMDX"){let n=s.future_metadata[i.name];if(n)return n[r.v]||{}}}}else console.warn("value metadata not implemented");return{flags:{}}},ji=s=>{let e={metadata_types:[],cell_metadata:[],future_metadata:{}},t=R.FindAll(s,"metadata/metadataTypes/metadataType");for(let i of t){let n=i.a$?.name||"",o=i.a$?.cellMeta,a=o==="1"||o==="true";e.metadata_types.push({name:n,cell_meta:a})}let r=R.FindAll(s,"metadata/futureMetadata");for(let i of r){let n=i.a$?.name||"";if(n){let o=[];for(let a of R.FindAll(i,"bk")){let l={flags:{}};for(let c of R.FindAll(a,"extLst/ext/xda:dynamicArrayProperties"))c?.a$.fDynamic==="1"&&(l.flags["dynamic-array"]=!0);o.push(l)}e.future_metadata[n]=o}}for(let i of R.FindAll(s,"metadata/cellMetadata/bk/rc"))e.cell_metadata.push({t:Number(i.a$?.t||-1),v:Number(i.a$?.v||-1)});return e};var Ce=new Yi.XMLParser(kt),Pt={greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<=",equal:"=",notEqual:"<>"};var Ft=class{constructor(e){this.zip=e}xml={};shared_strings=new He;style_cache=new Be;theme=new ze;named=[];rels={};metadata;sheets=[];active_tab=0;get sheet_count(){return this.sheets.length}ReadRels(e){let t={},r=this.zip.Has(e)?this.zip.Get(e):"",i=Ce.parse(r||"");for(let n of i.Relationships?.Relationship||[]){let o=n.a$.Id;t[o]={id:o,type:n.a$.Type,target:n.a$.Target}}return t}Init(){this.rels=this.ReadRels("xl/_rels/workbook.xml.rels");let e=this.zip.Has("xl/sharedStrings.xml")?this.zip.Get("xl/sharedStrings.xml"):"",t=Ce.parse(e||"");this.shared_strings.FromXML(t),this.zip.Has("xl/metadata.xml")&&(e=this.zip.Get("xl/metadata.xml"),t=Ce.parse(e),this.metadata=ji(t)),e=this.zip.Get("xl/theme/theme1.xml"),t=Ce.parse(e),this.theme.FromXML(t),e=this.zip.Get("xl/styles.xml"),t=Ce.parse(e),this.style_cache.FromXML(t,this.theme),e=this.zip.Get("xl/workbook.xml"),t=Ce.parse(e),this.named=[];let r=R.FindAll(t,"workbook/definedNames/definedName");for(let o of r){let a=o.a$?.name,l=o.t$||"",c=o.a$?.localSheetId?Number(o.a$.localSheetId):void 0;this.named.push({name:a,expression:typeof l=="string"?l:l?.toString()||"",local_scope:c})}let i=R.FindAll(t,"workbook/bookViews/workbookView");i[0]?.a$?.activeTab&&(this.active_tab=Number(i[0].a$.activeTab)||0);let n=R.FindAll(t,"workbook/sheets/sheet");for(let o of n){let a=o.a$?.name;if(a){let l=o.a$.state,c=o.a$["r:id"],d=new Mt({name:a,rid:c,id:Number(o.a$.sheetId)});l==="hidden"?d.visible_state=1:l==="veryHidden"&&(d.visible_state=2),d.shared_strings=this.shared_strings,d.path=`xl/${this.rels[c].target}`,d.rels_path=d.path.replace("worksheets","worksheets/_rels")+".rels",e=this.zip.Get(d.path),d.sheet_data=Ce.parse(e||""),d.rels=this.ReadRels(d.rels_path),d.Parse(),this.sheets.push(d)}}}ReadTable(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=r.table?.a$?.name||"";return{name:i,display_name:r.table?.a$?.displayName||i,ref:r.table?.a$.ref||"",totals_row_shown:Number(r.table?.a$.totalsRowShown||"0")||0,totals_row_count:Number(r.table?.a$.totalsRowCount||"0")||0}}ReadDrawing(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=this.ReadRels(e.replace(/^..\\/drawings/,"xl/drawings/_rels")+".rels"),n=[],o=R.FindAll(r,"xdr:wsDr/xdr:twoCellAnchor"),a=(l={})=>({column:l["xdr:col"]||0,column_offset:l["xdr:colOff"]||0,row:l["xdr:row"]||0,row_offset:l["xdr:rowOff"]||0});for(let l of o){let c={from:a(l["xdr:from"]),to:a(l["xdr:to"])},d=R.FindAll(l,"xdr:graphicFrame/a:graphic/a:graphicData/c:chart")[0];if(d||(d=R.FindAll(l,"mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/cx:chart")[0]),d&&d.a$&&d.a$["r:id"]){let h={type:"chart",anchor:c},f=i[d.a$["r:id"]];f&&f.target&&(h.chart=this.ReadChart(f.target)),n.push(h)}else{let h=R.FindAll(l,"xdr:pic/xdr:blipFill/a:blip")[0];if(h&&h.a$["r:embed"]){let f=i[h.a$["r:embed"]];if(f&&f.target&&/(?:jpg|jpeg|png|gif)$/i.test(f.target)){let u=f.target.replace(/^\\.\\./,"xl"),p=u.replace(/^.*\\//,""),y={type:"image",anchor:c,image:this.zip.GetBinary(u),filename:p};n.push(y)}}else{let f,u=R.FindAll(l,"xdr:sp")[0];if(u){let p=u.a$?.textlink||void 0,y=R.FindAll(u,"xdr:spPr")[0];if(y){f={};let w=y["a:solidFill"];if(w&&w["a:schemeClr"]?.a$?.val){let b=w["a:schemeClr"].a$.val.match(/accent(\\d+)/);if(b&&(f.fill={theme:Number(b[1])+3},w["a:schemeClr"]["a:lumOff"]?.a$?.val)){let m=Number(w["a:schemeClr"]["a:lumOff"].a$.val);isNaN(m)||(f.fill.tint=m/1e5)}}}let v=R.FindAll(u,"xdr:txBody")[0];if(v){let w=[],b=R.FindAll(v,"a:p");for(let m of b){let A=[],N,L=m["a:fld"];if(L&&L.a$?.type==="TxLink"){let V={text:`{${p}}`,reference:!0},$=L["a:rPr"];$&&(V.style={},$.a$?.b==="1"&&(V.style.bold=!0),$.a$?.i==="1"&&(V.style.italic=!0)),A.push(V)}let z=m["a:pPr"];z&&(N={},z.a$?.algn==="r"?N.horizontal_align="right":z.a$?.algn==="ctr"&&(N.horizontal_align="center"));let M=m["a:r"];if(M){Array.isArray(M)||(M=[M]);for(let V of M){let $={text:V["a:t"]||""},U=V["a:rPr"];U&&($.style={},U.a$?.b==="1"&&($.style.bold=!0),U.a$?.i==="1"&&($.style.italic=!0)),A.push($)}}w.push({content:A,style:N})}n.push({type:"textbox",style:f,paragraphs:w,anchor:c,reference:p})}}}}}return n}ReadChart(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i={type:0},n=R.FindChild(r,"c:chartSpace/c:chart/c:title");if(n){let l=R.FindChild(n,"c:tx/c:strRef/c:f");if(l)typeof l=="string"?i.title=l:l.t$&&(i.title=l.t$);else{let c=[],d=R.FindAll(n,"c:tx/c:rich/a:p/a:r");for(let h of d)h["a:t"]&&c.push(h["a:t"]);i.title=\'"\'+c.map(h=>typeof h=="string"?h:h.t$||"").join("")+\'"\'}}let o=(l,c)=>{let d=[],h=l["c:ser"]||[];Array.isArray(h)||(h=[h]);for(let f of h){let u=d.length,p=f["c:order"];p&&(u=Number(p.a$?.val||0)||0);let y={},v=R.FindChild(f,"c:tx/c:v");if(v){let w=v;w&&(y.title=`"${w}"`)}else v=R.FindChild(f,"c:tx/c:strRef/c:f"),v&&(y.title=v);if(c===4||c===7){let w=R.FindChild(f,"c:xVal/c:numRef/c:f");w&&(y.categories=w);let b=R.FindChild(f,"c:yVal/c:numRef/c:f");if(b&&(y.values=b),c===7){let m=R.FindChild(f,"c:bubbleSize/c:numRef/c:f");m&&(y.bubble_size=m)}}else{let w=R.FindChild(f,"c:val/c:numRef/c:f");w&&(y.values=w);let b=R.FindChild(f,"c:cat/c:strRef/c:f");b||(b=R.FindChild(f,"c:cat/c:numRef/c:f")),b&&(y.categories=b)}d[u]=y}return d},a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:barChart");if(a&&(i.type=2,a["c:barDir"]&&a["c:barDir"].a$?.val==="col"&&(i.type=1,a["c:grouping"]?.a$?.val==="stacked"&&(i.flags||(i.flags=[]),i.flags.push("stacked"))),i.series=o(a)),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:lineChart"),a&&(i.type=3,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:doughnutChart"),a&&(i.type=5,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:pieChart"),a&&(i.type=6,i.series=o(a))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:scatterChart"),a&&(i.type=4,i.series=o(a,4))),a||(a=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:bubbleChart"),a&&(i.type=7,i.series=o(a,7))),!a){let l=R.FindAll(r,"cx:chartSpace/cx:chart/cx:plotArea/cx:plotAreaRegion/cx:series");if(l?.length){let c=!0,d=!0,h=!0;for(let f of l){let u=f.a$?.layoutId;c&&u!=="clusteredColumn"&&(c=!1),h&&u!=="boxWhisker"&&(h=!1),c&&d&&(R.FindAll(f,"cx:layoutPr/cx:binning").length||(d=!1))}if(d){i.type=9,i.series=[];for(let u of l){if(u.a$?.hidden==="1")continue;let p={},y=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data"),v=[];for(let b of y)v.push(b["cx:numDim"]?.["cx:f"]||"");p.values=v.join(",");let w=R.FindAll(u,"cx:layoutPr/cx:binning/cx:binCount");if(w[0]){let b=Number(w[0].a$?.val||0);b&&(p.bin_count=b)}i.series.push(p)}let f=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");return f&&(f[0]?.["cx:f"]?i.title=f[0]["cx:f"]:f[0]?.["cx:v"]&&(i.title=\'"\'+f[0]["cx:v"]+\'"\')),console.info("histogram",i),i}if(h){i.type=8,i.series=[];let f=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data");for(let u of l){let p={},y=Number(u["cx:dataId"]?.a$?.val);for(let b of f)if(Number(b.a$?.id)===y){p.values=b["cx:numDim"]?.["cx:f"]||"";break}let v=R.FindAll(u,"cx:tx/cx:txData");v&&(v[0]?.["cx:f"]?p.title=v[0]["cx:f"]:v[0]?.["cx:v"]&&(p.title=\'"\'+v[0]["cx:v"]+\'"\'));let w=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");w&&(w[0]?.["cx:f"]?i.title=w[0]["cx:f"]:w[0]?.["cx:v"]&&(i.title=\'"\'+w[0]["cx:v"]+\'"\')),i.series.push(p)}return i}}}return a||(console.info("Chart type not handled",{xml:r}),i.type=10),i}GetNamedRanges(){return this.named}};var ke=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n`,vr=s=>{if(we(s))return{a$:{rgb:"FF"+s.text.substring(1)}};if(xe(s))return{a$:{theme:$e(s),tint:s.tint}}},zt=class{zip;xmloptions={format:!0,attributesGroupName:"a$",textNodeName:"t$",ignoreAttributes:!1,suppressEmptyNode:!0};xmlbuilder1=Mi(this.xmloptions);xmlparser2=new Xi.XMLParser(kt);parser=new Ze;decorated_functions={};Init(e={}){for(let r of Object.keys(e))this.decorated_functions[r.toLowerCase()]=e[r];let t=Ji.toByteArray(Ir);this.zip=new Je(t.buffer)}WriteRels(e,t,r=!1){if(!this.zip)throw new Error("missing zip");let i=Object.keys(e),n={Relationships:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},Relationship:i.map(a=>{let l=e[a],c={Id:l.id,Target:l.target,Type:l.type};return l.mode&&(c.TargetMode=l.mode),{a$:c}})}},o=ke+this.xmlbuilder1.build(n);r&&console.info(o),this.zip.Set(t,o)}WriteStyleCache(e){if(!this.zip)throw new Error("missing zip");let t=u=>{let p={};return u.indexed!==void 0&&(p.indexed=u.indexed),u.theme!==void 0&&(p.theme=u.theme),u.tint!==void 0&&(p.tint=u.tint),u.argb!==void 0&&(p.rgb=u.argb),p},r=e.cell_xfs.map(u=>{let p={a$:{numFmtId:u.number_format,fontId:u.font,fillId:u.fill,borderId:u.border}};if(u.horizontal_alignment||u.vertical_alignment||u.wrap_text||u.indent){let y={};u.horizontal_alignment&&(y.horizontal=u.horizontal_alignment),u.vertical_alignment&&(y.vertical=u.vertical_alignment),u.wrap_text&&(y.wrapText=1),u.indent&&u.horizontal_alignment!=="center"&&(y.indent=u.indent),p.alignment={a$:y}}return p}),i=u=>{if(u.color)return{indexed:u.color};if(u.rgba)return{rgb:u.rgba};if(typeof u.theme<"u")return{theme:u.theme,tint:u.tint}},n=e.borders.map(u=>{let p={},y={},v={},w={},b={};if(u.top.style){p.a$={style:u.top.style};let m=i(u.top);m&&(p.color={a$:m})}if(u.left.style){y.a$={style:u.left.style};let m=i(u.left);m&&(y.color={a$:m})}if(u.bottom.style){w.a$={style:u.bottom.style};let m=i(u.bottom);m&&(w.color={a$:m})}if(u.right.style){v.a$={style:u.right.style};let m=i(u.right);m&&(v.color={a$:m})}if(u.diagonal.style){b.a$={style:u.diagonal.style};let m=i(u.diagonal);m&&(b.color={a$:m})}return{left:y,right:v,top:p,bottom:w,diagonal:b}}),o=e.fills.map(u=>({patternFill:{a$:{patternType:u.pattern_gray!==void 0?`gray${u.pattern_gray}`:u.pattern_type},bgColor:u.bg_color?{a$:t(u.bg_color)}:void 0,fgColor:u.fg_color?{a$:t(u.fg_color)}:void 0}})),a=u=>{if(!(typeof u>"u"))return{a$:{val:u}}},l=e.fonts.map(u=>({b:u.bold?"":void 0,i:u.italic?"":void 0,u:u.underline?"":void 0,strike:u.strike?"":void 0,sz:a(u.size),family:a(u.family),name:a(u.name),scheme:a(u.scheme),color:u.color_argb?{a$:{rgb:u.color_argb}}:typeof u.color_theme<"u"?{a$:{theme:u.color_theme,tint:u.color_tint}}:void 0})),c=(u,p)=>{if(p.length)return{a$:{count:p.length},[u]:p}},d=e.dxf_styles.map(u=>{let p={};return(u.text||u.bold||u.italic||u.underline)&&(p.font={b:u.bold?{}:void 0,i:u.italic?{}:void 0,u:u.underline?{}:void 0,strike:u.strike?{}:void 0,color:vr(u.text)}),u.fill&&(p.fill={patternFill:{bgColor:vr(u.fill)}}),p}),h={styleSheet:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac x16r2 xr","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"},numFmts:e.number_formats.length?{a$:{count:e.number_formats.length},numFmt:e.number_formats.map(u=>({a$:{numFmtId:u.id,formatCode:u.format}}))}:void 0,fonts:c("font",l),fills:c("fill",o),borders:c("border",n),cellXfs:c("xf",r),dxfs:c("dxf",d)}},f=ke+this.xmlbuilder1.build(h);this.zip?.Set("xl/styles.xml",f)}WriteSharedStrings(e){if(!this.zip)throw new Error("missing zip");let t={sst:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.strings.length,uniqueCount:e.strings.length},si:[...e.strings.map(i=>({t:i}))]}},r=ke+this.xmlbuilder1.build(t);this.zip.Set("xl/sharedStrings.xml",r)}SheetStyle(e,t){if(!e.sheet_style)return 0;let r=t.StyleOptionsFromProperties(e.sheet_style);return t.EnsureStyle(r)}RowStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.row_style){let a=e.row_style[r];typeof a=="number"&&(a=i[a]),a&&n.push(a)}let o=t.StyleOptionsFromProperties(se.Composite(n));return t.EnsureStyle(o)}ColumnStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.column_style){let a=e.column_style[r];typeof a=="number"&&(a=i[a]),a&&n.push(a)}let o=t.StyleOptionsFromProperties(se.Composite(n));return t.EnsureStyle(o)}StyleFromCell(e,t,r,i,n={}){let o=e.styles||e.cell_style_refs||[],a=[e.sheet_style];if(e.row_style){let c=e.row_style[r];typeof c=="number"&&(c=o[c]),c&&a.push(c)}if(e.column_style){let c=e.column_style[i];typeof c=="number"&&(c=o[c]),c&&a.push(c)}a.push(n);let l=t.StyleOptionsFromProperties(se.Composite(a));return t.EnsureStyle(l)}NormalizeAddress(e,t){let r=e.type==="address"?[e]:[e.start,e.end];for(let i of r)i.absolute_row=!0,i.absolute_column=!0,i.sheet||(i.sheet=t.name);return e.type==="range"&&(e.end.sheet=void 0),e.label=this.parser.Render(e),e}EnsureRange(e){return e.type==="range"?e:{type:"range",start:e,end:e,label:e.label,id:e.id,position:e.position}}AnnotationLayoutToAnchor(e,t){let r=i=>{let n=t.column_width&&t.column_width[i.address.column]?t.column_width[i.address.column]:t.default_column_width||100,o=t.row_height&&t.row_height[i.address.row]?t.row_height[i.address.row]:t.default_row_height||20;return{...i.address,row_offset:Math.round(i.offset.y*o),column_offset:Math.round(i.offset.x*n)}};return{from:r(e.tl),to:r(e.br)}}AnnotationRectToAnchor(e,t){let r={from:{row:-1,column:-1},to:{row:-1,column:-1}},i={top:0,left:0,width:301,height:301,...e},n={...i,right:i.left+i.width,bottom:i.top+i.height};for(let o=0,a=0;a<1e3;a++){let l=t.column_width&&t.column_width[a]?t.column_width[a]:t.default_column_width||100;if(r.from.column<0&&n.left<=o+l&&(r.from.column=a,r.from.column_offset=n.left-o),r.to.column<0&&n.right<=o+l){r.to.column=a,r.to.column_offset=n.right-o;break}o+=l}for(let o=0,a=0;a<1e3;a++){let l=t.row_height&&t.row_height[a]?t.row_height[a]:t.default_row_height||20;if(r.from.row<0&&n.top<=o+l&&(r.from.row=a,r.from.row_offset=n.top-o),r.to.row<0&&n.bottom<=o+l){r.to.row=a,r.to.row_offset=n.bottom-o;break}o+=l}return r}ParseImages(e){let t=[];for(let r of e.annotations||[])if(r.type==="image"&&r.data?.src){let i=r.data.src,n=i.match(/^data:image\\/([^;]*?);base64,/);if(n){let o=i.substr(n[0].length),a=n[1],l={data:o,mimetype:a,encoding:"base64"};switch(a){case"svg+xml":case"webp":case"jpeg":case"jpg":case"image/png":case"png":case"gif":r.layout?t.push({anchor:this.AnnotationLayoutToAnchor(r.layout,e),options:l}):r.rect?t.push({anchor:this.AnnotationRectToAnchor(r.rect,e),options:l}):console.warn("annotation missing layout");break;default:console.info("unhandled image type",a);break}}}return t}ParseCharts(e){let t=[],r=(i,n,o)=>{if(i.type==="range")n.data.push(this.NormalizeAddress(i,e));else if(i.type==="call"){if(/group/i.test(i.name))for(let a of i.args||[])r(a,n,o?o+" (recurse)":void 0);else if(/series/i.test(i.name)){let[a,l,c,d]=i.args;c&&(c.type==="range"||c.type==="address")?(n.data.push(this.EnsureRange(this.NormalizeAddress(c,e))),a&&(n.names||(n.names=[]),a.type==="address"&&this.NormalizeAddress(a,e),a.type==="range"?(this.NormalizeAddress(a.start,e),n.names[n.data.length-1]=a.start):n.names[n.data.length-1]=a),n.labels2||(n.labels2=[]),l&&(l.type==="range"||l.type==="address")&&(n.labels2[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(l,e))),d&&(d.type==="range"||d.type==="address")&&(n.labels3||(n.labels3=[]),n.labels3[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(d,e)))):console.info("invalid series missing Y",{y:c,arg:i,ref:o})}}};for(let i of e.annotations||[]){let n=this.parser.Parse(i.formula||"");if(n.expression&&n.expression.type==="call"){let o="";switch(n.expression.name.toLowerCase()){case"line.chart":o="scatter";break;case"bubble.chart":o="bubble";break;case"scatter.line":o="scatter2";break;case"donut.chart":o="donut";break;case"bar.chart":o="bar";break;case"column.chart":o="column";break}if(o==="column"||o==="donut"||o==="bar"||o==="scatter"||o==="scatter2"||o==="bubble"){let a={type:o,data:[]},l=o==="scatter2"||o==="bubble"?1:2,c=n.expression.args[l];if(c&&c.type==="literal"?a.title=c:c&&c.type==="address"&&(a.title=this.NormalizeAddress(c,e)),n.expression.args[0]){let h=n.expression.args[0];if(o==="scatter2"||o==="bar"||o==="column"||o==="scatter"||o==="bubble")r(h,a,e.name);else if(h.type==="range")a.data.push(this.NormalizeAddress(h,e));else if(h.type==="call"&&/group/i.test(h.name))for(let f of h.args)f.type==="range"?a.data.push(this.NormalizeAddress(f,e)):f.type==="call"&&/series/i.test(f.name)&&f.args[2]&&f.args[2].type==="range"&&a.data.push(this.NormalizeAddress(f.args[2],e));else h.type==="call"&&/series/i.test(h.name)&&h.args[2]&&h.args[2].type==="range"&&a.data.push(this.NormalizeAddress(h.args[2],e))}o!=="scatter2"&&o!=="bubble"&&n.expression.args[1]&&n.expression.args[1].type==="range"&&(a.labels=this.NormalizeAddress(n.expression.args[1],e)),(o==="scatter"&&n.expression.args[4]&&n.expression.args[4].type==="literal"&&n.expression.args[4].value.toString().toLowerCase()==="smooth"||o==="scatter2"&&n.expression.args[2]&&n.expression.args[2].type==="literal"&&/smooth/i.test(n.expression.args[2].value.toString()))&&(a.smooth=!0);let d=i.rect;i.layout?t.push({anchor:this.AnnotationLayoutToAnchor(i.layout,e),options:a}):d?t.push({anchor:this.AnnotationRectToAnchor(d,e),options:a}):console.warn("annotation missing layout")}}}return t}FormulaText(e,t){if(e[0]!=="=")return e;let r=this.parser.Parse(e);if(r.expression){this.parser.Walk(r.expression,n=>{if(n.type==="call"){let o=n.name.toLowerCase();this.decorated_functions[o]&&(n.name=this.decorated_functions[o]+"."+n.name)}return!0});let i=t.table?.name||"";return this.parser.Render(r.expression,{missing:"",long_structured_references:!0,table_name:i})}else return console.warn("parsing function failed"),console.warn(e),e.substring(1)}Export(e){let t=0,r=[];for(let b=0;b<e.sheet_data.length;b++){let m=e.sheet_data[b],A=m.id||0;A&&(r[A]=m.name||""),A===e.active_sheet&&(t=b)}let i=new He,n=new Be,o=new ze,a=this.zip?.Get("xl/theme/theme1.xml");o.FromXML(this.xmlparser2.parse(a||"")),a=this.zip?.Get("xl/styles.xml"),n.FromXML(this.xmlparser2.parse(a||""),o),at.next_drawing_index=1,je.next_chart_index=1;let l=[],c=[];for(let b=0;b<e.sheet_data.length;b++){let m=e.sheet_data[b],A={},N={xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac xr xr2 xr3","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3","xr:uid":"{D37933E2-499F-4789-8D13-194E11B743FC}"},L=m.default_row_height?m.default_row_height/20*15:15,z=m.styles||m.cell_style_refs||[],M=new Xe;M.FromJSON(m.data,z);for(let x of m.cell_styles){let D=M.EnsureCell(x);D.style||(D.style=z[x.ref])}let V={start:{row:M.rows+1,column:M.columns+1},end:{row:M.rows+1,column:M.columns+1}},$=[],U=[],q=[],Y=[],Q=[],te=[],J=this.SheetStyle(m,n);for(let x=0;x<M.data.length;x++){let D=this.RowStyle(m,n,x);if(M.data[x]&&M.data[x].length){x<V.start.row&&(V.start.row=x);let Z={start:-1,end:-1},F=[];for(let I=0;I<M.data[x].length;I++){te[I]||(te[I]=this.ColumnStyle(m,n,I));let T=M.data[x][I];if(T){if(T.table&&T.table.area.start.row===x&&T.table.area.start.column===I){let le=new G(T.table.area.start,T.table.area.end),ct=c.length+1,qi=`../tables/table${ct}.xml`,Gt=[];for(let ue=0;ue<le.columns;ue++){let K=M.data[x][I+ue],Ee="";K.type!==2?(typeof K.calculated<"u"?Ee=K.calculated.toString():typeof K.value<"u"&&(Ee=K.value.toString()),K.type=2,K.value=Ee):Ee=K.value||"",Ee||(Ee=`Column${ue+1}`);let ht=Ee,$t=!1,Ki=1;for(;!$t;){$t=!0;e:for(let es of Gt)if(es.toLowerCase()===ht.toLowerCase()){$t=!1,ht=`${Ee}${++Ki}`;break e}}K.value=ht,Gt.push(ht)}let dt;if(T.table.totals_row){dt=[];for(let ue=0;ue<le.columns;ue++){let K=M.data[le.end.row][le.start.column+ue];K.type&&(K.type===1?dt[ue]={type:"formula",value:(K.value||"").toString().substring(1)}:(K.type!==2&&(K.type=2,K.value=K.value?.toString()||""),dt[ue]={type:"label",value:K.value}))}}let Ut={rel:be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",qi),index:ct,ref:le.spreadsheet_label,name:`Table${ct}`,display_name:`Table${ct}`,totals_row_shown:0,totals_row_count:T.table?.totals_row?1:0,columns:Gt,footers:dt};if(T.table.totals_row){let ue=new G(le.start,{row:le.end.row-1,column:le.end.column});Ut.filterRef=ue.spreadsheet_label}Q.push(Ut),c.push(Ut)}if(T.merge_area&&T.merge_area.start.row===x&&T.merge_area.start.column===I&&Y.push(new G(T.merge_area.start,T.merge_area.end)),T.hyperlink){let le=be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",T.hyperlink,"External");U.push({rel:le,target:T.hyperlink,address:{row:x,column:I}})}if(T.type===1&&/^=?sparkline\\./i.test(T.value)){q.push({address:{row:x,column:I},formula:T.value,style:T.style});continue}I<V.start.column&&(V.start.column=I),Z.start<0&&(Z.start=I),Z.end=I;let H=this.StyleFromCell(m,n,x,I,T.style);if(T.type===0&&(D&&H===D||!D&&te[I]&&H===te[I]))continue;let j,_e,ge;switch(T.type){case 1:switch(ge=this.FormulaText(T.value,T),T.calculated_type){case 2:j=T.calculated,_e="str";break;case 3:j=T.calculated;break;case 4:j=T.calculated?1:0,_e="b";break}break;case 2:j=i.Ensure(T.value),_e="s";break;case 3:j=T.value;break;case 4:j=T.value?1:0,_e="b";break}T.area&&T.area.start.row===x&&T.area.start.column===I&&typeof ge=="string"&&(ge={t$:ge,a$:{t:"array",ref:T.area.spreadsheet_label}}),F.push({a$:{r:G.CellAddressToLabel({row:x,column:I}),t:_e,s:H},f:ge,v:j})}}if(F.length||D&&D!==J){let I,T,H,j;m.row_height&&typeof m.row_height[x]=="number"&&m.row_height[x]!==m.default_row_height&&(I=1,T=m.row_height[x]*3/4),D&&D!==J&&(H=D,j=1),$.push({a$:{r:x+1,spans:`${Z.start+1}:${Z.end+1}`,customHeight:I,ht:T,s:H,customFormat:j},c:F})}}}let oe=[];for(let x=0;x<m.columns;x++){let D={index:x};m.column_width&&m.default_column_width&&typeof m.column_width[x]=="number"&&m.column_width[x]!==m.default_column_width&&(D.width=pt(m.column_width[x]));let Z=te[x];Z&&Z!==J&&(D.style=Z),(D.style!==void 0||D.width!==void 0)&&(oe[x]=D)}let pe;if(oe.length||J){let x=[],D=pt(m.default_column_width||90);{let Z=0;for(let F of oe)F&&(J&&F.index>Z+1&&x.push({a$:{min:Z+1,max:F.index,style:J,width:D}}),x.push({a$:{min:F.index+1,max:F.index+1,style:F.style===void 0?J:F.style,width:F.width===void 0?D:F.width,customWidth:F.width===void 0?void 0:1}}),Z=F.index);J&&Z<16384&&x.push({a$:{min:Z+1,max:16384,style:J,width:D}}),pe={col:x}}}let de;m.data_validations?.length&&(de={a$:{count:m.data_validations.length},dataValidation:m.data_validations.map(x=>{let D=x.target.map(F=>new G(F.start,F.end).spreadsheet_label).join(" "),Z;if(x.type==="range"){let F={id:0,type:"range",label:"",position:0,start:{...x.area.start,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"},end:{...x.area.end,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"}};typeof x.area.start.sheet_id<"u"&&(F.start.sheet=r[x.area.start.sheet_id]),Z=this.parser.Render(F)}else x.type==="list"&&(Z=`"${x.list.join(",")}"`);return{a$:{type:"list",allowBlank:1,showInputMessage:1,showErrorMessage:1,sqref:D},formula1:Z}})});let ae;Q.length&&(ae={a$:{count:Q.length},tablePart:Q.map(x=>({a$:{"r:id":x.rel||""}}))});for(let x of Q){let D={};x.totals_row_count&&(D.totalsRowCount=1);let Z={a$:{count:(x.columns||[]).length},tableColumn:(x.columns||[]).map((T,H)=>{let j=(x.footers||[])[H];return{a$:{id:H+1,name:T||`Column${H+1}`,totalsRowLabel:j?.type==="label"?j.value:void 0,totalsRowFunction:j?.type==="formula"?"custom":void 0},totalsRowFormula:j?.type==="formula"?j.value:void 0}})},F={table:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",id:x.index||0,name:x.name,displayName:x.display_name,...D,ref:x.ref},autoFilter:{a$:{ref:x.filterRef||x.ref}},tableColumns:Z,tableStyleInfo:{a$:{name:"TableStyleMedium2",showFirstColumn:0,showLastColumn:0,showRowStripes:1,showColumnStripes:0}}}},I=ke+this.xmlbuilder1.build(F);this.zip?.Set(`xl/tables/table${x.index}.xml`,I)}let he;if(m.conditional_formats?.length){let x=[],D=1,Z={},F=Object.entries(Pt).map(I=>(Z[I[1]]=I[0],I[1]));F.sort((I,T)=>T.length-I.length);for(let I of m.conditional_formats){let T=0;switch(I.type!=="gradient"&&I.type!=="data-bar"&&(T=n.dxf_styles.length,n.dxf_styles.push(I.style)),I.type){case"cell-match":{let H="",j="";for(let _e of F)if(new RegExp("^"+_e+"\\\\s").test(I.expression)){H=Z[_e],j=I.expression.substring(_e.length).trim();break}H&&x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"cellIs",dxfId:T,operator:H,priority:D++},formula:j}})}break;case"expression":x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"expression",dxfId:T,priority:D++},formula:I.expression}});break;case"duplicate-values":x.push({a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:I.unique?"uniqueValues":"duplicateValues",dxfId:T,priority:D++}}});break;case"gradient":{let H=[],j=[];for(let ge of I.stops){ge.value===0?H.push({a$:{type:"min"}}):ge.value===1?H.push({a$:{type:"max"}}):H.push({a$:{type:"percentile",val:ge.value*100}});let le=vr(ge.color);le&&j.push(le)}let _e={a$:{sqref:new G(I.area.start,I.area.end).spreadsheet_label},cfRule:{a$:{type:"colorScale",priority:D++},colorScale:{cfvo:H,color:j}}};x.push(_e)}break}}x.length&&(he=x.length>1?x:x[0])}let ee;Y.length&&(ee={a$:{count:Y.length},mergeCell:Y.map(x=>({a$:{ref:x.spreadsheet_label}}))});let g;U.length&&(g={hyperlink:U.map(x=>({a$:{"r:id":x.rel,ref:new G(x.address).spreadsheet_label,"xr:uid":"{0C6B7792-7EA0-4932-BF15-D49C453C565D}"}}))});let P;if(q.length){let x={a$:{"xmlns:xm":"http://schemas.microsoft.com/office/excel/2006/main"},"x14:sparklineGroup":q.map(D=>{let Z=this.parser.Parse(D.formula),F="";if(Z.expression&&Z.expression.type==="call"&&Z.expression.args.length>0){let T=Z.expression.args[0];if(T.type==="range"||T.type==="address"){let H=T.type==="range"?T.start:T;H.sheet||(typeof H.sheet_id<"u"?H.sheet=r[H.sheet_id]:H.sheet=m.name),F=this.parser.Render(T)}}let I={rgb:"FF376092"};return D.style?.text&&(we(D.style.text)?I.rgb=D.style.text.text:xe(D.style.text)&&(I.rgb=void 0,I.theme=D.style.text.theme.toString(),I.tint=typeof D.style.text.tint=="number"?D.style.text.tint.toString():void 0)),{a$:{displayEmptyCellsAs:"gap",displayHidden:"1",type:/column/i.test(D.formula)?"column":void 0},"x14:colorSeries":{a$:{...I}},"x14:sparklines":{"x14:sparkline":{"xm:f":F,"xm:sqref":new G(D.address).spreadsheet_label}}}})};P={ext:{a$:{uri:"{05C60535-1F16-4fd2-B633-F4F36F0B64E0}","xmlns:x14":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"},"x14:sparklineGroups":x}}}let E,k=this.ParseCharts(m),S=this.ParseImages(m);if(k.length||S.length){let x=new at;for(let F of k)x.AddChart(F.options,F.anchor);for(let F of S)x.AddImage(F.options,F.anchor);for(let{image:F}of x.images)F.options.data&&this.zip?.SetBinary(`xl/media/image${F.index}.${F.extension}`,F.options.data,F.options.encoding);for(let{chart:F}of x.charts){let I=F.toJSON(),T=ke+this.xmlbuilder1.build(I);this.zip?.Set(`xl/charts/chart${F.index}.xml`,T),this.WriteRels(F.relationships,`xl/charts/_rels/chart${F.index}.xml.rels`)}this.WriteRels(x.relationships,`xl/drawings/_rels/drawing${x.index}.xml.rels`);let D=ke+this.xmlbuilder1.build(x.toJSON());this.zip?.Set(`xl/drawings/drawing${x.index}.xml`,D),l.push(x),E={a$:{"r:id":be(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",`../drawings/drawing${x.index}.xml`)}}}let C={};if(m.tab_color){if(xe(m.tab_color))C.sheetPr={tabColor:{a$:{theme:m.tab_color.theme,tint:m.tab_color.tint}}};else if(we(m.tab_color)){let x=m.tab_color.text||"";/^#[0-9a-fA-F]*$/.test(x)&&(C.sheetPr={tabColor:{a$:{rgb:"FF"+x.substring(1)}}})}}let B={a$:{"x14ac:dyDescent":.25,defaultRowHeight:L===15?void 0:L,customHeight:L===15?void 0:1,defaultColWidth:m.default_column_width?pt(m.default_column_width):void 0}},W={worksheet:{a$:{...N},...C,dimension:{a$:{ref:new G(V.start,V.end).spreadsheet_label}},sheetViews:{sheetView:{a$:{workbookViewId:0}}},sheetFormatPr:B,cols:pe,sheetData:{row:$},mergeCells:ee,conditionalFormatting:he,dataValidations:de,hyperlinks:g,pageMargins:{a$:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3}},drawing:E,tableParts:ae,extLst:P}},me=ke+this.xmlbuilder1.build(W);this.zip?.Set(`xl/worksheets/sheet${b+1}.xml`,me),Object.keys(A).length&&this.WriteRels(A,`xl/worksheets/_rels/sheet${b+1}.xml.rels`)}this.WriteSharedStrings(i),this.WriteStyleCache(n);let d={};be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme","theme/theme1.xml"),be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings","sharedStrings.xml");let h=e.sheet_data.map((b,m)=>be(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",`worksheets/sheet${m+1}.xml`));this.WriteRels(d,"xl/_rels/workbook.xml.rels");let f=e.named?.length?{definedName:(e.named||[]).map(b=>{let m;if(b.scope){let A=b.scope.toLowerCase();for(let[N,L]of e.sheet_data.entries())if(L.name?.toLowerCase()===A){m=N.toString();break}}return{a$:{name:b.name,localSheetId:m},t$:b.expression}})}:void 0,u={workbook:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x15 xr xr6 xr10 xr2","xmlns:x15":"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr6":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision6","xmlns:xr10":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision10","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"},workbookPr:{a$:{defaultThemeVersion:"166925"}},bookViews:{workbookView:{a$:{activeTab:t||0}}},sheets:{sheet:e.sheet_data.map((b,m)=>({a$:{name:b.name||`Sheet${m+1}`,sheetId:m+1,"r:id":h[m],state:b.visible===!1?"hidden":void 0}}))},definedNames:f}},p=ke+this.xmlbuilder1.build(u);this.zip?.Set("xl/workbook.xml",p);let y={};for(let b of l)for(let m of b.images)switch(m.image.extension){case"gif":case"png":case"jpeg":y[m.image.extension]="image/"+m.image.extension;break;case"svg":y.svg="image/svg+xml";break}let v={Types:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},Default:[{a$:{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}},{a$:{Extension:"xml",ContentType:"application/xml"}},...Object.keys(y).map(b=>({a$:{Extension:b,ContentType:y[b]}}))],Override:[{a$:{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}},...e.sheet_data.map((b,m)=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${m+1}.xml`}})),...l.reduce((b,m)=>b.concat([...m.charts.map(A=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",PartName:`/xl/charts/chart${A.chart.index}.xml`}})),{a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${m.index}.xml`}}]),[]),{a$:{PartName:"/xl/theme/theme1.xml",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml"}},{a$:{PartName:"/xl/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"}},{a$:{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}},...c.map(b=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/table${b.index||0}.xml`}})),{a$:{PartName:"/docProps/core.xml",ContentType:"application/vnd.openxmlformats-package.core-properties+xml"}},{a$:{PartName:"/docProps/app.xml",ContentType:"application/vnd.openxmlformats-officedocument.extended-properties+xml"}}]}},w=ke+this.xmlbuilder1.build(v);this.zip?.Set("[Content_Types].xml",w)}ArrayBuffer(){if(!this.zip)throw new Error("missing zip");return this.zip.ArrayBuffer()}Blob(){if(!this.zip)throw new Error("missing zip");let e=this.zip.ArrayBuffer();return new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}};var Qi=De(ft());var Ao=s=>typeof s=="object"&&typeof s.$t<"u",Lt=class{parser=new Ze;workbook;zip;Init(e){this.zip=new Je(e),this.workbook=new Ft(this.zip),this.workbook.Init()}SheetCount(){return this.workbook?.sheet_count||0}ParseCell(e,t,r,i,n,o,a){let l=t.a$?.r;if(!l){console.warn("cell missing address");return}let c=e.TranslateAddress(l);if(Le(c)){console.warn("cell has range address");return}let d={};if(t.a$?.cm){let w=Number(t.a$?.cm);this.workbook?.metadata&&(d=Bi(this.workbook.metadata,"cell",w).flags)}let h,f="undefined",u,p="undefined";if(t.a$?.t&&t.a$.t==="s"){if(f="string",typeof t.v<"u"){let w=Number(t.v);!isNaN(w)&&e.shared_strings&&(h=e.shared_strings.Get(w)||"",h[0]==="="&&(h="\'"+h))}}else if(typeof t.f<"u"){f="formula";let w=(typeof t.f=="string"?t.f:t.f.t$)||"";if(w){if(h="="+w.replace(/^_xll\\./g,""),/#REF/.test(w))h=w;else{let b=this.parser.Parse(w);if(b.expression){let m=N=>(/^_xll\\./.test(N)&&(N=N.substring(5)),/^_xlfn\\./.test(N)&&(console.info("xlfn:",N),N=N.substring(6)),/^_xlws\\./.test(N)&&(console.info("xlws:",N),N=N.substring(6)),N),A=N=>{if(N.type==="call"){if(/^_xlfn\\.single/i.test(N.name)){let L=N.args[0];if(L.type==="call"){let z=JSON.parse(JSON.stringify(L));z.name="@"+m(z.name);for(let M=0;M<z.args.length;M++)z.args[M]=this.parser.Walk2(z.args[M],A);return z}else console.info("_xlfn.SINGLE unexpected argument",N.args[0])}N.name=m(N.name)}return!0};b.expression=this.parser.Walk2(b.expression,A),h="="+this.parser.Render(b.expression,{missing:""})}}typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si&&(r[t.f.a$.si]={row:c.row-1,column:c.col-1,formula:h,parse_result:this.parser.Parse(h)})}else if(typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si){let b=r[t.f.a$.si];b&&(b.parse_result.expression?h="="+this.parser.Render(b.parse_result.expression,{offset:{rows:c.row-1-b.row,columns:c.col-1-b.column},missing:""}):h=b.formula)}if(typeof t.f!="string"&&t.f.a$?.t==="array"){let m=e.TranslateAddress(t.f.a$.ref||"");Le(m)||(m={to:{...m},from:{...m},sheet:m.sheet}),d["dynamic-array"]?n.push(Nt(m,-1,-1)):i.push(Nt(m,-1,-1))}if(typeof t.v<"u"){let b=typeof t.v=="object"?t.v?.t$:t.v,m=Number(b.toString());isNaN(m)?(p="string",u=b.toString()):(p="number",u=m)}}else if(typeof t.v<"u"){let w=Number(t.v.toString());isNaN(w)?(f="string",h=t.v.toString()):(f="number",h=w)}let y={row:c.row-1,col:c.col-1};for(let w of[i,n])for(let b of w)lt(b,y)&&(y.row!==b.from.row||y.col!==b.from.col)&&(p=f,u=h,h=void 0,f="undefined");let v={row:y.row,column:y.col,value:h,type:f};typeof u<"u"&&(v.calculated_type=p,v.calculated=u),t.a$?.s&&(v.style_ref=Number(t.a$.s));for(let w of a)w.address.row===c.row&&w.address.col===c.col&&(v.hyperlink=w.reference);for(let w of o)lt(w,y)&&(v.merge_area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of n)lt(w,y)&&(v.spill={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of i)lt(w,y)&&(v.area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});return v}AddressToArea(e){return Ye(e)?{start:{row:e.row-1,column:e.col-1},end:{row:e.row-1,column:e.col-1}}:{start:{row:e.from.row-1,column:e.from.col-1},end:{row:e.to.row-1,column:e.to.col-1}}}ParseConditionalFormat(e,t,r){let i=this.AddressToArea(e),n=Pt;switch(t.a$.type){case"duplicateValues":case"uniqueValues":{let o={};if(t.a$.dxfId){let a=Number(t.a$.dxfId);isNaN(a)||(o=this.workbook?.style_cache.dxf_styles[a]||{})}return{type:"duplicate-values",area:i,style:o,unique:t.a$.type==="uniqueValues",priority:t.a$.priority?Number(t.a$.priority):void 0}}case"cellIs":if(t.a$.operator&&(t.formula||typeof t.formula=="number")){let o={};if(t.a$.dxfId){let l=Number(t.a$.dxfId);isNaN(l)||(o=this.workbook?.style_cache.dxf_styles[l]||{})}if(t.a$.operator==="between"&&Array.isArray(t.formula)&&t.formula.length===2&&typeof t.formula[0]=="number"&&typeof t.formula[1]=="number")return{type:"cell-match",expression:"",between:t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0};let a=n[t.a$.operator||""];if(!a)console.info("unhandled cellIs operator:",t.a$.operator,{rule:t});else return{type:"cell-match",expression:a+" "+t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("miss?",t);break;case"containsErrors":case"notContainsErrors":case"expression":if(t.formula){typeof t.formula!="string"&&(Ao(t.formula)?t.formula=t.formula.t$:(console.info("unexpected conditional expression",{rule:t}),t.formula=""));let o={};if(t.a$.dxfId){let a=Number(t.a$.dxfId);isNaN(a)||(o=this.workbook?.style_cache.dxf_styles[a]||{})}if(t.a$.type==="expression"&&(i.start.row!==i.end.row||i.start.column!==i.end.column)){this.parser.Save(),this.parser.SetLocaleSettings(".");let a=[],l=new G(i.start,i.end),c=this.parser.Parse(t.formula);if(c.expression)for(let d of l){let h=this.parser.Render(c.expression,{missing:"",offset:{rows:d.row-i.start.row,columns:d.column-i.start.column}});a.push({type:"expression",expression:h,style:o,area:{start:d,end:d},priority:t.a$.priority?Number(t.a$.priority):void 0})}return this.parser.Restore(),a}return{type:"expression",expression:t.formula,area:i,style:o,priority:t.a$.priority?Number(t.a$.priority):void 0}}break;case"dataBar":{let o=t.dataBar?.a$?.showValue==="0",a;if(t.extLst?.ext?.["x14:id"]){for(let l of r||[])if(l["x14:cfRule"]?.a$?.id===t.extLst.ext["x14:id"]){a=l;break}a||console.info("conditional format extension not found")}if(t.dataBar?.color?.a$?.rgb){let l;a?.["x14:cfRule"]?.["x14:dataBar"]?.["x14:negativeFillColor"]?.a$?.rgb&&(l={text:"#"+a["x14:cfRule"]["x14:dataBar"]["x14:negativeFillColor"].a$.rgb.toString().substring(2)});let c={text:"#"+t.dataBar.color.a$.rgb.substring(2)};return{type:"data-bar",area:i,fill:c,hide_values:o,negative:l}}}break;case"colorScale":if(t.colorScale&&Array.isArray(t.colorScale.cfvo)&&Array.isArray(t.colorScale.color)){let o=[];for(let[a,l]of t.colorScale.cfvo.entries()){let c=0,d={},h=t.colorScale.color[a];switch(h.a$.rgb?d.text="#"+h.a$.rgb.substring(2):h.a$.theme&&(d.theme=Number(h.a$.theme)||0,h.a$.tint&&(d.tint=Math.round(Number(h.a$.tint)*1e3)/1e3)),l.a$.type){case"min":c=0;break;case"max":c=1;break;case"percentile":c=(Number(l.a$.val)||0)/100;break}o.push({color:d,value:c})}return{type:"gradient",stops:o,color_space:"RGB",area:i,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("unexpected colorScale",{rule:t});break;default:console.info("unhandled cf type:",{rule:t})}}GetSheet(e=0){if(!this.workbook)throw new Error("missing workbook");let t=this.workbook.sheets[e],r=[],i={},n=[],o=[],a=[],l=[],c=[],d=[],h=[],f=[],u=R.FindAll.bind(R,t.sheet_data),p=u("worksheet/sheetPr/tabColor"),y;if(p?.[0]){let g=p[0];if(g.a$?.theme&&(y={theme:Number(g.a$.theme)},g.a$?.tint&&(y.tint=Number(g.a$.tint))),g.a$?.rgb){let P=g.a$.rgb;y={text:"#"+(P.length>6?P.substr(P.length-6):P)}}}let v=u("worksheet/conditionalFormatting"),w=u("worksheet/extLst/ext/x14:conditionalFormattings/x14:conditionalFormatting");for(let g of v)if(g.a$?.sqref){let P=g.a$.sqref.split(/\\s+/);for(let E of P){let k=t.TranslateAddress(E);if(g.cfRule){let S=Array.isArray(g.cfRule)?g.cfRule:[g.cfRule];for(let C of S){let B=this.ParseConditionalFormat(k,C,w);B&&(Array.isArray(B)?l.push(...B):l.push(B))}}}}let b=u("worksheet/mergeCells/mergeCell");for(let g of b)if(g.a$?.ref){let P=t.TranslateAddress(g.a$.ref);Le(P)&&a.push(Nt(P,-1,-1))}let m=u("worksheet/dataValidations/dataValidation");for(let g of m){let P=g.a$?.type,E=g.a$?.sqref,k=g.formula1;if(E&&k&&typeof k=="string"&&P==="list"){let S,C=this.parser.Parse(E),B=[];C.expression&&(C.expression.type==="address"?B.push({start:C.expression,end:C.expression}):C.expression.type==="range"&&B.push(C.expression)),C=this.parser.Parse(k),C.expression&&(C.expression.type==="range"?S={type:"range",area:C.expression,target:B}:C.expression.type==="literal"&&(S={type:"list",target:B,list:C.expression.value.toString().split(/,/).map(W=>{let me=Number(W);return isNaN(me)?W.toLowerCase()==="true"?!0:W.toLowerCase()==="false"?!1:W:me})})),B.length&&S&&h.push(S)}}let A=u("worksheet/hyperlinks/hyperlink");for(let g of A){let P=t.TranslateAddress(g.a$?.ref||"");Le(P)&&(P=P.from);let E="",k="";if(g.a$&&g.a$["r:id"]){E="remote link";let S=t.rels[g.a$["r:id"]];S&&(k=S.target||"")}else k=typeof g.__location=="string"?g.__location:"",E=typeof g.__display=="string"?g.__display:"";c.push({address:P,reference:k,text:E})}let N=21,L=100,z=t.sheet_data.worksheet?.sheetFormatPr;if(z){if(z.a$?.defaultColWidth){let g=Number(z.a$.defaultColWidth);isNaN(g)||(L=Zt(g))}if(z.a$?.defaultRowHeight){let g=Number(z.a$.defaultRowHeight);isNaN(g)||(N=Math.round(g*4/3))}}let M=[],V=[],$=u("worksheet/sheetData/row");for(let g of $){let P=g.a$?.r?Number(g.a$.r):1,E=N;if(g.a$?.ht){let S=Number(g.a$.ht);isNaN(S)||(E=Math.round(S*4/3))}if(g.a$?.outlineLevel){let S=Number(g.a$.outlineLevel);isNaN(S)||(V[P-1]=S)}if(g.a$?.s){let S=Number(g.a$?.s);isNaN(S)||(d[P-1]=S)}E!==N&&(M[P-1]=E);let k=g.c?Array.isArray(g.c)?g.c:[g.c]:[];for(let S of k){let C=this.ParseCell(t,S,i,n,o,a,c);C&&r.push(C)}}let U=[],q=-1,Y=[],Q=u("worksheet/cols/col");for(let g of Q){let P=Number(g.a$?.min),E=Number(g.a$?.max);if(g.a$?.style){let k=Number(g.a$.style);if(!isNaN(P)&&!isNaN(E)&&!isNaN(k))if(t.extent&&E>=t.extent.to.col||E-P>100)q=k;else for(let S=P;S<=E;S++)U[S]=k}if(g.a$?.customWidth){let k=Number(g.a$.width);if(!isNaN(P)&&!isNaN(E)&&!isNaN(k)&&E!==16384){k=Zt(k);for(let S=P;S<=E;S++)Y[S-1]=k}}}let te=u("worksheet/tableParts/tablePart");for(let g of te){let P=g.a$?g.a$["r:id"]:void 0;if(P){let E="",k=t.rels[P];if(k){E=k.target||"";let S=this.workbook.ReadTable(E);if(S){let C=t.TranslateAddress(S.ref),B=Ye(C)?{start:{row:C.row-1,column:C.col-1},end:{row:C.row-1,column:C.col-1}}:{start:{row:C.from.row-1,column:C.from.col-1},end:{row:C.to.row-1,column:C.to.col-1}};for(let W of r)if(W.row===B.start.row&&W.column===B.start.column){W.table={area:B,name:S.name,totals_row:!!S.totals_row_count};break}}}}}let J=u("worksheet/drawing"),oe=[],pe=[],de=[];for(let g of J){let P=g.a$?g.a$["r:id"]:void 0;if(P){let E="",k=t.rels[P];if(k&&(E=k.target||""),E){let S=this.workbook.ReadDrawing(E);if(S&&S.length)for(let C of S)switch(C.type){case"chart":oe.push(C);break;case"image":pe.push(C);break;case"textbox":de.push(C);break}}}}let ae=g=>{let P={address:{row:g.row,column:g.column},offset:{x:0,y:0}};if(g.row_offset){let E=M[g.row];E===void 0&&(E=N),P.offset.y=g.row_offset/9525/E}if(g.column_offset){let E=Y[g.column];E===void 0&&(E=L),P.offset.x=g.column_offset/9525/E}return P};for(let g of de){let E={layout:{tl:ae(g.anchor.from),br:ae(g.anchor.to)},type:"textbox",data:{style:g.style,paragraphs:g.paragraphs}};g.reference&&(E.formula="="+g.reference),f.push(E)}for(let g of pe)if(g&&g.image){let P={tl:ae(g.anchor.from),br:ae(g.anchor.to)},E="image",k=Qi.default.fromByteArray(g.image),S="";if(g.filename&&(/jpe*g$/i.test(g.filename)?S="jpeg":/png$/i.test(g.filename)?S="png":/gif$/i.test(g.filename)&&(S="gif")),S&&k){let C="data:image/"+S+";base64,"+k;f.push({layout:P,type:E,data:{src:C}})}}for(let g of oe)if(g&&g.chart){let P={tl:ae(g.anchor.from),br:ae(g.anchor.to)},E,k=[],S="",C=g.chart?.series;switch(g.chart.type){case 7:E="treb-chart",S="Bubble.Chart",C&&C.length&&(k[0]=`Group(${C.map(W=>`Series(${[W.title||"",W.values||"",W.categories||"",W.bubble_size||""].join(", ")})`).join(", ")})`),k[1]=g.chart.title;break;case 9:E="treb-chart",S="Histogram.Plot",C?.length,k[1]=g.chart.title;break;case 8:E="treb-chart",S="Box.Plot",C?.length&&(k[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`),k[1]=g.chart.title;break;case 4:E="treb-chart",S="Scatter.Line",C&&C.length&&(k[0]=`Group(${C.map(W=>`Series(${W.title||""},${W.categories||""},${W.values||""})`).join(", ")})`),k[1]=g.chart.title;break;case 5:case 6:S=g.chart.type===5?"Donut.Chart":"Pie.Chart",E="treb-chart",C&&C[0]&&(k[0]=C[0].values,k[1]=C[0]?.categories||""),k[2]=g.chart.title;break;case 2:case 1:case 3:switch(k[2]=g.chart.title,E="treb-chart",g.chart.type){case 2:S="Bar.Chart";break;case 1:S="Column.Chart";break;default:S="Line.Chart"}C&&(C.length>1?k[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`:C.length===1&&(C[0].title?k[0]=`Series(${C[0].title||""},,${C[0].values||""})`:k[0]=C[0].values),k[1]=C[0]?.categories||""),g.chart.type===1&&g.chart.flags?.includes("stacked")&&(k[3]=\'"stacked"\');break}let B=`=${S}(${k.join(", ")})`;E&&B&&f.push({layout:P,type:E,formula:B})}let he=u("worksheet/extLst/ext");for(let g of he){let P="";for(let k of Object.keys(g?.a$||{})){let S=k.match(/^xmlns:(.*)$/);if(S){P=S[1];break}}let E=R.FindAll(g,`${P}:sparklineGroups/${P}:sparklineGroup`);for(let k of E){let S="Sparkline.line",C="",B="";k.a$?.type==="column"&&(S="Sparkline.column");let W=R.FindAll(k,`${P}:sparklines/${P}:sparkline`);for(let me of W)for(let x of Object.keys(me))/:f$/.test(x)?B=me[x]:/:sqref$/.test(x)&&(C=me[x]);if(B&&C){let me=`=${S}(${B})`,x=t.TranslateAddress(C);if(Ye(x)){let D={row:x.row-1,column:x.col-1,value:me,type:"formula"},Z=!1;for(let F of r)if(F.row===D.row&&F.column===D.column){Z=!0,F.type="formula",F.value=me;break}Z||r.push(D)}}}}let ee={name:t.options.name,cells:r,default_column_width:L,column_widths:Y,row_heights:M,tab_color:y,row_styles:d,annotations:f,conditional_formats:l,data_validations:h,styles:this.workbook?.style_cache?.CellXfToStyles()||[]};return V.length&&(ee.outline=V),(t.visible_state===1||t.visible_state===2)&&(ee.hidden=!0),q>=0&&(ee.sheet_style=q),U.length&&(ee.column_styles=U),ee}};var Dt=self,Cr=new zt,So=s=>{s.sheet&&(Cr.Init(s.decorated||[]),Cr.Export(s.sheet),Dt.postMessage({status:"complete",blob:Cr.Blob()}))},To=s=>{let e=new Lt;try{e.Init(s.data);let t=e.workbook?.GetNamedRanges(),r=e.SheetCount(),i={sheets:[],named:t,active_tab:e.workbook?.active_tab};for(let n=0;n<r;n++){let o=e.GetSheet(n);o&&i.sheets.push(o)}for(let n of t||[])if(typeof n.local_scope=="number"){let o=i.sheets[n.local_scope];o&&(n.scope=o.name)}Dt.postMessage({status:"complete",results:i})}catch(t){console.warn("error importing xlsx file"),console.info(t),Dt.postMessage({status:"error",data:t})}};Dt.addEventListener("message",s=>{s.data&&s.data.command==="export"?So(s.data):s.data&&s.data.command==="import"&&To(s.data)});\n';var a=async()=>new Worker(URL.createObjectURL(new Blob([e],{type:"application/javascript"})));export{a as CreateWorker};